pax_global_header00006660000000000000000000000064152234635520014521gustar00rootroot0000000000000052 comment=85ae777f65852e45d0796808fd89d27916c8ed5f bazaar-org-bazaar-85ae777/000077500000000000000000000000001522346355200153555ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/.clang-format000066400000000000000000000007531522346355200177350ustar00rootroot00000000000000BasedOnStyle: 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-85ae777/.devcontainer/000077500000000000000000000000001522346355200201145ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/.devcontainer/Dockerfile000066400000000000000000000010321522346355200221020ustar00rootroot00000000000000FROM 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-85ae777/.devcontainer/devcontainer.json000066400000000000000000000017551522346355200235000ustar00rootroot00000000000000{ "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-85ae777/.foundry/000077500000000000000000000000001522346355200171215ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/.foundry/.gitignore000066400000000000000000000000221522346355200211030ustar00rootroot00000000000000tmp/ user/ cache/ bazaar-org-bazaar-85ae777/.github/000077500000000000000000000000001522346355200167155ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/.github/CODEOWNERS000066400000000000000000000001761522346355200203140ustar00rootroot00000000000000# All files * @kolunmi @AlexanderVanhee .github/workflows/ @renner0e @tulilirockz build-aux/flatpak/ @renner0e @tulilirockz bazaar-org-bazaar-85ae777/.github/FUNDING.yml000066400000000000000000000001201522346355200205230ustar00rootroot00000000000000github: [kolunmi] ko_fi: kolunmi custom: - https://ko-fi.com/alexandervanhee bazaar-org-bazaar-85ae777/.github/ISSUE_TEMPLATE/000077500000000000000000000000001522346355200211005ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/.github/ISSUE_TEMPLATE/bug_form.yml000066400000000000000000000040001522346355200234150ustar00rootroot00000000000000name: 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-85ae777/.github/workflows/000077500000000000000000000000001522346355200207525ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/.github/workflows/build-flatpak.yml000066400000000000000000000020421522346355200242120ustar00rootroot00000000000000on: push: branches: [main] pull_request: paths-ignore: - "**.md" - "docs/*" - "screenshots/*" - "translators.sh" - ".github/ISSUE_TEMPLATE/**" 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: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: submodules: recursive - uses: flatpak/flatpak-github-actions/flatpak-builder@92ae9851ad316786193b1fd3f40c4b51eb5cb101 # v6.6 with: bundle: Bazaar.flatpak manifest-path: build-aux/flatpak/io.github.kolunmi.Bazaar.json cache-key: flatpak-builder-046f9ec arch: ${{ matrix.variant.arch }} verbose: true bazaar-org-bazaar-85ae777/.github/workflows/flatpak-external-data-checker.yml000066400000000000000000000020521522346355200272470ustar00rootroot00000000000000name: 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-85ae777/.gitignore000066400000000000000000000000151522346355200173410ustar00rootroot00000000000000build .cache bazaar-org-bazaar-85ae777/.gitmodules000066400000000000000000000002141522346355200175270ustar00rootroot00000000000000[submodule "flatpak-builder-tools"] path = build-aux/flatpak/flatpak-builder-tools url = https://github.com/flatpak/flatpak-builder-tools bazaar-org-bazaar-85ae777/.well-known/000077500000000000000000000000001522346355200175305ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/.well-known/funding-manifest-urls000066400000000000000000000000601522346355200236700ustar00rootroot00000000000000https://www.kolunmi.net/ https://usebazaar.org/ bazaar-org-bazaar-85ae777/CODESTYLE.md000066400000000000000000000042161522346355200172350ustar00rootroot00000000000000# 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 "bz-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-85ae777/CONTRIBUTING.md000066400000000000000000000067731522346355200176230ustar00rootroot00000000000000# 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-85ae777/COPYING000066400000000000000000001045201522346355200164120ustar00rootroot00000000000000 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-85ae777/Justfile000066400000000000000000000051151522346355200170670ustar00rootroot00000000000000# 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-85ae777/README.md000066400000000000000000000161321522346355200166370ustar00rootroot00000000000000


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 [translators introduction](/TRANSLATORS.md). 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-85ae777/TRANSLATORS-FR.md000066400000000000000000000122561522346355200200260ustar00rootroot00000000000000# Instructions pour les traducteurs Merci pour votre intĂŠrĂŞt Ă  traduire Bazaar ! 🏷️🗺️💜 Ceci est une adaptation française de `TRANSLATORS.md` pour la traduction française spĂŠcifiquement. Voici quelques règles simples: * Vous devez parler couramment Français et avoir une bonne comprĂŠhension de l'anglais * L'utilisation de modèles de langue (IA) pour gĂŠnĂŠrer du texte dans les fichiers est interdite (N'importe qui pourrait le faire). Si vous le faite, vous serez banni du projet par le crĂŠateur * Le but n'est pas de fournir une traduction littĂŠrale, mais une expĂŠrience claire et complète aux utilisateurs francophones * Utilisez `chore(po): update French translation` comme titre de Pull Request pour ĂŞtre uniforme avec les autres langues > Note : La section "RecommandĂŠes" dĂŠpend du système dans lequel est fourni Bazaar - de plus il n'y a pas encore de système de traduction pour cette page lĂ . ## Installation > Pour traduire et soumettre votre traduction, il est recommandĂŠ de savoir utiliser Git, la plateforme Github et un ĂŠditeur de traductions comme [celui fourni par Gnome](https://flathub.org/fr/apps/org.gnome.Gtranslator) par exemple. Vous devrez fork le projet et le cloner sur votre machine - afin de pouvoir soumettre votre traduction dans un Pull Request après. Ensuite vous devrez vous assurez que le dossier actuellement ouvert est le dossier racine de Bazaar. ## Mise en place ### Automatique Une fois que c'est fait, vous pourrez exĂŠcuter `./translators.sh` et suivre les diffĂŠrentes instructions (en anglais). Le script va vous montrer l'ĂŠtat actuel de `po/LINGUAS`. Si tout est correct, tappez `Y` et appuyez sur entrĂŠe. Après cela, le script va vous demander votre code de langue (`fr`), ĂŠcrivez le et appuyez sur entrĂŠe. Le script va gĂŠnĂŠrer un nouveau fichier `po` ou mettre Ă  jour le fichier existant avec de nouvelles entrĂŠes traduisibles. Vous ĂŞtes dorĂŠnavant prĂŞts Ă  ouvrir le fichier `po` dans votre ĂŠditeur de texte ou votre ĂŠditeur de traduction ([POEdit](https://flathub.org/apps/net.poedit.Poedit), [GTranslator](https://flathub.org/apps/org.gnome.Gtranslator), [Lokalize](https://flathub.org/apps/org.kde.lokalize), etc.) et Ă  commencer Ă  traduire. Une fois que vous avez fini, envoyez vos commits et soumettez un Pull Request sur Github. Faites attention Ă  n'envoyez que le(s) fichier(s) liĂŠs Ă  votre traduction. ### Manuelle Une fois que c'est fait, mettez en place meson avec le flag `im_a_translator` mis Ă  `true`: ```sh meson setup build -Dim_a_translator=true ``` Ensuite ouvrez le dossier `build`: ```sh cd build ``` Et exĂŠcutez la commande suivante pour gĂŠnĂŠrer le fichier `pot` (**P**ortable **O**bject **T**emplate) principal : ```sh meson compile bazaar-pot ``` Il se pourrait que vous verrez pas mal de messages disant que l'extension `blp` est inconnue - vous pouvez les ignorer. Enfin, toujours dans le dossier build, exĂŠcutez la commande suivante pour mettre Ă  jour ou crĂŠer le fichier `po` : ```sh meson compile bazaar-update-po ``` Vous ĂŞtes dorĂŠnavant prĂŞts Ă  ouvrir le fichier `po` dans votre ĂŠditeur de texte ou votre ĂŠditeur de traduction ([POEdit](https://flathub.org/apps/net.poedit.Poedit), [GTranslator](https://flathub.org/apps/org.gnome.Gtranslator), [Lokalize](https://flathub.org/apps/org.kde.lokalize), etc.) et Ă  commencer Ă  traduire. Une fois que vous avez fini, envoyez vos commits et soumettez un Pull Request sur Github. Faites attention Ă  n'envoyez que le(s) fichier(s) liĂŠs Ă  votre traduction. ## Mettre Ă  jour la traduction existante GĂŠnĂŠrez Ă  nouveau un fichier `.pot` (si nĂŠcessaire) Ă  l'aide des commandes ci-dessus. ```sh msgmerge --update --verbose po/fr.po po/bazaar.pot ``` Veuillez crĂŠer un commit sĂŠparĂŠ pour la mise Ă  jour prĂŠcĂŠdente dans votre Pull Request afin de faciliter la rĂŠvision. Merci ! ## Tester la traduction Depuis le dossier de Bazaar, exĂŠcutez la commande suivante : ```sh msgfmt po/fr.po -o bazaar.mo ``` Ensuite copiez le fichier `.mo` pour que Bazaar puisse le voir : ```sh sudo cp bazaar.mo /var/lib/flatpak/runtime/io.github.kolunmi.Bazaar.Locale/x86_64/stable/active/files/fr/share/fr/LC_MESSAGES/ ``` Assurez-vous d'abord de tuer le processus d'arrière-plan de Bazaar afin que les modifications/la langue souhaitĂŠes soient utilisĂŠes : ```sh killall bazaar ``` Et ensuite redĂŠmarrez Bazaar pour voir vos traductions ! >Si vous n'avez pas votre système en français, vous pouvez utiliser la commande suivante pour lancer Bazaar en français: ```sh LANGUAGE=fr flatpak run io.github.kolunmi.Bazaar ``` ## Notes des traducteurs Les processus automatiques et manuels peuvent gĂŠnĂŠrer des entrĂŠes marquĂŠes comme ÂŤ floues Âť (`fuzzy`). Cela signifie que pour ces entrĂŠes, `gettext` a tentĂŠ de dĂŠriver une traduction prĂŠexistante. Certaines suites de traduction, comme Lokalize, utilisent ce marquage pour dĂŠfinir les chaĂŽnes comme non rĂŠvisĂŠes et les supprimer lorsque l'entrĂŠe est marquĂŠe comme terminĂŠe. Lorsque vous travaillez avec des fichiers pot Ă  l'aide d'un ĂŠditeur de texte, veillez Ă  supprimer vous-mĂŞme les marques `fuzzy` des entrĂŠes que vous considĂŠrez comme terminĂŠes, sinon votre traduction n'apparaĂŽtra pas dans Bazaar. bazaar-org-bazaar-85ae777/TRANSLATORS-PL.md000066400000000000000000000103671522346355200200330ustar00rootroot00000000000000# Instrukcje dla tłumaczy Dziękuję za wasze zainteresowanie w tłumaczeniu Bazaar'u! 🏷️🗺️💜 Oto parę podstawowych zasad: * Musisz być biegły w języku, na ktĂłry będziesz tłumaczyć. * Nie korzystaj z [SI](https://pl.wikipedia.org/wiki/Sztuczna_inteligencja), aby wygenerować tłumaczenie (Sam mĂłgłbym to zrobić). Jeśli to zrobisz, zablokuję cię. * Jeśli edytujesz istniejące tłumaczenie zapoznaj się z `TRANSLATORS-[kod języka].md`, aby zapoznać się z zasadami obecnymi dla tego języka. Tłumaczenie na język polski: * Zanim rozpoczniesz tłumaczenie zapoznaj się z http://fsc.com.pl/poradnik/ * Przydatne strony: - Słownik Diki - https://www.diki.pl/ - Słownik Bab.la - https://bab.la/ - Słownik Cambridge - https://dictionary.cambridge.org/ * Słowniki zapisane w podpunkcie "Przydatne strony" mają funkcje tłumaczenia całych wyraĹźen i zdań, lecz proszę z nich nie korzystać, bo to nie są dokładne tłumaczenia. * Proszę rĂłwnieĹź ogranicznyć korzystanie z serwisĂłw takich jak Google Tłumacz, DeepL, itp. ## Procedury podstawowe UtwĂłrz fork projektu (tak abyś mĂłgł później zrobić pull request) i skonuj repozytorium. Następnie upewnij się, Ĺźe jesteś w folderze odpowiadającym budową do podstawy repozytorium: ``` # Zmień '...' na adress URL twojego forku Bazaar'u, # w ktĂłrym masz uprawnienia do zapisywania git clone ... cd bazaar ``` Nie zamykaj okna terminala # Konfiguracja Automatyczna Dodaj kod języka docelowego do `po/LINGUAS`. Na przykład, jeśli dodajesz hiszpańskie tłumaczenie, wstaw `es` do nowej linijki, upewniając się, Ĺźe lista jest w kolejności alfabetycznej. Zatem jeśli `po/LINGUAS` wygląda następująco: ``` # Please keep this file sorted alphabetically. ab en_GB ms ``` musisz zmienić to na: ``` # Please keep this file sorted alphabetically. ab en_GB es ms ``` Jak juĹź to zrobisz, moĹźesz uruchomić `./translators.sh` i podążać za instrukcjami widocznymi na ekranie. Skrypt pokaĹźe ci jak plik `po/LINGUAS` aktualnie wygląda, jeśli wszystko się zgadza naciśnij Y, a następnie enter. Następnie skrypt poprosi cię o wprowadzenie kodu języka docelowego, wpisz go, a następnie naciśnij enter. Następnie skrypt wygeneruje nowy plik `po` lub zaktualizuje istniejący, tak aby wszystkie przetłumaczalne linijki były dostępne. Teraz jesteś gotowy, aby otworzyć swĂłj plik `po` w wybranym edytorze tekstu lub edytorze tłumaczeń (POEdit, GTranslator, Lokalize, itp.) i rozpocząć proces tłumaczenia. Jak juĹź skończysz, skommituj swoje zmiany i utwĂłrz pull request na githubie. # Konfiguracja Ręczna Jak juĹź to zrobisz, skonfiguruj projekt za pomocą mesona z flagą `im_a_translator` ustawioną na `true`: ```sh meson setup build -Dim_a_translator=true ``` Dodaj kod języka docelowego do `po/LINGUAS`. Na przykład, jeśli dodajesz hiszpańskie tłumaczenie, wstaw `es` do nowej linijki, upewniając się, Ĺźe lista jest w kolejności alfabetycznej. Zatem jeśli `po/LINGUAS` wygląda następująco: ``` # Please keep this file sorted alphabetically. ab en_GB ms ``` musisz zmienić to na: ``` # Please keep this file sorted alphabetically. ab en_GB es ms ``` Następnie, przejdĹş do katalogu `build`: ```sh cd build ``` Uruchom tą komendę, aby wygenerować główny plik `pot` (**P**ortable **O**bject **T**emplate): ```sh meson compile bazaar-pot ``` Na wierszu poleceń moĹźe wyskoczyć mnĂłstwo błędĂłw o tym, Ĺźe rozszerzenie `blp` jest nieznane. MoĹźesz je zignorować. Wreszcie, wciąż będąc w katalogu `build`, uruchom następującą komendę, aby zaktualizować i/lub stworzyć pliki `po` (**P**ortable **O**bject): ```sh meson compile bazaar-update-po ``` Teraz jesteś gotowy, aby otworzyć swĂłj plik `po` w wybranym edytorze tekstu lub edytorze tłumaczeń (POEdit, GTranslator, Lokalize, itp.) i rozpocząć proces tłumaczenia. Jak juĹź skończysz, skommituj swoje zmiany i utwĂłrz pull request na githubie. ## Testowanie swojego tłumaczenia Dostosuj do swojego [kodu języka](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes)! ``` msgfmt po/de.po -o bazaar.mo sudo cp bazaar.mo /usr/share/locale/de/LC_MESSAGES/ ``` Upewnij się, Ĺźe zatrzymasz wszystkie utuchomione instancje Bazaar'u. ``` killall bazaar ``` ``` LANGUAGE=de bazaar ``` bazaar-org-bazaar-85ae777/TRANSLATORS-ZH-CN.md000066400000000000000000000101051522346355200203250ustar00rootroot00000000000000# 翻译者指南 感谢你对翻译 Bazaar 的兴趣!🏷️🗺️💜 一些基本规则: * 你必须精通你所贡献的语言。 * **丼猁**使用 LLM 生成译文。如果你这样做,你将被项目作者禁止参与此项目。 * flathub.org 本身就有良好的中文支持,因此 Bazaar 里 Flathub 页面的翻译应当和 flathub.org 高度一致。 即使 flathub.org 中个别翻译可能并不恰当,也请直接采用 flathub.org 的原文。 例如 https://flathub.org/zh-Hans/apps/category/game/subcategories/ArcadeGame 里将 Arcade 翻译为“游乐中心”,虽然实际上是“街机”更合适,但我们依旧选择直接采用“游乐中心”作为翻译 ## 统一术语 Uninstall 为“卸载”而非“删除” 根据: ```bash ❯ flatpak uninstall --help 用法: flatpak uninstall [选项…] [引用…] - 卸载应用程序或运行时 ... ``` Donate 为“捐助”而非“捐赠” 根据 flathub.org ## 基本流程 Fork 本项目(以便稍后开启 PR)并克隆仓库。然后确保你的当前目录位于 Bazaar 项目的根目录: ```sh # 将 '...' 替换为你拥有写入权限的 Bazaar Fork 的 URL git clone ... cd bazaar ``` # 自动设置 完成上述操作后,你可以运行 `./translators.sh` 并按照屏幕上的提示进行操作。该脚本会显示当前 `po/LINGUAS` 的内容。如果一切正确,输入 `Y` 并按回车。随后脚本会要求你输入语言代码,请输入并回车。脚本现在将生成一个新的 `po` 文件或更新现有文件,以便所有新的待翻译字符串都可用。 现在,你可以使用文本编辑器或翻译编辑器(POEdit、GTranslator、Lokalize 等)打开 `po` 文件并开始翻译。完成后,提交你的更改并在 GitHub 上提交 Pull RequestPR)。 # 手动设置 完成克隆后,使用 Meson 设置项目,并将 `im_a_translator` 标志设为 `true`: ```sh meson setup build -Dim_a_translator=true ``` 接下来,进入构建目录: ```sh cd build ``` 运行以下命令生成主 `pot`**P**ortable **O**bject **T**emplate)文件: ```sh meson compile bazaar-pot ``` 你可能会看到一堆警告 `blp` 扩展名未知的输出,可以安全忽略它。 最后,仍然在构建目录内,运行以下命令来更新和/或创建 `po`**P**ortable **O**bject)文件: ```sh meson compile bazaar-update-po ``` 现在,你可以使用文本编辑器或翻译编辑器([POEdit](https://flathub.org/apps/net.poedit.Poedit)、[GTranslator](https://flathub.org/apps/org.gnome.Gtranslator)、[Lokalize](https://flathub.org/apps/org.kde.lokalize) 等)打开 `po` 文件并开始翻译。 完成后,提交你的更改并在 GitHub 上提交 PR。请确保只提交与你的翻译相关的文件。 ## 更新现有翻译 根据上述命令再次生成全新的 `.pot` 文件(如有必要)。 ```sh msgmerge --update --verbose po/zh_CN.po po/bazaar.pot ``` 请在 PR 中将上述更新步骤作为一个单独的提交(Commit),以便于代码审查。谢谢! ## 测试你的翻译 确保使用简体中文对应的[语言代码](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes)"zh_CN" ```sh msgfmt po/zh_CN.po -o bazaar.mo ``` 复制 `.mo` 文件,使 Bazaar 能够识别它: ```sh sudo cp bazaar.mo /var/lib/flatpak/runtime/io.github.kolunmi.Bazaar.Locale/x86_64/stable/active/files/zh/share/zh_CN/LC_MESSAGES/ ``` 确保先结束 Bazaar 的后台进程,以便应用所需的更改/语言。 ```sh killall bazaar ``` 覆盖使用的语言并启动 Bazaar: ```sh LANGUAGE=zh_CN flatpak run io.github.kolunmi.Bazaar ``` # 翻译者注意事项 自动和手动流程都可能生成标记为 `fuzzy`(模糊)的条目。这意味着对于这些条目,`gettext` 尝试从现有的翻译中推导结果。某些翻译软件(如 Lokalize)会利用此标记将字符串设为“未审核”,并在条目被标记为完成时移除标记。如果你使用文本编辑器处理 pot 文件,请务必手动删除你认为已完成条目的 `fuzzy` 标记,否则你的翻译将不会出现在 Bazaar 中。 bazaar-org-bazaar-85ae777/TRANSLATORS.md000066400000000000000000000101671522346355200175200ustar00rootroot00000000000000# Instructions for Translators Thank you for your interest in translating Bazaar! 🏷️🗺️💜 Some basic rules: * You must be fluent in the language you contribute * You may not use llms to generate the strings (I could do that). If you do, I will ban you from the project * If you are editing existing translation, make sure to check rules for that language in `TRANSLATORS-[language code].md` file. ## Basic Process Fork the project (so you can open a PR later) and clone the repo. Then make sure your current directory is the bazaar project root: ```sh # Replace '...' with the URL of your Bazaar fork # for which you have write permissions git clone ... cd bazaar ``` # Automatic Setup Once you've done that, you can run `./translators.sh` and follow instructions present on the screen. The script will show you what `po/LINGUAS` currently looks like. If everything is correct, type `Y` and press enter. After that the script will ask you to enter language code, please enter it, and press enter. The script will now generate a new `po` file or update an existing one such that any new translatable strings will be available. You are now ready to open your `po` file in your text editor or translation editor (POEdit, GTranslator, Lokalize, etc.) and begin translating. When you are done, commit your changes and submit a pull request on github. # Manual Setup Once you've done that, setup the project with meson with the `im_a_translator` flag set to `true`: ```sh meson setup build -Dim_a_translator=true ``` Add your language identifier to `po/LINGUAS`. For example, if you are adding a Spanish translation, insert `es` into the newline-separated list, keeping it sorted alphabetically. So if the `po/LINGUAS` file currently looks like this: ``` # Please keep this file sorted alphabetically. ab en_GB ms ``` you will edit the file to look like this: ``` # Please keep this file sorted alphabetically. ab en_GB es ms ``` Next, enter the build directory: ```sh cd build ``` Run this command to generate the main `pot` (**P**ortable **O**bject **T**emplate) file: ```sh meson compile bazaar-pot ``` You might get a bunch of output complaining that the `blp` extension is unknown. You can ignore this. Finally, still inside the build directory, run the following command to update and/or create the `po` (**P**ortable **O**bject) files: ```sh meson compile bazaar-update-po ``` You are now ready to open your `po` file in your text editor or translation editor ([POEdit](https://flathub.org/apps/net.poedit.Poedit), [GTranslator](https://flathub.org/apps/org.gnome.Gtranslator), [Lokalize](https://flathub.org/apps/org.kde.lokalize), etc.)and begin translating. When you are done, commit your changes and submit a pull request on GitHub. Make sure to only commit files that are related to your translation. ## Update existing translations Generate a fresh `.pot` file again (if necessary) with the commands from above. ```sh msgmerge --update --verbose po/de.po po/bazaar.pot ``` Please make the previous update step a separate commit in your PR so it is easier to review. Thanks! ## Test your translations Replace "de" with your [Language code](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes)! ```sh msgfmt po/de.po -o bazaar.mo ``` Copy the `.mo` file so Bazaar can see it ```sh sudo cp bazaar.mo /var/lib/flatpak/runtime/io.github.kolunmi.Bazaar.Locale/x86_64/stable/active/files/de/share/de/LC_MESSAGES/ ``` Make sure to kill the background process from Bazaar first so the desired changes/language will be used. ```sh killall bazaar ``` Override the used Language and launch Bazaar ```sh LANGUAGE=de flatpak run io.github.kolunmi.Bazaar ``` # Notes From Translators Both automatic and manual processes may generate entries marked as `fuzzy`. This means that for such entries, `gettext` attempted to derive previously existing translation. Some translation suites, like Lokalize, will utilize this marking to set strings as unreviewed and remove when the entry is marked finished. When working with pot-files using text editor, be sure to remove `fuzzy` marks yourself from entries you deem finished, else your translation will not appear in Bazaar. bazaar-org-bazaar-85ae777/bazaar.doap000066400000000000000000000025101522346355200174600ustar00rootroot00000000000000 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-85ae777/bge/000077500000000000000000000000001522346355200161125ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/bge/README.md000066400000000000000000000000301522346355200173620ustar00rootroot00000000000000# Bazaar GTK Extensions bazaar-org-bazaar-85ae777/bge/bge-animation-private.h000066400000000000000000000032341522346355200224470ustar00rootroot00000000000000/* 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-85ae777/bge/bge-animation.c000066400000000000000000000543111522346355200207740ustar00rootroot00000000000000/* 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-85ae777/bge/bge-animation.h000066400000000000000000000044311522346355200207770ustar00rootroot00000000000000/* 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-85ae777/bge/bge-carousel.c000066400000000000000000001126061522346355200206340ustar00rootroot00000000000000/* 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-85ae777/bge/bge-carousel.h000066400000000000000000000044511522346355200206370ustar00rootroot00000000000000/* 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-85ae777/bge/bge-markdown-render.c000066400000000000000000000771331522346355200221230ustar00rootroot00000000000000/* 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-85ae777/bge/bge-markdown-render.h000066400000000000000000000035561522346355200221260ustar00rootroot00000000000000/* 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-85ae777/bge/bge-marshalers.list000066400000000000000000000034211522346355200217030ustar00rootroot00000000000000# 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-85ae777/bge/bge-version-macros.h000066400000000000000000000046201522346355200217670ustar00rootroot00000000000000/* 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-85ae777/bge/bge-version.h.in000066400000000000000000000047571522346355200211250ustar00rootroot00000000000000/* 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-85ae777/bge/bge.h000066400000000000000000000021441522346355200170210ustar00rootroot00000000000000/* 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-85ae777/bge/demo/000077500000000000000000000000001522346355200170365ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/bge/demo/demo.c000066400000000000000000000113041522346355200201250ustar00rootroot00000000000000/* 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 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; g_autoptr (GtkStringObject) reference = NULL; g_autoptr (GtkBuilder) builder = NULL; g_autoptr (GtkBuilderScope) scope = NULL; g_autoptr (GBytes) wdgt_bytes = NULL; gsize wdgt_buffer_size = 0; gconstpointer wdgt_buffer = NULL; g_autoptr (GBytes) markdown_bytes = NULL; gsize markdown_buffer_size = 0; gconstpointer markdown_buffer = NULL; window = gtk_application_window_new (app); gtk_window_set_default_size (GTK_WINDOW (window), 1000, 500); 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")); 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); 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); gtk_window_set_child (GTK_WINDOW (window), g_object_ref_sink (root)); gtk_window_present (GTK_WINDOW (window)); } 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-85ae777/bge/demo/demo.gresource.xml000066400000000000000000000004301522346355200224760ustar00rootroot00000000000000 window.ui style.css test.wdgt ../../docs/overview.md bazaar-org-bazaar-85ae777/bge/demo/meson.build000066400000000000000000000010431522346355200211760ustar00rootroot00000000000000demo_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-85ae777/bge/demo/style.css000066400000000000000000000003421522346355200207070ustar00rootroot00000000000000.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-85ae777/bge/demo/test.wdgt000066400000000000000000000057001522346355200207060ustar00rootroot00000000000000defwidget "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-85ae777/bge/demo/window.blp000066400000000000000000000017571522346355200210560ustar00rootroot00000000000000using Gtk 4.0; Box root { Paned { orientation: horizontal; position: 400; wide-handle: true; start-child: ScrolledWindow { child: $BgeMarkdownRender markdown { margin-start: 10; margin-end: 10; }; }; end-child: Paned { orientation: horizontal; position: 400; 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 state_entry.text; } Entry state_entry { text: "1"; } }; shrink-end-child: false; }; } } bazaar-org-bazaar-85ae777/bge/libbge.c000066400000000000000000000021431522346355200175020ustar00rootroot00000000000000/* 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-85ae777/bge/meson.build000066400000000000000000000033171522346355200202600ustar00rootroot00000000000000api_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-85ae777/bge/util.h000066400000000000000000000076521522346355200172520ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/000077500000000000000000000000001522346355200170575ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/bge/wdgt/bge-easing.c000066400000000000000000000400231522346355200212230ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/bge-easing.h000066400000000000000000000023611522346355200212330ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/bge-wdgt-renderer.h000066400000000000000000000046411522346355200225410ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/bge-wdgt-spec-private.h000066400000000000000000000232541522346355200233360ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/bge-wdgt-spec.c000066400000000000000000006240051522346355200216620ustar00rootroot00000000000000/* 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; 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; }; G_DEFINE_FINAL_TYPE (BgeWdgtSpec, bge_wdgt_spec, G_TYPE_OBJECT); 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_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->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; } 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); 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-85ae777/bge/wdgt/bge-wdgt-spec.h000066400000000000000000000034141522346355200216620ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/fmt/000077500000000000000000000000001522346355200176455ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/bge/wdgt/fmt/meson.build000066400000000000000000000000461522346355200220070ustar00rootroot00000000000000bge_sources += files( 'parser.c', ) bazaar-org-bazaar-85ae777/bge/wdgt/fmt/parser.c000066400000000000000000003302731522346355200213150ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/fmt/parser.h000066400000000000000000000015701522346355200213150ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/lookup/000077500000000000000000000000001522346355200203705ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/bge/wdgt/lookup/lookup.h000066400000000000000000000047171522346355200220630ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/lookup/meson.build000066400000000000000000000001151522346355200225270ustar00rootroot00000000000000bge_sources += files( 'path-builder.c', 'snapshot.c', 'transform.c', ) bazaar-org-bazaar-85ae777/bge/wdgt/lookup/path-builder.c000066400000000000000000000322151522346355200231170ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/lookup/snapshot.c000066400000000000000000000731561522346355200224070ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/lookup/transform.c000066400000000000000000000131641522346355200225540ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/meson.build000066400000000000000000000003061522346355200212200ustar00rootroot00000000000000bge_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-85ae777/bge/wdgt/util/000077500000000000000000000000001522346355200200345ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/bge/wdgt/util/marshal.c000066400000000000000000000154011522346355200216300ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/util/marshal.h000066400000000000000000000046341522346355200216430ustar00rootroot00000000000000/* 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-85ae777/bge/wdgt/util/meson.build000066400000000000000000000000471522346355200221770ustar00rootroot00000000000000bge_sources += files( 'marshal.c', ) bazaar-org-bazaar-85ae777/build-aux/000077500000000000000000000000001522346355200172475ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/build-aux/flatpak/000077500000000000000000000000001522346355200206715ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/build-aux/flatpak/flatpak-builder-tools/000077500000000000000000000000001522346355200250755ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/build-aux/flatpak/fuse-2.9.2-closefrom.patch000066400000000000000000000007001522346355200253060ustar00rootroot00000000000000--- 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-85ae777/build-aux/flatpak/fuse-2.9.2-namespace-conflict-fix.patch000066400000000000000000000010641522346355200276400ustar00rootroot00000000000000diff -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-85ae777/build-aux/flatpak/fuse-disable-sys-mount-under-flatpak.patch000066400000000000000000000011671522346355200307710ustar00rootroot00000000000000From 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-85ae777/build-aux/flatpak/fusermount-wrapper.sh000066400000000000000000000006431522346355200251150ustar00rootroot00000000000000#!/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-85ae777/build-aux/flatpak/io.github.kolunmi.Bazaar.json000066400000000000000000000425071522346355200263400ustar00rootroot00000000000000{ "id": "io.github.kolunmi.Bazaar", "runtime": "org.gnome.Platform", "runtime-version": "50", "sdk": "org.gnome.Sdk", "command": "bazaar", "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-85ae777/data/000077500000000000000000000000001522346355200162665ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/dbus/000077500000000000000000000000001522346355200172235ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/dbus/io.github.kolunmi.Bazaar.service.in000066400000000000000000000001731522346355200257570ustar00rootroot00000000000000[D-BUS Service] Name=io.github.kolunmi.Bazaar SystemdService=io.github.kolunmi.Bazaar.service Exec=@bindir@/bazaar service bazaar-org-bazaar-85ae777/data/dbus/meson.build000066400000000000000000000004701522346355200213660ustar00rootroot00000000000000service_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('datadir') / 'dbus-1' / 'services' ) bazaar-org-bazaar-85ae777/data/icons/000077500000000000000000000000001522346355200174015ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/icons/hicolor/000077500000000000000000000000001522346355200210405ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/icons/hicolor/scalable/000077500000000000000000000000001522346355200226065ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/icons/hicolor/scalable/apps/000077500000000000000000000000001522346355200235515ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/icons/hicolor/scalable/apps/io.github.kolunmi.Bazaar.Devel.svg000066400000000000000000000102551522346355200320770ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/icons/hicolor/scalable/apps/io.github.kolunmi.Bazaar.svg000066400000000000000000000103051522346355200310350ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/icons/hicolor/symbolic/000077500000000000000000000000001522346355200226615ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/icons/hicolor/symbolic/apps/000077500000000000000000000000001522346355200236245ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/data/icons/hicolor/symbolic/apps/io.github.kolunmi.Bazaar-symbolic.svg000066400000000000000000000047301522346355200327340ustar00rootroot00000000000000 bazaar-org-bazaar-85ae777/data/icons/io.github.kolunmi.Bazaar.Source.svg000066400000000000000000007446121522346355200261430ustar00rootroot00000000000000 Adwaita Icon Template image/svg+xml GNOME Design Team Adwaita Icon Template Hicolor Symbolic bazaar-org-bazaar-85ae777/data/icons/meson.build000066400000000000000000000010731522346355200215440ustar00rootroot00000000000000application_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-85ae777/data/io.github.kolunmi.Bazaar.desktop.in000066400000000000000000000010351522346355200250310ustar00rootroot00000000000000[Desktop Entry] Name=Bazaar Comment=Add, remove or update flatpak software on this computer Exec=bazaar %U Icon=io.github.kolunmi.Bazaar Terminal=false Type=Application Categories=Utility; Keywords=GTK;System;PackageManager;Discover;Flatpak;Software;Store; StartupNotify=true MimeType=x-scheme-handler/appstream;x-scheme-handler/flatpak;x-scheme-handler/flatpak+https;application/vnd.flatpak;application/vnd.flatpak.ref; Actions=new-window; X-Purism-FormFactor=Workstation;Mobile; [Desktop Action new-window] Name=New Window Exec=bazaar %U bazaar-org-bazaar-85ae777/data/io.github.kolunmi.Bazaar.gschema.xml000066400000000000000000000060061522346355200251640ustar00rootroot00000000000000 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 bazaar-org-bazaar-85ae777/data/io.github.kolunmi.Bazaar.metainfo.xml.in000066400000000000000000000611541522346355200257710ustar00rootroot00000000000000 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://github.com/bazaar-org/bazaar/tree/master/po 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.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-85ae777/data/io.github.kolunmi.Bazaar.search-provider.ini.in000066400000000000000000000002411522346355200272310ustar00rootroot00000000000000[Shell Search Provider] DesktopId=io.github.kolunmi.Bazaar.desktop BusName=io.github.kolunmi.Bazaar ObjectPath=/io/github/kolunmi/Bazaar/SearchProvider Version=2bazaar-org-bazaar-85ae777/data/io.github.kolunmi.Bazaar.service.in000066400000000000000000000002361522346355200250220ustar00rootroot00000000000000[Unit] Description=Bazaar Service PartOf=graphical-session.target [Service] Type=dbus BusName=io.github.kolunmi.Bazaar ExecStart=@bindir@/bazaar --no-window bazaar-org-bazaar-85ae777/data/meson.build000066400000000000000000000034411522346355200204320ustar00rootroot00000000000000desktop_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-85ae777/docs/000077500000000000000000000000001522346355200163055ustar00rootroot00000000000000bazaar-org-bazaar-85ae777/docs/debugging.md000066400000000000000000000040121522346355200205570ustar00rootroot00000000000000# 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` ```sh [📦 io.github.kolunmi.Bazaar ~]$ gdb /app/bin/bazaar ``` 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-85ae777/docs/example.yaml000066400000000000000000000103221522346355200206220ustar00rootroot00000000000000rows: - 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: "#778cf7" - 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-85ae777/docs/overview.md000066400000000000000000000700351522346355200205020ustar00rootroot00000000000000# 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 [ARGS] [PACKAGE PATH/URI] ``` To avoid spawning an initial window, use: ``` bazaar --no-window [ARGS] [PACKAGE PATH/URI] ``` `[PACKAGE PATH/URI]` could be a `.flatpakref` file. flatpak+https and regular https is supported. ## 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 ``` ### 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-85ae777/funding.json��������������������������������������������������������������0000664�0000000�0000000�00000006401�15223463552�0017703�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-85ae777/meson.build���������������������������������������������������������������0000664�0000000�0000000�00000010544�15223463552�0017523�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() 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('GETTEXT_PACKAGE', '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()) refresh_worker_bin_name = 'bazaar-refresh-worker' config_h.set_quoted('REFRESH_WORKER_BIN_NAME', refresh_worker_bin_name) dl_worker_bin_name = 'bazaar-dl-worker' config_h.set_quoted('DL_WORKER_BIN_NAME', dl_worker_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-85ae777/meson_options.txt���������������������������������������������������������0000664�0000000�0000000�00000002123�15223463552�0021010�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-85ae777/po/�����������������������������������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0015773�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/po/.gitignore�������������������������������������������������������������0000664�0000000�0000000�00000000012�15223463552�0017754�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar.pot����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/po/LINGUAS����������������������������������������������������������������0000664�0000000�0000000�00000000217�15223463552�0017020�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-85ae777/po/POTFILES.in������������������������������������������������������������0000664�0000000�0000000�00000007376�15223463552�0017565�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.blp src/bz-article.c src/bz-article-list-view.c src/bz-article-tile.blp src/bz-article-tile.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-callbacks.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-env.c src/bz-error-dialog.blp src/bz-error-dialog.c src/bz-error.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.blp src/bz-featured-carousel-view.c 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-global-net.c src/bz-gnome-shell-search-provider.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-io.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-calculator.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-engine.c src/bz-search-filter-popover.blp src/bz-search-filter-popover.c src/bz-search-bar.blp 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/dl-worker.c src/main.c src/shortcuts-dialog.blp ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/po/ar.po������������������������������������������������������������������0000664�0000000�0000000�00000304420�15223463552�0016740�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/bz-error.c:68 msgid "An Error Occurred" msgstr "Ř­ŘŻŘŤ ؎ءأ" #: src/bz-error.c:89 msgid "Close" msgstr "أغلِق" #: src/bz-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/bz-safety-calculator.c:82 msgid "Unknown Permissions" msgstr "أذونات غير معروفة" #: src/bz-safety-calculator.c:83 msgid "Permissions are missing for this app." msgstr "أذونات مفقودة للتطبيق." #: src/bz-safety-calculator.c:96 msgid "No Permissions" msgstr "لا أذونات" #: src/bz-safety-calculator.c:97 msgid "App is fully sandboxed" msgstr "التطبيق معزول بالكامل" #: src/bz-safety-calculator.c:103 msgid "Network Access" msgstr "اتصال بالشبكة" #: src/bz-safety-calculator.c:104 msgid "Can access the internet" msgstr "قادر على الوصول للشبكة" #: src/bz-safety-calculator.c:106 msgid "No Network Access" msgstr "لا يوجد وصول للشبكة" #: src/bz-safety-calculator.c:107 msgid "Cannot access the internet" msgstr "غير قادر على الوصول للشبكة" #: src/bz-safety-calculator.c:112 msgid "User Device Access" msgstr "الوصول لجهاز المستخدم" #: src/bz-safety-calculator.c:113 msgid "Can access devices such as webcams or gaming controllers" msgstr "قادر على الوصول للأجهزة مثل الكاميرا وأيادي اللعب" #: src/bz-safety-calculator.c:115 msgid "No User Device Access" msgstr "غير قادر على الوصول لجهاز المستخدم" #: src/bz-safety-calculator.c:116 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "غير قادر على الوصول لأجهزة كالكاميرا أو كونترولر الألعاب" #: src/bz-safety-calculator.c:121 msgid "Input Device Access" msgstr "الوصول لأجهزة الدخل" #: src/bz-safety-calculator.c:122 msgid "Can access input devices" msgstr "قادر على الوصول لأجهزة الدخل" #: src/bz-safety-calculator.c:128 msgid "Microphone Access and Audio Playback" msgstr "الوصول للميكروفون وتشغيل الصوت" #: src/bz-safety-calculator.c:129 msgid "Can listen using microphones and play audio without asking permission" msgstr "قادر على الاستماع باستخدام الميكروفونات وتشغيل الصوت دون طلب إذن" #: src/bz-safety-calculator.c:135 msgid "System Device Access" msgstr "الوصول إلى أجهزة النظام" #: src/bz-safety-calculator.c:136 msgid "Can access system devices which require elevated permissions" msgstr "يمكنه الوصول إلى أجهزة النظام التي تتطلب صلاحيات موسعة" #: src/bz-safety-calculator.c:142 msgid "Screen Contents Access" msgstr "الوصول إلى محتويات الشاشة" #: src/bz-safety-calculator.c:143 msgid "Can access the contents of the screen or other windows" msgstr "يمكن الوصول إلى محتويات الشاشة أو النوافذ الأخرى" #: src/bz-safety-calculator.c:149 msgid "Legacy Windowing System" msgstr "نظام نوافذ قديم" #: src/bz-safety-calculator.c:150 msgid "Always uses a legacy windowing system (X11)" msgstr "دائما يستخدم نظام النوافذ (X11) القديم" #: src/bz-safety-calculator.c:156 msgid "Arbitrary Permissions" msgstr "أذونات تعسفية" #: src/bz-safety-calculator.c:157 msgid "Can acquire arbitrary permissions" msgstr "يمكن الحصول على أذونات تعسفية" #: src/bz-safety-calculator.c:163 msgid "User Settings" msgstr "ؼؚدادات المستخدم" #: src/bz-safety-calculator.c:164 msgid "Can access and change user settings" msgstr "قادر على الوصول وتعديل ؼؚدادات المستخدم" #: src/bz-safety-calculator.c:170 msgid "Full File System Read/Write Access" msgstr "وصول كامل لقراءة وكتاب؊ ملفات النظام" #: src/bz-safety-calculator.c:171 msgid "Can read and write all data on the file system" msgstr "قادر على قراءة وكتاب؊ جميع البيانات التي على بيانات النظام" #: src/bz-safety-calculator.c:178 msgid "Home Folder Read/Write Access" msgstr "إمكانية الوصول للقراءة/الكتابة إلى المجلد الرئيسي" #: src/bz-safety-calculator.c:179 msgid "Can read and write all data in your home directory" msgstr "يمكنك قراءة وكتاب؊ جميع البيانات في دليل المستخدم الخاص بك" #: src/bz-safety-calculator.c:186 msgid "Full File System Read Access" msgstr "وصول كامل لقراءة ملفات النظام" #: src/bz-safety-calculator.c:187 msgid "Can read all data on the file system" msgstr "يمكن قراءة جميع البيانات الموجودة على نظام الملفات" #: src/bz-safety-calculator.c:195 msgid "Home Folder Read Access" msgstr "إمكانية قراءة المجلد الرئيسي" #: src/bz-safety-calculator.c:196 msgid "Can read all data in your home directory" msgstr "يمكن قراءة جميع البيانات في مجلدك الرئيسي" #: src/bz-safety-calculator.c:204 msgid "Download Folder Read/Write Access" msgstr "إمكانية قراءة/كتاب؊ مجلد التنزيل" #: src/bz-safety-calculator.c:205 msgid "Can read and write all data in your downloads directory" msgstr "يمكنك قراءة وكتاب؊ جميع البيانات في مجلد التنزيلات الخاص بك" #: src/bz-safety-calculator.c:215 msgid "Download Folder Read Access" msgstr "إمكانية قراءة مجلد التنزيل" #: src/bz-safety-calculator.c:216 msgid "Can read all data in your downloads directory" msgstr "قادر على قراءة جميع البيانات في مجلد التحميلات" #: src/bz-safety-calculator.c:229 msgid "Can read and write all data in the directory" msgstr "قادر على قراءة وكتاب؊ البيانات ضمن هذا المجلد" #: src/bz-safety-calculator.c:243 msgid "Can read all data in the directory" msgstr "قادر على قراءة البيانات ضمن هذا المجلد" #: src/bz-safety-calculator.c:258 msgid "No File System Access" msgstr "لا يوجد وصول لملفات النظام" #: src/bz-safety-calculator.c:259 msgid "Cannot access the file system at all" msgstr "غير قادر على الوصول لملفات النظام على الإطلاق" #: src/bz-safety-calculator.c:266 msgid "Uses System Services" msgstr "يستخدم خدمات النظام" #: src/bz-safety-calculator.c:267 msgid "Can request data from non-portal system services" msgstr "يمكن طلب البيانات من خدمات النظام غير التابعة للبوابة" #: src/bz-safety-calculator.c:273 msgid "Uses Session Services" msgstr "يستخدم خدمات الجلسة" #: src/bz-safety-calculator.c:274 msgid "Can request data from non-portal session services" msgstr "يمكن طلب البيانات من خدمات جلسات غير تابؚ؊ للبوابة" #: src/bz-safety-calculator.c:322 msgid "No Service Access" msgstr "لا يوجد وصول للخدمات" #: src/bz-safety-calculator.c:323 msgid "Cannot access non-portal session or system services at all" msgstr "" "لا يمكن الوصول إلى جلسات أو خدمات النظام غير التابعة للبوابة على الإطلاق" #: src/bz-safety-calculator.c:331 msgid "Verified App Developer" msgstr "مطور تطبيقات موثق" #: src/bz-safety-calculator.c:332 msgid "The developer of this app has been verified to be who they say they are" msgstr "تم التحقق من هوية مطور هذا التطبيق" #: src/bz-safety-calculator.c:341 msgid "Proprietary Code" msgstr "كود محتكر" #: src/bz-safety-calculator.c:342 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "الكود المصدري غير متاح للعامة ويمكن مراجعته بشكل مستقل، مما يعني أن التطبيق " "قد يكون غير آمن" #: src/bz-safety-calculator.c:352 msgid "Auditable Code" msgstr "كود قابل للتدقيق" #: src/bz-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/bz-safety-calculator.c:493 #, c-format msgid "Use the %s System Service" msgstr "يمكنه استخدام خدمة النظام: %s" #: src/bz-safety-calculator.c:497 #, c-format msgid "Use the %s Session Service" msgstr "يمكنه استخدام جلسة الخدمة: %s" #: src/bz-safety-calculator.c:501 #, c-format msgid "Use the %s Service" msgstr "يمكنه استخدام خدمة: %s" #: src/bz-safety-calculator.c:511 msgid "Can see the non-portal service" msgstr "يمكنه رؤية الخدمة غير التابعة للبوابة" #: src/bz-safety-calculator.c:513 msgid "Can talk to the non-portal service" msgstr "يمكنه التحدث مع الخدمة غير التابعة للبوابة" #: src/bz-safety-calculator.c:515 msgid "Can own the non-portal service" msgstr "يمكنه امتلاك الخدمة غير التابعة للبوابة" #: src/bz-safety-calculator.c:530 msgid "Global Menu Integration" msgstr "تكامل القوائم العامة" #: src/bz-safety-calculator.c:531 msgid "Can display its menus in a global menu bar" msgstr "قادر على ؚع؜ قوائمه في شريط القوائم العام" #: src/bz-safety-calculator.c:536 msgid "KDE Settings Integration" msgstr "تكامل ؼؚدادات KDE" #: src/bz-safety-calculator.c:537 msgid "Can detect when KDE desktop settings change" msgstr "قادر على تحديد التغيرات في ؼؚدادات سءح مكتب KDE" #: src/bz-safety-calculator.c:542 msgid "KDE Global Settings" msgstr "الإعدادات العامة لـKDE" #: src/bz-safety-calculator.c:543 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "قادر على قراءة تفضيلات سءح مكتب KDE مثل الخطوط والألوان" #: src/bz-safety-calculator.c:548 msgid "Secret Storage Service" msgstr "خدمة تخزين الأسرار" #: src/bz-safety-calculator.c:549 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "قادر على تخزين واستؚاد؊ كلمات المرور الخاصة به باستخدام سلسلة مفاتيح النظام" #: src/bz-safety-calculator.c:554 msgid "Desktop Notifications Service" msgstr "خدمة ؼشؚاعات سءح المكتب" #: src/bz-safety-calculator.c:555 msgid "Can send desktop notifications" msgstr "يستطيع إرسال ؼشؚاعات لسطح المكتب" #: src/bz-safety-calculator.c:561 msgid "System Tray Integration" msgstr "تكامل شريط النظام" #: src/bz-safety-calculator.c:562 msgid "Can display an icon in the system tray" msgstr "قادر على ؚع؜ أيقونة في شريط النظام" #: src/bz-safety-calculator.c:567 msgid "KDE Connect Integration" msgstr "تكامل KDE Connect" #: src/bz-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-85ae777/po/be.po������������������������������������������������������������������0000664�0000000�0000000�00000306137�15223463552�0016733�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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:82 msgid "Unknown Permissions" msgstr "Дазволы невядомыя" #: src/bz-safety-calculator.c:83 msgid "Permissions are missing for this app." msgstr "Не хапае дазволаў для гэтай праграмы." #: src/bz-safety-calculator.c:96 msgid "No Permissions" msgstr "Не патрабуе дазволаў" #: src/bz-safety-calculator.c:97 msgid "App is fully sandboxed" msgstr "Праграма цалкам выконваецца ў «пясочніцы»" #: src/bz-safety-calculator.c:103 msgid "Network Access" msgstr "Доступ да сеткі" #: src/bz-safety-calculator.c:104 msgid "Can access the internet" msgstr "Мае доступ да інтэрнэту" #: src/bz-safety-calculator.c:106 msgid "No Network Access" msgstr "Без доступу да сеткі" #: src/bz-safety-calculator.c:107 msgid "Cannot access the internet" msgstr "Не Пао доступу да інтэрнэту" #: src/bz-safety-calculator.c:112 msgid "User Device Access" msgstr "Доступ да прылад карыстальніка" #: src/bz-safety-calculator.c:113 msgid "Can access devices such as webcams or gaming controllers" msgstr "Мае доступ да прылад накшталт вэб-камер айО гульнявых кантролераў" #: src/bz-safety-calculator.c:115 msgid "No User Device Access" msgstr "Без доступу да прылад карыстальніка" #: src/bz-safety-calculator.c:116 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "Не Пао доступу да прылад накшталт вэб-камер айО гульнявых кантролераў" #: src/bz-safety-calculator.c:121 msgid "Input Device Access" msgstr "Доступ да прылад увОду" #: src/bz-safety-calculator.c:122 msgid "Can access input devices" msgstr "Мае доступ да прылад увОду" #: src/bz-safety-calculator.c:128 msgid "Microphone Access and Audio Playback" msgstr "Доступ да мікрафона і прайгравання аўдыя" #: src/bz-safety-calculator.c:129 msgid "Can listen using microphones and play audio without asking permission" msgstr "Можа весці праслухоўванне праз мікрафон і прайграваць аўдыя но пытаючы даСвОНу" #: src/bz-safety-calculator.c:135 msgid "System Device Access" msgstr "Доступ да сістэмных прылад" #: src/bz-safety-calculator.c:136 msgid "Can access system devices which require elevated permissions" msgstr "Мае доступ да сістэмных прылад, якія патрабуюць павышанага ўзроўню дазволаў" #: src/bz-safety-calculator.c:142 msgid "Screen Contents Access" msgstr "Доступ да змесціва экрана" #: src/bz-safety-calculator.c:143 msgid "Can access the contents of the screen or other windows" msgstr "Мае доступ да змесціва экрана айО іншых акОн" #: src/bz-safety-calculator.c:149 msgid "Legacy Windowing System" msgstr "Састарэлы аконны інтэрфейс" #: src/bz-safety-calculator.c:150 msgid "Always uses a legacy windowing system (X11)" msgstr "Заўсёды выкарыстоўвае састарэлую сістэму кіравання вокнамі (X11)" #: src/bz-safety-calculator.c:156 msgid "Arbitrary Permissions" msgstr "Адвольныя дазволы" #: src/bz-safety-calculator.c:157 msgid "Can acquire arbitrary permissions" msgstr "Можа атрымліваць адвольныя дазволы" #: src/bz-safety-calculator.c:163 msgid "User Settings" msgstr "Налады карыстальніка" #: src/bz-safety-calculator.c:164 msgid "Can access and change user settings" msgstr "Можа праглядаць і змяняць налады карыстальніка" #: src/bz-safety-calculator.c:170 msgid "Full File System Read/Write Access" msgstr "Чытанне і запіс даных ва усёй файлавай сістэме" #: src/bz-safety-calculator.c:171 msgid "Can read and write all data on the file system" msgstr "Мае доступ да чытання і запісу даных ва усёй файлавай сістэме" #: src/bz-safety-calculator.c:178 msgid "Home Folder Read/Write Access" msgstr "Чытанне і запіс даных ў галоўнай папцы" #: src/bz-safety-calculator.c:179 msgid "Can read and write all data in your home directory" msgstr "Мае доступ да чытання і запісу даных ў галоўнай папцы" #: src/bz-safety-calculator.c:186 msgid "Full File System Read Access" msgstr "Чытанне даных ва ўсёй файлавай сістэме" #: src/bz-safety-calculator.c:187 msgid "Can read all data on the file system" msgstr "Мае доступ да чытання даных ва усёй файлавай сістэме" #: src/bz-safety-calculator.c:195 msgid "Home Folder Read Access" msgstr "Чытанне даных у галоўнай папцы" #: src/bz-safety-calculator.c:196 msgid "Can read all data in your home directory" msgstr "Мае доступ да чытання ў галоўнай папцы" #: src/bz-safety-calculator.c:204 msgid "Download Folder Read/Write Access" msgstr "Чытанне і запіс даных у папцы спаПпОвак" #: src/bz-safety-calculator.c:205 msgid "Can read and write all data in your downloads directory" msgstr "Мае доступ да чытання і запісу даных у папцы спаПпОвак" #: src/bz-safety-calculator.c:215 msgid "Download Folder Read Access" msgstr "Чытанне даных ў папцы спаПпОвак" #: src/bz-safety-calculator.c:216 msgid "Can read all data in your downloads directory" msgstr "Мае доступ да чытання даных ў папцы спаПпОвак" #: src/bz-safety-calculator.c:229 msgid "Can read and write all data in the directory" msgstr "Мае доступ да чытання і запісу даных у каталогу" #: src/bz-safety-calculator.c:243 msgid "Can read all data in the directory" msgstr "Мае доступ да чытання даных у каталогу" #: src/bz-safety-calculator.c:258 msgid "No File System Access" msgstr "Без доступу да файлавай сістэмы" #: src/bz-safety-calculator.c:259 msgid "Cannot access the file system at all" msgstr "Не Пао доступу да ўсёй файлавай сістэмы" #: src/bz-safety-calculator.c:266 msgid "Uses System Services" msgstr "Выкарыстоўвае сістэмныя сэрвісы" #: src/bz-safety-calculator.c:267 msgid "Can request data from non-portal system services" msgstr "Можа запытваць даныя С сістэмных сэрвісаў, якія но звязаны С парталам" #: src/bz-safety-calculator.c:273 msgid "Uses Session Services" msgstr "Выкарыстоўвае сэрвісы соанса" #: src/bz-safety-calculator.c:274 msgid "Can request data from non-portal session services" msgstr "Можа запытваць даныя С сэрвісаў соанса, якія но звязаны С парталам" #: src/bz-safety-calculator.c:322 msgid "No Service Access" msgstr "Без доступу да сэрвісаў" #: src/bz-safety-calculator.c:323 msgid "Cannot access non-portal session or system services at all" msgstr "Не ПОМа запытваць даныя С сэрвісаў соанса айО сістэмных сэрвісаў, якія но звязаны С парталам" #: src/bz-safety-calculator.c:331 msgid "Verified App Developer" msgstr "Спраўджаны распрацоўшчык" #: src/bz-safety-calculator.c:332 msgid "The developer of this app has been verified to be who they say they are" msgstr "Распрацоўшчык гэтай праграмы прайшоў спраўджанне асобы" #: src/bz-safety-calculator.c:341 msgid "Proprietary Code" msgstr "Прапрыетарны кОд" #: src/bz-safety-calculator.c:342 msgid "The source code is not public, so it cannot be independently audited and might be unsafe" msgstr "Зыходны кОд праграмы но даступны для публікі, яго нельга праверыць ноСаНоМна, таму праграма ПОМа быць небяспечнай" #: src/bz-safety-calculator.c:352 msgid "Auditable Code" msgstr "Правяральны кОд" #: src/bz-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/bz-safety-calculator.c:493 #, c-format msgid "Use the %s System Service" msgstr "Выкарыстоўвае сістэмны сэрвіс %s" #: src/bz-safety-calculator.c:497 #, c-format msgid "Use the %s Session Service" msgstr "Выкарыстоўвае сэрвіс соанса %s" #: src/bz-safety-calculator.c:501 #, c-format msgid "Use the %s Service" msgstr "Выкарыстоўвае сервіс %s" #: src/bz-safety-calculator.c:511 msgid "Can see the non-portal service" msgstr "Можа праглядаць сэрвіс, які но звязаны С парталам" #: src/bz-safety-calculator.c:513 msgid "Can talk to the non-portal service" msgstr "Можа адпраўляць паведамленні сэрвісу, які но звязаны С парталам" #: src/bz-safety-calculator.c:515 msgid "Can own the non-portal service" msgstr "Можа валодаць сэрвісам, які но звязаны С парталам" #: src/bz-safety-calculator.c:530 msgid "Global Menu Integration" msgstr "Інтэграцыя С глабальным меню" #: src/bz-safety-calculator.c:531 msgid "Can display its menus in a global menu bar" msgstr "Можа паказваць свао меню ў панэлі глабальнага меню" #: src/bz-safety-calculator.c:536 msgid "KDE Settings Integration" msgstr "Інтэграцыя ў наладамі KDE" #: src/bz-safety-calculator.c:537 msgid "Can detect when KDE desktop settings change" msgstr "Можа адсочваць змены ў наладах асяроддзя KDE" #: src/bz-safety-calculator.c:542 msgid "KDE Global Settings" msgstr "Глабальныя налады KDE" #: src/bz-safety-calculator.c:543 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Можа чытаць такія параметры асяроддзя KDE, як выбар шрыфтоў і колераў" #: src/bz-safety-calculator.c:548 msgid "Secret Storage Service" msgstr "ХНуМйа сховішча сакрэтаў" #: src/bz-safety-calculator.c:549 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "Можа захоўваць і атрымліваць уласныя паролі С дапаПОгаК набору сістэмных ключоў" #: src/bz-safety-calculator.c:554 msgid "Desktop Notifications Service" msgstr "Сэрвіс апавяшчэнняў на працоўным стале" #: src/bz-safety-calculator.c:555 msgid "Can send desktop notifications" msgstr "Можа адпраўляць апавяшчэнні на працоўным стале" #: src/bz-safety-calculator.c:561 msgid "System Tray Integration" msgstr "Інтэграцыя С панэллю заданняў" #: src/bz-safety-calculator.c:562 msgid "Can display an icon in the system tray" msgstr "Можа паказваць значок у панэлі заданняў" #: src/bz-safety-calculator.c:567 msgid "KDE Connect Integration" msgstr "Інтэграцыя С KDE Connect" #: src/bz-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-85ae777/po/bg.po������������������������������������������������������������������0000664�0000000�0000000�00000110261�15223463552�0016724�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/bz-error.c:68 msgid "An Error Occurred" msgstr "Възникна грешка" #: src/bz-error.c:89 msgid "Close" msgstr "Затваряне" #: src/bz-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-85ae777/po/bs.po������������������������������������������������������������������0000664�0000000�0000000�00000034711�15223463552�0016745�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/bz-error.c:45 msgid "An Error Occurred" msgstr "DoĹĄlo je do greĹĄke" #: src/bz-error.c:51 msgid "Close" msgstr "Zatvori" #: src/bz-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-85ae777/po/cs.po������������������������������������������������������������������0000664�0000000�0000000�00000267655�15223463552�0016765�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: \n" "POT-Creation-Date: 2026-07-04 08:38+0200\n" "PO-Revision-Date: 2026-07-04 11:16+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 "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:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;SystĂŠm;SprĂĄvceBalíčkĹŻ;Discover;Flatpak;Software;Obchod;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 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:787 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:411 msgid "Downloads/Month" msgstr "StaĹženĂ­/měsĂ­c" #: src/bz-addons-dialog.blp:231 src/bz-full-view.blp:447 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:333 #, c-format msgid "Add-on for %s" msgstr "Doplněk pro %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 msgid "Show Less" msgstr "Zobrazit mĂŠně" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 src/bz-section-view.blp:72 msgid "Show More" msgstr "Zobrazit vĂ­ce" #: src/bz-addons-dialog.c:397 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/bz-context-tile-callbacks.c:186 #: src/bz-context-tile-callbacks.c:193 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/bz-context-tile-callbacks.c:176 #, 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:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "StahovanĂĄ velikost" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "InstalovanĂĄ velikost" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Velikost ke staĹženĂ­ z internetu" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Velikost na disku" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Otevřít sloĹžku uĹživatelskĂ˝ch dat" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "VaĹĄe uĹživatelskĂĄ data" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Mezipaměti, nastavenĂ­ a dalĹĄĂ­ data aplikacĂ­" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Mezipaměť" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "DočasnĂĄ data v mezipaměti" #: src/bz-app-size-dialog.blp:176 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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-context-tile-callbacks.c:410 msgid "N/A" msgstr "N/A" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "Velikost aplikace" #: 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 "Ověřeno" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/bz-context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "NainstalovĂĄno" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:790 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:800 msgid "Special Thanks" msgstr "ZvlĂĄĹĄtnĂ­ poděkovĂĄnĂ­ patří" #: src/bz-application.c:858 msgid "Logged Out Successfully!" msgstr "Úspěšně odhlĂĄĹĄeni!" #: src/bz-application.c:1038 msgid "Ubuntu Troubles!" msgstr "ProblĂŠmy s 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 "" "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:1047 msgid "Continue Anyway" msgstr "Přesto pokračovat" #: src/bz-application.c:1063 msgid "Performing setup…" msgstr "ProvĂĄdĂ­ se nastavení…" #: src/bz-application.c:1155 msgid "Set Up System Flathub?" msgstr "Nastavit systĂŠmovĂ˝ Flathub?" #: 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 "" "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:1165 msgid "Set Up Flathub?" msgstr "Nastavit 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 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:1174 msgid "Later" msgstr "Později" #: src/bz-application.c:1175 msgid "Set Up Flathub" msgstr "Nastavit Flathub" #: src/bz-application.c:1699 msgid "A backend error occurred" msgstr "DoĹĄlo k chybě backendu" #: src/bz-application.c:1899 src/bz-application.c:4114 msgid "Refreshing…" msgstr "Obnovuje se…" #: src/bz-application.c:2063 src/bz-application.c:4112 #, c-format msgid "Loading %d apps…" msgstr "NačítĂĄ se %d aplikací…" #: src/bz-application.c:2116 msgid "Failed to open file" msgstr "Nezdařilo se otevřít soubor" #: src/bz-application.c:2237 msgid "An initialization error occurred" msgstr "DoĹĄlo k chybě inicializace" #: src/bz-application.c:2631 msgid "Checking for updates…" msgstr "KontrolujĂ­ se aktualizace…" #: src/bz-application.c:2687 msgid "Failed to check for updates" msgstr "Nezdařilo se zkontrolovat aktualizace" #: src/bz-application.c:3824 msgid "Malformed Link" msgstr "Ĺ patně formĂĄtovanĂ˝ odkaz" #: 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 "" "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:3833 msgid "Could not find app" msgstr "Nezdařilo se najĂ­t aplikaci" #: src/bz-application.c:3864 msgid "Failed to load metainfo" msgstr "Nezdařilo se načíst metainfo" #: src/bz-application.c:4116 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!" #: 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 "Otevřít" #: src/bz-bundle-install-dialog.blp:447 src/bz-bundle-install-dialog.blp:532 msgid "Show App Details" msgstr "Zobrazit podrobnosti o aplikaci" #: src/bz-bundle-install-dialog.blp:498 msgid "Already Installed" msgstr "JiĹž nainstalovĂĄno" #: src/bz-bundle-install-dialog.blp:544 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-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f mil." #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f tis." #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d staĹženĂ­ za poslednĂ­ měsĂ­c" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+ prostředĂ­ %s" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "StĂĄhnout" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Informace o velikosti nejsou k dispozici" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "StahovanĂĄ velikost %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "LibovolnĂ˝ věk" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "HodnocenĂ­ věku nenĂ­ k dispozici" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "VhodnĂŠ pro vĹĄechny věkovĂŠ skupiny" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "VhodnĂŠ pro věk %d a vĂ­ce" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "NeznĂĄmĂŠ" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "SvobodnĂ˝ software licencovanĂ˝ pod %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "SvobodnĂ˝ software" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "UzavřenĂ˝ software" #: src/bz-context-tile-callbacks.c:264 #, 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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "SvobodnĂŠ" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "UzavřenĂŠ" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "ZvlĂĄĹĄtnĂ­ licence" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "AdaptivnĂ­" #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Pouze pro PC" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Funguje na PC, tabletech a telefonech" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "MoĹžnĂĄ nefunguje na mobilnĂ­ch zařízenĂ­ch" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "BezpečnĂŠ" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "NĂ­zkĂŠ riziko" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "StřednĂ­ riziko" #: src/bz-context-tile-callbacks.c:408 msgid "High Risk" msgstr "VysokĂŠ riziko" #: 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 "PrĂĄzdnĂŠ" #: src/bz-curated-view.blp:28 msgid "No Curation" msgstr "ŽådnĂŠ vybranĂŠ aplikace" #: src/bz-curated-view.blp:30 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:34 msgid "Browse Flathub" msgstr "ProchĂĄzet Flathub" #: src/bz-curated-view.blp:47 src/bz-curated-view.blp:51 msgid "Offline" msgstr "Off-line" #. 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 "ProhlĂ­Ĺžeč" #: 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:227 #, 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:243 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-error.c:69 src/bz-error.c:88 #: src/bz-safety-dialog.blp:98 msgid "Details" msgstr "Podrobnosti" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "KopĂ­rovat" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:452 #: 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-favorites-page.blp:56 #: 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:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "NačítĂĄnĂ­" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "ŽådnĂŠ oblĂ­benĂŠ aplikace" #: src/bz-favorites-page.blp:50 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:437 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:109 #: src/bz-flathub-page.blp:141 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:115 #: src/bz-flathub-page.blp:174 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:163 msgid "Recently Added" msgstr "NedĂĄvno přidanĂŠ" #: src/bz-flathub-category.c:146 src/bz-flathub-page.blp:121 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:152 msgid "Recently Updated" msgstr "NedĂĄvno aktualizovanĂŠ" #: src/bz-flathub-category.c:147 src/bz-flathub-page.blp:127 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:419 msgid "Games" msgstr "Hry" #: src/bz-flathub-category.c:151 src/bz-flathub-page.blp:479 msgid "More Games" msgstr "VĂ­ce z Her" #: src/bz-flathub-category.c:152 src/bz-flathub-page.blp:425 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:431 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:23 msgid "Flathub Not Added" msgstr "Flathub nebyl přidĂĄn" #: src/bz-flathub-page.blp:24 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:30 msgid "Flathub Unavailable" msgstr "Flathub nenĂ­ k dispozici" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Nelze se připojit k Flathubu" #: src/bz-flathub-page.blp:35 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:41 msgid "Search Apps" msgstr "Hledat aplikace" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Znovu připojit" #: src/bz-flathub-page.blp:202 msgid "App of the Day" msgstr "Aplikace dne" #: src/bz-flathub-page.blp:265 msgid "On the Go" msgstr "Na cestĂĄch" #: src/bz-flathub-page.blp:277 msgid "Apps for your Linux phones and tablets" msgstr "Aplikace pro vaĹĄe linuxovĂŠ telefony a tablety" #: src/bz-flathub-page.blp:288 src/bz-flathub-page.blp:323 msgid "More Mobile Apps" msgstr "VĂ­ce z MobilnĂ­ch aplikacĂ­" #: src/bz-flathub-page.blp:381 msgid "We​ ♥​ Games" msgstr "MĂĄme ♥​ hry" #: src/bz-flathub-page.blp:394 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:34 src/bz-library-page.blp:40 #: src/bz-library-page.blp:44 msgid "No Results" msgstr "ŽådnĂŠ vĂ˝sledky" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Zkuste jinĂ˝ dotaz" #: src/bz-full-view.blp:47 msgid "Content" msgstr "Obsah" #: src/bz-full-view.blp:106 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:109 msgid "Preview Store Appearance" msgstr "NĂĄhled vzhledu obchodu" #: src/bz-full-view.blp:236 msgid "_Support" msgstr "_Podpořit" #: 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 "" "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:539 msgid "Trash Data" msgstr "Vymazat data" #: src/bz-full-view.blp:602 msgid "Add-ons" msgstr "Doplňky" #: src/bz-full-view.blp:637 msgid "More Add-Ons" msgstr "VĂ­ce doplňkĹŻ" #: src/bz-full-view.blp:648 msgid "Links" msgstr "Odkazy" #: 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:317 #, 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:319 msgid "Other Apps" msgstr "DalĹĄĂ­ aplikace" #: src/bz-full-view.c:321 #, 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:506 src/bz-user-data-tile.c:144 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-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:33 msgid "No Apps Found" msgstr "Nenalezeny ŞådnĂŠ aplikace" #: src/bz-library-page.blp:52 msgid "Search Store Instead" msgstr "Hledat v obchodě" #. Translators: . #: src/bz-library-page.blp:62 src/bz-window.blp:114 msgid "Library" msgstr "Knihovna" #: src/bz-library-page.blp:91 msgid "Pending Updates" msgstr "ČekajĂ­cĂ­ aktualizace" #: src/bz-library-page.blp:118 msgid "Downloads" msgstr "StaĹženĂ­" #: src/bz-library-page.blp:161 msgid "Recently Uninstalled" msgstr "NedĂĄvno odinstalovanĂŠ" #: src/bz-library-page.blp:212 msgid "Clear Finished Tasks" msgstr "Vymazat dokončenĂŠ Ăşlohy" #: src/bz-library-page.blp:239 msgid "Sort Options" msgstr "MoĹžnosti řazenĂ­" #: src/bz-library-page.blp:298 msgid "Sort By" msgstr "Řadit podle" #: src/bz-library-page.blp:312 msgid "Name" msgstr "NĂĄzev" #: src/bz-library-page.blp:318 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:773 msgid "No applications found" msgstr "Nenalezeny ŞådnĂŠ aplikace" #: src/bz-library-page.c:629 src/bz-search-page.c:773 #, 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: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:84 msgid "Select Metainfo File" msgstr "Vyberte soubor metainfo" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Soubory metainfo" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Vyberte ikonu (volitelnĂŠ)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Soubory obrĂĄzkĹŻ" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "NĂĄhled" #: 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 "Content Filters" msgstr "Filtry obsahu" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Pouze svobodnĂ˝ software" #: src/bz-preferences-dialog.blp:35 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:39 msgid "Flathub Results Only" msgstr "Pouze vĂ˝sledky z Flathubu" #: src/bz-preferences-dialog.blp:40 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:44 msgid "Verified Results Only" msgstr "Pouze ověřenĂŠ vĂ˝sledky" #: src/bz-preferences-dialog.blp:45 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:49 msgid "Hide End-of-Life Apps" msgstr "SkrĂ˝t zastaralĂŠ aplikace" #: src/bz-preferences-dialog.blp:50 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:55 msgid "Progress Bar Theme" msgstr "Motiv ukazatele postupu" #: src/bz-preferences-dialog.c:32 msgid "Accent Color" msgstr "BarevnĂ˝ odstĂ­n" #: src/bz-preferences-dialog.c:33 msgid "Pride Colors" msgstr "Barvy hrdosti" #: src/bz-preferences-dialog.c:34 msgid "Lesbian Pride Colors" msgstr "Barvy lesbickĂŠ hrdosti" #: src/bz-preferences-dialog.c:35 msgid "Male Homosexual Pride Colors" msgstr "Barvy muĹžskĂŠ homosexuĂĄlnĂ­ hrdosti" #: src/bz-preferences-dialog.c:36 msgid "Transgender Pride Colors" msgstr "Barvy transgender hrdosti" #: src/bz-preferences-dialog.c:37 msgid "Nonbinary Pride Colors" msgstr "Barvy nebinĂĄrnĂ­ hrdosti" #: src/bz-preferences-dialog.c:38 msgid "Bisexual Pride Colors" msgstr "Barvy bisexuĂĄlnĂ­ hrdosti" #: src/bz-preferences-dialog.c:39 msgid "Asexual Pride Colors" msgstr "Barvy asexuĂĄlnĂ­ hrdosti" #: src/bz-preferences-dialog.c:40 msgid "Pansexual Pride Colors" msgstr "Barvy pansexuĂĄlnĂ­ hrdosti" #: src/bz-preferences-dialog.c:41 msgid "Aromantic Pride Colors" msgstr "Barvy aromatickĂŠ hrdosti" #: src/bz-preferences-dialog.c:42 msgid "Genderfluid Pride Colors" msgstr "Barvy genderfluidnĂ­ hrdosti" #: src/bz-preferences-dialog.c:43 msgid "Polysexual Pride Colors" msgstr "Barvy polysexuĂĄlnĂ­ hrdosti" #: src/bz-preferences-dialog.c:44 msgid "Omnisexual Pride Colors" msgstr "Barvy omnisexuĂĄlnĂ­ hrdosti" #: src/bz-preferences-dialog.c:45 msgid "Aroace Pride Colors" msgstr "Barvy aroace hrdosti" #: src/bz-preferences-dialog.c:46 msgid "Agender Pride Colors" msgstr "Barvy agenderovĂŠ hrdosti" #: src/bz-preferences-dialog.c:47 msgid "Genderqueer Pride Colors" msgstr "Barvy genderqueer hrdosti" #: src/bz-preferences-dialog.c:48 msgid "Intersex Pride Colors" msgstr "Barvy intersexuĂĄlnĂ­ hrdosti" #: src/bz-preferences-dialog.c:49 msgid "Demigender Pride Colors" msgstr "Barvy demigenderovĂŠ hrdosti" #: src/bz-preferences-dialog.c:50 msgid "Biromantic Pride Colors" msgstr "Barvy biromantickĂŠ hrdosti" #: src/bz-preferences-dialog.c:51 msgid "Disability Pride Colors" msgstr "Barvy hrdosti invalidĹŻ" #: src/bz-preferences-dialog.c:52 msgid "Femboy Pride Colors" msgstr "Barvy hrdosti femboyĹŻ" #: src/bz-preferences-dialog.c:53 msgid "Neutrois Pride Colors" msgstr "Barvy neutrois hrdosti" #: 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-calculator.c:87 msgid "Unknown Permissions" msgstr "NeznĂĄmĂĄ oprĂĄvněnĂ­" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Pro tuto aplikaci chybĂ­ oprĂĄvněnĂ­." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "ŽådnĂĄ oprĂĄvněnĂ­" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Aplikace je v plně izolovanĂŠm prostředĂ­" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Přístup k sĂ­ti" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "MĹŻĹže přistupovat k internetu" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "ŽådnĂ˝ přístup k sĂ­ti" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "NemĹŻĹže přistupovat k internetu" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Přístup k uĹživatelskĂ˝m zařízenĂ­m" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "ŽådnĂ˝ přístup k uĹživatelskĂ˝m zařízenĂ­m" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Přístup ke vstupnĂ­m zařízenĂ­m" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "MĹŻĹže přistupovat ke vstupnĂ­m zařízenĂ­m" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Přístup k mikrofonu a přehrĂĄvĂĄnĂ­ zvuku" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Přístup k systĂŠmovĂ˝m zařízenĂ­m" #: src/bz-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/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Přístup k obsahu obrazovky" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "ZastaralĂ˝ zobrazovacĂ­ systĂŠm" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "VĹždy pouŞívĂĄ starĂ˝ zobrazovacĂ­ systĂŠm (X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "LibovolnĂĄ oprĂĄvněnĂ­" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "MĹŻĹže zĂ­skat libovolnĂĄ oprĂĄvněnĂ­" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "NastavenĂ­ uĹživatele" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "MĹŻĹže zobrazovat a měnit uĹživatelskĂĄ nastavenĂ­" #: src/bz-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/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Přístup k domovskĂŠ sloĹžce pro čtenĂ­/zĂĄpis" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "PlnĂ˝ přístup k souborovĂŠmu systĂŠmu pro čtenĂ­" #: src/bz-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/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Přístup k domovskĂŠ sloĹžce pro čtenĂ­" #: src/bz-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/bz-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/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Přístup ke sloĹžce se staĹženĂ˝mi soubory pro čtenĂ­" #: src/bz-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/bz-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/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "MĹŻĹže číst vĹĄechna data ve sloĹžce" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "ŽådnĂ˝ přístup k souborovĂŠmu systĂŠmu" #: src/bz-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/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "VyuŞívĂĄ sluĹžby systĂŠmu" #: src/bz-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/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "VyuŞívĂĄ sluĹžby sezenĂ­" #: src/bz-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/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "ŽådnĂ˝ přístup ke sluĹžbĂĄm" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "OvěřenĂ˝ vĂ˝vojář aplikace" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "UzavřenĂ˝ kĂłd" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "OtevřenĂ˝ kĂłd" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "PouŞít sluĹžbu systĂŠmu %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "PouŞít sluĹžbu sezenĂ­ %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "PouŞít sluĹžbu %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "MĹŻĹže vidět sluĹžbu mimo portĂĄl" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "MĹŻĹže komunikovat se sluĹžbou mimo portĂĄl" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "MĹŻĹže vlastnit sluĹžbu mimo portĂĄl" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Integrace globĂĄlnĂ­ nabĂ­dky" #: src/bz-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/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Integrace nastavenĂ­ KDE" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "MĹŻĹže detekovat změnu nastavenĂ­ plochy KDE" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "GlobĂĄlnĂ­ nastavenĂ­ KDE" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "ÚloĹžiĹĄtě sluĹžby utajenĂ­" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "SluĹžba upozorněnĂ­ plochy" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "MĹŻĹže zasĂ­lat upozorněnĂ­ plochy" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Integrace do oznamovacĂ­ oblasti systĂŠmu" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "MĹŻĹže zobrazit ikonu v systĂŠmovĂŠ oznamovacĂ­ oblasti" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Integrace KDE Connect" #: src/bz-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/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Ă­" #: 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-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: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" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "ČasovĂĄ osa" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Počet instalacĂ­:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Svět" #: src/bz-stats-dialog.blp:69 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:312 msgid "Cancel Transaction" msgstr "ZruĹĄit transakci" #: src/bz-transaction-tile.blp:322 msgid "Show Details" msgstr "Zobrazit podrobnosti" #: src/bz-transaction-tile.blp:437 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:33 msgid "No User Data Found" msgstr "Nenalezena ŞådnĂĄ uĹživatelskĂĄ data" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "UĹživatelskĂĄ data" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Vymazat uĹživatelskĂĄ data" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "UĹživatelskĂĄ data aplikace %s byla vymazĂĄna" #: 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" #: 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:610 src/bz-window.c:648 msgid "Failed to launch application" msgstr "Aplikaci se nezdařilo spustit" #: src/bz-window.c:862 msgid "You can't remove Bazaar from Bazaar!" msgstr "Bazaar nelze odstranit z Bazaaru!" #: src/bz-window.c:1168 src/bz-window.c:1202 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/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" �����������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/po/de.po������������������������������������������������������������������0000664�0000000�0000000�00000274626�15223463552�0016744�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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:392 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d Downloads im letzten Monat" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s Laufzeitumgebung" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Download" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Information Ăźber Größe nicht verfĂźgbar" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Downloadgröße von %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Alle Altersgruppen" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Geeignet fĂźr alle Altersgruppen" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:284 msgid "Unknown" msgstr "Unbekannt" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Freie Software lizenziert unter %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Freie Software" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Proprietäre Software" #: src/bz-context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Besondere Lizenz: %s" #: src/bz-context-tile-callbacks.c:281 msgid "Free" msgstr "Frei" #: src/bz-context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Proprietär" #: src/bz-context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Besondere Lizenz" #: src/bz-context-tile-callbacks.c:309 msgid "Adaptive" msgstr "Adaptiv" #: src/bz-context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Nur Desktop" #: src/bz-context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "Funktioniert auf Desktops, Tablets und Smartphones" #: src/bz-context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "" #: src/bz-context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "Sicher" #: src/bz-context-tile-callbacks.c:401 src/bz-context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Geringes Risiko" #: src/bz-context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Mittleres Risiko" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Unbekannte Berechtigungen" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "" #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Keine Berechtigungen" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "App ist vollständig isoliert" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Netzwerk-Zugriff" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Hat Zugriff auf das Internet" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Kein Netzwerk-Zugriff" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Hat keinen Zugriff auf das Internet" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "" #: src/bz-safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" #: src/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "" #: src/bz-safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" #: src/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "" #: src/bz-safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" #: src/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "" #: src/bz-safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" #: src/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "" #: src/bz-safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "" #: src/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "" #: src/bz-safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "WillkĂźrliche Berechtigungen" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Benutzereinstellungen" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "" #: src/bz-safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "" #: src/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "" #: src/bz-safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "" #: src/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "" #: src/bz-safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "" #: src/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "" #: src/bz-safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "" #: src/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Kein Dateisystemzugriff" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "" #: src/bz-safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" #: src/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Verifizierter App-Entwickler" #: src/bz-safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "" #: src/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Proprietärer Code" #: src/bz-safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" #: src/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Auditierbarer Code" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "" #: src/bz-safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "" #: src/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "" #: src/bz-safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" #: src/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect-Integration" #: src/bz-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-85ae777/po/el.po������������������������������������������������������������������0000664�0000000�0000000�00000175567�15223463552�0016760�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/bz-error.c:68 msgid "An Error Occurred" msgstr "Παρουσιάστηκε σφάλμα" #: src/bz-error.c:89 msgid "Close" msgstr "Κλείσιμο" #: src/bz-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-85ae777/po/es.po������������������������������������������������������������������0000664�0000000�0000000�00000266520�15223463552�0016755�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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f M" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f K" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d descargas en el Ăşltimo mes" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s entorno de ejecuciĂłn" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Descargar" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "InformaciĂłn de tamaĂąo no disponible" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "TamaĂąo de la descarga de %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Para todas las edades" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "InformaciĂłn de clasificaciĂłn por edades no disponible" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Apto para todas las edades" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Apto para mayores de %d" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "Desconocido" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Software libre licenciado bajo %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Software libre" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Software propietario" #: src/bz-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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "Software libre" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Propietario" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Licencia especial" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Adaptativo" #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Solo para escritorio" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Funciona en escritorios, tabletas y telĂŠfonos" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "PodrĂ­a no funcionar en dispositivos mĂłviles" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Seguro" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Riesgo bajo" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Riesgo medio" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Permisos desconocidos" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Faltan los permisos para esta aplicaciĂłn." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Sin permisos" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "La aplicaciĂłn estĂĄ completamente aislada en un entorno protegido" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Acceso a la red" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Puede acceder a internet" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Sin acceso a la red" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "No puede acceder a internet" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Acceso a dispositivos de usuario" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Sin acceso a dispositivos de usuario" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Acceso a dispositivos de entrada" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Puede acceder a dispositivos de entrada" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Acceso al micrĂłfono y reproducciĂłn de sonido" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Acceso a dispositivos del sistema" #: src/bz-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/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Acceso al contenido de la pantalla" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Sistema de ventanas heredado" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Siempre usa un sistema de ventanas heredado (X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Permisos arbitrarios" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Puede adquirir permisos arbitrarios" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Ajustes de usuario" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Puede acceder y cambiar los ajustes de usuario" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Acceso completo de lectura/escritura al sistema de archivos" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Acceso de lectura/escritura a la carpeta personal" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Acceso completo de lectura al sistema de archivos" #: src/bz-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/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Acceso de lectura a la carpeta personal" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Puede leer todos los datos en su directorio personal" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Acceso de lectura/escritura a la carpeta de descargas" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Acceso de lectura a la carpeta de descargas" #: src/bz-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/bz-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/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Puede leer todos los datos en el directorio" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Sin acceso al sistema de archivos" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "No puede acceder al sistema de archivos en absoluto" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Usa servicios del sistema" #: src/bz-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/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Usa servicios de sesiĂłn" #: src/bz-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/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Sin acceso a servicios" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Desarrollador de aplicaciones verificado" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "CĂłdigo propietario" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "CĂłdigo auditable" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Usa el servicio del sistema %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Usa el servicio de sesiĂłn %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Usa el servicio %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Puede ver el servicio que no es portal" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Puede comunicarse con el servicio que no es portal" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Puede poseer el servicio que no es portal" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "IntegraciĂłn con el menĂş global" #: src/bz-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/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "IntegraciĂłn con los ajustes de KDE" #: src/bz-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/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Ajustes globales de KDE" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Servicio de almacenamiento secreto" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Servicio de notificaciones del escritorio" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Puede enviar notificaciones del escritorio" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "IntegraciĂłn con la bandeja del sistema" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Puede mostrar un icono en la bandeja del sistema" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "IntegraciĂłn con KDE Connect" #: src/bz-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-85ae777/po/eu.po������������������������������������������������������������������0000664�0000000�0000000�00000262467�15223463552�0016765�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-06-09 00:56+0200\n" "PO-Revision-Date: 2026-06-09 00:59+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: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 "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 manage applications" msgstr "Deskubritu eta kudeatu 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 addons, 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:762 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:141 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: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 "Instalatu" #: 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 "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:202 src/bz-full-view.blp:410 msgid "Downloads/Month" msgstr "Deskarga hileko" #: src/bz-addons-dialog.blp:229 src/bz-full-view.blp:446 msgid "Stopped Receiving Core Updates" msgstr "Oinarrizko eguneratzeak jasotzari utzi dio" #: 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 "" "Gehigarri honek eguneratzerik edo segurtasun-konponketarik jasotzen ez duen " "exekuzio-ingurune bat darabil. Baliteke berau erabiltzea ez izatea segurua." #: src/bz-addons-dialog.c:333 #, c-format msgid "Add-on for %s" msgstr "%s(r)entzako gehigarria" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show Less" msgstr "Gutxiago erakutsi" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show More" msgstr "Gehiago erakutsi" #: src/bz-addons-dialog.c:397 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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Deskargaren tamaina" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Instalazioaren tamaina" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Internetetik deskargatu beharrekoaren tamaina" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Diskoan hartzen duen tamaina" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Ireki erabiltzaile-datuen karpeta" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Zure erabiltzaile-datuak" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Cachea, ezarpenak eta aplikazioaren bestelako datuak" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Cachea" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Aldi baterako cacheratutako datuak" #: src/bz-app-size-dialog.blp:176 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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:392 #: src/bz-context-tile-callbacks.c:409 msgid "N/A" msgstr "E/E" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "Aplikazioaren tamaina" #: 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 "Egiaztatua" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/bz-context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Instalatua" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:765 msgid "translator-credits" msgstr "Ibai Oihanguren Sala" #: src/bz-application.c:775 msgid "Special Thanks" msgstr "Eskerrak" #: src/bz-application.c:833 msgid "Logged Out Successfully!" msgstr "Behar bezala amaitu da saioa!" #: src/bz-application.c:969 msgid "Performing setup…" msgstr "Konfigurazioa osatzen…" #: src/bz-application.c:1055 msgid "Set Up System Flathub?" msgstr "Sistemako Flathub konfiguratu?" #: 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 "" "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:1065 msgid "Set Up Flathub?" msgstr "Flathub konfiguratu?" #: 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 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:1074 msgid "Later" msgstr "Geroago" #: src/bz-application.c:1075 msgid "Set Up Flathub" msgstr "Konfiguratu Flathub" #: src/bz-application.c:1431 msgid "A backend error occurred" msgstr "Backendeko errorea gertatu da" #: src/bz-application.c:1631 src/bz-application.c:3783 msgid "Refreshing…" msgstr "Berritzen…" #: src/bz-application.c:1795 src/bz-application.c:3781 #, c-format msgid "Loading %d apps…" msgstr "%d aplikazioak kargatzen…" #: src/bz-application.c:1848 msgid "Failed to open file" msgstr "Ezin izan da fitxategia ireki" #: src/bz-application.c:1946 msgid "An initialization error occurred" msgstr "Hasieratze-errore bat gertatu da" #: src/bz-application.c:2312 msgid "Checking for updates…" msgstr "Eguneratzeak bilatzen…" #: src/bz-application.c:2368 msgid "Failed to check for updates" msgstr "Ezin izan dira eguneratzeak bilatu" #: src/bz-application.c:3494 msgid "Malformed Link" msgstr "Gaizki eratutako esteka" #: 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 "" "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:3503 msgid "Could not find app" msgstr "Ez da aplikazioa aurkitu" #: src/bz-application.c:3534 msgid "Failed to load metainfo" msgstr "Ezin izan da meta informazioa kargatu" #: src/bz-application.c:3785 msgid "Writing to cache…" msgstr "Cachean idazten…" #: src/bz-apps-page.blp:99 msgid "Show All" msgstr "Erakutsi dena" #: src/bz-apps-page.c:237 #, c-format msgid "All \"%s\"" msgstr "\"%s\" aplikazio guztiak" #: src/bz-apps-page.c:487 #, c-format msgid "%d Applications" msgstr "%d aplikazio" #: 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:195 msgid "Additional dependencies may take extra space" msgstr "Menpekotasun gehigarriek leku gehiago har dezakete" #: 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 "" "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:406 msgid "Successfully Installed!" msgstr "Behar bezala instalatu da!" #: 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 "Ireki" #: src/bz-bundle-install-dialog.blp:440 src/bz-bundle-install-dialog.blp:523 msgid "Show App Details" msgstr "Erakutsi aplikazioaren xehetasunak" #: src/bz-bundle-install-dialog.blp:490 msgid "Already Installed" msgstr "Dagoeneko instalatua" #: src/bz-bundle-install-dialog.blp:535 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-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d deskarga azken hilean" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s exekuzio-ingurunea" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Deskargatzeko" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Ez dago tamainaren informaziorik" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "%sko deskarga tamaina" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Adin guztiak" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Ez dago adin balorazioaren informaziorik" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Egokia adin guztietakoentzat" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Egokia %d urtetik gorakoentzat" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:284 msgid "Unknown" msgstr "Ezezaguna" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Software librea %s lizentziapean" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Software librea" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Software pribatiboa" #: src/bz-context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Lizentzia berezia: %s" #: src/bz-context-tile-callbacks.c:281 msgid "Free" msgstr "Librea" #: src/bz-context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Pribatiboa" #: src/bz-context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Lizentzia berezia" #: src/bz-context-tile-callbacks.c:309 msgid "Adaptive" msgstr "Moldakorra" #: src/bz-context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Mahaigainerako soilik" #: src/bz-context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "Mahaigainean, tabletetan eta mugikorretan dabil" #: src/bz-context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "Baliteke gailu mugikorretan ez ibiltzea" #: src/bz-context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "Segurua" #: src/bz-context-tile-callbacks.c:401 src/bz-context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Arrisku txikia" #: src/bz-context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Arrisku ertaina" #: src/bz-context-tile-callbacks.c:407 msgid "High Risk" msgstr "Arrisku handia" #: 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 "Hutsik" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "Aukeraketarik gabe" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications on Flathub" msgstr "" "Ez dago aukeraketa informaziorik sistema honetan. Halere, Flathub-eko " "aplikazioak araka ditzakezu." #: src/bz-curated-view.blp:18 msgid "Browse Flathub" msgstr "Arakatu Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 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:39 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:232 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-error.c:69 src/bz-error.c:88 #: src/bz-safety-dialog.blp:46 msgid "Details" msgstr "Xehetasunak" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Kopiatu" #: src/bz-error-dialog.c:56 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:335 msgid "Favorites" msgstr "Gogokoak" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 msgid "Install All" msgstr "Instalatu dena" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 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:31 msgid "Previous" msgstr "Aurrekoa" #: src/bz-featured-carousel.blp:54 msgid "Next" msgstr "Hurrengoa" #: src/bz-flathub-category.c:93 msgid "Editing" msgstr "Edizioa" #: src/bz-flathub-category.c:94 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:95 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:96 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Musika" #: src/bz-flathub-category.c:97 msgid "Player" msgstr "Erreproduzitzailea" #: src/bz-flathub-category.c:98 msgid "Recorder" msgstr "Grabatzailea" #: src/bz-flathub-category.c:99 msgid "Sequencer" msgstr "Sekuentziadorea" #: src/bz-flathub-category.c:100 msgid "Tuner" msgstr "Afinagailua / Sintonizadorea" #: src/bz-flathub-category.c:101 msgid "TV" msgstr "TB" #: src/bz-flathub-category.c:106 msgid "Emulation" msgstr "Emulazioa" #: src/bz-flathub-category.c:107 msgid "Action" msgstr "Akzioa" #: src/bz-flathub-category.c:108 msgid "Adventure" msgstr "Abentura" #: src/bz-flathub-category.c:109 msgid "Arcade" msgstr "Arkade" #: src/bz-flathub-category.c:110 msgid "Blocks" msgstr "Blokeak" #: src/bz-flathub-category.c:111 msgid "Board" msgstr "Mahai-jokoa" #: src/bz-flathub-category.c:112 msgid "Card" msgstr "Kartak" #: src/bz-flathub-category.c:113 msgid "Kids" msgstr "Haurrak" #: src/bz-flathub-category.c:114 msgid "Logic" msgstr "Logika" #: src/bz-flathub-category.c:115 msgid "Role Playing" msgstr "Rol jokoa" #: src/bz-flathub-category.c:116 msgid "Shooter" msgstr "Tiroak" #: src/bz-flathub-category.c:117 msgid "Simulation" msgstr "Simulazioa" #: src/bz-flathub-category.c:118 msgid "Sports" msgstr "Kirolak" #: src/bz-flathub-category.c:119 msgid "Strategy" msgstr "Estrategia" #: src/bz-flathub-category.c:124 msgid "Browsers" msgstr "Nabigatzaileak" #: src/bz-flathub-category.c:125 msgid "Chat" msgstr "Txata" #: src/bz-flathub-category.c:126 msgid "Mail" msgstr "Posta" #: src/bz-flathub-category.c:127 msgid "File Sharing" msgstr "Fitxategiak partekatzea" #: src/bz-flathub-category.c:132 msgid "Audio & Video" msgstr "Audioa eta bideoa" #: src/bz-flathub-category.c:132 msgid "Media" msgstr "Multimedia" #: src/bz-flathub-category.c:132 msgid "More Audio & Video" msgstr "Audio / bideo aplikazio gehiago" #: src/bz-flathub-category.c:133 msgid "Developer Tools" msgstr "Garapen tresnak" #: src/bz-flathub-category.c:133 msgid "Develop" msgstr "Garapena" #: src/bz-flathub-category.c:133 msgid "More Developer Tools" msgstr "Garapen tresna gehiago" #: src/bz-flathub-category.c:134 msgid "Education" msgstr "Hezkuntza" #: src/bz-flathub-category.c:134 msgid "Learn" msgstr "Ikasi" #: src/bz-flathub-category.c:134 msgid "More Education" msgstr "Hezkuntza aplikazio gehiago" #: src/bz-flathub-category.c:135 msgid "Gaming" msgstr "Jokoak" #: src/bz-flathub-category.c:135 msgid "Play" msgstr "Jolastu" #: src/bz-flathub-category.c:135 msgid "More Gaming" msgstr "Joko gehiago" #: src/bz-flathub-category.c:136 msgid "Graphics & Photography" msgstr "Grafikoak eta argazkigintza" #: src/bz-flathub-category.c:136 msgid "Create" msgstr "Sortu" #: src/bz-flathub-category.c:136 msgid "More Graphics & Photography" msgstr "Grafiko / argazkigintzako aplikazio gehiago" #: src/bz-flathub-category.c:137 msgid "Networking" msgstr "Sareak" #: src/bz-flathub-category.c:137 msgid "Internet" msgstr "Internet" #: src/bz-flathub-category.c:137 msgid "More Networking" msgstr "Sareko aplikazio gehiago" #: src/bz-flathub-category.c:138 msgid "Productivity" msgstr "Produktibitatea" #: src/bz-flathub-category.c:138 msgid "Work" msgstr "Lana" #: src/bz-flathub-category.c:138 msgid "More Productivity" msgstr "Produktibitate aplikazio gehiago" #: src/bz-flathub-category.c:139 msgid "Science" msgstr "Zientzia" #: src/bz-flathub-category.c:139 msgid "More Science" msgstr "Zientzia aplikazio gehiago" #: src/bz-flathub-category.c:140 msgid "System" msgstr "Sistema" #: src/bz-flathub-category.c:140 msgid "More System" msgstr "Sistema aplikazio gehiago" #: src/bz-flathub-category.c:141 msgid "Utilities" msgstr "Tresnak" #: src/bz-flathub-category.c:141 msgid "Tools" msgstr "Tresnak" #: src/bz-flathub-category.c:141 msgid "More Utilities" msgstr "Tresna gehiago" #: src/bz-flathub-category.c:142 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Pil-pilean" #: src/bz-flathub-category.c:142 msgid "More Trending" msgstr "Pil-pilean dauden aplikazio gehiago" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:171 msgid "Popular" msgstr "Ezagunak" #: src/bz-flathub-category.c:143 msgid "More Popular" msgstr "Aplikazio ezagun gehiago" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:161 msgid "Recently Added" msgstr "Azkena gehituak" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:121 msgid "New" msgstr "Berriak" #: src/bz-flathub-category.c:144 msgid "More New" msgstr "Aplikazio berri gehiago" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:151 msgid "Recently Updated" msgstr "Berriki eguneratuak" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Eguneratuak" #: src/bz-flathub-category.c:145 msgid "More Updated" msgstr "Eguneratutako aplikazio gehiago" #: src/bz-flathub-category.c:146 msgid "Mobile" msgstr "Mugikorrerako" #: src/bz-flathub-category.c:146 msgid "More Mobile" msgstr "Mugikorrerako aplikazio gehiago" #: src/bz-flathub-category.c:147 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:147 msgid "More Adwaita" msgstr "Adwaita aplikazio gehiago" #: src/bz-flathub-category.c:148 msgid "KDE Apps" msgstr "KDE aplikazioak" #: src/bz-flathub-category.c:148 msgid "More KDE Apps" msgstr "KDE aplikazio 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 applications." 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:198 msgid "App of the Day" msgstr "Eguneko aplikazioa" #: src/bz-flathub-page.blp:261 msgid "On the Go" msgstr "Aldean" #: src/bz-flathub-page.blp:273 msgid "Apps for your Linux phones and tablets" msgstr "Linux mugikor eta tabletentzako aplikazioak" #: src/bz-flathub-page.blp:284 src/bz-flathub-page.blp:319 msgid "More Mobile Apps" msgstr "Aplikazio mugikor gehiago" #: src/bz-flathub-page.blp:375 msgid "We​ ♥​ Games" msgstr "Guk ere ♥​ ditugu jokoak" #: src/bz-flathub-page.blp:388 msgid "Games and apps to run your favorite titles" msgstr "Gogokoen dituzun jokoak eta hauentzako aplikazioak" #: src/bz-flathub-page.blp:422 msgid "More Games" msgstr "Joko gehiago" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 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:41 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:235 msgid "_Support" msgstr "_Babestu" #: 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 "" "Aplikazio honek eguneratzerik edo segurtasun-konponketarik jasotzen ez duen " "exekuzio-ingurune bat darabil. Baliteke berau erabiltzea ez izatea segurua." #: src/bz-full-view.blp:544 msgid "Trash Data" msgstr "Bota datuak zakarrontzira" #: src/bz-full-view.blp:606 msgid "Add-ons" msgstr "Gehigarriak" #: src/bz-full-view.blp:641 msgid "More Add-Ons" msgstr "Gehigarri gehiago" #: src/bz-full-view.blp:652 msgid "Links" msgstr "Estekak" #: src/bz-full-view.c:181 msgid "No URL" msgstr "URLrik ez" #: src/bz-full-view.c:199 msgid "" "This application 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 application 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:317 #, 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:319 msgid "Other Apps" msgstr "Bestelako aplikazioak" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "Aplikazio %d" msgstr[1] "%d aplikazio" #: src/bz-full-view.c:537 src/bz-user-data-tile.c:144 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-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:164 #: src/bz-updates-card.c:183 msgid "Update" msgstr "Eguneratu" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:105 msgid "Remove" msgstr "Kendu" #: 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-library-page.blp:32 msgid "Search installed apps" msgstr "Bilatu instalatutako aplikazioak" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Garbitu bilaketa" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Ez da aplikaziorik aurkitu" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "Bilatu biltegian" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:113 msgid "Library" msgstr "Liburutegia" #: src/bz-library-page.blp:128 msgid "Pending Updates" msgstr "Zain dauden eguneratzeak" #: src/bz-library-page.blp:155 msgid "Downloads" msgstr "Deskargak" #: src/bz-library-page.blp:198 msgid "Recently Uninstalled" msgstr "Berriki desinstalatuak" #: src/bz-library-page.blp:249 msgid "Clear Finished Tasks" msgstr "Garbitu amaitutako atazak" #: src/bz-library-page.blp:334 msgid "Sort By" msgstr "Ordenatu honela" #: src/bz-library-page.blp:348 msgid "Name" msgstr "Izena" #: src/bz-library-page.blp:354 msgid "Size" msgstr "Tamaina" #: src/bz-library-page.c:180 #, 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:193 src/bz-updates-card.c:433 #, 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:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "Aplikazio %u instalatuta" msgstr[1] "%u aplikazio instalatuta" #: src/bz-license-dialog.blp:94 msgid "Get Involved" msgstr "Hartu parte" #: src/bz-license-dialog.blp:111 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: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:49 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:235 msgid "Refresh Manually" msgstr "Berritu eskuz" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Eduki iragazkiak" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Software librea soilik" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "Ezkutatu aplikazio pribatiboak nabigatzean eta bilatzean" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Flathub-eko emaitzak soilik" #: src/bz-preferences-dialog.blp:40 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "" "Mugatu bilaketa eta nabigazioko emaitzak Flathub-en erabilgarri dauden " "aplikazioetara" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "Egiaztatutako emaitzak soilik" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Ezkutatu Flathub-ek egiaztatu gabeko emaitzak" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Ezkutatu bizirik ez dauden aplikazioak" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "Ezkutatu garatzaileek mantentzen ez dituzten aplikazioak" #: src/bz-preferences-dialog.blp:55 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:155 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:263 msgid "Get More Information" msgstr "Eskuratu informazio gehiago" #: src/bz-rich-app-tile.blp:217 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:369 msgid "Get" msgstr "Eskuratu" #: src/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Baimen ezezagunak" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Aplikazio honen baimenak ezezagunak dira." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Baimenik ez" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Aplikazioa guztiz isolatua dago" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Sarera sarbidea" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Internetera sarbidea dauka" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Sarera sarbiderik ez" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Ez dauka Internetera sarbiderik" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Erabiltzailearen gailuetara sarbidea" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Erabiltzailearen gailuetara sarbiderik ez" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Sarrerako gailuetara sarbidea" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Sarrerako gailuetara sarbidea dauka" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Mikrofonora eta audio erreprodukziora sarbidea" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Sistemako gailuetara sarbidea" #: src/bz-safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "Goragoko baimenak behar dituzten sistemako gailuetara sarbidea dauka" #: src/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Pantailako edukietara sarbidea" #: src/bz-safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Pantailako edo beste leihoetako edukia ikus dezake" #: src/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Leiho-sistema legatua" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Leiho-sistema legatua (X11) darabil beti" #: src/bz-safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Baimen arbitrarioak" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Baimen arbitrarioak eskura ditzake" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Erabiltza ezarpenak" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Erabiltzaile ezarpenak atzitu eta alda ditzake" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Fitxategi-sistema osoan irakurri/idazteko sarbidea" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Karpeta nagusian irakurri/idazteko sarbidea" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Fitxategi-sistema osoa irakurtzeko sarbidea" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Fitxategi-sistemako datu guztiak irakur ditzake" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Karpeta nagusian irakurtzeko sarbidea" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Karpeta nagusiko datu guztiak irakur ditzake" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Deskarga karpetan irakurri/idazteko sarbidea" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Deskarga karpeta irakurtzeko sarbidea" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Deskarga karpetako datu guztiak irakur ditzake" #: src/bz-safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Direktorioko datu guztiak irakurri eta idatz ditzake" #: src/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Direktorioko datu guztiak irakur ditzake" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Fitxategi-sistemara sarbiderik ez" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Ezin du fitxategi-sistema inola ere atzitu" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Sistemako zerbitzuak darabiltza" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Sistemako zerbitzu zuzenei datuak eska diezazkieke" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Saioko zerbitzuak darabiltza" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Saioko zerbitzu zuzenei datuak eska diezazkieke" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Ez du zerbitzuetara sarbiderik" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Aplikazio garatzaile egiaztatua" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Kode pribatiboa" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Kode auditagarria" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "%s sistemako zerbitzuaren erabilera" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "%s saioko zerbitzuaren erabilera" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "%s zerbitzuaren erabilera" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Zuzeneko zerbitzua ikus dezake" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Zuzeneko zerbitzuarekin hitz egin dezake" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Zuzeneko zerbitzua beregana dezake" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Menu orokorrarekin integrazioa" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Bere menuak menu orokorraren barran erakuts ditzake" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDEren ezarpenekin integrazioa" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "KDE mahaigaineko ezarpenen aldaketak antzeman ditzake" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "KDEren ezarpen orokorrak" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Biltegiratze sekretuaren zerbitzua" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Mahaigaineko jakinarazpenen zerbitzua" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Mahaigaineko jakinarazpenak bidal ditzake" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Sistemako erretiluarekin integrazioa" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Sistemako erretiluan ikono bat erakuts dezake" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect-ekin integrazioa" #: src/bz-safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "KDE Connect bidez parekatutako gailuekin interaktua dezake" #: src/bz-safety-dialog.blp:60 msgid "App ID" msgstr "Aplikazioaren IDa" #: 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 "" "Aplikazio honek software plataformaren (SDK) bertsio zaharkitua darabil, eta " "baliteke konpondu gabeko akatsak edo segurtasun-zaurgarritasunak izatea." #: src/bz-safety-dialog.c:167 msgid "Safety" msgstr "Segurtasuna" #: src/bz-safety-dialog.c:226 #, c-format msgid "%s is Safe" msgstr "%s segurua da" #: src/bz-safety-dialog.c:231 #, c-format msgid "%s has no Unsafe Permissions" msgstr "%s(e)k ez dauka baimen ez segururik" #: src/bz-safety-dialog.c:236 #, c-format msgid "%s is Probably Safe" msgstr "%s segurua da, segur aski" #: src/bz-safety-dialog.c:241 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s beharbada segurua da" #: src/bz-safety-dialog.c:246 #, c-format msgid "%s is Unsafe" msgstr "%s ez da segurua" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Pantaila-argazkiak" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "Aurreko pantaila-argazkia" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "Hurrengo pantaila-argazkia" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Kopiatu irudia" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "Berrezarri ikuspegia" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "Urrundu" #: src/bz-screenshot-page.blp:171 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-search-filter-popover.blp:18 src/bz-search-page.blp:83 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:58 msgid "Search Apps, Games, Software" msgstr "Bilatu aplikazioak, jokoak, softwarea" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Bilaketa iragazkiak" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Garbitu bilaketa" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "Arakatu kategoriak" #: src/bz-search-page.blp:242 msgid "Categories Unavailable" msgstr "Kategoriarik ez erabilgarri" #: src/bz-search-page.blp:243 msgid "Search for apps using the search bar above." msgstr "Bilatu aplikazioak goiko bilaketa-barra erabiliz." #: src/bz-search-page.blp:360 msgid "No Applications Found" msgstr "Ez da aplikaziorik aurkitu" #: src/bz-search-page.c:247 #, 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-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:436 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:211 #, 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:33 msgid "No User Data Found" msgstr "Ez da erabiltzaile-daturik aurkitu" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "Erabiltzaile-datuak" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Bota erabiltzaile-datuak zakarrontzira" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "%s(r)en erabiltzaile-datuak zakarrontzira bota dira" #: src/bz-window.blp:71 msgid "Refreshing" msgstr "Berritzen" #: src/bz-window.blp:89 msgid "Curated" msgstr "Aukeratua" #: src/bz-window.blp:101 msgid "Explore" msgstr "Arakatu" #: src/bz-window.blp:128 msgid "Search" msgstr "Bilaketa" #: src/bz-window.blp:215 msgid "Main Menu" msgstr "Menu nagusia" #: src/bz-window.blp:226 msgid "You are running a new version of Bazaar!" msgstr "Bazaarren bertsio berria ari zara erabiltzen!" #: src/bz-window.blp:227 msgid "See What's New" msgstr "Ikusi berritasunak" #: src/bz-window.blp:234 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:279 msgid "_Donate to Bazaar" msgstr "_Lagundu Bazaar diruz" #: src/bz-window.blp:285 msgid "_Refresh" msgstr "_Berritu" #: src/bz-window.blp:289 msgid "_Login With Flathub" msgstr "Hasi saioa _Flathub-en" #: src/bz-window.blp:295 msgid "_Manage Leftover User Data" msgstr "_Kudeatu soberako erabiltzaile-datuak" #: src/bz-window.blp:301 msgid "_Preferences" msgstr "_Hobespenak" #: src/bz-window.blp:306 msgid "_Keyboard Shortcuts" msgstr "_Teklatuko lasterbideak" #: src/bz-window.blp:311 msgid "_About Bazaar" msgstr "B_azaarri buruz" #: src/bz-window.blp:317 msgid "_Quit Bazaar" msgstr "_Irten" #: src/bz-window.blp:342 msgid "Log Out" msgstr "Amaitu saioa" #. 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 "Huts egin du aplikazioa abiarazteak" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "Ezin duzu Bazaar kendu Bazaar erabilita!" #: src/bz-window.c:1127 src/bz-window.c:1161 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/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" #~ 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" #~ msgid "No Results Found" #~ msgstr "Ez da emaitzarik aurkitu" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "\"%s\" etiketadun aplikazioak" #~ msgid "Search failed" #~ msgstr "Huts egin du bilaketak" #~ 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-85ae777/po/fa_IR.po���������������������������������������������������������������0000664�0000000�0000000�00000041152�15223463552�0017316�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/bz-error.c:45 msgid "An Error Occurred" msgstr "یک ؎ءا ع؎ داد" #: src/bz-error.c:51 msgid "Close" msgstr "بستن" #: src/bz-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-85ae777/po/fr.po������������������������������������������������������������������0000664�0000000�0000000�00000300423�15223463552�0016744�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-06 14:03+0200\n" "PO-Revision-Date: 2026-07-06 22:30+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 "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:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "" "GTK;System;PackageManager;Discover;Flatpak;Software;Store;Système;Gestionnaire " "de paquets;Applis;Logiciel;Magasin;Logithèque;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 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:787 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:335 #, c-format msgid "Add-on for %s" msgstr "Extension pour %s" #: src/bz-addons-dialog.c:349 src/bz-full-view.c:618 msgid "Show Less" msgstr "Montrer moins" #: src/bz-addons-dialog.c:349 src/bz-full-view.c:618 src/bz-section-view.blp:72 msgid "Show More" msgstr "Montrer plus" #: src/bz-addons-dialog.c:399 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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Taille du tĂŠlĂŠchargement" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Taille après installation" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Volume Ă  tĂŠlĂŠcharger depuis Internet" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Taille sur le disque" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Ouvrir le dossier des donnĂŠes utilisateur" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Vos donnĂŠes" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Caches, paramètres et autres donnĂŠes" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Cache" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "DonnĂŠes mises en cache temporairement" #: src/bz-app-size-dialog.blp:176 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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-context-tile-callbacks.c:410 msgid "N/A" msgstr "Inconnu" #: src/bz-app-size-dialog.c:226 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-context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "InstallĂŠe" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:790 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:800 msgid "Special Thanks" msgstr "Remerciements particuliers Ă " #: src/bz-application.c:858 msgid "Logged Out Successfully!" msgstr "DĂŠconnexion rĂŠussie !" #: src/bz-application.c:1038 msgid "Ubuntu Troubles!" msgstr "À l'attention des utilisateurs d'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 "" "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:1047 msgid "Continue Anyway" msgstr "Continuer quand mĂŞme" #: src/bz-application.c:1063 msgid "Performing setup…" msgstr "Configuration en cours…" #: src/bz-application.c:1155 msgid "Set Up System Flathub?" msgstr "Configurer Flathub sur le système ? " #: 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 "" "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:1165 msgid "Set Up Flathub?" msgstr "Configurer 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 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:1174 msgid "Later" msgstr "Plus tard" #: src/bz-application.c:1175 msgid "Set Up Flathub" msgstr "Configurer Flathub" #: src/bz-application.c:1699 msgid "A backend error occurred" msgstr "Une erreur de backend est survenue" #: src/bz-application.c:1899 src/bz-application.c:4114 msgid "Refreshing…" msgstr "Actualisation…" #: src/bz-application.c:2063 src/bz-application.c:4112 #, c-format msgid "Loading %d apps…" msgstr "Chargement de %d applis…" #: src/bz-application.c:2116 msgid "Failed to open file" msgstr "Échec de l’ouverture du fichier" #: src/bz-application.c:2237 msgid "An initialization error occurred" msgstr "Une erreur d'initialisation s'est produite" #: src/bz-application.c:2631 msgid "Checking for updates…" msgstr "Recherche de mises Ă  jour…" #: src/bz-application.c:2687 msgid "Failed to check for updates" msgstr "Échec de la vĂŠrification des mises Ă  jour" #: src/bz-application.c:3824 msgid "Malformed Link" msgstr "Lien corrigĂŠ" #: 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 "" "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:3833 msgid "Could not find app" msgstr "Impossible de trouver l'application" #: src/bz-application.c:3864 msgid "Failed to load metainfo" msgstr "Échec du chargement des mĂŠtainfos" #: src/bz-application.c:4116 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-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f Mio." #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f mil." #: src/bz-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/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s d'environnement" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "À tĂŠlĂŠcharger" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Informations sur la taille non disponibles" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Taille du tĂŠlĂŠchargement de %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Tout public" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Informations sur la classification d’âge non disponibles" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Convient Ă  tout public" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "AppropriĂŠ dès %d ans et plus" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "Inconnue" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Logiciel libre sous licence %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Logiciel libre" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Logiciel propriĂŠtaire" #: src/bz-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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "Logiciel libre" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "PropriĂŠtaire" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Licence spĂŠciale" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Adaptative" #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "PC uniquement" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Fonctionne sur ordinateur, tablette et tĂŠlĂŠphone" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Peut ne pas fonctionner sur les appareils mobiles" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Fiable" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Risque faible" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Risque moyen" #: src/bz-context-tile-callbacks.c:408 msgid "High Risk" msgstr "Risque ĂŠlevĂŠ" #: 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-error.c:69 src/bz-error.c:88 #: src/bz-safety-dialog.blp:98 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:452 #: 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:19 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 une prĂŠvisualisation locale, quelques dĂŠtails pourraient ĂŞtre " "diffĂŠrents du rĂŠsultat publiĂŠ" #: src/bz-full-view.blp:109 msgid "Preview Store Appearance" msgstr "PrĂŠvisualiser 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:144 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-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:773 msgid "No applications found" msgstr "Aucune application trouvĂŠe" #: src/bz-library-page.c:629 src/bz-search-page.c:773 #, 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 "Construite par la communautĂŠ" #: 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 dĂŠveloppĂŠe de manière ouverte par une communautĂŠ " "internationale.\n" "\n" "Vous pouvez participer Ă  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 dĂŠveloppĂŠe de manière ouverte par une communautĂŠ " "internationale, et publiĂŠe sous la licence %s.\n" "\n" "Vous pouvez participer Ă  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 dĂŠveloppĂŠe de manière ouverte : 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:84 msgid "Select Metainfo File" msgstr "SĂŠlectionner un fichier mĂŠtainfo" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Fichiers mĂŠtainfo" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "SĂŠlectionner une icĂ´ne (facultatif)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Fichiers image" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Aperçu" #: 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 "Content Filters" msgstr "Filtres de contenu" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "N'afficher que les logiciels libres" #: src/bz-preferences-dialog.blp:35 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:39 msgid "Flathub Results Only" msgstr "N'afficher que les rĂŠsultats issus de Flathub" #: src/bz-preferences-dialog.blp:40 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:44 msgid "Verified Results Only" msgstr "N'afficher que les dĂŠveloppeurs vĂŠrifiĂŠs" #: src/bz-preferences-dialog.blp:45 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:49 msgid "Hide End-of-Life Apps" msgstr "Masquer les applications en fin de vie" #: src/bz-preferences-dialog.blp:50 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:55 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-calculator.c:87 msgid "Unknown Permissions" msgstr "Autorisations inconnues" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Des autorisations sont manquantes pour cette application." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Aucune autorisation" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "L’application est entièrement sandboxĂŠe" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Accès au rĂŠseau" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Peut accĂŠder Ă  Internet" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Aucun accès au rĂŠseau" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Ne peut pas accĂŠder Ă  Internet" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Accès Ă  l’appareil de l’utilisateur" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Aucun accès aux pĂŠriphĂŠriques" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Accès aux pĂŠriphĂŠriques d’entrĂŠe" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Peut accĂŠder aux pĂŠriphĂŠriques d’entrĂŠe" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Accès au microphone et Ă  la lecture audio" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Accès aux pĂŠriphĂŠriques du système" #: src/bz-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/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Accès au contenu de l’écran" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Système de fenĂŞtrage ancien" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Utilise toujours un ancien système de fenĂŞtrage (X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Autorisations arbitraires" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Peut obtenir des autorisations arbitraires" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Paramètres utilisateur" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Peut accĂŠder aux paramètres utilisateur et les modifier" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Accès complet en lecture/ĂŠcriture au système de fichiers" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Accès en lecture/ĂŠcriture au dossier personnel" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Accès complet en lecture au système de fichiers" #: src/bz-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/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Accès en lecture au dossier personnel" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Peut lire tout le contenu de votre dossier personnel" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Accès en lecture/ĂŠcriture au dossier TĂŠlĂŠchargements" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Accès en lecture au dossier TĂŠlĂŠchargements" #: src/bz-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/bz-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/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Peut lire tout le contenu du rĂŠpertoire" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Aucun accès au système de fichiers" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Ne peut pas accĂŠder au système de fichiers" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Utilise les services système" #: src/bz-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/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Utilise les services de la session utilisateur" #: src/bz-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/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Aucun accès aux services" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "DĂŠveloppeur vĂŠrifiĂŠ" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Code propriĂŠtaire" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Code vĂŠrifiable" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Utilise le service système %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Utilise le service de session %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Utilise le service %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Peut dĂŠtecter ce service hors portail" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Peut communiquer Ă  ce service hors portail" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Peut possĂŠder ce service hors portail" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "IntĂŠgration au menu global" #: src/bz-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/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "IntĂŠgration aux paramètres KDE" #: src/bz-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/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Paramètres gĂŠnĂŠraux KDE" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Service de stockage secret" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Service de notifications sur le bureau" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Peut envoyer des notifications sur le bureau" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "IntĂŠgration dans la barre d’état système" #: src/bz-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/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "IntĂŠgration de KDE Connect" #: src/bz-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/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: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-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-bar.blp:55 msgid "Clear Search" msgstr "Effacer la recherche" #: 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:33 msgid "No User Data Found" msgstr "Pas de donnĂŠes orphelines trouvĂŠes" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "DonnĂŠes utilisateur" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Mettre les donnĂŠes utilisateurs Ă  la corbeille" #: src/bz-user-data-tile.c:150 #, 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:610 src/bz-window.c:648 msgid "Failed to launch application" msgstr "Échec du lancement de l'application" #: src/bz-window.c:878 msgid "You can't remove Bazaar from Bazaar!" msgstr "Vous ne pouvez supprimer Bazaar depuis Bazaar !" #: src/bz-window.c:1184 src/bz-window.c:1218 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/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" #~ 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-85ae777/po/ga.po������������������������������������������������������������������0000664�0000000�0000000�00000277416�15223463552�0016743�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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-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/bz-context-tile-callbacks.c:104 #: src/bz-context-tile-callbacks.c:392 src/bz-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/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d Ă­oslĂłdĂĄlacha sa mhĂ­ seo caite" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s am rith" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "ÍoslĂłdĂĄil" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "NĂ­l faisnĂŠis mhĂŠide ar fĂĄil" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "MĂŠid Ă­oslĂłdĂĄla %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Gach Aois" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "NĂ­l faisnĂŠis faoi rĂĄtĂĄil aoise ar fĂĄil" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "OiriĂşnach do gach aois" #: src/bz-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/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:284 msgid "Unknown" msgstr "Anaithnid" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "BogearraĂ­ saor in aisce ceadĂşnaithe faoi %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "BogearraĂ­ saor in aisce" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "BogearraĂ­ DĂ­lseĂĄnaigh" #: src/bz-context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "CeadĂşnas Speisialta: %s" #: src/bz-context-tile-callbacks.c:281 msgid "Free" msgstr "Saor in aisce" #: src/bz-context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "DĂ­lseĂĄnaigh" #: src/bz-context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "CeadĂşnas Speisialta" #: src/bz-context-tile-callbacks.c:309 msgid "Adaptive" msgstr "OiriĂşnaitheach" #: src/bz-context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Deasc AmhĂĄin" #: src/bz-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/bz-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/bz-context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "SĂĄbhĂĄilte" #: src/bz-context-tile-callbacks.c:401 src/bz-context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Riosca Íseal" #: src/bz-context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Riosca MeĂĄnach" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Ceadanna Anaithnid" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "TĂĄ ceadanna ar iarraidh don aip seo." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Gan Ceadanna" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "TĂĄ an aip bosca gainimh go hiomlĂĄn" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Rochtain LĂ­onra" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Is fĂŠidir rochtain a fhĂĄil ar an idirlĂ­on" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Gan Rochtain LĂ­onra" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "NĂ­ fĂŠidir rochtain a fhĂĄil ar an idirlĂ­on" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Rochtain GlĂŠas ÚsĂĄideora" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Gan Rochtain ar GhlĂŠas ÚsĂĄideora" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Rochtain ar GhlĂŠas Ionchuir" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Is fĂŠidir rochtain a fhĂĄil ar fheistĂ­ ionchuir" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Rochtain MicreafĂłin agus Athsheinm Fuaime" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Rochtain ar GhlĂŠas an ChĂłrais" #: src/bz-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/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Rochtain ar Ábhar an ScĂĄileĂĄin" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "CĂłras Fuinneoige Oidhreachta" #: src/bz-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/bz-safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Ceadanna Treallacha" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Is fĂŠidir ceadanna treallacha a fhĂĄil" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Socruithe ÚsĂĄideora" #: src/bz-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/bz-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/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Rochtain LĂŠitheoireachta/ScrĂ­ofa ar FhillteĂĄn Baile" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Rochtain LĂŠitheoireachta IomlĂĄn an ChĂłrais Comhad" #: src/bz-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/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Rochtain LĂŠitheoireachta FillteĂĄn Baile" #: src/bz-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/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Rochtain LĂŠitheoireachta/ScrĂ­ofa ar an bhFillteĂĄn ÍoslĂłdĂĄla" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "ÍoslĂłdĂĄil Rochtain LĂŠitheoireachta FillteĂĄin" #: src/bz-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/bz-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/bz-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/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Gan Rochtain ar ChĂłras Comhad" #: src/bz-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/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "ÚsĂĄideann SeirbhĂ­sĂ­ CĂłrais" #: src/bz-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/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "ÚsĂĄideann SeirbhĂ­sĂ­ SeisiĂşin" #: src/bz-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/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Gan Rochtain SeirbhĂ­se" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "ForbrĂłir Aipeanna FĂ­oraithe" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "CĂłd DĂ­lseĂĄnaigh" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "CĂłd IniĂşchta" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Bain ĂşsĂĄid as an SeirbhĂ­s CĂłrais %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Bain ĂşsĂĄid as an tSeirbhĂ­s SeisiĂşin %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Bain ĂşsĂĄid as an tseirbhĂ­s %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Is fĂŠidir an tseirbhĂ­s neamh-thairseach a fheiceĂĄil" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Is fĂŠidir labhairt leis an tseirbhĂ­s neamh-thairseach" #: src/bz-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/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "ComhthĂĄthĂş RoghchlĂĄir Dhomhanda" #: src/bz-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/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "ComhthĂĄthĂş Socruithe KDE" #: src/bz-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/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Socruithe Domhanda KDE" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "SeirbhĂ­s StĂłrĂĄla RĂşnda" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "SeirbhĂ­s FĂłgraĂ­ Deisce" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Is fĂŠidir fĂłgraĂ­ deisce a sheoladh" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "ComhthĂĄthĂş TrĂĄidire an ChĂłrais" #: src/bz-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/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "ComhthĂĄthĂş KDE Connect" #: src/bz-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-85ae777/po/hu.po������������������������������������������������������������������0000664�0000000�0000000�00000103173�15223463552�0016754�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/bz-error.c:68 msgid "An Error Occurred" msgstr "Hiba tĂśrtĂŠnt" #: src/bz-error.c:89 msgid "Close" msgstr "BezĂĄrĂĄs" #: src/bz-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-85ae777/po/id.po������������������������������������������������������������������0000664�0000000�0000000�00000317050�15223463552�0016735�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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fjt" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*frb" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d unduhan dalam sebulan terakhir" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s Tempokerja (Runtime)" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Ukuran Unduh" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Info ukuran apl tidak tersedia" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Ukuran unduhan %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Semua Usia" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Info panduan usia tidak tersedia" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Cocok untuk semua usia" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Cocok untuk usia %d ke atas" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "Tidak Diketahui" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Aplikasi bebas di bawah lisensi %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Aplikasi bebas" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Aplikasi dengan hak cipta khusus" #: src/bz-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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "Aplikasi Bebas" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Proprietari" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Lisensi Khusus" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Adaptif" #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Hanya Desktop" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Bekerja di desktop, tablet dan ponsel" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Mungkin tidak bekerja optimal di ponsel" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Aman" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Risiko Rendah" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Risiko Sedang" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Izin Tidak Jelas" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Izin aplikasi ini tidak diketahui" #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Tidak Ada Izin" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Aplikasi ini sepenuhnya terisolasi" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Akses Jaringan" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Dapat mengakses internet" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Tidak Ada Akses Jaringan" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Tidak dapat mengakses internet" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Akses Perangkat Pengguna" #: src/bz-safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "Dapat mengakses perangkat seperti kamera atau pengontrol mainan" #: src/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Tidak Ada Akses Perangkat Pengguna" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Akses Perangkat Masukan" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Dapat mengakses perangkat masukan" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Akses Mikrofon dan Pemutaran Suara" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Akses Perangkat Sistem" #: src/bz-safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "Dapat mengakses perangkat sistem yang membutuhkan izin lebih lanjut" #: src/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Akses Konten Layar" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Sistem Jendela Lawas" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Selalu menggunakan sistem jendela lawas X11" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Izin Sewenang-wenang" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Dapat memperoleh izin sewenang-wenang" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Akses Konfigurasi Pengguna" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Dapat mengakses dan mengubah konfigurasi pengguna" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Akses Baca/Tulis Penuh pada Sistem Berkas" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Akses Baca/Tulis Direktori Rumah" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Akses Baca Penuh dalam Sistem Berkas" #: src/bz-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/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Akses Baca Direktori Rumah" #: src/bz-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/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Akses Baca/Tulis Folder Unduhan" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Akses Baca Folder Unduhan" #: src/bz-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/bz-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/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Memiliki akses baca untuk semua data pada direktori ini" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Tidak Ada Akses Sistem Berkas" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Tidak dapat mengakses sistem berkas sama sekali" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Menggunakan Layanan Sistem" #: src/bz-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/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Menggunakan Layanan Sesi" #: src/bz-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/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Tidak Ada Akses Layanan" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Pengembang Terverifikasi" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Kode Proprietari" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Kode Dapat Diaudit" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Menggunakan Layanan Sistem %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Menggunakan Layanan Sesi %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Menggunakan Layanan %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Dapat melihat layanan di luar portal XDG" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Dapat berkomunikasi dengan layanan di luar portal XDG" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Dapat memiliki layanan di luar portal XDG" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Integrasi Menu Global" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Dapat menampilkan opsi aplikasi pada bilah menu global" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Integrasi Pengaturan KDE" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Dapat mendeteksi ketika terdapat perubahan konfigurasi desktop KDE" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Pengaturan Global KDE" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Layanan Penyimpanan Sandi" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Layanan Notifikasi Desktop" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Dapat mengirim notifikasi desktop" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Integrasi Baki Sistem" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Dapat menampilkan ikon pada baki sistem" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Integrasi KDE Connect" #: src/bz-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-85ae777/po/it.po������������������������������������������������������������������0000664�0000000�0000000�00000131754�15223463552�0016762�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/bz-error.c:68 msgid "An Error Occurred" msgstr "Si è verificato un errore" #: src/bz-error.c:89 msgid "Close" msgstr "Chiudi" #: src/bz-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-85ae777/po/ja.po������������������������������������������������������������������0000664�0000000�0000000�00000413210�15223463552�0016726�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-06-10 16:41+0900\n" "PO-Revision-Date: 2026-06-10 16:42+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: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: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 "" #: 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 "カテゴリーページ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:79 msgid "<em>Maintenance Release</em>" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:83 msgid "Add mobile search filter" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:84 msgid "Fix infinite fetching of user data folder size" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:85 msgid "Add Network subcategories" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:86 msgid "Remove tag list SEO-ism" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:87 msgid "Rework some UI components" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:89 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:108 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:133 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:158 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:183 #, fuzzy msgid "Thanks for reading, and have a great day!" msgstr "読んでくれてありがとう! 良い一日を!" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:97 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:100 #, fuzzy msgid "<em>Other Fixes</em>" msgstr "<em>バグ修正</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:104 msgid "Fix Flathub page svg graphics being rendered with a solid fill" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:105 msgid "Disable broken graphs for very new Flathub apps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:106 msgid "Add workaround for KRunner sending broken app IDs" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:116 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:141 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:166 #, fuzzy msgid "<em>New Features</em>" msgstr "<em>バグ修正</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:120 msgid "Add support for installing (.flatpak) bundles" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:121 msgid "New progress indicators" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:122 msgid "The ability to view and delete app caches" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:124 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:149 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:176 #, fuzzy msgid "<em>Fixes</em>" msgstr "<em>バグ修正</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:128 msgid "" "Fix the download context tile not displaying a label for non-Flathub apps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:129 msgid "Reduce RAM usage when no windows are open" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:130 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:131 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:156 msgid "Many other bug fixes" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:145 msgid "Add support for previewing metainfo files" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:146 msgid "Show total installed apps number in the library view" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:147 msgid "Make exported desktop search provider app icon sizes adjustable" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:153 msgid "Fix download timeline graph rerendering too much" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:154 msgid "Fix animated widget ticks not being in sync with fps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:155 msgid "Fix progress animation for vertical pride flag stripes" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:170 msgid "Rework the add-ons dialog" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:171 msgid "Add a gradient under the download timeline" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:172 msgid "Add a filter button to the search page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:173 msgid "Add a button to show the EULA for some proprietary apps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:174 msgid "Make the names of verified developers clickable links" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:180 msgid "Fix the colours of the update card" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:181 msgid "Make the update banner follow the accent colour" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:191 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:223 msgid "<em>Changes</em>" msgstr "<em>変更点</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:195 msgid "Update to GNOME 50 Runtime" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:196 msgid "Force Adwaita icon theme to ensure consistency" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:197 msgid "Add support for clickable links in app descriptions" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:198 msgid "" "Add timed lingering cache to async textures, thereby reducing image " "flickering" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:199 msgid "Add ability to sort installed apps by size in library view" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:200 msgid "Add BAZAAR_N_DOWNLOAD_WORKERS envvar support" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:202 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:232 msgid "<em>Bug Fixes</em>" msgstr "<em>バグ修正</em>" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:206 msgid "Fix double shadow around update cards" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:207 msgid "Fix global progress button displaying a focus ring when invisible" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:208 msgid "Fix incorrect total size displayed on update tasks" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:209 msgid "Fix empty UI when Flathub hasn't finished syncing yet" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:211 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:241 msgid "Thanks for reading and have a great day!" msgstr "読んでくれてありがとう! 良い一日を!" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:219 msgid "" "This release contains many technical improvements. This changelog reflects " "roughly 2 weeks of work." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:227 msgid "Respect system parental controls settings" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:228 msgid "" "Reap download workers when all windows are closed, reducing total memory " "usage" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:229 msgid "Add mnemonics to full app view" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:230 msgid "Many updates to language translations" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:236 msgid "Fix broken library page when backing installed apps model is empty" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:237 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:238 msgid "Make \"all apps\" category pages respect global filters" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:239 msgid "Fix some text wrapping issues" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:249 msgid "This release fixes some bugs and greatly improves search functionality." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:253 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:260 msgid "Thanks for reading!" msgstr "読んでくれてありがとう!" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:268 msgid "**New Features**" msgstr "**新機能**" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:270 msgid "Search suggestion pills" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:271 #, fuzzy msgid "**Cancel installation** transactions" msgstr "現在進行中のダウンロードを停止" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:272 msgid "Skip dialogs by pressing shift" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:273 msgid "Runtime size info for app pages" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:275 msgid "**Updated**" msgstr "**更新点**" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:277 msgid "Redesigned \"What's New\" dialog" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:278 msgid "Improved search results by utilizing Flathub rankings" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:279 #, fuzzy msgid "Improved screenshots carousel" msgstr "スクリーンショット カルーセル" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:286 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:295 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:309 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:331 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:343 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:364 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:383 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:414 #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:425 msgid "This release comes with the following improvements:" msgstr "このリリースには以下の改善点が含まれています:" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:297 msgid "Merges the task sidebar and install page into the library page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:298 msgid "Add installed version numbers of each app on the library and app pages" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:299 #, fuzzy msgid "Add donations dialog" msgstr "年齢レーティングダイアログ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:300 msgid "Fix broken addon and runtime eol detection" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:301 msgid "Add `enable-bulk-install` key to curated sections" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:302 msgid "Add `override-eol-markings` main config string list" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:311 msgid "Improve context dialogs" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:312 msgid "Fix leftover data bar being shown prematurely" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:313 msgid "Have a rotation toggle for flags" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:314 msgid "Add hard check to prevent removing Bazaar flatpak" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:315 #, fuzzy msgid "Improve download statistics tooltips" msgstr "ダウンロードの統計" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:316 msgid "Add read support for flatpak bundles" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:317 msgid "Fix critical output sometimes during transactions" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:318 msgid "Fix error popover refusing to spawn in transaction sidebar" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:325 msgid "Minor bugfix release" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:333 msgid "Fix issue where installed page is empty on opening second window" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:334 msgid "Fix screenshot flickering in search results" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:335 msgid "Fix pride flags sometimes not showing on certain locales" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:336 msgid "Add \"Install all\" to favorites page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:345 msgid "Trash user data instead of deleting" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:346 msgid "Tweaks to permissions dialog" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:347 msgid "Fix broken EOL filtering" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:348 msgid "Add text filter to installed page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:349 msgid "" "Add optional translations mappings for string properties in YAML configs" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:350 msgid "Hide EOL apps by default" msgstr "更新終了のアプリをデフォルトで非表示" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:351 msgid "Many other minor bug fixes and improvements" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:358 msgid "" "This small release ensures the new icon is rendered correctly on KDE Plasma." msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:366 msgid "New market stall icon" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:367 msgid "Remove Flathub styling" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:368 msgid "Add horizontal versions of pride flags" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:369 msgid "Text selection in app descriptions can be made across paragraph breaks" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:370 msgid "Support YAML anchors and aliases in config parsing" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:371 msgid "" "Drastically reduce disk cache writes over time by skipping unchanged entries" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:372 msgid "Show background status in popover" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:373 msgid "Add app permission system" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:374 msgid "Add back release URLs" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:375 msgid "Fix sync-remotes action in shortcut dialog" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:376 msgid "Fix visual hiccups in comet animations" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:385 msgid "Flathub account support with the ability to manage bookmarks" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:386 msgid "" "Flathub bookmarks replace star count; you can add or remove bookmarks from " "app pages" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:387 msgid "An \"Only Show Verified\" option" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:388 msgid "Exhaustive category pages for most categories" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:389 msgid "An \"Adwaita\" or \"KDE\" category shown based on desktop environment" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:390 msgid "Updated installed indicator for app tiles" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:391 msgid "3 new flag options" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:392 msgid "Fixed GNOME search provider to show the app page instead of search" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:393 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:394 msgid "" "Fixed issue where some proprietary apps were marked as \"Special License\"" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:395 msgid "Fixed issue where graphs did not work with touch" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:402 msgid "" "Another quick release to restore alphabetical sorting on the installed page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:408 msgid "Quick release to allow manual refresh if flathub is being flaky" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:416 msgid "" "Fix frequent disk writes; set refresh frequency to 1 day rather than 1 hour" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:417 msgid "Add \"Delete User Data\" option when uninstalling an application" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:418 msgid "Version cache to prevent incompatibility between Bazaar versions" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:427 msgid "" "Reworked loading to be substantially faster after first start via async " "loading" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:428 msgid "A gaming section on the Flathub page" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:429 msgid "Improved UI on mobile, especially on app pages" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:430 msgid "Verified badges next to most places where apps are shown" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:431 msgid "A popover that explains what verification and non-verification mean" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:432 msgid "An \"other apps by\" page for when a developer has more than 6 apps" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:433 msgid "Tags that show other apps with the same tag when pressed" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:434 msgid "An age rating dialog" msgstr "年齢レーティングダイアログ" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:435 msgid "Changed search filters into global content filters" msgstr "" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:436 msgid "5 new pride flags" 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 "更新の提供終了" #: 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/bz-context-tile-callbacks.c:186 #: src/bz-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 "" "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/bz-context-tile-callbacks.c:176 #, 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: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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:392 #: src/bz-context-tile-callbacks.c:409 msgid "N/A" msgstr "利用不能" #: 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: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/bz-context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "インストール済み" #: src/bz-application.c:762 msgid "The Bazaar Contributors" msgstr "Bazzar の貢献者たち" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:765 msgid "translator-credits" msgstr "camegone, 2025, 2026" #: src/bz-application.c:775 msgid "Special Thanks" msgstr "スペシャルサンクス" #: src/bz-application.c:833 msgid "Logged Out Successfully!" msgstr "正常にログアウトされました!" #: 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 リモートはあなたのシステムでセットアップされていません。Bazaar でアプ" "リを検索したりインストールするためには、システムに Flathub をセットアップする" "必要があります。 \n" "\n" "あなたは引き続き Bazaar でインストール済みのアプリを検索したり削除することが" "できます。" #: 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 はあなたのシステムでセットアップされていません。Flathub が利用できな" "い場合、アプリを検索したりインストールすることができません。\n" "\n" "あなたは引き続き Bazaar でインストール済みのアプリを検索したり削除することが" "できます。" #: 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 "" "このアプリをインストールするためには、新しいソフトウェアのソースを追加する必" "要があります。そのソースに含まれる他のアプリが Bazaar に表示されるようになり" "ます。\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:214 msgid "No special permissions" msgstr "特別な権限なし" #: src/bz-context-tile-callbacks.c:68 msgid "---" msgstr "" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "過去1ヶ月の間に %d ダウンロード" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s ランタイム" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "ダウンロード" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "サイズの情報がありません" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "ダウンロードサイズ: %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "全年齢" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "年齢レーティングの情報がありません" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "全ての年齢のユーザーに適している" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "%d 歳以上のユーザーに適している" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:284 msgid "Unknown" msgstr "不明" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "%s ライセンスのもと公開されているフリーソフト" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "フリーのソフトウェア" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "プロプライエタリ ソフトウェア" #: src/bz-context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "特別なライセンス: %s" #: src/bz-context-tile-callbacks.c:281 msgid "Free" msgstr "フリー" #: src/bz-context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "プロプライエタリ" #: src/bz-context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "特別なライセンス" #: src/bz-context-tile-callbacks.c:309 msgid "Adaptive" msgstr "幅広いデバイスに対応" #: src/bz-context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "デスクトップのみ" #: src/bz-context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "デスクトップ、タブレット、携帯電話で動きます" #: src/bz-context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "モバイル端末では動かない可能性があります" #: src/bz-context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "安全" #: src/bz-context-tile-callbacks.c:401 src/bz-context-tile-callbacks.c:403 msgid "Low Risk" msgstr "低いリスク" #: src/bz-context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "中間のリスク" #: src/bz-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 "" "特選アプリの情報がこのシステム向けに提供されていません。ですが 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 "" "このアプリ 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: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/bz-error.c:69 src/bz-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: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: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 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 "Browsers" msgstr "ブラウザー" #: src/bz-flathub-category.c:125 msgid "Chat" msgstr "チャット" #: src/bz-flathub-category.c:126 msgid "Mail" msgstr "ュミネ" #: src/bz-flathub-category.c:127 msgid "File Sharing" msgstr "ファイルの共有" #: src/bz-flathub-category.c:132 msgid "Audio & Video" msgstr "映像や音楽" #: src/bz-flathub-category.c:132 msgid "Media" msgstr "メディア" #: src/bz-flathub-category.c:132 msgid "More Audio & Video" msgstr "映像や音楽をもっと見る" #: src/bz-flathub-category.c:133 msgid "Developer Tools" msgstr "開発ツール" #: src/bz-flathub-category.c:133 msgid "Develop" msgstr "開発" #: src/bz-flathub-category.c:133 msgid "More Developer Tools" msgstr "開発ツールをもっと見る" #: src/bz-flathub-category.c:134 msgid "Education" msgstr "教育" #: src/bz-flathub-category.c:134 msgid "Learn" msgstr "孌ぜ" #: src/bz-flathub-category.c:134 msgid "More Education" msgstr "教育アプリをもっと見る" #: src/bz-flathub-category.c:135 msgid "Gaming" msgstr "ゲーム" #: src/bz-flathub-category.c:135 msgid "Play" msgstr "遊ぶ" #: src/bz-flathub-category.c:135 msgid "More Gaming" msgstr "ゲームをもっと見る" #: src/bz-flathub-category.c:136 msgid "Graphics & Photography" msgstr "画像や写真" #: src/bz-flathub-category.c:136 msgid "Create" msgstr "創作する" #: src/bz-flathub-category.c:136 msgid "More Graphics & Photography" msgstr "画像や写真関連のアプリをもっと見る" #: src/bz-flathub-category.c:137 msgid "Networking" msgstr "ネットワーク" #: src/bz-flathub-category.c:137 msgid "Internet" msgstr "インターネット" #: src/bz-flathub-category.c:137 msgid "More Networking" msgstr "ネットワーク関連のアプリをもっと見る" #: src/bz-flathub-category.c:138 msgid "Productivity" msgstr "生産性向上" #: src/bz-flathub-category.c:138 msgid "Work" msgstr "働く" #: src/bz-flathub-category.c:138 msgid "More Productivity" msgstr "生産性向上アプリをもっと見る" #: src/bz-flathub-category.c:139 msgid "Science" msgstr "科学" #: src/bz-flathub-category.c:139 msgid "More Science" msgstr "科学アプリをもっと見る" #: src/bz-flathub-category.c:140 msgid "System" msgstr "システム" #: src/bz-flathub-category.c:140 msgid "More System" msgstr "システムアプリをもっと見る" #: src/bz-flathub-category.c:141 msgid "Utilities" msgstr "便利ツール" #: src/bz-flathub-category.c:141 msgid "Tools" msgstr "ツール" #: src/bz-flathub-category.c:141 msgid "More Utilities" msgstr "便利ツールをもっと見る" #: src/bz-flathub-category.c:142 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "話題のアプリ" #: src/bz-flathub-category.c:142 msgid "More Trending" msgstr "話題のアプリをもっと見る" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:171 msgid "Popular" msgstr "人気のアプリ" #: src/bz-flathub-category.c:143 msgid "More Popular" msgstr "人気アプリをもっと見る" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:161 msgid "Recently Added" msgstr "最近追加されたアプリ" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:121 msgid "New" msgstr "新しいアプリ" #: src/bz-flathub-category.c:144 msgid "More New" msgstr "新着アプリをもっと見る" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:151 msgid "Recently Updated" msgstr "最近更新されたアプリ" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "更新されたアプリ" #: src/bz-flathub-category.c:145 msgid "More Updated" msgstr "更新されたものをもっと見る" #: src/bz-flathub-category.c:146 msgid "Mobile" msgstr "モバイル" #: src/bz-flathub-category.c:146 msgid "More Mobile" msgstr "モバイル対応アプリをもっと見る" #: src/bz-flathub-category.c:147 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:147 msgid "More Adwaita" msgstr "Adwaita をもっと見る" #: src/bz-flathub-category.c:148 msgid "KDE Apps" msgstr "KDE アプリ" #: src/bz-flathub-category.c:148 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: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 "支援する(_S)" #: 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:545 msgid "Trash Data" msgstr "データをゴミ箱に移動" #: src/bz-full-view.blp:607 msgid "Add-ons" msgstr "アドオン" #: src/bz-full-view.blp:642 msgid "More Add-Ons" msgstr "アドオンをさらに表示" #: src/bz-full-view.blp:653 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 "" "このアプリケーションはフリーのOSSライセンスで公開されており、安全のためにソー" "スコードを確認することができます。" #: 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" #: 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:164 #: src/bz-updates-card.c:183 msgid "Update" msgstr "更新" #: src/bz-install-controls.blp:138 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:113 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 件の利用可能なアップデート" #: 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" "あなたはこのアプリに対して貢献を行うことができないかもしれません。" #: src/bz-license-dialog.c:356 src/bz-safety-dialog.blp:49 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: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 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 "バージョン履歴(_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: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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "不明な権限" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "このアプリの動作に必要な権限が許可されていません。" #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "使用する権限なし" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "アプリは完全にサンドボックス化 (隔離) されています" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "ネットワーク アクセス" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "インターネットに接続する" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "ネットワーク アクセスなし" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "インターネットに接続しない" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "ユーザーデバイスへのアクセス" #: src/bz-safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "ウェブカメラやゲーム用コントローラーのようなデバイスにアクセスできます" #: src/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "ユーザーデバイスへのアクセスなし" #: src/bz-safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "ウェブカメラやゲーム用コントローラーのようなデバイスにアクセスできません" #: src/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "入力デバイスへのアクセス" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "入力デバイスへアクセスできます" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "マイクへのアクセスと音声再生" #: src/bz-safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "マイクの入力へのアクセスと音声再生を許可なく行えます" #: src/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "システムデバイスへのアクセス" #: src/bz-safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "特権を要求されるシステムデバイスにアクセスすることができます" #: src/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "画面の内容へのアクセス" #: src/bz-safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "画面や他のウィンドウに表示されている内容へのアクセスができます" #: src/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "古いウィンドウシステム" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "常に古いウィンドウシステム (X11) を使用します" #: src/bz-safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "任意の権限" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "任意のあらゆる権限を取得することができます" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "ユーザー設定" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "ユーザーの設定へのアクセスと変更ができます" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "ファイルシステム全体の読み書きアクセス" #: src/bz-safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "ファイルシステム上全てのファイルの読み書きができます" #: src/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "ホームフォルダーの読み書きアクセス" #: src/bz-safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "あなたのホームディレクトリ内の全てのデータを読み書きできます" #: src/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "ファイルシステム全体の読み込みアクセス" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "ファイルシステム上全てのデータを読み込みできます" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "ホームフォルダーの読み込みアクセス" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "あなたのホームディレクトリ内の全てのデータの読み込みができます" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "ダウンロードフォルダーの読み書きアクセス" #: src/bz-safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "あなたのダウンロード ディレクトリ内の全てのデータを読み書きできます" #: src/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "ダウンロードフォルダーの読み込みアクセス" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "あなたのダウンロード ディレクトリ内の全てのデータを読みこみできます" #: src/bz-safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "このディレクトリ内の全てのデータを読み書きできます" #: src/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "このディレクトリ内の全てのデータの読み込みができます" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "ファイルシステムへのアクセスなし" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "ファイルシステムへのアクセスは全く行いません" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "システムサービスを使用" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Portal 以外のシステムサービスへデータをリクエストできます" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "セッション サービスを使用" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Portal 以外のセッション サービスへデータをリクエストできます" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "サービスへのアクセスなし" #: src/bz-safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" "Portal 以外のシステムやセッションのサービスへのアクセスを全く行いません" #: src/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "検証済みアプリ開発者" #: src/bz-safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "このアプリの開発者はなりすましではないことが確認されています" #: src/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "プロプライエタリなコード" #: src/bz-safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "ソースコードが公開されていないため、個別に監査することができず、脆弱である可" "能性があります" #: src/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "検査可能なコード" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "システムサービス %s を使用" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "セッション サービス %s を使用" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "サービス %s を使用" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Portal 以外のサービスを見ることができます" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Portal 以外のサービスと通信できます" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Portal 以外のサービスを保有できます" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "グローバル メニュー統合" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "グローバルなメニューバーに追加のメニューを表示できます" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDE 設定統合" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "KDE デスクトップの設定が変更されたときに検知できます" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "KDE のグローバル設定" #: src/bz-safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "KDE デスクトップの設定 (フォントやカラーなど) を読み込むことができます" #: src/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "シークレット ストレージ サービス" #: src/bz-safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "システムのキーリングを使用して、パスワードを保存または引き出すことができます" #: src/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "デスクトップ通知サービス" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "デスクトップに通知を送信できます" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "システムトレイ統合" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "システムトレイにアイコンを表示できます" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE コネクト統合" #: src/bz-safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "KDE コネクトでペアリングされたデバイスと通信することができます" #: src/bz-safety-dialog.blp:60 msgid "App ID" msgstr "アプリ 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 "" "このアプリは古いバージョンのソフトウェア開発キット (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: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 "フィルター" #: 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: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:361 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 "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 "リンクをコピーする" #: 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/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-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: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 "全て更新(_U)" #: src/bz-updates-card.c:211 #, 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 "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 "リンクを開く" #~ msgid "No Results Found" #~ msgstr "検索結果無し" #, c-format #~ msgid "Apps Tagged \"%s\"" #~ msgstr "\"%s\" タグのついたアプリ" #~ msgid "Search failed" #~ msgstr "検索に失敗しました" #~ 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 "Entry Inspector" #~ msgstr "エントリのインスペクター" #~ 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 "More actions" #~ msgstr "詳細コマンド" #~ 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 "Go Back" #~ 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 "Games" #~ 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-85ae777/po/kw.po������������������������������������������������������������������0000664�0000000�0000000�00000277732�15223463552�0016776�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: \n" "POT-Creation-Date: 2026-06-15 02:13+0100\n" "PO-Revision-Date: 2026-06-15 16:09+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" #: 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 "Basar" #: data/io.github.kolunmi.Bazaar.desktop.in:3 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:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "GTK;System;DyghtyerFardellow;Trovya;Flatpak;Medhelweyth;Gwerthji;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 msgid "New Window" msgstr "Fenester Nowydh" #: data/io.github.kolunmi.Bazaar.metainfo.xml.in:8 msgid "Discover and manage applications" msgstr "Trovya ha dyghtya 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 addons, particularly from Flathub." msgstr "" "Gwerthji appys snell hag arnowydh rag Linux gans fog war ow trovya hag ow " "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:786 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:141 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: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 "Lea" #: 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 "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:202 src/bz-full-view.blp:410 msgid "Downloads/Month" msgstr "Iskargow/Mis" #: src/bz-addons-dialog.blp:229 src/bz-full-view.blp:446 msgid "Stopped Receiving Core Updates" msgstr "Ow Receva Nowedhyansow Kolonnen Na Fella" #: 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 "" "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:333 #, c-format msgid "Add-on for %s" msgstr "Ystynnans rag %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show Less" msgstr "Diskwedhes Le" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:657 msgid "Show More" msgstr "Diskwedhes Moy" #: src/bz-addons-dialog.c:397 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/bz-context-tile-callbacks.c:186 #: src/bz-context-tile-callbacks.c:193 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/bz-context-tile-callbacks.c:176 #, 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:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Braster a'n Iskarg" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Braster pan Leys" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Myns dhe iskarga dhyworth an kesrosweyth" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Braster war Blasen" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "Ygeri restrenva dhata devnydhyer" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Agas Data Devnydhyer" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Sornow, settyansow, ha data app erel" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Sorn" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Data yn sorn yn servadow" #: src/bz-app-size-dialog.blp:176 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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:392 #: src/bz-context-tile-callbacks.c:409 msgid "N/A" msgstr "Ankavadow" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "Braster App" #: 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 "Gwirhes" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/bz-context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Leys" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:789 msgid "translator-credits" msgstr "Flynn <cirilla@tuta.io>" #: src/bz-application.c:799 msgid "Special Thanks" msgstr "Grassow Arbennik" #: src/bz-application.c:857 msgid "Logged Out Successfully!" msgstr "Omdhigelmys yn Sewen!" #: src/bz-application.c:995 msgid "Performing setup…" msgstr "Ow kwruthyl selyans…" #: src/bz-application.c:1087 msgid "Set Up System Flathub?" msgstr "Selya Flathub System?" #: 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 "" "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:1097 msgid "Set Up Flathub?" msgstr "Selya 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 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:1106 msgid "Later" msgstr "Wosa Henna" #: src/bz-application.c:1107 msgid "Set Up Flathub" msgstr "Selya Flathub" #: src/bz-application.c:1626 msgid "A backend error occurred" msgstr "Yth esa error a-bervedh" #: src/bz-application.c:1826 src/bz-application.c:4006 msgid "Refreshing…" msgstr "Ow Tisegha…" #: src/bz-application.c:1990 src/bz-application.c:4004 #, c-format msgid "Loading %d apps…" msgstr "Ow karga %d appys…" #: src/bz-application.c:2043 msgid "Failed to open file" msgstr "Ny yllir ygeri restren" #: src/bz-application.c:2141 msgid "An initialization error occurred" msgstr "Yth esa error dalleth" #: src/bz-application.c:2535 msgid "Checking for updates…" msgstr "Ow checkya rag nowedhyansow…" #: src/bz-application.c:2591 msgid "Failed to check for updates" msgstr "Ny yllir checkya rag nowedhyansow" #: src/bz-application.c:3717 msgid "Malformed Link" msgstr "Gorgrevren Gamm" #: 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 "" "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:3726 msgid "Could not find app" msgstr "Ny yllir kavos app" #: src/bz-application.c:3757 msgid "Failed to load metainfo" msgstr "Ny yllir karga metakedhlow" #: src/bz-application.c:4008 msgid "Writing to cache…" msgstr "Ow skrifa dhe sorn…" #: src/bz-apps-page.blp:99 msgid "Show All" msgstr "Diskwedhes Oll" #: src/bz-apps-page.c:237 #, c-format msgid "All \"%s\"" msgstr "Oll \"%s\"" #: src/bz-apps-page.c:487 src/bz-subcategory-list.c:89 #, c-format msgid "%d Applications" msgstr "%d Appys" #: 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:195 msgid "Additional dependencies may take extra space" msgstr "Medhelweyth serghek keworransel a yll kemeres moy spas" #: 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 "" "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:406 msgid "Successfully Installed!" msgstr "Leys yn Sewen!" #: 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 "Ygeri" #: src/bz-bundle-install-dialog.blp:440 src/bz-bundle-install-dialog.blp:523 msgid "Show App Details" msgstr "Diskwedhes Manylyon App" #: src/bz-bundle-install-dialog.blp:490 msgid "Already Installed" msgstr "Leys Seulabrys" #: src/bz-bundle-install-dialog.blp:535 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-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d iskargow y'n mis yw passys" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s kerghynnedh rag app" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Iskarg" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Kedhlow braster ankavadow" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Braster iskarg a %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Oll Bloodh" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Kedhlow gwiwder bloodh ankavadow" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Gwiw rag oll bloodh" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Gwiw rag %d bloodh hag a-ugh" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:284 msgid "Unknown" msgstr "Ankoth" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Medhelweyth rydh a-woles dhe'n leshyans %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Medhelweyth rydh" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Medhelweyth Perghenogel" #: src/bz-context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Leshyans Arbennik: %s" #: src/bz-context-tile-callbacks.c:281 msgid "Free" msgstr "Rydh" #: src/bz-context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Perghenogel" #: src/bz-context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Leshyans Arbennik" #: src/bz-context-tile-callbacks.c:309 msgid "Adaptive" msgstr "Desedhadow" #: src/bz-context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Amontyell yn Unnik" #: src/bz-context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "Gweythresek war amontyellow, leghennow, ha klapkodhow" #: src/bz-context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "Martesen angweythresek war dhevisyow wayadow" #: src/bz-context-tile-callbacks.c:399 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Saw" #: src/bz-context-tile-callbacks.c:401 src/bz-context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Peryl Isel" #: src/bz-context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Peryl Kresek" #: src/bz-context-tile-callbacks.c:407 msgid "High Risk" msgstr "Peryl Ughel" #: 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 "Gwag" #: src/bz-curated-view.blp:15 msgid "No Curation" msgstr "Nyns eus Dyghtyans" #: src/bz-curated-view.blp:16 msgid "" "There is no curation information provided on this system. You can still " "browse applications 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:18 msgid "Browse Flathub" msgstr "Peuri Flathub" #: src/bz-curated-view.blp:29 src/bz-curated-view.blp:33 msgid "Offline" msgstr "Dhywarlinen" #. 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 "Peurell" #: 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:232 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-error.c:69 src/bz-error.c:88 #: src/bz-safety-dialog.blp:98 msgid "Details" msgstr "Manylyon" #: src/bz-error-dialog.blp:47 msgid "Copy" msgstr "Kopia" #: src/bz-error-dialog.c:56 src/bz-screenshot-page.c:408 #: 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-favorites-page.blp:56 #: src/bz-window.blp:335 msgid "Favorites" msgstr "Drudhyow" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:144 msgid "Install All" msgstr "Lea Oll" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 msgid "Loading" msgstr "Ow karga" #: src/bz-favorites-page.blp:49 msgid "No Favorites" msgstr "Drudhyow Vyth" #: src/bz-favorites-page.blp:50 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:31 msgid "Previous" msgstr "Kyns" #: src/bz-featured-carousel.blp:54 msgid "Next" msgstr "Nessa" #: src/bz-flathub-category.c:93 msgid "Editing" msgstr "Ow Pennskrifa" #: src/bz-flathub-category.c:94 msgid "Midi" msgstr "Midi" #: src/bz-flathub-category.c:95 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:96 src/bz-search-pill-list.c:77 msgid "Music" msgstr "Ilow" #: src/bz-flathub-category.c:97 msgid "Player" msgstr "Gwarier" #: src/bz-flathub-category.c:98 msgid "Recorder" msgstr "Rekordyer" #: src/bz-flathub-category.c:99 msgid "Sequencer" msgstr "Kevreser" #: src/bz-flathub-category.c:100 msgid "Tuner" msgstr "Tonyer" #: src/bz-flathub-category.c:101 msgid "TV" msgstr "Pellwolok" #: src/bz-flathub-category.c:106 msgid "Emulation" msgstr "Omhevelians" #: src/bz-flathub-category.c:107 msgid "Action" msgstr "Gwrians" #: src/bz-flathub-category.c:108 msgid "Adventure" msgstr "Aventur" #: src/bz-flathub-category.c:109 msgid "Arcade" msgstr "Arkade" #: src/bz-flathub-category.c:110 msgid "Blocks" msgstr "Stockow" #: src/bz-flathub-category.c:111 msgid "Board" msgstr "Bordh" #: src/bz-flathub-category.c:112 msgid "Card" msgstr "Karten" #: src/bz-flathub-category.c:113 msgid "Kids" msgstr "Fleghes" #: src/bz-flathub-category.c:114 msgid "Logic" msgstr "Lojyk" #: src/bz-flathub-category.c:115 msgid "Role Playing" msgstr "Gwari Rann" #: src/bz-flathub-category.c:116 msgid "Shooter" msgstr "Sether" #: src/bz-flathub-category.c:117 msgid "Simulation" msgstr "Hevelebyans" #: src/bz-flathub-category.c:118 msgid "Sports" msgstr "Sportys" #: src/bz-flathub-category.c:119 msgid "Strategy" msgstr "Strateji" #: src/bz-flathub-category.c:124 msgid "Browsers" msgstr "Peurellow" #: src/bz-flathub-category.c:125 msgid "Chat" msgstr "Keskows" #: src/bz-flathub-category.c:126 msgid "Mail" msgstr "Post" #: src/bz-flathub-category.c:127 msgid "File Sharing" msgstr "Kevrennans Restren" #: src/bz-flathub-category.c:132 msgid "Audio & Video" msgstr "Son & Gwydhyow" #: src/bz-flathub-category.c:132 msgid "Media" msgstr "Media" #: src/bz-flathub-category.c:132 msgid "More Audio & Video" msgstr "Moy Son & Gwydhyow" #: src/bz-flathub-category.c:133 msgid "Developer Tools" msgstr "Toulys Amontydh" #: src/bz-flathub-category.c:133 msgid "Develop" msgstr "Displegya" #: src/bz-flathub-category.c:133 msgid "More Developer Tools" msgstr "Moy Toulys Amontydh" #: src/bz-flathub-category.c:134 msgid "Education" msgstr "Adhyskans" #: src/bz-flathub-category.c:134 msgid "Learn" msgstr "Dyski" #: src/bz-flathub-category.c:134 msgid "More Education" msgstr "Moy Adhyskans" #: src/bz-flathub-category.c:135 msgid "Gaming" msgstr "Gwariow" #: src/bz-flathub-category.c:135 msgid "Play" msgstr "Gwari" #: src/bz-flathub-category.c:135 msgid "More Gaming" msgstr "Moy Gwariow" #: src/bz-flathub-category.c:136 msgid "Graphics & Photography" msgstr "Grafek & Skeusenieth" #: src/bz-flathub-category.c:136 msgid "Create" msgstr "Gwruthyl" #: src/bz-flathub-category.c:136 msgid "More Graphics & Photography" msgstr "Moy Grafek & Skeusenieth" #: src/bz-flathub-category.c:137 msgid "Networking" msgstr "Rosweythyans" #: src/bz-flathub-category.c:137 msgid "Internet" msgstr "Kesrosweyth" #: src/bz-flathub-category.c:137 msgid "More Networking" msgstr "Moy Rosweythyans" #: src/bz-flathub-category.c:138 msgid "Productivity" msgstr "Askorruster" #: src/bz-flathub-category.c:138 msgid "Work" msgstr "Ober" #: src/bz-flathub-category.c:138 msgid "More Productivity" msgstr "Moy Askorruster" #: src/bz-flathub-category.c:139 msgid "Science" msgstr "Godhonieth" #: src/bz-flathub-category.c:139 msgid "More Science" msgstr "Moy Godhonieth" #: src/bz-flathub-category.c:140 msgid "System" msgstr "Kevreyth" #: src/bz-flathub-category.c:140 msgid "More System" msgstr "Moy Kevreyth" #: src/bz-flathub-category.c:141 msgid "Utilities" msgstr "Lesow" #: src/bz-flathub-category.c:141 msgid "Tools" msgstr "Toulys" #: src/bz-flathub-category.c:141 msgid "More Utilities" msgstr "Moy Lesow" #: src/bz-flathub-category.c:142 src/bz-flathub-page.blp:109 #: src/bz-flathub-page.blp:141 msgid "Trending" msgstr "Gerys-da Lemmyn" #: src/bz-flathub-category.c:142 msgid "More Trending" msgstr "Moy Gerys-da Lemmyn" #: src/bz-flathub-category.c:143 src/bz-flathub-page.blp:115 #: src/bz-flathub-page.blp:171 msgid "Popular" msgstr "Gerys-da" #: src/bz-flathub-category.c:143 msgid "More Popular" msgstr "Moy Gerys-da" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:161 msgid "Recently Added" msgstr "Keworrys A-dhiwedhes" #: src/bz-flathub-category.c:144 src/bz-flathub-page.blp:121 msgid "New" msgstr "Nowydh" #: src/bz-flathub-category.c:144 msgid "More New" msgstr "Moy Nowydh" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:151 msgid "Recently Updated" msgstr "Nowedhys A-dhiwedhes" #: src/bz-flathub-category.c:145 src/bz-flathub-page.blp:127 msgid "Updated" msgstr "Nowedhys" #: src/bz-flathub-category.c:145 msgid "More Updated" msgstr "Moy Nowedhys" #: src/bz-flathub-category.c:146 msgid "Mobile" msgstr "Gwayadow" #: src/bz-flathub-category.c:146 msgid "More Mobile" msgstr "Moy Gwayadow" #: src/bz-flathub-category.c:147 msgid "Adwaita" msgstr "Adwaita" #: src/bz-flathub-category.c:147 msgid "More Adwaita" msgstr "Moy Adwaita" #: src/bz-flathub-category.c:148 msgid "KDE Apps" msgstr "Appys KDE" #: src/bz-flathub-category.c:148 msgid "More KDE Apps" msgstr "Moy Appys KDE" #: src/bz-flathub-page.blp:23 msgid "Flathub Not Added" msgstr "Flathub nag yw Keworrys" #: src/bz-flathub-page.blp:24 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:30 msgid "Flathub Unavailable" msgstr "Flathub Ankavadow" #: src/bz-flathub-page.blp:34 msgid "Can't Reach Flathub" msgstr "Ny Yllir Drehedhes Flathub" #: src/bz-flathub-page.blp:35 msgid "You can still manage and search for applications." msgstr "Hwi a yll dyghtya ha hwilas rag appys hwath." #: src/bz-flathub-page.blp:41 msgid "Search Apps" msgstr "Hwilas Appys" #: src/bz-flathub-page.blp:52 msgid "Reconnect" msgstr "Dasjunya" #: src/bz-flathub-page.blp:198 msgid "App of the Day" msgstr "App a'n Jydh" #: src/bz-flathub-page.blp:261 msgid "On the Go" msgstr "Gwayadow" #: src/bz-flathub-page.blp:273 msgid "Apps for your Linux phones and tablets" msgstr "Appys rag agas klapkodhow ha leghennow Linux" #: src/bz-flathub-page.blp:284 src/bz-flathub-page.blp:319 msgid "More Mobile Apps" msgstr "Moy Appys Gwayadow" #: src/bz-flathub-page.blp:375 msgid "We​ ♥​ Games" msgstr "Ni ♥ Gwariow​" #: src/bz-flathub-page.blp:388 msgid "Games and apps to run your favorite titles" msgstr "Gwariow hag appys rag eksekutya agas titlys dhrudh" #: src/bz-flathub-page.blp:422 msgid "More Games" msgstr "Moy Gwariow" #: src/bz-full-view.blp:34 src/bz-library-page.blp:78 #: src/bz-library-page.blp:82 msgid "No Results" msgstr "Sewyansow Vyth" #: src/bz-full-view.blp:35 msgid "Try a different search query" msgstr "Assayewgh hwithrans aral" #: src/bz-full-view.blp:47 msgid "Content" msgstr "Synsas" #: src/bz-full-view.blp:106 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:109 msgid "Preview Store Appearance" msgstr "Gis Gwerthji Ragwolok" #: src/bz-full-view.blp:235 msgid "_Support" msgstr "_Skoodhya" #: 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 "" "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:538 msgid "Trash Data" msgstr "Data Atal" #: src/bz-full-view.blp:600 msgid "Add-ons" msgstr "Ystynansow" #: src/bz-full-view.blp:635 msgid "More Add-Ons" msgstr "Moy Ystynansow" #: src/bz-full-view.blp:646 msgid "Links" msgstr "Kevrennow" #: src/bz-full-view.c:181 msgid "No URL" msgstr "Gorgevren Vyth" #: src/bz-full-view.c:199 msgid "" "This application has a FLOSS license, meaning the source code can be audited " "for safety." msgstr "" "Yma leshyans rydh dhe'n app ma, ytho an kod a yll bos arhwilys rag salowder." #: 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 "" "Yma leshyans perghenogel dhe'n app ma, ytho an kod yw displegys 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:317 #, 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:319 msgid "Other Apps" msgstr "Appys Erel" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d App" msgstr[1] "%d Appys" #: src/bz-full-view.c:537 src/bz-user-data-tile.c:144 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-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:164 #: src/bz-updates-card.c:183 msgid "Update" msgstr "Nowedhyans" #: src/bz-install-controls.blp:138 src/bz-installed-tile.blp:105 msgid "Remove" msgstr "Remova" #: 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-library-page.blp:32 msgid "Search installed apps" msgstr "Hwilas appys leys" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Dilea hwithrans" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Nyns eus Appys Kevys" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "Hwilas Gwerthji Yn Le" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:113 msgid "Library" msgstr "Lyverva" #: src/bz-library-page.blp:129 msgid "Pending Updates" msgstr "Nowedhyansow Ow Gortos" #: src/bz-library-page.blp:156 msgid "Downloads" msgstr "Iskargow" #: src/bz-library-page.blp:199 msgid "Recently Uninstalled" msgstr "Dileys A-Dhiwedhes" #: src/bz-library-page.blp:250 msgid "Clear Finished Tasks" msgstr "Dilea Oberennow Deu" #: src/bz-library-page.blp:335 msgid "Sort By" msgstr "Sortya Orth" #: src/bz-library-page.blp:349 msgid "Name" msgstr "Hanow" #: src/bz-library-page.blp:355 msgid "Size" msgstr "Braster" #: src/bz-library-page.c:180 #, 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:193 src/bz-updates-card.c:433 #, 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:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u App Leys" msgstr[1] "%u Appys Leys" #: 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: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:84 msgid "Select Metainfo File" msgstr "Dewis Restren Vetakedhlow" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Restrennow Metakedhlow" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Dewis Arwodhik (Dre Dhewis)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Restrennow Skeusen" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Ragwolok" #: 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:235 msgid "Refresh Manually" msgstr "Disegha dre Dhorn" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Sidhlow Synsas" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Medhelweyth Rydh Hepken" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary applications when browsing and searching" msgstr "Kudha appys berghenogel dres ow peuri hag ow hwilas" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Sewyansow Flathub Hepken" #: src/bz-preferences-dialog.blp:40 msgid "" "Limit search and browse results to applications only available on Flathub" msgstr "" "Finwetha sewyansow hwithrans ha peuryans dhe appys gavadow war Flathub hepken" #: src/bz-preferences-dialog.blp:44 msgid "Verified Results Only" msgstr "Sewyansow Wirhes Hepken" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Kudha sewyansow nag yw gwirhes war Flathub" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Kudha Appys Marow" #: src/bz-preferences-dialog.blp:50 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:55 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:155 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:263 msgid "Get More Information" msgstr "Kerghes Moy Kedhlow" #: src/bz-rich-app-tile.blp:217 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:369 msgid "Get" msgstr "Kerghes" #: src/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Kummyasow Ankoth" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Kummyasow yw fyllis rag an app ma." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Kummyasow Vyth" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "App yw kontaynys yn leun" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Hedhas Kesrosweyth" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "A yll drehedhes an kesrosweyth" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Hedhas Kesrosweyth Vyth" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Ny yllir drehedhes an kesrosweyth" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Hedhas Devis Devnydhyer" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Hedhas Devis Devnydhyer Vyth" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Hedhas Devis Ynworrans" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "A yll drehedhes devisyow ynworrans" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Hedhas Korrgewsell ha Seni Son" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Hedhas Devis System" #: src/bz-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/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Hedhas Synsas Skrin" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "System Fenester Anterrus" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "A dhevnydh prest system fenester anterrus (X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Kummyas Siansek" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "A yll kavos kummyasow siansek" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Settyansow Dhevnydhyer" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "A yll drehedhes ha chanjya settyansow dhevnydhyer" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Hedhas rag Redya/Skrifa System Restrenva Leun" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Hedhas rag Redya/Skrifa Restrenva Dre" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Hedhas rag Redya System Restrenva Leun" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "A yll redya oll data y'n system restrenva" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Hedhas rag Redya Restrenva Dre" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "A yll redya oll data y'gas restrenva dre" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Hedhas rag Redya/Skrifa yn Restrenva Iskargow" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Hedhas rag Redya yn Restrenva Iskargow" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "A yll redya oll data y'gas restrenva iskargow" #: src/bz-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/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "A yll redya oll data y'n restrenva" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Hedhas System Restrenva Vyth" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Ny yllir drehedhes an system restrenva banna" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "A dhevnydh Gonisyow System" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "A yll govyn data dhyworth gonisyow anportal system" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "A dhevnydh Gonisyow Esedhek" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "A yll govyn data dhyworth gonisyow anportal esedhek" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Hedhas Gonis Vyth" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Awtour App Gwirhes" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Kod Perghenogel" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Kod Arhwiladow" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Devnydhya an Gonis System %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Devnydhya an Gonis Esedhek %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Devnydhya an Gonis %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "A yll gweles an gonis anportal" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "A yll kewsel dhe'n gonis anportal" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "A yll perghenna an gonis anportal" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Oberyans Rol Olldalghus" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "A yll diskwedhes rolyow yn barr rol olldalghus" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Oberyans Settyansow KDE" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "A yll helerghi pan settyansow KDE chanjya" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Settyansow Olldalghus KDE" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Gonis Gwithyans Kevrinyow" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Gonis Gwarnyansow Dhesktop" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "A yll danvon gwarnyansow dhesktop" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Oberyans Tallyour System" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "A yll diskwedhes arwodhik y'n tallyour system" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Oberyans KDE Connect" #: src/bz-safety-calculator.c:591 msgid "Can interact with devices paired via KDE Connect" msgstr "A yll keskomunya gans devisyow junys dre 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 "" "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" #: 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:278 msgid "Safety" msgstr "Sawder" #: src/bz-safety-dialog.c:344 #, c-format msgid "%s is Safe" msgstr "%s yw Saw" #: src/bz-safety-dialog.c:349 #, c-format msgid "%s has no Unsafe Permissions" msgstr "Nyns eus Kummyasow Dhiantel dhe %s" #: src/bz-safety-dialog.c:354 #, c-format msgid "%s is Probably Safe" msgstr "%s yw Saw Dell Hevel" #: src/bz-safety-dialog.c:359 #, c-format msgid "%s is Possibly Unsafe" msgstr "%s yw Saw Martesen" #: src/bz-safety-dialog.c:364 #, c-format msgid "%s is Unsafe" msgstr "%s yw Diantel" #: src/bz-screenshot-page.blp:5 msgid "Screenshots" msgstr "Skrinskeusennow" #: src/bz-screenshot-page.blp:61 msgid "Previous Screenshot" msgstr "Skeusen Gyns" #: src/bz-screenshot-page.blp:71 msgid "Next Screenshot" msgstr "Skeusen Nessa" #: src/bz-screenshot-page.blp:87 msgid "Copy Image" msgstr "Kopia Skeusen" #: src/bz-screenshot-page.blp:150 msgid "Reset View" msgstr "Dasgorra Gwel" #: src/bz-screenshot-page.blp:161 msgid "Zoom Out" msgstr "Lehe" #: src/bz-screenshot-page.blp:171 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:287 #, c-format msgid "Screenshot %u of %u" msgstr "Skrinskeusennow %u a %u" #: src/bz-search-filter-popover.blp:18 src/bz-search-page.blp:83 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:58 msgid "Search Apps, Games, Software" msgstr "Hwilas Appys, Gwariow, Medhelweyth" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Sidhlow Hwithrans" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Dilea Hwithrans" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "Peuri Klassys" #: src/bz-search-page.blp:242 msgid "Categories Unavailable" msgstr "Klassys Ankavadow" #: src/bz-search-page.blp:243 msgid "Search for apps using the search bar above." msgstr "Hwilas rag appys gans an barr hwithrans a-ugh." #: src/bz-search-page.blp:362 msgid "No Applications Found" msgstr "Appys Kevys Vyth" #: src/bz-search-page.c:247 #, 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: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" #: src/bz-stats-dialog.blp:27 msgid "Timeline" msgstr "Linen Dermyn" #: src/bz-stats-dialog.blp:46 msgid "Installs:" msgstr "Leyansow:" #: src/bz-stats-dialog.blp:55 msgid "World" msgstr "Bys" #: src/bz-stats-dialog.blp:69 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:312 msgid "Cancel Transaction" msgstr "Hedhi Negys" #: src/bz-transaction-tile.blp:436 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:211 #, 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:33 msgid "No User Data Found" msgstr "Data Devnydhyer Kevys Vyth" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "Data Devnydhyer" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Remova Data Devnydhyer" #: src/bz-user-data-tile.c:150 #, c-format msgid "Trashed User Data for %s" msgstr "Data Devnydhhyer Removys rag %s" #: src/bz-window.blp:71 msgid "Refreshing" msgstr "Ow Tisegha" #: src/bz-window.blp:89 msgid "Curated" msgstr "Dyghtys" #: src/bz-window.blp:101 msgid "Explore" msgstr "Trovya" #: src/bz-window.blp:128 msgid "Search" msgstr "Hwithrans" #: src/bz-window.blp:215 msgid "Main Menu" msgstr "Pennrol" #: src/bz-window.blp:226 msgid "You are running a new version of Bazaar!" msgstr "Owth eksekutya owgh hwi dyllans nowydh a Vasar!" #: src/bz-window.blp:227 msgid "See What's New" msgstr "Pyth yw Nowydh" #: src/bz-window.blp:234 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:279 msgid "_Donate to Bazaar" msgstr "_Argevri dhe Vasar" #: src/bz-window.blp:285 msgid "_Refresh" msgstr "_Disegha" #: src/bz-window.blp:289 msgid "_Login With Flathub" msgstr "_Omgelmi gans Flathub" #: src/bz-window.blp:295 msgid "_Manage Leftover User Data" msgstr "_Dyghtya Data Devnydhyer Remenant" #: src/bz-window.blp:301 msgid "_Preferences" msgstr "_Dewisyow" #: src/bz-window.blp:306 msgid "_Keyboard Shortcuts" msgstr "_Kesunyansow Vysowek" #: src/bz-window.blp:311 msgid "_About Bazaar" msgstr "_A-dro dhe Vasar" #: src/bz-window.blp:317 msgid "_Quit Bazaar" msgstr "_Kwytya Basar" #: src/bz-window.blp:342 msgid "Log Out" msgstr "Omdhigelmi" #. Translators: %s is the title of the current page #: src/bz-window.c:376 #, c-format msgid "Bazaar — %s" msgstr "Basar — %s" #: src/bz-window.c:596 src/bz-window.c:634 msgid "Failed to launch application" msgstr "Ny yllir lonchya app" #: src/bz-window.c:843 msgid "You can't remove Bazaar from Bazaar!" msgstr "Ny yllowgh remova Basar dhyworth Basar!" #: src/bz-window.c:1127 src/bz-window.c:1161 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/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" #~ 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 "Entry Inspector" #~ msgstr "Hwithrer Enworrans Manylyon" #~ 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-85ae777/po/meson.build������������������������������������������������������������0000664�0000000�0000000�00000000047�15223463552�0020136�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������i18n.gettext('bazaar', preset: 'glib') �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/po/nl.po������������������������������������������������������������������0000664�0000000�0000000�00000252413�15223463552�0016753�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/bz-context-tile-callbacks.c:186 src/bz-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/bz-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/bz-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/bz-context-tile-callbacks.c:104 #: src/bz-context-tile-callbacks.c:392 src/bz-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/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d downloads in de afgelopen maand" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s runtime" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Download" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Grootte-informatie onbeschikbaar" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Downloadgrootte van %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Alle leeftijden" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Leeftijdsclassificatie niet beschikbaar" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Geschikt voor alle leeftijden" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Geschikt voor %d-jarigen en ouder" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:284 msgid "Unknown" msgstr "Onbekend" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Vrije software gelicentieerd onder %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Alleen vrije software" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "PropriĂŤtaire software" #: src/bz-context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Speciale licentie: %s" #: src/bz-context-tile-callbacks.c:281 msgid "Free" msgstr "Vrij" #: src/bz-context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "PropriĂŤtair" #: src/bz-context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Speciale licentie" #: src/bz-context-tile-callbacks.c:309 msgid "Adaptive" msgstr "Adaptief" #: src/bz-context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Alleen desktop" #: src/bz-context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "Werkt op desktop, tablets en telefoons" #: src/bz-context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "Werkt mogelijk niet op mobiele apparaten" #: src/bz-context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "Veilig" #: src/bz-context-tile-callbacks.c:401 src/bz-context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Laag risico" #: src/bz-context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Gemiddeld risico" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Onbekende machtigingen" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Machtigingen ontbreken voor deze app." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Geen machtigingen" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "App is volledig gesandboxt" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Netwerktoegang" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Heeft toegang tot het internet" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Geen netwerktoegang" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Heeft geen toegang tot het internet" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Toegang tot gebruikersapparaten" #: src/bz-safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "Heeft toegang tot apparaten zoals webcams of spelcontrollers" #: src/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Geen toegang tot gebruikersapparaten" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Toegang tot invoerapparaten" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Heeft toegang tot invoerapparaten" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Toegang tot microfoon en audio-afspelen" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Toegang tot systeemapparaten" #: src/bz-safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "Heeft toegang tot systeemapparaten waarvoor verhoogde rechten vereist zijn" #: src/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Toegang tot scherminhoud" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Verouderd venstersysteem" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Gebruikt een verouderd venstersysteem (X11)" #: src/bz-safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Alle mogelijke machtigingen" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Kan alle mogelijke machtigingen verkrijgen" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Gebruikersinstellingen" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Kan gebruikersinstellingen bekijken en wijzigen" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Lees- en schrijftoegang tot het volledige bestandssysteem" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Lees- en schrijftoegang tot de persoonlijke map" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Leestoegang tot het volledig bestandssysteem" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Kan alle gegevens op het bestandssysteem lezen" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Leestoegang tot de persoonlijke map" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Kan alle gegevens in jouw persoonlijke map lezen" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Lees- en schrijftoegang tot de downloadmap" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Leestoegang tot de downloadmap" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Kan alle gegevens in jouw downloadmap lezen" #: src/bz-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/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Kan alle gegevens in de map lezen" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Geen toegang tot het bestandssysteem" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Heeft geen enkele toegang tot het bestandssysteem" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Gebruikt systeemdiensten" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Kan buiten het portaal om gegevens opvragen van systeemdiensten" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Gebruikt sessiediensten" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Kan buiten het portaal om gegevens opvragen van sessiediensten" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Geen diensttoegang" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Geverifieerde app-ontwikkelaar" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "PropriĂŤtaire code" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Controleerbare code" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Gebruikt de %s-systeemdienst" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Gebruikt de %s-sessiedienst" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Gebruikt de %s-dienst" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Kan buiten het portaal om de dienst zien" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Kan buiten het portaal om praten met de dienst" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Kan buiten het portaal om eigenaar zijn van de dienst" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Globale menu-integratie" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Kan menu’s in de globale menubalk tonen" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDE-instellingen integratie" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Kan detecteren wanneer de instellingen van het KDE-bureaublad veranderen" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Globale KDE-instellingen" #: src/bz-safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Kan KDE-bureaubladvoorkeuren zoals lettertypen en kleuren lezen" #: src/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Beveiligde opslagservice" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Bureaubladnotificatiedienst" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Kan bureaubladmeldingen sturen" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Systeemvakintegratie" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Kan een icoon tonen in het systeemvak" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect-integratie" #: src/bz-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-85ae777/po/pl.po������������������������������������������������������������������0000664�0000000�0000000�00000350263�15223463552�0016757�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-01 22:08+0200\n" "PO-Revision-Date: 2026-07-02 18:44+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: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 "Zarządzaj oprogramowaniem flatpak na tym komputerze" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "" "GTK;System;PackageManager;Discover;Flatpak;Software;Store;Marketplace;Zarządza" "nieOprogramowaniem;Odkryj;Odkrywaj;Odkrywca;Oprogramowanie;Sklep;Bazar;Sklepza" "plikacjami;AppStore;Play;Aplikacja;Aplikacje;Rynek;Targ;Bazar;Giełda;Apki;Apka" ";Program;Pobieranie;Pobierz;Instalowanie;Instaluj;Instalacja;Flathub;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 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 nadal 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:786 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:333 #, c-format msgid "Add-on for %s" msgstr "Dodatek dla aplikacji %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 msgid "Show Less" msgstr "PokaĹź mniej" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 src/bz-section-view.blp:71 msgid "Show More" msgstr "PokaĹź więcej" #: src/bz-addons-dialog.c:397 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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "Rozmiar do pobrania" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Rozmiar po instalacji" #: src/bz-app-size-dialog.blp:61 msgid "Amount to download from the internet" msgstr "Ilość do pobrania z internetu" #: src/bz-app-size-dialog.blp:82 msgid "Size on Disk" msgstr "Rozmiar na dysku" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "OtwĂłrz folder danych uĹźytkownika" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "Twoje dane uĹźytkownika" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Pamięć podręczna, ustawienia i inne dane aplikacji" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Pamięć podręczna" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Tymczasowo przechowywane dane w pamięci podręcznej" #: src/bz-app-size-dialog.blp:176 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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-context-tile-callbacks.c:410 msgid "N/A" msgstr "Niedostępne" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "Rozmiar aplikacji" #: 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 "Zweryfikowano" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/bz-context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Zainstalowano" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:789 msgid "translator-credits" msgstr "Marcel MrĂłwka (Microwave) <micro.mail88@gmail.com>, 2025, 2026" #: src/bz-application.c:799 msgid "Special Thanks" msgstr "Specjalne podziękowania" #: src/bz-application.c:857 msgid "Logged Out Successfully!" msgstr "Wylogowano pomyślnie!" #: src/bz-application.c:1037 msgid "Ubuntu Troubles!" msgstr "Kłopoty Ubuntu!" #: src/bz-application.c:1040 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:1046 msgid "Continue Anyway" msgstr "Kontynuuj mimo to" #: src/bz-application.c:1062 msgid "Performing setup…" msgstr "Konfigurowanie…" #: src/bz-application.c:1154 msgid "Set Up System Flathub?" msgstr "Skonfigurować Flathub systemowo?" #: src/bz-application.c:1157 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Ĺźesz uĹźywać Bazaaru do przeglądania i usuwania juĹź zainstalowanych " "aplikacji." #: src/bz-application.c:1164 msgid "Set Up Flathub?" msgstr "Skonfigurować Flathub?" #: src/bz-application.c:1167 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Ĺźesz uĹźywać Bazaaru do przeglądania i usuwania juĹź zainstalowanych " "aplikacji." #: src/bz-application.c:1173 msgid "Later" msgstr "Później" #: src/bz-application.c:1174 msgid "Set Up Flathub" msgstr "Skonfiguruj Flathub" #: src/bz-application.c:1696 msgid "A backend error occurred" msgstr "Wystąpił błąd w backendzie" #: src/bz-application.c:1896 src/bz-application.c:4111 msgid "Refreshing…" msgstr "OdświeĹźanie…" #: src/bz-application.c:2060 src/bz-application.c:4109 #, c-format msgid "Loading %d apps…" msgstr "Ładowanie %d aplikacji…" #: src/bz-application.c:2113 msgid "Failed to open file" msgstr "Otwieranie pliku nie powiodło się" #: src/bz-application.c:2234 msgid "An initialization error occurred" msgstr "Wystąpił błąd inicjalizacji" #: src/bz-application.c:2628 msgid "Checking for updates…" msgstr "Sprawdzanie dostępności aktualizacji…" #: src/bz-application.c:2684 msgid "Failed to check for updates" msgstr "Sprawdzanie dostępności aktualizacji nie powiodło się" #: src/bz-application.c:3821 msgid "Malformed Link" msgstr "Zniekształcone złącze" #: src/bz-application.c:3822 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:3830 msgid "Could not find app" msgstr "Nie moĹźna znaleźć aplikacji" #: src/bz-application.c:3861 msgid "Failed to load metainfo" msgstr "Ładowanie metainfo nie powiodło się" #: src/bz-application.c:4113 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, jeśli pewny, Ĺź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-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f mln" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f tys." #: src/bz-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/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s bibliotek" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Rozmiar do pobrania" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Informacja o rozmiarze jest niedostępna" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Rozmiar do pobrania aplikacji %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "PrĂłg wiekowy" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Informacja o progu wiekowym jest niedostępna" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Odpowiednie od 3 lat" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Odpowiednie od %d lat" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "Nieznane" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Wolne oprogramowanie pod licencją %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Wolne oprogramowanie" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Oprogramowanie własnościowe" #: src/bz-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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "Wolne" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Własnościowe" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Licencja specjalna" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "" "Na róşne\n" "urządzenia" #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "" "Tylko na\n" "komputery" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Działa na komputerach, tabletach i telefonach" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "MoĹźe nie działać na urządzeniach mobilnych" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Bezpieczna" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Niskie ryzyko" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Średnie ryzyko" #: src/bz-context-tile-callbacks.c:408 msgid "High Risk" msgstr "Wysokie ryzyko" #: 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 "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. MoĹźesz " "nadal 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-error.c:69 src/bz-error.c:88 #: src/bz-safety-dialog.blp:98 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:415 #: 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:337 msgid "Favorites" msgstr "Ulubione" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:86 msgid "Install All" msgstr "Zainstaluj wszystkie" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 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, ktĂłre oznaczysz 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Ĺźesz 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:78 #: src/bz-library-page.blp:82 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.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:317 #, 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:319 msgid "Other Apps" msgstr "Inne aplikacje" #: src/bz-full-view.c:321 #, 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:506 src/bz-user-data-tile.c:144 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-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 z Ĺş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:32 msgid "Search installed apps" msgstr "Wyszukuj wśrĂłd zainstalowanych aplikacji" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "Wyczyść wyszukiwanie" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Nie znaleziono aplikacji" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "W zamian przeszukaj sklep" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:114 msgid "Library" msgstr "Biblioteka" #: src/bz-library-page.blp:129 msgid "Pending Updates" msgstr "Aktualizacje w toku" #: src/bz-library-page.blp:156 msgid "Downloads" msgstr "Pobrania" #: src/bz-library-page.blp:199 msgid "Recently Uninstalled" msgstr "Niedawno odinstalowane" #: src/bz-library-page.blp:250 msgid "Clear Finished Tasks" msgstr "Wyczyść zakończone zadania" #: src/bz-library-page.blp:277 msgid "Sort Options" msgstr "Opcje sortowania" #: src/bz-library-page.blp:336 msgid "Sort By" msgstr "Sortuj wg" #: src/bz-library-page.blp:350 msgid "Name" msgstr "Nazwa" #: src/bz-library-page.blp:356 msgid "Size" msgstr "Rozmiar" #: src/bz-library-page.c:180 #, 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:193 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:203 #, 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-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: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:84 msgid "Select Metainfo File" msgstr "Wybierz plik Metainfo" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Pliki Metainfo" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Wybierz ikonę (opcjonalnie)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Pliki obrazĂłw" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Podgląd" #: 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 msgid "Refresh Manually" msgstr "OdświeĹź ręcznie" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "Filtry zawartości" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "Tylko wolne oprogramowanie" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary apps when browsing and searching" msgstr "Ukrywaj aplikacje własnościowe podczas przeglądania i wyszukiwania" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "Tylko wyniki z Flathuba" #: src/bz-preferences-dialog.blp:40 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:44 msgid "Verified Results Only" msgstr "Tylko zweryfikowane wyniki" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "Ukrywaj niezweryfikowane aplikacje" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "Ukrywaj aplikacje z brakiem wsparcia" #: src/bz-preferences-dialog.blp:50 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:55 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-calculator.c:87 msgid "Unknown Permissions" msgstr "Nieznane uprawnienia" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Brakuje uprawnień tej aplikacji." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Brak uprawnień" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Aplikacja jest w pełni uruchamiana w środowisku piaskownicy" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Dostęp do sieci" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Ma dostęp do internetu" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Brak dostępu do sieci" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Nie ma dostępu do internetu" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Dostęp do urządzeń uĹźytkownika" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Brak dostępu do urządzeń uĹźytkownika" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Dostęp do urządzeń wprowadzania" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Ma dostęp do urządzeń wprowadzania" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Dostęp do mikrofonu i odtwarzania dĹşwięku" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Dostęp do urządzeń systemowych" #: src/bz-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/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Dostęp do zawartości ekranu" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Przestarzały system okien" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Zawsze wykorzystuje przestarzały system okien (X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Samowolne uprawnienia" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "MoĹźe uzyskać samowolne uprawnienia" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Ustawienia uĹźytkownika" #: src/bz-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/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Pełny dostęp do systemu plikĂłw" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Dostęp do katalogu domowego" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Pełny dostęp do odczytu systemu plikĂłw" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "MoĹźe odczytywać wszystkie dane na systemie plikĂłw" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Dostęp do odczytu katalogu domowego" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "MoĹźe odczytywać dane w twoim katalogu domowym" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Dostęp do folderu pobranych" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Dostęp do odczytu folderu pobranych" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "MoĹźe odczytywać dane w twoim folderze pobranych" #: src/bz-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/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "MoĹźe odczytywać wszystkie dane w katalogu" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Brak dostępu do systemu plikĂłw" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Absolutnie nie ma dostępu do systemu plikĂłw" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Wykorzystuje usługi systemowe" #: src/bz-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/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Usługi sesji uĹźytkownika" #: src/bz-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/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Brak dostępu do usług" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Zweryfikowany twĂłrca aplikacji" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Własnościowy kod" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Audytowalny" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Korzysta z usługi systemowej %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Korzysta z usługi sesji %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Korzysta z usługi %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "MoĹźe widzieć poza-portalowe usługi" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "MoĹźe rozmawiać z poza-portalowymi usługami" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "MoĹźe posiadać poza-portalowe usługi" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Integracja z globalnym menu" #: src/bz-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/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Integracja z ustawieniami KDE" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "MoĹźe wykryć kiedy ustawienia pulpitu KDE się zmieniają" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Globalne ustawienia KDE" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Usługa tajemnej pamięci" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Usługa powiadomień pulpitowych" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "MoĹźe wysyłać powiadomienia pulpitowe" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Integracja z zasobnikiem systemowym" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "MoĹźe wyświetlać ikonę w zasobniku systemowym" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Integracja z KDE Connect" #: src/bz-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/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: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 "Wróć" #: src/bz-screenshot-page.blp:71 msgid "Previous Screenshot" msgstr "Wstecz" #: src/bz-screenshot-page.blp:81 msgid "Next Screenshot" msgstr "Dalej" #: 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-filter-popover.blp:18 src/bz-search-page.blp:83 msgid "Filters" msgstr "Filtry" #: src/bz-search-filter-popover.blp:35 msgid "_Verified" msgstr "Z_weryfikowane" #: src/bz-search-filter-popover.blp:42 msgid "_Free/Open" msgstr "W_olne" #: 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:58 msgid "Search Apps, Games, Software" msgstr "Wyszukuj aplikacji, gier i oprogramowania" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Filtry wyszukiwania" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "Wyczyść wyszukiwanie" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "Przeglądaj kategorie" #: src/bz-search-page.blp:245 msgid "Categories Unavailable" msgstr "Kategorie są niedostępne" #: src/bz-search-page.blp:246 msgid "Search for apps using the search bar above." msgstr "Wyszukuj aplikacji korzystając z powyĹźszego paska wyszukiwania" #: src/bz-search-page.blp:364 msgid "No Applications Found" msgstr "Nie znaleziono aplikacji" #: src/bz-search-page.c:248 #, 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 Flathub" #: 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 "Issue Tracker" #: 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ład" #: 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:33 msgid "No User Data Found" msgstr "Nie znaleziono pozostałych danych" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "Dane uĹźytkownika" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "Przenieś do kosza dane uĹźytkownika" #: src/bz-user-data-tile.c:150 #, 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:281 msgid "_Donate to Bazaar" msgstr "_Wesprzyj Bazaar" #: src/bz-window.blp:287 msgid "_Refresh" msgstr "_OdświeĹź" #: src/bz-window.blp:291 msgid "_Login With Flathub" msgstr "Za_loguj się do Flathub" #: src/bz-window.blp:297 msgid "_Manage Leftover User Data" msgstr "Zarządzaj pozostały_mi danymi" #: src/bz-window.blp:303 msgid "_Preferences" msgstr "_Preferencje" #: src/bz-window.blp:308 msgid "_Keyboard Shortcuts" msgstr "SkrĂłty _klawiszowe" #: src/bz-window.blp:313 msgid "_About Bazaar" msgstr "O _aplikacji Bazaar" #: src/bz-window.blp:319 msgid "_Quit Bazaar" msgstr "_Zamknij Bazaar" #: src/bz-window.blp:344 msgid "Log Out" msgstr "Wyloguj się" #. 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 "Uruchomienie aplikacji nie powiodło się" #: src/bz-window.c:860 msgid "You can't remove Bazaar from Bazaar!" msgstr "Nie moĹźesz usunąć Bazaaru z poziomu Bazaaru!" #: src/bz-window.c:1166 src/bz-window.c:1200 msgid "Can't do that right now!" msgstr "Nie moĹźesz 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/shortcuts-dialog.blp:5 msgctxt "shortcut window" msgid "Navigation" msgstr "Nawigacja" #: src/shortcuts-dialog.blp:8 msgctxt "shortcut window" msgid "Open Explore Page" msgstr "OtwĂłrz stronę „Odkrywaj”" #: src/shortcuts-dialog.blp:14 msgctxt "shortcut window" msgid "Open Library Page" msgstr "OtwĂłrz stronę biblioteki" #: src/shortcuts-dialog.blp:20 msgctxt "shortcut window" msgid "Open Search Page" msgstr "OtwĂłrz 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 "Zsynchronizuj repozytoria" #: 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 "OtwĂłrz preferencje" #: src/shortcuts-dialog.blp:41 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "PokaĹź skrĂłty klawiszowe" #: src/shortcuts-dialog.blp:46 msgctxt "shortcut window" msgid "Close Window" msgstr "Zamknij okno" #: src/shortcuts-dialog.blp:52 msgctxt "shortcut window" msgid "Quit Bazaar" msgstr "Zamknij Bazaar" #~ 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 "Entry Inspector" #~ msgstr "Inspektor wystąpień" #~ 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-85ae777/po/pt_BR.po���������������������������������������������������������������0000664�0000000�0000000�00000336155�15223463552�0017356�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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d downloads no Ăşltimo mĂŞs" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s runtime" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Download" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Informação sobre o tamanho nĂŁo disponĂ­vel" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Tamanho do download de %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Todas as idades" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Classificação indicativa indisponĂ­vel" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Adequado para todas as idades" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Adequado para idades de %d anos ou mais" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "Desconhecido" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Software livre sob a licença %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Software Livre" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Software ProprietĂĄrio" #: src/bz-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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "Software Livre" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "ProprietĂĄrio" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Licença Especial" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Adaptativo" #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Somente Desktop" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Funciona em desktops, tablets e celulares" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Talvez nĂŁo funcione em dispositivos mĂłveis" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Seguro" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Baixo Risco" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "MĂŠdio Risco" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "PermissĂľes Desconhecidas" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "EstĂŁo faltando permissĂľes para este app." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Sem PermissĂľes" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "O app ĂŠ completamente isolado" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Acesso Ă  Internet" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Pode acessar a internet" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Sem Acesso Ă  Rede" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "NĂŁo pode acessar a internet" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Acesso a Dispositivos de UsuĂĄrio" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Sem Acesso a Dispositivos de UsuĂĄrio" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Acesso a Dispositivos de Entrada" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Pode acessar dispositivos de entrada" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Acesso a Microfone e Tocar Áudio" #: src/bz-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/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Acesso a Dispositivo do Sistema" #: src/bz-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/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Acesso a ConteĂşdos da Tela" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Sistema de Janelas Legado" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Sempre usa um sistema de janelas legado (X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "PermissĂľes ArbitrĂĄrias" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Pode adquirir permissĂľes arbitrĂĄrias" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Configuraçþes de UsuĂĄrio" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Pode acessar e mudar configuraçþes de usuĂĄrio" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Acesso Total de Leitura/Escrita ao Sistema de Arquivos" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Acesso de Leitura/Escrita Ă  Pasta Pessoal" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Acesso Total de Leitura ao Sistema de Arquivos" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Pode ler todos os dados no sistema de arquivos" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Acesso de Leitura Ă  Pasta Pessoal" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Pode ler todos os dados na sua pasta pessoal" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Acesso de Leitura/Escrita Ă  Pasta de Download" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Acesso de Leitura Ă  Pasta de Downloads" #: src/bz-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/bz-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/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Pode ler todos os dados no diretĂłrio" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Sem Acesso ao Sistema de Arquivos" #: src/bz-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/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Usa Serviços do Sistema" #: src/bz-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/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Usa Serviços de SessĂŁo" #: src/bz-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/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Sem Acesso a Serviços" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Desenvolvedor do App Verificado" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "CĂłdigo ProprietĂĄrio" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "CĂłdigo AuditĂĄvel" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Usa o Serviço do Sistema %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Usa a Serviço de SessĂŁo %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Usa o Serviço %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Pode ver serviços que nĂŁo usam portais" #: src/bz-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/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Pode ter um serviço que nĂŁo utiliza portais" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Integração de Menu Global" #: src/bz-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/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Integração de Configuraçþes do KDE" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Pode detectar quando configuraçþes do desktop KDE mudam" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Configuraçþes Globais do KDE" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Serviço de Armazenamento Secreto" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Serviço de Notificaçþes do Desktop" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Pode mandar notificaçþes de desktop" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Integração com a Bandeja do Sistema" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Pode mostrar um Ă­cone na bandeja do sistema" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Integração com KDE Connect" #: src/bz-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-85ae777/po/pt_PT.po���������������������������������������������������������������0000664�0000000�0000000�00000256424�15223463552�0017376�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/bz-error.c:68 msgid "An Error Occurred" msgstr "Ocorreu Um Erro" #: src/bz-error.c:89 msgid "Close" msgstr "Fechar" #: src/bz-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/bz-safety-calculator.c:82 #, fuzzy msgid "Unknown Permissions" msgstr "PermissĂľes Desconhecidas" #: src/bz-safety-calculator.c:83 msgid "Permissions are missing for this app." msgstr "As permissĂľes estĂŁo em falta para esta app." #: src/bz-safety-calculator.c:96 #, fuzzy msgid "No Permissions" msgstr "Sem PermissĂľes" #: src/bz-safety-calculator.c:97 msgid "App is fully sandboxed" msgstr "A app ĂŠ completamente sandboxed (isolada do sistema)" #: src/bz-safety-calculator.c:103 msgid "Network Access" msgstr "Acesso Ă  internet" #: src/bz-safety-calculator.c:104 msgid "Can access the internet" msgstr "Pode aceder Ă  internet" #: src/bz-safety-calculator.c:106 msgid "No Network Access" msgstr "Sem acesso Ă  internet" #: src/bz-safety-calculator.c:107 msgid "Cannot access the internet" msgstr "NĂŁo pode aceder Ă  internet" #: src/bz-safety-calculator.c:112 msgid "User Device Access" msgstr "Acesso a dispositivos do utilizador" #: src/bz-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/bz-safety-calculator.c:115 msgid "No User Device Access" msgstr "Sem acesso a dispositivos do utilizador" #: src/bz-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/bz-safety-calculator.c:121 msgid "Input Device Access" msgstr "Acesso a dispositivos de introdução" #: src/bz-safety-calculator.c:122 msgid "Can access input devices" msgstr "Pode aceder a dispositivos de introdução como rato e teclado" #: src/bz-safety-calculator.c:128 msgid "Microphone Access and Audio Playback" msgstr "Acesso a microfone e reprodução de ĂĄudio" #: src/bz-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/bz-safety-calculator.c:135 msgid "System Device Access" msgstr "Acesso a dispositivos de sistema" #: src/bz-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/bz-safety-calculator.c:142 msgid "Screen Contents Access" msgstr "Acesso ao conteĂşdo do ecrĂŁ" #: src/bz-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/bz-safety-calculator.c:149 msgid "Legacy Windowing System" msgstr "Sistema de janelas antigo (legacy)" #: src/bz-safety-calculator.c:150 #, fuzzy msgid "Always uses a legacy windowing system (X11)" msgstr "Usa um sistema de janelas antigo (legacy)" #: src/bz-safety-calculator.c:156 #, fuzzy msgid "Arbitrary Permissions" msgstr "PermissĂľes arbitrĂĄrias" #: src/bz-safety-calculator.c:157 msgid "Can acquire arbitrary permissions" msgstr "Pode obter permissĂľes arbitrĂĄrias" #: src/bz-safety-calculator.c:163 msgid "User Settings" msgstr "Definiçþes do utilizador" #: src/bz-safety-calculator.c:164 msgid "Can access and change user settings" msgstr "Pode aceder e alterar definiçþes do utilizador" #: src/bz-safety-calculator.c:170 msgid "Full File System Read/Write Access" msgstr "Acesso completo de leitura e escrita ao sistema de ficheiros" #: src/bz-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/bz-safety-calculator.c:178 msgid "Home Folder Read/Write Access" msgstr "Acesso de leitura/escrita Ă  pasta pessoal (Home)" #: src/bz-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/bz-safety-calculator.c:186 msgid "Full File System Read Access" msgstr "Acesso de leitura a todo o sistema" #: src/bz-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/bz-safety-calculator.c:195 msgid "Home Folder Read Access" msgstr "Acesso de leitura Ă  pasta pessoal (Home)" #: src/bz-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/bz-safety-calculator.c:204 msgid "Download Folder Read/Write Access" msgstr "Acesso completo de leitura/escrita Ă  pasta TransferĂŞncias" #: src/bz-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/bz-safety-calculator.c:215 msgid "Download Folder Read Access" msgstr "Acesso de leitura Ă  pasta TransferĂŞncias" #: src/bz-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/bz-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/bz-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/bz-safety-calculator.c:258 msgid "No File System Access" msgstr "Sem acesso completo ao sistema de ficheiros" #: src/bz-safety-calculator.c:259 msgid "Cannot access the file system at all" msgstr "NĂŁo pode aceder de todo ao sistema de ficheiros" #: src/bz-safety-calculator.c:266 msgid "Uses System Services" msgstr "Usa serviços de sistema" #: src/bz-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/bz-safety-calculator.c:273 msgid "Uses Session Services" msgstr "Usa serviços de sessĂŁo" #: src/bz-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/bz-safety-calculator.c:322 msgid "No Service Access" msgstr "Sem acesso a serviços" #: src/bz-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/bz-safety-calculator.c:331 #, fuzzy msgid "Verified App Developer" msgstr "" "Este flatpak foi verificado pelos desenvolvedores originais do software." #: src/bz-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/bz-safety-calculator.c:341 #, fuzzy msgid "Proprietary Code" msgstr "CĂłdigo ProprietĂĄrio" #: src/bz-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/bz-safety-calculator.c:352 msgid "Auditable Code" msgstr "CĂłdigo-fonte auditĂĄvel" #: src/bz-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/bz-safety-calculator.c:493 #, c-format msgid "Use the %s System Service" msgstr "Usa o serviço de sistema %s" #: src/bz-safety-calculator.c:497 #, c-format msgid "Use the %s Session Service" msgstr "Usa o serviço de sessĂŁo %s" #: src/bz-safety-calculator.c:501 #, c-format msgid "Use the %s Service" msgstr "Usa o serviço %s" #: src/bz-safety-calculator.c:511 msgid "Can see the non-portal service" msgstr "Pode ver o serviço fora do portal" #: src/bz-safety-calculator.c:513 msgid "Can talk to the non-portal service" msgstr "Pode comunicar com o serviço fora do portal" #: src/bz-safety-calculator.c:515 msgid "Can own the non-portal service" msgstr "Pode ser proprietĂĄrio do serviço fora do portal" #: src/bz-safety-calculator.c:530 #, fuzzy msgid "Global Menu Integration" msgstr "Integração com o menu global" #: src/bz-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/bz-safety-calculator.c:536 msgid "KDE Settings Integration" msgstr "Integração com as definiçþes do KDE" #: src/bz-safety-calculator.c:537 msgid "Can detect when KDE desktop settings change" msgstr "Pode detectar quando definiçþes do KDE sĂŁo alteradas" #: src/bz-safety-calculator.c:542 msgid "KDE Global Settings" msgstr "Definiçþes globais do KDE" #: src/bz-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/bz-safety-calculator.c:548 #, fuzzy msgid "Secret Storage Service" msgstr "Serviço de armazenamento secreto" #: src/bz-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/bz-safety-calculator.c:554 msgid "Desktop Notifications Service" msgstr "Notificaçþes do ambiente de trabalho" #: src/bz-safety-calculator.c:555 msgid "Can send desktop notifications" msgstr "Pode enviar notificaçþes de ambiente de trabalho" #: src/bz-safety-calculator.c:561 msgid "System Tray Integration" msgstr "Integração com a barra de estado" #: src/bz-safety-calculator.c:562 msgid "Can display an icon in the system tray" msgstr "Pode mostrar um Ă­cone na barra de estado" #: src/bz-safety-calculator.c:567 msgid "KDE Connect Integration" msgstr "Integração KDE Connect" #: src/bz-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-85ae777/po/ru.po������������������������������������������������������������������0000664�0000000�0000000�00000332470�15223463552�0016772�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: \n" "POT-Creation-Date: 2026-07-03 15:21+0700\n" "PO-Revision-Date: 2026-07-03 15:34+0700\n" "Last-Translator: Jill Fiore <contact@lumaeris.com>\n" "Language-Team: Russian\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" "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 "" "Установка, удаНонио иНи ОйнОвНонио 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:787 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:333 #, c-format msgid "Add-on for %s" msgstr "Дополнение Đş %s" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 msgid "Show Less" msgstr "Показать меньше" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 src/bz-section-view.blp:72 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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-context-tile-callbacks.c:410 msgid "N/A" msgstr "Н/Д" #: 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/bz-context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Установлено" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:790 msgid "translator-credits" msgstr "Jill Fiore <contact@lumaeris.com>, 2025, 2026" #: src/bz-application.c:800 msgid "Special Thanks" msgstr "Особая благодарность" #: src/bz-application.c:858 msgid "Logged Out Successfully!" msgstr "Выход иС аккаунта выполнен успошнО!" #: src/bz-application.c:1038 msgid "Ubuntu Troubles!" msgstr "Проблема с 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 "" "Последние версии 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:1047 msgid "Continue Anyway" msgstr "Всё равно продолжить" #: src/bz-application.c:1063 msgid "Performing setup…" msgstr "Выполняется настройка…" #: src/bz-application.c:1155 msgid "Set Up System Flathub?" msgstr "Добавить системный Flathub?" #: 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 но был дОйавНон. Bazaar требует наличия Flathub в " "системной установке Flatpak для пОиска и установки приложений.\n" "\n" "Вы пО-прежнему можете использовать Bazaar для обзора и удаления уМо " "установленных приложений." #: src/bz-application.c:1165 msgid "Set Up Flathub?" msgstr "Добавить 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 но был дОйавНон в данную систему. Вы но сможете искать и " "устанавливать приложения в Bazaar пОка Он недоступен.\n" "\n" "Вы пО-прежнему можете использовать Bazaar для обзора и удаления уМо " "установленных приложений." #: src/bz-application.c:1174 msgid "Later" msgstr "Позже" #: src/bz-application.c:1175 msgid "Set Up Flathub" msgstr "Добавить Flathub" #: src/bz-application.c:1699 msgid "A backend error occurred" msgstr "Произошла Ошийка бэкэнда" #: src/bz-application.c:1899 src/bz-application.c:4114 msgid "Refreshing…" msgstr "Обновление…" #: src/bz-application.c:2063 src/bz-application.c:4112 #, c-format msgid "Loading %d apps…" msgstr "Загрузка %d приложений…" #: src/bz-application.c:2116 msgid "Failed to open file" msgstr "Невозможно открыть файл" #: src/bz-application.c:2237 msgid "An initialization error occurred" msgstr "Произошла Ошийка инициализации" #: src/bz-application.c:2631 msgid "Checking for updates…" msgstr "Проверка на наличие обновлений…" #: src/bz-application.c:2687 msgid "Failed to check for updates" msgstr "Невозможно проверить на наличие ОйнОвНониК" #: src/bz-application.c:3824 msgid "Malformed Link" msgstr "Неверный формат ссылки" #: 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 "" "В ссылке, используемой для Сапуска даннОгО приложения, допущена Ошийка в " "написании заглавных йукв, и в будущем Она может перестать работать.\n" "\n" "Скорее всогО это связано с тем, что KRunner отправляет неверные ID приложений" #: src/bz-application.c:3833 msgid "Could not find app" msgstr "Не удалось найти приложение" #: src/bz-application.c:3864 msgid "Failed to load metainfo" msgstr "Не удалось загрузить метаданные" #: src/bz-application.c:4116 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-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f ПиН." #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f тыс." #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d загрузок Са пОсНодниК месяц" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s среды выполнения" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Скачивание" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Информация Đž размере недоступна" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Размер скачивания %s" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Для всех" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Информация Đž возрастном ограничении недоступна" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Предназначено для всех возрастов" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "Предназначено для лиц старше %d лет" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "Неизвестно" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "ХвОйОднОо программное обеспечение, лицензированное пОд %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "CвОйОднОо программное обеспечение" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Проприетарное программное обеспечение" #: src/bz-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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "CвОйОднОо приложение" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Проприетарное" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Специальная лицензия" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "Адаптивное" #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "Только для ПК" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Работает на настольных компьютерах, планшетах и телефонах" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Может но работать на мобильных устройствах" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "Безопасно" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Низкий риск" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Средний риск" #: src/bz-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 "Выпущено %-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-error.c:69 src/bz-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:415 #: 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: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 "Репозиторий 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: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 "_Поддержать" #: 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.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: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:506 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 "_Открыть" #: 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: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:114 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 ОйнОвНонио" 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: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 "Выбрать файл метаданных" #: 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 "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 "_История версий" #. 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-calculator.c:87 msgid "Unknown Permissions" msgstr "Неизвестные разрешения" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Разрешения для этого приложения отсутствуют." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Нет разрешений" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Приложение полностью изолировано" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Доступ Đş сети" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Может получить доступ Đş интернету" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Нет доступа Đş сети" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Не может получить доступ Đş интернету" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Доступ Đş устройствам пользователя" #: src/bz-safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" "Может получить доступ Đş таким устройствам, как вой-камеры иНи игровые " "контроллеры" #: src/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Нет доступа Đş устройствам пользователя" #: src/bz-safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "Не может получить доступ Đş таким устройствам, как вой-камеры иНи игровые " "контроллеры" #: src/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Доступ Đş устройствам ввОда" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Может получить доступ Đş устройствам ввОда" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Доступ Đş микрофону и воспроизведение Свука" #: src/bz-safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "Может слышать с помощью микрофона и воспроизводить Свук йоС разрешения" #: src/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Доступ Đş системным устройствам" #: src/bz-safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "Может получить доступ Đş системным устройствам, требующие повышенные " "разрешения" #: src/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Доступ Đş содержимому экрана" #: src/bz-safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Может получить доступ Đş содержимому экрана иНи других ОкОн" #: src/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Устаревшая оконная система" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Использует устаревшую оконную систему постоянно (X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "Произвольные разрешения" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Может получить произвольные разрешения" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Пользовательские настройки" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Может получить и изменить пользовательские настройки" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Полный доступ Đş файловой системе на чтение/запись" #: src/bz-safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Может читать и записывать всо данные в файловой системе" #: src/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Доступ Đş дОПашноК папко для чтения/Саписи" #: src/bz-safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Может читать и записывать всо данные в вашоК дОПашноК папко" #: src/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Полный доступ Đş файловой системе на чтение" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Может читать всо данные в файловой системе" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Доступ на чтение дОПашноК папки" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Может читать всо данные в вашоК дОПашноК папко" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Доступ для чтения/Саписи в папку загрузки" #: src/bz-safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Может читать и записывать всо данные в вашоК папко загрузки" #: src/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Доступ на чтение папки загрузки" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Может читать всо данные в вашоК папко загрузки" #: src/bz-safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Может читать и записывать всо данные в папко" #: src/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Может читать всо данные в папко" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Нет доступа Đş файловой системе" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Не может получить доступ Đş файловой системе" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Использует системные службы" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Может запрашивать данные у системных сНуМй, но относящихся Đş порталу" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Использует службы соанса" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Может запрашивать данные у сНуМй соанса, но относящихся Đş порталу" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Нет доступа Đş сНуМйо" #: src/bz-safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "" "Не может получить доступ Đş сНуМйаП соанса иНи системным, но относящимся Đş " "порталу" #: src/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Подтверждённый разработчик приложения" #: src/bz-safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "" "Разработчик этого приложения подтвердил, что является тем, Са кОгО себя " "выдает" #: src/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Проприетарный кОд" #: src/bz-safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "Исходный кОд но является открытым, поэтому но может быть подвергнут " "ноСависиПОПу аудиту и может быть небезопасным" #: src/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Проверяемый кОд" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Использует системную сНуМйу %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Использует сНуМйу соанса %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Использует сНуМйу %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Может просматривать сНуМйу, но относящуюся Đş порталу" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Может связаться сО сНуМйОК, но относящейся Đş порталу" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Может быть владельцем службы, но относящейся Đş порталу" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Интеграция с глобальным меню" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Может показывать своё меню в глобальной пОНОсо меню" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Интеграция с настройками KDE" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Может определять иСПононио в настройках рабочего стола KDE" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Глобальные параметры KDE" #: src/bz-safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Может читать параметры рабочего стола KDE как шрифты и цвета" #: src/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "ХНуМйа хранения секретов" #: src/bz-safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "Может хранить и извлекать свОи пароли используя системные ключи" #: src/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "ХНуМйа уводОПНониК рабочего стола" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Может отправлять уведомления на рабочий стол" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Интеграция с системным треем" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Может отображать икОнку в системном треем" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Интеграция с KDE Connect" #: src/bz-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: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-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 "_Mobile Friendly" msgstr "_Для мобильных" #: 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 "Нет результатов пО запросу \"%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: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: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 "О _Bazaar" #: 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: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 "Не удалось запустить приложение" #: src/bz-window.c:860 msgid "You can't remove Bazaar from Bazaar!" msgstr "Вы но можете удалить Bazaar иС Bazaar!" #: src/bz-window.c:1166 src/bz-window.c:1200 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" ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/po/tr.po������������������������������������������������������������������0000664�0000000�0000000�00000263715�15223463552�0016776�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-01 23:08+0300\n" "PO-Revision-Date: 2026-07-02 22:43+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: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 "Bu bilgisayara flatpak yazÄąlÄąmÄą ekle, kaldÄąr ya da gĂźncelle" #: data/io.github.kolunmi.Bazaar.desktop.in:9 msgid "GTK;System;PackageManager;Discover;Flatpak;Software;Store;" msgstr "" "GTK;System;PackageManager;Discover;Flatpak;Software;Store;Sistem;Paket " "YĂśneticisi;Keşfet;YazÄąlÄąmlar;Mağaza;Çarşı;" #: data/io.github.kolunmi.Bazaar.desktop.in:16 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:786 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:333 #, c-format msgid "Add-on for %s" msgstr "%s Eklentisi" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 msgid "Show Less" msgstr "Daha Az GĂśster" #: src/bz-addons-dialog.c:347 src/bz-full-view.c:626 src/bz-section-view.blp:71 msgid "Show More" msgstr "Daha Çok GĂśster" #: src/bz-addons-dialog.c:397 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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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:26 src/bz-app-size-dialog.blp:60 msgid "Download Size" msgstr "İndirme Boyutu" #: src/bz-app-size-dialog.blp:33 src/bz-app-size-dialog.blp:81 msgid "Installed Size" msgstr "Kurulum Boyutu" #: src/bz-app-size-dialog.blp:61 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:82 msgid "Size on Disk" msgstr "Diskteki kapladığı alan" #: src/bz-app-size-dialog.blp:133 msgid "Open user data folder" msgstr "KullanÄącÄą veri klasĂśrĂźnĂź aç" #: src/bz-app-size-dialog.blp:143 msgid "Your User Data" msgstr "KullanÄącÄą Veriniz" #: src/bz-app-size-dialog.blp:144 msgid "Caches, settings, and other app data" msgstr "Önbellekler, ayarlar ve diğer uygulama verileri" #: src/bz-app-size-dialog.blp:165 msgid "Cache" msgstr "Önbellek" #: src/bz-app-size-dialog.blp:166 msgid "Temporary cached data" msgstr "Geçici Ăśnbellekli veri" #: src/bz-app-size-dialog.blp:176 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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-context-tile-callbacks.c:410 msgid "N/A" msgstr "Yok" #: src/bz-app-size-dialog.c:226 msgid "App Size" msgstr "Uygulama Boyutu" #: 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 "Doğrulanmış" #. Translators: As in 'The app is installed'. #: src/bz-app-tile.blp:88 src/bz-context-tile-callbacks.c:135 #: src/bz-releases-list.c:206 msgid "Installed" msgstr "Kurulu" #. Translators: Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2 #: src/bz-application.c:789 msgid "translator-credits" msgstr "Sabri Ünal <yakushabb@gmail.com>, 2025-2026" #: src/bz-application.c:799 msgid "Special Thanks" msgstr "Özel TeşekkĂźrler" #: src/bz-application.c:857 msgid "Logged Out Successfully!" msgstr "Oturum KapatÄąldÄą!" #: src/bz-application.c:1037 msgid "Ubuntu Troubles!" msgstr "Ubuntu SorunlarÄą!" #: src/bz-application.c:1040 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:1046 msgid "Continue Anyway" msgstr "Yine De SĂźrdĂźr" #: src/bz-application.c:1062 msgid "Performing setup…" msgstr "Kurulum gerçekleştiriliyor…" #: src/bz-application.c:1154 msgid "Set Up System Flathub?" msgstr "Sistem FlathubʟĹ Kurulsun Mu?" #: src/bz-application.c:1157 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:1164 msgid "Set Up Flathub?" msgstr "Flathub Kurulsun Mu?" #: src/bz-application.c:1167 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:1173 msgid "Later" msgstr "Sonra" #: src/bz-application.c:1174 msgid "Set Up Flathub" msgstr "FlathubʟĹ Kur" #: src/bz-application.c:1696 msgid "A backend error occurred" msgstr "Arka uç hatasÄą oluştu" #: src/bz-application.c:1896 src/bz-application.c:4111 msgid "Refreshing…" msgstr "Yenileniyor…" #: src/bz-application.c:2060 src/bz-application.c:4109 #, c-format msgid "Loading %d apps…" msgstr "%d uygulama yĂźkleniyor…" #: src/bz-application.c:2113 msgid "Failed to open file" msgstr "Dosya açĹlamadÄą" #: src/bz-application.c:2234 msgid "An initialization error occurred" msgstr "İlklendirme hatasÄą oluştu" #: src/bz-application.c:2628 msgid "Checking for updates…" msgstr "GĂźncellemeler denetleniyor…" #: src/bz-application.c:2684 msgid "Failed to check for updates" msgstr "GĂźncellemeler denetlenemedi" #: src/bz-application.c:3821 msgid "Malformed Link" msgstr "HatalÄą BağlantÄą" #: src/bz-application.c:3822 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:3830 msgid "Could not find app" msgstr "Uygulama bulunamadÄą" #: src/bz-application.c:3861 msgid "Failed to load metainfo" msgstr "Metainfo yĂźklenemedi" #: src/bz-application.c:4113 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-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "Son ay içinde %d indirme" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s çalışma zamanÄą" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "İndirme Boyutu" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Boyut bilgisi yok" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "%s İndirme Boyutu" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "TĂźm Yaşlar" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Yaş derecelendirme bilgisi yok" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "TĂźm yaşlar için uygun" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "%d ve ĂźstĂź yaşlar için uygun" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "Bilinmiyor" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "%s altÄąnda lisanslanmış ĂśzgĂźr yazÄąlÄąm" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "ÖzgĂźr yazÄąlÄąm" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Sahipli YazÄąlÄąm" #: src/bz-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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "ÖzgĂźr YazÄąlÄąm" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Sahipli" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Özel Lisans" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "UyarlanÄąr" # ArayĂźzde sığmadığı için new line eklendi #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "" "YalnÄązca\n" "MasaĂźstĂź" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "Telefonlarda, tabletlerde ve masaĂźstĂźlerde çalışır" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "Mobil aygÄątlarda çalışmayabilir" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "GĂźvenli" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "Düşük Risk" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "Orta Risk" #: src/bz-context-tile-callbacks.c:408 msgid "High Risk" msgstr "YĂźksek Risk" #: 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 "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-error.c:69 src/bz-error.c:88 #: src/bz-safety-dialog.blp:98 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:415 #: 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:337 msgid "Favorites" msgstr "GĂśzdeler" #: src/bz-favorites-page.blp:17 src/bz-section-view.blp:86 msgid "Install All" msgstr "TĂźmĂźnĂź Kur" #: src/bz-favorites-page.blp:34 src/bz-user-data-page.blp:19 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:78 #: src/bz-library-page.blp:82 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.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:317 #, 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:319 msgid "Other Apps" msgstr "Diğer Uygulamalar" #: src/bz-full-view.c:321 #, c-format msgid "%d Application" msgid_plural "%d Applications" msgstr[0] "%d Uygulama" #: src/bz-full-view.c:506 src/bz-user-data-tile.c:144 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-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:32 msgid "Search installed apps" msgstr "Kurulu uygulamalarÄą ara" #: src/bz-library-page.blp:50 msgid "Clear search" msgstr "AramayÄą temizle" #: src/bz-library-page.blp:71 msgid "No Apps Found" msgstr "Uygulama BulunamadÄą" #: src/bz-library-page.blp:90 msgid "Search Store Instead" msgstr "Mağazada Ara" #. Translators: . #: src/bz-library-page.blp:100 src/bz-window.blp:114 msgid "Library" msgstr "KitaplÄąk" #: src/bz-library-page.blp:129 msgid "Pending Updates" msgstr "GĂźncellemeler Bekliyor" #: src/bz-library-page.blp:156 msgid "Downloads" msgstr "İndirmeler" #: src/bz-library-page.blp:199 msgid "Recently Uninstalled" msgstr "Son KaldÄąrÄąlanlar" #: src/bz-library-page.blp:250 msgid "Clear Finished Tasks" msgstr "Tamamlanan GĂśrevleri Temizle" #: src/bz-library-page.blp:277 msgid "Sort Options" msgstr "SÄąralama Seçenekleri" #: src/bz-library-page.blp:336 msgid "Sort By" msgstr "SÄąrala" #: src/bz-library-page.blp:350 msgid "Name" msgstr "Ad" #: src/bz-library-page.blp:356 msgid "Size" msgstr "Boyut" #: src/bz-library-page.c:180 #, 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:193 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:203 #, c-format msgid "%u Installed App" msgid_plural "%u Installed Apps" msgstr[0] "%u Kurulu Uygulama" #: 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: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:84 msgid "Select Metainfo File" msgstr "Metainfo DosyasÄą Seç" #: src/bz-metainfo-preview.c:87 msgid "Metainfo Files" msgstr "Metainfo DosyalarÄą" #: src/bz-metainfo-preview.c:141 msgid "Select Icon (Optional)" msgstr "Simge Seç (İsteğe bağlÄą)" #: src/bz-metainfo-preview.c:144 msgid "Image Files" msgstr "Resim DosyalarÄą" #: src/bz-metainfo-preview.c:231 msgid "Preview" msgstr "Ön İzle" #: 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 msgid "Refresh Manually" msgstr "Elle Yenile" #: src/bz-preferences-dialog.blp:31 msgid "Content Filters" msgstr "İçerik SĂźzgeçleri" #: src/bz-preferences-dialog.blp:34 msgid "Free Software Only" msgstr "YalnÄązca ÖzgĂźr YazÄąlÄąmlar" #: src/bz-preferences-dialog.blp:35 msgid "Hide proprietary apps when browsing and searching" msgstr "GĂśz atarken ve arama yaparken sahipli uygulamalarÄą gizle" #: src/bz-preferences-dialog.blp:39 msgid "Flathub Results Only" msgstr "YalnÄązca Flathub SonuçlarÄą" #: src/bz-preferences-dialog.blp:40 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:44 msgid "Verified Results Only" msgstr "YalnÄązca Doğrulanmış Sonuçlar" #: src/bz-preferences-dialog.blp:45 msgid "Hide results that are not verified on Flathub" msgstr "FlathubĘźda doğrulanmamış sonuçlarÄą gizle" #: src/bz-preferences-dialog.blp:49 msgid "Hide End-of-Life Apps" msgstr "ÖmrĂźnĂźn Sonuna Gelmiş UygulamalarÄą Gizle" #: src/bz-preferences-dialog.blp:50 msgid "Hide apps which are no longer supported by their developers" msgstr "Geliştiricilerince artÄąk desteklenmeyen uygulamalarÄą gizle" #: src/bz-preferences-dialog.blp:55 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-calculator.c:87 msgid "Unknown Permissions" msgstr "Bilinmeyen İzinler" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "Bu uygulama için izinler eksik." #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "İzin Yok" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Uygulama tĂźmĂźyle yalÄątÄąlmış alandadÄąr" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Ağ Erişimi" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "İnternete erişebilir" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Ağ Erişimi Yok" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "İnternete erişemez" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "KullanÄącÄą AygÄątÄą Erişimi" #: src/bz-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/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "KullanÄącÄą AygÄątÄą Erişimi Yok" #: src/bz-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/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Girdi AygÄątÄą Erişimi" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Girdi aygÄątlarÄąna erişebilir" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Mikrofon Erişimi ve Ses OynatÄąmÄą" #: src/bz-safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "İzin istemeden mikrofonlarla dinleyebilir ve sesleri oynatabilir" #: src/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Sistem AygÄątÄą Erişimi" #: src/bz-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/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Ekran İçerikleri Erişimi" #: src/bz-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/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Eski Pencereleme Sistemi" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Daima eski pencereleme sistemi kullanÄąr (X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "İsteğe BağlÄą İzinler" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "İsteğe bağlÄą izinler edinir" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "KullanÄącÄą AyarlarÄą" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "KullanÄącÄą ayarlarÄąna erişebilir ve değiştirebilir" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "TĂźm Dosya Sistemini Okuma/Yazma Erişimi" #: src/bz-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/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Ev KlasĂśrĂź Okuma/Yazma Erişimi" #: src/bz-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/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "TĂźm Dosya Sistemini Okuma Erişimi" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Dosya sistemindeki tĂźm veriyi okuyabilir" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Ev KlasĂśrĂź Okuma Erişimi" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Ev dizininizdeki tĂźm verinizi okuyabilir" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "İndirilenler KlasĂśrĂź Okuma/Yazma Erişimi" #: src/bz-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/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "İndirilenler KlasĂśrĂź Okuma Erişimi" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "İndirilenler dizininizdeki tĂźm veriyi okuyabilir" #: src/bz-safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Dizindeki tĂźm veriyi okuyabilir ve yazabilir" #: src/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Dizindeki tĂźm veriyi okuyabilir" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Dosya Sistemi Erişimi Yok" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Dosya sistemine asla erişemez" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Sistem Hizmetlerini KullanÄąr" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "KapÄą dışı sistem hizmetlerinden veri isteyebilir" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Oturum Hizmetlerini KullanÄąr" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "KapÄą dışı oturum hizmetlerinden veri isteyebilir" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Hizmet Erişimi Yok" #: src/bz-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/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Doğrulanmış Uygulama Geliştiricileri" #: src/bz-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/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Sahipli Kod" #: src/bz-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/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Denetlenebilir Kod" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "%s Sistem Hizmetini Kullan" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "%s Oturum Hizmetini Kullan" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "%s Hizmetini Kullan" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "KapÄą dışı hizmetleri gĂśrebilir" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "KapÄą dışı hizmetlere konuşabilir" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "KapÄą dışı hizmet edinebilir" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "KĂźresel MenĂź TĂźmleşimi" #: src/bz-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/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDE AyarlarÄą TĂźmleşimi" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "KDE masaĂźstĂź ayarlarÄą değiştiğinde algÄąlayabilir" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "KDE Genel Ayarlar" #: src/bz-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/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Gizli Depolama Hizmeti" #: src/bz-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/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "MasaĂźstĂź Bildirim Hizmeti" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "MasaĂźstĂź bildirimleri gĂśnderebilir" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Sistem Tepsisi TĂźmleşimi" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Sistem tepsisinde simge gĂśsterebilir" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect TĂźmleşimi" #: src/bz-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/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: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-filter-popover.blp:18 src/bz-search-page.blp:83 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:58 msgid "Search Apps, Games, Software" msgstr "UygulamalarÄą, OyunlarÄą, YazÄąlÄąmlarÄą Ara" #: src/bz-search-page.blp:70 msgid "Search Filters" msgstr "Arama SĂźzgeçleri" #: src/bz-search-page.blp:100 msgid "Clear Search" msgstr "AramayÄą Temizle" #: src/bz-search-page.blp:209 msgid "Browse Categories" msgstr "Kategorilere GĂśz At" #: src/bz-search-page.blp:245 msgid "Categories Unavailable" msgstr "Kategoriler KullanÄąlamÄąyor" #: src/bz-search-page.blp:246 msgid "Search for apps using the search bar above." msgstr "YukarÄądaki arama çubuğunu kullanarak uygulamalarÄą ara." #: src/bz-search-page.blp:364 msgid "No Applications Found" msgstr "Uygulama BulunamadÄą." #: src/bz-search-page.c:248 #, 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:33 msgid "No User Data Found" msgstr "KullanÄącÄą Verisi bulunamadÄą" #: src/bz-user-data-page.blp:38 msgid "User Data" msgstr "KullanÄącÄą Verisi" #: src/bz-user-data-tile.blp:74 msgid "Trash User Data" msgstr "KullanÄącÄą Verisini Çöpe Taşı" #: src/bz-user-data-tile.c:150 #, 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:281 msgid "_Donate to Bazaar" msgstr "BazaarĘźa _Bağış Yap" #: src/bz-window.blp:287 msgid "_Refresh" msgstr "_Yenile" #: src/bz-window.blp:291 msgid "_Login With Flathub" msgstr "Flathub İle _Oturum Aç" #: src/bz-window.blp:297 msgid "_Manage Leftover User Data" msgstr "ArtÄąk KullanÄącÄą Verisini _YĂśnet" #: src/bz-window.blp:303 msgid "_Preferences" msgstr "_Tercihler" #: src/bz-window.blp:308 msgid "_Keyboard Shortcuts" msgstr "_Klavye KÄąsayollarÄą" #: src/bz-window.blp:313 msgid "_About Bazaar" msgstr "Bazaar _HakkÄąnda" #: src/bz-window.blp:319 msgid "_Quit Bazaar" msgstr "BazaarĘźdan Çı_k" #: src/bz-window.blp:344 msgid "Log Out" msgstr "Oturumu Kapat" #. 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 "Uygulama başlatÄąlamadÄą" #: src/bz-window.c:860 msgid "You can't remove Bazaar from Bazaar!" msgstr "BazaarʟĹ Bazaar ile kaldÄąramazsÄąnÄąz!" #: src/bz-window.c:1166 src/bz-window.c:1200 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/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" ���������������������������������������������������bazaar-org-bazaar-85ae777/po/uk.po������������������������������������������������������������������0000664�0000000�0000000�00000315734�15223463552�0016767�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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-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/bz-context-tile-callbacks.c:104 #: src/bz-context-tile-callbacks.c:392 src/bz-context-tile-callbacks.c:409 msgid "N/A" msgstr "Н/Д" #: src/bz-bundle-install-dialog.c:214 msgid "No special permissions" msgstr "Без особливих дозволів" #: src/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*f ПНн" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*f тис." #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "%d завантажень Са останній місяць" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+ середовище виконання %s" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "Завантажити" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "Дані про розмір недоступні" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "Розмір завантаження" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "Без обмежень" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "Дані щодо вікового обмеження недоступні" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "Без обмежень Са віком" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "%d та старше" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:284 msgid "Unknown" msgstr "Невідомо" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "Вільне ПЗ Са ліцензією %s" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "Вільне ПЗ" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "Власницька ліцензія" #: src/bz-context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "Власна ліцензія: %s" #: src/bz-context-tile-callbacks.c:281 msgid "Free" msgstr "Вільна ліцензія" #: src/bz-context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "Власницька ліцензія" #: src/bz-context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "Власна ліцензія" #: src/bz-context-tile-callbacks.c:309 msgid "Adaptive" msgstr "Адаптивний" #: src/bz-context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "Лише для стільниць" #: src/bz-context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "Працює на стільницях, планшетах і смартфонах" #: src/bz-context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "Може но працювати на мобільних пристроях" #: src/bz-context-tile-callbacks.c:399 src/bz-safety-dialog.blp:27 msgid "Safe" msgstr "Безпечний" #: src/bz-context-tile-callbacks.c:401 src/bz-context-tile-callbacks.c:403 msgid "Low Risk" msgstr "Низький ризик" #: src/bz-context-tile-callbacks.c:405 msgid "Medium Risk" msgstr "Помірний ризик" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "Невідомі дОСвОНи" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "ЌоК застосунок но має дозволів" #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "Немає дозволів" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "Застосунок повністю закритий у пісочниці" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "Доступ Đ´Đž мережі" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "Може доступатися Đ´Đž мережі" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "Без доступу Đ´Đž мережі" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "Не ПОМо доступатися Đ´Đž мережі" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "Доступ Đ´Đž пристроїв" #: src/bz-safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "" "Може доступатися Đ´Đž таких пристроїв, як вебкамера айО ігрові контролери" #: src/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "Без доступу Đ´Đž пристроїв" #: src/bz-safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "" "Не ПОМо доступатися Đ´Đž таких пристроїв, як вебкамера айО ігрові контролери" #: src/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "Доступ Đ´Đž пристроїв уведення" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "Може доступатися Đ´Đž пристроїв уведення" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "Доступ Đ´Đž мікрофону та відтворення Свуку" #: src/bz-safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "" "Може доступатися Đ´Đž мікрофону та програвати Свуки йоС додаткових запитів" #: src/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "Доступ Đ´Đž системних пристроїв" #: src/bz-safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "" "Може доступатися Đ´Đž системних пристроїв, котрі вимагають підвищених " "повноважень" #: src/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "Доступ Đ´Đž вмісту екрану" #: src/bz-safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "Може доступатися Đ´Đž вмісту на екрані та інших вікон" #: src/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "Застаріла система вікон" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "Завжди користує застарілу систему вікон (X11)" #: src/bz-safety-calculator.c:161 msgid "Arbitrary Permissions" msgstr "Власні дОСвОНи" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "Може набувати власних дозволів" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "Налаштування користувача" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "Може доступатися Đ´Đž та правити користувацькі налаштування" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "Повний доступ Đ´Đž читання та Сапису С/Đ´Đž файлової системи" #: src/bz-safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "Може читати та записувати будь-яке місце у файловій системі" #: src/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "Доступ Đ´Đž читання та Сапису домашньої теки" #: src/bz-safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "Може читати та записувати будь-яке місце Вашої домашньої теки" #: src/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "Повний доступ Đ´Đž читання файлової системи" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "Може читати будь-яке місце у файловій системі" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "Доступ Đ´Đž читання домашньої теки" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "Може читати будь-яке місце Вашої домашньої теки" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "Доступ Đ´Đž читання та Сапису теки завантажень" #: src/bz-safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "Може читати та записувати Đ´Đž Вашої теки завантажень" #: src/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "Доступ Đ´Đž читання теки завантажень" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "Може читати С Вашої теки завантажень" #: src/bz-safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "Може читати та записувати будь-яке місце у теці" #: src/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "Може читати будь-яке місце у теці" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "Без доступу Đ´Đž файлової системи" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "Не ПОМо доступатися файлової системи" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "Користує системні сервіси" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "Може запитувати дані від системних сервісів у обхід порталів" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "Користує сесійні сервіси" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "Може запитувати дані від сесійних сервісів у обхід порталів" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "Без доступу Đ´Đž сервісів" #: src/bz-safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "Не ПОМо запитувати дані в обхід порталів" #: src/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "Підтверджені розробники" #: src/bz-safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "Приналежність застосунку Đ´Đž заявлених розробників йуНО підтверджено" #: src/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "Власницький кОд" #: src/bz-safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "" "Початковий кОд но оприлюднено, відтак но ПОМо бути перевіреним та ПОМо бути но" "безпечним" #: src/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "Доступний кОду" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "Користує системний сервіс %s" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "Користує сесійний сервіс %s" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "Користує сервіс %s" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "Може бачити сервіс у обхід порталу" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "Може звʼязуватися із сервісом пОСа порталом" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "Може володіти сервісом пОСа порталом" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "Сумісність із глобальним меню" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "Може показувати власні меню на глобальній панелі" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "Сумісність із налаштуваннями KDE" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "Може бачити зміни у налаштуваннях стільниці KDE" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "Загальні налаштування KDE" #: src/bz-safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "Може читати деякі налаштування стільниці KDE, як-от шрифти та кольори" #: src/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "Сервіс таємного сховку" #: src/bz-safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "" "Може зберігати та отримувати власні паролі С допомогою системної звʼязки ключі" "в" #: src/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "Сповіщення" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "Може надсилати стільничні сповіщення" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "Сумісність із системним лотком" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "Може показувати іконку в системному лотку" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "Сумісність із KDE Connect" #: src/bz-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-85ae777/po/vi.po������������������������������������������������������������������0000664�0000000�0000000�00000137606�15223463552�0016766�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/bz-error.c:68 msgid "An Error Occurred" msgstr "Đã xảy ra lỗi" #: src/bz-error.c:89 msgid "Close" msgstr "Đóng" #: src/bz-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-85ae777/po/zh_CN.po���������������������������������������������������������������0000664�0000000�0000000�00000255326�15223463552�0017351�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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-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/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "过去 30 天内下载 %d 揥" #: src/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:389 #: src/bz-context-tile-callbacks.c:406 msgid "N/A" msgstr "N/A" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s 运行时" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "下载" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "大小信息不可用" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "%s 的下载大小" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "全年龄" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "年龄分级信息不可用" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "适合全年龄段" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "适合年龄为 %d 岁及以上" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:284 msgid "Unknown" msgstr "未知" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "根据 %s 许可证授权的自由软件" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "自由软件" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "专有软件" #: src/bz-context-tile-callbacks.c:264 #, c-format msgid "Special License: %s" msgstr "特殊许可证: %s" #: src/bz-context-tile-callbacks.c:281 msgid "Free" msgstr "自由" #: src/bz-context-tile-callbacks.c:287 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "专有" #: src/bz-context-tile-callbacks.c:289 src/bz-license-dialog.c:135 msgid "Special License" msgstr "特殊许可" #: src/bz-context-tile-callbacks.c:309 msgid "Adaptive" msgstr "自适应" #: src/bz-context-tile-callbacks.c:309 msgid "Desktop Only" msgstr "仅桌面端" #: src/bz-context-tile-callbacks.c:315 msgid "Works on desktop, tablets, and phones" msgstr "适用于台式机、平板电脑和手机" #: src/bz-context-tile-callbacks.c:316 msgid "May not work on mobile devices" msgstr "可能无法在移动设备上使用" #: src/bz-context-tile-callbacks.c:396 src/bz-safety-dialog.blp:31 msgid "Safe" msgstr "安全" #: src/bz-context-tile-callbacks.c:398 src/bz-context-tile-callbacks.c:400 msgid "Low Risk" msgstr "低风险" #: src/bz-context-tile-callbacks.c:402 msgid "Medium Risk" msgstr "中等风险" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:82 msgid "Unknown Permissions" msgstr "未知权限" #: src/bz-safety-calculator.c:83 msgid "Permissions are missing for this app." msgstr "此应用缺少必要的权限。" #: src/bz-safety-calculator.c:96 msgid "No Permissions" msgstr "没有权限" #: src/bz-safety-calculator.c:97 msgid "App is fully sandboxed" msgstr "应用已完全沙盒化" #: src/bz-safety-calculator.c:103 msgid "Network Access" msgstr "网络访问" #: src/bz-safety-calculator.c:104 msgid "Can access the internet" msgstr "可访问网络" #: src/bz-safety-calculator.c:106 msgid "No Network Access" msgstr "无网络访问" #: src/bz-safety-calculator.c:107 msgid "Cannot access the internet" msgstr "不能访问互联网" #: src/bz-safety-calculator.c:112 msgid "User Device Access" msgstr "用户设备访问" #: src/bz-safety-calculator.c:113 msgid "Can access devices such as webcams or gaming controllers" msgstr "可以访问网络摄像头或游戏控制器等硬件设备" #: src/bz-safety-calculator.c:115 msgid "No User Device Access" msgstr "无用户设备访问" #: src/bz-safety-calculator.c:116 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "应用不能访问网络摄像头或游戏控制器等任何用户设备" #: src/bz-safety-calculator.c:121 msgid "Input Device Access" msgstr "输入设备访问" #: src/bz-safety-calculator.c:122 msgid "Can access input devices" msgstr "可以访问输入设备" #: src/bz-safety-calculator.c:128 msgid "Microphone Access and Audio Playback" msgstr "麦克风访问和音频播放" #: src/bz-safety-calculator.c:129 msgid "Can listen using microphones and play audio without asking permission" msgstr "无需请求权限即可使用麦克风收听和播放音频" #: src/bz-safety-calculator.c:135 msgid "System Device Access" msgstr "系统设备访问" #: src/bz-safety-calculator.c:136 msgid "Can access system devices which require elevated permissions" msgstr "可以访问需要提升权限的系统设备" #: src/bz-safety-calculator.c:142 msgid "Screen Contents Access" msgstr "屏幕内容访问" #: src/bz-safety-calculator.c:143 msgid "Can access the contents of the screen or other windows" msgstr "可以访问屏幕或其他窗口的内容" #: src/bz-safety-calculator.c:149 msgid "Legacy Windowing System" msgstr "过时窗口系统" #: src/bz-safety-calculator.c:150 msgid "Always uses a legacy windowing system (X11)" msgstr "始终使用过时的窗口系统(X11)" #: src/bz-safety-calculator.c:156 msgid "Arbitrary Permissions" msgstr "任意权限" #: src/bz-safety-calculator.c:157 msgid "Can acquire arbitrary permissions" msgstr "可以获取任意权限" #: src/bz-safety-calculator.c:163 msgid "User Settings" msgstr "用户设置" #: src/bz-safety-calculator.c:164 msgid "Can access and change user settings" msgstr "可以访问和更改用户设置" #: src/bz-safety-calculator.c:170 msgid "Full File System Read/Write Access" msgstr "完全的文件系统读写权限" #: src/bz-safety-calculator.c:171 msgid "Can read and write all data on the file system" msgstr "可以读取和写入文件系统上的所有数据" #: src/bz-safety-calculator.c:178 msgid "Home Folder Read/Write Access" msgstr "主文件夹读写权限" #: src/bz-safety-calculator.c:179 msgid "Can read and write all data in your home directory" msgstr "可以读取和写入您主目录中的所有数据" #: src/bz-safety-calculator.c:186 msgid "Full File System Read Access" msgstr "完整文件系统读取访问" #: src/bz-safety-calculator.c:187 msgid "Can read all data on the file system" msgstr "可以读取文件系统上的所有数据" #: src/bz-safety-calculator.c:195 msgid "Home Folder Read Access" msgstr "主文件夹读取权限" #: src/bz-safety-calculator.c:196 msgid "Can read all data in your home directory" msgstr "可以读取您主目录中的所有数据" #: src/bz-safety-calculator.c:204 msgid "Download Folder Read/Write Access" msgstr "下载文件夹读写权限" #: src/bz-safety-calculator.c:205 msgid "Can read and write all data in your downloads directory" msgstr "可以读写下载文件夹中的所有数据" #: src/bz-safety-calculator.c:215 msgid "Download Folder Read Access" msgstr "下载文件夹读取权限" #: src/bz-safety-calculator.c:216 msgid "Can read all data in your downloads directory" msgstr "可以读取您下载目录中的所有数据" #: src/bz-safety-calculator.c:229 msgid "Can read and write all data in the directory" msgstr "可以读写目录中的所有数据" #: src/bz-safety-calculator.c:243 msgid "Can read all data in the directory" msgstr "可以读取目录中的所有数据" #: src/bz-safety-calculator.c:258 msgid "No File System Access" msgstr "无文件系统访问权限" #: src/bz-safety-calculator.c:259 msgid "Cannot access the file system at all" msgstr "完全无法访问文件系统" #: src/bz-safety-calculator.c:266 msgid "Uses System Services" msgstr "使用系统服务" #: src/bz-safety-calculator.c:267 msgid "Can request data from non-portal system services" msgstr "可从非门户系统服务请求数据" #: src/bz-safety-calculator.c:273 msgid "Uses Session Services" msgstr "使用会话服务" #: src/bz-safety-calculator.c:274 msgid "Can request data from non-portal session services" msgstr "可从非门户会话服务请求数据" #: src/bz-safety-calculator.c:322 msgid "No Service Access" msgstr "无服务访问" #: src/bz-safety-calculator.c:323 msgid "Cannot access non-portal session or system services at all" msgstr "完全无法访问非门户会话或系统服务" #: src/bz-safety-calculator.c:331 msgid "Verified App Developer" msgstr "软件开发者已验证" #: src/bz-safety-calculator.c:332 msgid "The developer of this app has been verified to be who they say they are" msgstr "软件开发者的身份已通过验证,使应用更安全" #: src/bz-safety-calculator.c:341 msgid "Proprietary Code" msgstr "专有代码" #: src/bz-safety-calculator.c:342 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "源代码未公开,因此无法进行独立审计,可能存在安全隐患" #: src/bz-safety-calculator.c:352 msgid "Auditable Code" msgstr "可审计代码" #: src/bz-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/bz-safety-calculator.c:493 #, c-format msgid "Use the %s System Service" msgstr "使用 %s 系统服务" #: src/bz-safety-calculator.c:497 #, c-format msgid "Use the %s Session Service" msgstr "使用 %s 会话服务" #: src/bz-safety-calculator.c:501 #, c-format msgid "Use the %s Service" msgstr "使用 %s 服务" #: src/bz-safety-calculator.c:511 msgid "Can see the non-portal service" msgstr "可以看到非门户服务" #: src/bz-safety-calculator.c:513 msgid "Can talk to the non-portal service" msgstr "可与非门户服务进行对话" #: src/bz-safety-calculator.c:515 msgid "Can own the non-portal service" msgstr "可以拥有非门户服务" #: src/bz-safety-calculator.c:530 msgid "Global Menu Integration" msgstr "全局菜单集成" #: src/bz-safety-calculator.c:531 msgid "Can display its menus in a global menu bar" msgstr "可在全局菜单栏中显示其菜单" #: src/bz-safety-calculator.c:536 msgid "KDE Settings Integration" msgstr "KDE 设置集成" #: src/bz-safety-calculator.c:537 msgid "Can detect when KDE desktop settings change" msgstr "可检测 KDE 桌面设置何时发生变化" #: src/bz-safety-calculator.c:542 msgid "KDE Global Settings" msgstr "KDE 全局设置" #: src/bz-safety-calculator.c:543 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "可读取 KDE 桌面偏好设置,如字体和颜色" #: src/bz-safety-calculator.c:548 msgid "Secret Storage Service" msgstr "秘密存储服务" #: src/bz-safety-calculator.c:549 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "可使用系统密钥管理器存储和检索自身密码" #: src/bz-safety-calculator.c:554 msgid "Desktop Notifications Service" msgstr "桌面通知服务" #: src/bz-safety-calculator.c:555 msgid "Can send desktop notifications" msgstr "可以发送桌面通知" #: src/bz-safety-calculator.c:561 msgid "System Tray Integration" msgstr "系统托盘集成" #: src/bz-safety-calculator.c:562 msgid "Can display an icon in the system tray" msgstr "可在系统托盘中显示图标" #: src/bz-safety-calculator.c:567 msgid "KDE Connect Integration" msgstr "KDE Connect 集成" #: src/bz-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-85ae777/po/zh_TW.po���������������������������������������������������������������0000664�0000000�0000000�00000301230�15223463552�0017365�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/bz-context-tile-callbacks.c:186 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:104 src/bz-context-tile-callbacks.c:393 #: src/bz-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/bz-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/bz-context-tile-callbacks.c:68 msgid "---" msgstr "---" #. Translators: M is the suffix for millions #: src/bz-context-tile-callbacks.c:75 #, c-format msgid "%.*fM" msgstr "%.*fM" #. Translators: K is the suffix for thousands #: src/bz-context-tile-callbacks.c:82 #, c-format msgid "%.*fK" msgstr "%.*fK" #: src/bz-context-tile-callbacks.c:92 #, c-format msgid "%d downloads in the last month" msgstr "在過去一個月內有 %d 次下載" #: src/bz-context-tile-callbacks.c:132 #, c-format msgid "+%s runtime" msgstr "+%s 執行環境" #: src/bz-context-tile-callbacks.c:135 msgid "Download" msgstr "下載" #: src/bz-context-tile-callbacks.c:155 msgid "Size information unavailable" msgstr "大小資訊未知" #: src/bz-context-tile-callbacks.c:158 #, c-format msgid "Download size of %s" msgstr "下載 %s 的大小" #: src/bz-context-tile-callbacks.c:191 msgid "All Ages" msgstr "所有年齡層" #: src/bz-context-tile-callbacks.c:203 msgid "Age rating information unavailable" msgstr "年齡分級資訊未知" #: src/bz-context-tile-callbacks.c:208 msgid "Suitable for all ages" msgstr "適合所有年齡層" #: src/bz-context-tile-callbacks.c:210 #, c-format msgid "Suitable for ages %d and up" msgstr "遊合 %d 歲以上" #: src/bz-context-tile-callbacks.c:243 src/bz-context-tile-callbacks.c:248 #: src/bz-context-tile-callbacks.c:276 src/bz-context-tile-callbacks.c:285 msgid "Unknown" msgstr "未知" #: src/bz-context-tile-callbacks.c:253 #, c-format msgid "Free software licensed under %s" msgstr "䞝 %s 授權的自由軟體" #: src/bz-context-tile-callbacks.c:258 msgid "Free software" msgstr "自由軟體" #: src/bz-context-tile-callbacks.c:261 msgid "Proprietary Software" msgstr "專有軟體" #: src/bz-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/bz-context-tile-callbacks.c:282 msgid "Free Software" msgstr "自由軟體" #: src/bz-context-tile-callbacks.c:288 src/bz-license-dialog.c:133 msgid "Proprietary" msgstr "專有" #: src/bz-context-tile-callbacks.c:290 src/bz-license-dialog.c:135 msgid "Special License" msgstr "特殊授權" #: src/bz-context-tile-callbacks.c:310 msgid "Adaptive" msgstr "支援多裝置" #: src/bz-context-tile-callbacks.c:310 msgid "Desktop Only" msgstr "僅限桌面" #: src/bz-context-tile-callbacks.c:316 msgid "Works on desktop, tablets, and phones" msgstr "可在電腦、平板與手機上使用" #: src/bz-context-tile-callbacks.c:317 msgid "May not work on mobile devices" msgstr "可能無法在行動裝置上使用" #: src/bz-context-tile-callbacks.c:400 src/bz-safety-dialog.blp:79 msgid "Safe" msgstr "安全" #: src/bz-context-tile-callbacks.c:402 src/bz-context-tile-callbacks.c:404 msgid "Low Risk" msgstr "低風險" #: src/bz-context-tile-callbacks.c:406 msgid "Medium Risk" msgstr "中度風險" #: src/bz-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/bz-error.c:69 src/bz-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/bz-safety-calculator.c:87 msgid "Unknown Permissions" msgstr "未知的權限" #: src/bz-safety-calculator.c:88 msgid "Permissions are missing for this app." msgstr "此應用程式缺少權限資訊。" #: src/bz-safety-calculator.c:101 msgid "No Permissions" msgstr "無權限需求" #: src/bz-safety-calculator.c:102 msgid "App is fully sandboxed" msgstr "此應用程式已完全沙箱化" #: src/bz-safety-calculator.c:108 msgid "Network Access" msgstr "網路存取" #: src/bz-safety-calculator.c:109 msgid "Can access the internet" msgstr "可存取網際網路" #: src/bz-safety-calculator.c:111 msgid "No Network Access" msgstr "無網路存取" #: src/bz-safety-calculator.c:112 msgid "Cannot access the internet" msgstr "無法存取網際網路" #: src/bz-safety-calculator.c:117 msgid "User Device Access" msgstr "使用者裝置存取" #: src/bz-safety-calculator.c:118 msgid "Can access devices such as webcams or gaming controllers" msgstr "可存取如網路攝影機或遊戲控制器等裝置" #: src/bz-safety-calculator.c:120 msgid "No User Device Access" msgstr "無使用者裝置存取" #: src/bz-safety-calculator.c:121 msgid "Cannot access devices such as webcams or gaming controllers" msgstr "無法存取如網路攝影機或遊戲控制器等裝置" #: src/bz-safety-calculator.c:126 msgid "Input Device Access" msgstr "輸入裝置存取" #: src/bz-safety-calculator.c:127 msgid "Can access input devices" msgstr "可存取輸入裝置" #: src/bz-safety-calculator.c:133 msgid "Microphone Access and Audio Playback" msgstr "麥克風存取與音訊播放" #: src/bz-safety-calculator.c:134 msgid "Can listen using microphones and play audio without asking permission" msgstr "可在未詢問權限的情況下使用麥克風收音並播放音訊" #: src/bz-safety-calculator.c:140 msgid "System Device Access" msgstr "系統裝置存取" #: src/bz-safety-calculator.c:141 msgid "Can access system devices which require elevated permissions" msgstr "可存取需要較高權限的系統裝置" #: src/bz-safety-calculator.c:147 msgid "Screen Contents Access" msgstr "螢幕內容存取" #: src/bz-safety-calculator.c:148 msgid "Can access the contents of the screen or other windows" msgstr "可存取螢幕或其他視窗的內容" #: src/bz-safety-calculator.c:154 msgid "Legacy Windowing System" msgstr "舊式視窗系統" #: src/bz-safety-calculator.c:155 msgid "Always uses a legacy windowing system (X11)" msgstr "一律使用舊式視窗系統(X11)" #: src/bz-safety-calculator.c:161 src/bz-safety-dialog.blp:31 msgid "Arbitrary Permissions" msgstr "任意權限" #: src/bz-safety-calculator.c:162 msgid "Can acquire arbitrary permissions" msgstr "可取得任意權限" #: src/bz-safety-calculator.c:168 msgid "User Settings" msgstr "使用者設定" #: src/bz-safety-calculator.c:169 msgid "Can access and change user settings" msgstr "可存取並變更使用者設定" #: src/bz-safety-calculator.c:175 msgid "Full File System Read/Write Access" msgstr "完整檔案系統讀取/寫入權限" #: src/bz-safety-calculator.c:176 msgid "Can read and write all data on the file system" msgstr "可讀取與寫入檔案系統中的所有資料" #: src/bz-safety-calculator.c:183 msgid "Home Folder Read/Write Access" msgstr "家目錄讀取/寫入權限" #: src/bz-safety-calculator.c:184 msgid "Can read and write all data in your home directory" msgstr "可讀取與寫入您家目錄中的所有資料" #: src/bz-safety-calculator.c:191 msgid "Full File System Read Access" msgstr "完整檔案系統讀取權限" #: src/bz-safety-calculator.c:192 msgid "Can read all data on the file system" msgstr "可讀取檔案系統中的所有資料" #: src/bz-safety-calculator.c:200 msgid "Home Folder Read Access" msgstr "家目錄讀取權限" #: src/bz-safety-calculator.c:201 msgid "Can read all data in your home directory" msgstr "可讀取您家目錄中的所有資料" #: src/bz-safety-calculator.c:209 msgid "Download Folder Read/Write Access" msgstr "下載資料夾讀取/寫入權限" #: src/bz-safety-calculator.c:210 msgid "Can read and write all data in your downloads directory" msgstr "可讀取與寫入您下載資料夾中的所有資料" #: src/bz-safety-calculator.c:220 msgid "Download Folder Read Access" msgstr "下載資料夾讀取權限" #: src/bz-safety-calculator.c:221 msgid "Can read all data in your downloads directory" msgstr "可讀取您下載資料夾中的所有資料" #: src/bz-safety-calculator.c:242 msgid "Can read and write all data in the directory" msgstr "可讀取與寫入該目錄中的所有資料" #: src/bz-safety-calculator.c:266 msgid "Can read all data in the directory" msgstr "可讀取該目錄中的所有資料" #: src/bz-safety-calculator.c:281 msgid "No File System Access" msgstr "無檔案系統存取權限" #: src/bz-safety-calculator.c:282 msgid "Cannot access the file system at all" msgstr "完全無法存取檔案系統" #: src/bz-safety-calculator.c:289 msgid "Uses System Services" msgstr "使用系統服務" #: src/bz-safety-calculator.c:290 msgid "Can request data from non-portal system services" msgstr "可向非入口(non-portal)的系統服務請求資料" #: src/bz-safety-calculator.c:296 msgid "Uses Session Services" msgstr "使用工作階段服務" #: src/bz-safety-calculator.c:297 msgid "Can request data from non-portal session services" msgstr "可向非入口(non-portal)的工作階段服務請求資料" #: src/bz-safety-calculator.c:345 msgid "No Service Access" msgstr "無服務存取權限" #: src/bz-safety-calculator.c:346 msgid "Cannot access non-portal session or system services at all" msgstr "完全無法存取非入口(non-portal)的工作階段或系統服務" #: src/bz-safety-calculator.c:354 msgid "Verified App Developer" msgstr "已驗證的應用程式開發者" #: src/bz-safety-calculator.c:355 msgid "The developer of this app has been verified to be who they say they are" msgstr "此應用程式的開發者身分已通過驗證,確認與其所聲稱的身分相符" #: src/bz-safety-calculator.c:364 msgid "Proprietary Code" msgstr "專有程式碼" #: src/bz-safety-calculator.c:365 msgid "" "The source code is not public, so it cannot be independently audited and " "might be unsafe" msgstr "原始碼未公開,無法進行獨立稽核,可能存在安全風險" #: src/bz-safety-calculator.c:375 msgid "Auditable Code" msgstr "可稽核的程式碼" #: src/bz-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/bz-safety-calculator.c:516 #, c-format msgid "Use the %s System Service" msgstr "使用 %s 系統服務" #: src/bz-safety-calculator.c:520 #, c-format msgid "Use the %s Session Service" msgstr "使用 %s 工作階段服務" #: src/bz-safety-calculator.c:524 #, c-format msgid "Use the %s Service" msgstr "使用 %s 服務" #: src/bz-safety-calculator.c:534 msgid "Can see the non-portal service" msgstr "可查看非入口(non-portal)服務" #: src/bz-safety-calculator.c:536 msgid "Can talk to the non-portal service" msgstr "可與非入口(non-portal)服務通訊" #: src/bz-safety-calculator.c:538 msgid "Can own the non-portal service" msgstr "可擁有非入口(non-portal)服務" #: src/bz-safety-calculator.c:553 msgid "Global Menu Integration" msgstr "全域選單整合" #: src/bz-safety-calculator.c:554 msgid "Can display its menus in a global menu bar" msgstr "可將選單顯示於全域選單列" #: src/bz-safety-calculator.c:559 msgid "KDE Settings Integration" msgstr "KDE 設定整合" #: src/bz-safety-calculator.c:560 msgid "Can detect when KDE desktop settings change" msgstr "可偵測 KDE 桌面設定的變更" #: src/bz-safety-calculator.c:565 msgid "KDE Global Settings" msgstr "KDE 全域設定" #: src/bz-safety-calculator.c:566 msgid "Can read KDE desktop preferences like fonts and colors" msgstr "可讀取 KDE 桌面偏好設定(如字型與色彩)" #: src/bz-safety-calculator.c:571 msgid "Secret Storage Service" msgstr "祕密儲存服務" #: src/bz-safety-calculator.c:572 msgid "Can store and retrieve its own passwords using the system keyring" msgstr "可使用系統鑰匙圈儲存並取回自身的密碼" #: src/bz-safety-calculator.c:577 msgid "Desktop Notifications Service" msgstr "桌面通知服務" #: src/bz-safety-calculator.c:578 msgid "Can send desktop notifications" msgstr "可傳送桌面通知" #: src/bz-safety-calculator.c:584 msgid "System Tray Integration" msgstr "系統匣整合" #: src/bz-safety-calculator.c:585 msgid "Can display an icon in the system tray" msgstr "可在系統匣中顯示圖示" #: src/bz-safety-calculator.c:590 msgid "KDE Connect Integration" msgstr "KDE Connect 整合" #: src/bz-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-85ae777/screenshots/��������������������������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0017715�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/screenshots/bazaar-dark.png�����������������������������������������������0000664�0000000�0000000�00000646570�15223463552�0022624�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Ȍ;ęěŒŔ+]íśw˜I ��€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=@‘2ƒYí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Š0j0TDŽ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ݔsƒYU-Í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:ŹŔ— NgůĹ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Ç R3ˆLÉ-ŃŞşÝű˛´Â]EL{JCĺÚ‰1d ��ŕ Eƒa%äzšČ8–Œ-YŽ%“¨ˆńe4îő{Ƥr˜D0“Źˆ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˙wˆ7='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Ű@&˝‘Ż_Ó6i=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˝ž­|,ă}šNN+;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§ŰďiˆGť˙/Ú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œNƒƒiĺ–î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„$ÇâßÇ!ćAƒo>‰Â_×Đͧ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Ű䫏†Ć˜Ä˛CDDDT†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Šđ$@/ŠĐ§Hˆˆy‚?N†#Y/AŠTB.,ň„ˆˆˆˆˆˆ Á*A€JĽ„Ć`€ZŠ�œĄR*á v€Vo€Vo€Ng0˙­Ő‹ćż˙>˙2YŮŤÚh4âס;e›.é镬Ő[|ŽMiMDDDDDDŃÁ˛[{Ç<ýLÎ�™•4ôz ŽŽŽËËf0FůN/Ae›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ślƒJ’š�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*d˜0¸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:ľ­^ϝ;A˜4é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;×í~ď˝ẃ˜Ă‡ŕ§Ÿ–°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]Ž\.ÇącÇáááć͛Ą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˜˙ŽŒŒĚöű“'ˆ÷Ţ{ƒ‚ ŕłĎ>…““ë"cˆ2œ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ŒEQ4Łâ)_ß}÷=–,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ž˙‚ąfLjböĽ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ŠpQˆp”Ą’IPČ`łź# 3 ĐeH2ȑ —CdŃ(3uë–/ć/ó˜u‘}a0†ČĘHjj*RSS™ÄňAůoXK@ŹNŽXœ‰Áşˆĺ‹˜ÇDÄ1cˆˆˆˆˆˆˆˆl‰Á""""""""b0†ˆˆˆˆˆˆˆČ†Œ!"""""""˛!cˆˆˆˆˆˆˆˆlˆÁ""""""""b0†ˆˆˆˆˆˆˆČ†Œ!"""""""˛!cˆˆˆˆˆˆˆˆlˆÁ""""""""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đókƒ6mZ㍯ž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""""""""˛!cˆˆˆˆˆˆˆˆlˆÁ""""""""b0†ˆˆˆˆˆˆˆ,Ućl�� �IDATȆŒ!"""""""˛!cˆˆˆˆˆˆˆˆlˆÁ""""""""b0†ˆˆˆˆˆˆˆČ†Œ!"""""""˛!cˆˆˆˆˆˆˆˆlˆÁ""""""""b0†ˆˆˆˆˆˆˆČ†Œ!"""""""˛!cˆˆˆˆˆˆˆˆlˆÁ""""""""b0†ˆˆˆˆˆˆˆČ†Œ!"""""""˛!cˆˆˆˆˆˆˆˆlˆÁ""""""""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ýéyS}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Ëž—.áÖź0MPóó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{ť8pXÇé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&“Ą\.Çąěôë(Ä(Ľđ< 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{Ö^DQ 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S8Ëč\Â\ّÔ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Ô2Oő ”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Œ ‚pYX‹‹ă´˘Ŕ&ٕ×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§ÓÁśmVVV˜˜˜Hfł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ˆăĎóť"šłÝƒaIƒy96C;zĺézś„a¸g؇”ÝjWBƒlZâŘ­ś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 …BqhˆcI‡Ô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 žçáyuóŽ 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@“üzƒj­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„Lj |â[Č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Ď=Dž‹ /đ„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&űč݆aJĽ”'Ć#@Ó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 ˘n˜O&“áĺ—_ć'?ů ő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˘Ă@Ŕ”Iˆv?…ĆĹ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(ěMrlĆĆFYYYĄÝé „’ śEŰś)úmć˟„\‰1 …Bń˜  q Žç}#ŒcD/iî'FŔœb>ewM°‡0xjH!ů ŸçLŤĹw˜ptÓúĆ*„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ÇqRRŤŐđ<‘‘%Ć( …âË=ŮÉš)Üă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Žă`ĽR0а- ;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×vDŽ~›Ŕ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´%oˆE1AĐ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+@ˆ‘JQ(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ď{ܸqƒL&Ă_ýŐťźőÖ[\˝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ĺŁ8˜QQľ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ŕ8BˆD¸‰ăˆ\.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ąvˆGQŇî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ľĘęę*…BFى”03s”0 ń}?É)ÓÍc ëzŻ<őŚđŇétX\\ĞʤőČČČ@ÉęŐ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Ć´ź€lƒyďc˜”‚Xj˜Z7GœźĂâě§(Ž˜ť}›Ť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ě~´;ćçç™96ƒaIĹĄ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ݜ0ƒ9>$˝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ß71˜Kfˇ 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=šů fgLh”Ö!ŁĹ–——†ž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œ›'Q3…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•օBRŠ~ż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ťÝ.ׯ_Ç˛Ź’\‚×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"- Çąé´[œ<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ŽĆŇBƒfÓĂ÷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ŠÖ:K˜RJg/´$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ĽFƒfł‰‚(Š�˜›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ÜŞOˆm۲(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’ý§T1/꓎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\ĘT1Ő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#ʄ§ęĎ*qS4U”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ř^¸pk׎ńé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ĘDƒRá-…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Ë8WƒbFÜ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żćÎÓDHDŽaˆeYÄ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Ĺ%A2IˆL_ăś&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 Ą¤Dˆ8čľ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ˇ`1hmJ‘Ëç" ZťŞ”eń…/~ŮŮ}üćד­gŒIŔÓ }l[:‚í q\C63"%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(ć%ś @HƒDe:ŃÓŢ­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<Ś{~vƒ1ŰŤ'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őM˜okŤŤŹ­ŻŇnˇp]bĄ€Á°˛˛B˝Ö`mmĺĺeĆĆ'Č÷ŕŠž˝4a˛˝Eu;˙ÍvŔ¨űů¤Ď.őҏneŤnĐ4U¨JŚť•vëŰŚX*ôÁ˜žő­o}ű$şqĐbY2sxŇt˜1!śČ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(5ˆVÖô<_#c9Ń],uŹş“Čď8NićVJI.—{GĐÂĐĆĐ ëMMŮä‰â#ÝZę|űnźI㏠|üľUÂkWč\żN¸0ëk˜v;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ţ—żŒ56ƒgď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¤<Pbdh˜bąHžĂéáśČ{!"„čsĆô­o}ëŰ'ÚÄVËxW5LJĘAhX\jóĂCŢ<ŤŤ‚ZC`ôǗ€3ç 'OÁ]s$bß^ב=œ'ť;ąĂů˝§žć—˙Ţßeaagž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’}łěcxpBÁĂ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ô´:ľ›Ťä:ßD˜fę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…Cˆ5ž!ĽÂ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ĘŔ@™‡zˆFŁÎŘŘŘŽ¤Đď×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&`‹eRá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Ż í;Şž­“W˜yžGŤÝ&B†‡ ř~‡§ŸŽŰ˝<Ďăž#‡yîšgŠT*üÝ_ţ%žţ–––8|÷aŚŚ&“Ź<Ě +ĆK’•ŞĆVš…͐‰‹Ů‹VKy× ˙žbt„ëŘĚLńȃ‡™šeîŔ^öNO0>:ÄĐP™œçâ:IŁŐbłRg}­Ććf-㝱-…Ł;ŹmÔxëŠC­ihˇuRý˘‰´�ZŘJŕX2i_Ő&Diƒkň‘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¸qƒVť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Áđđśm333ƒ1&!$wřéŸţŤ4[MĘĺ2{÷Nó׿öst:mœĂqlΟżŔŔ@9)—ƒˆŠŧşźxĹçÚzÄ=“÷ďuŘ;ÔwÁ?.űˆß‰ƒź\ŢĺÉĎ>̉‡>EŠ\¤\.b'°AŇîřŹ­­RŠÖŮŘŹŃh$$ŚZƒ0T+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˘Cƒ2V,Š4ív­5–mĄ„B%\p–WđőHGAŹäćKIP+0脧$ć/ą,7Ťjˆe–Ľ’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ĂJZb˘ÔŃÁĂÇ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ŇŞŤŹĺMˆLb˝ű<}ť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ÓBYidĽŻ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ń­ČÝţ ćüŻ ü›[ąą|ŹôŻĄ›ç0ƒw#¤ę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Ě;#łj˜Tn;őű¤”()ёĆ÷; ĺň�–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­ÎĘĘ*zƒJ­'%P/‚ đRJŀĽJÁŸÁĄň…"B|ßÇ÷ý TN÷Ęԇx; ş÷őÚ“ČdşťÁ˜ŘWH˛^ĆdR×ƀeő+cúÖˇžőí“ ÇěŔŐiAvóŔěŒDČ­Ş˜ç^ňyăLČŔ ä'˙’ËžIÉęšćťOwX\ÖÜ5gńWžä ”ˆ%U§%oa|°„‘$Œn#“@|ř­­­łźźÂĺËWFkƒ1‚—_~•={Ś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ŐjƒfŤƒă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Ο?ĎńăÇą,‹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+KJĽ‡çž{–żň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đ÷˙÷LNNN§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(Š)Á=if‘ ö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|ýßŔđ8iÁĽ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Ď9ˆpĎ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Ç �ÍfƒZ-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>ÁőëýĚÎÎą^­Ňétvw[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łŃdhxˆsç~Áë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@>ŸÇ˛,<Ďcxx˜N§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*CJ7Yin3Ň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˝Vgddˆz=ü[ʰđö× [ůň…ƒ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žyrşŔ×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!…BGˆ4B¸ 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<xjľĘőë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`fˆc‡'řô§çćÍŰ\ź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šÍ&AN§›˜-Ł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ěł˝×BfH4#Ԛ /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„aˆe™ËŔ Í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>ăyQƒHFŠ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Ć`ýŽëąÓˆŸ‰Htw1B °‘Ş€!|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Ä‹L˜kQmEłŃÄ‚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Ľ‹ýţ÷JƒiqÂĐ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ĂĂĂ<xB!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‹YeZŽ‘Şč÷/˛ť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ÉuAˆa8˙~eZË@ ”şŽŮƒ˜uKú̧ššŤ)366Fš\Ćq:Žă¤ýDƒZ¸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čݤ1LeˆXŰ%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¤RˆLiJVtWeÜâ”č:ßÄÖŕ�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ö›CˆDä“݌z‰,C&)žI˜1=âž}Ú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€Dƒ3žç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ŽńţÉł\˝ş@Njw몕 ““ăěŮ˝ƒűďÝËÚń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ĄÁÖŽ]ӟ”Żő‹l˜ZăXX–yĂďÝâbĂoFĄ¸˙ţűpÝBşĂŮßN+•Qő?ƒc‚żR9ĹJťřŮÄďZ÷Ń˙™PE„2—ČgÎŤ1-!„`ب0ę R°]\ĂĆ&Ů$8CŻóŘ´žÍ[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šŐÉĄ[^ŒAˆR’Ť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<ĎGƒ0Œ–Çý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\¸pJĽÂÄÄDĘÉśÝJqęÔiZÍ•Ę�ë§&S ćkEťÝfzzšz­ÁÖm[\VBĽŰ*臍Őj*¸›íWşäH—â螌 ^Hł˛}áÓňŰí"EQDIIaĐEJÉŇŇRř˘Y+şŸj—$]r5‹EƒEú: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ŇefhQáűŻź~„˙ĺ_ţ[^űmĎKz›ąbżÓ;ˇ†Xś‰e˜aˆI.Î,ň'ö}jľ˙ý?ý{Ź›Xƒe­.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ËŔtƒOÝó^š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“\‡Ĺzƒcďáí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đçß}š-›ŚřÖď ÇąW\ź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 ¸śfˆiY<xďܡ‹§~ů&Ófřo˙ţ×ä䩋üě—oS(¸|éWňňĄœ<s‰łÓWřŃO_ä|ë颴˙z´ÓŘĘďĘ­żoŸ†1o9ۺ̏ڇ˜— "?‚Ž´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Őô¨âËńd˜DA�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Ţ"RˆX˜9q„“JᇱӕďÇ@•ÔĚŞLTšĺdą “T2Â2 "ŻŚIÉdmˇšT*”BАČ3bfXŇůŁHkŃ@Šs˜c"݉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…8ˆišźđ 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 ,7ƒXé^‹ˇ†Ĺđđ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Ż×Ă0e9ŽĂčč(—.]ŚÓńŘ˝ű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š@]Ěâž0ˆX—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ÔŇĎ+VƒN`š~Ņ˝ Ł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(*˘Ă}uˆM)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(äBE15MjĽýü+_¸ËŐŐ˙WJU%‡+<Wrláâ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(ÇvQFˆˆ0Đ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čńP˜Mk˜ĚÎPt‹œŕěôEś6ŻĹvŠŽĂL~ž—Ţ=Č\!G]4E&?ǎ–ő§¤Ó%�/¸(ŕ=Ż+kŇ)’‰8ŚščŇ¸ąŻ—=rk×tHÄKkIC} éT˘˛~BLÄ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ł˘hz˜ˆnÔłÓÂÚąţë×ő[j”B”.˛ĄXŒĆŽŽ+ťä”ZgšAX3ŮŇŇËŘ|†Ÿ:Jńü–GčH5RtŚ›H…cX†IÔ óhĎ˝ÔFR LŇŰŘN:g˙`?{şˇrxř4›zˆY!r9>ąéQ !ŮÝľ…˘cłšą›ˆaqjlçúĐ:IX3ĐT•>Ζ$V˙.ĽÄ�B†E<ĄÎKљnd{çz>ZČ3>=ÉŠą ?ĂŃÜ—ÔśňwוP8€†‡iFX—hÇ4ŒĘNŇU/ŢşNWWg•5ľd÷îűBH$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•´Ă !áXj7l 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ŤMƒEňőŁú؎䐳üďĺ;ÄŐ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ć“Fƒbąˆ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$“É’VƒXŐ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*ůű$ŔĄPˆ5kÖđöĄ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ćů|Ý÷ß_ŃĽ*Ďą9Dž 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>ƒ“›EMJŐ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Á”rH0ŽŚ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ăŁ_tnĹő^ÂÂ|Číî ܀|Güáűš{ۇýě“Ć8˜z“üŮďÓ;÷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<xp8ÄĆƆǢ�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´7ˆOh˜ˇň ž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÷Ý÷ED"I(ćÇ?~™ąą1dYáňĺ+ &'oňřăŸâ§?}•ÁÁAÇ& ńýďŸçŸŢľZßŘ`~~žÝťwłgĎÇĄX, gϞă‰'>M4#›Íňć›oąoß^Μ9C(âęŐkÄă Ţzë"‘ďźóŠT’ýű÷w_ ÝđXSpżĂŹz˜1v+‹ëƒúę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(—Ť:t˜bą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–—VdccƒgžyMÓ¸qc’×_{ Ixć3OóľŻ}S§NŇŰŰDž ç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Šž‰ÓÎAcq׼(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üţ�ÍfAˆup(—ĽĐ.%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ňď~—`pƒp8„$É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ĆÇÇąÍ4ą1M�űÜç>KłŮ$śÁˇôřqWDťRŠz@Ëőë7Čĺ։ĹbŒŁë:­V‹t:…$I„ĂaĆĆv˘Ş*˘(˘i*O<ńšŚRŻ7Eh4Ć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Fƒp8ě‰ÔĎÍÍ ˝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‚>¤t6+Ć-Qp*ë ĹCž{Zß÷… ËüŃýĄ—ĽÓ)žzę dYĄż?‹$I¨ŞĘúú:CCÄă1ö{äčaFFGĐ4•@ H0čçčŃŁ¨ŞŠßďDzĚ6 #î‘?nÝşE,EÓ4bą§O?NĽRAUUbą‚ ´iţápˆH$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”>iiCĂvLL`­bąViy7K•Š-°ądÁ[LËáĆf ŰvÚĽNw4™ŃaH3ˆ„‚đ*xęŠ'P5•d2ÁWžň÷…ÜťFŁŮś‚ đˇţöeĂ0ˆDž†ÂŘŘń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řüU0wƒav 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ĺ;šáVfeY“i띯#ÚÝъ錙šŚyâ˝>ŸĎ3m ˜Îś—/_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#ňydYahhˆtއ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îu˜s…ü&ľ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‹üfD"AŠT˘QoL&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Ŕj˜p3‚¨:Rő=lý÷°üIÄť’ÇN˛+Š"‚㶏Ţp‚KkS8śÍńĄýŹW íďvRLŠf(7ŞěíáFnŽŮÍ%ţŢŁ_@‘d–ĘëLm.˛ZɡKr, *Ťĺ<~YcgfˆbłÂŽx/5˝á‰‹ŢA§~őń áXA%ˆT~ëčNúƒ"˙ë™U.”%†ĺÚ];wyŢ´•E„¸&ň…~‰?>6ĚHŸrÇvůƒÚ^G˜1 ŕóšýčŕÁƒÜş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׎]cppp8Ěž}űxőŐWŠŐj<őÔSź÷Ţ{,..ĄŞnYô;ŚiŘśÍää$řý~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âî;ďÄ)§LƒR! 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ˇĄŞÇ‹Ž^?zƒap2Œ*)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 ™Ę�ƒBƒ4˝%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&PQQYłfa˙ţýhiiN§ƒĂ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€ääd˜L&hľZ̜9“uÚóňňPWWÇ>˙Î>űlřý~Fđ<ĚĚĚH`5“É„‚‚h4šHŽ' ‘äädFäĺ女ł“MyŇh4(((€N§ƒZ­†×ë…Ůœ“ÉľZYłfą€nzz:ŚM›†îîn¨Őj˜L&ƒ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•"ĺliiiBĄ@]]-ŇÓ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͚5˜3gššš°}ű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ŃÚڊńăÇŁąą%%%HKKƒZ­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ÚviJtż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<ˆÇ‡PH,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Î;ďź­Ó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„pƒA9~;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ý,+dAĆŃ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°<…BpXŔ7ß|óźyóćEîŰzc*Á xoĎůMÁBńő™ ‚LˆdÄ 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!ääű�<iƒ0ƒ~Î ű_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˙ĄPˆv!'¸üă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?ýg˜Lڎý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š;í´…1˜UŤ>ÁóϿȎ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_đĽăNj 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äćfnjrY˝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šĺfˆq:¸óÎť-[=Ť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€ŔÜ|.nnLj%%%…ňĺËç:Čňƒ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óęéľăčŃĂÜžNP3gΠ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šrFFƒ9ޓ;ś*ýp­QŁ::ubʔé,]ú)ß|óáÇő€ƒ™6í;z÷îŷߎĎvűÔÔÔŘłg7ęę5™2e:C‡Ž %%{űŸ2˜zPˇ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éŽUƒBŸŽŻÜ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寥‘őNˆyóćňäÉŚ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ś5ç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@nƒ6 !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!„BtSB!„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˜Ĺ‹ŕâr5kʁƒËΚ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áΝ<=Ď2hQŽűŕ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…••5A9Ś÷ööá÷ß˙`Ţ< �ž?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 ::ĘLjŽ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ÝşľěŘá@ٲe˜7o.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!„BtSB!„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)űýĄlXvE‘óüΚ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˙~BCƒ1gÎ,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|¸!ěěś`îÜ9˜7ĎRŞœ‰ÇĂÓó  Šřř?$é&&F°˛ZˆáĂ Đźysxzş#!!ţ‚UŤÖ`Á+tęÔQnÝvBUUĆ04FÂÚ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””<xBç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ÖŻßŕClţü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ŇÝťwƒH‹Úľk�6ośĹćÍś˜;wÂÂn *ęěěl ŚŚVd] NšÉ?gż~}áćv11wáăs˝ző”{ʁÁpřř\�řűűŔÝý�@ ŔÂb*/#&ć.Ν;ƒAƒ~.óvěÜš~˙ýîލDDÄMŘÚn„śś6� ŔC† †žţ0ˆDąčÝ[Wr\÷îÝqţüYÜżŸ‹RSÁŒqSę<]ťvH 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ÝĆáÎřńÇćĽę×AA˜5k\\Ž"..-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 ŚŚ*÷ď0ƒ1DHƒőĽŚÁÔŤ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=""""cˆJđňĺ_ČČȐ 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 AƒR÷Ş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***’…JkX?~ mŰţý?ďDôţă$@(Jťć̙…Ÿ~€aĂ>o=#uuuÜźy˗ŻÂšsçŮŘDDDD$ĄŁS‘‘aÝ�¤Čđ@ÎÇ-÷ă–W`x͟ë]p…öpd ýęĂĎď€ ęŁ[ˇŽXž|)BBn2CTAlܸGŽ8ĄC‡öřöŰo1dČ L˜0>>~ŸUn›6­ąbĹRźz•úY#̈ˆˆˆˆ>׌Ą˙/Żó¨[ˇ.-Z€úőë!-- W`ccÇĆ!Ş ěíˇaţüyŘž}+jÔ¨/^ŔŮůö|r™uęÔÁɓ.HHH€Ľĺ<ŠŃqDDDDDĺ‰Ó”ˆˆˆˆˆˆˆˆŔiJDDDDDDDD_%cˆˆˆˆˆˆˆˆĘƒ1DDDDDDDDĺˆÁ"""""""˘rÄ` Q9b0†ˆˆˆˆˆˆˆ¨1CDDDDDDDTŽŒĄ˝5ŞĂÖv#BCƒq˙~ź˝ĎÁÔtL…¨ŰćÍśppŘńŐś}‹?B$ŠEíÚľ�;vlÑ#Nĺ^úőëA$ŠĹ÷ß7űŹr&L‡ŕŕ Üş†Ę•żŠm<t踝ŸBTÔmDD„b˖M’öÎ7uędˆDą˜6mŠÜăE˘X…BŠô_~ůŽŽ'u aa7ŕŕ°͛˙ •§uëV‰b$s|>‡‰b1}ú4IZTÔmˆDą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“&ĐĐĐ@hh˜T??Š÷…SMJJ’yPX,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-85ae777/screenshots/bazaar-light.png����������������������������������������������0000664�0000000�0000000�00000647543�15223463552�0023013�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ÚěÝy˜U˝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źÖŤňrˆn,`{‰ˆˆˆˆˆˆ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”!"""""ęĂę× z4ƒGwƒĽ"""""˘,Ć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@ůӏ3ˆB|ľ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îšçšcˆˆˆˆˆh@`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ˇ›ˆˆˆˆˆú+cˆhHňűý(++ĂěŮ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ĚR˜RáÁ5 Uâ űíĘ0¤RđęŔ‡{M\97€eÓÓŤ*š#™ř÷ł áó¤˙Ŕă†éřÜŠéU1‡›$žYƎ †.0g´×Î$‡g­ÜNj˘¸nYAcDaBĘ>żçŻ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 cˆzԔ””`§ŻĆú†Ě}ďƒ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ńۏYxdysG˜Ve`áť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(ńk˜3Ú@]ŤÄӍØ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ó{ |ŸáŐĄy5Cƒfh !ŕş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“¸wF99NIéĽđ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Ęvƒ7œ‘śÂ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‘šĹ¸ëSnuK˘úĹ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áßŘЅ‚%t7Jľcŕ2Š=`ĄL[ř"ł„0)}dŕ<Öíú!uŹesęH#‡!őŽA퍅¨*…VěÖgĂ 14î şaHÇ#2QťŁ Ľc ,óń"""":1ŒĄ!G@až‡ŠťC’tĺöŠArN٘dƒÄP%áŽ1J„1pžŰÎěJ‰ ™Äsa;ua3c­8(q†Bĺ5C÷ŒuŚ›†€ ] č b47ˆI­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˘ŠoT7Dą{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Ć$s7˜ITÄ´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˛”BPnƒpÎ}Ť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ӛÓĆZL˜QťűÂÎ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Šó˘ÎŢ'4K¸(ů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ˇ?ŁĎ×é{ŒËN6}   Č]Ga/߈řŻ_wXBُ ăš3`\r2ŒŤ9ýlŐCKŻěń,šă˛SŕůĚbˆâ 3ao=ŕ ŻZéô°ń,ăšE0n\ Qä‡jAn9˜ž_Ə€÷ß·qݙ#ËŕšpZúáš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=ÄzCý ß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ť˘ővwH•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ä@ Ć9ƒ1DDDDDDDDÄ` ‘1CDDDDDDDä@ Ć9ƒ1DDDDDDDDÄ` ‘1CDDDDDDDä@ Ć9ƒ1DDDDDDDDÄ` ‘1CDDDDDDDä@ Ć9ƒ1DDDDDDDDÄ` ‘1CDDDDDDDä@ Ć9’I@T8I’ Óé ×ëa0`4!I’C×A( (•J¨T*¨Őj‚ŔĚaů`9ŠLF˜Ră!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ö`ĚLVƒdőj9ŕł~ďÍÇbůŁĺxĎ` U:iiiČČȨëęęę 77žLą|°œ8ăÝ+0&^ŻëŞđ †˘ZmfZ%­Xǰ|1™ÇŹ;ˆl9"Ă0$QƒŠŠŠ0 f322 ×ëáîîÎŤ ,,'ĺLĘJƒ1ö<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ßDž sSŠ”xůĺ1ˆˆčgÝrĺĘU¤§§ş ­V‹ÚľkĺyEůüů ˜5ë3ÄĆĆٽ΢(˘oߌűoˆbńî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­Z˜1c:´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Ľ“vƒQîÄ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Ů"cˆRFŁą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čĐƒ�L˜0çΝ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!ś‘uƒsóńńVŤĹącÇąqă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ľŽđDž ą˙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ÔT2¸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ذÝşuRŠ’ż+,í KĹ‹ż†§§ÚľkƒM›~–÷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Œœ&Óh4˜2e"š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ذÇѡo5jˆwޙ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ěK˜4i Ţ{ď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ö`ĚLVƒdőjéÚú=rźŔ–1DDDDD•Ň7ß,ÁŢ˝ű1qâ›đÇ֭ۑœ|ßî[CˆVŻ^É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 cˆˆˆˆˆˆˆˆH鈅Ä^ű&Ł‘Š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–lƒ9ƒČă$ލßĺ?Ϝĺ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&ŠpqqVŤ-úI˜dž 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ŕŃ>r˜S§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Ű|ޞ9ˆBŁ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ĐŃŃąĄYƒRŠÄää$O=őMWEŻM6›%›•ęŠÂ­'ĆxžďBo×ĽŞĽlľˆ1‚ ‚p§łT,˛´TŹç@)R,™›ŁX,‚shm( ŒŽŽ˛iÓ&úúúčîîćŃGeÓŚM<řŕƒXkéééĄŻŻƒŇŰŰKoo/�Üu×]Íź2…Bb1MĚ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ÔLḦ́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Š´Dii2mŽŇ™‰‰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ŕŰVˆIˇĽĹ ţ¤Ű“&„[ĺě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 Ogga˜YˇżÄ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…Żs8Kâ,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=ëaƒU&­§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‘ R˜Jä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Žśś69˜7rÇ=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ˇ˝Z˜Yk˙Ęĺ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|m˜XpléĐź?žĐ›W̗#ݐX81cęĎ> í]ĎÓFYŒvtdك†#ç’t?”Â][)f]íUŽß"Ć‚ ‚đ $™ĺiy•$ 'OžäŕÁƒ:tˆl6Ë˝÷ŢËś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*Ň`QKZ˜zţ— �ß: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ęĹˇŠƒ-ŸßD7 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âTˆq.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ąă3i˜S%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К–$jˆJA6@‡>”ˆň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˜Ÿ˙&ťuƒjoĂűúďá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Œ ‚pIX‹‹ă´˘Ŕ&Ůĺ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ľ�¨×ë@œ°š^ßäÔŠ*Fƒbą€Ç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´ {Çěżr˜xŐôŢ^khœżl˛Q7ˇźbvcY###H))•J�LMMÝՄüÔŠSÉyLNN˝^Š”wTăB011‘üoŰöĐgJĽĹbq×Ő¸ÁďÝ~ÍŻă`˘XUFůáľŰţ„đŇĽK<óĚ3JQ(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­ĆÜÜőzƒl&ÇÜÜŮ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§Ó˜ŚÉÜÜǎcccƒt:ÍéÓ§Š×ëäóů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(ŠÇ%Ć( …bˆHJ6}ŸMß§?ÍхFĆ0ȘF<şËý4}Ÿv’ˇLÝx “đPJ")ф@ťËcRě6ń“ă꺖üżÜKiJ…âÎírŤl}ü[ ´W2Ł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€†QˆOÄ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?¸zƒwn/ôēߜ=Ę[“ă\m4řĂKWšÚŘD˜H;üĎ>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ľZeccƒbąČÇĚɓ'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řž$!CSSSO˝Ţ Óé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:Ż'Eˆq]—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 Ł—dccƒfł‰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ž61FŹ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Č}ÂHˆq¨ŠŽéńá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îtRŕ…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ş¸ŽËáNJŘ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ő ž_áôéӜ?˲ˆăÇą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ăü?ňń¨Đ´ÚDƒYŠ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ë2T~žüˆžŁŕ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„a˜Nˆl{ŠÜÉ;ůűě>¤”<üđĂ<üđĂ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 _ îÉÁCˆzaYŚ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Ď5ƒqœ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„1ƒQDˇĐ폚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"- ÇąiˇÜ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0ˆQIJ0¤ ĚÜŇ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¨HcË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¤DeŰÜ)Œ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’ÔFƒNBJ¤%Ń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ăڂÇîóřŸąšŃKHbF!„Âąŕӏ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ĚŻÓétB~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>t˜8NX: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„ ‡CƒQO]łň÷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Áwzbü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ŠŐCdĺ Óó—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)iPz_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ĆleYT*•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¸Mƒ1Ç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ŽnLjÖŕî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Ł›I9÷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ĎßđŹ[IvƒRË2Éd3­mŐ†iňŮĎ}–ŠŠ˝üéWţ”­gŒŽÁÝ}l[:‚í qTC43iBĆ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¨ˆónj'W‚‰xÝâÍů`&bŒéZ׺־𐍲ź' ŚˆÜ\'Ěś-fGv¸˝"&Ťîó˝Ć*’G5ńý VA ]WAËĺbçj+ËővcöVëéĆĺ\ťś]V7j‹ˆĆ*iIŘj!SQ�÷Úcv T>*Ö­<nś& YiŸ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�MjLi1MŹ …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<)xiWŻ×ůî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śpCdGf.Î"Í&ŞVƒF‚ šnśƒČf1rydlěŚŰgv~&Q럟fVPÚ4eÇŁÜíůu8ĺJĄ6ץźa;‘:J EDß�Â´Ž `şă´űź5 ‰R!Z›]ŔqŰ Â(Cî86ŽăD'–?Ż0 €+• ?xúéś}_`˜6ŚéB;#JťœľĐ)"ŁcAieI&Ƹ˙î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 ŤPD˜f•˝ƒő°˝||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ń˛FƒVŤ…ă8éB¤P´śśĆúú:H)Éĺr׾ý´sÂAV$–´ľ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Μ9ƒe9č$ă�ŹŐ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|ˆţŢ^r9Çą@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Ҩ×XX˜guu…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řAˆF섺óƒƒÔëuŽ]ťĆmˇÝF?űöE­f===<đŔ}\8z˝ŽíŘ!éďď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{šű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.›ĄXˆHvmÇ!—ËƄť9¤Œ•§člϊ>Tźn"¤ ŃJÄÜAíž•ŕƒkŰě‚1]ëZ׺v‹�1ZkZ­Ż4řŤoZl”Žď ; ĘUÉ_}ÓAĘ*ޗ#—3ß҅‘RŇ××ˡżýzÄOa˜dł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{ î†׎i˜1ß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˘DLMll*—›Š ˆÜÂŇ*<ó˘bjŇcpŔEěä'‡ö˝÷ŢÓńýv5–¤/`˙ţ™Ž÷ …ô˙L˙Űmˇíxż9ƒOľ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ÉńăÇéďŔ˛,&''ŃZDŽä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‰{B0˜7:�—˛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ô#ő '[ˆƒZFĹ<%‰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¤ž¤Hƒm˲’í:ž’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"퐠nb˜i‚ 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śc˜DRӖŠ1 ‘cź_i­ ƒ€Ŕó:�ßô|×‰Ď /ZE1ŽÝ1ˇZ#¤ćŔŢí Ż'ĂřXÔ˘gZřžbłŇää™EŢ8żĚĘZԖ9ц­VCĄŃƅ'nĘޖąßhÂŕŁfścƒcEU|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ˆş‰niˆcna„„ő+čţ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<ţ÷čžA˜9ˆ´ěˇ źŤŐ*ËˈA__ß[ÎÍv´^ÚA˛ŮlÇűßKСŰφaHš\Ć0 ŠĹ"ĽR)Ý'EhşÉűHČÚÚ:×Řłg˜ţŢ’ŐőŽ\žĘ…‹—¨”#`ې†i¤`łă81đâ’Ídpă˙ťŽƒëŘ8Ž‹í¸hlZd­ě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Ä;#Ój˜Dn;ńű¤”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!Ö>ľzƒM!“`6"z' ČXU2Î&ssK †{™šÜĂž}{čďcbʇŽsöüŐjíR ¤a`Z&ٔ°UPŃß—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ޜν'ď¸ćÇ÷ÜPd‘*[÷#/ęĆö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ş?250Œ¸Ë%Ydž‡G8vě(A x啟Q­V9pŕ�…B7Ţxƒžž>Çá˝÷Ţă[ßú˝ŘŽ<Ň`řᔄCCCüĂ?üœçŸ˙"ľZz˝ŽišŒÇě˛cźűî{äsYpęÔ).\¸@ľZeßž˝üä'ŻĐSéáŸóikhŇZvéŇe<ŔÚÚss 9âŢ}Ÿ]@fkřŹ5$Íś€ĐE*Ó.’aŕ IiDbźś•�/6–�1Yl;KˆA 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*Cƒ2Í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…BL&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˜ŽëěÝ;Ĺœgxxˆ000ŔŰ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(äÉçrLMMa˜Q‚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˛Ů,/˝řbTˆI’˝{§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‹4INjƒ0=™.äó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źóéNRDŰĄ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¸ŽŰHˆX‹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ŮžŰűŠ@)ZKĂ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ˆŰ˝Â0daaR,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!Ÿ™xˆR&őÜć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ځ‡%ôşeIHn™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™&FƒVŤÍűç/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˛í ŇčgppVŤÍěě,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ŃnˆDÍ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^)RlkcJ˜3(Jޡľ¤P(P(nť•ËŰ'zŠT˘§§ĽTĘRů4Â0 ÚívşÖ$Ŕ­‘n”ŽoŹ" + 1ĂKŘ3BˆMV 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\[%c˜H!ă íŠÄ]Ç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–‰i˜1€!ˇ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Ľőzƒvť%­|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”ĝŻíýLˆE×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˛şĄ-{M˜J)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Ž™dxxˆrš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Ó¨7B°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Đť˙ˆűDt4F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’¨dÔ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ĆĆ:{Xe˜4DIEŽ4‚Ő°ŠnƒlIrĽ^Ë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€˜ë)=ëÇ­é3ˆbK\Ő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…BBĄŢ[ŁŃ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ĂÇąťž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Ňi˜IÂcđŠsÝ˗/óĆo¤‰űž}űş&ý؍ĘíšË•ŠYÇfxx˜ÁÁÁëU�N<B˛´Te|Ýčuƒ1Ď?˙<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Fƒbą˜˛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„üš¸9Çą)óäÜ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°rˆ2Ě ¸=”Š]ó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žů–e388˜2LjľŸűÜçÖźß÷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šz˜E´÷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>úóöi˜Iđ–3ÍKü¨uˆU'ň#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ƑÂ8E'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„AˆeIÚ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^EFź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ă/„Ŕó<Ţ~űöíŰNj/žČŚM›Ůłçn~ůËçxřá+Îńˇ�� �IDAT‡¨T*Š›SJ“ÖšóçĎÓnˇŮž}šœťb#ˇ{'›pdiáٍ_Fœ<yŠZľĆţ{öÝ2ŇŠůć"ăî#•1ZQƒyŽšöe.‡s´Ź&ťŔÁĎągh/KíEćý9.ˇ/pĄ}†łúBËë8.éÎŚU PƒLné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ŠT˜fĎß˙Ú)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[hˆT‡˜ ăç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 vNjUâ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Óđ#”cƒ6ŽĘ֚`¨ŤšÍ&łłłźńĆŹ[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Ź_żÇą) ‹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ôőő099iÔŐĽŃ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 #Ć|qoů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Ç˙ĄPˆL&ĂŔ€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ľ‡Â„UƒU}ç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)ă“8F˜ˆBW|ˇŻLŹŽa"ŤIűňqĺŸ{ âň2Š2šćJËsz˜¨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éííedd˜x ęÖ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ĆSfČ/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é$‘H˜HŮéŃ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“‡vp8ä'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ůăďNJ”—&'‰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$“ɲVƒXÓ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Ă4Rŕş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’ÉdRrđƒě{?ń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…Bp$|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(ظq7L&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$á‰'žŕß˙áŕ‰'ž`ÓŔ&Ć.Ž188ˆiěŘąƒśś6ŠĹŻżţŽë‡q]MWˢô…|žŸţě§hŞĆěě,Äb1Eáĺ—ÄÔÔťwÎ×f2Mƒx<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™ŁĎU˜xĺ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Śk˜FˆH$ÂýěĄŁŁĎ|öEě?€'=>ýü§ŠK×ńĚłĎpéŇ$ŸýÜgimmŠ’Ç†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Ň)Éž˙^¨żŔżţż‹i˜Kš י ­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×­EdBŠ’#G ÷ !Š2önKlŰƲmüţŕž>÷Qę+N‹~%ü űUąXBUßۘgŰ™ľEŁŽßďCÓTTEmSâűœçßn+ŚiĄ:ľZÝ´‰$„Â{ô×>ęç˛ŰĽH’$lËƲÝĹEQ\ąjĂϢ˝íxÔžgv۝HŔue’$oŰöóβ]$Yvˇś2ü/˙ü_NĽůťđŇé”;ëş ‚ŕŮáËvŸlƒšî8¨cš&´@Çqh6›-€[öŽť=żrlŰqEEV0LÇqey›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ÖdppK—.‘Ďç9sć Fƒ7n2?ż@,#Ž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*‰De™×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ë­ˇED"I(ć'?yąą1dYáęŐkäóyڧgxňɏ󳟽Äŕŕ Žc †řÁ~ŔłĎ>ëZ­gł,//ł˙~8€ă8 yAŕ…‹œ;÷ ˘Ń}}}źöÚë:tóçĎ …¸~ýńx‚×_“H$›ožIWW’Çw đXSmpżÍŹz˜1v7‹ëÝúę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ŤŃ„dÇą<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 Ă ŃhH$ČçótuuÇ;`Ěo@ŘśMĄP ˇˇ—FŁÁĘĘ ŮlUUćƍD"‘ě ~żŸńńqnßžM˝^GQĆĆĆŘŮŮáęŐŤhšĆČČ7nÜÄqlΜ9ƒiš<˙üóô÷÷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ĽRaaaRŠÄŘŘ™L†Z­Ćŕŕ †A(â{ßűgϞĹçóQ.—I§ÓÔë.8ŽŞŻžú żó;żC:ćüůóôőőQŤŐh4¤ÓiFFF¨×ëÜźyÓ4byy UŐƒƒA._žŒŽëěßżŸ™™™ş‹uŔ˜Nt˘ř[ť…L|šĘD_ŠĺÜ:Bßžö§@ÂQÄ@!ÄV%OWÁěĘ6ƒq?ĄÖ ČĂÚí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^Ľ§§›`0ˆač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é•V˜34lÇÁ´ÁśĘ[ĺŚwąTI`ĽĐtŰA\°Ĺ´níTąm§UętG“Y†4ƒH(ř�Ż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—AvKtú^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ĄĄPˆD"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ůÄCƒhwĘ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 FPƒ1AÂÁľ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ŢxƒsçÎľ´/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‰ŽĹáÇ˝˛YAˆD"ďXěqľńŽîn;ŽăąL�"‘Č;ĆćršĚ“O>I8ö\…|>Ÿ|´÷ă‚(wśkƒZšŚ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čëëóJˆLÓôÎŤ]ňÜ.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==͉'(•JlllJĽřţ÷żĎŔŔ€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ŸŚŽ7hMbSk3ô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ň[Ź—w˜L ‘Š˜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”^xOúÓźńĆë|á _đ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+nƒb ¨Š@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ܸÁŕŕ áp˜C‡ńŇ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Ë^Dž^QĄŐjqꊧ˘šš睷{÷îEUUKŔk4aľZQTT„wŢyŮŮŮ8ďźóđúëŻPů ´´´`ÓŚM())AWW‰4-ęęvaďž:H˘ŁÉ„D"ŔX,NF�ĎqˆF"ˆ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™”uˆK"<ń´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ŢÇąRÓ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Ć0ˆkqCş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łŮŘtƒA­V‡žž>ȲŒňňr477C–e̞=’$aűöí0 ,‘rMM ÚÚڐ——Ç’ŮF˜Íf–řˇŹŹ ===hiiIVŻÔÁívĂd2a׎]())$I(//GOOT*ěŠŐ´�ôz=l6\. PRRÂŞatwwC’$¸\.äć梍ŤKIˆ>y2DQD]]ĘĘĘĐÜÜ ­V‹’’|ňÉ'p:p8xěąGŮ1głŮÇáó)Ő˙”s4Uů’$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Μ9ˆD"())ËĺÂţýű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–ÓrpQTJŽ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ĄP˜u0Ô6E1Y}B€!YňrXϚŒŰ%Ľ,‰Dáp” O+IŻ 4vÝ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™ÂrnjôźÔý˜)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/Ё ŢƒA˜LĆd^9fł Z­’$&BR27IRFh644 ‰ ˘˘&“ Á`űöíC^^Ë­CÁB90™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ŹXsĎ=ĄPˆiţóŸ˙`ÖŹ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-Ľíp8H$°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ˇÇqˆD˘Ź˜,ƒ%‡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Ć äć梡ˇEEE˜0azzzX@˘¤¤ŮŮٰ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„ÂÄcaƒ9Í !„Ď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żŒđÉÄÎyedˆ2J$ ĂŰŰ)Ą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ŤÁŽăĄĆ]Rƒ2„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›Ľ%E˜2š§Ď™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{ö,\ýu˜8ą€’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Ë...ĆóĎ?ŁŃˆÎÎ.\ýMˆD"ˆ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#Î=÷L˜PƂ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ĘĘʐŸŸŽă>őă<Ó:ƒAqťÝ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„ŚŚ&Ż^˝Ęseccc6oŢŔŕÁ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!„˙}ŒBˆBÖˇ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\\†aiiƒƒCgÖ­Ű@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ÇŐŐ€ňĺËcggDž <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íÚŐŮ>ĎzUĐţ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ď^˜››ĺxwçÎĽ+‘âăăůý÷ÔŽ]ť@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ąÜœn155ççŸ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瀟ß\^˝zk›œ?žţý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÷ąÔ¨QƒUĚ!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‡čÜš“TˆB!„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üë=ŤëpRRR˜8qł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ÖăççĂĺËW˜8Ń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źVWWGCCƒRĽţźâ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öě9ƒT}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í˜Ď!Ž$$$Đż_Ů !„BˆQSá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Ö×|ôŰ”Ęłsw9BŞ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Ďş*TB… ˛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ÎÉRlll˜0a, ŔÖֆ>}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¤AƒF†ëóŸźžˇŢ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'cbb˜1c6>>ž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ŢźŮL˜0ŽĂ‡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+Ťě*T6mZ4“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͚ľřů˝•jGpđ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*?L˜7owďŢĽOŸ~ôë7�[[[fĚř̨÷•ťťwîÜĽfÍżçɨUŤwďŢĂÍÍ5ĹúK1fĚhÖŻßČ;ďteĺĘŐôîÝ3ÝÇ6  /͛ű1eĘTşvíÎ_ÝJׄÓć0ç|Ɉ:  AƒL˜0‰.]ş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őŁAƒFÜš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żţziÓŚč⑊Âů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&99ˆY,Ě|Ď"Ń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 )I5˜IďݔŇ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ԛ4ˆyę[[?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-85ae777/screenshots/categories.png������������������������������������������������0000664�0000000�0000000�00001732403�15223463552�0022562�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ćůŃZˆtWaiîş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‰w˜Lˆ%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üű? ďčNJúábmíj÷ëÔęęU|÷ ��€ź§˙SvęÔŃŻŹŹşčóĎ?ž:şJ'­Ą2KmÔĄńŞ˛ÔEúĂ/ąN›E`b­‹uşŠő ľ´"KkTcń‡YŠ˘ŽůÎw-…zőęŰťGž7„Ž—TTTş„������mĺĺĺÖącG÷…ciiŠ+ ]XHˆh)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���@žQ˜E• 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+++ ���(**˛’’ˇč¸–ÂÂ+(hˆ2¨â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–���€`čŐŤ§M˜p’|đ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ŠM˜p˘]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ôčÍíńÇąßýî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#WBÂ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Ű]ô}N˜p’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¨Ę-Ÿ}öšŤę˘ý˙3ƒB<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Ĺ+ľńŒ;&aEîż˙űË_.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Űćdeţüď➧ś<ţÉ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~DˆE?>ůŰߎ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‡ţOZä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€'V˜Eż<���Đ|š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��€Ü@������HZ•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äáVPlQĆľ íż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´ 7aƒr“­ĺĺ폺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\Ť –úŕƒ˙Ů;ďźąn‡śˇ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%şEˆnsˇÝ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ËľˇQA™‰ŸŽ¸ /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Ź×TBí—$Ţ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žt˜E!–żýí˙…[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şLtˆEśß~;ŰgŸ˝-ÓT9Ażęײů曇+ËÄŁ {Ż˝Şř+|ůĺĚđqľ€IDżŞ˛ĄV.~jAâQ;Ąx† bŠŇřP• Yg~ÖŻ_߸—U•ŽOüŁ{ßźö٤qă…@ćΝŰdˆEžřâ 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… öŢ{ݏ̚VC]˝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śĘ:thoƒrżŢ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ێ‚ ~¨rˆnGă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Ű}÷]í˛Ë.Íj˜eٲĺöČ#šŞ#š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Ł\pEUibQˆeňäČđ‡ö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(4˜7o~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 ŒäĆ)ĐúŰ€ÖAmBť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Ű’Á80 §@öś�­ŻŘ€<Fż<´˝•+WZ&1žŰĆ2‰ń•œž={Řo~óŰnťqĄă=­ŞŞĘ>ýôS;ýô3­žž>|š 7ażţőŻlóÍ7łN:ŮâĹKě™gžą[o˝ÝÚ2ĆYŰÄűŹĹö�dŰ’Á80 §@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{/4yލš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.šî{ě.;ůŽ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“WQƒT+­´bqrKBâíL/Xí�{uƒťîş§0Ás‘ő:ĐÍ&›l"+ʰź™đA‡ôűᅲűď&?üˆhŠÄvź”[ĆŞA=ە,‰ á1,}÷FĐňË/WÜ^oż/šäĄ˛¸ćSOľź…„7ƒwŘa§PYˇŽ�ŤŻž–ő­ą$uY9iđÚYßž}óžĂ‡˙,ŻżţŚÜ{eďż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%ANôë_{í5ălś€ÍĄ,ݏâŠfĽƒé§ŸŢlWˆežţ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éZxXŘ 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ŸŁCNmK9#­č¨ ă‚Á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’€rI7Ÿ|ň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ˀbtůĺ—ó˝ €í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. ĆvƒpNÇ옔¸ýö[Ě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ȌĺŕЙAƒl‹-śXёĹ}{[ŘаVŔ>˘đzÇ$~?>Đ áŐ{ß}”<,xăI' Zzôč!y#쭀JŻYMű† `°űa˘ƒźĘ*ŤČý÷?P _mľU‹ß“.Gëő Ű$jI˙4l'­2–%`WAđ†)&>�&:܉L`_o€7wƒƒYSI]…×Î~˙}„ä‰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ąĹÖfƒVXŢ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Ą…,t˜6ç10őĘ+݉tÂđfĎmˇÝ.;찓ŮS`?SźŮ悭:\°RL=“ŐEľŽŸxâ óƒźË-ˇŒůžŇJ+xŸ”¤ŕMg—8ťöޚ$ ŰIłŒeEŁŘUaĂ,~_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Ě0ƒT‹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¸ & °ä2˜gžšĺ„Ž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˝c˜yƒ6KHcĂÍîHC‚Ć ČjŽŕ-Ş™fň/-ץCłykošË`LPĄƒŸ”˙ţ÷^ł71tŰ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�J˜8ŔĘ# .8ŘL6Ą{ŮçÁ?ţX\Rý¨ŁŽ4Ťô`â[ôŠń㥗^^°ÝR8ŹźňŠ…zíuS/Ď5לŚMœ8ń_ł] iƒ¤•gy€ý9=•Ú0ž°2҂ř˜đzöŮç寿ţ,<Ť÷4ťnBëşëŽ÷Ý˙úëosÎ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Ďvˆh Ŕ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ĎËÇ"ăƍ“f˜A 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4MÁś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Ďćď;ďźšláĎÔÂ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ŕ; 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[GˆsÎ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ß}//žř’L˜0Ąčȁ­Y.¸ŕ<ßÖ3ŘÂčż˙˝WŢ~ű]éŐŤ§Ů2eŽšć,†cŰ"ʍqçw™ăçž{NvŘĄmeAƒ0Ť]¸[Ü`’Ţć$ƒ•[°˝Ž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řŽƒŽ,pqÁÖ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%ŃĐĽË4k–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śŃqcÍňË/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ß|+;o ¤~řAŢ˙YxᅊçvÚióńňÝwßËěłĎ&Q@돳VńŰš+íÜpĂM&Ŕľ×^'Ë-ˇŒqrÁŠ8ř„íĆŒS<~ď˝÷ 6u‡qŢqVp5Ą/žřRzôčî[Í%Č-ˇÜ&Ë/żœ şZńx°2‹ ”‰ƒ:´`Gă%KŇȧSN9ÍŹ4änKǖSO=)4~ĽĺB!„B!„B!„˘‡[ R&ŘreĎ=÷): $ń7ß|+ůé§ř퉰˘Ćţâ‹/™UU‚YvŹ^Ž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.NlgO>ů$ô: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Ďćď;ďźšláĎÔÂ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ůTƒ4E^#Í{ľÔŤ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ůTƒ4E^#Í{ľÔŤ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`‚Ű щʼnçÄ×RI'XÂ#ŞőO'›ˆ¤›I”_x9ö˜eůŞŘÎÍA†öX#ýˇUˇ HZÍśÚţ2ÓŕľZŻŃÖŢUƒŕvBtb)˝DŐâU).XÖŔ†SˆßPúiƒN,’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 Şnf}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-EˆˆDD¨şŽĺ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ůTƒ4E^#Í{ľÔŤ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^ügg˜iˆdĹ‹ÍĐ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ůTƒ4E^#Í{ľÔŤ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ž˛|^%$Б…´,EˆˆUȉšśęş–ąń{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š¤ęLjć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,EˆˆUȉšśęş–ąń{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ůTƒ4E^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ůTƒ4E^#â^>çÍ˝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 M˜Z˙×˙ŠĘ„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 ŠÔGqéÉ:ą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ůTƒ4E^ŸŠ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Ґ81N9qˆ° ˜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îUƒ4Äę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ť{źŇË)~LˆHÔ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ĂCTęŁŔ‰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4ƒi 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öěP˜UěĐܲ¨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öI˜F=Ÿ†:ĆŠę+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ä 9ge´^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äĆÇąăŸü,Ę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ľrO,,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öI˜F=Ÿ†:Ʃ꩔“-Ű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ʑÉ%#_}Ń4ƒ8âž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ľrOÂ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Ć#’GˆMĂ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+Ćś> RZ˜Gn|ä#ڐĎ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-ŰTˆqV‘ ô:``,;RH“)L3t0l _8PJ× cŮĹđEˆƒYÔź`ăúCń|éŃE‘}áíÇÝń3PÎÖŕĺš7ułŐÄćĘeŰ3†ˇ˝b/âŠaäěwyű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–] _„8˜EÍ †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<¤bXü[őČ+˝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ľrOÂ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ޢÖplƒƒPđ(F_PՓőyQĐ4‰E`œF=Iu�MbAŘoŽžpܐĚ'•źő‚ů%ŇŰjĺ4Ÿ„i¤™W7ŕ ˇ[–{˙9]lŕ=Ťs˝ô\çéj÷Ö´s,ˆ+ÎkƒÎÓ96˜8Ű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\<Mˆcç˝ë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‰EQo˜uLD‹–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üÜ"Ÿ“|NBa°—éˇ} ţĐǔ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ŮĹđEˆƒYÔź`ăú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´–Îẘ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–] _„8˜EÍ †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¤&#R˜fč`Řž0p ”Ž >Ʋ‹á‹ł¨yÁ0Ćő‡2ńEHbąŻÚÍśýŔŻÝtËŐ"űĺ™aafĚ@Éž*/ű ĺBgwŢ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 ˘\uƒWUą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¤&#R˜fč`Řž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¤&#R˜fč`Řž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‰EQo˜u§’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ŮĹđEˆƒYÔź`ăú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|šÄ"ŒLTƒ7ň ę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–] _„8˜EÍ †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‰EQo˜u§’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Ο=‹ž}ŽCbƒp!E']ĹĹsl´ę¨”{D–ŽC[­?Ľ8îh‹˘Ţ0ëN%Ż>iѲÝEY´lKßšÄÂ7TJ× cŮĹđEˆƒYÔź`ăú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 ˙ţSoDžő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?{–š{ńď˙ćířćšë=)P˜GĄ*_]Ô!°ä 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Ő8ƒBé逑ü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,ń…XnjśŇ#Iô‚ů%Ň#¤â“&ą@žW7Ztç0ĄOÎβݏfĆ Î˘`C“aYNž>Çž<é[‰Ĺ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‰EQo˜u§’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|čź@Ť7ˆrUŐ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–] _„8˜EÍ †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–] _„8˜EÍ †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ŮĹđEˆƒYÔź`ăúCƒQřą/‚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ŮĹđEˆƒYÔź`ăúCƒQř‚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֓óqƒC¸€ŠŠć�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–] _„8˜EÍ †1Ž?Ä1…/ˆĺ‹÷*vďNxś†ł—w ,EŮOśłć#Ć׎ í,Álľa˜m'ç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Ôţ¤Ş—ÖX˜V^|Ś‘‚OZ´lGŃD-ŰRHŁpŹĐŽŇdDF÷…3�ĽtÝ�ń1–] _„8˜EÍ †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îç;Í%°0ˆ8šÄ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@ÝƲăúCƒQř‚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@ÝƲăúCƒQř‚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Ôţ¤Ş—ÖX˜V^|Ś‘˛OZ´lWŃD-Ű^(t0ˆzMbP÷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¤&#R˜f考3�ĽtÝ�ń1–] _„8˜EÍ †1Ž?Ä1…/ˆĺ‹ŇYőďš'†~8sbM˜ÎÖB°`ćňö6ç+ą" űnÇ4My ‹ăÓ8špKă3îĘ,ŽÝXuăÓ ČĘý<ƒŰ$8_œ91—–6TvN:Ó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@ÝƲăúCƒQř‚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łKh8ž˛ă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@ÝƲăúCƒQř‚Xžřđ(íQĽţ˝WäŒ  ŕ×ŕ†áYŞhŽÍ`˝4ZĽ 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"‹–í)ˆvMbP÷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ŐzHIˆsě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šżYXdŰđ…Ţ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řâůĂâ’řCƒQř‚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ĹÉĄ9S9]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‡܁ryrW_ ž?ý##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ÄNjň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"FqIb§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•ÁŠĘ˙úŠË ř+Ź‚îžy˜wŃZ|úˏâę-Ť°nŢt× ÇńG˙ň ć.Y+ˇÄʉĐĺě¤ĎżçĘ8™ÄNjËá|Ôđ 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›ÉˈćWˆcNœ~iNŇ2tÖĺďĚ֜(qN\tá˛÷Ŕçg“Ĺ+_řăĂŚř%Tź}°gn—űˇdÍ<ĚĚ0LŽMŮӘˇ˙ě홉űxÍőŐęŻrVćŽÚöÓŰJՎ şz:ěżNtőÚ˙övÚχ+Ňö‡+‡pVxe–&œŸ#bÉ˝ŽÂ睎şp’–Ą““Μ3ÖĆf„,Ć.c’ƒŒÇ~ŽƒTŽťĂÄ>^\ .RŒÄNjň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Œkg3BcmmLrQâ˜ÂĎqĘuw˜ŘNjKÁEęń‘řxqB>LP¤âňsˆiÉä€öń˜¸Ď{Š/Ô˘}|ĺ.ł„žXœeIFĢ(Sp óQŞąČóG}9ôy~ůŸÜňŕSˆe!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!ňrOÝJ‘*N•z0ŐG‚<č̕�G +˜/L‰8Šš/FÄ"Â(Î"%̗ÔĆ Üm Ž)Ę�Œˆ…R—ż3[s˘ÄQ8QqîVp5Y?ŐW6 ,ĺß´đ֧꪿~°ĆÄu!aîÜw )p,|-ĎÇYˆüţÂó¤ądo?§kŢéŞ+'i:9cĆÚՌĹ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 }<&îóăŃRˆQRs‘ř¸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!ňrOÝ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!ňrOÝ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™ÄNj“rA*. ż`�•2“ä?)#bÄ"˙ńX´e!‘6–Ľv’ë4"äÎ÷BąDcU‚nŹą”kD,ůÇ íăNŮ$#b‘̔íš\k!ňrOÝJ‘*N•z0ŮMXđ%:s%Ŕč ć Sc"Ž˘ć‹ąˆ0ŠłHKĚýĆ$űŃü2Ž)Ęđ7”u6Šá$-Cg]ţSá n?5'ZĆ ×jšŤo^×S$§°ĆăZ6'TSĄó‰ŠÓ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!ňrOÝ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Ű*'TSĄó‰ŠÓ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˜ŘNjKÁEęń‘řxqB>LP¤âňsˆiÉä�)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'TSĄó‰Š+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!ňrOÝJ‘*N•z0ŮExđ%:s%Ŕč ć Sc"Ž˘ć‹ąˆ0ŠłHK̗b-š_Áś¤ŸƒÝË@Ă }9p’–Ął.‡ŠpˇŸš%ŽÂ‰ŠkľÜQę*ÓŹĚ GŕTč|˘âŠĚĽŽœ¤ečäԊ9áŕŒkW3BcŒ1‰ƒQ㌈…^.HĹ%äçӒ˙ČRœćv6KĘżçĘ8™ÄNj“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'TSĄó‰Š+2w”şp’–Ą“S+愃3fŹÍYŒ]Ć$F3"z𠗐ŸCLKţ#HqšŰYŘx,)˙ž+ăxd/NĘЏ4ü‚TĘxL’˙¤\ŒˆE‹|Ç#‘KËXZ’,ľ“\§ą wžFĂôFˆ5"–|cˆ%˙Ř VÄB­’xýiD,ňƒ˛ë^-˜€S+Áľf˘!O!wůdŃ­9 âTy ç@“]„Pň 3WŽ`ž05&â(jž‹Ł8‹´Ä|áE+Lƒ1Ń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,ůNjˆןFÄ"?(ťîՂ 8Őš\k!ňrOÝ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,ůNjˆןFÄ"?(ťîՂ 8Őš\k!ňrOÝ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'TSĄó‰Š+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,ůNjˆןFÄ"?(ťîՂ 8Őš\k!ňrOÝ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,ůNjˆןFÄ"?(ťîՂ 8Őš\k!ňrOÝ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÷“cƒv_}áÂ}ŐŮӁ÷˙ţëôĎ'*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ÖŽV1c…/6˜ŘNjcŸÄĄ,—ť“…”ÁЏ„üb˛>'ˇ1r€I˘j ą…^Ťą€@ć]‰ĽqČőxďOŔkŢj-nŮ;ŽŒáoď=SƒS›ŹáÁ˝ƒřż÷„'<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˜ŘNjcŸÄĄ,—ť“…”ÁЏ„ü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Ž@WQœEä~ÎRŔ´œˇŠą„kon0‘ńąÂd8Ś(0"bűŠ9Qâ(œ¨8jjŕ¤,#°Ń š“Ď3'PŐŘ(ŞŸdó)j™sBĹéšwşęJŔIZ†NNşęŇÉ ůp7fŹÍYŒľ˝…/6˜ŘNjcŸÄĄ,—ť“…”ÁЏ„ü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ő-—……,ś ŽĚŕüĐć÷wNJűˇŻ>‹żúĚ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˙ŐC˜rˆsĹ7Ý>ď 6Ź]†kŻÜ€-ôűŞł´ţî_? çsçGńßŢç•í‹{¸ŁQŃ^#bÉ?ֈX4˜SŻąHŞŽ{2cNe3ĺ՘ą­ŻŻŠ˙üڑX˝őÎŘۇ†0…ţůďÝ+^şšo{ă˘Ř}˛ó:ź“§'pü$˙>ůÎ×,Äő×ô6~đńüŒŒ†Ĺ°}˝U,ż¨#t/í[6oŕßď:+ľx÷}^[œ[\ź!ţcˆgvxŻŮ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éóŘsƒ8=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#–9˜vÎ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ŔMƒ3öőÄĐ.űßŔűĂ; 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ĹéʝŔ¨uXFÔ-ą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ĢŔQfwż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ĆfE?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×95H=Ѹ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•.OSí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Í\,šŰ‰‰é^<;ž={ž9ƒi{_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űˇŘ\–aÇą]¤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şŘr9Ëł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ĂôFˆ5"–|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¤âňsˆ1Iš‘¤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™ÄNj“rA*. ż`�ĺ>U`*Ţ{֝եw›Ŕî#'źžŽ›úëĽě+ŐN7ÎŞv¸K\ĂyGźS€RÄÄäţ¨/‡>Ď/˙âÁ]úxĚÄE=Ľ~~q˘Ý¸O5tą#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™ÄNj“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'TSĄó‰ŠÓ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¸Cˆc"”ÁЏ„ü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ĂôFˆ5"–|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'TSĄó‰Š+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'TSĄó‰Š+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œq˜Gá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'TSĄó‰Š+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' ¤âňsˆ1Iš‘¤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'TSĄó‰Š+2w”şp’–Ą“S+ćł´Ÿ4r2fŹÍYŒľ˝1•‰|L@(“ť“… Rq ů9Ę$ˆÜĆČRœćv†›ĆÄ>^\Ž\$ž\<WĆńČ$>^œ” Rqiř¨”ń˜$˙Iš‹ ůŽÇL\ÔcQęç'ڍű4ŸZŇŇÎŇĐ2b‰qFĂôFˆ5"–|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' ¤âňsˆ1Iš‘¤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*ť•)ŻĆŒˆES偞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œq˜GáDĹšKË(şŽ8ÍƜPqN…Î'*ŽČÜQęJŔIZ†NN­˜ĚŇ~ŇČI6ŸŒkG3BcmoŃ€° ä�L¸Cˆc_ .!?‡“‘Ű9@ŠÓÜÎpӘŘNj˕‹Ä—€‹çĘ8™ÄNj“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'TSĄó‰Š+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™ÄNj“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™ÄNj“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'TSĄó‰Š+2w”şp’–Ą“S+ćł´Ÿ4r˘Î'62 cĆÚٌĹX[ÚČšcĄ}#b!”É9@ŠÓÜÎpӘŘNj˕‹Ä—€‹çĘ8™ÄNj“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ĂôFˆ5"–|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™ÄNj“rA*. ż`�•2“ä?)#bÄ"ßń˜‰‹z,JýüâDťq_‹œǏ>ƒźě‘§O!•ŠN.­KŒ3"¤7BŹąäkD,ůÇ Ęé_Bl’¸‡wŸF^věČÓŇşe×RLđ p*ť•)ŻĆŒˆES偞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┕ňsˆ1Iš˙?{ď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ŽÇ,ĺŸ5XlÉíő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ĺÔ§1XRôŇĘ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¸ßŞ{ŠŮ’NL˜zZ9ő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ĺÔ§1XRôŇĘ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ŸĄŮ’NL˜V ą$éčőé”:-Ąťú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é:-…”§1XRôŇĘ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ŽÇ,ĺŸ5XlÉíő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´Ť���@hẀ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ŚŰć¨Ţ÷ôíýöfqafŁťĽÝ÷?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" 0ˆwZ^ü†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Œţ“ lse[čąä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�@pfX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ăŽ"?BƒcO9‹źŐuĚĘ” ˛�ĽCÄ@|ę ~ a6“zĚ$š-H,r[Xäś ąČmAbągëˆÄâŰúmŢS^ôĚ`Ë?ňů˛§Í4ĂKKÇą,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„ÎWXäś ąČ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ľsXěDzSnʊ[­VÉ*›W��Ŕ™bu֑ڼďŰ86+ůpŞí0lŹ`ďŤúR™ýčˆYěCiăŽ"?B EYلĺjrŁ&@)ą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•&@€.pfX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ľsXě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~ŃŽ€%pfX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ľsXěDzSn,‹Ć�œ€3 ÄęŹ#ľYŐm›•|8Տv6V°wŽU}ŠĚ~tÄ,öĄ´qG‘Ą­˘dą%�Œ4@dV(b7xXäś ąČ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'ŚÜ$�2pfX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%‹- ´�‘(1b7xXäś ąČ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ľsXě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ĺĆEXr˝=�Ŕ¨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'ŚÜ$�2pfXu¤6뫍cł’§úŃĂĆ öÎąŞ/•ŮŽ˜Ĺ>´‘6î(ň#4°U”,ś46€Qˆ,Ŕ „ɝždś ąČmGˆÄ’>˜ôŇ@'Áń&-'äé34˜-=›n2KQuŃBlXěقÄb)TĆ^޲˘l =–œĘĕß"bşňË)JeŠ+#Yws,W~KWž‚2ŃňkY�€ ąŘ•OLľsXěDzSn  � 8ł@ŹÎ:R›őŐĆąYɇSýh‡ac{çX՗ĘěGGĚbÚHwůŘ*J[›�Ŕ¨D`…ÁäN_2[Xäśe$ąˆF6Ş™X吲œPúňAԥ뉉 ÝqóˇgXlڂÄ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,cXěقÄâ#÷âԁmĄÇ’ąÓ=JçÇąßÄ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‹}hƒ7 ü 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ŹÓÄ˛ą‚˝sŹęKeöŁ#f%3pↁĄ­˘dąĽą �” ˛�@ć,Ce ‹ÜvˆH,ńé†5 ‚?>‰ĺČÁC´|ř-<˛—ęľˆ˜Âm‚ w˝ĐęěďŐK"ą„ł­x 2OApéŐé•Uúîúü4÷UfORĽy'*ĄlőşľÍiô­{ "łtË Ž ąŘł‰ĽŒŇ‹\ŰBĹâ ×°Ç~ł’XRNJTeŇłťď%žĹă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ęÎą‰}dTfeWç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?–˜rcX�`ČŔ*áë¤Í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Ňůżœ k4˜k ŞŐŁ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?–˜rcX�`ČŔ*ŃHšŸSę?ŹŹ6ŤŸÎą‰}$é'těƒîzň€`túź´qN[nˆÓÇpmcU_*ł1‹}hƒ7 ü 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ÚźžůŹ§Đźţĺ466Yžďűž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*ÉBƒ0`ë§ę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ë›úśłƒŰzXě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ś`wƒiůđ 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ô°7˜3š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ĆÚdXě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ŸKXě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čťëČë›ÝfQšÓ2auĹq>‚2ŃňkYVTL�Œ‰ĹŸe¤ ;PŸKXě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ň`˙ {˝juĽŔ|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‚~X5˜q4NfĄ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/"ť´ô¨MhS–-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'ŚÜ$�2pfZ=ɌÓ~†Ç]’PéZZ($ąT}"K%š•%üYˆZ$ŻMfńá ŠäW‰‘Xáě+ěu-­ZźFgF˙7 ÁdŮ­™[Řë,)‹fz cő[:3şŽ2KčĂ -‚~&ˇsľ˛ĚÔÎëŮśŃa`]1‹}hƒ7 ü 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'ŚÜ$�2pfX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?–˜rcX�`ČŔ™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™}Njiá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‹}hƒ7 ü Œë”JIpl6Úo'ĺÔ/DŤ Ź$€ČŹp˜Üňś ąČmAb‘ŰöĚŮÍƢZZˆW7›Š*Ľ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_rˆiľ?ËŤ‘.é%ąěÝ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ˆŐŮԁ#D44´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ŮgdaXlڂÄ"ˇ‰Ľ™ś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¨˘ľ´Đ("œ‘…5fdaXlڂÄ"ˇ‰Ľ™śmĆNˇó|,ĘFÍ/§(9ˆ9Źí$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Ă<#Kg˝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ńĚăćÓü"�‰pfX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š_EXr˝ ĺ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ö Íď˝“Śˇ_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>°ň“Đ™‘EsyƒNbd†^› ąČ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Ŕ@€ČŹ(ZXäś ąČ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˜ŻŇńZƒ6mş›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ŽSX�¤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ăŘRTƒzç…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€pfXu¤6/Qǖ˘_Ő'"ąt–jdhY!ŸäQiý"˘¤x­�Ńţ(d›#˝Ddbő,ižâÝÁžă‡iďńCä) ĂžwűěmĹßÇąű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 JXěŔ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ńĽ•C7 ü Œë”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 ŻMXäś ą˜Áů‹ĘŒnçůX”š_NQĘűü)d_˘Ąsżyű×ió}Âqň­ý%ř|Yu"¸~‚ŘoÍÄâĎfâĎĆRé9ˆpś“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] ٘rcXÜÄӏ‰ĆčgˆŐYGjó5:śVÔB>áămÔžůý7ŻłZlĐď ăDívřˇŐĽnY¸üżŤE\ají É/ŃOźŕßJřˇůĽľälHˆéM.úڙŚŃG\é<űôĎŹóŃ"ŻÄu-UŸľEëüőE¤dDˉ~„Ć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‰pfX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˛ů%—˜rcXÜÄӏ‰Ćč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FƒV­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ÁQƒI|Ť—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?Š‹lKƒ3ľüČ.PkÚ-ąŕsy9‹…"Źźű^8őԓĄŻŻő166îÔ˙!J|›œaŢDőĐâTw&‹>qN 5`ŇĺäLĊyˆb”MdŠŢ;ˇô~(é]ڧg ťŤš ;–ŸţBŠĹŘ{Ě{ňÖżŔŽŐwƒILĺ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?Š‹lKƒ3ľü0 _Ą%@"|.?§;:ÎĚ̔žc°gĎ^†ńńq˜˜˜pţ 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Ö ĚQƒU+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?Š‹lKƒ3ľü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´Q˜F;?Č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,%0iƒrr&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"$bi0iƒrr&bĹ<d0ʆ’'hŽŻvŠZÂbZ• vW,#őwÝ.NJ6מŤŔűăŽ:Śúˆąč” 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,%0iƒrr&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ýńIH ŠpN™;gň™&‹.5NœNF"‚4ϙ2əˆóÁ(J~XlÇlŕ5kÔđÜď"wű s“ÝÉşňH\„A“‡P}œÇ$^!˛RPPƸŁÝ§˘)´ĆřŐżY´Q˜F;?Č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ÄŇ ž$beˆEĎÖ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ą˜áçÄíĐ$bi0iƒrr&bĹ<d0ʆ’G˜FśĎ…=uŤŽăŽŰĽâˆ˜çqŤŁŕ9`Œ;Ú}**‘BŮ0ĆoÔcŻžŻ?IŔ(֘j¨ŤÍ˛ZLâ[˝”Jž$bQ÷ĽX*¨>fHĚ×ň<NHn7ß*žjbą4¤/‰X@$bŃł5[\“(éúk´ö4•!ßŰÄTܖkO…6Š‹lKƒ3ľü(Žş5[_! ‚D,ř\ÉpF' >§ş3‰XĚđ‰sâvhą´�˜´A99ąb2eCÉ‹#LŁŰçjwŃ)_ÜuťTłâ! B?şĐ(ƸŁÝ§˘)” cüĆęß,ڈן$`” kLEě*B3ƒ„,„“řV/Ľ’/‰XÔ}IÄ€˜˜…ŽťZGýfň7ŢY™Źżó/¨A`¨ęŤĂŰ ž$beˆEĎÖ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…Đ6X~�uř’ˆEݗD,uý¨!&tąžs 'łëK˜ż Ÿ˜o”7aá%‹ş/‰X@$bŃł5[\“(éúk´ö4•!ßŰÄTܖkO…6Š‹lKƒ3ľü(Žş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ą˜áçÄíĐ$bi0iƒrr&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,ęž$beˆEĎÖ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Ľş%HƒD,ř\ÉpF' >§ş3‰XĚđ‰sâvhą´�°ę“é&a"‰ä€Q6”ü°Ř8Â4}ŤŽăŽŰĽâˆ˜ç2`u?hÄQtŔjJŚěŠíp4ŇNA#^’€Q6Ź1ŤŤ`őqĄABBBçÄ.ŕK"u_ą¨ű’ˆϗD,ęž$beˆEĎÖ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Š‹lKƒ3ľü(Žşľ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!�AD,ęž$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ĄAD,ęž$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…źó>NƒfŤ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Ř÷ţÜGx^ľluě•|ۅ+ÖąJr^CVE,etô�\čđZ[Œ-‹B?Š‹lKƒ3ľü(Žş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 AD,ęž$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ţˆCU…#ž5Ćę/vň|ę”Éš¸gśŽ69ěO3˛fvŹ÷ץv{*ôĄ¸Čś48SˏâŞŐm[ƒD,ř\&9Ť"ő?ttäŕâ‹/‚Ÿ˙üÇpꊧD 8JŹ ‚fąřMV'C¸ď¨îL"3|✸šD,-�ŹúdşI˜H"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‚ž$beˆEĎÖlqYL"ٜ’ś48MĺGŔ—U%1¸čqمŽŕƒ ?j× [P|Mqŕ@ČĚ? âP(–oX .˛ރęN2îŽ,aö󤛆Ńß˝fś<,?ůMŔčeď63Uő‰[7-‹B?Š‹lKƒ3ľü(ŽşQÝś5HĂϕ 'Ci;žSËżř98眳b9B+Żx <‹7&ŤËUą¨Ťg˜D,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şI˜H"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Çwop׆Ë}đÁ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Ţęűś`�ö;¨ţcˆjš‹…|÷Ó_†_ű‡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ü‰XUŸL7 I$Œ˛Ąä‡ĹĆŚÁčsXuŒÇ#byĂAgáO~c¨ˆĽ<͗üÇňç�+¸ăMeb[{ΝüԞۆ‰XÂpÜěĹđŤ3˙ękű+qœĐ…p!Ë[>/(bqĘĹą +۟ŻăÚˇ/|íä×úD,ľ˜Ű5�ß]ńfŘŻkVčšOý´ŻĐxĘíÍBßjEńú“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ÁççÄ?¤!bItˆIXőÉ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ŔôôtIp„=×}őŤ_éKĂçĽßůÎ%đťßýŚŚ&ď.Ü>řÁ÷ĂŠ§žZIDž;|ţ¨ń§ń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žCƒKâé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šúZ˜ućŰ|śÜ§Ŕ$ŰěxŹřNŹşŚ´‹JýßT~°6Š˝čÖĺłeşaчî)ĚZäŠXxţć0çˇÚăčŢMЙu…$ĺašPz6úäę cÁÁőă ´‰•qƒfěŠ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Á|(veUÔňŐX{mţâE8Ó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ך?ZƒJž°ĆŮöôĚŽüβ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ĐbAçĐ,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ţcNjţňç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ČBhmˆEݗ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ŰÂóˇaƒ7–Żü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ţÄ3Oƒnď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žă ǁ‡.…#;ڗ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ěŘSV˜B›pŸWźĺu°đ€Ežď3NY2đÔęu•Ç &áÄ3VŔW~ř-X˛ě JÚršË݌GÄr葇מ÷ X~ÔĄ0Q˜1$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ćň ëŒgW˜rŤ.Ë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š;YaˆX¸ČËĸ:ôŻ-`Ő'Ó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ś48SmOsmRZƒs%ć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Ťw˜hˆyve ‡ż­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ęžÜjkvzžїD,ęžV­՗0ÚRÄ’ŕ §aoT2 ߄lipšĘormR]„+ś‚ś0ą Ť J*ik8kE>^€şc]ŮćĄxă†ňylx•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˘I˜H"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Š‹lKƒ3ľü(.^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(.˛- ÎÔňُxEukSąM‰Xđš’áŒN"|.Nuç¤D,ľœâ=./g’|✸šD,-�ŹúdşI˜H"9`” %?,6Ž0 FŸĂŞă¸ëvŠ8"ćŽGYÝq°šëü…1~i§ Ż?IŔ(֘ŠŐU0ú¸<Ą´‰@ …ĐňКȗD,ęž$bÁó%‹ş/‰X@$bIŠŢ¨dž ŮŇŕ4•!ßŰÄTܖkO…6Š‹lKƒ3ľü(.^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(.˛- ÎÔňُxEukSąM‰Xđš’áŒN"|.Nugą˜áçÄíĐ$b1?§A.ŹúdşI˜H"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Š‹lKƒ3ľü(.^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Š‹lKƒ3ľü(.^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Š‹lKƒ3ľü(.^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Š‹lKƒ3ľü(.^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,’`şI˜H"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,`şI˜H"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Š‹lKƒ3ľü(.^QÝä4Đ&"ö†…›qą˜á3Ç-ŒD,fřôy“äÔ?HÄb†/šÓÜɊD,`şI˜H"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Š‹lKƒ3ľü(.^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,  ą¨űjˆX8Ö>źĆ 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,ęž$beˆEÝ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,ęž$beˆEÝ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Š‹lKƒ3ľü(.^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,ęž$beˆEÝ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Žṇۜ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ŠÇŞ0ZˆEݗ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,ęž$beˆEÝ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ĺr9GľŔ$b1DžĎ)ˆ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Š‹lKƒ3ľü(.^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şš°™ÇŐl6ƒƒCĐ××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 ;€ĐĆ@ aˆOÚ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\]]DžŮ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ö#ŠMˆK‘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ŮŃ?yd˜E,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°.�Ę:jE,&>‰4•“ĆGێ݈‹R¤&=WĚĚO°ˆĹČźG㒍™-lM‹‡§ /ÜţŒëÁ`0 ĆĽ„Űo籏Ńß`! Ł/ ԆŢ&pýU6n’‚wV˛ýŕ ~ä8iýYÄ=žýš´}‚e¤¨cľ­:.JôgK0Ďę\mఈE‡žŒPý*ě“ăđöˇ–ˆEě‹YYZq„ÇĆ4ˆr\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Š:jE,&>‰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ŠókE,&>‰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ű+93‡Œ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´ż’9sMŚ@ĹůľŔ"Ÿ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ŠókE,&>‰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ű+93é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=¤ç sƒkJËA6‰ćýHזůs¨ăL×7;çĺŽéÎ93é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~>,blű–ľ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ŇŇBYˆIҊ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ű+93ém ăŘ(bkE,&>‰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ű+93é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(bkE,&>‰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ΔO˜5MÔ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(bkE,&>‰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¸ţ93ém ăPÚČ 3‚;;ƒ˛ą˜ř$ŇdTNmťv#.Jq8E\Y‹X(`â XÄ ,΋şŐ:anp_…ĹŤníŘĺţĘz \ƈł KŮůÂąąˆO¨EˆX|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‹É÷ËJƒpŃyŃśPÄٛžĽëoÇĐđ°/b ŠYÄ&Ä&bŚ!( .ąD…,­ŘZŸŢ=dTČ܂ˉmttÔ-òxš5çsáŰż‹O>ŒŸýgŹĚŸÇÔ@㕒+b‰ŽŁ^](Ĺ,Šú•óDw,ĐąŔŠńËÄ'7{‰O.cƒq €(]Çđü.^œ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__÷gˆY;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ÖGˆVħ'`ń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– ók˜vnŰł,×[?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úvE,Ą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Ü<‚}š‘ [Ÿ~ąîšPˆX„ĎĘęź3ÎÔń}Ż˝…E,Řło?ţ7á~çŤÎCŃyçĺă‚ßaљY‚cŽźý˛ďłPšE,Š9By~Ÿ  83é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~Ÿ  83é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~Ÿ  83é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ńÉÍ^âÓ3cƒq‰"ĎŮX¸+ĘÁłŞ0 ĆÖ�?ąeô7(ňŰg‹ö¸a\”čĎ"–`žw.YˆXćזp~y۞~ű^y ĺ:EŠTĆśíŰąäđ.-.˘ĹÄÄD&7;FpĹŰžgţáAœúđý¨5Ř1Ü~PéˇA…H7˜y%`ëîş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ąóŹÎ%ÁVˆX.,/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\Ýďź°›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)Ą}{÷NJŤ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ŢylŇ$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~Ÿ  83ém ăPÚPÂń$ŽH ]˙ŽHS`Â5l⓹˝Â'‘&ŁrŇřČi.= )2tłąeŠKľ&Ş ÂŠ§Ýš…E|Š™H<!‹Ř8ˆJĽnúŻďÁńj ş€ęťëoý4Ÿ:4X]] §×WŃ-ąÎ•GŻň—ň>EgŹYžîVŹ9cć˛S‡MĹ÷Ą:3–>,btí•ŕ“›˝Ä§—Çă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;˘ĹZˆS<ъřźëëßŔ‰§|;ą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ţđÓ0dˆM5mሔŒŒŽ" Žţö;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›đ]źĽÇƒŃU˜j%=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 cKAˆW^ňҢ—‘ÁPÍ`0ŒĎČÂčoPäÓÝgKô8%úłˆ%˜gu.[ŠĆĽ8^÷–Ď™r^˜ŠˆjŻřŽoÇŇâ .^˜ m*Dí„ďwžęĺŘLˆe†^űüî&ąʜŸ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ħgˆMÜ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哛˝ÄLjbâRdE, ƒÁ`0 [°…ŃżŢ5ąˆ%vœýYÄĚł:—DŰ@ށüz˝ážD+ďn=<bŒKcˇÜ<ýV<>ˇ€ĹjÍ­ą-VŤxěâ<pűÓ1zĂu1żŮ‹\!ËĐĚšC÷ĽŁç+ 7xb#ą€E,”\N.çÜ'ľ}äk%SAEö˘ß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~Ÿ  83é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灥é DžłłÎƒ˛Ú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‹Â–‚ż SˆXš‰Â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ԌBˆYŠcŁxÚĎ˝Ľ[o=y Ç˙ď§ńŽ?îŠXŞ Âobżű=cJIŰ7łŒcpţÂ9ŹŹŽ¸ł˛ Œ`ppČŮÝŮbŠEsáNŮŠŸľŔě5Ń:\Š´8M˜ƒE,°ƒbü2ńÉÍ^âłőƈî‹X ĂĂ%¸bƒÁ`ô-XČÂčod_–Ç"–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~Ÿ  83ém6­ˇÓ‘@ŒË•r¨mň„QYśĽ94ő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ČÂčOd_–Ç"–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~Ÿ  83é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);㼹”ÜȲĽč˙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ŢŢ}üäÉÇąj8ۋˆó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~Ÿ  83é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\Ž”ĂÂ'’•ťŠHA=Řäç#§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,ÁăyLÓ$?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‘Śpƒz°7ČĎGNĂ"{Já“LGAó2{¸XÄhĽ„ĘąÇÜ{ť¨ Cˆ4Ę岝]˜˝€,ą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ÉLjbâ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÷î=Ž€#Kˆqq÷ž=˜ž™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~Ÿ  83é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°¨XVˆZÂ"+¤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ÉLjbâ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?ą„ň#u7˘ß¤łŃĽIfCĆnÁžÜH†­‹X’ŰӎƒŒ8LxóąŒᕯş˙ăOż ąˆĎc'/ó}ä3÷ĄIŖEˆWœź˘ó_ŠšŢłÔŃ,´—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?ą„ň#u7˘ß¤łŃĽ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Žž˝3Erƒz°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ÜÍ˝pƒB–‚{Î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ôÇ$#ŠMˆK‘ą0—źű°ŸšCą\ÁíC0ŐEny8ß?O9Ďž<>ƒÁ`l=°…ѧ`K0¤ą(âJy.,bąˆKVoB–ÖKŠeT[ËéłżŁX\\v”-odT‡k˙űk*T0Dƒhw¨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ň’TE, ƕ‹Ó箆ă^;˝•ťý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ĆŠDF°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—Ďwc17łĹĚ+*€%sPžÍ˘ÍﰜJÄfn˛ˆĽƒF•ĄAy>bąčؓ…šÄÎ^&Ę÷Ž5ŰVe|˘‡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˝¸dĚą Đ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ň’TE, Ć҂îŠ**ťÍ^†Óă~çęé†ă^wPŤzżČÝk”ű…ä^#1;š]¤Œ řďłÓn¨ţn,(ڊyŤƒÁ`0Ž@°…ąź<ňmƒE,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‰.š'(o˜K/ŕňč¨/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ÄbWjÜŇ+­ˆŽÇh;ý śČwĂŔÜžéz<xâi<óÎo`Ă÷ěĆęçmSË_}Äű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 RƒSŤ–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Ë,bQ_XÄb—hÜ2ţĚřĹŰŢ*)ÍźvO˜WX¤ˇ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ɏăÖŕÇą“#,Đ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č?×épˆlôćŔ’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›âőN˜Yô ‹”‡—÷‹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ň’TE, Ć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ËEˆY<č­Ź˘žśĹ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ň’TE, Ć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ň’TE,ĺ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?ŘqˆXű(�‹XtěÉÂGMRŒ= Ë_džóŃ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÷‰—ÉÂNJCž§ÝÜěœ#Qךű_ʁ’9(ßF3ŠőüËŠD´ă 9 |R˝¸T�‡¤,Ův"–E†Ć> Ŕ"{˛đQ“cOÂÂsOĒöqÄŐIóór,|âöšóUâc ËcŇČ­¤ă>ĎG‹bň’TE,ú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�ąčؓ…š¤{Xdž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÷‰—ÉÂNJCž§ÝÜěœ#Qךű_ʁ’9(ßF3ŠőüËŠD´ă 9 |R˝¸T�‡¤,Ův¤äXphěŁ�,bŃą' 5I1ö$,°ˆEË|‰ć%;żąˆEĎG‹bň’TE,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?Řq1GéĐŘ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÷‰—ÉÂNJCž§ÝÜěœ#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÷‰—ÉÂNJCž§ÝÜěœ#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÷‰—ÉÂNJCž§ÝÜěœ#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?Řq1‡_'Ş,âp,bŃą' 5I1ö$,°ˆEË|‰ć%;żąˆEĎG‹bň’TE,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¨ƒ1L5˜m2÷‰—ÉÂNJCž§Î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ŕŔšěŮýńS8Ćă•á;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ésPc˜jĐ;&‚UX<lŰяŸzăn_¨˘‹áá.źö‡wâĆWă}u�3łŃŹs óH•ILJ¤í:ă¨g‡7nNŐÁ+_ś9í‰ţÜ)ÔÁę,,bAó;,§ю+ä0đIôâR’˛d?Řq1‡_§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$ćUC¸…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ÔçˆXra8pNÎ÷Ř)ÂÄ,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?Řq1‡_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ď=ó¤Pdž÷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ôÖßNˆXü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¸ KGƒÄ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űŽ-řŤęC˜o´Ő˙'ŚÇp~n kş2ą˜8›‰}ďŢݘ™‹XňmăöÚś$ˇˇíˇ˜ƒE,Âmä$ą/ dXNÔQY,b)Žƒô9¨ƒ1L5˜mŽ@ą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ŚţçÄŠ‹řćŘ˜žŒ“3˜jÖĄ…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ŠuƒfffR"}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Ҕٗ‰XˆVbŠúž‚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—ý.ť˛زÁLj'ő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ä¤Ě#B1˜U ź:ۨĘ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?Řq1‡_G–q;ŕXTEł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?Řq1‡_G–q;ŕXTEł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żŽ,ăZsˆdŃ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ŹčDžÉŕa˘Ç19Ÿ|€w×Î]˜;0'ć`‹Ú–äöśýs°ˆE¸M‚œ”yD`‹iRR´KëH‹C‡—E,ŃiűŤ~xŻçЏn\ź8÷źűźů-7ůB46mę÷?*<úč>ýĎ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Šą'aE,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?Řq1‡_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îŹ ˛đÉ:ë#1BoJŹŽŠ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?Řq1‡_G–q­9XÄbkO>j’běIXp …’űA>Yg=ą Uꅆ'v'I%qT[×Ńđű°ÓşœřˆÄ•Ř:N´ŒrŕăTœÖő(Za%ˆÄ„/Áűě!…'bŠ$Ż5mHx}Bŕăˇ5á_KŰ"ÍvĽ%đ@ěuBxĹ_ňšâ .‚ŠÄ!Ą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źó䃉LJiźúć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–,G˜QđĐŠ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+Ú(čÓtW>dhoŁŸĽ|Č˜úĺ}We0 ƒÁ`,?°…ą<żQżŠMéöôśŕ‹˛ÔVîCJGÂ%˛ĹHľ“a^ęXްE,˛°,bŃň3ąx1™8—i‹ăÖŰpë†-¸ôđ(XĢaKr{Ű~‹9XÄ"Ü&ANĘ<",K¤('ęHdĂ"–â8HŸƒ:ĂTƒ2W)™űÄˤă­öA­'^‰ETü˙%}ÚŻr2ă_íáďľ)ö�Şő "É9¤ÍáÄ2Ź&8Ň>"Έ'Şuü^šÁk‚¤q{ˆd×'9FΤĐ­!Žżc˘ý  †ö8§Î…‹6żĂr*Ł9‘á0đIôâR’˛d?Řq1‡_§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•˜ĆQÇąń!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÷‰—ÉÂNJCž§Î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ńë›ő&ęăǔĚbîR=?J׳ˆ%[´Í"“œôÁĺ#bIƒňęHdĂ"–â8HŸƒ:ĂTƒ2W)™űÄËdácĹ!ĎSg•ălÁ‘¨kÍ ƒý/ĺ@É”oŁ™‡ÔĆz~‡ĺT"Úq…>Š‚^\*€CR–ě;2ćđë:œßć,bąľ' 5I1ö$,°ˆEË|‰ć%;żąˆEĎG‹bň’TE,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ésPc˜jPć*ĺ 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ň’TE,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^łVE,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‹áÍDPjƒR­$ł×ćPřÄˤh—Ö‘‡/‹X˘ 2÷‰—ÉÂNJCž§Î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÷‰—ÉÂNJCž§Î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ň’TE,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÷‰—ÉÂNJCž§Î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÷‰—ÉÂNJCž§Î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ýIh˜Ců}˜ő }’ç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đâŞ8ˆ4qŇ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ýIh˜Ců}˜ő }’ç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đâŞ8ˆ4qŇ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đâŞ8ˆ4qŇ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(&ŠÇ_Ą ą°Ü‡´^Ôú&"^Ĺ&ԋ0ˆXxeT¤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đâŞ8ˆ4qŇ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` ś Ó_Ą ą°Ü‡´^Ôú&"^Ĺ&ԋ0ˆXxeT¤Q=ţćš7œ"–‡××ŕ…Ö4…ă'N×”ˇ˛`{ ßóň˝O eˆE0‚č<Ź}řŠ/‚ˆXDÄÂę&čÔ)äcÚDÄâœ;,ŠˆĹ‹ˆ%ŚNü1¸ýD,yž?˙çeŮúŃá|ě™Oi1M(ˈć“6ĹâŕđŠˆĽw˘âËči•P&‰ƒŽ'§ƒýœŔaŘĘľ%âú“Đ0‡ňű0ëAú$ĎďnÚŞ;.ĘQĆJđâŞ8ˆ4qŇ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đâŞ8ˆ4qŇ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#ś Ó_Ą ą°Ü‡´^Ôú&"^Ĺ&ԋ0ˆXxeT¤Q=ţćš7Ü"–üôwć/çƒŘW˙Ýoţź•E #‹|Ë÷şMîŤÁ0@F¸`dYŇĂ<ůÂü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ř…§.ă !ś Ó_Ą ą°Ü‡´^Ôú&"^Ĺ&ԋ0ˆXxeT¤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(†OCŗŃÓ*ĄL]ON?ű9Ă°•ó*âú“Đ0‡ňű0ëAúDŒKÔÇŞ;.ĘQĆJđâŞ8ˆ4qŇ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Ý_Ą ą°Ü‡´^Ôú&"^Ĺ&ԋ0ˆXxeT¤Q=ţćš7ü"–<ůK—/ \ÄBs›b–Ÿůű˙Ňxk‹@ Ì|Ďú™Ÿ˙—"blkˆE0’Č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đâŞ8ˆ4qŇ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"ߣň˝*ßłrˆˆE°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(†OCŗŃÓ*Ą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đâŞ8ˆ4qŇ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ě‡y˜A°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ëÜẅtďoL;öţĆťśqë/Ď۝ď˝÷ţOĺ„.\ ­VŤ<ŸÝ;/ţö—Â-ožŽźűíT÷ Iíŕ$Œ-K!EńĎ^ť˙á}ń_]ä‘ۍŰ\°´=‹ň/ËxŰmŮK[FŘ!`Ď<í6Z‚ŮŘ5EÚçőGŽuaf]żŒ°ë*´ĎHdvö†… N`mÖ Tی$ť}qsť0cýÁj_ ?Đvgv[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ۢNz.ěţ'ăůśŒ°÷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Ś‰ß/DŽÍ÷Śűî{|ĂŤ^?ńœ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Ö(ŽŔ譑‹ĎLjŃ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⋞ž$Ÿëş›nW\Ő)ľ‰ű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Ö(ŽŔ譑‹ĎLjŃ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Ö(ŽŔ譑‹ĎLjŃ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̢ŰQ2mF1KžŻ~çˊ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Ö(ŽŔ譑‹ĎLjŃ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ŢĘ"eˆE02°‡ˇźůÎnFď "Ó."×ED,FRD,fžˆX,ťˆXô:”kj'aÚkątOvŢń ł\ Ÿ’ÚW_s-ŤœˆX¸ŹS)Ě(ćŒë$U#í’Ţ9Š[0šŻR'[îőqyŁš<­­Ŕĺ¤*rÖ(ŽŔ譑‹ĎLjŃ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Ö(ŽŔ譑‹ĎLjŃ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Ö(ŽŔ譑‹ĎLjŃ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ű0ˆYfoŘç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…ą= ćsnf"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%ÊĆPłŕ1ú \~}?N™ĆO7υˆYüu1‹nGyČ@ś}3Ĺ,{gA eˆE0Đ÷-?Ÿî~؈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Ö(ŽŔ譑‹ĎLjŃs™áŚ8N•ř˘'‡'YŤoJ˜dÝ"ő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°ĺýćľůvƒq#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™ň'Ű'"Ó."˝ĺ‚ÚÁI˜vą!"–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ˌ9˜X݈ZÜÁÄ*SÇÄ7ş†FŠ?wÖĹúöŐ °ĎÄÜĄ*b;OĺămťˆYÜLŤ>d^Ď.bŠËŕéÚq˙ČńÓÍs!bD̢ŰQ2moZ̢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Ö(ŽŔ譑‹ĎLjŃs™áŚ8N•ř˘'‡'YŤoJ˜dä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Ö(ŽŔ譑‹ĎLjŃs™áŚ8N•ř˘'‡'YŤoJ˜dä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Ö(ŽŔ譑‹ĎLjŃs™áŚ8N•ř˘'‡'YŤoJ˜dä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ű+-Žž'"Ë."˝ĺ‚ÚÁI˜vą!"–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̢ŰQ2m1‹@ 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&Ă|KˆOŒZŰăŢPâsÓN¨Î?ú'Œüńb€•ÁD,>˙: "–ćâőL̈́­óŞZ,ÝmŕŰiPÄ,îCŢ"őľóX>Ţś‹˜ĹÍ´ęCćőě"fĄ¸ žŽ˝–ńÓÍs!bD̢ŰQ2m1‹`ť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›ś–Êńč>ä}"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ôŒ’(ŽŔ譑‹ĎLjŃs™áŚ8N•ř˘'‡'YŤoJ˜dä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š×Dž1ÖńöEgŃĽ­/ŢČâŃmôŒ’(ŽŔ譑‹ĎLjŃs™áŚ8N•ř˘'‡'YŤoJ˜dä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Ź/ÎE˜x\ÖŠÇć  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ňŚôoCˆg؍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ŐĆŔ譑‹ĎLjŃ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ůüQ˜8s&́™‹ç`úŇE˜X[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 eˆE°- "Ř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’´g9ŒŮ34�ëú1Úǽގ˛Ž„×(ĚΟŰýCFŘÁI˜öĚľŻu'ĺ_š°ţđśŰ%qÚÖľk'Ą´xdť7č€LŹÎE˜x\ÖŠÇć  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+ôYodéޖ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‹ĹLjŃ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Ĺldv[IŹ?bć*5ˇ=ךzš­Ť}É×YGÂkfçĎíţ!#ěŕ$L{ćڃ׺ň/MXxŰí’8mëÚľƒ“0Ćđşč€LŹ ÎE˜x\ÖŠÇć  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œ~îŹůaDž…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>ÎE˜x\ÖŠÇć  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Č"YˆˆE+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ń÷žü>˜_\„ÝLMO?ý”ľÎ(Ć'#˝Pâî{(Ž ‹?Łç2ĂMqœ*ńEOO˛WßÉă)""ÍÚX=üëe˝ayl"b‰*™Œ­(bÉ13–Á7Úkˆ’%ßfơƧř{vLĂÄÄĚ/­?ĺ—ßJLĂŽš)˜Š|KŽÎ><ČkŚĘ¸ƒŠUŚ‰oẗ́ <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ÂŽ¨Đ>#1˜7ąbťO”}‹Úţďů':‹/8WÎ-ÛŽ>ë+k°žźŹTdی¤]'礗Ě;ĐdL욇#űŚĘ?ĽĆŠzĚv(üZkcŃ?'í­?bć*5ˇ=ךz*UˆM;ôë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ę!\Ž?ţ9iĘ<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‹ĹLjŃs™áŚ8N•ř˘'‡'YŤoJ˜dä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�Öř˙ň(Č~䣹obzƏ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/“Úݤ2oFl_úݓóÓ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>1QˆYňżő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 aˆE0Ú‹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ŤoJ˜dä2’4aÁ÷Pͨü†Äüëe˝í㱉ˆ%Şd26CÄâ‹Űy+‹ů6Żýű÷Ăž}ű Űęę*ĚĎĎĂÂÂb!pÉËÝpĂőĹ~–ăÁ‚;vŔ‰öyŤ+čoďŮs‹—a×ü%ŘÓ>î\^„}íżVőÇŇĄB.œM^‡“э8ÖúŰxL|Łk&lŕ `;­‹›ľąŠ˜üubˆD̂Ć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 mˆE0š‹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ł3uż`ę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&c˜D,}! /–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;WˆRöďß{÷ě ~Ą•÷—˙ÜĐÚę*ěÝżęơ~ӛŕƒţ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&ÊĆ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‰oẗ́ <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ě ód9ŒŮń§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ŤoJ˜dä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˘Ű^&ÊĆ1 �ˇí€Ź5<´ř‹#ˆ˜Ňvď|G×1‹ˆY‚M‡Y# E$DĂŃe„đ×âyX…vd„]PĄ}FbŤüœęe9ž˝CśçF¨‚o˝ţ8|ôř5pjaƧg ë~ńxSI'ÓNJnŸ‡Ć㧅r‚ă™ÁŁZÚżĎ˙ĹwďźŐťŤóˇƒśg9ŒŮń§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’ę}aˆWL>[Ě2;;WěO?}ž}ö9˜xáIƒsŹÝ†ť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ŠB1=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íÂvr-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,˜ÖQ˜Vx"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$ý°•Ci§§€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Špˆe‚™ 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`pFŻą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Ɨ0˜tŽťÎ‡÷ř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Ɨ0˜tŽťÎ‡÷ř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$ý°•Ci§§€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ĚŢ cƒcP_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$ý°•Ci§§€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$ý°•Ci§§€SŔz„-Şđ #ęŘ5dx%Źá44&ąX•t&ą”ç/ëˇMpIíę5ObÁ¤Z­FV09”YŤëxJLrń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`pFŻą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­ą ­ÍĂRˆIč‰"ƒ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(FCd9m#ţĈ,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Ť+Đh4Z@G ÚhŐŽbŽ­.ĂÔÔ.ř‰űĄ¸ŃM´ŃŃQ¸őśŰĐ:ĆOc0ߐ‹äěŮ3páŇĺčŽHOZąL0#/<ëŕ0$ý°•Ci§§€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đ ^9ƒ3ű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đÎąˇŕđĄC9˜Aü”’č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ĺ¸ë|HNj0NĽă…ÖÉ0~zŠǏⴄńŁřH|ľ÷+€ ŇvcźŁóI×éCĽ^văG2Óőa&Ż”ń“j;yütň´Ç‹…Ľ…‰,,}-Lb‘ Čę@ŁO;đhŸ”`‹ŞôöšöUvߓQ˜o:%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_oc’˜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‚j˜cćŐÉóⰌˆÖ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ëbs>~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Ąş0ƒ3ű%›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‚j˜cćŐÉóⰌˆÖ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ĎźbˆVW{ÉĚżĽ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ůU˜Y˜ƒQ1*‘đŕžÉ9˜˜V77A 5!¨Víwôhč П\a›lăXŚÇvňÁ$ő+“X}Š"ŒIb–5V~ś–ŢDP f‚j˜cćŐÉóⰌˆÖ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$ý°•Ci§Ç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‚j˜cćŐÉóⰌˆÖ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-ÉşńCˆwŠ> 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ŔNZy¤}ą”Ť===ś“@Ł%!ë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‚j˜c&(FDĚⰌˆÖX†Öz`))[Ź0œ˘_DĎÎí…÷N…ůŤ °onŹŹ­Ăšó—ĄŮjBĽRńń ‡áᑘüqńüYř?řԛ hÔëđą˙PLš™$"ä<÷ľŻÁë?ř|ń+ߌ_4ˇď@ÜŢőő5X]Y ?×á•×߂×Ţ|˜ƒŃ‘a8˝Žaiöíß?Fş"Ľ›Ë$ą8HF<ëŕ0$ý°•Ci§Ç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ąPtFŸů*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†ŠĽ&ý°•Ci§Ç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‚j˜c&(FDĚⰌˆÖX†Öz`))–üTÄů5ŻeŹ9&›‹x?ö(Üsw{ÍŮżo?|ëŰ߂S§O‡?üdLúŘNrýú5řÎw_€…k×áŁ}nšĺ–X˙řăÂŠÎĹŻLŠ^/”HşÍŒŒŒČ€ş'Rv�xNŽčćF†ŠĽ&ý°•Ci§Ç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Ă6ˆV+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$ý°•Ci§Ç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;q˜vŁ,Of†Ż@˝š F+ź1Ś'ŌUř0ě‰˙|ĽŮl›×ƒö z[”' ‰Ľóšźś—›}b(:,U¤{ü$Y˜Ä"+Só˘ƒ^=Ö™Żšö€š÷:{ĆdŽľ–ŢDP f‚j˜c&(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$ý°•Ci§§€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]WˆHOPééÚ˙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¸źą 1ˆoƲ’í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 ¤Ds˜QűkÇF*œľoŰ(&=EĆOG/ŰwŽůi}´ŻEđ“Yâ#­â'ł˜Ćév{2‹ńá§HŰĺ1šŞ3?™7Éiť÷řQœ–0~‰/~2 ć¤ńĂÂŇĎÂD–žĄ$>óU`8FŻą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؝_ŠçźNmƒel'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$<‡ IˆUŽĐ#˙šÚ#˜ö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‚j˜c&(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$ý°•Ci§Ç ٰţááŃ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�§şńCˆwŠ> 8řTâřQœ–0~‰/&ł� ˎ&˛°ôĽMB Ýd ŃkěE§LÖˇŔ+$Ť>í�kG ŃƒAĎ$UčíľíĂwĂůíËôG‡”’ÖĽ>:[¤?˘r™_ƒ÷°˛}=$Vgě!#˝nvމ=˘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$<‡ IˆUŽĐăÖżŚöŚýą¤ł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‚j˜c&(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Âs˜DXtŤ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‰Ľ<¸ß­ĐEXş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öŚEƒI,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$ý°•Ci§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$ý°•Ci§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Ű^sƒW*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$ý°•Ci§ÇÉаţááŃ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$ý°•Ci§ÇŮϰţááŃ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 ƒąPtF=“XT} ˇ×śßĺĺˇ/§?Đv9íÎ$ąţč<‰%zeĎ_xä~+KZž›żňřýaű[ţ…‘XbŹž€˙űó߃�kőœ]X†üÜ+đŢŐťă­T€I,˛0‰EVŚćE˝zŹ3_5í �51ďLXľoXˆ"“Zo&(FDĚⰌˆÖX†Öz`))O,Ik…e6Ś’X˘ż˙âĎţ)+KZź˙^ř î?í`ľh…ĽŠÖƒÚP"sü˘Îé´ľŽő"&ښplę†Ô|°•Ci§Ç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Í"–Axƒkŕ‹Ÿ’Á|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áŒé˛<ÜnÇą˝Ů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?GˆXš‹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Ἒ<Śýú˝–ŰÇckü*ĹV÷ţxűuĆôb/ś–ĐbŹß=”{u _f‹ŻŻţ* HޏžŹŠj ”îMËO6ĽzS?GˆXš‹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Ţń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óř´֘Ńkgé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˙ą?ß"FˆL†›“ˆ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ŤSƒIú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ŒEˆX2_ąěž"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š@‡÷Axn՜™ň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ŃlˆXt#"–Ś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ŰËwfˆXNĘđ͑ČÓ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˝|śs2v˙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ŽÇě6ˆY\í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Ë?îd˜K ő óuŃĚ&–ëÂŮmRçóJéłŮâË2”‰XŽ_fˇq_;‹}ú3_+ŇňŁmlöŁ ň›ˇkűŤ ÜŞ ż™XŽąŇë~€{_%é7“ ew ¨’íÇâK•h?ćŮőÖ6äŮwÜm4Iَšü‚}ż+ÉĽ)h§ö6jˆekCޞ+‹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(‹3ˆYĚ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,mJü)É+„RŻžÄb0Wę°âę°őťGZóčřŢţ<ĽjݤFo¨8¸ůÇżśÝ›–oWĘoĄ†żŠm˝ˆXš‹gŽ;1űKsń:چZŠ{m_ƒöóŘČĂIŮ-*­ž[D,ÍÄň;ńs`-rçŢi{ś$7'ŁUˆY1RůŃ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'ŁUˆY1RůŃ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(‹3ˆYĚ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?Ú6ˆY�\ 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Ă_Ĺś>!ô7oˆXšKsń:چZŠ{m_ƒöóŘČĂIŮ-*­ž[D,ÍÄňŰpŻ:cqÄ,ö8=?ĘáËy}¤ťŕžÁÝ͏śąŮ*ČoŢŽíŻ‚r#f1×cÖäß~Ě1˛ë­m1‹1†˛ř1ƒ˜ĹЃ/“óţm°ýhŰÔh?�S„,0%I&YD,™uˆXrvD,é<(É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(‹3ˆYĚ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Ž‘]omCˆYŒ1”ŏÄ,ć†ü|™ü˜÷oƒíGŰŚFű˜b d3D,Ů ŠË‡ˆ%őŃËgAů*ďoŰÁ^ʇˆ%kO}h śŕÂôšşw–ĎP6ł]ěv•4ť8ěˆXôňMM‹Ľş‹Ôň•ą–ňĺNŒˆĹ’¨–ż’;[šëůę™*t2Űx\uäptŘúÝŁF­yt|ožƒRľnRŁ7TÜüŠă_ŰîMˡ+ĺˇPĂ_Ĺś>!ô7oˆXš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Ž‘]omCˆYŒ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Ĺ@ČgˆXlvD,Š^> Ę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Ž‘]omCˆYŒ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œ ĎŠSvƒgÇš|ÎGĘŽň>şéÍ fqßŕÎě/˛Ť‚üćíÚţ*(7bs=fMţíÇ#ťŢچłc(‹3ˆYĚ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ˆőZˆXü¨‚üćíÚţ*(7bs=fMţíÇ#ťŢچłc(‹3ˆYĚ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&–܆{UƒcńΝť¤1˘sá‚ܙsě”]1‹=NϏrřBĚâ:ţGĚb‘]omCˆYŒ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źT˜Kł 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(‹3ˆYĚ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żŒ^ýlƒq›•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(‹3ˆYĚ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Ç4Oẗ́íç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śIB˜rDśĘœ!ݓ—ƒë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Ç4Oẗ́íç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>§~é+ÉUeW[n âž9{4Ú-‰-Ťí7fƒźÜ×üˆYl1růŃ66ű1gĂXĐ\zżrťš‹ś`mŽövŠ˜Ĺ°ąq1(ˆ‘Iiô“1ښ™Ť01Ja;ľ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ŽkgˆXň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?ęݝß̒LˆXš‹×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 d3Ó źÎ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ͅMƒaľ”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'Ň@DZˆHi#$ű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-85ae777/screenshots/flathub.png���������������������������������������������������0000664�0000000�0000000�00001556172�15223463552�0022071�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��������˜Ş†ĘŕŘpƒf“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+Č Œ ´Ípƒf“śšŮ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­v˜y…˛âú™ĺŠ-ßöýď˙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°uƒj‰ą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���ŁäĚ3Crn¸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ÜńQ1˜R{ŰێŠ8¸“~ţ_ţňœň~ý‡ě÷šĎ>O ��€Ń4ҀYŁ=őÔĎ÷ͧ1™O|âSńž÷˝ťoě8›–U?ÖË^ö҉q˜Mzú[���ůë_˙Z1˙Ä'î5`đéşëŽ‹#|Ců ý'ë†Ë’TuŁx7Ýgşď˘T]c"=ëY–ŘîŘ7ŸÎ+Víšűî{â'?ůYĹm^˙ú×ĆüůóëŢç˛eË⤓>ÝŻBKQ Ő:ވTYé˜cŢÝ/\VKjYšţłxńŇřú׿Uwý’%K˛փľLLĺS�糟=5˜vß}ˇŠ×‹›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ĹýŚ*…Ď~öł˛v˜7ß|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;ç׿ţMuƒeŠ-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��ŔdN–褽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Öúî8fƒkö€™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Üpƒ8찗Ł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-™ťĺ–[̚Dj˜ZŽťî‚ŹÚ\ą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Ť;"˺乗¤˜‡Š—™Ą9˜5ą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 ���0dƒU-, 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Ź|ťRƒ6�&?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���€É` V˜5ˇŻ뽒]´´´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ĽľŮ•ĘŞ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ŠNJ—˝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ßlƒxŘfë—ՆşČĎěĚŞ uvŽ{ËŽ4˜Z¤Š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Ý2˜Xő>u[ۖâĆnŒ+Žź";ě°ôŞÝp˜Űoż=ţüç?Nj^ü˘˜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¸™ŠŞ˙އóĹ×f˜xľŢٚž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Í(™rr˜t!í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˙řÇ6Njçčß üÍßüŠř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˙‘6ƒtKĆż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< űŽ‹äFm?ű™ĎÉ_˝ř%˛€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|ĆŃvˆyĘđ;^‡ăÚˇ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űÚsˆZB͝*!-§n-˙úţj’ÚÍMßţűQJ°ĐA.AÖ9ľĺˆČęÜűŢ÷֟ŘPöŔÁƒ*7a=C`A)mgÚ¨ď 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ӛޔä]ź(fƒeE:Ů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,.Cˆ4ŻÝŻĺ"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’%’;PˆD"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:ÓĘ@J˜uJ"K´IdIDóšx%ĺó"YjXÖÇ.â˛väŠeůúČĹ5ů:e#ýXr™kďúˇRˆk“Ë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çÓřŒCpƒD„×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Ť �Nj#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ž¸Źeƒ2É'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ă˛X˜vőí÷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—Ď2ˆk>­›˘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+—ľç۲‡Ý$0K2š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*ů”–đĘ/ŚrƒYŠ•Řü 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^^jƒUçy´›ńćƒďŻĄ$&î|>r›ĆĹ4B!d f„BŽŸ<‚9ţ´t§4`Ĺ­2Ś<•… `Ë\śÉeá5­fҎ AľşÉeĄte>m|bňVž$ĘeAsYČŞî‰ëő¤ßœlÍL—23U4'^ÍŁ’ŸNN é)Ý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oNˆgKMˆ ŰĹúűť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ü/%—Ĺ䊐ňԖĚă˜],5˜Nf|[Ś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žU˜2,. œ˛Úľ‚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 ’OvÚä˛:•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^Şëd3Đ6ˆe(ĺ‰ţ§§–­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€r˜XŚĺ垖Ł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(˜BY7j Ë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ÚRƒe‘%<Ą,˘&—Ő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ß)OƒZ–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§´3ˆjE‘Íł™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!ä쁂!„uƒ1@$1IQ'yЌ˛žđpE7‰bÍrM*‹IJrăz–đÔžĽ÷6‹ĽlÝŇ?SĘąĐď˛cnj–<ܡ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+us˜bRHH‰ëĘ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$ĪŚwžó*báwHFĎ{Ţóä7ó7ĺxD’ťţéŸţIK/-ĺĘŠ=čA)ľ ó†�v4y Ďżüĺ/WĄ rŮöíŰ呏|¤üř˙¸&¨Ą%$.´˂ă4ä°÷źç=*‘YYPˆp?ýÓϕűÜç>şěëŢ÷ž÷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“ W˜7¤°Ő@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üÄ÷Nˆb&…”+_ƒ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 Lˆtŕ˝ď}Żś"ćmIkś<y‰LHeH€Ăżńz$–áu&žÃěĐŽťÜĺ.Ú›>”(˝ňĘ+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ůJˆI`~~^Ë1DpˆLxÓ@ŢÂkVšéÁ~°–ŁźúęŤ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ŕyˆeš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~2M[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ä˛(–™ödbT˜w,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ĚYR˜kÉ´˝^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`™$Ľ‚š_­Ôe˜oĎĂ\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öšńr˜uź¸éâľ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ű---ľšĘ“ËxˆBČĆŕ˝}×ÁĎ^Đő^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)Cˆ8*tĺrY+<Ľ´)ď2Ą*ˆAš\ć­übKĆy§ä˛"ĘhaÖ­ŒVO˜6´%%—ĺ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ÍEB!„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śSˆnÖ×+śÓ¸|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&ÔŜ.­ČÚŠÖv˜9Ö 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ëRZ˜o–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–W˜L|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)!hƒXŁĺ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 žBepÅŢ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éůáp˜n>šęÓôô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_ť[XXuĚĚĚÔËéĘźş~łíß-С���Ŕî�‚��€Íă,Č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ľ{“´VƒEĽé)ާŽ”žäÝ<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ňOZ3ˆJ1ŞĘĄ(ˆ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\mKcęë;-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ÎS˜jö÷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ćŁ.›ĽűͲ5ƒGŤ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Őam‡ż˜‹|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'ZˆQIZß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ý;‹Ľľ9Sž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š �°˝đ÷hĚą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Áʈr˜Mĺ.› /ÎĹ$-Ĺ'-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ů3˜loGS}×§.ĹŐŘŢ,-­ŇŢ!ý͇‰Â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ŇْAAI˜hY<[^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Ż)óç|SBbů̐ôÔ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 :yfDƒaSň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’2˜AŘń’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‘™Z˜OIZň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ű í@ԏ|.ă’Ř2˜ab6ŠőĄÄŚŠĎ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ŠFn?ŸD}Ëćç?^ŠÎˇö&Óf!˜������ŔćYo‚“njÝ�řž���€�‚��€MJAZ™T.SńKe'[„Ô&M!K_˜)”%WŽĆ㘠EČUĆĺZӖË8*Ě’7lJjKnZšßǂË^˝ŽŤçݟ÷ś^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Ľmˆsą<)'œąŒ,•ł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–Š–ŇÂ|’ËŒŃcƒR[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لRƒMő;ő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&ĎMˆyŽ•Ś"ŸOĽ9m,mšä2I.kĘŹĺÉeYâZ&—UcKˇRJN rY8–ňă: UŘ㤴áĐŃŇâˆFƒ1Mu í›ëÓ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ňýŤů ě&śCƒX��`'`é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ŚĚđí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łŇR˜ee˜&– 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—ÂČÎ�ŇRBm3ƒ6Ă śĐ ÷ЌÜ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 ÓٓsK**Č`• 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)ŐĘtˆL3Uť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řěÉ(ľŰϕźýŹĺkqÖÉ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źńĘ+1ƒeń,_ş ÷ß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Ŕ=j2ƒm+Ľ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Ď9˜WÝ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ɢ…ÚNJJ*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ĐËYM3""""jˆtŔ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+ŃžCDŽó._˛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ŮëMƒaşÔü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&˙řˆˆˆ¨ǰtX—dž‚çOF(°ëTJfń[ŞúYĘ ýuç5đôí3`!ŕ÷á3ŢŐëŕ]źĽ ŁěĎEđ-^‰Ŕö|Xţ€Zż™‘†ŒżŸmOŁaśh Ë[…öŮöv¤5Ś+3Mzd"˜xŰő ›3gzőę…SO=UUUHśrs`K*’IpLnsss1hĐ téŇ[ˇnĹňĺËŐ|RÁĄUŤVŞ$5DrŽ,ßőĘEBeҒ^.Ćć.śźöpäyźş€&4IŐbç…$.“ Eˆˆˆˆ2V0#"˘=ŢöíŰ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{ű„ÉLOƒU\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¸ŕ’gP‹˜ę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ޤIˆMWKÓçâŃÎӉˆˆˆ*̈ˆ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#""""ŞĎt˜KŸË­´Ž”đ˜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 ˜É|şâ˜nmmJ`ËĚ@…ą~ýöąĎ[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ˇÎ0zvƒeş`É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öţN˜2.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˛˙ű$ĎŘë|Ç~˙ç_|1ˆˆh×ŐÔ`ƒŹÇg˙{ä÷űŐż!2É}ý%O>GÉwÁ2šÝnuëršbśĆŒ%Öźl“IDDDu3"˘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* ę8ƒRš,óô‹/Ćý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:It¸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âÂó8tŘŹ*ôÜŚ˝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Ł?7ˆhˇ@+))ĹćÍ[Ô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ĂdnÝşőö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؀çž{óç/Pƒcň|ăƍ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äbˆhű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!çër1ƒTEÓŰŃ-;‰ˆˆˆ2̈ˆˆˆˆˆˆh+‚ů KüđY† u[FŸß@0ä%A–ËĚ`CËŕŸŃń‡nƒsU¨fsˇB2čšeĹŢ2¤xS‘šbÚ{PŢZ§|_ëf`HÞţyu{â‰'ââ‹/FëÖšj_$ őÔSOáçŸƛož .ř[¸JƒLsçÎĹĐĄ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ąXƒ5*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\&8˜e¨`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°2˜e薇Ž*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ś•ÚŲ̋.“*ňZmcé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†P˜LT2ŕ#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[ÁČŐü~ËŻBdƒiĄ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Á6sPk?Ÿ?FQ÷ístů"YŚăŽ^ў"ř{kaCž§ż¸­ÂŕÉĹòq額PáA›Pą/ŻŘRŕSŸS“\śzqٛ;PęłWazpűˆ, ěěQ1gŰ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łqVƒtŽ#\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řě˝ Ŕe˜h”ć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Ÿłé}%"""jˆx–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ö-Q˜M?_•�V2ľX˘ŤdˇLˆÎůXĎďgP["ˇéÜ?=@)ƒ–DDDD{#—ËeŸω$Ěĺóů°'ńz˝ás9ŮẄˆˆ¨Ąâ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Ű\`ȁ%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ĆŔí÷ĺQƒoÓŚMSa´N8!je3u„cĆâIôşŢ†ÜĘqXźxąz˝{÷Ž.Óë’}œ7ožzOđ’÷Сoߨ-†‚­M_3í}:ĂtÎ[=M˜0™™™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Ăá•V9fƒK–Š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öë×OUK6Šś•––†š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…~•, XP'Í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ޓ֖tZˆV5CTĺ¸ÉíÁŹÂeżýö›:ć˛ÍŻżţZí—ü>JˆlöěŮ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’uJM˙’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ĺ –XSƒW*“Ş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Űśm˜2eŠ |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Ő­ęĽéß!gOĘôśŁ 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˛`ÚO˜n 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žŤŃîĀQƒfÂ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‡Č>IqHm˝_š[˜‰����€î`ˇá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Đu4QˆAzÄ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›Ď=ŽŹľÖ(SZnjě¸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ęĎőúëoO?ý<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-Ç—††2dy^Ż~´“Ł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čjKŽ>úȐ¤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ÜŻNDi2˜N”<đŔĂ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Ţ9AË"Ďç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Ř 9zMVŸ"š á؉�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����HxÚbƲ�@g|N������]3����HąT$›�ڑT������t/Ě���� ź#H:�o$“������™‡3����čbŃ(H@ŤH ������˛ f����aHŔ���������™"O��������������đ@‚�������������Ŕ f��������������O$˜�������������<‘`�������������đD‚�������������Ŕ f��������������O$˜�������������<‘`�������������đT @ü~ż��€îĺóůÉ#Ž� űϤń ��݇x&5ˆg��č>Ä3ˆ fA �@ć‹vźć„ q ��™‹x&6Ä3��d.â™ŘĎ��šˆgĚz8{��rűřŢSN�ˆk��ČÄ3�� ŰĎ��€l×Săx#ÁŹŠ7¸çd��€ĚK0oËs-ř'Ž� űĎĎ��íˆgˆg��Č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—×��€Hˆg��@ś#ž��Ů.⤠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Ň/›ç›˜+�dƒTÄ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_‡ř�)gH0ËvŠl5R\\,Ů"SƒW�ˆŽ=ćčř“=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_#Ń×�ĐŐ‰g9˜ÉË`^<ڋV•••I6HŐŐ3ń.Š’Ž}�œŘCc‘Dü\ˆkz‚ŽŒł��čjÄ3ÉKuLĚŘOşââ�@&#ž‰,‘cx"ÇţTĹ$éŘO<ˆy��Ý!Ůx݇ł,ŕxšÁŮčk™â"ÉdÉńÉ~p¤c1ƒ–��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ŻŻÉď�Iˆg˘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çŞ 'ŃLƒh ¨#í?žŤ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 šƒoƒvš��ÄĹ>>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#jeƒuZĽ˛_Ą™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č>$˜el™€Đë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ĘÜUƒnEšĄÁęą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č�ÝNSƒqŻ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¤âŹlRő^?ť’ޔ©?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[ĹJDž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™~ŽjeË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{wqÄŃÁŘ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ˆ�˛ fˆI˛­Î Ҝ֟Äď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îťď.seV?ţC3ŃŞ“Ë×\sĽ$jY}꫗uĹž š˜\ڎUUˤ>0˜6˛× ŇŠőĽ;Ń,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ź[*{ěß‹çS8ć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žů†°˝ŃőJ˜sĎ=_ćÍ = Öę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ÉYcažČ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ůĺWƒUŇ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é8ˆV.=çœ3M"™Vƒ×E/ܛ:5´}ĺ;ďź'{í5Aśß~;Ďń!úőë'ąŇ1§^˝ĘCžpqŒĆ îśÝ^í¨bŃżeČă9sb’Eü ŤÄ’oŻ×Ď߆ĽUR0ör‘Y3¤Ë9c%™ ŢKţœYRqǍ˛ü´óM)­ kƒL‰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'äÂU˜7ţ͚%óäËă/ôÄ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'ë‡ňXƒQŐ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Ó÷ĄqSÍ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ç@ˇ‚b˜9vLŁ\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úK˜Y{î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á'7˜rô¤“Ž+ă Ö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óĄˇ÷÷(÷ÍGOööȗŹLĎň8g§VÚÇĹă/¸Ť×ţł6Ńo"ŽPśĘZAňóópď˝ˆwƒdTVVŕ´Ó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č&˙(ňk˜P—ň"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řôÇąŘ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ƒč€2dˆUŽ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;>éÜZ˜mĚ.ÍÎ+ŽŽĺńé"íű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žáĂOƒXś"Œţäí*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ƒ¸4˜v™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ÜÓmPƒgšÍś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\šîşżŐNJ!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˜) …B1IwĐ_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_2BDŽ"ł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çńo6Űď⹉B­Žžţ@’+:şƝ4ŁÔ}{É^¨ =ˆŒcšJ›)Štäő́^4L|ÖFĐeĎ(ýĂčŃŁpË-7@ĄPŹťř PdttR`Ćĺ;ćš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\ç„Zƒhőľ˘š´Ů˜ę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ëŠ+Äsè´űÜŢ=/šä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¤fˆpŕÉ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|‡ë $Ä{Ć{ŸŞsb­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ÜwˆeŻçŕüţąÓ—„˘Šíř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óąýÖ~”çŽ­ŻŤőa˜qŸVŐ羓´Ť‡7$źNuŔ~ńŗBäE˜Z˜Qíż]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Đ#ŁSˆoˇ;)„Ł 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‹G˜N^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˝NYşiT"şžöڋ¸ôҋEzˇěhĄˆôćˇŘ;iN8ád!Dި(7:;ŻwÚđš˝MôO°í!l (ňʄŢÚRĎďEônĐž‘ßšžJIčˇqKUĘó§JŘ!ç$×í;Űmˇď%Ű\i‹¸}‘R,ÁﶛX,iƒe }]ü>“Ł>ÂUNťƒŃúĽ@žłu-Rbđ"ż‹=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†ÎŽBcZƒdÓ[o˝p ˝ć˙ü~ł3š;ČŽ.ŽŢăčK7člËv^ŔçŰŘŘhtÂÎŁúä(ĂM7ÝÄč¤ÝĹó8ŻN×tůĹ/~ľ…eš(; Ńô‚şš‰Ť8‚R ‚ܰwfş=żTđŢźńƛŃspslKř=’çČžŮ@Џœ°ł<×ĐaĚ(ĹÉ͔ň^1ýGŸrĘĆ5ď‡Űnť#š2ՍŢţ ĽӐQˆH8 &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öí# ÔÍžą—O˜0>§é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Śc˜až¸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ş8pm>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ţÖżŔ˙xˆˆFÇ^+#ř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řŕƒ„=đŘcOˆ6ďŠ+Ž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?1ƒH<óĚ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"u4ş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% ’mƒ9¸ő5¤‚Âú�łŽ¤BFăű­›ŻAúŰĽ]Ĺ÷X"í;B›OöŸ°=ţôSs_ú)8°<ŘOC˙ĎÝwß}Żć )X#ňݟQîíĺÚĚj“ .8mĐőĹNvIŐ_#űëĚă&![úăď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–Źą–Î"ˇ‘†ŒPE˜FďÝ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[tƒvÓ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śL˜0^ô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Ó)(ó a˜př˜YŃ]}qÂ2AVˇ ÍtS€Fëą Č4Q™):‹ °¨#EĚ´ă‘Ë2jĎŃgÍ­kՆ%v¤Jžs ›é1šż'23?˘Âę4EƒƒG<–.çœ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"B˜M”ՌŮfŚČĚL)Äj"ŠYŘ؏‚˛pLX‰ ͆Œ\bř‡˘2 qQĆäzH3Ó\úĚuÝgE<+@Ťm5#œiŽkś˘—é<SČ˝‰ąĺĹUІj)Ӏf8’ďîťoÂ:ž(â˘C€ż—t˜0â˜} ´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,6ƒB!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 Xp¤ϑ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ř 3JY˜ssňŽ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-ÇcFyď˝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Üűv˜uiŐÇşůü,~毌Ďć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šĺćqƒ4×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Ź7FˆgŸ‰}Ł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}ŸĹ~űíMƒHç\˛ű-Ó Ţ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şNRTTˆră÷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čóĄoˆQÍč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Ąę1Q˜OOsÝ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ÁĽĐ˝(t˜GFK.ÚýĂß\ˇŽ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ٖąŒ sDƒk3YćšĚ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óÜíDqmQł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ŃĚ"Ve Ë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Ô27e˜s?ÝőČŘ~ş÷џ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/ÉĽŔŹĽENJ•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´>~ŁłÜkTˆJ™† †^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ŌȒdTˆBĄ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ŮTdƒn‰Č„­Ł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`F˜Zň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™ýQ˜5g^îĹ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ŮĹeƒ1˝Çž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›ŃÍäĺÓh˜aŹË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‰Z3Ɩ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Ąž!˝ő !¤?CƒY?'Ô�ĽdjmmĂ({.ž‹+ëěÔŮِ|ĂłÝý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íĆĎ~v2}éˆ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|óýÜ�2hH 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-ޏÎr˜qŽţ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`#ż `Ň˙ń— DrŒRęťÝú-ę›rQSŸŇ{ädVc̰ujB˜ˇŇ˜ŃœÉŒz†ô%Ô3„Äá,󝛛‹I“öAĂŇF촗cŁ* Ć2÷˝}e,ë:Â×éŚý.-jCjœ ŚĆ/‹űs ¨,džŒfŢ kU­ƒđmŐĄ˜1s’[•”h,˙M=CúęBHƒ9�=|›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‹­ ůiY˜QşΙ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ţ¨i˜5l"‚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œ-cƒp¨&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ä+ĐéźßˆÝ\í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§żUqß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;~ŤÚNˆKŔ}'_† …Ăą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ŃSƒU°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Μ‰aƒJqZÂ" 3;¨Ë°ĺns˜n¸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Ôő˙őŻ×”‰Bˆo“™ӔÉ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ˆ‘`ďwfĘ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ŸBˆ˜i_űź•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éF˜YœŰ˝Ů[/ǡ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ć #UCÓ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 Vr™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Š ž ŻŹů§îˇČľĎ3ˆYßÖ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žź/>xZd}čĐRdgfaRÖœ˜ľ/.J™KăfăŰXěg+Bš=Q}IЇ^ŐşZœĽ›Ć3ťĂ¸ĎŹż˙v{g9¨Ž%´ótow^g×ůíă’ŤAl˝<ŚŻ÷łż“••ĺ*%ŮŃс;[Ÿ)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†ŕ”¤…X˜0 Ή|đáô Đ\Ö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̙AƒJ"šĄľŻ4ő ő ő !„„̈‹`f‘c4 GżPĘiĘśe=z:::T9M1œ•——#š!CQ€yZ{k{vYëđ˝ŁăŞQai6Ńë–Îr—Ž'ń¸�Ďţćí.ó™Iv3çů>Ďł_ÖőÚÄ`ćKěťęe_´ĚB!˝I¨ľ‚YSß'‘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Ž{â÷FIƒYm3o׊ăÂ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=Cˆh0ŁÁ̸NƒYDŤÁĚx=˝yl4d7S™ĚĆ­¨¨PÁRäŐł›5[ŰąŃV‰MŽZl‰ŤE­ĽÍOv3ő,^ł›šuóc8;Ă2˙wŔ1Ę`f,Ďě—�_í„Bˆ7’Á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÷Œ7i˜pč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ٚ°—šbCQAƒvDƒŰńšűť“¨â4™™j�9''[[r\(Řóoéďć2ę¨g!:˜Ě„@ľI Ć3Ý_WW‡-[ś"mO†´ăĐö™ŘвßY7aƒmš¤Ę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. šN˜0Ţ| ç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Ä4˜E1Ţ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„Bˆ94˜Ĺ�îÍ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ÂÁ@Ô3j_ýB1Ą÷éDăQ }ů} ×uB!ţTĎá=(: Á,Ɛ2Š’B×fë3#ĄÄÂyžp_C°Ďěţ@űB!ţí!ˆ ýYׄj43ęń‘ §z‚z„BH4@=ӝ`5K ýŁŃ<ÉŔ5ľ!„Ţb ę™`5HOŒfo$Üą›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“@ ćyƒy-Á<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!„„]sˆ1j’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†ô-4˜E9Ć•§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ďBƒYáůÁѡíúLO(Ďřř8´´´˘ŽŽ¤o ǗţA%„Ň׈Śm!CŸMb–ŽŘLŤčŰÔ5„BéK¨g˘›pÄ2ŽB!¤?B=YúŁv "„m„Cϐč!$&0űú’˜˜‡ŁľľľHHˆGzz:HôÁ?~„BbŚŚ&Ľ)d‰hŒH ÜQ×B!$’PĎB!$ÖĄžé]Œď…Ăá@,Áą'B!ŃJočŇťĐ`eȇÇ(^őmcťţ!“˘Ž¸=Ľvmee•Úfđ’B!Á"b_´D×lŐx5“ʲX'Ů$Ô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űňmkkCAAk?!„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ϐžAƒY?ßŔ—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!„â őŮŮYHHˆGccZZZ”č—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†ô 4˜E1ţ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„BbpčŇ÷Đ`˜Í"‘ôň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!ąőLxˆD2ƒpŽń!ăľ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‘¸’ČCƒYĚÝŽŢ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’““PXXˆ˜ƒK/˝„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ś2ˆmý^Ť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ĚSyyy˜0aźŚ}báÂůęýîo<účăęwW˛j=ö¤ŠÁlóć-¸ŕ‚_ĄśśÎŐ&ý´˙‰÷!„î„jl$yn,Űłˇ ďřžĺ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˛–IQoÓËűíÝť--­~Ďľ ý‘´ Ť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$'đwˆB(% óţúČ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;"ĹÚ=í4˜B"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ěqˆoq ­š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?ýG˜8qMWmU: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ďčKVŁÁ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¤ÝnmUlőó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Ćó<†BbpšË$†!™Ë>ů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!¤BƒqѓĚ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ÎÁťAƒJş˝Ţ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.+ŻŹíWqhEŢăď7íŔŐ˙76hň3đوuÍÓS=cFO_ŁÄ udźčźó.Pf7Os™dɗlîcǎ!„i˜B†ô)ó'ƒ7š_ý…Kţ‰ˆ¨ ´\ý0~ŽöM˘ řň-ŕ›OV‰ť¨ÓÚl˜¤[N*0g>pö€‘f}ZxŹsž[<x+°L ř´S&B{ňĚ, t$°ď4`î!ŔüÁ”4`ÉëŔĎOk„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|ALMhž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Ď*WSž” 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űšŐjƒpÎôžý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=4˜iÇ'ÄÇ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”óHNŒő–Žä×­@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ŠqfƒkoÔ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œBbPcFÔdŐŞ­kᅥęęĆÎýďž§g.›0j0~sţ 2¸P[JÔÄsšĎëcFCş´é]çq¸ÂCÎŽ—A̘-Ţi—ň›b€—’żýů ¸űá×ńíş­Žk ćľlزOżź˙ědő233MúŃTO!„ôáŕôdP?Ö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řË_ţÁLsćĚÂçŸŮmŸYyL#çw˛łłqŰmw*C7äçńăŸ†ßţö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ŸŸ‡Š™űÁO˜6g9ŠŠ ĸ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Ýb6ˆ6ĄGÓ` iŠŕ�šYÁ?q×Ռ‚*Š›ę[Œš$áÄ?8y–JşZĚů¨nX*3BŰgŒtYFFRRR°}'˘żúăśď€Á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ě\ÎrSg/Ó◺۲ŠĐŤ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\ƎĹ?ÍkbȄ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Ľ-š$Ő+ĽĄĘpAAHLˆĂ ~­%/•Ŕ̀ĽŤ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ÂBƒlž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?H11ˆ†!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›ŒÍŁ`‰÷Í`6KQËĂŠÉĐ4N[y­łÚp,ćݙ°lMƒy‹śýÚ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óćŰbeË–ŁŽŔœÍ¨Q7ŤAĚÉż™Oe\ŕŔAüő×|5ŘőňËŻĆşu띎ƒšúžy˙ý BĺçIŽ'ĺ0ĄÁ‘ ›âxd22ސĐ<žˇÄÉ,*^Ľ1ó˛Ę>ď Ĺeż<řźÂž]ŔZ rŹjŒ‡’Ű"&ąĘÄě˙ń˜ ‚P‘Ä•ŕO\}ő•ĘŠĚ&8vďރ9sćâřń5 îĹ_|Şœ‚kqqqhÝş•*CEYy.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ÚCYLt$ţ7źĆö§ŐYLŰ=Ě\SűtŔ€Ţí`¨tűÎ]MƖńŐó´Őa1X%cĂuGƒz1Ĺĺ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ĂŢNj7ŨÎŇ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‡đ%—\¤Ú ŠŢéAEM줧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÷ÎÍľßBCîÁŕň}Ö<EI6ˆóáa!¸ůęa8ž’™ ÖŘ֑’š…WÇ˙‚?çŽÂEçôCďî­Ž€@“T¨Ö¨íĘ¢BddćâßuťđóÔ°tŐí9łľ,fńşú÷hƒ17œŠ]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ď˜Ä˛Oň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śĺÎÜŰ*ŠI˜ƒa˙&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)Ä+šÜĄ Bmƒ7­¤^˝DUŠƒđf„‚�Aj–ß‚˝Óśţâőü°" ‡ŇK Ő?+áÁFDhÓ##Kv;Ź-űëŞ,ţĹeÄ踞 v*GČًËt˜xá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�:Ź1BěÝČ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Ę,ĘeX1Ř 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-ěˇ#ü­çĺĺ—ŰÎŮŸÝťwƒNĽŽ”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řňËĎW˜PŽ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Ź}Ç<M˜q@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>ń;"š/tcŠú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´9ƒ6ö/żüš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śtrDE ;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'RG˜tkÚ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Ú´hˆ1׍Ŕ—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˝Ś˜řýÇąäăƒ>˘Ő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đŕ!eˆPţ’ץ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ÉŞřř85u3‰Â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şŚčƒčFYeąwƒcb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#ţ˜˝ëˇíGaYűő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ŇŰĎšńĆëńÇSTƒI(Š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Ţđ&l˜e 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ˆDDxˆz=Ŕ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ąÔ…ŤĺtYyb&}ű^|ń9%l˘ŽŁ)‚gB—nžt!ă@ űňžŔsâ‹/>UŁłgϞŁˆ°šßżaÆęáČJ˝438`äçŸ'ŤíăčŃ}űöŠ=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™NƒZŽ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?š .;•9ƒ7Ť:ö%Ľ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€Ď�^řřߕđ?}oSçžęŚÂY=ôŇ7lu×Ռb ş?ą6öŇĽËqĂ ˇ¨šÖt{˘;ëjł–<ń,=ÁşŮŽtďŢMŐ§ŚPŠëĄ 5ąYŠK_ÇŻżţfsK5ęş2ëčÚľ3VŻţGŽŋ/ž‚AƒNCVVś<ůŰ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´źJSK––#ĘÖ&ł“ďŽ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ĐŽEƒJ‰Ú*‚ű†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�ŢďśĎŤ‡ĺŘŸRhaW&Š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ŕ›Ge?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Î ‚ ‚ŕßPDˇ&Ń 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\FbKď�ž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Ëłş‘yƒ3Ě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Œ}ÇsW`ʍ{°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“ô(tˆmĄ=ÝčĽ<Ś ‚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–¤0˜nn‹ Ÿ†ÁôhWšGş÷ž”<řšŘÜ (hˆˆpuĚŞŠäA„Ú]W):ęÜ:ɉa0°śĄô¤Ú6ƒE`ہă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 sU”Ż%œÍ&­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\-[Óš‰gOxFŠŻÂĂĂľ6ą ş7ߍ™k{ëXšô‘Ô,|=s%~šˇÝŰ$ᒡÝ0Źg$ĆDhŸa(gĽ_ó$Îr\~óžŁČÉ/°‰Çb˘ÂP?.˛Ô2Gľíd˜ń$čƒ1iÇśOë84nT_ăňYýĽOJâÁ$žádGfBĽń¤L&oLˆjŘ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ëëĐŹÂCƒmË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‚7xFę>ĺ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‚7xF„“ ˜ 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â2AjůÚó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,ŰłżmXˆE;ר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ÖR˜V¸­!Á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éŇ é™Ů8˜Y„…{˛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ŽÍ„ ç–�qEť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ćfNTššš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$$XƒX:˛ĺç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éë3kSvG3ň°ăX:6JĹöŁé8œžƒŹü"˜­veĽŢS×'~Ϥ¨@\¤íűśMŞ~<űę&ţZSGâ‰gˆÄ3‚ ŢĂAđž&6u(Śęßż2[áĎbOýSp2ą­ëŠřă–g“ÜC†œŽ-œlđÇ@ݛü÷ßZěŮłWÍ_zéĹXąâŸr§§Ÿ~B-[XXˆ3f•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QFĄ%ˇ—´޽{*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#‰ßěťďžH˜3)–"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`ńö5˜2xw$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ń/-€(Ä_×ĎWƒNNr&î›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,<x2Đ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§ !#{´öü˛ќN˜B‰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šŻ˙~Ş:Áhhď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Ą[ˇn˜0arrrÔ˛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ĘPZćţ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°Km7d˜ZŽľ˜Č’““ŃŤ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žťdeVŤĽĽ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˝hƒz†„ęBˆN &3wó}i3JLLĀýUVŐ˘˘blٲŮeĺ]߀’ÚŹŹ–ÖĆcSƒľöVłY„ÜŇ㴏aÖţ—aśc—DF§Ú°Kš YI¤$§Ł{÷nčׯŻjż’¤íś°-ËÝź@։¨gH( ž!„t5h0#Ž?AÍ`zڏš'i9ä •Í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„Bˆkh0‹šŒÇŚ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<4˜E(ž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çBƒY૩J_W’ 7 çCƒq™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†t4˜Ežž(Žž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 fÇąB!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őő (--UA˝ć}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Ď0B!„B!„B!„B!„Bq3˜uA<š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˘ęâ4˜u\ýxúq°Űí „BHäăę~n2™ÜŽcůŃ*üŠk!„Ř‚zĆý<ęB!$˛Ąžq?O‡z†B‰lş˘ž!ţCƒY ă‹Ŕ—iWó|ݟ§ů„B w‚ÜÝ|ç€Ź§ŻëJäG‹đ§Ž!„B˘ę™¨g!„č…zŚęB!$zĄž!ÁBƒYŒâ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ϐđBƒYbůĆ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!„@ˆ=Ě˝˜÷óŽ%ç›×ŠBˆ3ŒĎB!$Ú TϐȀ̢cPJžlÚ$&&‚xŚ#~tŘł”BHŹÓ˘9Z4ˆô0Ń5I0=dŠk‰Ś%ăąR˙B‰˘]ϢŠ/b=ČjŒ~ ćď”BHlÁřLä.MÄ{?!„X%Ôz†t,4˜EÎ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¨öî}D3hçsćiţh'ƛ!¤kĂřLřˆF˝HfTB!¤ł •ž! fŠQ:ŰíÍ0›Í Ž*ţ}Ý.Đ`" !„Ģ=DƒxŇ(îîy]YלěěŔŚ?˘ŢöA=D!$ˆ=*sY(Mj]_Α7˝ă‹.ň5ŽÄx!„t]Ÿ -ःh6#„-ŁgHçBƒY„ŕNÄ:ϧ ľhÉNü}äĄ!PqÎ@B!ą€Ž=t-˘ăę>çŽńŹ+éšpßýÝ_(´H0JÍ!„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™Yƒ1 ůRZĽÄ !„˙D#¸›'†2‰wÔŐŐĄŞŞ żţ:?ţř#ţţ{ŽZF‡ődóžuëVüő×_řđĂ•Šl„‰8äC°˙ţű!==ÉÉÉƌ&˜KƒžšĎ|]N!„t5‰DŇ6t Ä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çCƒYk?Ü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ëVjƒvŻ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˘6˜Z2wˆš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˙›|üńG˜8qƍŻŽE_Z*“t Öfü´˛ó65`GE“ŇÔyfL˜ˆƒF$#ŃÂëE -ąŸŃ Ś ťeÎóDg‰ąLڒęëëątĺüśš‹Ą¤Ďá°ěŘj´Ą˛ö­ŰĄRŽÁ)Žá°x9^ó¤ôfc=ěÚ`ŤlÝĄ”ČLJÁöÁűĄ0˜Q äţ:ť5lŔ”ţY3b¨2Ľ‹fś c§?ŔżěňŽÖwľ^4ꎓN:Au’tfÝşu˜3çďś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œéźűîű4˜BH„*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 RGâ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ƒ‹öËŔ°žŒBˆN¨::ϓŽę’@˛„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#HuîÜ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\útƒY ŸƒĆ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§‰AƒbÔ¨‘>|˜ę‘*Á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˘_„DˆcżŽŽů˝4dĎ×ÄÓ*ÄÇ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Ü1˜2eUbŞ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/É~úéç¨5˜1ŢCéęĐ`F˘ _ű˛žĚdXśr%zćőDi‰¤fôëÝIh€ÍjƒÝŚ5bđŕ]0pDžÖŔYŚ5pV`ěč1ČhścăŚM¨ŻŻĂ€~ýPßPd“ IšŔ^ˇz™Ö`•>šŕ–Ě EÚvC[ËdƒT‘đ‹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ĺĺHˆ7Ě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[žjƒHÎ^ć)明œŹ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ť}űv˜5‘œž–{“]Ó$˜(Ć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•ď*Ŷ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 NJĆÎ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§y2˜y2žéĽ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íÜË5k!×DŽˇëçjšB!Ń f$&ĆFé-ZU]Ňňr­˛Ĺ &A̜Ü\ôîÝۡmCmM ¤‘TÖďۡěÍv,\´iii˜8aźĘ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žn2°‰É̈'Ü+(Đ !„Đáî>,™ą„¸¸–Ţ“‘˝Ě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Ěż´ƒ—„Bˆk.źŕ˙TĆwo<öřs(,*ö¸Ž”Ĺ”l`žĘ­_ż§˙㕚,Ć2gÄhöĘŤoăřĎÂ…K<Ž{é%çăÔSŽ÷¸Žów>蓶řç…gƒBéŞű^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•ĐÔ3˜1[!„™ˆ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ŰíMˆwh í˜ě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âФ[s˜bÍÖF˜4=ôý˘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“˝LHLˆoë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ř÷*c˜TŸ“—覝¸í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{™§Lfd/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ŸŽ“^Mdg/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@/y8A„–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Î÷ˇó\°ŸÁˆÄ˛äů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„ÓĆNxNƒg‰ˆ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şże˜0ŕ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Ábbtbg˝@υ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ćóy˜36€Í›÷_7/Š ď5ÁJč((pV"ç-[śxŢçžřr§bÚĂ?&ÇŮřö䓏všó^ÉgĐsĎ˝P6fżđÂKr˙XBČ;$(qٞ{îŽ;ďź­‹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.\ř›GOÇrcéyő\Ź*î¨çw ÔzB$÷!T΀÷釺OŢ/| ŔzWރm°Á*QŹG1a3˜éëvĆ|xć™'¤°]0”źcsşÖţă—J˜NR^ąŻáš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&QƒA1íń ƒă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ĐtB\ĆčœOĹtÖî ‘Ü‡PP÷ž””d+Ź/xě{ĘÜšűyîË/žřrŔyÓ)°ĚD˘ƒďóŢúŘcOt‹<śŒĆ|?ówŢ Ř)q�+;x/;ňŠ} Ű÷”Hen‹<§2gš5ÝÖ4o´ŔLqz*†ň7N7 'ÖmÉřvyÓÉH9SP9ű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ŇDž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.681˜bďŐsĎ5 âŒÁŃ@…e äîşë^ôů+#Ĺ5:Ft’cŠ ş~ąá<­Î`5\áů`DTtóŽ7Îmşĺ–ĺ>D˘Ńü‚ ÎkľL´)á–>Ř=đŔ˝>{9ł‘’Ó͇٘!<>ˇÝvł|Čă1<˙ü‹d’Ď˜ˆUđąüdC5ďŰČżƒ‰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ÁĹŘíňËŻ–ǃ‰_Én÷ß˙~AŘBčHÁďőœ9łer˜q.ÝÔ(ţú쳏äô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Ş|šŞ"A8)đä4Žł„“:J˜ć ó*Œyř{Ŕœ—Ľ8ƒÇˆßClx>ďźłqúé§z–ëéůňu}h|cî+ŃÖH+•]đJx_ĎÁ§Sě5,5ÍV\÷éÜńÓě1, űŚana*Śäô,ßYÚԁ‹?-Âë‹Ę•áy °‰Ë×îţnXÄOy}› 5m¸íĐѸr÷!áHfâĂ=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ŒˇĄąŠńqQbˆAł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>`Î˙ᇓ1ƒyŞý#,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şbGy [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ąqƒNU‰‰‰˛†÷ç_~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ŠËӅœq˜7qŰ(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´gƒc އ#^ëĚ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žsdT36˜L@ˆ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—”ŔÚсѣLjżř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ŒÍAM˜s´‹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şŸM˜8I4L×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ęëęĐÔҁ„Žtˆcă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^~>ňóňDƒo6rsr#~“’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ýb˜SĽƒ™ÓÝ"čß@ž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“ď˙śđWL˜0yůů˛Ě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@ş—5ˆ8­ŞŞ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üřńˆŠŠÂď‹~“Ă;ďźłt[ş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㉇ÓĘ{ŻĀŔ]éŰ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ńč°Ů`‰˛[>âě6˜jŞ�[+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Ľ Fƒyş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ń2˜su Ë܊,šŹł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ćy9qăÊ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ד”:4ƒHM‰Ě”ĐMŠĎ ą´:&Ł+™[ĐÖMlf\]hjYš­f×vqßÔţ[Ü.f@Włxń팋bX6ÔÂQŽg%š?îýٰ,NÄ&ŒO,ÄßÉ5Ÿ˘˘ăR´ˇGÉDW¸ÉŇ­‰MÜP-ŠŸž˙núâ9ĎCIüŰŤ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ÆĘÁteÜ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Ф¸/żţö‡cY3§Ë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‡Ś„T˜3 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‹ŚœNƒ0J˝*™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Ż•îf˜Rr`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ä—CrrR7Y 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׿9ˆgŘěŽÁ,ţ.Šďď•+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Ś—˛ŤËŸŐe1ŠÉ…ßÎ@ĺô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ËŚĚLNjŽĺçš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 Di1ktŽűř @ś=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žş�6ƒz�˜;ő �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îd˜b'˛Űš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)f˜bv) ”-Ë;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ĎÇÚËęž3Is˜E]BfCks��������Đ\ÝđV߁łeǚœ3Yë0Ë 4Ťsźî9C>��������ÖA×PVÁŻ–eÖ)`őŐUlˆ0™đ��������ô§i€kčĐY›ó&oÝfQßSWNu*L5��������ć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-85ae777/screenshots/fullview.png��������������������������������������������������0000664�0000000�0000000�00003407262�15223463552�0022276�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˘ßmgƒE>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šSƒtގȇ,źÜăěž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¸Â´W˜p…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“&\1NbSá‹Í&7œ!×÷{óƒ‚Fg˛Ľ_[E>haÂĽn¸ań]ďz÷Ç_đ�����������&" Û÷¸Ç>ó˝ď}ďrü°Ądş´0S†Dę>uH~zaŚ é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ˇąţ°ĎŽSHíáŠ-[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>`ÔźÁÄmwƒEĆé¸Ń+Œ÷źç&=˙ů/ÔŠ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Ĺf˜sޢ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¸^üâß۲řÝßý=˝óď����������`o˜THá}ďű€^ţň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ťŒ;uˆiĆ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ßďźśň|&őݎ,Ę/ň×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źtZę˛ČÎłýÍ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ŚÉÁ40˜6‡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=´űdĚą˛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ß/•JZ˜IöŻÖŞńţşîż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=´N˜Qb™‚€Ó+–ŞĄ Ž™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?ĄłţžZ9ˆVCÄŕǝ!{ŹÜú(ˇý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ŰŻKƒEgs…Ôľą"ʈ: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{Ɂ}śÉÂîŐ#$ł•Sƒt3čÚÔÔ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úţŮ1ji˛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Ę=î:ˆÖ›+ڞë3Mˆy츎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Ż T˜qáä/ô˛˜+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í7Fm…Š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 _Žľţ˘~NJ˘f]îꒊ§ŽŮ…ßwăuö9§#”Đ=ă°QŻí†ÝÔăN}˙ÎIJ’Ś[Č"ţÔd&UńĂx –ů4M“E(­ÖÝľäč+g]}9^îźŕj9^× 5Öq÷šŹ­Â\¨Ś=Ś^ŻŮćółHbűüŐ_ýÍ(›kyyEúЇ…uľZm˘Ű`�������Œƒ€€z ĚöűKřlzfÓ,Íôš˙+Ç š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¤ÇĎ&Lj˘ÖŠ ‡éş~„ÓŘŇăNĚúä(Ém6mˆkŸ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Ă…ĺÓëSƒdá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Ä>Žňłăţ˝š]Lbľîč蒣ŰÎşú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‚iƒEŁ*ňĂ´š"˛í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<ď'1ƒaú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ăDž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íŹ]°ĐĐSX-’đů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&Sƒ4–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žÂZ˜6T$Ń…]š)˛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Ř,G˜kœČ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ô‚řkgë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“€…mAˆlƒ‚Ň–‰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§­Ľh5Y˜OuPý„Ö›,–ă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*ÔŢ`!Š˝Ą˘GƒEŤĂ6V˜L@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Ł„e˜f‹ŹŁŐ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ۇfƒxT? |őP~ľ™4Wœ>Żpľn&ĺH÷Ďľ8lŞ™˘WEE4üńr˛˘Ű>Ń­™"k H*"§c}v0yl›'Ú/ş7S´…nrNjÔ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 Y˜Kö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€†ŇRLƒ7nܔ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@ŔxE~Žě}Ď+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,˙ą&đÇë'( !^ȔĽđ4kk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˜‘ËlAqy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 ˘Čef˜Hş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÷ś”<11W|´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ľ(îJWƒ2š™,öÇŃýAG�öżŐ?čÉď.\ĐÄKx&;…Ü+ĘĚîdƒ2E) 2QxE'ĔÉKäP1Ӆd—/ĘtQQ´}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“…×~ˆ¸ÝNj×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š×W˜Y˘ Ýóň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$˛™,‚ěe3Y˜AE 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ů2y5&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˛ČĹ•´˜4ƒDţü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& +›É˘\ڈń ă[nq˘(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ÍÇüÁ~ĎoˆZf™–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~Êń€ˆlCŚ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.FY˘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~NQEAڈü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ŽDˆHůLůmľf˘¨”Ѣ8ˆB*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ůÚUƒr疔�˜›ŽX–ןŃ)G­ �´",�´4-› Wöo6W÷ےČfcĐ+ýľM-ŠťŇ•9+7xďy^a Žp:%?Ŕ\H6“Ex ™,‚ř„˘”VqÄB]Ş0SEqB;Šć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ĎoˆZf™ů 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"ĺÚsyÍć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ńzj˜o‚;\˙ÖÖ\ůă&=~[\ŹžąÖŹűŔ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`�-ŹRE\Ą™-ôÖĎł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Ů)&yOMEޘ‡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•KJƒX2S-śőž÷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ővˆsü&Ŕ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ýÁ 1ƒCš+ý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Ľ%ę˙Ë šžogƒ3Ćű×ěý{Arfa4Ż=*á"é_ß"îŚ2֊^‰<çDńwŠ—´–ÄŘŮ?ąýWˆshů€ Ťˇ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ŽGXˆtߡZ,¸"ÇY, I{”űV§Ÿ‘~VW������`Ąă’N�3ڃ˛š ‰Üý ¸Â‘h,*ŃhDĆAw“ô‚űűűM™É>' J†,Ä+ěéĘW$MćŠaŮťˇß[šÉ"܍FM€Eţń•œ-”cNŻŢˇÖ.oGż¸{‡X(ěŢą–vK+ÓR- Ëc{3˛sr>­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]ĆŹ˝Ć@ŠÉ‚+ź���������(� �uUKE~›Ţćˆő | ´Đ€Š 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—Pˆ6Ń|ô/ÍÁń”š/ýÇ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Ů<ƒ!�PFwóă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ĽŢ4ˆcúÁšŃ˘ś$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-NNJ퍨ž0}ĘSÎ*hó<K^đ‚ç×|uE#ŻlăxÇ\ŃČ}UƒGóÍ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ăĆýĽŢţůŸßbNˆj߉' "‘¨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%Żéşën˜r€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ŚŞřDžŇ@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Š‘Ň ˛Zƒ5��ł‡� �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?ďź§Nz5űąÇ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űIZ–­÷úڃă­Ž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ľÉ&Wnb&ôˇĹş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ÍËĘ#�(_šCeޗ(ă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�Đ őíۗĚ]”MNJŽ ”/ů´Ćč˜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:‹FƒkŮf›mjóçϡ~ýúĐů6ƒ:cfϞc“'îfAYł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[ůáżďf˜Q‚¨n?䐃 hKçœóóźŘŽż˙üçiűíoŻp‰ČŠjĚżýí:>|¸˘ú‚hfŠB3�8Ŕ%Í;ĎSŖ*Qňűc=ćŽ4Đ=�Đśj;ô�Gë‰îż˙×íüCPiN´ô�Đўxâ‰ĚőN8>vd:4O>ůǹϊ•ĺË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ľLf*Ń>éóĐ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őꝹMUŸ`Ą˛é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#Jz^ۡŞ­¨Îî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–ާFT˜2ĎŐ¸ÜVă꥗RŁI5j[SjD“ÖJT#E#ˇŐąčGœj]żRÓÉŐŇÜšó2×Ăă8 t &œç͛—™fQ ¨‹/žÄ ‹ŽLQƒASÖůŠŁ|`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í=ZˆSŹ|¨ö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‡rk‹(†óúëŻŰ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#<%nypYŁ‘#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Ŕ„G3L˜0Á­Ľ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‚†Ę?~œŻ"š5Beƒfëô _űÚž™voŤÜ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���t˜d2{{"‘°Ö>żÜç����€úDź��€úD‚��u ÚF3:/}Džž˙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� +H40ƒE]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׳SFů5W ĹEšÔ‡B#Aň‚ %~äIxÔIţ%DJąŕ ���� ~/čˆ��şł†Ž5E×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`~=&'7ˆb9#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đ—`IÇ‰Ž—šş,ń#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řśŚ„— 'WdŃąˆ��Đů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‘`ŠŰ—ËtĚŚ÷-úݟ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ŸŢÖŻ=j˜M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–M˜0!'<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`N˜0Á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:՚›[LƒhŹ 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’2ˆt/šń‚ˇÚ<^ŕŸ\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°¨TY$íőŰ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ŁQNJBâ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[őtƒ9Đ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ÚJWˆT6ë�ę][Ç ˘u ?‹„_"§ś™żáă4źDˆ.e.Uť}ՋŇ՘›nşĹţtÍľ.‘Bˋ^ýÇßŰ ASUĂWPó×-,��u)źTÇ}÷ÝcŠĘuˆbŁĎ>űĚŽ¸â {űíˇ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ŸP1ľۈĂí裏rĎIŽ’9ÁAÝŽN:*e@űQŁďă?vĚQŁFYWŁő.?ţř#[yĺU kŰŇźyólć̙ŽA]ë`‰–VřôÓOÝ÷6räHk/˖-suĘ+Á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‘ŐéŠuuj[ęÄU(ŽžŻŽĎɓ'ťçű×Ńů­ýQgźś­éǏÎ_5Üôx=Fł1ˆ2ý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ży˜E,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¤6˜3Đ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^J6AKÂ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ĂB˜ZBÁ żD„–ĐĐmşo‡vpuô+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Śť}ÂÚcƒcŚ)ؗě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چôZˆA%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“>8˜z­ÔčÔ܎Ÿüßčôq›Hýgń’ĽnYéÓg۰aƒlč Á>ő´^ Ěôčé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ś™łçŘĐaƒmđŕ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'rƒAĽœŽÓú-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+qiĐ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Řoƒz 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ě{˛í=Ę^âƒg˜iK ç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~Ć罢ü•x˜Fűő ‹,BI뵄‡ŇfŔúš¤AAD AŃ&$° ‚ ‚ ‚ –Ž3źše™h_`!ö*ç2~ŰJă cr6–‰ ĚřDPgu1$‘…iű•DŐ>SWľ]Něç V2Íxő)–Ţ "yňʨ9L›`H0QŸ§Ů×Ô =Ş6lćá;:Sˆet1šŃŸŁ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ĺ,ۂ1˜N¤ŐÔyD꿖kSN9E,Š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ŠŤŽ$&%ϧO˜P^‡Ŕ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ą “˘âÎÍ͋ń�ôFiěßżż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 opƒqä'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ěŰęŘĚ2ƒu\Ąâ×ý´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}ôžśęŸŤ˛Şá~—Í2˜3úô㑗˜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őĂŽ@Žęrƒfy¨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Ş(K˜iEĚ 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¨pv)Ü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ËxA4AA#Ž>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ˇüś”Ĺünˆm<ńő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‰ŒMˆ5VçććÄŕ-~–ť_ňćߌ¸BX„šŐ°Ô¤8Íi#Mż!s�xŠĄ@3ŇkáĂ Ŕ°×Íŕ΄;VÓT)ô0Ę<ŽRĚ#3 ËkĂˇŻĽz^p˝xD‘ח ŕň\Ű Éň1ĂWřҲ˝”´Űĺ ~5Kß-ƒĘ[Ű'ÄCP“őzݤ …`Ís¨ˇŽĘ˜Ţ丟×ÔuÍźámO&źě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ŘśžÇnƒsśĂ“Ďš€Çœ<ÓíĚ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Ärt‡ůü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�Bg74›ä…aWýÂď9œşm ^tńz8ýXĘŔ罂9żd˜'Ÿ5/Ü´°,ö‰>~]ođia ŒúĹäčЧ ԌT}fjÓ2ƒoýî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Ĺŕ,,ůú׿.ÖWDhŕËӓžôä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şé&ńˆűQn/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—RV&ŠŹľˇT˝u%•ȢŘQn­Ň•˘ľĚŽˆËĄMpK´jx%‚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śäf˜mžĽŢ#„_€#V 1Ű}qš–SyIYNb˘œÎˇ•&Kđú1Ôş“ł^÷`óXĽ�B| œƒĐý:n”íÝ[Xîéś°ĎŞď?Ýźęëb[é¸uDť 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Î~ôSƒ3|ó"> äÚĄgĂjÇň\nÓ=Y„–!ˆŃ§0#đţńŚyřŤŻí‡‡w3˜sœQ rýcěbƒ(8ƒW˜Ä Đ^ßŇřĚş 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ŇŞŇ +taˆo°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Ę ëŮi˜a尜×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(Ś1ƒtUś´´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É%7˜pýÜ{˝ë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›ďŸ…‡-öňĎŕ´íëŕ—lW\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^'ńƒKt: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íŃěcU˜p÷-´eD|xďꖈÇŻPu”%„í§wiz˙%ăAÄh /ĄźLŕgnnŽ\š#ő˝Đ‡"HčK{ÄDś˙bę;złPeRŰęʤ 6ŚŚŚDšör#ąÖ!1ž›€MľĎ|ŐŽ‡^‚ ‚ ˆŐŽ4–<ęÄ áeâŠçLŔď^€wÎÂ]ťť°ëPs‹őipn<™ôčô^ô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¨ţ„ŔÜóŇŁnN˜6–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/aƒCŁŹ%ź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‹\_ô0qƒqęé´Ž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ŹŞ ú�ĆjƒAÄʢŢđ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“˝żŰˇŒÁôşI˜Y7Ýű;ë{ß§§'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ÔoˆO9•óߓ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ë&Džˇ‰ŠÉ^řŢß ë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‘b˜HdAԁ‡ƒ+ř}˜`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↾ ˆĘ'ľLˆhŕ‡<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ŰśÁöNJ~ˇ ď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ŁăšBb |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Ž„&ÄZƒDÉŁő(ą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ýŮô4m ˝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ďž;>†Ţ.äs˜8tŇ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'Á›Ţô&¸óÎ;áôÓObuƒKÂ˙ó?˙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łetvMƒsĆňňŠë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>üđĂô}˙ţKˆpţ‡ř‡´‰ă?ţÇ˙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÷‹ťRdňÓ?ýÓŠuŰţîw/p^\(ÚU"ĎăűÉJ™íôt?łΓ×΃|Ëˀ]G6˜ƒs~ˆúŤŘž팇Ä(k˝ 03BE#ÄîÉuôhiđgC:ď@UCŻtŽÄyƒx¸Š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ŕr˜hq1šČňđđđđđ`°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çQzƒ/ËÇźqţC]’z‹ňÇúĄ~ď ‰„ŒC‡ĆśćçY€ú Ě˝ éçVi0goŕXwôäuůä'?™ÚsĂ 7nls|_ţňWˆpúœ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¨ňzTˆ0P •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:RƒF­Nd‰‘‘:Œ™ă“ă ˜kĐw$VÔjźŮ#ĘMń'0×)˜ž‹ßńčíąFTź&ŽťkŹ„h÷ކžîEd ŤKÍ÷Ž1ü §Źn=d„pű=GᎯ3k›0gźrŠl˛ĘŢaíüľßy˝”§ áöćď’Lk"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 Ћć‡00ÁČ{ľđ]@^ĄB1´čžđ…ČÖ�ńCSůűöY~uuE„ ŻQŹsŔëPŸ`ß3 9ßŢC"[-,,ĆçĎX?œs1ěęĚĚ4ŐďC^ ŰI�/|á áđá'ŕ+_ů*…yç;ßIó(Öłž >ú…źř›żů[ŇŁ`‘‹řŒ°Ż=ňČŁđüç?ŸÚ‰+Ř_ůĘW’g Ůw0tűí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#5˜kÂČ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Ę 3Tđş×˝Žć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ĎŘ—]v2ď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ë9ht™Ń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(ńśăśQ˜y§\ŠŤ+éˇ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¤íënfœ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Ü*NX0LŇ2 "ܤ{i™/^‹d ť‘ĆćóŚĂţ#˙ś|•2–ťkg֍ęä Ýż% š~ÖŹƒČěżd]v)ŗŸÝť‡ôS8ÇńüÂůyrĹů…*i~|J(ľŰ= /Ňîô`cłKD‹GŽ/ĂăÇČزšąeži˜PdéŽůë(;[Ý{_‚‘´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›Ŕą¨”ÁŘŔl˜s×ĺ;łŕ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:ˇťl8ˆXA 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ËźŁM˜kň˙(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ë*ŒřžŮrEWş3b…ŽLëNü×ÝY!żł˛Ŕ°řţ•L?/{xxxxxxxxě¤QŞHŃPtŽŻ!… *Ap *g˛;żq‡o-Ez.‚Í7kźÄëPiƒ\/ç˘ůz׼čšDbDOĎĽcăˇR ď*ĄlŽź“•¨*+“ä•™œł^,ƒk„‘QBLń5ˆ1ľź>Ă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&mˆWQYXTö\pc8óąaVřŚűŽ,—ÓœüŸ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�ň‰BˆhŞI 2Ď2%˜l%>n}ł×ší$Ż,‡Ny“ły9Ą0rújQ癓6ĹŰ Y–‹’Ľň<_Ň7SĎR–=K…˛ ~A`{d˜ cŸŠ#ÍŒZ˛ÄÄX5r׋ħŒ´jD°C‚ĹHƒHÍ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˝ĹŸźŸĂÔ#oƒD˜Ěk$ödá։ëÁu´3<ÁÂ#ĚV+S–1ăœw¸„ ]҄üŽ,‹ó“ą]b…$SȲQ˜a 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‰ççro˜9Ž÷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› ¸ä’Kˆ4Ó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¸y˜4֓‚ő$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řÔ/.IjH-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°đ(łňQadđŁ`ĂÄ ţÎ+ 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‰‘{Hƒlœ]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Ag@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đܔ"9DG˜jgKv<[ó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]YƒEcĐ<=ˇ�Ë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ˆ›Ľłö~Üë´ÄeF3KˆSB(ٞ¨$\’(Ú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>ŕ …@‚ Mn0Á^$Ř%šFŮł.úYI!=]H!!ă_źžcČł Î/vŤ •ޞ€cSş öůšÓpçWżL÷;˝Đý`Ý(#ëľş)§F‚^ĽR3‚\ŮçáááááqŽPf t•çŠxäůÚĂĂĂc§5Nĺc˜utן;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:maň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śausƒH[íŽů˝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öřžd˜0ô<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¨@Úľg˜R˛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 6ˆHdX%š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;ˆP˜8ŹŽ6ˇśHVŞ×ŤDNďvĽgŠjŞ˝ĽŃÇ5BĽŰ2‹sb|ĎA™awPƒt¨-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ǘG˜PśO¸óŤ›Gę:AňóđđđđđŘ)ô›g=<<x‚…G!Řx-Cs0‘‚ 읁 ’HÁçX€tÉ,$pIXŕ°$2-çƒÇ˜L"8 ŒŸ‰ x ćÉa5˜T!ă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*ś Ǥdˆ6ë'o&\ŘŃú˙3ĆřäŞt‘ykŤ ­Ę?!Hr˝ŹžńgPŇËůBŃ`q$>ΧPŢÁăčY˘˝ŐMóˇŰëĂvŹ­­ĂJD¤Řj÷ŕŘą“°˛ś+Ťë°žd•llnÁÚú:,.-S˜4ä[҂"ă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 ë ŻYcƒkĘţ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ŻhB‚œŤÚ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{ˇ°Ąa˜Pƒý,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ěĄĎ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'ˆÓÄŢ$aƒvXE“’+˜¨ç‘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ś çą`[ÎvˆOEx‚ĹS ÖÍręÔIł9m@spüřQX\\Lî݁–łgÎ+¨(h4ëfňلv§g=[(ëĺ�CvPšŔzX¨VƒŘ@φxüŽ“€,“‰’ íş—œc–žôę@ţ@ņsœ`FF@Q%ƒ{Ł^Â@Ôb8ů˛W ĚĎ%¤ËĘţVT&_DŽЄđěŽâă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ؘOˆdâ8%ˇ^âĐ௢˛›F~Ů;3őZęU$)çćÖa}ÝĆńE`˜Ci“ÝqĐ˝YĆ4z Ä]šäÉÂbTN6˜njj VÖśâ5<{s×ůRÖ(ú[Ze•Ž“$Ďă'Ľř)Ş„L!.VRM1Š \0tt˙Ä I (C™!y;$ˆžó(‡‹H˙輐=śllś)Ě(…öĚVbíőŔ]„ÍJôî畨Š;DL´JňN¸.l˜uŰE;Ë1l“őkăažLş]]ű c;?“âóÒ,˛ÇĘĘĎK—o/&V§“”jmfÉë &Ęô*EHÝYJ‰F9’MWĄŢhÁĐő1Ÿn/ŃwĽŸ @Ůć ¤*Ńؤt2NʧĂ˜’ů @—öŐ<}žź/ţîáą=$}ń‰'ž€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="NqÝÔ '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ŠďSdFcëÍ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łŐ$ᆠńˆÄȞJ˜xÇ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ä‡~č‘ÂŽIXq÷Ý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ăDxâ‰Çé’'Ţ÷žżăǏ“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�‡Iˆ6‘Ą Źłâů‚˙nŹwŁŽ="Sŕ{ŐnwˆHŽűŒĄ `ë›ë´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eaˆId‘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¨ÓYƒQcĐĄÍ •!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衇Čű6L`=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—HƒcEŻđ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‘“;3ˆ2ß˙ýß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}oƒvRăëéŤÇ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“GˆPáźÓąç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††FwWKˆ *CHJ‚Ä"Œ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Ťż‚ä_ft„¤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Ž+„´´˛˜zˆZ˜Y¤É‹Ś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Ý,<–‡zˆvíڕĆ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âAqPFámĆâM/mJyŠö!Pď—ŐŽ3ĎBn ( ˛ůą‘ä—ó"˝Šlęfé$rt’=Hů(zśv3JlĘ同ŚĆ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đ/Ç@†ř•_ůönxŸßüć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>>>tXnŔše›N/QCoŽÖä AŻyÎăÉéQ ‹‹ô•›žM7˙đ.ŞÁ2=>ěRŮ!ąI{óČ×O°Ř@`šâŠ+xˇŚî@$„ţŽŻ Š“X!†qţ„ >;R&+dĄ<:•”œp'÷ć˝3iĄ”#…dƒs>´„()ä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°"pqˆ1wjjŠ? ś=ńÄt÷Ýw3a#ݐ.Vř#ý§?ýéLěŘťwoś 4@Đˆz!/|†¤í ƟqéÚ[Śĺůctô‘ďźą< !¨Çé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Ć kAĘ% ńHžˇĺuB6 Š-ŞhMéç$÷Ó5=~”>ř…Oą> dށp¤LĽŞą7r_*ńŚljˆĂ€˘m4]y‚Ĺƒ ˝ŃaŇ ră]Vdُ@y’Db ź\`GVhŻ/ DBŇČČiZA§7 Ŕô-őH{Önˆ6†)ý\ƒź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ԘÇŮAmwˆG‘ě.ΌžÖÓůŮ@šý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ßhKUŹ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„uƒK=™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ô¸QtËŁˆČąkĘ(SĚS‰ĄdҞž¸F‡Ÿż—VćëtŃłAˆŤ˜š˘Fĺ^:ږĐhŇâŠ%:~Ű U&Ę´<[§łžĽ™‡42fÖň;j4űÄ­Ě5ŮJľ|˛ÎŸą5š¸pŒŚŒÓE× ?˜ĄĂ/ŢM_w˜I*%#‹íŘż“Šč)/˝nůÜtüŰłŒ˜˛EF>ŠÓԁISŇŁÝZśËń8é+݉ŕvCƒ4pĚŽQCe7Gďc;^,V7¤ĚĎĚHČ2_Ůkƒ4š\ј"Ď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řüë_˙ú”tz#ýż÷÷ţ]~Ĺe<ÎĂ3ĘćÔ eź˙ţű9 í‡(!ikź"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šOzMPG/’‘Ç“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….{ŻzˆGýî^ŸšÝ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Ź�É ĽÓđđđŘ^hG2H$ë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öHˆVÖćąĐü§ŚĆ;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‹Fyƒ1óĘĄ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ÍzƒJŮŸ[ŰĆé=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 żq˜h+:c´kf5D‰ŐÜłŢp‰Ü]xČěN˛ŽˇëćVâjݕӴˇşÎ2ÄźO,X&06靧ŮÝúčx•˘VĂČVFîˆü܌ş‡ćgé‘ď§'n>Mľűfčô=ËĆH°@ó<Ę÷![ě~bc\ĂühR”Şĺ…$aˆMűœ‚I;-U–$@MôRČKqâą"9ËîčDűf˝ŞŘgćČ Ö#†5PƉÇ7B„ľޘ˛Ë8Ř=a~ľUć^[NŤ/`p[ŰŚÄ�Úű^!úCIźnˆrJú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áśPZŚ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ÁśPƒrśÎ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…GKސ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ŚŐÔ.NˆFią‚Î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‰ěV3yݢ_#!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#={–ŁęDb5˘‹áš“„Ń)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ňDˆ6ƒ´Ě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×ިǹѸä mťŮ”0E{ôčôšoÝ@Oœ:ŃÉfHČږTĄHĺRJʆ{.ű=NHöÖSbši‹VXŮ… řŻ‹ö€Ç<cű;dmÇ DŢLäBaÎÇI˜I¤gŽĹĽdŽHlĘđş†sL,@ʰşgümG-jűˆü,Í"ÎÚ"#%lox‚Ĺ9„^ÄŮ;đ<Hăăăôđ‰˛ŇvxtD˜e!¤ $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ÂűŹe˜IŸ5ŒG‹6+ĺÚ<Ö^ĽđżC° z‡ ¤v^Đö%˜zô‚čnľîÓŐ˝‘Ňź^ÔĂĂc#áŽA˘+€œ*ňĽŘŸ�m‡Úl1őŤ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�1˜kaß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-rtˆq?ĽÎ˜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Ŕî۲Ô|xƒH¸”VRUśĆ0ˆdÁ!>Ä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%­…źËBƒtŤÚŠ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ŃJƒl˜(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Ů(LlAb—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štƒDBä‰ĹĽ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–m˜QÂ/ź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źHV,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җň˘#DˆD.ŠB?ß^Č)„ăÎ:n{kˆE<<<<ś Ü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˝CˆqXC{АÎ,Äۅ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_Ŕ“ŻbƒK(|šţ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„�1pkˆ6eő Ó˛Ú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)PoFGk)á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 晟+ƒ?úťŐ'dƒIWBb˛&Ť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÷Ŕŕ cˆj҆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Ëďlƒlä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=xTRƒL¨Čšń%†"Ü]’|‰ňá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,XX˜7y}ŠĂš`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씡]‹€ TĚąv˛‰&!XHÁ9íɕś <ÁbA<Xô:h ŠçeřÇ]Ži˘6ޞ×F{íŔ4CňĄÇM_çă\Ł‹ä) îD�.)ĐˆžF<1¸ßőą ȇTÁî›/ź<”R2ˆ”G“äˇÜ/ž<Ä}ť”%3&ąó@ŽĎ Á˛„8W/Hď “˛B1Ě.vQBC~ Y¤éÖŰ1‹}Éś_ţý użR ę.^K`lš܋ݷřŔČĽË5ŒPçöKšmŔť2vńĘ_F*éëz‡ąŽO&Ť7Œmž`áááńdĆóťďš›ŞľüŇonnŽď˝:áĹâŕßz'eœxˆx衇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ú’Ć0ƒcůŔ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ëš"˛rƒIŁ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Ʌ<—ó§-Šę8YˆCé[ŻŻ¤÷///ѧ?ý)[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<oˆ7‹˘~.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ůízp… —€ Ëč ‰n;)ĺˇú˜+´‹Ku}­@ŽéĐÚ ÎË_Ýf’ŸRŠGŠŻ¤Črݐtšt<O”dœą†3¤?iŇÇ ń?ťAˆpŽ˝ř.˝~ćşź˛Ă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ÄłŒŽł~&]óčf˜pŽÉt}B´(Cě\oż‹žŽ¸ď•Oß+FőDĐńýëßű6…•ľĚŞÂdƒ‹ ŢÔMV6nE-j€`aÖ"Â5ˆ9DçčÔľŒŽ'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”pX˜IÝ$/]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›‰¨ÓFmćÝ(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Œq0ąÉ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")‰í,ł˛Ě×gjQ‚DŁ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ـ­ţŻč\ŁňŃ@vƒˆ1&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÷Ţ{SgĎň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ßőÚ1ˆbē-<<<<<<<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ý/Čś÷¸_Âż(…čź‡Éˆ{”Ąsƒaęźšúmot-Ť˛P&:šŽÖ0š?.&át‡6Ŕ†Š•}ďL›e뾉P9´ˇšF‹`ŕv7*Xăxwš?Ý,‘((áAƒh„<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đXkâ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ŢdrPaaƒDGŻŽ!“Ř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+şÎ.šBˆnšäťŰĆşĚEí(ç%DD:örŃłĄÂ.Ú[€H{éďrNúˆ âmDúˆä'Ę%š×i%“n ‘#ih‚Œ<é‡R–˘ö–xZŸ́rŽ&!<?~<ˇC ßxŕu1Ě`ހá^­%]ÜĹ ˆë¤Eîă?>T™°Ö@pŻ (’tĚiÔ�q• …ÜŤ>íiOŁK/˝Ô´˙"}ýë_§ššyn#¤;11AĎxĆ3č)Oy ž÷˝ďqů0÷˘-× (ç7ޘ–dNÖ3}<wćdJŽ9Âuv~ĹN|´Ö2XÓ@!¸ŐŠQS´–!YJÔJvQb“lyBcŒQ„˝ÄHG’ő,mâüÚv˜O‘ ­ŐˇĐn‘9üŒŰ5K˛Úi]ľÜ€ąknn–Çzź3řÝnÖárďVbĚąý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€úÂ8ƒB/yÉK¸>x uH›ÂC„(şŕℊřĂôźç=óQ;ŕ}⪍Žb’Ú J3x5ÁőP~?ó™Ď,TŽĄmďźóNž_‘—ĚŻXç ,wÝu˙Ćł˝ě˛Ë˜<‚{PVô•žđ…L¸@?€b.âç�ß˙ţ÷9]äz"=¤s�úáWžňž˙ř�˝ęUŻb/#îó…—´+<ƒ ?#M2„ ƒ˛˘lâŐ}ĺDŰŕŮĂ#ž‘Ú}Jź _ĂP ;şäýA›ŕx?ƒAĹNŞ•€ęŤôŸl°``%eVCÔlƒG=ŚąŃ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%HPˆA‰öńœ˝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� `NRƒëŻ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ƒ´oˆgƒëÁ`Ť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`dˆl:œv‡ˇýŽ…Ó(˝(€Č čm5”Ń)Ski5ab ŹqϿIJVšŹĺąˆ(‡œ—eçčŐŘđşŁÔŚË{cčěkmž—äÜŃ;S1Ÿ5?E7.\DŰ&7ÓŘx)wźë´#&Z){_˛_ě~"/růʆ•şnMĆÓöÁź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ř_-׈ls$ż=ę*$ž<™}} Š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Ěş ˝ ĎA0hŒěŽ â÷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›ŸPW?˙ž„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ŕwhKY÷˜:ŢüÇőš_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§ î*ěˆ ÔűĎçbRPJ+„@Ě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­˙jˆDńď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řü’#XH˜i›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š éAJ¤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Ÿhi 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>Çą˛fHƒ+˛ˇvUp)ˆÓ3„œ"DڧC9$݊řHšˆ|ń‚u w”č$"Ť‹3ˆečJwťČ9â­1„úWäzśÜph'+tŰąń1^É;’;r÷e?Ý҈yĐç-…ŁyCV_rÍ=ÔűHľYÇyüŢš"{,¨?eˆNYđî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˙ÖöĐî[ŒbBˆoo’÷TGkMĘ LýŹ-+pőcGĂqö˝€ÜBŚrę>{Îż‘#ŢÄŇM¤ďҞŮ'8=ýť@ ؈¨Wkôśë_G_ýćC´41F5GRmPŮq ˘˛`ąÜ ĺ 4ły–ވ ‚E­J­•&EđQ•Ź֘_2rA‹ęFŚ‰É˘ą=(ƒ Ż˙‰î)äČä9űÔŃłŽíEL–ăă(lŽäkm‡–P,Ö!ĐńÄ)'ôëHţ>ÝquřV”—AAqzç)őš €rAZP}˘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žAmŕř-ĚĎR`ě+5BÇÍą+ 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´č"W8bEuLŕ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ČőŤ.lE$ ~Ű#|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] ˘AˆDŃ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Ň~89:ńĄVĺOéJęŁ!'čČ]űú镥nŮĆ˙"Yŕ{Ĺ÷ľ‘E‹Ó 8őąŇ+/át�?pTd9íĄœă!9ÓąSöÁYU™ˆ&ç‰&1řÂťŽ4 ýžĂĚôăÇçâpŽ:őˆU�"Ł măąpˆtż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îčXyˆuä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…D1h"č뺌ű–@°¸¸Ě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ŕeƒuÚÝ­ń ‰Ź ß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"˘[€pT$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îŘ´]”ŘKeˆIWœ6­TJ5LŞl'ŰT…°¸Fă`3 Ɋń^˄˜ĹŠĽýý (p2yŇ˙îŁŰÇŐG8˜šŚËÎżˆŚŒ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 ‚EFĚoZZ-ŤťăŻO´č&]ŽăńÇUőĘ /ĄŤĚçîG¤ŠC˰ŤśCžÓC!­™ßcó´ď~ W¨RŤ¸H!ľWšvBd“›ľĚďęD-ŽbY+ʰ… ‹öâ26¤ž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ŽŒ…vn˜veëé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Ć,pˆz§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`U˜o%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ąĺ„#mHˆxu# ŇÇpEÂzC”Y×|ý0}|—'´:\Çé !°uĆ3›52zŤ•°rGďÎ:e�œN˛Ĺ@~Ćŕ¤í`ë Š~ĂÖ´ěFˆ‚üóGúźřUˆrwő<5Č7ëáÜśKŤvtş˘˛ˆOÖVR㌧˝l/Ö>k ‹ě l‰8bFČď׊ęĎĂ؉†9vmŃŻkKŕđˆ…`a5ö5ąŔ=śáƒ…F ű´NşqtŠcĆvƒh“´uËVÚľëşňŞí4==Íd ! dŮuÖ#ü¨ ƒERąÇ4›m~ݰh*›ěź/ö%ů ű—YňŽÉwmĘŞŢŚíUYś+ü–NÖNÖa;(H2+ 8cžŤŐGčňëĺ§t^[ŇJ3~˙ťęě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ęöCHOˆB´€bPa ÚłĚ‡~8&ČŕYq‘,8/‘#S‘CŽ“Üžžs-w`(ľĘ'śK^9}žŁ~8äŽäüîvŇߥ„ÎÍÍń9řމšL!ed1Ç{aАGZÉË{nú>D ×$@ţĘţ,h‚Î=räHW„Žźşhâƒ\Ď'°Hˆg<'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Č1ƒCrxźę˜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„ä#ń_ŘkLMMPbk-˘W(P`=dâR)čň­g<łw/ý‰ń˙jLONŃĽ{Χo=ý¤łQhÜŠIXřŃałšˆZ1ˇ@căc4>3IKÓ´Đ9A&!GşX<v‚&śLS}jܜ¸LĚŻč¤ĺž.i<ˆrvZX’ąŮ`ĺĹCTŤ™Oú"J5úŔF°Đ Čůw)Y‘’ƒ6˜Nń˛'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Ě;gFˆcB%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ŻşçÉ… ^`Tqť@ŽÜš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ž'˘`Ô/morZ_Đśľ%W¤ĘÉA÷XŹš×! äţŃóQfr}%° ęŔ°iƧttE°đː¤ý'&ËVŒn]ŠŇxmŒĆnjnŹ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‚ô3˜hř†‡~„p°¤ď_úG)˙X\˛”v1HHă Ę ţ{4¨0žŐŽ (P Ł ŚÎËÚŠżĹđ|ÚP­Vbň3ŕË0Ö)_MćR÷ßŃ:ěţŁ–dąąvDHÉrŻDs›K´ ĺĚd˙Œł„đąÔídćS}ňŠ;Ń+ ŻľŰÝ$‹ž:Şy&Óӓ1áÂ^?}€şĺŤ¸_đ1XőzqłuqwՍhč@ §ĽœmÝ÷"†ł@,lzăHœ~QWĂä=ăüöËŞ4m¤ß˜/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ÚHˆ8žâ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 ŐzAˆ1xNYď“6źëç旡ďUúmDB.Ď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^ ‰SƒPä{źß…Ź\'…qÁw˜aekä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—�ÜŁŢşţžŁÔż7OŽđ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ŞŇpˆr$‘ÄÁŻ'>ľ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“š™Ř@¤Ú“Ü3ˆb˛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ň[ęęGzgĺ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Ę31d … 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ÄD2iá'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Ś˙ }2Në!ׂ‡˙̤Ýĺ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ćHmQŚ—Íy‡ŽÎŃžGéȑ9s­NœfoqižćLŮPœá8�a˘dW8OՌâşeó,]tîvÚ˝c‹‘ƒęFśŤńłh@‰m€dŽâJLˆnľ-AšÁ9Á!ߔť¸´L'Œ˝„ŐË?{Ÿ=@ű^ú"-Ě-Ń{Ţv+čü´Fd ő!Ď[ˆđuPˆXŃíGhăQŔ1&t$-Wq”…íƒđɅc÷ßýőˆ„1A+H7G¨=ád;őJĹ@)GNüNr˙śéA,(­S%Ó@ý ÔőÚ´iʎ;ĽÄ9¤‰Éx›ÖgƒT]‚”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퀿ˆęńCˆYrďş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 T˜9Ě\€Č„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>%ňŢYƒH}ľÉ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~ç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Ă,ŕ80ţřŕÁĂ(ÂŞvűÎK §…nÝq 8€™é+’z ŐđíÚŮŞ?:U‚'×ŔoŸ\!×öӂřőŇB¸Ż�řŽ�˙%ám]Ëä7BÚč:Úvc‚ƒv8ăƒçŃé¤S'ˆÓ†qQlt4ĆAœŰ˘âyI”8äĹI}:݄8ˆő3iť°Úůî˙ĹĺŘ{°÷ŠëűŠ ˛Úv ڍĺ#+bvÂű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ň×|,ů‚Sˆ8XYĆ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 čŻňnj4šÂŽŚ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">ULu˛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ŠIˆvQ5×;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ç@zvŁC+Ń2Ű­:Ćłtb‰Ž>ű§ÎÜ4Mç^r!Mn™Ľ‚ E°Hd˘ÔNMmćP ŸŽ ĄŠrľ˝][?’źâ,ÖűĽž"ČË~0‘géŸ˙óž2 šâsŸű\WüvČűí ;yƒl˛]‹÷ÄáWńÂ5Vń$cĂ!OŃÁƒb…ƒżU<ŞÎ¨Ůvi[˛…uÎ[&”&`h‡ )&tMD‘6ŤvřJۊ"ýlős{ŇýH Bş\ýźłÎÓNÔ^ĐΝ,Ź@Ž­ %ň[ Ě1ó݃0őa˜Fƒ ÉŇŚ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šź7EtƒS Ű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°‘+‚(ť§ Ä/hƒlX˛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ˆŁůé4sˆB“Ź.šcĂ}B’Âx]!ŻýQĆuRĺĘ"™î(R÷ᡍZŮHĘ]żzŘ06ĽAĐK˙̚ﳎńíRƒ^o-Ћtgłíˇ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÷‰rkĄŽ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ăĹEˆb˙š×\Ďç€Äôä“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Ä­Vƒ8şƒ&´d)i€väęýžâˆ[ç@Ç3ç, ŸqÖó‘r¤~ž1PC_W“$Äٮӕčs|ç2EŽĐűłśúě|ĂŚĎ*”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䜊ĚěLHZ2 iÚÔHĽ€A#5ĽŒnşLt#™ŃfPmmÖfčGc2„2fІ LTŞ(͈,II*S9EdLo~ďÎ÷úěg¨ő­˝×ńĺçşßáMqńáĎýşŸaŸ}öŮ{íő}ű[˛r}”#G6‡¤K‘!i#HýˇXČŞň Ĺ+nâČ 9ˆpƒÁhzQÎeáx˙ (\u( -'đÔDÇzécB?™q y+T =HäÉ‘(UˆZEz%~ Ůϧ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űO˜Qe*H˛‚âRš92i’rýĽ s”óCS~Ľ§cO3¨€úÉŃžĆ}ńäٲ‰ŕșJ˜×=’~(IsŸLż›śď´żqęU~Včœe™uÜ'˛,8ËW'ŘŮëqbݧüÁësZAá|?ťß|<ł‡`ęONjđ´Ë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 RÇąeĽźť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ŸŞÁă5ˆ1ź(!őE™ëˇŠô'!ŽRZ­ăúy¤Ę@]ičV @a Ž…Ŕű§’óáîHîÓĆJ…VVtŘň~Ŕ Ü@nA–řÔ}\RŹÜ,JĂż;f€šÜ—žôSěß(ť(WP +υ”Őgß§Z& đ˝ŰöS‚SLűꌎGK`xÂÉÍĎ`LjxYć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Ž%YI˜ó´+§¤Á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‘r3˜HV¤+ű=Ć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Úăaz8`§ĚőV]:ńĹágîؑ™ßY€/o™FŽ]:’EFđ~8 ‘ćźwU˜ôüś€áŤ4 öŒÇČşio÷ˆĘ ÎCbqiA­Ś´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öŁTˆZ•°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Šë­se´ ƒń ňř[^^ őÍÚ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~55F2ǁ˛˛ş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­Ü6hSOŘňë~é)ŇšĹë´ďÓĘ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É˝2ƒzą âNŽžäVĽ~Eą/–`˘ąÄ§[YĎ`&‚‚>KlˆbśŽ´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_rDžú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â[ˆ Vw‰?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%í̅ÍmJˆ¨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]ö“Ë”ÎNƒ1ž'˛]đř’ \=Í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–ėӁłŇ.źüŚČ]çŇYbwĚ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ŇĘY1lˇ°Ř˘ű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ÁÇ, |ŔÂ+ĐńYˆr’W8vA/OLN0KłĎľíű‹Ű*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Œżvenݞǯ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'´ÄÇÂ#ř6ˆsŕ…Ĺ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çÁ$KPP•'đ=öSi{ľiՔ0P$Ř !H0%Yh qɢŘhĎčO4|ó›K\žźyl_¸ŘĎ °[ZŻfWýʊV…AƒwşŻ%[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ĽŽÔKƒG>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Ŕ qƒv÷;˘ąź´ŔŽ[GH†ÄGxü>:ě˛oR˝Éă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‡iˆ9tş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 ­–AN{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§ŽŒeDý„Ǎ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ƒęÉEWľ!Ǔ)đLŕxhˇ�ŻAb Üs%Š2|Š'UÚ%vÄÝ ţT4¤Bʎ˛<ŁŘŤÔ@˛(1˜wH‰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}ěNjJ^ÉSđął;5­HčT6ƒ1Xăƒ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ýjMë^Ż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äCGQHĄ?/[˘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âÔĺjFZT^$Š%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ŽcA0˜N<Š ˜%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‡~–\šQqIˆKš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 QƒTjÓ@\kH ˘iAŹ'*§M2NłËW.óÄ{}ęoE@¸ěWm•ěy‹¤“â5+hoëЂ˜V-ŰŤ’Ĺ´ žĘëƒśzÎâý˜VßV- ř˝M0ë^ÁZ=_ń~Lm˛ăÄů.ÍhŠĹ“ŁhvŢRluz­ĘA•&wśyiŢTU§€lťŢŸ")�Ť´í[R†ÓőWq<�˜:ÎëŻdLž°`śSň“ÂísAˇĹ66‚Ý֒p<,ďIńžęßV Ľx_ěó=Mqƒ…Š€˝ÝfÚ~öڊ�˝}Žl›ŃţĚ}PťÝ‘ŐT k<¸‚pŃhVŠ • ˙  öýüýśGʤƒš˙>]ž|™nžô2÷—…ĐŚýŤM¤×gŻ /*R˜XŠŰí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ÁvwDi?řŔ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>˝ÎӈfƒA: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ŞaˆI˙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î9ˆGq>~}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 RX–]ôćŕá™âçĄŃ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Úő¸–anŕˇłd Kްőg'éVőŔś×ąŹĺ$ŃÂśšâľŮ:˛ä‹âł`Ëaď‘îoý<hś‹ý}ŽťC/ó™É¤} +—°JĽ.}˘+‡–ĺń‰^RěííŃţĎ_¤îÓ§?ý̨ŃlHŞęůJÓRi Ž�Hâ ßag•ž ÄőaƒjaCČ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:ÂfNjŠ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¨?Ě}.pvDr›ŐŃÄÚŔé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 ýD2˜Žî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żŇç˝Ô!Qˆhcě@Лű1‚ďŇ^'§G2†reČŕC”eh…ŻeąQĐlżŸŇ­ű‡tť#Ül×äúŻq=yL:bđk˜p0ż\˘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>ňŃě”ňë=ËBƒQ<Šř¨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Ô\‡_‘Ȑ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şîЃČyˆfœö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ë-˘…jORipt2î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‹.†]˜™ Ŕ6˜L6؉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Ó@÷sb€úi +QýoÎqăş ŇĘäV˙N¤hôfWF’rȐCÎF8.Ł'†@Í,ókyÉD‚9y›OA ÂI„iŕ‰‡üR[W9ˆ4< Ťgąśă1(ˆ? áúđ‘ÁݸáŔi)MFy’DTC\}Ľr\FžÇ)üŞŔ5^$ )EÔdbp3RŠq ™ĽŽŢ"YĺČ čP”ă’ť$"ńŮJ¨Š$̉ˇPĽ´č¸' L ][‰9�‚Ĺ(‰óëq+˛ą2I{7żćŠe6şŤ’ç�Ď2͙Žňă(›Ś¸/}Ť˜$%ť–RŢbC%+ťgtVđ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Řo2PG€˝Ő•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?ŰëWƒiŕů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Ĺݟ31/—/z6ÁBśçŸÚNí ęZĹŰZź×J~BQ]ŒŞBű LÄž ŮĎHeŐzCÚ/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’ŮŔĘôŕç¤M8‚Ů�śNŒóÔ4^ićŽ;;&hÉ=ÚnÝg7ťL}°VžƒAaZú 7 ňgN•ě=ŐĝŕĹ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!+*uO? Ä 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 řGˆNąü Ý$âĎBžó?_c‚ŚžŤŻ‰{€J UĹđ˝dâ….MHFđƒóR°]Ő]B2ƒ`\ŸĹcůźŠ#Y‹łîáňR“Îay$‹÷š=ÉőœśďIż?SŇÄ3˜IßđËěł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:qaÂŕ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ýMƒz 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ŠŮ÷[Îw2ůÜę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ö'žđÄĎ,VbŒá€|Š=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*5hW1ˆ˜PŤÁó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ěóĆÔÝşOCٛő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ř1ˆL) ÁЎ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ۅ‚ ›aEˆ9Ž2#O É)]$~[. Ě"m%Läz2¤¤@Ę ťgR_"C Rę7^ežT@š„CFŽ0oL=Č—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đ>[_öKMƒd•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ńŽR4҆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ű`’őźÁ;ń`0O•›ęž¤=Šň§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‹Wˆk¤°�žĹ˙Úç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|Bucă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ásˆbŞ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Œ’,(#6Xa]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+˰!ÍKK_Ć뙟Ó0ęuó~uߓR6łďťa:ë ™§NžÎxőňŤo:ƒçm›˜“mÇ MľW?qFĘcy…Ž>×eœř}ť2§ďĂ#7~^Üć,ف.Ť€‚)IPó Óáü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ŃĐú§ýŇؖÛňÄÁ`Ż€ŕŹ'%:ˆ#v1Ü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ąQk˜WÓ;X#tźÉ1ę7<`ĆC‹Â|݆x7ĘFö/CőĂРᲅ×4xÓ"E)XŢý,`ň öéÎÎ^Ń1¤#L@Ż~†8´Ą �ŕłY†5čŰHx Üŕ{Œż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ŚźTˆsR9PÜć!SJpĚ,ˆŠý YHbű:ř 0ącs˜BŔ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-ŻlHzmí ˘:ƒÄ;éţ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†Ţď?łĎJƒ0ÍŰŰ;*´Sáć Űـ‡ź5ŚÇ†l °ŃđBŒ ě“ŘĘ @Â_F‡`ß1} ëĂ~ąFŘÂSÔD8QĹn(— ֛ ~gV1lǁďŐ$6’łžÖĎIÜཟ†élż[EŻM›bř${-ëĂúZpŽ5ÎóYük “m§ísű͸`ÖĽ.4%ݎďAčŚbˆSĆřĎĽŃŤ×ËtÍŤ§††Íf¸ó`|sל4'|ŚĄĽó!''ÇTyĹšJSo$É2†݆ĎdžÍâĂwîĺľe˛ŘĆ2†ýÍ~LŒ2Ä ;uޡńřÄ’Ľ< € 3ß ěŕoĎ)ôĆĆÇUYƒT Á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¤rwňŢގ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ý)œŮşÇ‘$ěoBX0ĆŢö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/šW7އ ŘľŒ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Łťőěǁ†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ׂ¨éĚ ‘žśÝşŰ–­íMuiŤ~f\ד]S5ĽĘÁc6¨ű° Q:lđ;‚h°–ÇĆŚHău ͂ˇÉ  ‹]ĂĽ,ԂţĺqŘĘGôŽ&ěĎ<óŒźúęŤríúő`ńšĎý;];ˆŕú­_ţĺ˙"żđ żP¤¸ĹYű'ţÄ×])?˙ů_q÷~NßĂ1 ş5FÚ˝úękň“?ůSz?ć2�ßömß&ŸřÄG\exö+Żź˘ú8€>Ź~�łűąÓçĄNˆjńŮĎţůĆ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šWGqXč˛ć,ˇ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úĘ_Ś)÷ëLc� =MĐxJŁä)›Š‘=˙6źîLAPBš#)x‚=<Üęî)ćŃçŠç›tgŻwÖó€ Ź;´uEÄ8Č Ú�ě/’HAp+Ô2Շף´*u8†ů°ýşfÝňűĄшH˜Sˆ�”_ř­/Ę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˝â ›nƒkż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¤‡ő`FÇąăä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(ÄŕMg<Ń÷ ° |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çΝtkĄč„0Ĺvá/ž ŕ…Ď{ęç3˘Vŕ^Ü`š¸Čx}Đg¸÷Űşṕ펯ĺúÁ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čƒ)Çám6âčnź˜+J•č{Ťř೎ÂčóŢŘ+^ŰÚᑫÝB�aůÖč[†Ä.ŸÉ(+P1iŸĎ´+źá˙ Ząő°ă÷-Y#4ƆŃHśÓœ`_xa˜2í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÷áŒúŔKGAZŕÄÄů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˘n0NƒY†Ć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čúňŔ ž AzœŇÉęʈž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Ţߍŕ€ˆ`€$°10mÍĽ mHĄÜ vlg' A †ń˘áŸ`‡=rżDŻZƒ2Ë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‹ĘóA˜a—×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™ÂçíslˆS‚AâH$’ăúŮÔŹS‘Ř(Źł-er b`­ŻiŘß8qťě÷6’IĄlŔ ÖPĎh4řS9èăPÔLŞ1k ([ĘPv|Xô–âwě´ŤŒx’W�L–â9vbŻîžƒ”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'¨ NjĄ,ƒ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œ`˘@a5yˆPĄţŽĺŇ-,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ë@ßmlakrďtťý"’__u)Ůrz”Í­Njű�ꚤÓ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™şÇ�‘͆~đ^– šĆŒ[˜ťĂzic•Ôľ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Â–Ç 6hëcŰԏŒĹ6eě5eËćw4Áńłé<bPˆiP^ˆű˝ŽÎ Ű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ôĆßNƒB˘Pd}´Ý‡ýŇđŤŠ’Ä+ÔÔsŠo ńYařCž_FŻ€p fšßď)đ‚Š,}‰††ŁT0…ćžvJƒM5Vă~D¸Ŕç:du]›c…—˝Ţ…ú| ?ýďƒ`Џ4â!€v2̈́ŒPWGö_|Řd5^LŮÁśĐXŞQZ͊ĐoAV‰Jƒ3Żľ€ •ź‡íÁ}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�C˜uG4 Ťč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ĘKhö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˘`ú [WMů˛×ă{”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,*ˆž–ÖoP÷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ƒŤOLjô—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äŸ  ü˘Ę˝ˆdT �ZÜYi:ƒđŒŚYn&šÇ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É”Ůîó-˧=°1fƒqڃ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Čžiˆq íŽgš ’„ń"žGŘ4Ü0$ЁˆƒS ţušÄYŒňšu.ýG׾5;ň<‚űqŘÝćÍRŸÚ8’u.GŻzƒOďŔ;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ÍÍÍ3˜bžĽÝ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ËĽcˆnKŸ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>Šrˆeí";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Ć!îŔ’ !@lˆ2ŔĚńžÜ÷ 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ë1ƒc™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ŕ-v˜2ƒ7B„÷Œ( —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´3˜DlÉ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Ämt`ŕŃ÷ăűůů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Ž.nj$!b$” Ę �ž‰ďđÂýş 88˜�Ň@%ŻŇđ;Ú_€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`Ďq˜0@Œ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ӇĐ_`kt˛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‰Ď‚wƒybvĆ:źĺ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°żƒ^ß돦ę2˜N&Ęń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î¸ft˜1fţ'!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čň\Ŕ)Œ‰Š1˜J{č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ŔjˆD8%‹Óü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šŮ[›úűÂŁŁcG˜vkđş÷ţ÷˝%ł/„ˆßëŮ}:ţf€”g0^˘…’ň¸ ˜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ýŤ´BƒzĂ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čšIƒV˘  |ޘ˛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ŽŰCYˆsV‡ĐÎ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ţ}ăŠo˜4cęŕazěńÇ8L�úřšsč™gž1űš!3ý%ÉÇĘĘ*}ţó_ˆÁ‚UîŁoűŰyíƊŮ/ĆńĹĽEW@ŕ(ţ;çűhfv†.]ź˜\>€žűä“oLŇpëkgƒyú;֕żů›/ÓľŤŤôÝßóÝ ’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Áę13ƒzk™ż­łŸ÷ĄĽ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Ýîl˜9ąĂŕ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ĂrgŔ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�Pˆpp 'Ĺ�€ö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Šŕ<„IˆHÖ. !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ćŹjuffç˜%:OŻŰfŔœä3­9v˜G<Ć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_ĽViƒF´—ĆĽ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Ŕ]Żgw`Ä $53ćLţލlóś;Ď-Ř(śĺřŠoIqűěNrł{˘B )¤‘™knĆîRH!wšÜE!B&ńIِŹn2Ę>ÄŠ„ eS�…á(!Ŕ Ůŕ pĹBœĎâĂKž:LˆP�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ž‡SMƒkp=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Фmnbƒrü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źĎZX˜7mż”\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Ś1˜J†#:Ţť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/°$˜Ô°cDŽí�ő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(qr](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 >�l0GÂZ‡ŞäUNRá%u ĆĄîdCP’Cƒ'žÔžC vp*Ö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Çi˜okŃš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"˘0iƒV&†ŻqňK°c×Ë2h‡˘ĄH>5�EŔĐ –žhqm%fńpŠn{Hp˜h ŒČN~]—Żô†2Šä™YP‚OLă†8ËĐćś(Ź…8k­x6)fœĐ'Ý YƒtŞŒ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á%:6ƒjŐ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ô9ƒQ:ڎ;›\V�ŒřÔxŔóB9O żŁžąnŁoë5(ťONMn^Ü}…ě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đ&꤈ŻNDIŰ ő 8Ď˝˜ŞOÚ7-‡Đچ×X˘řÚ  ´ńKÚ]łŸČýşŢŚŐß4…7rťŮiíď tô¸ŔgaIßt]ö é×ҖbÓßiă>˜Ś›Žä *JÓ§ˆ! *)‹ô1Ĺ”¤n;hЄ{ęHŇqË­EƒsňĘ?­ÎĽŸáÎ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ӖÉĂÚÚ­ŹŹÓŠÓg˜yɆ^Ú˘­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 xUfś+ś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?ćTˆOJ1늰Jˆk%óˇç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§>Űd˜Aalýv.ĝ�…Áálçś _Ď÷FaŇoŇ|Đ6qY%´MNŰ9´­mťl.ˆžŤĹÓí+̝Sôő’OZH!Slؔ.mn ¨ë”XË('dĎ4‘çˆ^Fc[Ď;[űB%óŃâţÂk‡_ÉđpŸ“Őó‰ŰD׹——ŻxłőmA1�ýPƒ0`qÁÖ8` ŘHŞ•F˘wkÓ­ďi^ÉÚ:ěwb×s_�Q”J3cćřyśű€ĄŔ–Áö�Ź# vČ ą<ű‘ۏ˛Äđ[‹ˇÝž)ɸéÝ)u[ČëO´Í¸B )䕔b]*ä[Mť ĚĂŕ1YÔą8Ŕą9vÁrŸˆVÖ4˛X”(­ŹšĘ‚6lieTƒ9ô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ŠĐăB˜c€܁ď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 Č •­´ŠąTƒ8$?ňˇ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ďÝÓú•=˜Ź˝R2‹˘÷Ć)đ”’ëô~<ŠÁ´Öą'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ÖinaIL>ˇ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ëD˜ƒxlžĚýŹ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ÚîUr˜EÜĂ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˜ `cqƒ ,�貈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ď˙}Ö _=×óßń{B˜ZřŮÉ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#€č .D˜D´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ĹONJ>ĺ*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슶ü~ąVƒ3ÔŻ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ň/ŽIˆ8ő ˜ü$\î[ż� )ĹŇĐéI}äMBhJQ]nIĺɜ˘'Ť4 ­ n—뉤+í$`Lępˆb’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úĚbˆtź!€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ˇ_!ßş’í{iˆryá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Čvƒ13 Ä` Ät˙ŹĹb5îe÷˙ˇWcźÜCťŮ,mla„$KB%ĄąćyxUoî˜sfDŸoďł#vDćŢŤWRŐŤŘŻ˛2o 'Nœ8çÄŮ{űŰvŞ ap2FKUÚ쏳ăšîÁf`„€Á“`9GîË´ŕoŐżT´ë^ťŢ˛ŔLŐi˜5!— 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–⎿Q˜phĂ௑ç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Ź1ƒK{žÍ˙‰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#YˆEžę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§ŢâÂ×NCƒTŒŽćď-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)ĺĽ)WƒE5u:ĆŮ=$š%š˝°ľ, ^˜ľÖČ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 `‚ŚçĐ2BCSŠ`ŽŔ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Ö|LQŕߘ,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@ ˝ŽŤĚŕëƒB8VŮ2Ŕxz(ß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€P2 ĺŮ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ýßÚ* ľÚۑ6S‡řtŘŢjľ™Ý@×yCu5ÔΨl çÓ˝bŸ´CЎ� eýĐód˝?ô�%Mń§ă‡ű&݂e´ŽöˇÎ<˙M¤OcŸö'éS˜œ ÁxƒkË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Š×žŐö™[Ľ\NJ:îó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“şqƒzƒ6ő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ň{H9Ě‘Œ™)-}}’Ľ‡˛ýŐÚë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§ťv˜8&ě�—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Ď+ĺĽ+EEPö…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ă@ä|ŚüłFSsjşçŰ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 zEЇáî,$…C˜ęůrߚ˘ÇSűťÖćXOcíŒhw#iđz´ş1˘‡9E÷?r’NœŢ Ţ ‡8ÖĂ#IÁeUBďŔ …9Á=Î0ĘękƒFěřŃô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ĽŁ‡"C˜8ăŰ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ô}ösǘą"Ć~<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÷Ś@aPç>ć¨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‰Ů$atQÔ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őĐDy8 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 űô.:äHtĚŚLö„ŇΞęâ” g6-î?‰ˇÇůy÷Q­Ě1 şíŠS'Yo%:ŸÖAY sjŠ]N‘„ţ>ó şŐę€ęę+�Ďţa.ŁëÚśĆéy%ĺŢŐHűgŽçvPƒmló˜¤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–;' …n˜4ŠŠ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œÁřŕŸc5/)°ëБCôUw^EýĚ3š€5}–Öflí1ÚßX{�>–=ś�śŔ{ Ű'řýŰľCŢśŤ ĂR^ž’ˇ'ň–Ň~TJ)/a™ŽPŃ@EŘÂ-@Wő [FĆ hßt”ő°IŰÔ#_'�#7669uR†ƒeŞ”RJšb�łœ…Šč-îł SˆFIpĄŒ˜ŹđÁäĄ@(„ŤŤ+Źü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[˜#á 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Ź!ˇc˜RM⊂خđ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Ú7V{ 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!ýqBƒM˘ó›Î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Ŕ֌w˜0B+ó—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ţVlQ—Ę~[Š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ŒűVCZ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çŹvkI0Ywlek=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ĚIGŌ#?ÎŘ΀Ј\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Ŕ�iM˜gâć &٘mZ%TË=›J@•ůe×痝“}ƒÇÁšó'ăžI NŸĂ<Iy‰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­ŰڂFƒaʀ‘ľ˝&ä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%C43ź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٧L˜u"ô`8í˛ź˛‰w"Ĺâ` ĆŹßÉšĐ}„ĹBSšáý ôĄœž’DijńdäÖ]֏T[[5pŽ´ev*‡‘€7Řą ‡…išE8Xˆ1ńו‘Ĺű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Ň~•ď_ցmAECŽ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ązeéSžĽ:Š8Ń.”ŕ(Ő TŔaĂŠâÍ}¤ŁptsÄw@vH$ľłřM¤˝äúą_Ai„˙ŘgQ˲Ś)DÜőű=Ÿ“~Ó違4őBVŇzˆLô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>ŒŽ'˝Ó2Lxƒ6|]Ŕ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�Pa4p�˘•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ׁ`1ˆk) ŽÚÁ&Łć•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ĽÎFubZH­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=ň㍟y˜1h;J|Sc˜Ix3Ř+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?{î<=ýÜ:vbƒNÝ¤ Ť=çŽ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/nƒTĂ(ˇĎÎIEѲ5pCÓ Ş˝m 6ÖКc;ĽŮ¨Ń÷ă ´ď"Í5ŔxSaŻŘ#˘œ˝@ë‘}—ö‚JžœöíG˜Snžš´”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Ź Ĺ‰:Ą˘Ôš€‚­)E‚DŁÁ…ŠO×YjđŃ÷¸uTᓥ1P—‘Ŕiz˙&ß"Š76Ö8uBŤ5ďŁă#N˝Áş9=,‰x ¨Ž<un `CŔ|M1{}e%AÍ9¨�Śłó3đmƒT`@€ œ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=ôČătauHau6:Îńčž_%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!ÚLƒJ`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Ź›V˜Uc,Ź^÷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’$Ɂű-ӟudstb˜Ok¤úˇKœş°Źœjbâőv×çDN7ŹĐŢĽ&˝z]{Ő"9°@Ë MN­Ńj€%â”=QEAĘ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şg3‘~†ˆŇ˙ë˙ú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:´ěœócƒdi1Z]ď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 ĘÓžÇm4-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šÉ°°F9ˆ5ʨ¨Ű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.h0ƒJŁ)�+Ϩ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ŸŘ@ŃnˆxgŠ–ľ° ů‰ÓĄ–ëÚľe|°ÖgÜŽď%űKťü:I§r'ďíÂXMü5�´VŤwŽA}`€�u=街ƒF¤źc,ŽóœŚq>a´€’ĹŠ=œ�(Ýî@ E ĚřVŠ_D°\Y`ŒP čÍPg[Áá˛yóf>Ň˜ěŘ rBwá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ărˆ2íŇHĘn„ö€—v _ťvK^sťcÚ~ľöît­;f“÷t*kťď$ ăĂ:ŢT´Œx^0Fěߡw]ž|‰Ç˘ ��nČ Ěs�Cl Ç‘€ ÇHKŮ`œAƒ1Z ?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ł'˛­ADžž]*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°ŇéęYƒK¸âš$BYk5Â+ŕâŇý)…ڤ!Š´˘ˇ`œ#=‘ç(¸Pwý¸N]ˇŹí”Ô_ĄęyY,t÷”?8N …bôBˆXĹ’¸˛ÚšN׻弓űŢK[śŢëÝćüÚň[ ÖYyŒiŽm;f"0‘żâ%ěöm5ŽAd7XkĚůĐE(tăU†-Ćşv@ ÷ţäąäšvŻ&Éë:ýÝ.˙N÷$Ż_Ëšľ–÷)PÔ{ěQúüç?Ëó'`ü‚QĺÇ1°Iˆ1;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łŚÉč|yf)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–aEŹC'ëę:ÉUZ.2փŚ0îđŽw_6ĘXěWbą ž€Ăŕś­”ó4ŘWf�Ĺ@_Ĺ|JÔ×S˘áŠŃ9ş¨ťR ݜă€ě4´'—›„Ő‡ç[ÎĹĽ*MO͚5IŁ„]+Ëă™ËbŽ;y⌄Ř8u†zh/Mޟŕ5˜oűëüü˘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Ą űшž‰Ó´Í؂÷Ęí풾gSaű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�Ç4ˆ2Xข[О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�v7x-ß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Ţ<§ó žńHPĘL!NiYd„Çô­Y'É2hŠ~Ţ ‡Ž�¸{™žóݟŇožÍşŽŢoŢźAŰśn6mł!KˆC_  ;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)ʉšNj÷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ş˜Šů+xƒuyóLęľjK($< |đaV§LÂTAqXŸ„ÝšÓˇ_ÜšŚcˆ2礒ŠŒLdƒwYˇ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ŮRƒC.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ŢeVO|â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îɚ{Ă ;ßülAam&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ůDvƒ0Œ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ŒpLj>#×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´›öMú¨ťˇ‹Á*Ă:)-ă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”1ƒqőÁâ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ţ đ"Ă˝DH`ŠžŢ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ă}ˇť×ťĎ.÷mˆNNü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§¨°ăW˜b† 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Óćő ˜°_,0ƒM ěćžËŚ—.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 Žń-řNjw„ş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˘á:ČRˆv=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ßă20ť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'Eƒ7üć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€ĆDŽ…Á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ˇ{ŸÎOfSŢ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ÔäĽxƒr™˘ů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 QBÖ˛¸†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ŕ‡qGi.€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ß´ó™šçbAĐÖŻľÚýŞŸ¸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ÇS˜a‡ąîÄ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Ĺŕ!OuV¸œ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”ĎĎA8Ś�üŽ â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ěٲuƒF^;ôş)Ťčd[ślá>çęÜÜ-:súœŃéŽr™''×юŰiĐ<2}×Ϙž›ËRĄ°—ő98]řƒŸđ}5Ś˜Ĺ˘\žÉŔ´éé)ÓЎݛ>˙ĹOrȏM›6ýŹKúnˆP4Ë 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ŞČřôÔŐ]¤ĎáÓ8ƒ9: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Źs˜M ,™~=ľ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ÝCÇą%>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úÉXMˆgA!žíÓ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¨¸“|ŢoE*Ť;ÜߋÜpÓéŘížá‚,’r/ű‡"ţ“ů% îjXX5Ý0ěp?­éž÷ëü^›Ö$ďqŰá^ôAUńRüú׿Î4ąŘƒjü†ń €źŔËlTˆĂbŕ7B€ŕņcxYă~źôŐЃë&''™­BA� ŕƒ°"�ZŔHP ¤ C"ň �áFNœ8A;věŕ HGŮÔŔta Á=ccbˆSf ‹Ĺę‚ë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ůLBŻD˛ďY�žîd†ł„ă™"]‰˙ 0`Ge=uÔ;ç\˜ňVÁb2Ľ=9sÎ|ňƉ˜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¨Ix˜3zĐŇü-/-[ç}Í­m8 'Ź úÄsĎżF˙ĺżüoćxuŤ‹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|qiw¤Ă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ýŔLyĚ›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€Íhˆ0ˆ?$‡ż;BHřw~OÖ' ŹÓś‘pž1p%ičwîü!$\Éň’0] ‹d†uěJĽ+J7Iu:ĺqY4ôýĄ}!~Vž]Äď`-ŁëPĐyVoîőrM1霭yęűjÁzK2ď34À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Ŕ5jV@~č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]Ó Ĺęƒ6˜YĂîŠ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[ŠË¤ďŁ$al„é͋Â﹀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—€šcSƒ&ĆĆé_üó˙3yű8}ď;?§+7/˜šąnî+ĐđČ8-.˜şźźČ žîÚłw=öčŢHwŠ ĂY’Đ šđŁž’0´ö‹€AfÖĺwž{0ś$MŸőńš™cŤK՘™ÂyoůĄäÁĄ…L†QJQ<t`d(“Ó-Yƒs(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‹˘(1ˆ9 ‰œč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˝ő6g˜qFžI0,S�BŔš ŽĹßŕ¨Ç"€€řŽ{Ŕ:Áôxî°�ŚŘŕ”‚ L Hż@đÚkŻ)ˆy‚Q°ZŕŢo~ó›z@0d .k׎Ő{ađâ;Çćĺ0-恟`„@]Q7ęv Ţ¨3 —Ř81UŘ!ČFkÔŘęŽ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€ ĹęŐŤuEŻžúŞźţúë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ĚŃ˙HƒBđ >(ƒĎÂż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ÜDq‚,!¨ž…ňœ`ß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‘H˜V*´o)ƒE˛VÔ˙Ć^y0X&&Śő3:ćĆÄŕ˜>yVrżĂhoL ڋ řPŒš”ľĹ"=FA�đŐ*p‘să˛(m8k›T4}ŔfŻ9ýß뮙ďţśĘőő¤Ô˘)ä'Üź˜–j<­ëX›*b验}"gPÉamq}‡T ř.ŻéˆrĘƁú˘&TRA&Ë;’€đ”„ D˜KÔĽÔ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 J˜3§×Őˇ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ĐtˆJEbßň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“OA9ŕúš­ęÎ.§äř‰ă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‘` ňoQˆTkHCҐ†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ŔLaEŽ~¤¨ŕÎ;ď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ˆŚźXˆ7ŕԌ#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¸×ĂÁÖ ”‡ú€eƒ9zą¸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‘Š\^ŮIN,°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‰˜˛ś˘(unDY—çđÔ؟‚řŕ„ŚÎ‚ţŠô„ô>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–Š:žuƒNXFă„,}>żˇ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<˜Ýć#NjéhKoŤž)š äןąyJő@QŠŐ8ŃUŚoĹŔ3€9Ěéok SfäâÔ°].;=ŐĘC9rtHž}ń˜źş˙¤”ŚË2ĺúé?Jܗ‚ž"íťÄŔíó|Óčˆą=>,ú”GIú‹ZČxeŸpmIőU5ŮkhĎŇHΙŻëĽÓżąÓŻyWż¸"1+’őÍő-Ŕj`Čđŕ‘ô4ˆ4"�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ÉËącDŽŠ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œ‹9Rƒ1FĂôôöË! „ŹřŔ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Ÿ}V7Ţxcҟ¨; txú>!Ŕ‚ĎmHCҐ†ź}şąN×ÓH§ű‹ĄďC§/k!Ę3Gď峥źI8.Ő9˜BçŃůĘ$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:Bƒv6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˜‹!ßÁš‡#@pˆw‡.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’ź#×" áđ5J=ó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䊞ý‚ţܸqƒyĽ†čË€Ŕ űŔć:ÔŻEî@ ď�} śŚĺËW¤Î§Ř(ęÁţÔ}}+“´W“ě^ŒQŰ8ˆfY„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"ň› ”tnˆoGEű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§Ŕ1ƒt 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}R0v´ńČ#ęœýČ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[JˆzcYëŒ�pz‡9@˝ąŁfÔôd˛đbýCƒL”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ŕc˜RBť Ë 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Ď­*÷Rhzœ˝Ë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ÚhSˆ0MęÂ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âüŠÖ4ˆg@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Ł….˛wpCƒ6Óč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 ć3˜8Pg0O@÷`]ůßř *üÔ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Ľ=7ƒNÉé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őÂ} GcdÓ ¨�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ĄŽ˘žŹeWƒ6ٟŃ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 SˆpL‡Ź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 ÂYˆHDş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ę ú‚w3í űóŘţë[×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€lKsˆr‘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í—/*‘íLj[î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Č`JPXV ž(&}Ď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,˜Ű+-ި°YM ¸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áDƒs@ĂçžĂ��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‡÷Žş ‚żăyhx&Ę~ꊧÔ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řł_ź_ţűŸ~Ux.ö$ç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.+Ë pHi‚Âě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„Ń%šbƒN3ńNƒČ;qb ˙‰Ž_ĆQ[Łs#pЍąQąĺiď IéýŐ(ŕôłžJLŁëŸSR„ôâa„ŤőŻEúj=˄Aję Äž }495)Ľ¨äö°-šJNŢXÓ8#”sÂćjžâĽfTďiŰë@Ął Ő4Çm­Î¨ąúJHž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ő$ꎲÉnk!Ô{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űÁ3˜JĂ�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˘N0ƒU$§Î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ň̘ŒŽ‹Ľňą7˜wsŽ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,Ӟ<p˜DšWß17DC Ŕ�żs=ć Î' őPÂA” ɃEjb!2W1żp<őxŕŹN<ăĚIÇńĚ_\ƒđ bRşĹhCŢ\żő0ăožă|ŠSd4Sx’ćUÚGžź’Ľ˘ŽRűŃÂDőaŽňxáŢ™Si6e0âĘŔœH˝ĽBQňTaW˜W9–ż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ä˙[WFÇ˛Œ$•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Ď3˜u#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Ä@�đÇŔa3�^~ůeť 'ĺĆ뜎H˜ž‹€$ed%Žéă×ý×í<�ĂgžyÎBUv7[hžŚÓ‡yo?Žý†ţ‘ …Œ° —<Řب^ťśŐ3Ž•*c›ů‚ą¤9ƒsSŒ5$Mţ ČGęš[˜W0‘ócPD.~‹˛Ş$ćʧ!d)ň…4ń­o}ËĆ1c—˛âvÉH%ĂóÍ7žń űL8ź#ÂźÁůœw×]wĄ@á6¨Ż¤ĄúD‰2s=ĹőŠ’Vԋď);çGb˜<iĽtĄP+‘™)’‰Č-úŽš•¤Eˆdݘ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},„ę12W2ƒaś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Œäš‹—Ô…8VƒhÔ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ßHˆkD0~—âś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ŁŤ)o8˛ë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]9˜Z›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ËůQFˆj“=›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™Îœť’ŽmMíÝ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°@L1‚ 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˝ńöĹôΙÍtuu 'uX˙a„ë ŢÝŰé Š2TŞÎF/{íÉ4‡z؉ÉÔŘŘ˝œŽŰí<˝RĚ4Oů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$j˜réĺ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ŐGƒRnŽó<ł >=ąi0t%'NŒŘčęXE˝˘öůŚ4LGóî:°öH6'ŒĘ\čcŔvÜămžćižćižćéž´ţšŢ“:v1)ĎŃéőv$ŮňŽMŸ5‘0aą‘8 =[Ě'’ÜăşF”lűÂS´nӚGkˇ¸'˜%X8,Šó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~z2î„!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$=Öťyƒw!.Ú´Ž œă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ՏmS˜JSţŒęÔŹ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‘NI\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耼ű\ëˆqzĘČB›(Ś,eäëSoˆ RěŃÜŞy‘ď9žrsß1Ńn‘¨ĄrĘЧ¸cZ HáB Ď<óŒÝ‹Ż|ĺ+śXş…Œ{2˜s=ň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>ĽŽŹń"yaVAí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ʏ9ˆP0›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@baG,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ŠŤîRDžȥ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ŜĘs2¨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÷lTˆMОŠ~íś\ˇ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<ÝQYtBNJć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ُžcrJ˜UŠ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˝ęđŽ× |7˜yńšöőżů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]ŽEAe”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Β…S˜t䒸§ęÉŰÓUňĂG ¤MŽT!% O3 ĚJ­CaPâÚĽóŘNő”ę‚'^żşě˝QCíAžqĂmhýMŠąoýx•ˇ÷žĄlč[Źs![ÄĐrjSÝťÇ?Š2f)^g̃䲴Ü9Tx ŁQp'Ňw.ĺýSOć˜ő2ď÷řnŹĺ5äâ =v(Ývëńź;ž÷GŠšEšJ=ť{ŃÎüîüŽ\sZB$ĄşZ˜j[)ă^îŰłž[ĘË<Ü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@pNJ‰ÝŸ••<~†…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,™,>>éŁ2˜DC|üăúüË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ţž~[č@1Qxőöƒş¨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›Đ§éłœçĆ/sƒH ”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/IA}%'¤Mşk‹đ֏IĂŘěy¨KúËnŢ{áÝżź¸lˆq '…š 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,ĺůdppƒIŰ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"Œ­Ź¨uDXkú¨§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–Çą‰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"Ÿáč,\ŕ_�ů3ˆ6D^Î*ç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¸Ś€~ĘŔu5Gˆ4Ąç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څ7˜2ŐĄœX6“žÜzC@Ř k‘X×sŒ{‹;qđ źööw‹*j^]ŽÄs`]2˙˘"Č6î@4˙NžÎŽ1 ,ömÜ_Ǖ6œč"°ľęäăŔšîYäŒH@Ź:€–ű Ołd?FEž;—Dv3G×'Ť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§ š÷Ęô¤Ąchˆff.‹ýÎ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 ü9˜Y¤Ň“ƒĂ�Áîßt„Žá�~?ďS7XZ‹¤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:qxn=ś@đ˛ŹÝ‹Ü‘öą—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×,”ŇBˆoí '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ćYpH’Źź:łŔ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á$(“BPF~§ÝŠ/!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ĆźěŢoƒn.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Š^'ŰË.ůĹ "čŘHdˆ4óÚ¨/é{)(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?-žź+>,íäÓwƒrE[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\§ŰŽâŘPˆ8ů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#‘AeˆcąíÂ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ŮąĐ'r2œ: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÷óţűďˇ6ˆmF9˙œ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–$ĄňĚîqIqLDZ™#ŞĚ̒*¤¨Š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ŠHl_˙ˆ|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ťŠ|&Bˆ8ä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ľż@örƒA:1ç'­(›ú7÷P.žé?ôg&¨kžĽ¨SšoĄžŠ_o˘" řي‰úŠTC$ŁĽúŒä÷)îůĄżče)ré’'ůĺšB҉“:�äW*´Łˆ3ä4i'ňË<ÇďÄ%Ľ ú˝ž•;%šÄa‘ŔŘ _¨Vŕ˘EŠ)’•ĽŒr["Rƒd…ÉŤÜyđ!^ĘÂorƒC˘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Ć|CˆZ[Ü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ń•&ů1ƒkS"@БÉ�@”xľŠ%M哎Ƚ¤0čŚ ĽÜp €.…Ś3ŻŹîN2qç7ăB“.žJOoœ˛—Nź`l~ՎOŮŢĽ=vĎâ=öŽ+Żł@ßÍŠ˝pÚOq“w”ü[Ş’,ĽŹä ´)ŻŘěňË#iSňOyŁ›š˝ŕoˇrËÁo�œ”“ňę;y0 čĘ@üň—żœâ'ŇĽţ  P/RiRĎüÍ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ˇőŽ@"÷„>+ŐŮ*QC6ă­l7XqŐkŐF4ˆ$C?]]ÝÝ!=H=!¤l ŹŽašÝ†yœŚ>3qŜi&šUƒV9˘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Ź˜§Ž Rxú駓ő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˘U7b„Ÿţ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˘ˆRKQ2Č-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Ţ|ÜŐő Whăó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š:N1@›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ŒHEkŒý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Ŕ`d˜d5 {ž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.2z<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^ŇŚŒ”zj÷ 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ꋸš.˛†8cRƒSOäúí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˙LˆD šÉ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.’bJLŹ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”kOjĐl$!Nu2„ň2‘ ('^î×isŽK PŔ­TäJ .öFŠëhźqtŠ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źŐ9˜N}Ő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šăÁ⏞`˙.,"XGÖ?’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ÁÓ'8Yz˜Oŕ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÷fR˜˜uÉ;U)^™Ďâ<ÖÚąűri+ňŸÇ€?;*{QőCŐm|wÇ:×űkŠ÷čwĚy}bfŸLŸ×ܨrEIŸ¤ˇ˜ eĺ`‘ SwHuƒlŢ)Ď*'‡Í\–ƒÚ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Ó.W˜N­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¤)5Hiƒ4śŁ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ŕ¤‚AGŸ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}úkƒg? Šé!Ťě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­ ”çřśĽmHWƒYîJ(3m˘Nz´­ÚKD�p)Âőn¸!ĺ™8)ĺűä'?iˇŢzk91/¸ŽrĂ'aŠ~č´őĆO0ˆuF}@ ˆnD Ň׆žg%ŮU&´)Ľn•÷Hmƒ<ó!o¤Kœ”™ą'Ő 4FřÖé~úŽ^v’˛$=&]Ő1qëőM’Í䚔Q¸\D))}Hy6~řá‡Óďţđ‡“: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ţ"3ˆd ĂҒťŘ@~”Ö+‹đ—"„Ü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úyˆA돸ž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ąc0ˆJł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ьăľ+˜]sƒm}蓶üň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!×CƒzXÜ ¤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ވdHŽ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ŽhOˆQŒé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żľ˝ęs˜NA//­¤žâż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_@ű‰ŞjDž—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ƒÁ –Žˆrj6,Ěý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Ţgkdîý¸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á]ŸČLX'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ţIƒtĺÚ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"“ĐN0Ô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.AˆS*%¤Ťš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ÝAˆ6ÖŽ`Ÿţô§“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ˆ÷}2fhńš?qźŮÓĘŔ‘řăÉlŘçĘ @'— d:ľNčÔ6ƒS§š�.‰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îßJ5šůЁž*ÂŮ÷: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¨wDŠĄ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>•ŚÇ?JˆI&´ůä÷ŚťpéˆƓŇŢÖNząL4�ŐiywC Šz€đúćĐ'H脼ňĄßăig“¸Ő7u‚GiD2rÜŰ d,}9ÔUKš% PmnYb~2ÍęÖUkˆeHľé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 ŒľDh€@'+Úď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ż`żŠgqƒ2éͅšwűÄ AčCRE•fss+Ňéě}Œy˜›SMgežK$›4-v×ËĘ_ÇăI6OĘ|Ĺý¸vY˜7T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Šł Îâ‚`=ďqFmA"Ճew1ţÜśů…rX)Ż×Ď ×•�˛ŞźüţöőDt‰'´6öÁ[Î^ç2�Ŕó1˙^" Č LUŔs‘`¨•ňŞu:Ůë@ńB3ďC˘öľ¨ƒĂÔńÂ%Ƣ>0] H3žljI$ÝS9ńtrŒ;~§2poX[e*7HÍj)8Ěütq5(͜[(CŐŞ@~Ŕ[Šłdr !jƒKIƒ)"’&ˆCű[ЍůIďĺDœVőÝ"ȸ&¤Ć­ˇó°�ÔNöŠ2HîD‹ÁŔŻ3Tži%ýz —:‡âS¨Œš?˘b…ÚM�ŽHRĹ)$śŤl ńäZ! "GÇš_x}ů>@d 訿äŞÁŞKúLÉ×$+ŔَBĎ-:}ŢÎ%nŽ2ILýtU/Źŕ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Ťé+�č¸zI†‹uޤ<Q÷.3ťXNÁĺ,Ľ,¤ŠrÓ)÷ó7`Šž&ő5ŕ'y– ł6żr! ň “ĎÝwߝęQ.H“źĺ$ď"E• ~ăßň a6О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­úiÇą!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ôŃNJ1–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'jDƒm„Ú†’ŁB˜Ů˝"˙FYˇO<­6qGý]äý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ŐR2† /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ĘBGRHÚô?uÝhČ˝‹Nž¨rޘíń"Iß°+őę‡4 ˆx¤ś–Rň/Bú™ÜM¨\R{ ŸĹÓd‡ Ú@ó›üYŃ×"/iŁ-Ĺ8çôĺź9w˙Żăâ˛EiS"ä(Ÿ2ŃśrGBš( 8˜D\ńŠ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^űýTdTgęĎĂĹś 2áâŇpP7).ĆZíu9ŢvĂě (Ö¨ÁÚ6ˆdžĄŤ¨ÔV!2îFăśĆV;ˇ_jě-$,f‰@BMWVNfżĆľęÄŻ/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Ö3ˆX$K˘]ĎH)Ŕý’ďMqîZn6'‘óüú9;s⤝~í¤=3Ü´—6_śW_´Sƒsöžú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éŃŚ´ĺ‚ Ł9ˆ2s?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đŠmHWäÁ�WzšępÖvZyzŻ[mŞŁY&"ÄSťN¤p xNçOsýNKyĽ€!ň…×ď4Ť_4@ŘvKˆiËéőŽ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"bjyyúüö>ż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ŘéoPŢ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Öü˛ßď{20Ô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Ć+ýČ8˜5Ź˝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;ňÇۂdYc&ń™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‰p1~ëˇ~ł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=ĐÖÖk5ƒRqomrä}Ć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ďđ‹mˆ2ę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ĽŞGˆsźĺşÔkóźYăşc⻕Ľ˘wÖ!öĄyfّgł–iŸ‰Ä’HŔR&|žmpőÜ|ž^c6كÔkĺúĆz&QeŇK}ŚŞŚ†'+ޘ(k)/úLz¨)cÁYă #Bůxjź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ćç‘� DxP”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`b9ÎŚÔ°Ď.ţ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îëü 9ayá×|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ĘDŽňÜú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@@ƤmpŔ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ę@=ȍ[™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Ű_ mw4F7y0Ű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ŹOƒOĘě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�Ri’ž-ŒÉ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ÄŘ*ŢÂ9zhDY˜lĎĐ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�Gˆt`•†oDVşˇ‡Ůŕ2đčdłO<u¤ŢŚ?•vmʧ‡Ď=–OŚ/Íż’Ž\ž2˝nď¤ŰwߚŽÝ_~ăĺ|›ˇ�Šßřú7ŇŠú}žˇîsœČP6ePś,$Ęf2mĹű´ú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â�rTÂ<@ň-ä ú™;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řFSď@XSö§KňŒĎ[҂{8>+ůz7ćőPę–€­ŒâąRbD);ľ@źe”żŤPç6w�Ę8ył^Ó|Ęß[ůyĎcÜţ=wŽ„qԖlŇýôC$H6™LJxN–Ç‹Ž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ŽE˜V,�•ńŠŔ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Œ$†čEƒvH’Ń[ÉÇ?ţńüÝ÷}ß÷Ľ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 ‰Ąe5Ÿ!+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÷˘w˜oGm>­§‘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Ź%14dˆLœŠ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Ö@óĄŤĽĺĽÎ˃.ű#€†âę–^÷đzru…’óƒĺÓŁ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î’ŕ7kˆlÔ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{ čŻĂ‡çś{[ĹĐ-‚˛xƒ0l ő%ßÔŞ`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=iƒ7ž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ƒívD?‘+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 Ŕ°ž˘kJ˜V 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ĺŢ{ďÍŽŒđVqœú ĚŰ_zý@ďxî­o}kŽD@š?ýÓ?ÍŔ :í’�Ŕż%WŘç<Cý 7Áĺ _<{P_ä2Ôː$ԍq„žŃvç >ĐGŚ”ËXŠaI‡žPĐĘCȋąC;Ő7ë Y€ďuô` §ÚaH~3îŠ3sƒd>ˇ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[čGˆx čŔ×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ÔĽQUäšĎ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űďÎ�ˇŮ#%”üʍϮŒâ Ł3˜x3˝„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Ůnˆ4yŢŠűe4ő@ĺDWďŒÄč>—ĎCů[ wę•$ĽňY9{ň[işż'úĚď]+ôŇčYĚ>éBőtdŒňŢrk -ÄŁięÂtşłźźšINŒ;úŞÎŁĘD˜ˆGBŃĐř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Š18c˜9zä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–uUˆVŁ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Ň�mdBůŐhŻä”ΰ9jÉԋç� ˜Ôçő”Ŕg´˝Ľ_h „ ĂH 3ČRźaƒüՉĄĄ‹Tn:nśşĽAr,Ůń˙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&ă¤Ç‚ŽLas�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+˛ď“l1ľ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ž€/‡žě]Ł! xsBĐÝĺź#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ÉżšVmxn%É<ö{”Šý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ŔÔyˆgŠ'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ĎAy˜k 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Ă/Ďˀ��|ŕYwc´ ňœˇ­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�"˛ş¨`˙0XCâßÔÇ[ˇĆ•ˇĎ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Ł‡ĺXˆUťuź—>œdÝ$”aô)yˆ÷$6'zî+eĚÚýżuގÖËgŁ<–Ў›ŃŽŔąňЎĚ#pÁmËö™!‘ˆä>o Ţh[mBBDýç<÷ţů‡§>酼sĄwƒzé!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Óó‘´O3ŕ ;"ř 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׿ ÁÎxesxވ{Ď"Ď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\ _2Iˆ7ü;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\0f‚÷ 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ü‘čÁelC¸=ŮŮ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 ž§ Çą¨Ťá{č ]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řásuç.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ގşPY!Ň(Iˆ2‰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~CFˆI†…ü 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]퍯H˜hNţŽ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‡^$ů%zƒgŠ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$ŹVpŹ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ąž{Ljޏá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čÚKRa$}ôŁÍ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žŒÝ‘dL’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Óö‹vgÇÎřLśýiƒx]€}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 ˜6ˆqRՁ'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őzfëˆ]şô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ŕ FUˆaO.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ŢI˜0,‹^m˘Wô@šä‹ĚÔßö¤ţ†ňŕžĺ>Çí-ž€˛ţ†`A¸Wű×{†ă':aŒ@Vô7lÜpŃËÉŰßţöl ô/ Iń‘ĺK2<P$TIĄ|ڐąK›ŮĽë3Ń´"Ń´›ďnĐş ť Œ4í&˝ťtyRwŃńçŢÇŚcěşoś7Ĺc˙ٍż—–"FrC„÷´՟ϚŒ¤á6CrÄ (Jsë‰P`r.pՂsÎn#ą÷m'•$ ę¸[Ć\d[&=f8.—yVîKˆB*ĐÝ}$Äş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ë֎ńúęŕpfoqÇą…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.ŁŰÔđ”í•n˜Në˝×óëUżĂźłďf¤măelŸHQżÚ°×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ýŠęę‰ţFzdţšŻůš‰Ł "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ˇ`˛/YzóźŔ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ňł ÔíĽ +H˜P—ö! ?(Ÿ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Ój˜H>( ç:œÖ^'§$–#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Ä]ÉKˆ0ÔŔ*€+��ŠÝœ éÝăç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Š-Dž-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;EˆvĆ}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`âŁ�ÄIˆlt7˜l{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”mˆU.ş¸—śŕĽ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“8ˆ2zŮ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ŁzƒhÁ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ôLQw=Ł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ó#qˆcÜ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ć87˜gsÇ+4üđŽ`œc>ĹűăBÉĐ~ j8šËŸÔA äV0/=ŕ‰ţf˜BtĹ{„…ě_ýŤ5˙ĎôG˝iůŽlÉŠWs@vŽßŽ)iO’&`¸ëfd‚ŔĆš–ÚöîŠÓaHS;ă5�ąY�ŠĎlŔęžpžá¨í”5Ć"lNpž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Ń‘Ž@4znŔ>‰ <Ă=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/†ĺ `úb9l%˛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Đő‡ř‡ó^%‰1XO~ň“Ó˙ř˙#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˘g˜E–)‡˘č Ń$×­Ż}đpuOĽ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)kjtĆ>ŹÝ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ĺů-6c8wşÖÓ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ďsƒ1ś“äŰ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@hl‰ †JĐĹŤ.˙х PAKžĺEaCűnZ CË$ăwĘř$od˜lSdp½ÔЛě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ŃÍĆôĆdEpˆvÖŁ$uĄ GÚí3†@g†Őˆzh7ŕS ™Cşj"t!éH˘gBD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Đˀa3Q’€^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†ăą‚yƒaí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ރƒĂʟ“Č×>ľ^ŹuJˆˆa$˙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ăĽ)ĐOˆ4Źő„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ŽRƒ2>đdţя~tL#ŕožČĄ‹~Iv] ˇ‹?[&óČ@™Č€.˜ěó 2   |�zˆhî“,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^+z8ˏúÜ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ĺˆ`\Kfˆy 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‚>śíă_ÉD˜2ڃĽ<Ї…ô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ʏ˘‡O˜Dŕ°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 ׏sSĚŚĘ#Ń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Ŕ;ÜÄš"mdC´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çş}=Ůœ†FƒsŃ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€A0˙Č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=/ת+Ÿci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ćďź°ý<ĺ)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.<ŮvƒWœ|Č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Ť˜lA_—ţďř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§ęľŇŽZƒA[ŻŚ Ľľ<Óf§ ›čWŽL[ť”Ŕl]SŰČę^‘Űęů™ßâ7GÇsňę8Őć}J6ŐAŹŚżśA äóí푺^ťw$˜ ĎÔíEˆnœ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+DžŠţ§}Ö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Čňĺî™ŐîéHG&_|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´ŕš§)î™( SƒdîÍ}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œarƒA ůó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_€.§ ˘ĽFƒNĺ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@FC:¸?Ż넗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"KvΏ ˜´Ë”GÂő(ƒ„Ää:ČŁśŔý¨ŸäzË`0Ž ‰TB˛-ňçZ܇tÔhČŁ:ŕP–٢‡t'ŽSË1}Mś2ŠŃyit¤ß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äˆ ĺNjvę 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Š:÷ŹJF9njş˛ŸtäţYb=1B ÝB…¤3äá@GIcIŠ“E&Ü:cČ'ÝéXpň ŁäÍ`'ŤűbDĺÁ”m’ŕ~ UŸ­;â Ćľ#‹ŞÔCć\Č_œGřžĆÍy‘çR6Ȏ4TGޟ¤ƒNy$l?ç0XCÎt˜U†|Çą”Y Rţ\'É?÷bCZłŇ?×ăę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Ń…PVuWŇGŁçłĺL A¤ƒrLdŕ8Ž‘­NxQ?Ł|Ŕ`ByGŮQdő!K2Eţ Gů#÷8kÔh9ƒW8é!Ü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ˇXˆA!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@T˜l&%ݰ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őťÚäœĂń<¨Ěu5ý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Śń$ ^BceuvV˜gĹ"†y~űüĎ˙üĺÖľRçaÇyń8Ë1ńŞ'Q^đ;÷ĎŞv”Ú1ÜqRxš˘ŒÍ sdPˆ(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™„ Ëv˜t$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ƒßČéŕúŽ XKú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ÎęPˆq!}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âÄɅ‘u˜3_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ÇO˜r¤˜ĎO#Ôß|"”>~y¨×ýť&¸˝Ńośş~5ę…ý‚q[Złú.ůˆŁc?iŸÍť3Q,Éé‘?ű‹Ď߼@ŠĎ­ôĽSu*†‘ÖŁEŒ–Ő¸ÇŇzlë`ąJG˙˙hőëpÜđ[Ť(ŹŤs:nˆ2˘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Áőę œDnˆUśý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ţ­˘šU˜FŽ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œoE Ń ÝČů|Ÿ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Ž ŠqPˆcUʝ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”‡“AM=z”ńČ%˝ŠěŘĎ-+%ßŢNA­1"ÌŁâěšçě”cÂř^cƒF‰ÁşąËˆ˛ŞďÝŇ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•Ž燿úŤżęË#œDeƒ2Íýń€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+ŇFH:¨”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|P˜Rć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çćóńł´­_Ł~{c1‘+î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)Ü*iZƒN5Ž\ĘéŢ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>çCDj[ůŒÇ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‘oƒDŻ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'”-D9çĆčšŐ Č!Ń>â�Â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Ň*Ąó@¤ŢÇą'‘ ¸'/ä|Ćéˆ|҉ďÓĆ"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Ž,úťÍÁŔ˝šXqN˜uúí>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ßzn˜7Ęž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žüoƒ7Ę~â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Ž) Ž#KNJ(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ŕÎFa7Šd˜Xw“Š)“Ą łď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žŮÂö}dq’k׎ŞĂ 2ŽX9™,\ř‘ŹXąJ÷aŒoÓŚ},ç OÉ¤M›>ű×ňĺ+ĽAƒFśÎ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ŢźÖeiř=ůö[{Ł%œŹŽĎë 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›Xq;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%’@ć8Yl6l´ý. Ň+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–oˆl÷̎€ś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źţzƒXŮĐĆč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âŽČ´ĘBˆCŔ Xž|9ůüó-˛mŰ9xđ9sćgš~ý7š÷Ţ{%EŠňŕƒéĺšçžUƒ< čç‰iÓfŘžxéŇÁe˜„p_+Jněßżßň=”ůŔoX2!ë×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”HˆH˙ţ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- ™[éZˆwÜďőÄ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Ës˜7ožńţ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+Ëď;Ń˝áÔ8˜yR¤î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Šg˜gŸĽß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:w3.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•*Jƒo¨˘‹óúőëŮ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Äř2rۉ’ž 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´¤ŒQˆj†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\�DŽ#Fę> PĹ]gÖxmŰvt–„B°k8€gŤé\űqćž- ú˜+Vi›šŽ^ÁΚ!„„AüäJ'„$xŕ5ú˜î[ŠRĺŒĹě›ę\EáŒScML°đ™={Ś 6ŘśV9&¨cçĎfšCԚśŠJ2|ʔ‰˛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Ý,A4Ȟ„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 i˜Qţ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Ŕo˜k_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¨sˆB,ś<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`¸+ňœXG2Á^ßÄ_‰ _ 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ź2d˜qQ+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@´7vŢ™�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´AƒFŽ{€ţę^~$Ě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ă˝UYƒhę%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’„‚mƒRŢŽŮt°€óI ŠÖS¤HáH{fÉĽeŹ€7˙¸qeöěľ$ň#ÖÎ×cwˆ,@ůž={Ťówɒ%ŸÄ2„ ”P;w4 Ő0üÎ;ƒećĚŠśŃń‹/Q#:(Vʈ<˙| 00˜Î0ŔwęÔQJ•*ëźŕ3jÔhîÇ}Bƒ3Ś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Ăß6c ˙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|íÚľ\NgV˜mÚ¸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ýú Đc˜Qax&#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 L˜0ٕŠß¸Œş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†Ąă5B!Œ´ĺî 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•}Îéńé Ö<Řđ\0SŻ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Łłí˘0ƒFó<Ş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ÁÜ4PCƒr›?\žüŤÄ-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Ć=CS)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ß}wˆKˇů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š‘#îď—/łÄ2˜x3:ş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°vcÖkď3gΊń>˛Ě Đ/ŢK ů‹÷ŃŠţçÄ<V¸8d S ˜;wśŽ qö3ÎłŤŽľěŽÇąÖ­[Ş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ö€PBĆ(†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~Îd˜Sáˇđ<´{ě1-ĎôŐW_k–ôDĎVŤVEłŒĄ"D,O˜0V "(÷„ˆ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đƒŽô/č3mÇ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ˆ ˘ŮąäÍű,+!Aƒht_>üŁ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çË'Ÿ|¤ňƒÄ/NĚąř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žĄXƒRr„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ÄL˜0Qü€Ě}ű&uľjŐBG(aYçÍ{GÁąc_0ĘűŹ\éwęÖ­ŁŁ~Đšpáb]^4 8D;\ƒáŘÄ>Žß @š†Î-Œ*Z˝úŁŕS ţjÓŚqŽAhőüóŁçZ”‡Ř§P`ůąŢŃ8‚FsŒörƒsů‹/&­ť\š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śBm`×řŠ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ŽŚő^ż~ƒ|ţůliC0Ľ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ŤôîÝ'dLjYOwN}ßë÷ÄłƒĎúŁ9Çú%QÎm^ESw‰ö{í$ňůËď2/Úă$­ äAV]LE´lŮ íXßž}‡^˙ ƒ2ˆá†éÚú÷ÎsŔHZnk´s>ľ?Śfé×ů5ű´üŞs%"X‘'HƒmzýőŠ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œmI"í‰R×KKçK/ž{n€vţ`ßmŐŞ…ÔŤWG.ż<tf;żýö[Čú•uű™űW0ë¨{'?ýtö{ŹŮ,b-řŠ—r#R‰vnóYƒBí#¸ž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Ô~…9ˆQĆډ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ÓohˆhĐ ž>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ŕ€sDޤßÇ\´€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îüJƒ31ľ$˛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Á‚ŒFƒSÚů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ÚiƒsSŰś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Ĺźr˜gş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ˇí`zI“’ć™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ß{ofP€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ĄóÇącÇ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>účŁ5k˙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°€L˜0^*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íÚľGV˜víÚ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ŹýńÇ:"čý÷Wk9ˆ4ă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ŸĄŽ ć‘*]ş”ŃiSžŃ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™ŻĽXN4aD\°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œ:đyˆa7jTßءŽÓl4ˆyĺçţ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űiƒuő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… Hjˆe;‰Ç<ö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˙рƒFu4ˆa~Ď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úNjyäĺ\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üŕe˜sîş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ç´e˜A0 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ÇŸ}öޟEƒdŹÖŐľ×&íűć17vŁyý,›üZÎO>ůÄňw×J,$Ęţ…őoŽôÂ4WnĐiiy‹íŒ9Ľą=Ý`=› ȟěőh×˙u×%ƒ8ž-ȍ—‘ě~03 [ŚAçĺΝ;őľ:ub›˝"œő9žˆčŕ÷ M{÷îŐÇ 6GmçŘ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 ČtƒrÄ öł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ńÇą­Đ¤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;L˜0IŻšš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:hWjńë:äÎ;ďĐ{\×Ú]'ŕ÷Ý´+Ń^_ű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˖kCBqƒkŽš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+ý>kƒU˘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° ”/_VˆˆˆˆˆˆB9tč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œřwƒQBɔ)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ÓÇ ƒ€:ÇąŹ€Š+ÝÁ‚ďťöڂĆţ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`˙^°ŕÝGƒLČ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ó˜@V˜PSá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Œď{GƒZöěŮ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¸Âů­ř˙÷˙ÓDž ’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‰YˆU€…‰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Ózxu‰ď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ßžĎĆ,{``_ěÔŠ‹NƒwÜŹĺbŔ€ç¤E‹Öśß‘+W.cjtÜ÷Ô tŰu`#¨�ű[Ţź—K8şu{Böí;`těďĐŠ‚§@‡3öOLŠăG€ŽŠ˝{ż‘Í›?‘1cv§x˙ňËóŻŇÎ˙X-k´ez >ŘŘÖ /ž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;Eˆuz§›¸<ąŸ*Äîy¨×mů™ÁÂë…J÷NJëç˙Ĺýúőëć Ľš Öż'–ž|ąpŠ °űźHxӋ„z=l‘d°pűťt!ŰÝ;e˛H/ÎY,ŹŮ,Ěű $)‹E†ăÇ˙y!C†ô%„ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆâęäÉS›3gž°“$e§@öŠ˙älŚ óŢz Î^œÉBžŰÝť=Ż;ň3ƒE°Ó_ł{=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œłWˆx ¨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š%"Ó~Ä#cƒ3ˆˆˆˆˆˆˆˆˆˆˆˆˆˆÎ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hƒXä|°€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-85ae777/screenshots/library.png���������������������������������������������������0000664�0000000�0000000�00000521216�15223463552�0022076�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ß˝���ĐlD˜1cFN�Ú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´ůöˇż“&L˜XkŢĐĄËŚmˇÝ6mšĺč4|ř°´Ě2 ˘ż˙ţűiܸńéJ÷Ţ{óö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:č ÓFm˜Z*Â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ÍAIiÚ´éi‰%ŚŐW_­ćŔŔöŮm˙ľŻ_úӟł_ Çś<xpÚtÓMjÇĂjöů��аřźŢČçß§}ö95Ÿsş×úŃâĂ?’~öłłŠB?ýű÷K-ˇ˝+ĽV|EŤ/�� Ó‰DžŐ~–]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”bˆ0ޚkŽ‘N;íä,ŔАsÎ97Ý~űľŚołÍÖéüó/(ş-ńÚ_Wđ§°5ăÂËo%ôÓM˜PüÜ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ƒěśDux\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¤Ö­˛^ýő˘çwˆ0p úÓ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ľ§Aƒe•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ţĺ/—ľgBŃŞĐ“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ŸűÜeƒOGůůŹ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ĈĺSsL˜01ýűß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‹çGˆyQe €ÎOđ��($ř��äľ÷A„¸ž/ůŘ´óÎ;ŚK.ůSnhH„K6ÚhƒtÔ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ÎJƒN+ʰ|Ú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Şěôş.ŰńôÓZTgĈéŕƒ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[AA3fÁŸććçF8w˛ýn Ş˙��€L#ř��z,V•ŕ°š~l˛uťłŠ¸¸Čä�������†# öäĺĺ9“‹566…oŠłq1›,ä+�Dř��ôÁ��śXw˛ 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ä‘Çşś˙Ě ˙üőŻčźóΉ˘rƒGŸřÄÇőń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���ÇĎ+•Jnj ęź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”-íúńć (SSkk›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űÚç4˜5żö+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ĈŇđ1VK7˜9qâÄđ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^xS•ĆÚż˝ůć"'ä:öŘc”››ŤLą×nŻşş:͘qœN9ĺäđ>ŤđăěűůřăOęŇK/qBivm/˝ôr×ăęĂÇ[ŰľtۜE˛ŠPsçÎs>NJŠ=á홪ö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™1˜6}������úŸ;Öfco‘cq���Éd �� 7ř …ÂëM~ż_íííĘÍÍ2+VčĆýúň9������Đ˙lŒÍĆÚ"C?‘c7ܤ��!* ��Š5А•ľˇÝWMM­Đ?˘Ťőv�����Ŕŕ`cl‘cn.Ćq��@*ţ��€ýÄPˆŹřcƒ6ďěě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ô=¤_úowç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ViďźłF›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}}÷P˜UŞ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?sƒA &<ň˜îťď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Ń$gyƒuÎ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ź ���ŔÎ&ž*˛N˜0ž]éĹ_üٸą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ĺ ńăDž|ş÷Ţř| ɜóîťď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@DŽ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Đ ##Cƒ7öLđDŽ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��� ą™/m˜6N ńń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@ôWCCƒZť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ü1ƒfŢŇҢúú툺"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ča˜u&´ľ5˜Sî§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ťs˜PŽ™ž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íÇ v˜1c†<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‹ĹĎÎúőë|ś™Đ٤IˆiŃ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ÖăAƒiß}ˇ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ŕ��ˆ™p3™°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ţď19ƒ0��„Ľ��ńţś‘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đ��„äv˜om ţ˜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`Ÿ+njú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­aG^™�!Ÿ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,CZků‹¨Ň…~‡|ş>ôŁČB?Á7 ýČK}ë[ŰP°kč$óYąŮbs.ok׎Ó̙Żë‹/ćjĺʕڲĽNiiŠ***ŇŃ~űíëšf(99ąMž9ó ÝpĂŹÇGq˜nşé÷ž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ĐDŽ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-*ţ��€ÄäňxW˜iî ú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~%€źź|M˜0ÉjÝŽŮg„ÉÖ1‘úą…ý¸°���������]‹V_�� ń8CUďń „ ý$X…šŒŒL?A••Ú´ŠLŐUUjjj´ś™vdyůůęÓťXůáĂAn ýŠţ��������€ŽGđ��$œđAž`­ŔBě›` ­)f" ýřd_���������t Z}�€ÄËĐj˘ ýŤţĂý�����ÝČďüřߋUđ“uÁƒ‹ÔÜęPg™s˜s™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řç´{X3™Ç„~��ŔŽ&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¸ĹĹĚ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łąń‰Wn˜mţę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Ř{ď=ăúëoˆYł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ďţH˜Fhýőî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&ÚcIÇą­Á@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ř'­§íÉđáĂŁĽĽ%[RcöěŮYcâÄ 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űî����CQ_���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íXRˆmü+^‘ýź 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őčŁcƒOŒ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ϙÓíCRˆa‹ď|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#łRJ]€ŇŸÂ`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ŠÎ“îčCˆQŁ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č����zjhmm­ą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° —.úy6gUkĺŇĽŮ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Ł|ýë˙$×_˙ƒŒónj-ó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Şi5Vˆqîšç>š˙ţ䥗^–ÖÖ֜÷ -Ăňéíg���������‹ŕ���{\pžźüň+rÓM7›pĚşuĎʢE'‡űďşëůöˇżVÁр̌GĘ´iSeęÔŠ2kÖL™2ĺůËżüë˘>oăĆ7ĺŸ˙ů_Ěň„ ăĺ›ßüǂĄ­ÎsÝuŸ ŤŠáÇÉÜšsĺˆ#&›ű8昣M˜HƒAšôö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_iˆyŇ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‘Œ?Î|DŽ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č�� 'ţ��€~ŐÓđ†=ĎVhI×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ăžĚ?q˜ińĺĆ=ż•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Ȇ o˜0ˆ†Šîžű^šęŞĘ@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çЏ륻‹ľ•Í’ŞÄł2˜mÝş- 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ÔřńůŰśM˜0AՊ›”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°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¸pL:Ő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ĽSfßžýá{Ń@•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Ϟ"Ó;żŻńăDžď+ßçöä]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 °žÔWƒ2‡Ół����� 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éx˜VÉś•˛ŁAŸî„~���ň!ř��rĘŽú“˝-WřÇśłËśtąôXżŸů^ł_÷ŐÖ֚*@ś§9������ těKÇşô—Ţ´şOSS“Sś­—Žwé˜÷˛ŰírwB?Œ›�€|ţ��€źŠ ˙Ře´ĐÁťn?ě †Žëo:é`ˆ.ëüŕÁƒŠI:}FôŃ9������Пlŕ&{ž˝_ŮPţ’[4ŕ ůDçöüč5ý��€î"ř�� ę*üxˆlő�˛ë:čĄ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+ţTTT˜RĹ�������şŚ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ş ˙��ůĐę ��ä”ŃuxP5552˜E+EƒM‡#Ţ�����@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:mwƒNpmq;…}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\ו{žK˜uÓęĘ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šŠWƒG–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*úxYGŇ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–MƒCG1ُ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/hƒe—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…bƒKţФ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çN˜0AćĎ?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† 5c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€IƒUUUŚ=Ň…'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ç¤6kƒU~:ˇ)Ď ˝ě–Ť˝Ÿ������ó'ř�,„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čđŇĹřń{ü˘;oˆx 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‚?�ŔB˜eř'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ĺNj“Ĺö_ĹÇ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ŹN˜Gŕ�Ř‚?�Ŕś¨ �Ő ô˜$���`‘”羊ó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�lƒbč'ßÎŤü¤É‹ú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Ƥ2ƒ2B9ßŇ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-85ae777/screenshots/search.png����������������������������������������������������0000664�0000000�0000000�00002505062�15223463552�0021702�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‘+ĚőÁ~řPeO\ëî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]ŞÁ ž—””C5‡Íć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­Œ0j]˜%ç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čřŐpDăÉ'“ú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éÚľ[ČýÚľ‹m˜1 %ÓĄţ~řá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ú3˜l>íÚľ3ş†Dňţ4(źĎAíţĽC -Xđ§ŹZľŇű¸+ĺçŸçZşv){čÁN__vvvĐ}>ř cCß{Xť égo˛I“ŹÝ~4t O¤Ś]vŮĹNĘgʔ)2fĚh‰Ĺ_Xmúď*t˜Jíś§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"hˆpäȑţ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:鄨Ç÷Ö˙ĎÆ őÓŚ_@hwˆcŽ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’UƒLą¸îşk䤓Nő˙?Ôç~úégÉ‰žÎŤŽşBY4ř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ůŃ`‹vi)^}ő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ťM˜p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żýö�����ŕLƒ5­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ĽuK’ĺĎ?Ę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"`}eƒ9Ë%ŇŤ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‰=D˜5k–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ގťńdIŚ]ěÌ-÷Ý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ÍúΘ"ĽĂ[L˜pq{˙ýGIs;ö`ůᇟdŢźßĺ­ˇť˙ôíŰ[śÝv›HĆ8Y×˝{W#č4eĘT9ě°štDúý÷?äšç^ ř<Iž}öăvŻ^=OŒMšôŠÔÔÔˇ{÷î-á>|O˙ëÓçŘvŰmeđ`k K‡!ťďž˙xO ­5ŚŃŁ÷��?˖­°,ľ_“}8`”<öؓ+­+N;íI%.—ËčYPot? ĺ믿•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­L˜pˇ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¤ŹÚ-ëŞÜ˛jcƒTÖ¸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?¸ő@Y˜uň­Ď–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]%ăóZ˜uŇĺ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ŽD2ě͚ ô}˜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đÍLj4Ž”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@a˜kżD՗ľ ��€ aŽýb­/D řƒ”ŕ;h֔¤qŰS+hYâř ÷ńó�@t˘ţŇßű>ňš" �q<Ղxk?ďáň–îqřűmŻ/kÜŃȑ`kDňçŁ~��‰K­ąšTĎřkú ᅀ �اfó0_‰Ź/Ýa6”��@úÓÚ/Ţő%Ob<ś9Z‚x…t<žčďkě#�€xhrínĂy…Š´Ő?៖$‘5 ď í@›c ýxÂzź€÷&L��Đl\ë—� Ç c(Ęályş֗��€Láq¸¤‚?�*œĐOđqÔŁ¸Äöœ�€ŚĚ_¸úľ|}č ˙vó6i"ÜŤ| ˙ &Q˝:đăx_ÇNjź ‰:��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ţ�HˆHC?ÖŽ=Ö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š@ 8m˜Fô)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|U˜KíÇ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ú™ŚJˆtN!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—(+ÂvM2i0äý—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´ńÇą–Xp¨Œ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Ĉ^xUR@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{đkƒk„ű�m ßŃĐޑÚ ęľH˘ŃůŒ_¤E™_yĺ.?îu\Ësç@VbşŰ‹řWęž˙.LB ŔџR…ăžď Őŕ ˜´QhŞÚOqŸ1é‡<BP˙ŧ§Ď8GŔsđCfú÷–?`çҔÓ|¸őn€ÎíëŒÜ:Fž}@ 8đŐvĘ6ƒO*ö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î€STŕÔůÄ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ěƒô8wfpžČĎí˜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ÇńĹvCŽ^>=Ě$űLńuť÷ÚTA 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Îí@ 8˜5ÉĘ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\|ßyƒTZωRPÚáπÉ?َ6 ]C–ŹăśşüUžn ˇN ĐYŘ/í%ÖĽ˝Ž#ńÇW÷Á ĄDÄçn3ę‚“€~żO§.¤T ÁýÇ,ĹźYjAUđCžúĄĂü…áŞsŐ•é%j"?Œjž^ÂZœ>čÝU~v%üĚđYVۖSˆF{°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ŸňÇąžüĺ/Ó_ţĺ_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( ÷ĹiUoÓ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^ÂĎ´íĺď~šŞrNƒLn‚Ł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ĄŽ#ńDžżA˝•É?ŕđqçÄ˝ş;AžáŅłrĎ(Ţ —S¸é$ .[öüŔ:~gëœZBqA™Çí‹OđĚĹ3djÜ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ŰĐ1Hƒc�“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‚\ĺ%ČB˜yĘ/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łŐ˘Ř엢c3˜c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Ý~BƒQBĂx@ŰĆfKˇťlŸ=ůşGéö­ýôý=ЇC 7{ôę ˇŠľC/ŢźCßť˝MWo­Ń wvh§×ˇŘÓăBÓ˝"řŕčĄlżćĘ=ZOŮF÷´G=…JöĐ  ;]lźB0ĽƒŔůđœ’IšŚ3Ó ޞovŃJ 8N6,(-"Ą:ő¨MT[ ¨P ŞŹTTśóý2Uţ7!Ý H 8â@ 8%ČRˆr5–<Ź’ÇÁ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Šgˆbză{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ŤżC3˜tĄ}Ž.ľ¨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":ł˛BgƒeŞ54Ő[ćÚ-lD¸Ő(ÉDŞĹeŽ‹2ƒFŠšç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‚¤ň<‚SYöăźŰ´.|ęéÇ*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‡jX1Ëť˘˝*;7:(üÊ?i˘¨ş`@ˆ´Ö"Vý!3( I™zŹŰÁž@Ýä)Ő*8L"vđÄڒĆú̀6ِ^ÜÚĄWĚ`LłÓŮsMşÔéňš ŁŤZŮk`ŠYuĄ^4 j˜zYUĽľ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ž 7ˆk*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ďčwdž—ÂÇ`ßâ™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 äňBY…žŔ*Šdj%.,ś…pŞ›ípö ÷É<yy=Ő Ÿ|<ł>}‚Ń,TÎä/Kßp}ΰ(E)őÍůœ2 ÚtźM­F“ÎŐΰ BlEľşŠÇ­M6Q[Kç)Şˇčr뒏Đ4ŒCÚęoÓÚŽŠˇÄŹäŰëÇ|ƒÚ+ËtŚ~ޤiccëečĽĂ­w6hcsƒT­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éŸýłĆ}$(§aƒƒAŸşÝ‡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 HˆcH 8ZpŠ1‡…úąĽK<H77ÖčJŤICc'†AČśVî$ŚâÄJŞFucƒőŒMŐKcý&ĄÖkMzóŰßCßřćÓtë۟§’Ěϸ!Ćą%Ť Űňx‹™a�usëÖ-ś×aCdóą}Œ>÷šĎŃ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™ľßÜáż ˛sDŽż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”)'TZš‰Ú‹š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…J5ƒ5ÔÄ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*fel&{@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§tˆOöĺ†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Ÿąa˜mÚľvcüލçeĄŐœńYފPQf "jšÓJ­K´ÍJ& ţÔkîš(ZX4Ě E+Ť+´°´BŞąLÝaLŻ^•†ÉÂ:Eőšéˆśhű΀ś:ë4%LˆI† $Ť@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ľ3ˆiÁ䚈'“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ç$臠OmXŽ˘ĘĎ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ÑŚ^DƒaŸ 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ę6j˜k‘ă;ž'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 nPtRb˘Ť]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!řě†2aDž.Ű/ܤ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ˇGƒaÂçÓ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> T˜j‘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ürMƒSÚĄéÚľ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|*ĚÉ:ZƒhšĹ^+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\ .ŻŹĐbkZś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Âsˆ7F}50G­™łˆh4@§m—´şźJI# $4ůJŇű?“Ŕ]5'Ľ™čľ—ÁZI™ëՌ¸Ź 8Ź›ú3Bk§nbœ ƒ­o€€Ň5őŰ'ľśFNAˆi¨÷ě˜ő§Ô*şš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⏫3wniGIŁ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čÚ3LLGŕ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ZusTDƒQśťD“OÍ´ŐZÍkq„ˇ:5jŚîG ;”Ć]Sw‰YˆI:;Ű=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÷gˆXM„ú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<8ˆEˆ M=őĚqă>-/Őéě™ÚÜjr;żuóśŮžCŁÁ6-\ZĽË—VLkZ\ĐbKłŃ#Whu‘h{yŘVtń\DgWˆzCE^Ŕם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Ítk2썂qe>ŇžŚŽęňśĹö…IDř‡Áş$N¨Ÿô(í§ź})Zćđ]nPŽoÎJľ:5ę ŢÖÎÎ]{ĺ--.Q˝YgeĹĹŜü`�ë0ř‡ň ě('uˆz[Ç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É,őzƒIQÍ\~Äó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š¸ł‚Cˆ9 î€ěƒç.ˆ;[[[ˆ– 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:´’$ś VJ¨nŽqťŐ0ů+ăxëłbĐ+Ż`°Ű†ăSU GíVcűŽiš˝żsőĚĺä÷<1Ń' ­dx 2ŇOÖĆơŃ$Íɟ W,•ŁЌ÷¤ňîšăśŤ1ľH Ü%Ŕ‘2|___çO`{{›y^xá~GAńë⥟ܳ*? ľ‚„gÂćć&§›6ƒW @ 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'ćç­í”[pˆeĄž"Ď,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âAY˜T…vąÄ…&HDćwĎ\§~H7×FTowéŃSZ\$v ą“q" †Cęő{Ćɖ˜k—Ro˜PkhoqŸÂ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=ąm˜D 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Đ^B˜6{é‰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ŠÓŕ}ÜDžśş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ŽJƒu˛ž„’šO‰ĆӈFÓZ 6˛ü}FÇŁœşÝMÚŘŕz:ĘĹ`STk.¨“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-` –ŠëáđşĂ)ß@ń硿ý­lƒMč<Ç;ĽˆĘ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.ű¨ ş€WˆwŤű]ăç˛çé*{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Łh0˜Iˆ°áˆ]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)ېLˆw Ď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 ›››<ĎWˆZ%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Uˆlą§˝Ří—ĂĽÄ^ś&܍+—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šĎ"šLMˆ2iŠíß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§_š^Ţ0fOMXnuž|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ĆeaŮ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#ţýż˙÷⠁ErMM¨ĺDˆ5 î`!˝ŰíŃÖ֖(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š@Ň!çă?–żŘç“KƒB…ýŢďýž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ÇDžÍ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\šôuR˛Ä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ÓáHˆJ%/öEUl”~*CŔŠřź(ŁAw`Ż% (�ŁKžţ26Y¨“2’cćʄşR^zőęęjÉwM ]DŽ—łŮ\äŽ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şîc˜lŠęú)×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 ÷ky^é§Ě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\ťýŘ pˆLÄ.çĎđŠ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Ž‹}ľ˝ĺbzŃ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>ÎCˆ2˙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œÍm˜f´ń?zđ& Ţ\Ô4qű]FšzyBťf˙Á§íŒjяş<Ë Qˇ&˛-˜yÖr/ľĆŮBľ7œ~؟şÔŞr.!ţ¸ŻŃyίϰˇ™ž‚lň2XĘ÷viÎPÚ˜?­Ziő:šŘ —fłËjĘŃTtRJU/|•Žěwnż‘ÉDDŽŚ×čĆľ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\ânjzŇ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üˆ˝!ü¨Äö.NJąÎŸś3sóK{ľÚśˇk"˘Dîˆ?ŽäSęfˆbű{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“TˆpŽ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%—C5%>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%ČGƒM¤ Ű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ßçH˜hşÉşL.y’iäÉÇF_d^ÓԐR*SğK8$(ýŘSXŕOW㤠3qű +˝)´şđDđŐć Ńd›ëaŁž˜¨–k&;X—9Œ•÷ÄoS×$a–�C<1×ŇíV’Ÿ VŘ}ąx°ßZľ ŰIh$ *@œ€ç1ž'ŰÔľĄ—0\'IîO{Oƒný}őđŐ{`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ňóŢÁDžëŠ$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ˇnˆbÁ—|î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+đÁÔŠ~¸°> šđa˜KaŽ…ßç#-Ž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 ž ţŕ ˛ÓČŞ�ṇ|ńEa>˙ü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ćŹî÷ąÍVux›)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ř(„HƒqÜ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ŕ5rŕ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ŜĎ[”∧NJΝ.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Ďřţş"o˜oÍ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ÎCk—śŽĽ”ńů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{´šąÉűBx˜Mf4O(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 ! W˜B9(ĐŢő[ôŃÇ߼OđCúáBwîܑyˆ8**: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+ţ”(_iƒIŞ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ţ¨X˜mü?ö”Ň*¨Ţ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>ÉŻ¨Óś=„œG9˝ÖŠ?¸¤”'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‘ŹrQ8ƒuÎť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)C˜0śĂĎŘ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ȆÂ#Ct4ż¨Edˆ6d)şPŰłśH\ł4ˆ?¸ó˜Ę ŻÎ)çz‰;|Ÿ÷RŠúŠ85ƒTÎ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ƘđüՋôOˆAĽ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•×îö‹ŃŚçk˜r˙ˆşŠ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žv˜O,•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ž!Ś,„ňq˜HžĂŰŠŠÇ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ՌăqˆzR٧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ńŽľőXˆkĎ$•‚üӑţÔçĹĘ´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ÔĚ%eOŤR>r:l‹”(ärj?Řő9Ú ď–XdDc¤‚Ă4סdŕTeŞř4u ţ�K1$˝˘9kM–Ąĺţű‹M"Ý"c ęVPĘٙ¤č)÷üú÷�ip$JÄŽG>šnkŰPŃ Ý-ľOű¤’Ü:ý1M"smŻ,$*ň<Oƒ4g0Šš|<ŤŞ…*•ŮëŽÁŞ%%#ş÷Ĺő˛˘óŚ.“^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°ˇÓüä‚7j`ô(ď#‚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ŮÇą{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§ŤüŒĘ_ÖRp˝¸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% BˆRH֖}Ů[ÔÍś“đ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 ™¸Çš›Ô5ƒm9Re_+ą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×t˜3.ĆĎ×üč@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˛ą¤ƒboâTœžš‘Mc14ß DtT‹ˆ!aţwěœÁ‘šźâœ÷fSRšX9גс|’ ¨Ń”VU$ŃOCU¨ťl˜j˙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žNhŠ/‘žŽ'Ŕ Ň­Ů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ůŠÚDˆR›Ĺ†â‚ń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¸.Љ\KˆZ�€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ÁŘöAƒcźŒ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äˆ0ˆzyÊ?űĺŽ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:˜4tYQ°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ď萖Ü/ŕl8 5wts cĂ &X°`o‰âO°`Á‚ŃnDƒ8WvŐ"Ű]…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ŰTˆXÔ&Œç’ĆŒ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ż/"GB0Č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ÎŰzƒ4jđý\ý°Š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/ŠAeaă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Ě0n­)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,­Œ48Ţö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Đ Ů­zMҞ!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čîţuhgű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žĐ_0o˛ń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[Íďź—ę ƒ~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üÉm4{˝Ą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Ô%#2˜cK>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Œ;Ž caƒ8Š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+:ÉSƒR¸Č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ëgoƒ2—Ăľ˘ž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­‚&”'ňLAHˆMV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úˆ€ëD2Î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(“Ë‹ĺ @}đ. dbˆzĺýž?ş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ˇaJşS śƒzSŤ×ˇBGqŤĎ%Ҝá]2LłĂ6í÷•іĽ*ţ(ńgęě&ߨĹ5Ăçŕ6šŤ0ˆ ,Ř[fř,X°Ÿ•Á*¨ł˘đççáŁwčôŢCYyՈGtiŹN¸H°’F` ˆ(DäÄůXŤŃhJÇ'cŕ"&çmfŮÔ´Ř,x`ŞňŠńiż–4ŽU†2ęnOᕉŕŔ5ŮąLÚ–—f0ř§mŠŽŰß}poť@ú´"ŸĽ˘,óˇ6Ÿ¸7ŹĎúďQ§Ä€'PEd(Ú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ݎ˛DŽŸ,—č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ť î/kjoUˆcTđqiŞ4W‹=}~.RĹ×ü -ůřÂ✍Čý’“Gޔ ÍĆt2Inršň¸Úsv$‘ …oě˘eˆnż¸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Âň“úă†áëńýnjá§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Áƒ÷•8e3ŚÉzFˋKj_ź öđ#jç#ÂŤŇšdŠWŤiyƒc%/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€ öBWꁺ΃` ˘,؆<í¸ÖČť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¤÷ҔDFˆhƒœ†¸=\/ € 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Ş05Â6oĘeĺÝ9˛v>m@Š’Ië…RÖÉI‚XůL¤a#’öV-r^hMcšAͤ'âDÉ` ň cšry)SU< UŃٓš Ş–kZ˜sZÖOčřä„ňČĺÝć^—îŠO"FśQ bwRŮď2ű’ýĚKő'ďOŸ}EăßBˆ˜Li2Q’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źGA˜D!đŽ„,‰żńÎ×÷˝@ýƒuŞ‘0Ÿň뜈Lż~żl?¤Ývý@ ,X°Ż!¨ŕßţŰűZűţŻ˙őżč/˙ň/{5’ř%ÁEÁ‚Ű5Œů|@ mü¸ŃƋoJéçu}vŇîX˜ #ž˘âăvbœ&ëá’'uG˙颌żŻR:Žč`šÓ,Ń /ÔÎ/řţ֛R&Ż\ű˛čč˘dʊˇ7ˆ6K”đ#`  Ů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¤ý$’9Hł‘í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 ĐŠaˆfdú¨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â~O56oÇą 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_ž4ˆ0Ž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{˘˝7T4ž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|Új8Ź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çHHXš¸Ł”‡Ąëޤ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ğ`Á‚űńŰmI;ď÷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ąRo€Çś? éˇĺž^G mřߒű #ůTŐǜá}*—%cąĄëÔŒśĐ°'ié ĚËl Š<š ťTT˝ ơ›nč†kYťźCü!ډMţ.fQ‚ ěMY ţ ě'm˝["‘5OĘ/xü\bľˇŽ4ˆf‰Ó)ÉÄłŃ=ń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::]ŇýGe4ˆař‰ô:Ç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ąÉ éI˜D_ot¤CŇÓj%L ƒ1ULŢËň‚›ĚE~R Ř)ťĆă‘LŢëu­„¤< ]8ůQLĐG‘*Í÷éx°`"żâAkvyIM2é‰JQÜ8ň‘‘˛đŢ{Ý[˘ˇ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ŽR3\´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!ŇJX‚\¸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ŮhgxŹzP“IB8–mll°zŒvwwéÁƒü7úÁűďżĎß8śGʉǁ:Žƒżą-ĘÇąqnŘ'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÷ Ẁ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ęűĺK28•ŹŇ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ßĎůXƒj)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îáYˆg0Ř�h„Ŕ "TŇ Ś†o<_1FÁłi5ąĜß˙ţ÷ôË_ţ’ßE˙ýż˙÷<˝Ł(*ŕ}`=žËŹzç@8Ćo?üáY ÇúěłĎřy1–ă݀mP&Ţ9x—uŮ˝CplŐ9J}‚'§˛=G{) …âúď†űo˙-ż{ţăüůrNq^ŮďŞ?űł?ٟţô§ô_˙ëĽßýć7šBBĄx9¸¨´B˙Âż€q$ű]�Ó4˘‰ř)�?Ľ¸¨dŠ_ÁWŤaUjłLjź�Żş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÷Áߢś†ç6ˆD�śG=ö÷m:F<ĂAĹűď|ƒđąźP¨UÓ~g‚H‰? …Bq=pŇäŢÖV´jŁ ŠúűúO{ź—đ.ąőË/żTҏBq‰¨ŽľňÔŰ5oţúł~Nř0ćĸTR…O#ŢŕţǘVöđ~R�eTÉ1ǁcŔŸ1ŤŒ‡e|{•€zßň=ž™�l�żń<•ą<ţĆ94‰ç)·ƒ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™#ˇŹâ’Ů÷i2¤W3E/škšş°FťĆČŮŮÝĄ›!ő–S.çđ oę{`ĘBÚ¤%NƒDÍ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ě8DްD~Ř'´rm9BŞŰ˕`œŁ|8ăđA˙…!О`(‰$Ä!´!Ž ‡&ąql8Kđ,Ăv8Ž8“ÄĄd â"íŒíOfú Šé‚JţQ(Żŕ,QÎRqăyˆg'œ¤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ęřÓŢQƒX%mŔNiS 1í#dź‹�ĹL™hgá>xl| ™™šŮŰ …BĄ8”řŁP(^”]Uőœ2ŘŘ_$.}Ł—‡°ËŒXžŐšĄGĘČĺ0‰Ú5 Kd�árŹ29ƒb[͈ÉHb\b0 2EâČ"ŮI^]Yň$ˆ0ÉŁgҰIƒ8d˛Č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üb8ov@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…ąôp˜P<ÉŘŕr {śŮ.a’ʞíd< ‰)ĂT,ڜtx@ۏżŁÖž18ŰËÔ[\2˗ř\@q c˜Ž†LąĽÄĽů˛dšămx1ŕxЖą_w9Đ7ƒç˜úĂ&cŕ) ć Ëq6šĆđ ú¤Ći0˜CÖ´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ż9ƒqœŠÂIJdŁŰ‘.˛Ôĺ)Né¸Ńr~!lźÝm˜X0’{Ľ‚‚iƒO&Ř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ŮEˆXá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 gO6€_ €Ď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łlˆ4iidÚŽ-ŽĚ~Ś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% e8…˛ĐŻä>ʕ˘Î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Ct†¸?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Éyˆj–Í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úł*t01.ckŸTŕ+AűQň Ę"ƒLř‹oVŇ÷ńG|"B–Ŕǟ˜ŠOČ9 „(ńAROI˝DaDŇO q Ä*Iż$6€ 8Mě~Ö/;Ž˜Ä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;á7ƒRužň&ű‚ňÎě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Ҏ ĄÂW9‹ÚĘ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ŕŰlU‹ý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ŽÉóIˆqŻ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ő“LˆL"¤ćąő!>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ŽuQls„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‹ę*>Kˆz,Ÿőě;>!›•&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ŤH˜RŢ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Ŕ¤ţÎÎNNzB˜m#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žÍď8r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,Çv˜Tnˇ›ÜGŽ?O#ţpLŰ-:Ő%´óÔzçőu™ö— lLlG (Y¤îăő_°HqNJZáÜçŽ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‘‰72˜¨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Ąp˜mí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ŽP˜Y…Ş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ěćĎXs@ŢÁ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<œ”ÎKƒb Ĺu€ …ÂĂI8?ÇŤżý‹d3шœ`Š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Ř9ˆb‘?/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ßY˜6ÁZ•ŐĄfłYÚ? łcŠŔücű㠟\T>—úwĽO:Ş‹œÔ‰`…BĄ¸Ţ˜ö|ű8KsƒHĄ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šLL˜Lbž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ăwFe3¨ˆĚ\: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!&ŞoRz Ĺ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•ËÇąP—Š R|a‚FÁh0¤Ý˝mŽ+Ęšuű&­oŽÉ™1Er}Ěü%ŠGîIl?ÂüßĘ5ČŐ˘‚3;M-ˇęxôž|üČýŞ!3- ł.Ľ‡”1˝ Ôę„á4ŇOvQÝ˝T>âÔmŠ”}>3Śś4zU`›¤ iO‹ĘˆN˝2űů˘P(×§ŕl˜qÁ„ž={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`&šü@ągqaSuÇ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š 6˜l3ˇËŐ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‚¨ôĨ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”Qo˜PjÚ$Ѝ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ŰAi5pZn?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Ú—ü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˘ݸqƒnÜ˝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­{Áš™ö–ŇwƒBq˝�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 ‡ăíĆ#ÚŘÇ%Ćx˜Ză-úŃ˙ňżĐĘ͛ä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{ńm˜m ‘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§Ďku8˙U˝MqÝŕűŔ}Bŕ“~ęTńe<äŤů�đ ČsMž-U’Sď…Bq•ĄÄ…BńÚĂCDdNÉ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Č —úTBń:Ą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ۃřCYBODô-={úŒ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Ćź˜To˜mÀ–Ł—ńÎ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‹Č1xQĽ_* Ĺ+_âă.D;ďěě°úŸŻŚƒ‰ƒAˆ1&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ĂOEˆo|Ś)čʲęü„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˘CƒO`\‚ń�Č@[[[Ź>ˆÉ Œá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(^9ˆB7|“ Ž[_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(gF˝+§Ă´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› ů§L8ln™Ad§EĆ>e#š…ôĎ˙ů?Ł&…lˇÖW¨sk“î?¸O÷wDŽDÇČ�USţÍżů7nyĄřňůg¤˙ď˙˝U2öóR?ĄÎÄNßŮߌ[PţĄœšaS˜Ľšd ]&d ęFiŤ‘GűYacl_ľ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[ř bhŇĚŻĐ>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)ThzŞŃ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Ŕ_ŃŻžřă͛ˇoƒyâ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<Ɓ|†:†lƒcЏ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$ǁ†Ď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§Í>FbˆK–ř#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[;Ž6pWDłôš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›•*Ć0lH|­_=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 ˘ŇZM˜4 Ŕ<|ôH$pă$˘ŁĂ#QšJ¤Žq(;íNĄÇ@dáKÎmNjů@Ť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ü1l˜TSc”ó˘Z/ŔϘĚinBB új‘˛D¤ňj”!(&Ĺšv+$`ą'ĆA'Œ}âŹvůĹ Ärƒ2…\1â* íiE)TÔ‚řňçą6Š?óĐĚísOʘ”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^TzVŠŻÂ˜GJLZ-ˆ?ř[W˜7Ć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°?8ˆt@;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:Ńł§_ň1ZˆP[ë˙}ĚeťgƒŔÔó{7oŢź]l[[Űôď˙ýżŕŐ€A6Ĺo~—đŰ =üîa~dÎÁĎî˙ţß˙ťüz•oŢźyóöŽüŻń/ţŕöýĺ/I?˙ůĎeÁ źfP7oŢžys´†H1†Č˜d ÁŒCö“,Œż,˛Ít!’&Czb|K3–Šbţ „‚füY e$ŕ/Cđ\`9'Y)ŠPńĐeAó ”t?aЄż™ňŽ9tYŕv|0#.ٜ•"ˆ.×o-Œ˘xT@Œ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ÄŠ*?°T3… Ń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”đń­RQP>Ëť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ÓńţAhR˜Iű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řł‚L˜qěöć6ýĹ_˙5;Ó9=ú”’v“Ú›}QbAš$“̐Q& Ń/›[ôĂ˙˜š†e§—R×˙ňó˙F˙ćßüŠzÂçÝfĄmӃÝ՛”žY%He:ŝšÍšŽSŽsj'čçJL捧2űrť([ś‰41Ž“űD™ ŒPV€ ŸťľľI›źA‰§ČMqN°?Ô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ł9C1ͨɋë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-jw2h@ů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őȑ}VUbI@Фü§-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‹[¸őüç8ˆfőô^ Ž Ţvä+�íH]¨łžźżŞđqG˛‹ŠßË#šOŽiv|LÓýç4>9 éh@ă05gcü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‘qPßáp*¤Ÿ““S‰Ś€ĂÇ 0�PŇnAžĺ#Ú¤ĂÎŇw Ăʉ6‘ Ą¤oťś˝Mi#ň’sn ‰RĘ+ÉUlÎů…3Žhü ‚dműëëÖ!aG2|3éžVŠ(—™sh–Ž“~.&-ţžü,u|Í(2Egˆ8á×~6wu˘ŃĹeźisą'Őy/!︈ sżSWw •ĘřŸléłäZŞĺ;Ú§™öćÍŰwϖ|őßś 0óüfť9ĹŞ´ť7oŢźyóć­fúő‘§ú[ŘÍ,#/űxÎŻ)݊q7o/m/ă\{ŤĚQ˜üqĘxYȘeŔĆźŔ-J X´Ä˝ ˛ŽY � ?dƒÄfüÇ1oSP<ř˜I‰ĹtC.j!eUˆMZđ÷Ľ’Ĺůš% ˆ’ˇÔŚu—ÉI§"I 6Î Q#šĺÍř˜H5Œ­őăńI)ĘĚ3&gŔö0Í訑3ÇőĘCşskƒgu˜Ş)ů%iÉ<ƒđÝ<(i2†ČĐYńqš%ţ=™q{Œ ΋ţŠńĂ0Ö|ŽÂ(ľ#P4(ř1ŇFN)ˇ -P‰ďŽmPˇ×§â”+< _žÍťœ hxđ”Nž"eㅢ"Ţőq¨—¨PU鼀o‚âü`—§§:>>1Š?­Mxe/ΪɸŔÖŇŞŇ `ž O4›\×YNó„1Ö¸ f`ˆRjZ}*;â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üńć͛7˜2™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&=T˜TL`öŕ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$Î7ˆ9p|]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ľŕwr7oÎŽâ×ç‹Ďč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ĽĄ~cˆ9u%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Ç“XQ|yŸ>xH˙Ÿż˙Ľ8Dd˛Ó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Ź’‰­đ‚ę~ġƒýú+ŹÝżŻ|-wˆKĚ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ąšAE� 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"°”űEnjY'<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 ózd˜U�ܔŠjĘ>Ţźyóćíë6Ořńć͛7oޖmĄ6úŠÇ×Ô~źy{űvţőMcbﰅłL‡ĚňźJ!Uđ"÷”ąľĚŚňydMh™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äŇ…‚˝!}Uu9ż*‚œf 9”Ś}güz˜”čŒ&Œqő‡\CĘ!­("IuM‡”đ~ż™1,9ö ¨â€pPU˜�؈f,”bČ.ö›`Ť@ꅁ¤ŇŮ!„J č26Ő*H­¤¸NóŒ1UŽ+RsAĽ‚ Á~\ˇĐFkhƒt_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Ä%’ţKJK”}ȨŔ_Ç9r-mĽ¤š î irт8şÇÜ9Ŕn‰Ű,g }2庉ŇOI“ җń6ͤ]¸[ů˜BĆN•FŠ ć 2‹ßÚţ-rŁS$ śpťFČ^VJĘ-ůMBDž!…‰"×§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˜ â`Ѝ˘ZˆtŰzIÚŹ2RLÄçâDR… gÄ|ąŃđ†‹HĂé„ĆBž*čŕt@ƒYĆďIČĽ(š”H¨›E˘Đٞ"2”’âLÚÉDHI’2ÁŤĄ€> ‰ć yn*˜$3Bʅäďƒj=÷aĘ}…&eV…¤Ü* Ô^JăO'=<=•WhşŒ;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ň=°Š¤ĎĀ”ŽÔ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ç*]°k80N“ÇFxŞćëéŞ68,Ş@Ą=ܨťƒV‘'/L*­×e %ő,—öÄţÍ´dl7śę>Ąŕlč?§8$Ł×bű¨ú7WHMVpűƒQĘŻłiFI‰şNŒWž^Œ?ž  (F҉2’Q˜Éí5‡ť1ŤŹâO(˙ňŃš?sx6Ů6h7"ę4ÂĽ{ ÜFvA2 (ۘ{Ř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áUˆA%Ô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 UlŽŽíë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|‚˜�҂â…ěœqˆ24: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Ż1ˆLMzüŹ›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||"Djp,ü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<šż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%ýjˆ0ůâ~Š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ŚÉ¸ +iSžÂ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—.ů­ňxˆ7oß]óÄ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|Mcő˘_ć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Âyƒm‡)}|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ľă386ˆr@žjy°œ]ŕdĂŃAÚ1ÔßźąKť×Żóńmv˜3!,ő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†ljˆHů2˜6Łl9eÝŰł—Á3Ô%Ç]%u˜7oŢţ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)6˜Vԁ 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űdQłÓ˘`÷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ťĽ„cIˆNIG[˛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{ÍН tƒ2Ôúřń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ýGˆAD&E”#™ˆŹJaHQF‘^„9š€N%„ƒÉšúËůEyˆńÚĐ`Ž˘†r0şŞG&×ň“dƒZŇ,éœë‘-Ÿ 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 •Şli"•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˘) čŐMƒr{Ý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ĐaQ˜P3iJ‘"-Ď,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‹śFCRƒCěŃÓ§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+NjT~\¨“ĄŐÁŠđ÷îˆT°Ň´žž—ö˛7oŢźyóć͛7oŢźy{ě<<ă<|ŁNŠŠă Ë>łŞ)&XÜŕą+gv_`ő€ľzýŢ}łä ¨“#@­(ya( „ˇ9”jxáÜmfo-iˇ”ĹńڌŸmś[˛˜<,#ęöű†Ô6ä}zc\.žÁDˆQ$Ay0ŕP/î2>r °ˇ,›ŐkgҚ‡!Ÿ/ĽÍľ&5Źâ R+ 'c!�@ŐŁÉ[/ˆ)U†,SĚO0~8š ‘EAe%='” ´„1=P?^Äâęqd#Ë­Ľ-ń$&Qűá…˙,… žîy0­Čb:Ę)…Ę2—oˆU15ł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¸vwx˙<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ąśÖ—Ĺt1@Đ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\*pSv@ůăşÝEťöÍóR×Ö7„řsr|LƒpČÍšŸě(dŸŇ(*Ąçó1ćęÔɑ~LT¤•Q˜fZ')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ăě1ˆN�á顐š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Ţ °< )ű\ˇ˙ôŸţ#=~ôHˆ48?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××eV‚?—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ćzuh˝ŔD1˘,hĄđć˝×ŐT-ß&˛!j9źř</Œ ŒvÎ~h‹Ą€,)™´ Pâ&eƒB”ÉĄ`jRęđúh2 l<%͘ůŰk-Q h˙pN‡'˘ e“Á0•cűýŽ`e](qŰöŽÔKÓŮD7x-‹€q˝cĎsQMf’]%!őZUf6i}Š@S*łˆĺâ\S´QOÉŹ,xż“l&ǍĘ\BőÄîĘQĽt)iƒd\ń~ŞT†’P(Q ”YôJł^ŰPńŕ:aŹs U˜fłJS2J§ÝŽRa,K”ďŇÔ(„đ9Ą´Ö1„•”ËĘŚ†&œ)˛š gš‚‰‚�ľ•­­ !ś�§„bŇY0txx(Äôˇ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!âä˘tƒz‘(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´Ócvˆg´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:0T°/Ž“@ˆ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š((!óAj˜vwú›;öř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­Ÿ-tPˆZ͔ś6ú&´ŽÁu+3Qüi5ŁeI?îţĂ­•'źŠPkĆEŔ÷˜Ś }˜"M՜4‡"jđgŠůœŻ%RĘĂLĆçœbçHM•0öźI˝Ě”kŘŘŢŚăĘ:n1đ8ž&í’MfüŒ�ϋŰ"§&–Ó´Ҝ?Lšžc-jNƒoł€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îޢiTĎ#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Ĺ9gܡ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šŢ˘řߊŚô~zƒvxlťç‰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ˊݿŒćÓĐH3Te­˜ňĽ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< ¨_Ý~Ô¨‘3XÔ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ťœA˜wţţňÎýä`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™đ$ŸˆHNJFů‰›œ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ŒBTa˜ZDllSÔclâĘAź'(�Šˆ(8 %×C5ęږgăŠ1 ˊÚ~^MűËLóe¨ö}Aě/��˜ĘÄN6˘„ąĘÁM1Áˇ/,ú ‹ý˜ő&ľ5ŠÝdUď_��L~ ü�Œ F_>´ż’ŮŐ%ŽSm`Gé1›Ĺv˜1,"á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śó=ËÂ_Ž;›ËRƒSĎ<ç~Ů&Řś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ę"miǟ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¨0iŠ18XnÔä¨CÁ´_Ş> Ě:4÷‡@^ÝaY‡ťn~fŁ˘ 0ţ��ŔT ”=9˛sÂëft˝?N d™çŔ-*úIŽo”�Lo ü�ŒFż˝Œ˛VQÇď˜Ű%eľÓwĘë4^i7ҎiOˆbFŃ‹>ŚëđˇÝ¨ŠŘ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śiˆJ ~Ü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ç ˆć̝KƒƒtĆ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ş.v1|]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�¤vNj€"ő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ŚŒˇDˆ8\á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ß?ŽŹo˜ióžö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äśQKƒMő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Ĺă…AcIŚń���ac”‰śÓ(?Ĺę�LO ü�ÔoV<…g§Ëƒm9¸#ü-Wě#S|9 %Öą]A‡őą)o娐ŚLnŻăTł)—”É:ű×ş:Ë ó+ź>Ž�H÷‘Ń>OŢAÓÔéĘ`˘ßx䓓éů…č˙–e }ôŤĽľĆ \-Ü$Wřă z,)�b1ü6Ś´ŐS]}Őqğ´ĺ‰„ź�ADh?žČ(|­Ř{ą˘÷@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`ęĽ'Ą ż^ČźF˜rAĽ@ô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Ť–U˜zÔŠüˆ?śűŮľĽ­œ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.ă˜<śgˆS 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Ž Yqú$ŃO\‰í mPŽ]á"A‘2îDéß~ËňîH”Dű ˆŘ.!Űź˛'tćëĘXA–!�’ĺŒ}˛z?üׁť 6����¨‚MúŻŽť?.zO@Ě#÷§‚eQ("ú)ŻšćP{aƒjúŒ �� Ż�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—+ţ‰~ 1zń@Ą+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Ťxdˆx1ßóú��0S)%"°ĘqP˛Ř'ŽźU˘>ßŕ;Şi'�&Ѩ?UˆbR‘ą+ �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:Žnƒl_éś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 üŔ`2ˆwĘ-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>YÇąÔ?’§>ÇÇ0PHQNÔQŇÎqŽĆúłöôo’šÚJIGА3­Ó”wöeœƒyçŢ&)rj§Fk˜Zë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‹ąđnj 4OŠ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 ˆŔXq>ۡ>=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ä§ӂš‚ نČFw%}/)+(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?�Wc{Â'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ó�uuuIi/T#ţ™ě éb_rÖáá‘Čţľk×Ňý÷?čmó{ńş×˝6śŽĂ;”@Řo���ŔÄá˜1TÚQÖűúúúhhh˜vä›'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äQH‡ŚĂř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@Ňlˆe 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´Hvd5ƒt÷Ý÷Ęđ,ŢŰ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ľÜṕíÖÖ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îźóoTK—.Ą#Ž8ÜŰf›óŐŻ~%ƒď§ĄĄ>0|Ϟ=T-SŃFç÷€#î°Js ÇËĽ&ÂFg`§�@yD#—d„™Y›~ži'Ű@3učVHămЍž'œŹtƒ\K*ICá‹YţI6yŞă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ŮB˜s­“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żýöĽ؟Ş%Чórƒg żő­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…ěٙaGŠ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¨żoˆfuwUŮâ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Ě!ă¸öÇąÁ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€°s1g„ϝ;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öÜUNŠ… ę݇;Đ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¨ˇwF29g ź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ášCAő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>ď‰e˜9sşhß}Žk˜enOccƒ\|‘P9^ŸL&¸ţaęěj§†ş`z¨°ČůĎÓŰöŞHÔŕ\ż ŁűŘ)[d*8ç¤y_ڍü“’ee ĄÄ?* Ľ&¸ ś[}q’ré5�ŔŘ;ÔؗŁöĺä%0ž)LaKqĽ…Nş|0˜+Hׅ)¤ ‰jŒr–kńúľY¤"舠í'b´Ejˆ‹Ő$‰ŕď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ĺnˆz@-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ŁÄ6ƒ4Đ?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)“)ÎӎÝ;qnjđĚ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ůLrĂ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­Łĺ„ĎUf˜EŠů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¤Ŕ:WiĆň: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Â…ad3űÄŰžłłÓTő†3ĚÔ°qđÎKOş>çç—çˆÄ„ąŔěéƒ'ü u|í{;qĎăÇbŽgšťeç.Ă駟Žšs碴´EEŚPŠŽŽGŽÁöˇcĺʕx÷ÝwťÔĹŹ­ŕŽonÇťkęńËďO‡ß78Ίy§h˜XŞáŕ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 P6nDD˜m? áńç–ăá'ß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Ć_ţöŢxwƒMî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ăÇ�övƒˆZýĂż!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#njFMůqŒ?míČL3ŽMr2ŤĄŮ™¸đěYxđéwáďđŁÍߎŹĚ,×uçĺäăÁÇŢŔgoťBF †l騏iÄýŰś|„>܃ŒtŸa? ťŞ)7š|{kŇŇý˜>}~ü/ŸÁďîy‡Ží‡˙ŚoA÷x#˝¨„? )Ĺ/‡żTPPÂ…a€d˘—ăm×%Ń!ĹńíuŐhjˆ8P8LOϲ?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 Nb˜ežĚĚ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 QuŢ(î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ÖŚž={žő­˙‡Ýť#‚ß矟ţôm1ƒ9ŕ^š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%ŢFˆn çˆ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:ÇŹýĹłdƒfeü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‚Ć+^ Ż™Ât9etQ_łţ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…”‡ńÇą`óŰ(\÷´Č¤R‘ ýôk!sji騊7ě993&¸čcéhŽ÷mľrŒ÷feU-Ç$JŠďˇÎŚ6PbIWž7˛‡ Kş”ŕŘ|PƒKYšőŸ.Ôĺ"#íԌď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óůaˆSŹ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;E˜2ß 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†-žCƒNYvƒ}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 "Ľ ȇbY?őŠ[đůĎŽ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˜ĺŔbl$/ ‹ýHßČwź¸UƒárŕsÎ9;ć:ňf uˆXźŽö(Úiźx啗ÇäŻÔČĚL´ąE—RíŠbłeöm‚ßŰË.ťÄ%ú‘  O^Ť‚B2Pü21żTPşPNjXŻ1ƒOü´ß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ňŮ%˜yˆc!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Ą˝Mr˜lŽœôœÓćŕýMťąĺSĐĎšú˜É¨olAu}ťąn–ň‚ŰĘ×ĐŘnŘć:‘-Jʒ8Rƒˇ×nˆ˘<|÷Αö/›Í,70Ĺ?vƒbľŇ$\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ţČcDƒd{őę5ŽeçU‚ţ.w‚AwšÁ܂DéŰśĂ{›şÂŸD`ö™)Sڈú×ůůůč x/Ię)sěŘ1;<Y˜Y^Ś‹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š7i2aNr˜0Š„öůŻW\€­“ˇ2ýhžˆHÜ;)ćŇ­ë֓ťhS04pźYß fŮ!ˇJ: ČďúCźĘŕď ŚĚ�H kÖŹÇŁF}ŔŹ=ąĆWń šÁL7ƒ§@:x­t�1['3'ötć0­<ŁË›zź˙Чž"„?y˜Sř#Řçљ‹œ}™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Ň36˙,tŽyýăzçcüńvkľî4KÁ@é™éBź4P¨lé‘éűPˆEu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’Í~Ct"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ţśM˜0>îśë×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řăNju<†DOúbŸ×_SD§“\uŐ]Ć•••‚_2ăšTtű{–%}óÍĺÂ(ÍÉçd”3ű)şt„lWŹw´s,š{÷,]zZ—m˜MhíÚőHłf"<LGOńy˘2_ěK^[uu(;vŃEtéK:ĄČ9™áŠPeÁN(~Ů3(~yƒ6´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‚n˜7n݁đ%˙�=-+ŇĎ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_˜Œ4ƒc2´óً´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 ‚ŮWnj …ţ€â—CŠ_<"‰&ťšB¸°ůWaó–P°x!ŞëZĐaDajëŰP×Ўě,?rŒ)#ݏֶNc›6tĂvš~ v8Œľ[w##Ӌ[Ž<Óóó ˙zĚ`gy6ĚŤžś˝ ŻęVT~íë˜ó…/"ˇt,</‚(_ľ ›~ý+|ůdƒ˜gěH ¤7ę Äe<ˇů´¨¸č|,h áĽ?>y“ŚcçţcđűŇÄFlsA^&ň˛ýś�Hs’9w— ÖŃŘ܉úŚ„CşŐ5ś˘Ąą]đň#UX˙Ń^„.űôüQvkˆd’´‹‹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ÂKfˆ4ˀ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ŠŚ˝ }ć+gq‚‹ˆŕ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Íý<†ÓĽ3ˆGˇĂ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Š_ž Č 5ˆˆdĽ/룓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ŃÁˆîŠĘ:L˜0Ţ^đ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ç�š)t9˜V™•ܠэý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Ńá23tĺ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ď˛ÍącÇąeË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Ĺŕ:-͏#Fˆ6ď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;í핂'óygvƒDœ›ÎŸˇß~ˇ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ô ÷Ĺ_Ćž}űĹ<#IC'VlpÓŃŃ)Œí$´˜ç㠊QŇźFś—‰˘Z†s:>‘Îě34˜™„L1Éĉđîťď '!Ż}ôčQâÚé@`Żžúšˆzˆzą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čLjY"Ęć¸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!ţSkppŢ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–ŘĹ­ZSŁ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 ˆ'üĄXB8Pq‚ƒ+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¸pk›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:ÁgO‚ ŽMœby–áuQ,ĎgžcrKyOˆTŰ)((¤.œ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Θ`đq˜9sF,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! A8…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$ś3ƒB)¸ŕ "‘Á€#Y’Ł?w‰@'Rf9‰'fa$­Äȑąk\Ó¸.Ż›Îˆ�…NŁ8âŢ)\ęi .–1“ß•î˘žŻ¸â2Ő?çŕ1Ţóx]r˝Ü—F†ţt”1ŇL^ł %jƒ41ÂĚé(ëÉ÷‰ç¸éŚÄ ^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'Ű˝¤4ˆQ%…˘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žűĂ#Ř´ľ f93ńܡ´âß~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Ńmp: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–œ_ďŤhjˆ7™ń‡™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żţú"“ ďĽĚŇÄ英cNJ˛ĚŘԓ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ń˘  jˆ82"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ă}fDwXˆZÄŚ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îń™^U˜g̘î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¤zƒn•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âđ^${߆#zbƒZż~Łk?'RÁŽ)Ű ĹÍą@Ţš˙~$ƒŢrTáÁ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ŕ‡]”“ Éň•ž˘ż8ZwbśžŠ†Č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((ţ’Lƒyn3Œ„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᠛Ć#Bˆ3Ď<Ł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:Âr6AÂĆ@šÝě~Ýď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Œ€Aƒ7ÜçctF@ ˘„ý1R čUžfpţÖßúŸš F=`”'*jŘ#oĐhžŠ#;…‘¸ög˙…WÂ(\T¨áąg\ƒ*áŽ˙ďţîżí~;\?Œh†řĽ—tL˘BŽpb™b]Őśyüżóﻑ$Čż 5PÄ(aˆiđűÎ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"wˆzúŠ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ćďËŰďÝ Vx4”Ńů‰\ź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ç:Ś;ŇëďČ2ˆGrţü‘\<(ŁŁ‡2HNgwWönݔ7Ţx]ŢyçmšqăFpßËŞ,łM!„ŽYOšČ'÷v“•ŰmŒRá 5qćŃGʎ 4ŹCŞ3\诉& –nWŽő2”űë1őŒ FĹ6i2ĎDl“‘jmŒp'Űh˜ąÉšMN8÷ş“ pR‘“˜ô*Š&×CĂ{é~…0_RĎ)_1‰¨tˆB!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%„BVƒU˛/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!d3m[ś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}!Ű1˜t´Œ­,‡*ŃÖý.!„BI)Ťäú•c}h{“Q1‹Ź4Óž$„BY>´/i_B!„tÉ&ٗ„Ě …?d%ńGʄ֕˝pýŠr(/ťB!„”c+Âv]hű*W˜i_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Ü5˜G%Ë:őĚ\§~śŽď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% ÷¸˜žíîĘął#dFZˆk{ńé"MmBČ6RY1júmđóíWrűýiTIŁ�h.`ăý뉭wSC#$Ëú„ŽU幍}y:ޕ?ů”ö%!„BČŚďÝŻďJ4ź\űrgŘg€B!dӀçl˝Ěî›Çž$dŃ0ÔY:ĄŃ2p›†ů?źyƒ!žfĽai­KşŞĐ&5ĄVBaUšL„Bś“Nžqƒ0`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|áˆ.ŰxˆPEbzşł+ň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źĺ¨˜Ů”čNJzf�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šŕ?C˜TĐ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˝üćiAHx˝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!1o°,łžěĘ?ĹŤ ϟ?—Ǐťß ˘ z€Ř�żaRĎ%5¨ ¨& /lƒpĂkŽŁ˘"őćƒ9„=bLX><<tűĂ#ňBţWŻ^•ťwďşmV”Ń44!�÷=Änz˙ú@XsíÚ57‰C yt=îń—/_ş|ŐKîYëéĘާ¸˙m<{ăoĐA0qƊgëÍ7ß̟ą2K.ęąßKë­'.zýą" úKi$`ĽPˆmB!ŤĚ":n!í˜Ő^źěý!„l7MlĂĐ7Ś­MOŮ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óý¨ŁLˆZu <[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”ŹŠ1Dƒl˝ą˘ˆpčo ‘<”@ ¤ŢTŹ÷žEĐôţâ}¸}Ě{ĎŐUTýőuD ;aşę<ÉE>F¤—mFážüăÇ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}Ż™�¨+;!ëÎ,˘Ÿ&ëę–ËÖÍoƒBŮ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ٞłvƒY]%Ţ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]\Čp˜zűÁó OŽ‘ł/“i8ĚěL™ŘŸyţĹcÚmyyĘĘ×p=™ž3É*0ëłÍűwu)ým*~łŘz÷kGNö‹2Ż‘ş˘Sˆ}d”|ƒűr‘ŃHzƒTô“‹}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Ôë÷ÓNHzŃäű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ă×Řä“ýgV˜y\Ú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Ů0ÇąP>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üŽ{ÉB˜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ëź!Œ ťœŁœ§ĎóěŁ÷Ć؝&‰Çž�Á˙Ţů^€üN˜XŞŚ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°Eˆql9l(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 ۆőö˘Š€ôt\Œ]&J:f‡.Ěpwč }„jÉöS'ÎÁf“Š.\ç.źŽ`~~~ć<†¤^HúîďÜŠEíšĚkoűţó˛iׯ}~‘Ć]ĘCqŠçŹôN=h¨@ĹąˇćĹ )Tř#=çHK}F¤ÂlzҲŘemźŽŐˑNŻ5úüâyDŽ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!„Bˆ2‡Ř!_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żë3ƒoŚ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¨"żř‹żpƒ6Ź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ÍŻ eBERć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äíNJ~T4ƒI=Á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¤”‹|ŹŠćdSyŐ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žęšjˆ0äí87żźuB™Ž(ÍrźP™CçT•˙ŚśÉwq^óćaŸSťÎćMf~œžý3őM Ô˝Ú ňř˛PřC™B]ŸëHˆb ‚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;Ęőş&`N̹Ξ”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ČŚŇDSH;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ŽĆ ţĹ_üEwlˆwŔ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Ą|ňuNY˜uÜĽ…Íď×ň߯ú|\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űtˆhٰ^GzűŒVRľŁÇŽ@ĐüľĚ*f(ţ­Łť­QĽÇŐüle˜ B!„lÍíšđˆÔŘ&ő’PžžgCř›ě“O>qá¸ŔÄfCGÎ(ÓzxxU<¸ďlIČ!°I=ߌr;„@*ƁMŞ!jałB´ţĂţĐ e° ąěQÁvD˜Yü ’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ĐŽ‘˝QƒwŁ-Úń: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/=8ˆx`/śŔžÔ ׂ*\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ş�:q4l˜xš°ű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:枥.dˆiؗӳ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Ŕbˆkę^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‡áx4ü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“&��dMĎ�ĹžŘ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!Dž`™ß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Š/DžźÓs|Ť $çČ~ßÎÎÎX h]ěůƕâl !Žż#‘ŚRiy?•€ÖXW1˝HîďňrE×WQÉ!ގë™ä2ď›űúˆ?}ët4KÓfâOžţ6 Ý}Ýí(7רD,S&•ľőžŤ( —şźînfżÁ`ř0w&?'''ü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 ƒÁ`xC;šč>ˆ÷ń[•üń¤†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°ĎŠŞaxÚ ƒĚ Óů@ľŹőÂ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ôԍΠâďBˆ3÷ÔäÉš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–Ľ¸­ÂńUˆoĹ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ŘZˆA%“Ś˜ĐŔĆü".ß ă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ý§“gƒa{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ŚŁÇč�ŃOǐ‰QwIě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ƒ„Ÿ&x9ţ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‘Fˆ9ë°-ŸŤ›Ž'ńě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íÇ]â&˘Ímˆiď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ÜEJˆ7Ďť!Í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†a˜y0x-šî\-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><´†î‚]đLhw|œÁ •É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×ŰkDŽÂݗ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üé]TdđĐ*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Ťöń>ÄűĐŽÁöÁž}ü]ŇoˆrÄZ\ÚĘÚđnѧ虓|´m)˙ĆĐ.˝~א6X–ňE7…ƒÁđĄŔˆ?ƒĄş“ŁÝ~É@2€Ab0 Œ(¸ƒ‘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ĄdwЉ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âH4ˆic!žÍ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˝ DŽřƒz™ťŐŇłŤĹ˜$F™%,őłÄ&ű‹“9–$ÜŮď\݂4ێVU|Ĺř#†ƒBń§wŸSën¸˜y؞¸r×("Ď3`CpŮ).ŠCńŠIe4¸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ňŕâëŸ˙óÎqxňN):éż˙ýďůŘ÷ßϝ@~žüňK^DńGçčŒBâÇžýö[ŽżýśÎŽÁ`0 Ă'™Ą]a€-S\TŃB­ĺlˆnë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ËűPˆrŽ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÷)ôČdt´*Ťžž Ď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Ăvˆ5]Ěçß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ˇĽźřnA.Śî‰ě°-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Ô~œkˆ9.]Ă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úvˆPą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?xLjR”ԣ޸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‚¨ĐíKˆy_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žů†žLƒAű"´Ť×‡ŃРşëĐ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›łZˆ3¸(f•ĺ4ť˛Ű°Č5}ˆgÉϢ“d"ęĚłgϘ”×qąűŕŁANj˘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ĐęŽfˆl0ç>ß%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ÁkˆL' ”䏣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!CˆBdĐę˘ $Ňď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Ę#¤)´âŞĂďVX,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ŔoPVš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ěňŤŞZRƒVëá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}ž ÉфNƒqüúŮ5ýüóĎ´ŕŮęѝXľ uk‰Ř*ň*_}Ä;žDőŸĂŁĂ¸Očŕ5‚J6ŽNŚ!ĚAAĺx‰oĄŢCöĘI­ €qç’j–Á@S…<­/Š,âĚ˙Šž eq ˝%ÍŤ’pGÇ„Š¸¨5X çQě�ID Źď‚´€8ދ ýœžžö*ëÝÇ6ń#nKDU7•ťöÎDmŠ˜ Рπ>Ž&ţn•v^Ö3`\ת"čc Ľwyçϓú â!Jú!ăj{÷Hk7@Ă˝c\OúS¸'”-“Ľ2 ’§ňÝ „Ůˆş˘ţÖĐávâĂůŻ&rlƒüťEꁐ#„ˆƒźÖ÷z_üB“<KBvП˘:Љ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Ԙẽĺíń!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Ń!áŞw˜vÝ%ŽżŽŽŽ˘[Źé”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^Ľ#äkˆ7>ńľŠúŐť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ú„ă>8˜q:¸-ýŠÔ)‰ď˛š }ŽËóá}�‡‡ëŽŔä " )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)Äć"f1>Dh5MüéSáâéÓ§}SYî V€¸É9QÍŹTł/˘ŤŻqó{_0‘ăęšI' ćä˘˜w‘tňT}@čr ÎqtšŒďTJ?9ŚŮÁ´!žˆť3!“ŕZ |HúŁËŞx>ܗh"î؀Wo^ł˛ ŇrJěÔôęŐ+NˆQH—†&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 ¸kƒjĐĺŐ%_űńăÇśs?Š.Ąœ´ë-Qb§Ő#îGI:˜ř%ĺ•ŢëEV~’^\ůŠu×uÚMőˇÍďXÎŁtŸ­ŰľžžËPŸˇCž÷ďvbƒá6¸Š­ó‰eO[F'ă÷WţV÷ Ă}Áˆ?ƒa ş,ţxńQˆZ|(�ňqƒf‘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óű0ƒF ™­ŒD-@řAŘżüĺ/ěş a1Đ >€a”ŠîÂqă8öAQçŕ7ˆAř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°•ńˆhvđ!‹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&ŐNjzY‡UžĺýuĚ÷žoú"š‘k˙%âޏ2Ä0^Ső‰ĺךč‰ëË}3˙ Ÿňw(ţĐĂ%Ú%~plâÎÁ8hź?ÖÇÇÇŹ¨Ž~fžFqMII 0'•˘˙zňhÜÓzš†H„0‘DٞŠhĐ7őuű.DZpˆBX#(ť ë }ÝÔß=?ż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Œřc06ƒmř(ů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­Rk¨„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\ŃĂ1z8fnŸ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 …ⲥÄ…BqcOç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ĆŊç%ţ@íGˆ1P0ßÚÚ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ô*…ňCDq‚{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ʕœURwůŽůÄ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ç!~™Šü¤ÄŸFƒc†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ž�$.Ä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˘ßrgÓĄ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ŞřX6Zƒƒ4?Č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,cHŒ§ý>‚:6zWcă8.ýŔTËó BşB1žnQăŞő›s^3—@ˆ §˛˜f XőšŠÄ[ŰIE Š’ŔŹK̍W“ 1łÓçóLFś ­]Ľř“ĹlP2hV(3Lˆ4ńš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[|}4ƒkăř摉ҺžÉǔÁ}܄â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ŹŐŰÜowƉÔËäú¤őĎU”Źź+CV´ }؉ÂSBĄ¸�(ńGĄPÜŘĆ Çćß9ڎ3V/ÎKsZ …BĄP(Š‹G\ô™|ú™=q “öÉňţ™ĄiSÇlÜY6ňBŔ„ë‡~ȨGQÖ€1�Äěç¸Ŕä;öÉ& y}UĹť‹vŤ¤í3Úč—�–]׍†Îč6.ÜśAƒQÁűƒĄ›ÄƒŒÖö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îŽKVˆbrćŚń[Ž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ĆŢxY5m0Á)}LÔK:yŸPˆD˜T‡!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–N˜lŤ 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 I˜7É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%NJă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˝ZiQa]ÜŽ/ş-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†Ąúp˜hr�{Đţ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ž ÎúŃEˆ1)¨ü€< ž×ĘMž,Y� S˝pý1(ů`\€xďżwŸnßšăóéöA%ôĺ˗ôŸ˙óf7^PëŚśťĆŰťn4Q÷¤Ă.ČţęŻţŠž˙ýďÓˇžő-&ő|řŃGœoëŢQp&.¤@‚rˆFˆnŠóžŢ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á%űƒÚ‘„â€ ^ ĘDˆWŠýţ‡Ü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ƒ] ¸ßbWxB J]iŐbŚ.ŠbĚ2„žZ3ƒBĂÂá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Ą¸1˜6éşčdě,ŇĎ"adü*'ž …BĄP(s`˝ú=&5<ž‰“‰zo ‡AƒX=ę>˜¤§Ý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?ú}ç;ßa5zZî} ľ ‡~ĐČ÷'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‰MjaPˇ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ďlDž.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ÄźĄp5RĐçĽÇ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ށ �Pvjj7D3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�ŒîB˜c{~>΁â >…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ęlBń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?üáéńƒ'ŃuˆSĆ,‘Ţ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ЄŠĘUˆZXžę7›šˆIHt!đŞ#ŤÍŢĎ6ĘĎ;WTNšęLCř 60ɃŠS~jnƒLFš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Žlƒa\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+Sh°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=Bw´€¸çż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Ź€JLr#ţ?ţńœ'ěUńo-n ˆy•­;Žô…ÂVßŕš„đ„ýŁŕ7[Ę!ŸUCˆBĄ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¨ďxEgDíǓ 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™óôkvšÚv+Éű´÷Kű-BŽBZŞ˝†ë΢Z¤:ďţ) ĹŐb9b˙äŚP(ç‡ Ĺ\¤Ť[Rrod0*Deđ�>­Á*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Äđ2ƒc‚ €ă,b˛Š:päƒĎ'OžđŕÄl˜˜Ćęk¸ Ă .š0p7aH鈚¤é?Ί]¤!Ňň~řaTB~0Ć~‹ěĂqz$m j&Çąű�¤ 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„ŘŇA˜T‘ńă;Œ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ŽOˆC˘ú“–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ęć Ľv˜JD' q~j]š\3hĺgÉŢÔrĆÇy{—˗*łäő›ěsâόzkóp&(TBĄ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!t˜0ô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‹IBĄPœJüQ(—ŽtI:�YduIS\Mß/ MůI'¸WÉłBĄP( …bYTý<ż*ş ţĂN aC¨ ż"îÁę“ju7\š‘e1X^­źč=íO*Ă“‹.8ŽH’Râ\PˆBĄ¸<ˆ\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ÚQ6 œƒßâ:6%ŇŚ~äX2Ä패R.ƒ<|ŻŰŁ÷îßç|">äUÔ1q= 20ˆcNü]”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Âpˆ0ŇÖá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ťî@Îň"ЂŞ Ře0XWĺŠ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Ąx6„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ŹĺŸ“ üƒ-Œ|‡^íÇązÇĹ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[ˆž“Ř ¨ĺ_„ts„Ô’÷SbK.ENŔi ‡ÖOˆK˘>™’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!-ĽUS˜H/'˙˜@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đM7lCfh"|° ѤŽ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áë73OqÇô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íôĎ1˜lĂ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€¸œRˆ08Kű(ń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‚óOˆTřţňĺËÄĹ"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ş Ĺۊfƒeń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ϘŒU2BĄP( …bIąÓIWŇÚ\ń‡¨NúÉ÷Ď#ůäżqçe8Śý_ĹŰ ă ąŁćrËÚĆ1  t<ĄôTę–5€Ähj*Y™Ć4“ăšM@:eţ¸ÖÚKÂ=Z•~CýwSęíÓ¤Q5Uz€!ŸB�Â~™…Čˆ[1l˘>8Eq(%ţˆ‘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(Ţ%¤]}ď+ŽőWˆBĄPŹ %ţ(Š…‘tóÁćŹ >%) …BĄP(G5íűœ‰+…⌀ÇAôćĂÎ ŰÔE{LÍ•ŒEÁ W„Ő.é?Š¸Ńŕhę$‹‰ą¤¨Ńtƒe]pÇVŞ;”‘DŽ!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Ľďj˜6ˆö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 3I5ň% äÝ*Ţž}›Ă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ą ŇöďHhڇ­˙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ŇZ˜4mpú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Ý­emˆn§^>Š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ÜÝíĄ{é֞ť{ŕöúkn˜dĎ-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”Š Ź÷Öݕ+—}›°_¤é˛— ÝĽ—ł‡ nBNSűŃږ•@§>?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‡>…lrˆf����° ü€‰„Ŕ&¤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ĎxLářă_ůŽăŐŇ)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â‚ü™Uƒ2*ŻŮÝ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—´ÖŰ4˜dLBSˆŇ°Ž´î—î¨OWúeŽşbŘö,Xm“.ú=˘í�Ŕr2 Üýű÷Ý`˙ŔÝž}Ű÷ Ý#$~9ěýuŘďşýýž;QҎŰÝŮwýč îćÍ[nóâšĂ ˝`%Wí{˜đGƒ2Ż^˝ę����`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:ÚśCArŘˋ€Ňʁ(-śî™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á~´{&ü ë˛ň–úËöŮžöJƒm8smą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\=˜– K11ňšŁńú��ŕLÓ�„?������°@DÎI5?těč$Žňtťš#Iĺ˜CFÂ9EÎ+çô˛÷5/šrĺJ™žA #T§Ä5ZŽ ŇØ㏉*LÔŁ—‰.ĚiĹR*ŘČq•1‡äčĽíŮ<ŐŠý°ۜ܌%čŃ6€Ňś•–Bű,!^śĎqč]ÓÝ˝{NJS˘!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ž"I9ü(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Ű]źÔómƒ9ËvíŹXŞŰK—.š7nŕ˛�°Ř}°ávČu�ćá������œ łtbÉŮGî(rĆńĺ“ %21QKmeA}^뎝 —ÜúúŚ!t:ÝŇą$w*é”.@śŽ˝ŤNmł×[ĎÖŻD8ƒEađ݂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ţĹŽ&'ŁřúžÂtƒm.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„,U˜DŰŰŰžŽŁ¤’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‡•ixXšbJeN ~6Ýh¨ce˜ż;>ŐW’ěşěˆÉŽ•5ŠřăPŽ>Ă4/_ˆYě8”h-‘=P1ms2W 8eV(�˛yöžĄ°ĂŽůŘY' …Â;_ěs~ Ëí„őLL: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ŁkD:ć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���`÷´–œxˆktI{Ia{mAŽÔ;ޤQ qp5°Ňď'ŔěĎ5ˆgL`ÁČ´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����`Y˜6şş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§ŁłčG˜vÝLƒ3ĺşń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´´˛Ü1ƒ3dÖŕ\Ü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°ŠžÉ'?OŞăźŰŮČŽTŮq6Ę"¨-šÉNŠ]óz%źÉŽďn^^˘žííżlcc˝vŽä¤#?ˆEőëYYçŽ j‘ŻĐtţůçŠ^Żë÷ť$úČ=(Mí;¨Žěš~c­*ď—Ń„Ëíâ?~PčԜ1#žĎĹÇą3�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Őaƒvs!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ň€OMˆS<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 bƒpMh:ÎŘ÷°ß×ŢľMľ/ő˝L°tڔíáw›ůȟ9Ď ý ô÷°gF;ţěx˧ôKQPč eÂű;Úńh"7;ŢÍ!+ż>tËxŽšţŘßTŽ=ţxcö,˛ŃŰôĎĎ>v?u÷ÝBřs -šÍ ëŮńłYîgţŒźćë‘{ŠŘß?đóő=uź˜ HŸ|ŕŒ={çâ ˙LŹÁ4#W—ýäá*űť×…?šőÚ%ˇ1Z/§}jđ¤uč„;éż{2ĽúđŠîăež$hO&ąĂĎěmİ=ÚśíM€Őá�Œa#­ál IŮhgk@ÚCŒ­g˜mŠ 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šP˜fĺ-=ś=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‹K8Q{›Y‡ű…ËŮëŞŰ۸äŇţŽĽš¨Ç;Śh_˙ ¨ťęČK‹!Ď{žLßÝĎڛaÇľ}rzZtrŤ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Ń˝=׊6gRˆjY;żzNŽImŕŒžƒž§š/Ç(@Ţ ‰őžRˆ]¨Žç(ŐWţ°Ľ”ĽÄëřtĘËL>X)űĚŻ.ivúÉ?×EŤGxŔęđ�Ćíöŕ¨Ć™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—óá>�ç‹1XM§ž]éŠö—/[¸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Š…˛ç*Ÿ>/ńÇąŇĎ%Ü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Ž?ľeEGb…$• 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/”űŚ™Ż=Ř|Î/?ÖFIƒz%÷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î*پ餞NZśŠÍ8Š �ŤÂ€%ä4„5ą¸'l$4‰~Â}��€:ÜaőÉĽ<ůÇşиÓO%ţń#Ö,͂OcxńŹÁ“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–ŇÁčěŘůDŽçŐ¨í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÷ ú€„?�ŤJ˜6a‚`¨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‰{JgWˆBĄ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Ľ Žt1S�€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čĚ›Ę ń���������������N˜Y…"Ç]Ζřď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ÁçŔYgˆpJ7‰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ˇ�´s˜6ž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?ółî°Ś}Vmfƒv�Ŕ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ş/ú˘˙§?Ś'qZmvƒv��Ŕâƒđŕ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óE0đ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}jUj[ŇĐ B"Úë ƒßNܓޏŚC+ĽĆý[čx śPÝÎőÔ°wőŸöuď>‘ĘËűň=.“΋L;Ľr™ś”÷Ę4FÍĽX ńń|îs7Ůbćř{űI'Mâ{;â{pŃE¨xf&}ó›ßą—AIˆE.šä"ʔ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Äo˜SʍuŤwľĐ’җÉŘ_Óžm ‚ĐťI˙éÎ.5P[C–>@͇wQŽ čĐŰSË s(2éLŽAŃXŻ;‹œ´5>ËĽňm2%[6S÷Ÿ\‰e_|ńĺ´ËÜ|ógů1Ů˝Ýٙŕ�ƒŽ§ł FméDˆw „˜:^`‚¸é+_šľ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)ö (cgŮ[€}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ÁQˆSšÇ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Ň÷4ˆke˙ô§żˆé$Ŕ(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ÔUˆbă( 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‡EƒZjŤ(Ô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?Ďĺř­­8K˜uÇ+f—¸NAş"ü„,ĐŢŔ#Ŕ1â@ŐQzĂ{"Ő. ć#Ží/) Ż;HĄ7Ÿ˘ŠŔAŘżœňF ć‘••ŁZ)÷ă÷!ޡ˝Çƒ÷#ůFă/&” ‚ľ<lĺűÖ×Só×iŰşj N8› njĄŚęľ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|°ŠŠpƒBăáf:0h=w¤”… ŕDź­´ˇĂ­;‚DîźóΉ™÷řăOŇśmŰcćĹťÉ áťăŽ;[­óĐč‘콡ßţşúęÓg, ~ôJş˙ţc–Ĺu?묭֫ˏŐÔÔĆĚ2dHŤeQR ŸůÎââ‹/´ŸŁŃŕďż/ćs†ă팆”űŇŕ3 ń•fáÂmMN<¸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ąOˆGĐI´Ž‹ ˘㍥ôą]FšBşó•í8ťŤcf‰ŰAş–xg'ÚŃĆm ~ěyÎeR8ţč'fˆuĆ1 Çź4ƒ ľXÂ$”őB›§ńŕţ§~2čˆí@@äď8]€´ČŠ żŽjëęÔ<Sˆƒr`˜ ň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řŹfƒICü´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ˆˇ0M‹Î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?űŮ˙ąCU6˜5:žXŰ@Ç3,ž!} Ý4S­[ččQœxԓáŮ“Ń áfă˛9i›~Ąëɴ̗ˆ~ş?u;߼c§˛ƒč 1*î×ńƗ "ĉÜ?ýéëyTśÓÁźűîűůg?{#—¨Mśž}űЏ~ô?ߌçű׿ţýň—żáŠ@g:œeZstçŤ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ŤXOBqKŒ&ş&í‚ă,ó]&ńď;úľ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ř\ęňaNGˆrŕęƒ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 í0Bţ"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Ç+Ú1˜8á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ťűŘŃó ë™ĺž<śđűąönjsŁŻ^÷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âKAˆE„?‚†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|ĄÜ €ŕüŁŚdƒA„Î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úŰvˆ8nç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•ş2ˆb–׃+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 Ť‘áhƒYŸ 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 RWŇń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ŁhT;Á}ď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$™0LjiŰ´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čŹIƒiîÄĄäń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öť:ńFIˆ0ęă”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ŔńâĺAƒqü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ÇnƒZťŁŰîA! ˘RĞx˝^՞čáç˜xžšÜŚú…œ%Ž2şÚǢŸ;&#ţď$ÎBÚ]G zbÉă܃Ťí˜dŸŤ¨ Š×OÖyĆyu”TsťÔńŤö[:7Îó‚‰ďă÷Ÿăó>1Iڌ?ŽŰ§pĚńż›N2‰Á˛‡ŕ˝řŐÎEˆ1!ţD;)~c;*ŠÍV|šŹ˙ŮgŸç˜%ş0ˇŤAuíľWóůE<ä<żˆš!¨Á4}úiě&ŢYtfŹ’ĺ-` ×4]œ-š€Ä—‚ dţ˝žV#C$„¸ů˘pËŢýT;g>E6$— HŃHˆNˇĎĂžţć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Ź„Ńŕɀ°ˆď°ÝkF6Ŕ ”Űó¨>âᆩĎ'â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ţBH˘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&].Yˆj`ÁŰŐŕ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ŞŒ:˛08pL8…?�÷ą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~ %Śš,ÖŇNJQż™ř,✧žč}ńŰ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Ęe2qt.ăüν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•ŕâó€ýÓűqˆx´Ű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“¸§€FƒaÆ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ŽŘ÷šĺ?ňř;W˜tŠ: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ÄďźłŠď-Š@÷úë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?"9Dƒ0#ŚżřĹ/éë_˙}÷š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‰Řë$#Ú~@‘}LNOüńƖ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%2ƒUP?•­Üă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ĺ}űĆ~Î î=TˆvF”ľ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Čm0eŤƒ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Ż{Řyˆx€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Ůŕĺ—_ćÇącÇ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Đj˜pŽč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çkLj[đşĎ�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_š<v˜JZS—ů˛×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‰Gqqnj“&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ô°3Aw||*6ŘrzƒGd 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Ü9ˆxŮç"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‡ëůҗž\YFƒvűIe ��0ď„÷ÔE.ĹZräQŞwsŠ‘t'?erŻžéŽRü㠁ËŇҲżx:ťżčpźŔ%_‡bKƒeN=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Ď>űœűň—÷óőSˆVtł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÷™Í—;DƒxŠë‡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Ô���0kˆ4�j˜Fü.2n=ś\•Đ'žNłśŢwß}î-oyŁ{Ď{ţȋţń?ţ1/ú‘óD@ayĄ:™z2Bƒ0׎Ý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Ęó(°AˆaŹ­őĘ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 ŽœW˜oů–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_˛ŻRˆ3Đű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ßńގgƒG“‹~Œ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Áz3Oł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źwƒWźÇ/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 2˜D?‘Ï}–ő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“jg}}ÍÝ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‡���ŕh6ˆ3ęéáEpXDöëţ3nÄâ���0­ g?qDčTŁ´VZťeí8IŃɸąÜ˘ÄlÓś“˜���ŕdđŽœY<Ů����Njýzt|9Î:ĆřěÇá‡8şÇ~7Śu���€Ĺ`^ăËYť�ůí4§ýsÂâĹăłáî��0ßđŰ óÂ82Ş:ľ����p˛ŮĎÍíÎ/Ç”'5˜1é 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����Nj|Ľí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|]'Ö�����€á� ýřżÇü űŒ“Œô_��Njžëzí`Jľ¨f`,ŚďĂ0Pż�(ü K˛]“Š�`N˜aLˆ˜�`ž™ä:˝o‘B ������X@ţ�œ †ß,!úév+§× ~fäT[n RŇ~�ɸb™ĄN8+\‰ÇZú4DQÁ~§ŸjŻ#űM Ĺ?áźb-ŽNüƒëŔ˛ÎžĹ=CâY��8H&‹ťęŽ÷SÇoŠcƒJ������Ŕ<€đŕ„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ăNjSÔKl �pä ëT]§ë˧C\(GRáRY9 ������ŕ@řp˜6ľÁ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�“}‰~ŇŃeƒXuŇuŰľl"Aq)�@5u1â8‹şdČő5R~ë2Ň>—É*GĘ}€˙������ŔƒđŕD2|Đ#|*n”čgPĐS/řqćŃ`óĚÝ'S˘×Ş6Öoƒ,��GM.橛™DƒAő¸~Ń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‹AƒI`݀ă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čÖ`. šć˙ęť#gƒ1ńÓ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"‘#�������Nuƒi: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ýŽ?ń`M0˜cƒ@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�ŔÂR5˜c„žĂć ‰é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ńˆÍ׀ľÖiNU˜PÇúűƍžN|H As vŰ`şĘjş Đ[[BĄH쐣ézŠl쐝qá<aÎ(&ząśče‚'ŐkB˜xż¨Œ śßL¤`N"Bui҄í ݖ´źęłý:ĂXůĐYEőI( A•­Kí˛}"B‡{™pÇD?śŰ÷Zżš’Řvk]śďMa‚$•ąĺÂóȄ?揣˛&–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‚„)DŽ b‡˜ĐŃÇÖem”°!t,2Q WŹŹ VĚĹ~ĚqGÓMˆbâ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ƒä­Bˆb˘ŃhvĽŔşmpŢrBᇠŽŰ@{čŢaŽ1&Ň0ÇŠh=̄Î=VNŸCLaăą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Â-í/s˜2a•-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îîă÷ЃLjř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ę Ő+aM 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‚돘GKb!_šßÜ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ÔÓ7X0VCˆC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”<ĹXNjQ˛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(šŠlLeŽ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śýTˆxĆüԈ}*Ň!âęú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ľĚMDŽ)ŞŰÄ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(´ ubNěŹ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ž={śŻŘ>2PUűíÜź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Š�€cƒněÚ ‚=š^…Ý@ö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Ź-Éd˜F•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#Š %ţ( …â•‚B˜Q‡°›şÂé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ƒĎĄN˜ZT–É{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Űö<wƒsi\ŕ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�’ t˜Z(Ü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ŃŽ›s8Šá„÷Ž{Xƒ¨NĂ{L”;ąM‚kľ;´4xv=ö[f× ˝Źżäa<ăÜś=ąűšmştÓŢ ŘĘ<sÁlčpv-œâ2#úÚľk<K„,Gy¨ýěíîfé2Pvee…Ű&A›*âO­ŚÄĹE^‡ ŕĆfꇤ€twŚ”‘@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°­â*áX˜Q>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řˆjˆAeŕž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ÂNƒVŽ]§Ĺ…ĹĚŽËŢ ‘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 .nfAČ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 ÍbˆA@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ĺ睞ô3ƒz1ą 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Ą8iˆm7ŠČ#Ď,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)ĽVˆI-ű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"ahwwßúś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 ÆŃ%Ow˜rě+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ëÚăéŮxNjMjQŚÔđ¸;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ÍľYbc†Ę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 •sˆB9œ‚Ňž{ö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šˆŐhLƒuˆĘ@ŠžmČÁĄSť)§žĺ<‚ßߊN;+ÇôULFü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—lCƒJAUä:ăť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‹šˇ)ˇIˆI~ťÎӏ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ӌŠ>*aBq0ĺ}ĺ—) ŤČ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{Ÿ•zˆrÂÎč>­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ťËEGʄ||#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šýŔΚ_ćě÷ꂽĺůPF˜2Cˆ{ňüŔď˛"Đ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ˆŒ+SqĄ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ŘĘߍzƒR?™ ?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˝ô¨wKĄÝäôŻĄ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׎ŃĘĘ -,,˛RpŇ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ŽŽŻŻgyˆaAžó쇐!¤ů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ÜŤ8WHƒs'D˜Ë9.7KǑÔÄQ%3Œžd/ú�njž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šÔ>ě3f´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„ű*— Ó-`lvěŘ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 #EÇąA‡~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)6˜f°ĺE‘GRЊ  ʀ(#¤v´ D¨”ř“Ľ:kľ˛˛’ú ~B_JżÍÎĚŇúľőB~ ůmÁţąOô!ڏv‹€2ř屝;w—@Dˇç˘ß “(†Máá[0DR5Ę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Śç”! s˜4Š׃ßӜţ¨Ř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ĄšĄ­ˆFƒiŽ9§hôVĺ2Š‹‹ňůqç2qé<ˆ2Ĺ jDŮłę;îTäÔ '‚I ý€H¤P(gă5hoƒáĆ4” O‹zшÚgAëk˜ďT<Âőb˙WĽXť ¸ ç^ě¸ňő*VĘťEzœúÎŤbÎ̲Ó&qěғíC2Iƒ664;ӄ>&!ĐcÄř{ŔÚ÷{<jIć=%ź–p ‰‚fđ-•@#Šľđu;;ť<#:ąöČE˘Č‰şAh‘tĚ AŔ>E‡ÓŘ>•DQÂ:´ D$´KśÁ:”éś“( FČI2>…#ě_&ʀPbs l†”Ăř  Ř‹0š&**büÍjG>ć|ăŘ1‹[ěAƒPű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$•”+çěUƒ9ulO€áňśěs¤ÂŞ535ŘR™ô؁¨Qc\'ׯ_ĎRHy\W •H™2i¤ęޗôV÷îÝŁĎţóYz­­jś2RTŰĎTF€źóÚkŻŃÚÚZ–ę çmĽŽ-5œ>ř€×AäŁĎ}îsÜłss<+úńăÇÜﰗ@pš}ű6ßP�ĺ"CĄŒŒž?Îő ßń‘{EˆO('ą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#TˆBrČ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éľ{÷˜ƒĺ†đzqěß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Ż­Ň˙öËŻŃńg6¨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ŢŽ|Đ O75Nt˙€Ç 01ŠüsR˝:Ź~K×(Z‡-NK…@E0ĺţđJU jÚ6Cĺe<xŔDh°}&„Ô!Š7ţ`=ˆ88^üĆ lVń‘�Pˇ›m'ăA�}„4_ŘßÇ÷ďłJˆF¨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~С(2˜q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ěľ’jPLjmřšmľéĹótŔŞ7†×ăšEŒSŻ_żž{ĐÖۡoór!ěěx‚ÍăǏš“P~ϧĺŠ<YFH@ â`{, ‰:BŒĂ>đűɓ'ÜěCˆ6¸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"Ć‘ÄŸâvƒk"%ţ(ÎĂŇ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Ř×3l= Ô`=?X' > ę�NŰÖ=W Ąý Â�(' XBȑ{DŇąIŰQ/7hž…L„óˆýâTlmm˛ŠŽíÇq QIˆPŇ|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>’KˆWĺÔ^hťfB%ůýIpÇ�ôöő¨§˙ŕđ€‰?hŰúú:}öłŸĺc@}¸7ĄD„ö IGúIŇq5ł™ŠśÇGˆNrŒ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;č›ňÄŇ4ˆAԃ¨°‰ˆ\á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ŮĺČwƒKŮՏű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�DŽΠ礌ú'ţ;şŇ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łš˝/ŠÉ`WˆzŽ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†Tmő;żó;?ţľ_ű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ĽÉH˜MZ•’ 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€đÝŐŢĎăŽç8Nj>…íľ’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™§Żßkrƒv:ô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„r˜A Ŕ‘'4ˆ8â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>ŁqƒQ­Ď’ž­í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Ä vN’ęËż>ËA6ëˆć´[iŇśŸőăkRŞ{:Í騠ŻÂ3Iż¤vœś}ŘĽű/čă]˘ľľ:Ĺű]VŘď§1í$+ôýüöÚŠm{Ł’ŕ2€ČÍÝÍÚSZ ľœŢ)΋…ľœBĹßÚL8>Q˝‰‘f–IO‘?gŠSš1ăҝćÝłöŰ!lIL°}*űě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 Dˆv@<ÚŢĽš›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݇ˇ3˜q9Ă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öˇąą‘)ěšżĄpƒgˆ1˘ƒĺ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ňunrƒX:ő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 z˜vű”||Ű˝#?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PfLQĺČ’šÖfGŮŞ4m“â¤QHXáÍ*äXđŚĽS…â4đŁýđ?‡„ŸŸP`ŚJůg”(Myyůďq$ĄQ8Ňî4†‘‚&Y^ĺ" É>1夥pyĆůŘj_űÚ×ţÇçĎ_~aiiń˙@ …BqJ( EđŸ}˛Śľ”:5zŹŐˇÎŰž]Ńë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ۄ,„}Ł‘’LˆK’š 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ŰÁnƒB"lANÍ:"ëtD˘Ô#ż)SPM,ގ(Äů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Ԍ°–ƒXƒ64=Ąĺ„(#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ĺ –Ž_ŒäzˆˆtâŻâ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߸FfiZ˜­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Ÿ%L˜3 „Ě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ŸÇÓ'Ȏ˝‡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ž{ćô“ÓíČÖ٢›ęÜTŁ'ÔÂĚu†wÖ6;ĂmÓî¸L‘Ś.őoďłoú†öńt~ą†XĐf¨ŃŐDMłÚ/tü ŽW´��¸]\ě'”îöŕ[!tR˜ÓŃYuŔ]:ŕŒÇîúÓ4ö÷ĎěýZîŔž?ťq<î| ߤC`Ă7Yu0]Y:ŘŻeˆZig­Ö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š÷;íôŸ%}ţb˜FŸ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 č CˆKÁ•>ř šŻ÷\—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ÚVfpa2źŽ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)NOƒ9qţ(ů+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\g˜dŐŇë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-85ae777/scripts/������������������������������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0017044�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/scripts/countries.json.in�������������������������������������������������0000664�0000000�0000000�00000567670�15223463552�0022404�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-85ae777/scripts/countries.py������������������������������������������������������0000775�0000000�0000000�00000010422�15223463552�0021433�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-85ae777/scripts/install-deps/�����������������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0021443�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/scripts/install-deps/fedora-rawhide.sh������������������������������������0000775�0000000�0000000�00000000763�15223463552�0024671�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 # lsp clangd ) dnf install ${DEPS[@]} �������������bazaar-org-bazaar-85ae777/src/����������������������������������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0016144�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/article-list-schema.xml�����������������������������������������������0000664�0000000�0000000�00000000133�15223463552�0022515�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <list> <object class="BzCuratedArticle"/> </list> �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bazaar.gresource.xml��������������������������������������������������0000664�0000000�0000000�00000045075�15223463552�0022136�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-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-85ae777/src/blocklist-schema.xml��������������������������������������������������0000664�0000000�0000000�00000000714�15223463552�0022114�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-85ae777/src/bz-addon-tile.blp�����������������������������������������������������0000664�0000000�0000000�00000006216�15223463552�0021301�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-85ae777/src/bz-addon-tile.c�������������������������������������������������������0000664�0000000�0000000�00000017522�15223463552�0020750�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-85ae777/src/bz-addon-tile.h�������������������������������������������������������0000664�0000000�0000000�00000002271�15223463552�0020750�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-85ae777/src/bz-addons-dialog.blp��������������������������������������������������0000664�0000000�0000000�00000030345�15223463552�0021766�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-85ae777/src/bz-addons-dialog.c����������������������������������������������������0000664�0000000�0000000�00000053501�15223463552�0021432�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 "bz-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 "bz-template-callbacks.h" #include "bz-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); } 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-85ae777/src/bz-addons-dialog.h����������������������������������������������������0000664�0000000�0000000�00000002141�15223463552�0021431�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); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-age-rating-attribute.txt�������������������������������������������0000664�0000000�0000000�00000000527�15223463552�0023341�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-85ae777/src/bz-age-rating-dialog.blp����������������������������������������������0000664�0000000�0000000�00000001524�15223463552�0022531�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-85ae777/src/bz-age-rating-dialog.c������������������������������������������������0000664�0000000�0000000�00000107107�15223463552�0022202�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-85ae777/src/bz-age-rating-dialog.h������������������������������������������������0000664�0000000�0000000�00000002357�15223463552�0022210�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-85ae777/src/bz-all-apps-page.blp��������������������������������������������������0000664�0000000�0000000�00000003112�15223463552�0021674�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-85ae777/src/bz-all-apps-page.c����������������������������������������������������0000664�0000000�0000000�00000010622�15223463552�0021345�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; GtkSelectionModel *selection_model = NULL; apps_page = g_object_new ( BZ_TYPE_ALL_APPS_PAGE, "page-title", title, "applications", applications, NULL); adw_navigation_page_set_title (ADW_NAVIGATION_PAGE (apps_page), title); selection_model = GTK_SELECTION_MODEL (gtk_no_selection_new (applications)); gtk_grid_view_set_model (apps_page->grid_view, selection_model); g_object_unref (selection_model); return ADW_NAVIGATION_PAGE (apps_page); } ��������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-all-apps-page.h����������������������������������������������������0000664�0000000�0000000�00000002105�15223463552�0021347�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-85ae777/src/bz-app-permissions.c��������������������������������������������������0000664�0000000�0000000�00000123476�15223463552�0022067�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-85ae777/src/bz-app-permissions.h��������������������������������������������������0000664�0000000�0000000�00000014553�15223463552�0022067�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-85ae777/src/bz-app-size-dialog.blp������������������������������������������������0000664�0000000�0000000�00000014304�15223463552�0022243�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: 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: 24; $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 { margin-bottom: 15; 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 { margin-bottom: 15; 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-bottom: 15; 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-85ae777/src/bz-app-size-dialog.c��������������������������������������������������0000664�0000000�0000000�00000013361�15223463552�0021712�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 "bz-io.h" #include "bz-lozenge.h" #include "bz-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_height (dialog, 500); 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-85ae777/src/bz-app-size-dialog.h��������������������������������������������������0000664�0000000�0000000�00000002176�15223463552�0021721�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-85ae777/src/bz-app-tile.blp�������������������������������������������������������0000664�0000000�0000000�00000004360�15223463552�0020772�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-85ae777/src/bz-app-tile.c���������������������������������������������������������0000664�0000000�0000000�00000021053�15223463552�0020435�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_name (GTK_ACTIONABLE (self), "window.show-group"); gtk_actionable_set_action_target (GTK_ACTIONABLE (self), "s", bz_entry_group_get_id (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-85ae777/src/bz-app-tile.h���������������������������������������������������������0000664�0000000�0000000�00000002531�15223463552�0020442�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-85ae777/src/bz-application-map-factory.c������������������������������������������0000664�0000000�0000000�00000007662�15223463552�0023457�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 "bz-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-85ae777/src/bz-application-map-factory.h������������������������������������������0000664�0000000�0000000�00000003310�15223463552�0023446�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-85ae777/src/bz-application.c������������������������������������������������������0000664�0000000�0000000�00000434672�15223463552�0021244�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 #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-env.h" #include "bz-error.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-gnome-shell-search-provider.h" #include "bz-hash-table-object.h" #include "bz-inspector.h" #include "bz-internal-config.h" #include "bz-io.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-util.h" #include "bz-window.h" #include "bz-yaml-parser.h" #include "progress-bar-designs/common.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; BzGnomeShellSearchProvider *gs_search; 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 running; gboolean had_cache_on_init; 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_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 * 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 DexFuture * preview_metainfo_then (DexFuture *future, GWeakRef *wr); 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 gint cmp_entry (BzEntry *a, BzEntry *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->flatpak_notifs); dex_clear (&self->notif_watch); dex_clear (&self->ready_to_open_files); dex_clear (&self->first_window_opened); 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->gs_search); 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; gboolean no_window = FALSE; g_auto (GStrv) blocklists_strv = NULL; g_auto (GStrv) content_configs_strv = NULL; g_auto (GStrv) locations = NULL; gboolean preview_metainfo = FALSE; GOptionEntry main_entries[] = { { "help", 0, 0, G_OPTION_ARG_NONE, &help, "Print help" }, { "no-window", 0, 0, G_OPTION_ARG_NONE, &no_window, "Ensure the service is running without creating a new window" }, { "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)" }, { "preview-metainfo", 0, 0, G_OPTION_ARG_NONE, &preview_metainfo, "Preview a metainfo file by selecting it via file dialog" }, { 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; g_debug ("Starting daemon!"); g_application_hold (G_APPLICATION (self)); 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 (!no_window && !preview_metainfo) { if (locations == NULL || *locations == NULL) new_window (self); else get_or_create_window (self); } if (locations != NULL && *locations != NULL) command_line_open_location (self, cmdline, locations[0]); if (preview_metainfo) { g_autoptr (DexFuture) future = NULL; future = bz_metainfo_preview_pick_files (); future = dex_future_then ( g_steal_pointer (&future), (DexFutureCallback) preview_metainfo_then, bz_track_weak (self), bz_weak_release); dex_future_disown (g_steal_pointer (&future)); } return EXIT_SUCCESS; } static gboolean bz_application_local_command_line (GApplication *application, gchar ***arguments, int *exit_status) { return FALSE; } static gboolean bz_application_dbus_register (GApplication *application, GDBusConnection *connection, const gchar *object_path, GError **error) { BzApplication *self = BZ_APPLICATION (application); return bz_gnome_shell_search_provider_set_connection (self->gs_search, connection, error); } static void bz_application_dbus_unregister (GApplication *application, GDBusConnection *connection, const gchar *object_path) { BzApplication *self = BZ_APPLICATION (application); bz_gnome_shell_search_provider_set_connection (self->gs_search, NULL, NULL); } 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; app_class->dbus_register = bz_application_dbus_register; app_class->dbus_unregister = bz_application_dbus_unregister; 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_assert (BZ_IS_APPLICATION (self)); 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); self->gs_search = bz_gnome_shell_search_provider_new (); 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), _ ("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>")); 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, PACKAGE_VERSION) != 0; } } } if (wipe_cache) { bz_state_info_set_donation_prompt_dismissed (self->state, FALSE); 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 (PACKAGE_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; 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 (bz_entry_group_get_removable (group) > 0) 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; 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); 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: { 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)); } break; case BZ_BACKEND_NOTIFICATION_KIND_REMOVE_DONE: { 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 && !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 * init_fiber_finally (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; const GValue *value = NULL; 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); if (!bz_state_info_get_metered_connection (self->state) || !self->had_cache_on_init) { 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 connection is limited. 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); 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)); bz_gnome_shell_search_provider_set_engine (self->gs_search, self->search_engine); 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 command_line_open_location (BzApplication *self, GApplicationCommandLine *cmdline, const char *location) { if (g_uri_is_valid (location, G_URI_FLAGS_NONE, NULL)) { if (g_str_has_prefix (location, "appstream:")) open_appstream_take (self, g_strdup (location)); else open_flatpakref_take (self, g_file_new_for_uri (location)); } else if (g_path_is_absolute (location)) open_flatpakref_take (self, g_file_new_for_path (location)); else { const char *cwd = NULL; cwd = g_application_command_line_get_cwd (cmdline); if (cwd != NULL) open_flatpakref_take (self, g_file_new_build_filename (cwd, location, NULL)); else open_flatpakref_take (self, g_file_new_for_path (location)); } } 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 (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 DexFuture * preview_metainfo_then (DexFuture *future, GWeakRef *wr) { g_autoptr (BzApplication) self = NULL; g_autoptr (GError) local_error = NULL; const GValue *value = NULL; BzMetainfoPickResult *result = NULL; g_autoptr (BzEntry) entry = NULL; GtkWindow *window = NULL; bz_weak_get_or_return_reject (self, wr); value = dex_future_get_value (future, &local_error); if (value == NULL) return dex_future_new_true (); result = g_value_get_boxed (value); window = get_or_create_window (self); 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_true (); } bz_window_show_entry (BZ_WINDOW (window), entry); return dex_future_new_true (); } 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 gint cmp_entry (BzEntry *a, BzEntry *b, gpointer user_data) { gboolean a_is_runtime = FALSE; gboolean b_is_runtime = FALSE; gboolean a_is_addon = FALSE; gboolean b_is_addon = FALSE; a_is_runtime = bz_entry_is_of_kinds (a, BZ_ENTRY_KIND_RUNTIME); b_is_runtime = bz_entry_is_of_kinds (b, BZ_ENTRY_KIND_RUNTIME); if (a_is_runtime && !b_is_runtime) return -1; if (!a_is_runtime && b_is_runtime) return 1; a_is_addon = bz_entry_is_of_kinds (a, BZ_ENTRY_KIND_ADDON); b_is_addon = bz_entry_is_of_kinds (b, BZ_ENTRY_KIND_ADDON); if (a_is_addon && !b_is_addon) return -1; if (!a_is_addon && b_is_addon) return 1; return 0; } 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, REFRESH_WORKER_BIN_NAME, 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, _ ("Loading %d apps…"), 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-85ae777/src/bz-application.h������������������������������������������������������0000664�0000000�0000000�00000002022�15223463552�0021225�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-85ae777/src/bz-apps-page.blp������������������������������������������������������0000664�0000000�0000000�00000006341�15223463552�0021135�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-85ae777/src/bz-apps-page.c��������������������������������������������������������0000664�0000000�0000000�00000034524�15223463552�0020606�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 "bz-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, g_object_ref (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-85ae777/src/bz-apps-page.h��������������������������������������������������������0000664�0000000�0000000�00000002725�15223463552�0020611�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-85ae777/src/bz-appstream-description-render.blp�����������������������������������0000664�0000000�0000000�00000000466�15223463552�0025054�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-85ae777/src/bz-appstream-description-render.c�������������������������������������0000664�0000000�0000000�00000051424�15223463552�0024521�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); static char * normalize_whitespace (const char *text); 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; 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); 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) { const char *element = NULL; const char *text = NULL; XbNode *child = NULL; int kind = NO_ELEMENT; GtkTextMark *start_mark = NULL; int child_count = 0; 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 (text != NULL) { g_autofree char *normalized = NULL; normalized = normalize_whitespace (text); 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); tail = xb_node_get_tail (child); if (tail != NULL) { g_autofree char *normalized = NULL; normalized = normalize_whitespace (tail); 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) { g_autoptr (GString) result = NULL; gboolean in_space = FALSE; gboolean at_start = TRUE; 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) 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-85ae777/src/bz-appstream-description-render.h�������������������������������������0000664�0000000�0000000�00000002741�15223463552�0024524�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-85ae777/src/bz-appstream-parser.c�������������������������������������������������0000664�0000000�0000000�00000070233�15223463552�0022214�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 "bz-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-85ae777/src/bz-appstream-parser.h�������������������������������������������������0000664�0000000�0000000�00000003232�15223463552�0022214�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-85ae777/src/bz-article-list-view.c������������������������������������������������0000664�0000000�0000000�00000020004�15223463552�0022261�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 "bz-env.h" #include "bz-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-85ae777/src/bz-article-list-view.h������������������������������������������������0000664�0000000�0000000�00000002462�15223463552�0022276�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-85ae777/src/bz-article-tile.blp���������������������������������������������������0000664�0000000�0000000�00000003267�15223463552�0021642�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-85ae777/src/bz-article-tile.c�����������������������������������������������������0000664�0000000�0000000�00000015165�15223463552�0021307�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 "bz-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-85ae777/src/bz-article-tile.h�����������������������������������������������������0000664�0000000�0000000�00000002322�15223463552�0021303�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-85ae777/src/bz-article.blp��������������������������������������������������������0000664�0000000�0000000�00000004153�15223463552�0020702�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-85ae777/src/bz-article.c����������������������������������������������������������0000664�0000000�0000000�00000036435�15223463552�0020357�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 "bz-env.h" #include "bz-global-net.h" #include "bz-io.h" #include "bz-rich-app-tile.h" #include "bz-screenshot-page.h" #include "bz-state-info.h" #include "bz-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-85ae777/src/bz-article.h����������������������������������������������������������0000664�0000000�0000000�00000002024�15223463552�0020347�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-85ae777/src/bz-aspect-picture.c���������������������������������������������������0000664�0000000�0000000�00000023747�15223463552�0021666�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-85ae777/src/bz-aspect-picture.h���������������������������������������������������0000664�0000000�0000000�00000002560�15223463552�0021661�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-85ae777/src/bz-async-texture.c����������������������������������������������������0000664�0000000�0000000�00000105043�15223463552�0021537�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 "bz-env.h" #include "bz-io.h" #include "bz-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-85ae777/src/bz-async-texture.h����������������������������������������������������0000664�0000000�0000000�00000004520�15223463552�0021542�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-85ae777/src/bz-auth-state.c�������������������������������������������������������0000664�0000000�0000000�00000034215�15223463552�0021005�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-85ae777/src/bz-auth-state.h�������������������������������������������������������0000664�0000000�0000000�00000003206�15223463552�0021006�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-85ae777/src/bz-backend-notification.txt�������������������������������������������0000664�0000000�0000000�00000001252�15223463552�0023371�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 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-backend-transaction-op-payload.txt���������������������������������0000664�0000000�0000000�00000000464�15223463552�0025277�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-85ae777/src/bz-backend-transaction-op-progress-payload.txt������������������������0000664�0000000�0000000�00000001035�15223463552�0027134�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-85ae777/src/bz-backend.c����������������������������������������������������������0000664�0000000�0000000�00000022621�15223463552�0020313�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-85ae777/src/bz-backend.h����������������������������������������������������������0000664�0000000�0000000�00000010376�15223463552�0020324�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-85ae777/src/bz-banner-view.blp����������������������������������������������������0000664�0000000�0000000�00000002051�15223463552�0021467�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-85ae777/src/bz-banner-view.c������������������������������������������������������0000664�0000000�0000000�00000020675�15223463552�0021150�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-color: %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-85ae777/src/bz-banner-view.h������������������������������������������������������0000664�0000000�0000000�00000002312�15223463552�0021141�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-85ae777/src/bz-blocklist-condition-match-envvar.txt�������������������������������0000664�0000000�0000000�00000000263�15223463552�0025662�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-85ae777/src/bz-blocklist-condition-match-locale.txt�������������������������������0000664�0000000�0000000�00000000214�15223463552�0025614�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-85ae777/src/bz-blocklist-condition.txt��������������������������������������������0000664�0000000�0000000�00000001060�15223463552�0023265�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-85ae777/src/bz-blocklist.txt������������������������������������������������������0000664�0000000�0000000�00000000740�15223463552�0021305�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-85ae777/src/bz-bulk-install-dialog-result.txt�������������������������������������0000664�0000000�0000000�00000000333�15223463552�0024467�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-85ae777/src/bz-bundle-install-dialog.blp������������������������������������������0000664�0000000�0000000�00000042712�15223463552�0023434�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; 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; 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-85ae777/src/bz-bundle-install-dialog.c��������������������������������������������0000664�0000000�0000000�00000041766�15223463552�0023111�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 "bz-context-tile-callbacks.h" #include "bz-env.h" #include "bz-flatpak-repo.h" #include "bz-release.h" #include "bz-safety-calculator.h" #include "bz-safety-dialog.h" #include "bz-state-info.h" #include "bz-template-callbacks.h" #include "bz-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-85ae777/src/bz-bundle-install-dialog.h��������������������������������������������0000664�0000000�0000000�00000003547�15223463552�0023111�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-85ae777/src/bz-category-flags.c���������������������������������������������������0000664�0000000�0000000�00000012356�15223463552�0021637�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-85ae777/src/bz-category-flags.h���������������������������������������������������0000664�0000000�0000000�00000004072�15223463552�0021640�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-85ae777/src/bz-category-tile.blp��������������������������������������������������0000664�0000000�0000000�00000001433�15223463552�0022025�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-85ae777/src/bz-category-tile.c����������������������������������������������������0000664�0000000�0000000�00000010753�15223463552�0021477�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-85ae777/src/bz-category-tile.h����������������������������������������������������0000664�0000000�0000000�00000002356�15223463552�0021504�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-85ae777/src/bz-content-provider.c�������������������������������������������������0000664�0000000�0000000�00000044477�15223463552�0022243�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 "bz-env.h" #include "bz-io.h" #include "bz-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-85ae777/src/bz-content-provider.h�������������������������������������������������0000664�0000000�0000000�00000003010�15223463552�0022222�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-85ae777/src/bz-context-row.c������������������������������������������������������0000664�0000000�0000000�00000005422�15223463552�0021215�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-85ae777/src/bz-context-row.h������������������������������������������������������0000664�0000000�0000000�00000002527�15223463552�0021225�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-85ae777/src/bz-context-tile-callbacks.c�������������������������������������������0000664�0000000�0000000�00000027740�15223463552�0023267�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-context-tile-callbacks.h" #include "bz-entry.h" #include "bz-safety-calculator.h" #include "bz-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); 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: return g_strdup (_ ("Safe")); case BZ_IMPORTANCE_NEUTRAL: return g_strdup (_ ("Low Risk")); case BZ_IMPORTANCE_INFORMATION: return g_strdup (_ ("Low Risk")); case BZ_IMPORTANCE_WARNING: return g_strdup (_ ("Medium Risk")); case BZ_IMPORTANCE_IMPORTANT: 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-85ae777/src/bz-context-tile-callbacks.h�������������������������������������������0000664�0000000�0000000�00000001756�15223463552�0023273�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-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-85ae777/src/bz-context-tile.blp���������������������������������������������������0000664�0000000�0000000�00000001300�15223463552�0021665�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-85ae777/src/bz-context-tile.c�����������������������������������������������������0000664�0000000�0000000�00000016752�15223463552�0021353�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-85ae777/src/bz-context-tile.h�����������������������������������������������������0000664�0000000�0000000�00000003112�15223463552�0021342�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-85ae777/src/bz-country-data-point.txt���������������������������������������������0000664�0000000�0000000�00000000257�15223463552�0023063�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-85ae777/src/bz-country.txt��������������������������������������������������������0000664�0000000�0000000�00000000434�15223463552�0021022�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-85ae777/src/bz-curated-app-tile.c�������������������������������������������������0000664�0000000�0000000�00000011042�15223463552�0022057�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-85ae777/src/bz-curated-appids-info.txt��������������������������������������������0000664�0000000�0000000�00000000235�15223463552�0023154�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-85ae777/src/bz-curated-article.txt������������������������������������������������0000664�0000000�0000000�00000000414�15223463552�0022365�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-85ae777/src/bz-curated-articles-info.txt������������������������������������������0000664�0000000�0000000�00000000424�15223463552�0023502�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-85ae777/src/bz-curated-banner.txt�������������������������������������������������0000664�0000000�0000000�00000000516�15223463552�0022212�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-85ae777/src/bz-curated-featured-carousel.txt��������������������������������������0000664�0000000�0000000�00000000430�15223463552�0024352�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-85ae777/src/bz-curated-image-info.txt���������������������������������������������0000664�0000000�0000000�00000000651�15223463552�0022760�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-85ae777/src/bz-curated-markdown-info.txt������������������������������������������0000664�0000000�0000000�00000000202�15223463552�0023510�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-85ae777/src/bz-curated-row.txt����������������������������������������������������0000664�0000000�0000000�00000001004�15223463552�0021545�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-85ae777/src/bz-curated-section.txt������������������������������������������������0000664�0000000�0000000�00000001035�15223463552�0022406�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-85ae777/src/bz-curated-view.blp���������������������������������������������������0000664�0000000�0000000�00000004615�15223463552�0021661�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"; title: _("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"; title: _("Offline"); child: Adw.StatusPage { icon-name: "connected-squares-x"; title: _("Offline"); }; } Adw.ViewStackPage { name: "content"; title: _("Browser"); 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-85ae777/src/bz-curated-view.c�����������������������������������������������������0000664�0000000�0000000�00000017275�15223463552�0021334�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-85ae777/src/bz-curated-view.h�����������������������������������������������������0000664�0000000�0000000�00000002320�15223463552�0021322�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-85ae777/src/bz-data-graph.c�������������������������������������������������������0000664�0000000�0000000�00000117563�15223463552�0020746�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-85ae777/src/bz-data-graph.h�������������������������������������������������������0000664�0000000�0000000�00000004613�15223463552�0020742�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-85ae777/src/bz-data-point.txt�����������������������������������������������������0000664�0000000�0000000�00000000326�15223463552�0021357�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-85ae777/src/bz-decorated-screenshot.blp�������������������������������������������0000664�0000000�0000000�00000000417�15223463552�0023363�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-85ae777/src/bz-decorated-screenshot.c���������������������������������������������0000664�0000000�0000000�00000011666�15223463552�0023040�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-85ae777/src/bz-decorated-screenshot.h���������������������������������������������0000664�0000000�0000000�00000002561�15223463552�0023037�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-85ae777/src/bz-developer-badge.blp������������������������������������������������0000664�0000000�0000000�00000003115�15223463552�0022301�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-85ae777/src/bz-developer-badge.c��������������������������������������������������0000664�0000000�0000000�00000032010�15223463552�0021742�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-85ae777/src/bz-developer-badge.h��������������������������������������������������0000664�0000000�0000000�00000002335�15223463552�0021756�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-85ae777/src/bz-donations-dialog.blp�����������������������������������������������0000664�0000000�0000000�00000006243�15223463552�0022514�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-85ae777/src/bz-donations-dialog.c�������������������������������������������������0000664�0000000�0000000�00000021601�15223463552�0022154�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 "bz-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; 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-85ae777/src/bz-donations-dialog.h�������������������������������������������������0000664�0000000�0000000�00000002102�15223463552�0022154�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-85ae777/src/bz-download-worker.c��������������������������������������������������0000664�0000000�0000000�00000040731�15223463552�0022044�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 "bz-env.h" #include "bz-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-85ae777/src/bz-download-worker.h��������������������������������������������������0000664�0000000�0000000�00000003046�15223463552�0022047�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-85ae777/src/bz-dynamic-list-view.c������������������������������������������������0000664�0000000�0000000�00000066431�15223463552�0022300�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-85ae777/src/bz-dynamic-list-view.h������������������������������������������������0000664�0000000�0000000�00000006674�15223463552�0022310�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-85ae777/src/bz-entry-cache-manager.c����������������������������������������������0000664�0000000�0000000�00000071066�15223463552�0022545�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 "bz-env.h" #include "bz-flatpak-entry.h" #include "bz-io.h" #include "bz-serializable.h" #include "bz-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-85ae777/src/bz-entry-cache-manager.h����������������������������������������������0000664�0000000�0000000�00000003650�15223463552�0022544�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-85ae777/src/bz-entry-group-util.c�������������������������������������������������0000664�0000000�0000000�00000010037�15223463552�0022170�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 "bz-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-85ae777/src/bz-entry-group-util.h�������������������������������������������������0000664�0000000�0000000�00000002123�15223463552�0022172�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-85ae777/src/bz-entry-group.c������������������������������������������������������0000664�0000000�0000000�00000166052�15223463552�0021226�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 "bz-env.h" #include "bz-io.h" #include "bz-size-result.h" #include "bz-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; } void bz_entry_group_reconcile_with_installed_set (BzEntryGroup *self, GHashTable *installed_set) { g_autoptr (GMutexLocker) locker = NULL; guint n_ids = 0; g_return_if_fail (BZ_IS_ENTRY_GROUP (self)); g_return_if_fail (installed_set != NULL); 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++; } 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]); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-entry-group.h������������������������������������������������������0000664�0000000�0000000�00000011067�15223463552�0021226�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); void bz_entry_group_reconcile_with_installed_set (BzEntryGroup *self, GHashTable *installed_set); G_END_DECLS �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-entry-inspector.blp������������������������������������������������0000664�0000000�0000000�00000004533�15223463552�0022426�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-85ae777/src/bz-entry-inspector.c��������������������������������������������������0000664�0000000�0000000�00000014462�15223463552�0022075�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-85ae777/src/bz-entry-inspector.h��������������������������������������������������0000664�0000000�0000000�00000002400�15223463552�0022067�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-85ae777/src/bz-entry-selection-row.blp��������������������������������������������0000664�0000000�0000000�00000001063�15223463552�0023205�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-85ae777/src/bz-entry-selection-row.c����������������������������������������������0000664�0000000�0000000�00000011462�15223463552�0022656�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 "bz-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-85ae777/src/bz-entry-selection-row.h����������������������������������������������0000664�0000000�0000000�00000002402�15223463552�0022655�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-85ae777/src/bz-entry.c������������������������������������������������������������0000664�0000000�0000000�00000264210�15223463552�0020067�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 "bz-env.h" #include "bz-global-net.h" #include "bz-io.h" #include "bz-release.h" #include "bz-repository.h" #include "bz-serializable.h" #include "bz-url.h" #include "bz-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-85ae777/src/bz-entry.h������������������������������������������������������������0000664�0000000�0000000�00000012402�15223463552�0020066�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-85ae777/src/bz-env.c��������������������������������������������������������������0000664�0000000�0000000�00000010611�15223463552�0017510�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-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-85ae777/src/bz-env.h��������������������������������������������������������������0000664�0000000�0000000�00000001662�15223463552�0017523�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-error-dialog.blp���������������������������������������������������0000664�0000000�0000000�00000002776�15223463552�0021656�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"; 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-85ae777/src/bz-error-dialog.c�����������������������������������������������������0000664�0000000�0000000�00000006016�15223463552�0021312�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-85ae777/src/bz-error-dialog.h�����������������������������������������������������0000664�0000000�0000000�00000002070�15223463552�0021313�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-85ae777/src/bz-error.c������������������������������������������������������������0000664�0000000�0000000�00000007463�15223463552�0020064�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-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-85ae777/src/bz-error.h������������������������������������������������������������0000664�0000000�0000000�00000002024�15223463552�0020055�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-exponential-function.txt�������������������������������������������0000664�0000000�0000000�00000000264�15223463552�0023471�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-85ae777/src/bz-fading-clamp.c�����������������������������������������������������0000664�0000000�0000000�00000026326�15223463552�0021254�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 "bz-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-85ae777/src/bz-fading-clamp.h�����������������������������������������������������0000664�0000000�0000000�00000002522�15223463552�0021251�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-85ae777/src/bz-favorite-button.blp������������������������������������������������0000664�0000000�0000000�00000002060�15223463552�0022402�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-85ae777/src/bz-favorite-button.c��������������������������������������������������0000664�0000000�0000000�00000031452�15223463552�0022056�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 "bz-env.h" #include "bz-error.h" #include "bz-favorite-button.h" #include "bz-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-85ae777/src/bz-favorite-button.h��������������������������������������������������0000664�0000000�0000000�00000002650�15223463552�0022061�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-85ae777/src/bz-favorites-page.blp�������������������������������������������������0000664�0000000�0000000�00000005407�15223463552�0022176�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"; title: _("Loading"); child: Adw.Spinner { halign: fill; valign: center; width-request: 64; height-request: 64; margin-bottom: 18; }; } Adw.ViewStackPage { name: "empty"; title: _("Empty"); child: Adw.StatusPage { icon-name: "starred-symbolic"; title: _("No Favorites"); description: _("Applications you mark as favorite will appear here"); }; } Adw.ViewStackPage { name: "content"; title: _("Favorites"); 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-85ae777/src/bz-favorites-page.c���������������������������������������������������0000664�0000000�0000000�00000031062�15223463552�0021637�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 "bz-env.h" #include "bz-error.h" #include "bz-favorites-page.h" #include "bz-favorites-tile.h" #include "bz-global-net.h" #include "bz-io.h" #include "bz-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-85ae777/src/bz-favorites-page.h���������������������������������������������������0000664�0000000�0000000�00000002100�15223463552�0021633�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-85ae777/src/bz-favorites-tile.blp�������������������������������������������������0000664�0000000�0000000�00000007200�15223463552�0022210�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-85ae777/src/bz-favorites-tile.c���������������������������������������������������0000664�0000000�0000000�00000024455�15223463552�0021670�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 "bz-env.h" #include "bz-error.h" #include "bz-favorites-page.h" #include "bz-favorites-tile.h" #include "bz-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-85ae777/src/bz-favorites-tile.h���������������������������������������������������0000664�0000000�0000000�00000002373�15223463552�0021670�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-85ae777/src/bz-featured-carousel-view.c�������������������������������������������0000664�0000000�0000000�00000012632�15223463552�0023307�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-85ae777/src/bz-featured-carousel-view.h�������������������������������������������0000664�0000000�0000000�00000002576�15223463552�0023322�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-85ae777/src/bz-featured-carousel.blp����������������������������������������������0000664�0000000�0000000�00000003431�15223463552�0022667�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-85ae777/src/bz-featured-carousel.c������������������������������������������������0000664�0000000�0000000�00000033022�15223463552�0022333�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 "bz-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; 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-85ae777/src/bz-featured-carousel.h������������������������������������������������0000664�0000000�0000000�00000002343�15223463552�0022342�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-85ae777/src/bz-featured-tile.blp��������������������������������������������������0000664�0000000�0000000�00000003554�15223463552�0022015�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-85ae777/src/bz-featured-tile.c����������������������������������������������������0000664�0000000�0000000�00000035217�15223463552�0021463�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 "bz-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-85ae777/src/bz-featured-tile.h����������������������������������������������������0000664�0000000�0000000�00000002333�15223463552�0021461�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-85ae777/src/bz-finished-search-query.txt������������������������������������������0000664�0000000�0000000�00000000470�15223463552�0023516�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-85ae777/src/bz-flathub-auth-provider.txt������������������������������������������0000664�0000000�0000000�00000000251�15223463552�0023530�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-85ae777/src/bz-flathub-category-section.blp���������������������������������������0000664�0000000�0000000�00000002047�15223463552�0024161�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-85ae777/src/bz-flathub-category-section.c�����������������������������������������0000664�0000000�0000000�00000025343�15223463552�0023632�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-85ae777/src/bz-flathub-category-section.h�����������������������������������������0000664�0000000�0000000�00000003524�15223463552�0023634�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-85ae777/src/bz-flathub-category.c�������������������������������������������������0000664�0000000�0000000�00000067231�15223463552�0022172�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-85ae777/src/bz-flathub-category.h�������������������������������������������������0000664�0000000�0000000�00000006071�15223463552�0022172�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-85ae777/src/bz-flathub-page.blp���������������������������������������������������0000664�0000000�0000000�00000057306�15223463552�0021626�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"; title: _("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"; title: _("Flathub Unavailable"); 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"; title: _("Browser"); 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-85ae777/src/bz-flathub-page.c�����������������������������������������������������0000664�0000000�0000000�00000023777�15223463552�0021300�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-85ae777/src/bz-flathub-page.h�����������������������������������������������������0000664�0000000�0000000�00000002257�15223463552�0021273�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-85ae777/src/bz-flathub-state.c����������������������������������������������������0000664�0000000�0000000�00000100604�15223463552�0021465�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 "bz-env.h" #include "bz-flathub-category.h" #include "bz-flathub-state.h" #include "bz-global-net.h" #include "bz-io.h" #include "bz-serializable.h" #include "bz-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-85ae777/src/bz-flathub-state.h����������������������������������������������������0000664�0000000�0000000�00000004101�15223463552�0021465�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-85ae777/src/bz-flathub-sub-category.txt�������������������������������������������0000664�0000000�0000000�00000000244�15223463552�0023345�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-85ae777/src/bz-flatpak-bundle-result.txt������������������������������������������0000664�0000000�0000000�00000000414�15223463552�0023522�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-85ae777/src/bz-flatpak-entry.c����������������������������������������������������0000664�0000000�0000000�00000066574�15223463552�0021524�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 "bz-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-85ae777/src/bz-flatpak-entry.h����������������������������������������������������0000664�0000000�0000000�00000004155�15223463552�0021514�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-85ae777/src/bz-flatpak-instance.c�������������������������������������������������0000664�0000000�0000000�00000342402�15223463552�0022152�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-env.h" #include "bz-flatpak-bundle-result.h" #include "bz-flatpak-private.h" #include "bz-flatpak-repo.h" #include "bz-global-net.h" #include "bz-io.h" #include "bz-repository.h" #include "bz-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; 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)); 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); 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; 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); } 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 */ result = flatpak_transaction_add_update ( is_user ? user_transaction : sys_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; 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); 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); 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-85ae777/src/bz-flatpak-instance.h�������������������������������������������������0000664�0000000�0000000�00000003310�15223463552�0022147�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-85ae777/src/bz-flatpak-private.h��������������������������������������������������0000664�0000000�0000000�00000003441�15223463552�0022022�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-85ae777/src/bz-flatpak-repo.txt���������������������������������������������������0000664�0000000�0000000�00000001310�15223463552�0021676�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-85ae777/src/bz-full-view.blp������������������������������������������������������0000664�0000000�0000000�00000105622�15223463552�0021174�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"; title: _("Empty"); child: Adw.StatusPage { icon-name: "sad-computer-symbolic"; title: _("No Results"); description: _("Try a different search query"); }; } Adw.ViewStackPage { name: "loading"; title: _("Empty"); child: Adw.Bin {}; } Adw.ViewStackPage { name: "content"; title: _("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-85ae777/src/bz-full-view.c��������������������������������������������������������0000664�0000000�0000000�00000063446�15223463552�0020650�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 "bz-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 "bz-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 "bz-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 "bz-spdx.h" #include "bz-state-info.h" #include "bz-stats-dialog.h" #include "bz-template-callbacks.h" #include "bz-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-85ae777/src/bz-full-view.h��������������������������������������������������������0000664�0000000�0000000�00000003076�15223463552�0020646�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-85ae777/src/bz-global-net.c�������������������������������������������������������0000664�0000000�0000000�00000027366�15223463552�0020763�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-env.h" #include "bz-global-net.h" #include "bz-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-85ae777/src/bz-global-net.h�������������������������������������������������������0000664�0000000�0000000�00000003463�15223463552�0020760�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-gnome-shell-search-provider.c��������������������������������������0000664�0000000�0000000�00000035531�15223463552�0024235�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-gnome-shell-search-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 */ #include "bz-gnome-shell-search-provider.h" #include "bz-entry-group.h" #include "bz-finished-search-query.h" #include "bz-search-result.h" #include "bz-util.h" #include "gs-shell-search-provider-generated.h" struct _BzGnomeShellSearchProvider { GObject parent_instance; BzSearchEngine *engine; GDBusConnection *connection; BzShellSearchProvider2 *skeleton; DexFuture *task; GHashTable *last_results; }; G_DEFINE_FINAL_TYPE (BzGnomeShellSearchProvider, bz_gnome_shell_search_provider, G_TYPE_OBJECT); enum { PROP_0, PROP_ENGINE, PROP_CONNECTION, LAST_PROP }; static GParamSpec *props[LAST_PROP] = { 0 }; BZ_DEFINE_DATA ( request, Request, { BzGnomeShellSearchProvider *self; GDBusMethodInvocation *invocation; GApplication *application; }, BZ_RELEASE_DATA (invocation, g_object_unref); BZ_RELEASE_DATA (application, g_application_release);) static DexFuture * request_finally (DexFuture *future, RequestData *data); static void start_request (BzGnomeShellSearchProvider *self, GDBusMethodInvocation *invocation, const char *const *terms); static void bz_gnome_shell_search_provider_dispose (GObject *object) { BzGnomeShellSearchProvider *self = BZ_GNOME_SHELL_SEARCH_PROVIDER (object); dex_clear (&self->task); g_clear_object (&self->engine); g_clear_object (&self->connection); g_clear_object (&self->skeleton); g_clear_pointer (&self->last_results, g_hash_table_unref); G_OBJECT_CLASS (bz_gnome_shell_search_provider_parent_class)->dispose (object); } static void bz_gnome_shell_search_provider_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BzGnomeShellSearchProvider *self = BZ_GNOME_SHELL_SEARCH_PROVIDER (object); switch (prop_id) { case PROP_ENGINE: g_value_set_object (value, bz_gnome_shell_search_provider_get_engine (self)); break; case PROP_CONNECTION: g_value_set_object (value, bz_gnome_shell_search_provider_get_connection (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_gnome_shell_search_provider_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { BzGnomeShellSearchProvider *self = BZ_GNOME_SHELL_SEARCH_PROVIDER (object); switch (prop_id) { case PROP_ENGINE: bz_gnome_shell_search_provider_set_engine (self, g_value_get_object (value)); break; case PROP_CONNECTION: bz_gnome_shell_search_provider_set_connection (self, g_value_get_object (value), NULL); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void bz_gnome_shell_search_provider_class_init (BzGnomeShellSearchProviderClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = bz_gnome_shell_search_provider_set_property; object_class->get_property = bz_gnome_shell_search_provider_get_property; object_class->dispose = bz_gnome_shell_search_provider_dispose; props[PROP_ENGINE] = g_param_spec_object ( "engine", NULL, NULL, BZ_TYPE_SEARCH_ENGINE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); props[PROP_CONNECTION] = g_param_spec_object ( "connection", NULL, NULL, G_TYPE_DBUS_CONNECTION, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); g_object_class_install_properties (object_class, LAST_PROP, props); } static gboolean get_initial_result_set (BzShellSearchProvider2 *skeleton, GDBusMethodInvocation *invocation, gchar **terms, BzGnomeShellSearchProvider *self) { start_request (self, invocation, (const char *const *) terms); return TRUE; } static gboolean get_subsearch_result_set (BzShellSearchProvider2 *skeleton, GDBusMethodInvocation *invocation, gchar **previous_results, gchar **terms, BzGnomeShellSearchProvider *self) { start_request (self, invocation, (const char *const *) terms); return TRUE; } static gboolean get_result_metas (BzShellSearchProvider2 *skeleton, GDBusMethodInvocation *invocation, gchar **results, BzGnomeShellSearchProvider *self) { g_autoptr (GVariantBuilder) builder = NULL; builder = g_variant_builder_new (G_VARIANT_TYPE ("aa{sv}")); for (char **result = results; *result != NULL; result++) { BzEntryGroup *group = NULL; g_autoptr (GVariantBuilder) meta_builder = NULL; const char *title = NULL; const char *description = NULL; GIcon *icon = NULL; group = g_hash_table_lookup (self->last_results, *result); if (group == NULL) { g_warning ("failed to find '%s' in gnome-shell search result cache", *result); continue; } meta_builder = g_variant_builder_new (G_VARIANT_TYPE ("a{sv}")); g_variant_builder_add (meta_builder, "{sv}", "id", g_variant_new_string (*result)); title = bz_entry_group_get_title (group); g_variant_builder_add (meta_builder, "{sv}", "name", g_variant_new_string (title)); description = bz_entry_group_get_description (group); if (description != NULL) g_variant_builder_add (meta_builder, "{sv}", "description", g_variant_new_string (description)); icon = bz_entry_group_get_mini_icon (group); if (icon != NULL) { g_autofree gchar *icon_str = NULL; icon_str = g_icon_to_string (icon); if (icon_str != NULL) g_variant_builder_add (meta_builder, "{sv}", "gicon", g_variant_new_string (icon_str)); else { g_autoptr (GVariant) icon_serialized = NULL; icon_serialized = g_icon_serialize (icon); if (icon_serialized != NULL) g_variant_builder_add (meta_builder, "{sv}", "icon", icon_serialized); } } g_variant_builder_add_value (builder, g_variant_builder_end (meta_builder)); } g_dbus_method_invocation_return_value (invocation, g_variant_new ("(aa{sv})", builder)); return TRUE; } static gboolean activate_result (BzShellSearchProvider2 *skeleton, GDBusMethodInvocation *invocation, gchar *result, gchar **terms, guint32 timestamp, BzGnomeShellSearchProvider *self) { g_action_group_activate_action ( G_ACTION_GROUP (g_application_get_default ()), "show-app-id", g_variant_new ("s", result)); bz_shell_search_provider2_complete_activate_result (skeleton, invocation); return TRUE; } static gboolean launch_search (BzShellSearchProvider2 *skeleton, GDBusMethodInvocation *invocation, gchar **terms, guint32 timestamp, BzGnomeShellSearchProvider *self) { g_autofree gchar *string = NULL; string = g_strjoinv (" ", terms); g_action_group_activate_action ( G_ACTION_GROUP (g_application_get_default ()), "show-app-id", g_variant_new ("s", string)); bz_shell_search_provider2_complete_launch_search (skeleton, invocation); return TRUE; } static void bz_gnome_shell_search_provider_init (BzGnomeShellSearchProvider *self) { self->skeleton = bz_shell_search_provider2_skeleton_new (); self->last_results = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref); g_signal_connect ( self->skeleton, "handle-get-initial-result-set", G_CALLBACK (get_initial_result_set), self); g_signal_connect ( self->skeleton, "handle-get-subsearch-result-set", G_CALLBACK (get_subsearch_result_set), self); g_signal_connect ( self->skeleton, "handle-get-result-metas", G_CALLBACK (get_result_metas), self); g_signal_connect ( self->skeleton, "handle-activate-result", G_CALLBACK (activate_result), self); g_signal_connect ( self->skeleton, "handle-launch-search", G_CALLBACK (launch_search), self); } BzGnomeShellSearchProvider * bz_gnome_shell_search_provider_new (void) { return g_object_new (BZ_TYPE_GNOME_SHELL_SEARCH_PROVIDER, NULL); } BzSearchEngine * bz_gnome_shell_search_provider_get_engine (BzGnomeShellSearchProvider *self) { g_return_val_if_fail (BZ_IS_GNOME_SHELL_SEARCH_PROVIDER (self), NULL); return self->engine; } void bz_gnome_shell_search_provider_set_engine (BzGnomeShellSearchProvider *self, BzSearchEngine *engine) { g_return_if_fail (BZ_IS_GNOME_SHELL_SEARCH_PROVIDER (self)); g_return_if_fail (engine == NULL || BZ_IS_SEARCH_ENGINE (engine)); g_clear_pointer (&self->engine, g_object_unref); if (engine != NULL) self->engine = g_object_ref (engine); g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENGINE]); } GDBusConnection * bz_gnome_shell_search_provider_get_connection (BzGnomeShellSearchProvider *self) { g_return_val_if_fail (BZ_IS_GNOME_SHELL_SEARCH_PROVIDER (self), NULL); return self->connection; } gboolean bz_gnome_shell_search_provider_set_connection (BzGnomeShellSearchProvider *self, GDBusConnection *connection, GError **error) { gboolean success = TRUE; g_return_val_if_fail (BZ_IS_GNOME_SHELL_SEARCH_PROVIDER (self), FALSE); g_return_val_if_fail (connection == NULL || G_IS_DBUS_CONNECTION (connection), FALSE); if (self->connection != NULL) g_dbus_interface_skeleton_unexport (G_DBUS_INTERFACE_SKELETON (self->skeleton)); g_clear_pointer (&self->connection, g_object_unref); if (connection != NULL) { g_autoptr (GError) local_error = NULL; self->connection = g_object_ref (connection); success = g_dbus_interface_skeleton_export ( G_DBUS_INTERFACE_SKELETON (self->skeleton), connection, "/io/github/kolunmi/Bazaar/SearchProvider", &local_error); if (!success) { if (error != NULL) g_propagate_error (error, g_steal_pointer (&local_error)); else g_warning ("Could not register gnome shell search provider: %s", local_error->message); } } g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CONNECTION]); return success; } static DexFuture * request_finally (DexFuture *future, RequestData *data) { BzGnomeShellSearchProvider *self = data->self; GDBusMethodInvocation *invocation = data->invocation; g_autoptr (GError) local_error = NULL; const GValue *value = NULL; BzFinishedSearchQuery *finished = NULL; GPtrArray *results = NULL; g_autoptr (GVariantBuilder) builder = NULL; value = dex_future_get_value (future, &local_error); if (value != NULL) { finished = g_value_get_object (value); results = bz_finished_search_query_get_results (finished); builder = g_variant_builder_new (G_VARIANT_TYPE ("as")); for (guint i = 0; i < results->len; i++) { BzSearchResult *result = NULL; BzEntryGroup *group = NULL; const char *id = NULL; result = g_ptr_array_index (results, i); group = bz_search_result_get_group (result); if (bz_entry_group_get_removable (group) > 0) /* Skip already installed groups */ continue; id = bz_entry_group_get_id (group); g_variant_builder_add (builder, "s", id); g_hash_table_replace ( self->last_results, g_strdup (id), g_object_ref (group)); } g_dbus_method_invocation_return_value ( invocation, g_variant_new ("(as)", builder)); } else { g_warning ("search engine reported an error to the search provider, " "returning an empty response to invocation: %s", local_error->message); g_dbus_method_invocation_return_value (invocation, g_variant_new ("(as)", NULL)); } return NULL; } static void start_request (BzGnomeShellSearchProvider *self, GDBusMethodInvocation *invocation, const char *const *terms) { g_autoptr (RequestData) data = NULL; g_autoptr (DexFuture) future = NULL; dex_clear (&self->task); g_hash_table_remove_all (self->last_results); if (g_strv_length ((gchar **) terms) == 1 && g_utf8_strlen (terms[0], -1) == 1) { g_dbus_method_invocation_return_value ( invocation, g_variant_new ("(as)", NULL)); return; } if (self->engine == NULL) { g_warning ("search provider does not have an engine, " "returning empty response to invocation"); g_dbus_method_invocation_return_value ( invocation, g_variant_new ("(as)", NULL)); return; } data = request_data_new (); data->self = self; data->invocation = g_object_ref (invocation); data->application = g_application_get_default (); g_application_hold (data->application); future = bz_search_engine_query (self->engine, terms); future = dex_future_finally ( future, (DexFutureCallback) request_finally, request_data_ref (data), request_data_unref); self->task = g_steal_pointer (&future); } /* End of bz-gnome-shell-search-provider.c */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-gnome-shell-search-provider.h��������������������������������������0000664�0000000�0000000�00000003411�15223463552�0024232�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-gnome-shell-search-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 "bz-search-engine.h" G_BEGIN_DECLS #define BZ_TYPE_GNOME_SHELL_SEARCH_PROVIDER (bz_gnome_shell_search_provider_get_type ()) G_DECLARE_FINAL_TYPE (BzGnomeShellSearchProvider, bz_gnome_shell_search_provider, BZ, GNOME_SHELL_SEARCH_PROVIDER, GObject) BzGnomeShellSearchProvider * bz_gnome_shell_search_provider_new (void); BzSearchEngine * bz_gnome_shell_search_provider_get_engine (BzGnomeShellSearchProvider *self); void bz_gnome_shell_search_provider_set_engine (BzGnomeShellSearchProvider *self, BzSearchEngine *engine); GDBusConnection * bz_gnome_shell_search_provider_get_connection (BzGnomeShellSearchProvider *self); gboolean bz_gnome_shell_search_provider_set_connection (BzGnomeShellSearchProvider *self, GDBusConnection *connection, GError **error); G_END_DECLS /* End of bz-gnome-shell-search-provider.h */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-group-tile-css-watcher.c�������������������������������������������0000664�0000000�0000000�00000023532�15223463552�0023236�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-85ae777/src/bz-group-tile-css-watcher.h�������������������������������������������0000664�0000000�0000000�00000003102�15223463552�0023232�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-85ae777/src/bz-hardware-support-dialog.blp����������������������������������������0000664�0000000�0000000�00000001650�15223463552�0024022�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-85ae777/src/bz-hardware-support-dialog.c������������������������������������������0000664�0000000�0000000�00000023515�15223463552�0023473�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-85ae777/src/bz-hardware-support-dialog.h������������������������������������������0000664�0000000�0000000�00000002177�15223463552�0023501�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-85ae777/src/bz-hash-table-object.txt����������������������������������������������0000664�0000000�0000000�00000000257�15223463552�0022576�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-85ae777/src/bz-hook-dialog-option.txt���������������������������������������������0000664�0000000�0000000�00000000343�15223463552�0023021�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-85ae777/src/bz-hook-dialog.txt����������������������������������������������������0000664�0000000�0000000�00000000704�15223463552�0021514�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-85ae777/src/bz-hook.txt�����������������������������������������������������������0000664�0000000�0000000�00000001134�15223463552�0020255�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-85ae777/src/bz-hooks.c������������������������������������������������������������0000664�0000000�0000000�00000052273�15223463552�0020055�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-env.h" #include "bz-error.h" #include "bz-hooks.h" #include "bz-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-85ae777/src/bz-hooks.h������������������������������������������������������������0000664�0000000�0000000�00000002440�15223463552�0020051�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-inspector.blp������������������������������������������������������0000664�0000000�0000000�00000055002�15223463552�0021264�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; 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; } } } }; }; } }; }; } }; }; [top] Adw.HeaderBar top_header_bar {} } } 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>; } }; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-inspector.c��������������������������������������������������������0000664�0000000�0000000�00000037364�15223463552�0020744�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 "bz-env.h" #include "bz-inspector.h" #include "bz-serializable.h" #include "bz-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-85ae777/src/bz-inspector.h��������������������������������������������������������0000664�0000000�0000000�00000002256�15223463552�0020741�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-85ae777/src/bz-install-controls.blp�����������������������������������������������0000664�0000000�0000000�00000012355�15223463552�0022571�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-85ae777/src/bz-install-controls.c�������������������������������������������������0000664�0000000�0000000�00000050454�15223463552�0022240�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 "bz-template-callbacks.h" #include "bz-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-85ae777/src/bz-install-controls.h�������������������������������������������������0000664�0000000�0000000�00000003213�15223463552�0022234�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-85ae777/src/bz-install-controls.wdgt����������������������������������������������0000664�0000000�0000000�00000007605�15223463552�0022763�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-85ae777/src/bz-installed-tile.blp�������������������������������������������������0000664�0000000�0000000�00000006326�15223463552�0022175�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-85ae777/src/bz-installed-tile.c���������������������������������������������������0000664�0000000�0000000�00000020706�15223463552�0021640�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 "bz-env.h" #include "bz-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-85ae777/src/bz-installed-tile.h���������������������������������������������������0000664�0000000�0000000�00000002373�15223463552�0021645�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-85ae777/src/bz-internal-config.txt������������������������������������������������0000664�0000000�0000000�00000000331�15223463552�0022372�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-85ae777/src/bz-io.c���������������������������������������������������������������0000664�0000000�0000000�00000031672�15223463552�0017341�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-io.h" #include "bz-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-85ae777/src/bz-io.h���������������������������������������������������������������0000664�0000000�0000000�00000005043�15223463552�0017337�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-lazy-wdgt.c��������������������������������������������������������0000664�0000000�0000000�00000023000�15223463552�0020636�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-85ae777/src/bz-lazy-wdgt.h��������������������������������������������������������0000664�0000000�0000000�00000004361�15223463552�0020654�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-85ae777/src/bz-library-page.blp���������������������������������������������������0000664�0000000�0000000�00000022410�15223463552�0021631�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"; title: _("Empty"); child: Adw.StatusPage { icon-name: "library-symbolic"; title: _("No Apps Found"); description: ""; }; } Adw.ViewStackPage { name: "no-results"; title: _("No Results"); child: Adw.StatusPage { icon-name: "library-symbolic"; title: _("No Results"); 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"; // Translators: . title: _("Library"); 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-85ae777/src/bz-library-page.c�����������������������������������������������������0000664�0000000�0000000�00000045743�15223463552�0021314�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 "bz-template-callbacks.h" #include "bz-transaction-tile.h" #include "bz-updates-card.h" #include "bz-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-85ae777/src/bz-library-page.h�����������������������������������������������������0000664�0000000�0000000�00000003341�15223463552�0021305�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-85ae777/src/bz-license-dialog.blp�������������������������������������������������0000664�0000000�0000000�00000006214�15223463552�0022136�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-85ae777/src/bz-license-dialog.c���������������������������������������������������0000664�0000000�0000000�00000022504�15223463552�0021603�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 "bz-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-85ae777/src/bz-license-dialog.h���������������������������������������������������0000664�0000000�0000000�00000002130�15223463552�0021601�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-85ae777/src/bz-linear-function.txt������������������������������������������������0000664�0000000�0000000�00000000256�15223463552�0022416�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-85ae777/src/bz-list-tile.c��������������������������������������������������������0000664�0000000�0000000�00000014716�15223463552�0020640�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-85ae777/src/bz-list-tile.h��������������������������������������������������������0000664�0000000�0000000�00000002336�15223463552�0020640�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-85ae777/src/bz-login-page.blp�����������������������������������������������������0000664�0000000�0000000�00000006052�15223463552�0021301�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-85ae777/src/bz-login-page.c�������������������������������������������������������0000664�0000000�0000000�00000054135�15223463552�0020753�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 "bz-global-net.h" #include "bz-login-page.h" #include "bz-template-callbacks.h" #include "bz-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-85ae777/src/bz-login-page.h�������������������������������������������������������0000664�0000000�0000000�00000002041�15223463552�0020745�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-85ae777/src/bz-lozenge.c����������������������������������������������������������0000664�0000000�0000000�00000023762�15223463552�0020376�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-85ae777/src/bz-lozenge.h����������������������������������������������������������0000664�0000000�0000000�00000003130�15223463552�0020366�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-85ae777/src/bz-main-config.txt����������������������������������������������������0000664�0000000�0000000�00000001425�15223463552�0021507�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 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-malcontent-service.c�����������������������������������������������0000664�0000000�0000000�00000015401�15223463552�0022524�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-85ae777/src/bz-malcontent-service.h�����������������������������������������������0000664�0000000�0000000�00000002330�15223463552�0022526�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-85ae777/src/bz-marshalers.list����������������������������������������������������0000664�0000000�0000000�00000002625�15223463552�0021620�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-85ae777/src/bz-metainfo-preview.c�������������������������������������������������0000664�0000000�0000000�00000016753�15223463552�0022216�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-entry-group.h" #include "bz-featured-carousel.h" #include "bz-metainfo-preview.h" #include "bz-rich-app-tile.h" #include "bz-util.h" BZ_DEFINE_DATA ( pick_files, PickFiles, { DexPromise *promise; GFile *metainfo_file; }, BZ_RELEASE_DATA (promise, dex_unref); BZ_RELEASE_DATA (metainfo_file, g_object_unref)) static void on_icon_chosen (GtkFileDialog *dialog, GAsyncResult *result, PickFilesData *data); static void on_metainfo_chosen (GtkFileDialog *dialog, GAsyncResult *result, DexPromise *promise); static BzMetainfoPickResult * bz_metainfo_pick_result_copy (BzMetainfoPickResult *result); 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_pick_files (void) { g_autoptr (DexPromise) promise = dex_promise_new (); g_autoptr (GtkFileDialog) dialog = NULL; g_autoptr (GtkFileFilter) filter = NULL; g_autoptr (GListStore) filters = NULL; dialog = gtk_file_dialog_new (); gtk_file_dialog_set_title (dialog, _ ("Select Metainfo File")); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _ ("Metainfo Files")); gtk_file_filter_add_pattern (filter, "*.metainfo.xml*"); gtk_file_filter_add_pattern (filter, "*.appdata.xml*"); filters = g_list_store_new (GTK_TYPE_FILE_FILTER); g_list_store_append (filters, filter); gtk_file_dialog_set_filters (dialog, G_LIST_MODEL (filters)); gtk_file_dialog_open ( dialog, NULL, NULL, (GAsyncReadyCallback) on_metainfo_chosen, dex_ref (promise)); 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 void on_metainfo_chosen (GtkFileDialog *dialog, GAsyncResult *result, DexPromise *promise) { g_autoptr (DexPromise) owned_promise = promise; g_autoptr (GError) local_error = NULL; g_autoptr (GFile) metainfo_file = NULL; g_autoptr (GtkFileDialog) icon_dialog = NULL; g_autoptr (GtkFileFilter) filter = NULL; g_autoptr (GListStore) filters = NULL; PickFilesData *data = NULL; metainfo_file = gtk_file_dialog_open_finish (dialog, result, &local_error); if (metainfo_file == NULL) { dex_promise_reject (owned_promise, g_steal_pointer (&local_error)); return; } data = pick_files_data_new (); data->promise = g_steal_pointer (&owned_promise); data->metainfo_file = g_steal_pointer (&metainfo_file); icon_dialog = gtk_file_dialog_new (); gtk_file_dialog_set_title (icon_dialog, _ ("Select Icon (Optional)")); 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, NULL, NULL, (GAsyncReadyCallback) on_icon_chosen, data); } static void on_icon_chosen (GtkFileDialog *dialog, GAsyncResult *result, PickFilesData *data) { g_autoptr (PickFilesData) 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)); } AdwNavigationPage * create_entry_group_preview_page (BzEntryGroup *group) { AdwNavigationPage *page = NULL; GtkWidget *toolbar_view = NULL; AdwHeaderBar *header_bar = NULL; GtkBox *box = NULL; BzFeaturedCarousel *carousel = NULL; BzRichAppTile *tile = NULL; GtkWidget *carousel_clamp = NULL; GtkWidget *tile_clamp = NULL; GtkWidget *scroll = NULL; g_autoptr (GListStore) store = NULL; store = g_list_store_new (BZ_TYPE_ENTRY_GROUP); g_list_store_append (store, group); carousel = bz_featured_carousel_new (); bz_featured_carousel_set_model (carousel, G_LIST_MODEL (store)); gtk_widget_set_can_target (GTK_WIDGET (carousel), FALSE); carousel_clamp = adw_clamp_new (); adw_clamp_set_maximum_size (ADW_CLAMP (carousel_clamp), 1500); adw_clamp_set_tightening_threshold (ADW_CLAMP (carousel_clamp), 1400); adw_clamp_set_child (ADW_CLAMP (carousel_clamp), GTK_WIDGET (carousel)); tile = BZ_RICH_APP_TILE (bz_rich_app_tile_new ()); bz_rich_app_tile_set_group (tile, group); tile_clamp = adw_clamp_new (); adw_clamp_set_maximum_size (ADW_CLAMP (tile_clamp), 350); adw_clamp_set_child (ADW_CLAMP (tile_clamp), GTK_WIDGET (tile)); box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 12)); gtk_widget_set_margin_top (GTK_WIDGET (box), 24); gtk_widget_set_margin_bottom (GTK_WIDGET (box), 24); gtk_widget_set_margin_start (GTK_WIDGET (box), 24); gtk_widget_set_margin_end (GTK_WIDGET (box), 24); gtk_box_append (box, GTK_WIDGET (carousel_clamp)); gtk_box_append (box, GTK_WIDGET (tile_clamp)); scroll = gtk_scrolled_window_new (); gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scroll), GTK_WIDGET (box)); gtk_widget_set_vexpand (scroll, TRUE); header_bar = ADW_HEADER_BAR (adw_header_bar_new ()); toolbar_view = adw_toolbar_view_new (); adw_toolbar_view_add_top_bar (ADW_TOOLBAR_VIEW (toolbar_view), GTK_WIDGET (header_bar)); adw_toolbar_view_set_content (ADW_TOOLBAR_VIEW (toolbar_view), scroll); page = adw_navigation_page_new (toolbar_view, _ ("Preview")); return page; } ���������������������bazaar-org-bazaar-85ae777/src/bz-metainfo-preview.h�������������������������������������������������0000664�0000000�0000000�00000002341�15223463552�0022207�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_pick_files (void); AdwNavigationPage * create_entry_group_preview_page (BzEntryGroup *group); G_END_DECLS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-newline-parser.c���������������������������������������������������0000664�0000000�0000000�00000011250�15223463552�0021653�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-85ae777/src/bz-newline-parser.h���������������������������������������������������0000664�0000000�0000000�00000002060�15223463552�0021657�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-85ae777/src/bz-parser.c�����������������������������������������������������������0000664�0000000�0000000�00000002665�15223463552�0020226�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-85ae777/src/bz-parser.h�����������������������������������������������������������0000664�0000000�0000000�00000002372�15223463552�0020226�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-85ae777/src/bz-preferences-dialog.blp���������������������������������������������0000664�0000000�0000000�00000004062�15223463552�0023014�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 { title: _("Content Filters"); Adw.SwitchRow only_foss_switch { title: _("Free Software Only"); subtitle: _("Hide proprietary apps when browsing and searching"); } Adw.SwitchRow only_flathub_switch { title: _("Flathub Results Only"); subtitle: _("Limit search and browse results to apps only available on Flathub"); } Adw.SwitchRow only_verified_switch { title: _("Verified Results Only"); subtitle: _("Hide results that are not verified on Flathub"); } Adw.SwitchRow hide_eol_switch { title: _("Hide End-of-Life Apps"); subtitle: _("Hide apps which are no longer supported by their developers"); } } 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-85ae777/src/bz-preferences-dialog.c�����������������������������������������������0000664�0000000�0000000�00000024646�15223463552�0022473�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 <glib/gi18n.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 */ 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 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_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 gboolean invert_boolean (gpointer object, gboolean value) { return !value; } 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"); 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_callback (widget_class, invert_boolean); } 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); return ADW_DIALOG (dialog); } ������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-preferences-dialog.h�����������������������������������������������0000664�0000000�0000000�00000002115�15223463552�0022463�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-85ae777/src/bz-pride-flag-config.txt����������������������������������������������0000664�0000000�0000000�00000000340�15223463552�0022570�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-85ae777/src/bz-pride-flag-spec.txt������������������������������������������������0000664�0000000�0000000�00000000631�15223463552�0022260�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-85ae777/src/bz-pride-flag-stripe-spec.txt�����������������������������������������0000664�0000000�0000000�00000000300�15223463552�0023555�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-85ae777/src/bz-progress-bar.blp���������������������������������������������������0000664�0000000�0000000�00000000137�15223463552�0021663�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzProgressBar: Adw.Bin { child: ProgressBar bar {}; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-progress-bar.c�����������������������������������������������������0000664�0000000�0000000�00000011654�15223463552�0021336�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-85ae777/src/bz-progress-bar.h�����������������������������������������������������0000664�0000000�0000000�00000002230�15223463552�0021331�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-85ae777/src/bz-release.txt��������������������������������������������������������0000664�0000000�0000000�00000000420�15223463552�0020732�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-85ae777/src/bz-releases-dialog.blp������������������������������������������������0000664�0000000�0000000�00000001303�15223463552�0022311�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-85ae777/src/bz-releases-list.blp��������������������������������������������������0000664�0000000�0000000�00000001121�15223463552�0022023�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-85ae777/src/bz-releases-list.c����������������������������������������������������0000664�0000000�0000000�00000043641�15223463552�0021505�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 "bz-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-85ae777/src/bz-releases-list.h����������������������������������������������������0000664�0000000�0000000�00000002525�15223463552�0021506�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-85ae777/src/bz-repository.txt�����������������������������������������������������0000664�0000000�0000000�00000000366�15223463552�0021542�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-85ae777/src/bz-result.c�����������������������������������������������������������0000664�0000000�0000000�00000016666�15223463552�0020256�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-85ae777/src/bz-result.h�����������������������������������������������������������0000664�0000000�0000000�00000002433�15223463552�0020246�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-85ae777/src/bz-rich-app-tile.blp��������������������������������������������������0000664�0000000�0000000�00000014166�15223463552�0021722�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", ] 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-85ae777/src/bz-rich-app-tile.c����������������������������������������������������0000664�0000000�0000000�00000033777�15223463552�0021400�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 "bz-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-85ae777/src/bz-rich-app-tile.h����������������������������������������������������0000664�0000000�0000000�00000002542�15223463552�0021367�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-85ae777/src/bz-root-blocklist.txt�������������������������������������������������0000664�0000000�0000000�00000000321�15223463552�0022261�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-85ae777/src/bz-root-curated-config.txt��������������������������������������������0000664�0000000�0000000�00000000333�15223463552�0023170�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-85ae777/src/bz-rounded-picture.c��������������������������������������������������0000664�0000000�0000000�00000021644�15223463552�0022041�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-85ae777/src/bz-rounded-picture.h��������������������������������������������������0000664�0000000�0000000�00000002611�15223463552�0022037�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-85ae777/src/bz-row-view.c���������������������������������������������������������0000664�0000000�0000000�00000011213�15223463552�0020476�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-85ae777/src/bz-row-view.h���������������������������������������������������������0000664�0000000�0000000�00000002210�15223463552�0020500�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-85ae777/src/bz-safety-calculator.c������������������������������������������������0000664�0000000�0000000�00000064602�15223463552�0022353�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-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-85ae777/src/bz-safety-calculator.h������������������������������������������������0000664�0000000�0000000�00000002635�15223463552�0022356�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-safety-dialog.blp��������������������������������������������������0000664�0000000�0000000�00000011273�15223463552�0022010�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; 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; 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 normal, 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 { label: _("View Other Permissions"); clicked => $next_page(template); margin-bottom: 12; halign: center; hexpand: true; styles ["pill"] } } } ScrolledWindow { hscrollbar-policy: never; hexpand: true; 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-85ae777/src/bz-safety-dialog.c����������������������������������������������������0000664�0000000�0000000�00000027530�15223463552�0021460�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 "bz-safety-calculator.h" #include "bz-safety-dialog.h" #include "bz-safety-row.h" #include "bz-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; }; 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); } 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 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_callback (widget_class, next_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-85ae777/src/bz-safety-dialog.h����������������������������������������������������0000664�0000000�0000000�00000002145�15223463552�0021460�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-85ae777/src/bz-safety-row.txt�����������������������������������������������������0000664�0000000�0000000�00000000444�15223463552�0021420�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-85ae777/src/bz-screenshot-page.blp������������������������������������������������0000664�0000000�0000000�00000012064�15223463552�0022346�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-85ae777/src/bz-screenshot-page.c��������������������������������������������������0000664�0000000�0000000�00000072527�15223463552�0022025�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 void connect_zoom_signal (BzScreenshotPage *self, GtkWidget *page); static BzZoom *get_current_zoom (BzScreenshotPage *self); 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); if (zoom != NULL) bz_zoom_zoom_in (zoom); } static void zoom_out_clicked (BzScreenshotPage *self) { BzZoom *zoom = NULL; zoom = get_current_zoom (self); if (zoom != NULL) bz_zoom_zoom_out (zoom); } static void reset_zoom_clicked (BzScreenshotPage *self) { BzZoom *zoom = NULL; zoom = get_current_zoom (self); 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) { GtkWidget *old_page = NULL; GtkWidget *new_page = NULL; BzZoom *old_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; if (self->current_index < n_pages) { old_page = adw_carousel_get_nth_page (carousel, self->current_index); if (old_page != NULL && BZ_IS_ZOOM (old_page)) { old_zoom = BZ_ZOOM (old_page); g_signal_handlers_disconnect_by_func (old_zoom, on_zoom_level_changed, self); bz_zoom_reset (old_zoom); } } self->current_index = new_index; if (new_index < n_pages) { new_page = adw_carousel_get_nth_page (carousel, new_index); connect_zoom_signal (self, new_page); } 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); GtkWidget *page = NULL; G_OBJECT_CLASS (bz_screenshot_page_parent_class)->constructed (object); populate_carousel (self); self->current_index = 0; page = adw_carousel_get_nth_page (self->carousel, 0); if (page != NULL) connect_zoom_signal (self, page); 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 *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 (); gtk_widget_set_hexpand (zoom_widget, TRUE); gtk_widget_set_vexpand (zoom_widget, TRUE); bz_zoom_set_child (BZ_ZOOM (zoom_widget), screenshot); adw_carousel_append (self->carousel, zoom_widget); } } static void update_is_zoomed (BzScreenshotPage *self) { GtkWidget *screenshot = NULL; BzZoom *zoom = NULL; double zoom_level = 0.0; gboolean was_zoomed = FALSE; was_zoomed = self->is_zoomed; zoom = get_current_zoom (self); 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]); } static void connect_zoom_signal (BzScreenshotPage *self, GtkWidget *page) { BzZoom *zoom = NULL; if (page != NULL && BZ_IS_ZOOM (page)) { zoom = BZ_ZOOM (page); g_signal_connect (zoom, "notify::zoom-level", G_CALLBACK (on_zoom_level_changed), self); } } static BzZoom * get_current_zoom (BzScreenshotPage *self) { GtkWidget *page = NULL; guint n_pages = 0; 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 || !BZ_IS_ZOOM (page)) return NULL; return BZ_ZOOM (page); } 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-85ae777/src/bz-screenshot-page.h��������������������������������������������������0000664�0000000�0000000�00000003025�15223463552�0022015�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-85ae777/src/bz-screenshot.c�������������������������������������������������������0000664�0000000�0000000�00000037474�15223463552�0021115�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-85ae777/src/bz-screenshot.h�������������������������������������������������������0000664�0000000�0000000�00000003744�15223463552�0021113�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-85ae777/src/bz-screenshots-carousel.blp�������������������������������������������0000664�0000000�0000000�00000005456�15223463552�0023441�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-85ae777/src/bz-screenshots-carousel.c���������������������������������������������0000664�0000000�0000000�00000053025�15223463552�0023101�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 "bz-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-85ae777/src/bz-screenshots-carousel.h���������������������������������������������0000664�0000000�0000000�00000004143�15223463552�0023103�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-85ae777/src/bz-search-bar.blp�����������������������������������������������������0000664�0000000�0000000�00000002114�15223463552�0021261�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-85ae777/src/bz-search-bar.c�������������������������������������������������������0000664�0000000�0000000�00000025042�15223463552�0020733�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-85ae777/src/bz-search-bar.h�������������������������������������������������������0000664�0000000�0000000�00000002745�15223463552�0020745�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-85ae777/src/bz-search-bias.txt����������������������������������������������������0000664�0000000�0000000�00000000722�15223463552�0021500�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-85ae777/src/bz-search-engine.c����������������������������������������������������0000664�0000000�0000000�00000065321�15223463552�0021440�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-env.h" #include "bz-finished-search-query.h" #include "bz-search-result.h" #include "bz-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-85ae777/src/bz-search-engine.h����������������������������������������������������0000664�0000000�0000000�00000002774�15223463552�0021450�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-85ae777/src/bz-search-filter-popover.blp������������������������������������������0000664�0000000�0000000�00000003255�15223463552�0023501�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-85ae777/src/bz-search-filter-popover.c��������������������������������������������0000664�0000000�0000000�00000040547�15223463552�0023153�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); static void sync_from_state (BzSearchFilterPopover *self); static void on_state_setting_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_show (GtkPopover *popover, gpointer user_data); 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)); g_signal_connect (self, "show", G_CALLBACK (on_show), NULL); state = bz_state_info_get_default (); if (state != NULL) { 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); } } 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); if (!self->state_forced_free) apply_filter_button (self, PROP_ONLY_FREE, FALSE); if (!self->state_forced_non_eol) apply_filter_button (self, PROP_ONLY_NON_EOL, FALSE); apply_filter_button (self, PROP_ONLY_MOBILE, 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) { 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; *map[i].field = value; if (value) gtk_widget_add_css_class (*map[i].button, "accent"); else gtk_widget_remove_css_class (*map[i].button, "accent"); g_object_notify_by_pspec (G_OBJECT (self), props[prop]); update_has_active_filters (self); return; } } static void sync_from_state (BzSearchFilterPopover *self) { BzStateInfo *state = NULL; gboolean state_verified = FALSE; gboolean state_free = FALSE; gboolean state_hide_eol = FALSE; state = bz_state_info_get_default (); if (state == NULL) return; g_object_get (state, "show-only-verified", &state_verified, "show-only-foss", &state_free, "hide-eol", &state_hide_eol, NULL); self->state_forced_verified = state_verified; self->state_forced_free = state_free; self->state_forced_non_eol = state_hide_eol; if (state_verified) apply_filter_button (self, PROP_ONLY_VERIFIED, TRUE); if (self->verified_button != NULL) gtk_widget_set_sensitive (self->verified_button, !state_verified); if (state_free) apply_filter_button (self, PROP_ONLY_FREE, TRUE); if (self->free_button != NULL) gtk_widget_set_sensitive (self->free_button, !state_free); if (state_hide_eol) apply_filter_button (self, PROP_ONLY_NON_EOL, TRUE); if (self->non_eol_button != NULL) gtk_widget_set_sensitive (self->non_eol_button, !state_hide_eol); } static void on_state_setting_changed (BzSearchFilterPopover *self, GParamSpec *pspec, BzStateInfo *state) { gboolean state_verified = FALSE; gboolean state_free = FALSE; gboolean state_hide_eol = FALSE; g_object_get (state, "show-only-verified", &state_verified, "show-only-foss", &state_free, "hide-eol", &state_hide_eol, NULL); if (!state_verified) apply_filter_button (self, PROP_ONLY_VERIFIED, FALSE); if (!state_free) apply_filter_button (self, PROP_ONLY_FREE, FALSE); if (!state_hide_eol) apply_filter_button (self, PROP_ONLY_NON_EOL, FALSE); sync_from_state (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); else if (g_str_equal (name, "free")) apply_filter_button (self, PROP_ONLY_FREE, !self->only_free); else if (g_str_equal (name, "non-eol")) apply_filter_button (self, PROP_ONLY_NON_EOL, !self->only_non_eol); else if (g_str_equal (name, "mobile")) apply_filter_button (self, PROP_ONLY_MOBILE, !self->only_mobile); } 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); sync_from_state (self); 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); } } static void on_show (GtkPopover *popover, gpointer user_data) { rebuild_category_buttons (BZ_SEARCH_FILTER_POPOVER (popover)); } ���������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-search-filter-popover.h��������������������������������������������0000664�0000000�0000000�00000003074�15223463552�0023152�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-85ae777/src/bz-search-page.blp����������������������������������������������������0000664�0000000�0000000�00000023436�15223463552�0021443�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-85ae777/src/bz-search-page.c������������������������������������������������������0000664�0000000�0000000�00000065337�15223463552�0021116�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 "bz-template-callbacks.h" #include "bz-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-85ae777/src/bz-search-page.h������������������������������������������������������0000664�0000000�0000000�00000003323�15223463552�0021106�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-85ae777/src/bz-search-pill-list.c�������������������������������������������������0000664�0000000�0000000�00000013601�15223463552�0022076�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-85ae777/src/bz-search-pill-list.h�������������������������������������������������0000664�0000000�0000000�00000002011�15223463552�0022074�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-85ae777/src/bz-search-result.txt��������������������������������������������������0000664�0000000�0000000�00000000541�15223463552�0022077�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-85ae777/src/bz-section-view.blp���������������������������������������������������0000664�0000000�0000000�00000005314�15223463552�0021673�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-85ae777/src/bz-section-view.c�����������������������������������������������������0000664�0000000�0000000�00000020775�15223463552�0021350�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-85ae777/src/bz-section-view.h�����������������������������������������������������0000664�0000000�0000000�00000002334�15223463552�0021344�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-85ae777/src/bz-serializable.c�����������������������������������������������������0000664�0000000�0000000�00000003776�15223463552�0021404�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-85ae777/src/bz-serializable.h�����������������������������������������������������0000664�0000000�0000000�00000003026�15223463552�0021375�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-85ae777/src/bz-share-list.c�������������������������������������������������������0000664�0000000�0000000�00000027604�15223463552�0021005�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-85ae777/src/bz-share-list.h�������������������������������������������������������0000664�0000000�0000000�00000001736�15223463552�0021010�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-85ae777/src/bz-size-result.txt����������������������������������������������������0000664�0000000�0000000�00000000264�15223463552�0021606�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-85ae777/src/bz-spdx.c�������������������������������������������������������������0000664�0000000�0000000�00000003176�15223463552�0017706�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-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-85ae777/src/bz-spdx.h�������������������������������������������������������������0000664�0000000�0000000�00000002003�15223463552�0017677�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-state-info.txt�����������������������������������������������������0000664�0000000�0000000�00000006447�15223463552�0021402�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-85ae777/src/bz-stats-dialog.blp���������������������������������������������������0000664�0000000�0000000�00000004361�15223463552�0021653�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"; 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; tooltip-prefix: _("Installs:"); vexpand: true; hexpand: true; } }; } Adw.ViewStackPage { name: "map"; 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-85ae777/src/bz-stats-dialog.c�����������������������������������������������������0000664�0000000�0000000�00000013563�15223463552�0021324�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 "bz-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-85ae777/src/bz-stats-dialog.h�����������������������������������������������������0000664�0000000�0000000�00000002245�15223463552�0021324�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-85ae777/src/bz-subcategory-list.c�������������������������������������������������0000664�0000000�0000000�00000024573�15223463552�0022234�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 "bz-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-85ae777/src/bz-subcategory-list.h�������������������������������������������������0000664�0000000�0000000�00000003005�15223463552�0022224�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-85ae777/src/bz-template-callbacks.c�����������������������������������������������0000664�0000000�0000000�00000013673�15223463552�0022463�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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 "bz-template-callbacks.h" #include "bz-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-85ae777/src/bz-template-callbacks.h�����������������������������������������������0000664�0000000�0000000�00000001546�15223463552�0022464�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-themed-entry-group-rect.c������������������������������������������0000664�0000000�0000000�00000017060�15223463552�0023417�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-85ae777/src/bz-themed-entry-group-rect.h������������������������������������������0000664�0000000�0000000�00000003100�15223463552�0023412�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-85ae777/src/bz-transact-icon-info.txt���������������������������������������������0000664�0000000�0000000�00000000552�15223463552�0023016�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-85ae777/src/bz-transact-icon.c����������������������������������������������������0000664�0000000�0000000�00000036543�15223463552�0021501�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-85ae777/src/bz-transact-icon.h����������������������������������������������������0000664�0000000�0000000�00000002355�15223463552�0021500�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-85ae777/src/bz-transact-icon.wdgt�������������������������������������������������0000664�0000000�0000000�00000005713�15223463552�0022217�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-85ae777/src/bz-transaction-dialog-result.txt��������������������������������������0000664�0000000�0000000�00000000424�15223463552�0024414�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-85ae777/src/bz-transaction-dialog.c�����������������������������������������������0000664�0000000�0000000�00000053671�15223463552�0022517�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 "bz-env.h" #include "bz-error.h" #include "bz-flatpak-entry.h" #include "bz-safety-calculator.h" #include "bz-state-info.h" #include "bz-transaction-dialog.h" #include "bz-transaction-list-dialog.h" #include "bz-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-85ae777/src/bz-transaction-dialog.h�����������������������������������������������0000664�0000000�0000000�00000002542�15223463552�0022513�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-85ae777/src/bz-transaction-entry-tracker.txt��������������������������������������0000664�0000000�0000000�00000001302�15223463552�0024427�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-85ae777/src/bz-transaction-list-dialog.blp����������������������������������������0000664�0000000�0000000�00000004273�15223463552�0024015�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-85ae777/src/bz-transaction-list-dialog.c������������������������������������������0000664�0000000�0000000�00000013477�15223463552�0023470�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-85ae777/src/bz-transaction-list-dialog.h������������������������������������������0000664�0000000�0000000�00000002775�15223463552�0023474�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-85ae777/src/bz-transaction-manager.c����������������������������������������������0000664�0000000�0000000�00000065016�15223463552�0022666�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 "bz-env.h" #include "bz-marshalers.h" #include "bz-transaction-manager.h" #include "bz-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-85ae777/src/bz-transaction-manager.h����������������������������������������������0000664�0000000�0000000�00000005043�15223463552�0022665�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-85ae777/src/bz-transaction-task.txt�����������������������������������������������0000664�0000000�0000000�00000000656�15223463552�0022612�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-85ae777/src/bz-transaction-tile.blp�����������������������������������������������0000664�0000000�0000000�00000032555�15223463552�0022546�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; 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-85ae777/src/bz-transaction-tile.c�������������������������������������������������0000664�0000000�0000000�00000030663�15223463552�0022211�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 "bz-error.h" #include "bz-flatpak-entry.h" #include "bz-list-tile.h" #include "bz-state-info.h" #include "bz-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-85ae777/src/bz-transaction-tile.h�������������������������������������������������0000664�0000000�0000000�00000002511�15223463552�0022205�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-85ae777/src/bz-transaction.c������������������������������������������������������0000664�0000000�0000000�00000065526�15223463552�0021264�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-85ae777/src/bz-transaction.h������������������������������������������������������0000664�0000000�0000000�00000004745�15223463552�0021265�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-85ae777/src/bz-updates-card.blp���������������������������������������������������0000664�0000000�0000000�00000001527�15223463552�0021635�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-85ae777/src/bz-updates-card.c�����������������������������������������������������0000664�0000000�0000000�00000036135�15223463552�0021305�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 "bz-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-85ae777/src/bz-updates-card.h�����������������������������������������������������0000664�0000000�0000000�00000002262�15223463552�0021304�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-85ae777/src/bz-url.txt������������������������������������������������������������0000664�0000000�0000000�00000000222�15223463552�0020114�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-85ae777/src/bz-user-data-page.blp�������������������������������������������������0000664�0000000�0000000�00000003233�15223463552�0022054�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"; title: _("Loading"); child: Adw.Spinner { halign: fill; valign: center; width-request: 64; height-request: 64; margin-bottom: 18; }; } Adw.ViewStackPage { name: "empty"; title: _("Empty"); child: Adw.StatusPage { icon-name: "folder-documents-symbolic"; title: _("No User Data Found"); }; } Adw.ViewStackPage { name: "content"; title: _("User Data"); 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-85ae777/src/bz-user-data-page.c���������������������������������������������������0000664�0000000�0000000�00000022050�15223463552�0021517�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-env.h" #include "bz-io.h" #include "bz-user-data-page.h" #include "bz-user-data-tile.h" #include "bz-util.h" struct _BzUserDataPage { AdwNavigationPage parent_instance; BzStateInfo *state; GListModel *model; /* 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 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); } static void items_changed (BzUserDataPage *self, guint position, guint removed, guint added, GListModel *model) { set_page (self); } 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-85ae777/src/bz-user-data-page.h���������������������������������������������������0000664�0000000�0000000�00000002076�15223463552�0021532�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); G_END_DECLS ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/bz-user-data-tile.blp�������������������������������������������������0000664�0000000�0000000�00000005406�15223463552�0022101�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������using Gtk 4.0; using Adw 1; template $BzUserDataTile: Adw.Bin { child: Revealer { transition-type: slide_down; reveal-child: bind $invert_boolean($is_zero(template.group as <$BzEntryGroup>.user-data-size) as <bool>) as <bool>; child: Adw.Bin { accessibility { labelled-by: title_label; described-by: description_label; } margin-bottom: 4; margin-start: 4; margin-end: 4; margin-top: 4; styles [ "card", ] child: Box { orientation: horizontal; spacing: 10; Picture icon_picture { margin-start: 10; margin-top: 10; margin-bottom: 10; height-request: 48; width-request: 48; 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: 48; width-request: 48; pixel-size: 48; 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-85ae777/src/bz-user-data-tile.c���������������������������������������������������0000664�0000000�0000000�00000014546�15223463552�0021553�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-env.h" #include "bz-error.h" #include "bz-state-info.h" #include "bz-user-data-page.h" #include "bz-user-data-tile.h" #include "bz-util.h" #include "bz-window.h" struct _BzUserDataTile { BzListTile parent_instance; BzEntryGroup *group; }; 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 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_autofree char *message = NULL; message = g_strdup_printf (_ ("Trashed User Data for %s"), bz_entry_group_get_title (self->group)); bz_window_add_toast ( BZ_WINDOW (gtk_widget_get_root (GTK_WIDGET (self))), adw_toast_new (message)); } 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_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-85ae777/src/bz-user-data-tile.h���������������������������������������������������0000664�0000000�0000000�00000002363�15223463552�0021552�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-85ae777/src/bz-util.h�������������������������������������������������������������0000664�0000000�0000000�00000021474�15223463552�0017713�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* bz-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-85ae777/src/bz-verification-status.txt��������������������������������������������0000664�0000000�0000000�00000000651�15223463552�0023323�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-85ae777/src/bz-window.blp���������������������������������������������������������0000664�0000000�0000000�00000027314�15223463552�0020572�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-85ae777/src/bz-window.c�����������������������������������������������������������0000664�0000000�0000000�00000121614�15223463552�0020235�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 "bz-env.h" #include "bz-error.h" #include "bz-flathub-page.h" #include "bz-flatpak-entry.h" #include "bz-full-view.h" #include "bz-hooks.h" #include "bz-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 "bz-template-callbacks.h" #include "bz-transaction-dialog.h" #include "bz-transaction-manager.h" #include "bz-user-data-page.h" #include "bz-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 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); 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-85ae777/src/bz-window.h�����������������������������������������������������������0000664�0000000�0000000�00000003553�15223463552�0020243�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-85ae777/src/bz-world-map-parser.c�������������������������������������������������0000664�0000000�0000000�00000007731�15223463552�0022125�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-85ae777/src/bz-world-map-parser.h�������������������������������������������������0000664�0000000�0000000�00000002575�15223463552�0022133�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-85ae777/src/bz-world-map.c��������������������������������������������������������0000664�0000000�0000000�00000054061�15223463552�0020631�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-85ae777/src/bz-world-map.h��������������������������������������������������������0000664�0000000�0000000�00000002162�15223463552�0020631�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-85ae777/src/bz-yaml-parser.c������������������������������������������������������0000664�0000000�0000000�00000122203�15223463552�0021155�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-util.h" #include "bz-yaml-parser.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-85ae777/src/bz-yaml-parser.h������������������������������������������������������0000664�0000000�0000000�00000002332�15223463552�0021162�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-85ae777/src/bz-zoom.c�������������������������������������������������������������0000664�0000000�0000000�00000047336�15223463552�0017722�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 "bz-zoom.h" #include <adwaita.h> #include <math.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; }; G_DEFINE_FINAL_TYPE (BzZoom, bz_zoom, GTK_TYPE_WIDGET) enum { PROP_0, PROP_CHILD, PROP_ZOOM_LEVEL, PROP_MIN_ZOOM, PROP_MAX_ZOOM, LAST_PROP }; 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 bz_zoom_dispose (GObject *object) { BzZoom *self; self = BZ_ZOOM (object); 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; 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; 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); } 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); } 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); } 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 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-85ae777/src/bz-zoom.h�������������������������������������������������������������0000664�0000000�0000000�00000003263�15223463552�0017716�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-85ae777/src/curated-config-schema.xml���������������������������������������������0000664�0000000�0000000�00000000530�15223463552�0023014�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-85ae777/src/dl-worker.c�����������������������������������������������������������0000664�0000000�0000000�00000013014�15223463552�0020215�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 "bz-env.h" #include "bz-global-net.h" #include "bz-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; 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); 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-85ae777/src/gen_gobject.sh��������������������������������������������������������0000775�0000000�0000000�00000047663�15223463552�0020771�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-85ae777/src/icons/����������������������������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0017257�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/icons/io.github.kolumni.Bazaar.Adwaita.svg����������������������������0000664�0000000�0000000�00000000562�15223463552�0026120�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-85ae777/src/icons/io.github.kolumni.Bazaar.Audiovideo.svg�������������������������0000664�0000000�0000000�00000035210�15223463552�0026634�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-85ae777/src/icons/io.github.kolumni.Bazaar.Create.svg�����������������������������0000664�0000000�0000000�00000014534�15223463552�0025755�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-85ae777/src/icons/io.github.kolumni.Bazaar.Develop.svg����������������������������0000664�0000000�0000000�00000005362�15223463552�0026147�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-85ae777/src/icons/io.github.kolumni.Bazaar.Kde.svg��������������������������������0000664�0000000�0000000�00000003064�15223463552�0025251�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-85ae777/src/icons/io.github.kolumni.Bazaar.Learn.svg������������������������������0000664�0000000�0000000�00000022530�15223463552�0025606�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-85ae777/src/icons/io.github.kolumni.Bazaar.Mobile.svg�����������������������������0000664�0000000�0000000�00000025513�15223463552�0025760�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-85ae777/src/icons/io.github.kolumni.Bazaar.Network.svg����������������������������0000664�0000000�0000000�00000005755�15223463552�0026210�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-85ae777/src/icons/io.github.kolumni.Bazaar.New.svg��������������������������������0000664�0000000�0000000�00000005010�15223463552�0025270�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-85ae777/src/icons/io.github.kolumni.Bazaar.Play.svg�������������������������������0000664�0000000�0000000�00000014165�15223463552�0025457�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-85ae777/src/icons/io.github.kolumni.Bazaar.Popular.svg����������������������������0000664�0000000�0000000�00000007512�15223463552�0026172�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-85ae777/src/icons/io.github.kolumni.Bazaar.Science.svg����������������������������0000664�0000000�0000000�00000056626�15223463552�0026133�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-85ae777/src/icons/io.github.kolumni.Bazaar.System.svg�����������������������������0000664�0000000�0000000�00000016400�15223463552�0026030�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-85ae777/src/icons/io.github.kolumni.Bazaar.Trending.svg���������������������������0000664�0000000�0000000�00000030062�15223463552�0026316�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-85ae777/src/icons/io.github.kolumni.Bazaar.Updated.svg����������������������������0000664�0000000�0000000�00000003231�15223463552�0026130�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-85ae777/src/icons/io.github.kolumni.Bazaar.Utilities.svg��������������������������0000664�0000000�0000000�00000013556�15223463552�0026530�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-85ae777/src/icons/io.github.kolumni.Bazaar.Work.svg�������������������������������0000664�0000000�0000000�00000020454�15223463552�0025472�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-85ae777/src/icons/io.github.kolunmi.Bazaar.github.svg�����������������������������0000664�0000000�0000000�00000002773�15223463552�0026036�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-85ae777/src/icons/io.github.kolunmi.Bazaar.gitlab.svg�����������������������������0000664�0000000�0000000�00000004035�15223463552�0026007�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-85ae777/src/icons/io.github.kolunmi.Bazaar.gnome.svg������������������������������0000664�0000000�0000000�00000002411�15223463552�0025646�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-85ae777/src/icons/io.github.kolunmi.Bazaar.google.svg�����������������������������0000664�0000000�0000000�00000002635�15223463552�0026025�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-85ae777/src/icons/io.github.kolunmi.Bazaar.kde.svg��������������������������������0000664�0000000�0000000�00000003417�15223463552�0025313�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-85ae777/src/icons/scalable/�������������������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0021025�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/icons/scalable/actions/�����������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0022465�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/icons/scalable/actions/app-installed-symbolic.svg���������������������0000664�0000000�0000000�00000001435�15223463552�0027565�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-85ae777/src/icons/scalable/actions/app-safety-ok-symbolic.svg���������������������0000664�0000000�0000000�00000001255�15223463552�0027510�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-85ae777/src/icons/scalable/actions/app-safety-unknown-symbolic.svg����������������0000664�0000000�0000000�00000002562�15223463552�0030600�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-85ae777/src/icons/scalable/actions/app-safety-unsafe-symbolic.svg�����������������0000664�0000000�0000000�00000001561�15223463552�0030360�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-85ae777/src/icons/scalable/actions/auditable-code-symbolic.svg��������������������0000664�0000000�0000000�00000002422�15223463552�0027667�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-85ae777/src/icons/scalable/actions/bookmark-filled-symbolic.svg�������������������0000664�0000000�0000000�00000000747�15223463552�0030077�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-85ae777/src/icons/scalable/actions/bookmark-outline-symbolic.svg������������������0000664�0000000�0000000�00000001247�15223463552�0030313�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-85ae777/src/icons/scalable/actions/bug-symbolic.svg�������������������������������0000664�0000000�0000000�00000003514�15223463552�0025605�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-85ae777/src/icons/scalable/actions/check-plain-symbolic.svg�����������������������0000664�0000000�0000000�00000001336�15223463552�0027206�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-85ae777/src/icons/scalable/actions/circle-filled-symbolic.svg���������������������0000664�0000000�0000000�00000000405�15223463552�0027522�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-85ae777/src/icons/scalable/actions/code-symbolic.svg������������������������������0000664�0000000�0000000�00000001406�15223463552�0025740�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-85ae777/src/icons/scalable/actions/community-symbolic.svg�������������������������0000664�0000000�0000000�00000002625�15223463552�0027056�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-85ae777/src/icons/scalable/actions/connected-squares-x-symbolic.svg���������������0000664�0000000�0000000�00000002254�15223463552�0030720�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-85ae777/src/icons/scalable/actions/copy-symbolic.svg������������������������������0000664�0000000�0000000�00000001367�15223463552�0026006�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-85ae777/src/icons/scalable/actions/cross-large-circle-filled-symbolic.svg���������0000664�0000000�0000000�00000001620�15223463552�0031741�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-85ae777/src/icons/scalable/actions/delay-symbolic.svg�����������������������������0000664�0000000�0000000�00000002160�15223463552�0026122�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-85ae777/src/icons/scalable/actions/device-support-adaptive-symbolic.svg�����������0000664�0000000�0000000�00000001540�15223463552�0031571�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-85ae777/src/icons/scalable/actions/device-support-desktop-symbolic.svg������������0000664�0000000�0000000�00000001037�15223463552�0031446�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-85ae777/src/icons/scalable/actions/device-support-touch-symbolic.svg��������������0000664�0000000�0000000�00000002120�15223463552�0031111�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-85ae777/src/icons/scalable/actions/device-supported-symbolic.svg������������������0000664�0000000�0000000�00000001550�15223463552�0030310�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-85ae777/src/icons/scalable/actions/download-plus-symbolic.svg���������������������0000664�0000000�0000000�00000003440�15223463552�0027616�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-85ae777/src/icons/scalable/actions/drive-harddisk-symbolic.svg��������������������0000664�0000000�0000000�00000001214�15223463552�0027723�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-85ae777/src/icons/scalable/actions/earth-symbolic.svg�����������������������������0000664�0000000�0000000�00000004330�15223463552�0026130�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-85ae777/src/icons/scalable/actions/edit-clear-all-symbolic.svg��������������������0000664�0000000�0000000�00000002313�15223463552�0027603�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-85ae777/src/icons/scalable/actions/execute-to-symbolic.svg������������������������0000664�0000000�0000000�00000000622�15223463552�0027107�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-85ae777/src/icons/scalable/actions/explore-symbolic.svg���������������������������0000664�0000000�0000000�00000002124�15223463552�0026502�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-85ae777/src/icons/scalable/actions/external-link-symbolic.svg���������������������0000664�0000000�0000000�00000002424�15223463552�0027604�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-85ae777/src/icons/scalable/actions/eye-outline-filled-symbolic.svg����������������0000664�0000000�0000000�00000001540�15223463552�0030521�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-85ae777/src/icons/scalable/actions/flathub-symbolic.svg���������������������������0000664�0000000�0000000�00000003716�15223463552�0026461�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-85ae777/src/icons/scalable/actions/flatpak-symbolic.svg���������������������������0000664�0000000�0000000�00000001324�15223463552�0026447�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-85ae777/src/icons/scalable/actions/folder-download-symbolic.svg�������������������0000664�0000000�0000000�00000001166�15223463552�0030111�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-85ae777/src/icons/scalable/actions/gamepad-symbolic.svg���������������������������0000664�0000000�0000000�00000002377�15223463552�0026434�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-85ae777/src/icons/scalable/actions/globe-symbolic.svg�����������������������������0000664�0000000�0000000�00000005270�15223463552�0026121�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-85ae777/src/icons/scalable/actions/go-previous-symbolic.svg�����������������������0000664�0000000�0000000�00000001176�15223463552�0027311�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-85ae777/src/icons/scalable/actions/graph2-symbolic.svg����������������������������0000664�0000000�0000000�00000001076�15223463552�0026214�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-85ae777/src/icons/scalable/actions/hand-openyay-symbolic.svg����������������������0000664�0000000�0000000�00000001416�15223463552�0027423�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-85ae777/src/icons/scalable/actions/heart-filled-symbolic.svg����������������������0000664�0000000�0000000�00000001125�15223463552�0027364�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-85ae777/src/icons/scalable/actions/heart-outline-thick-symbolic.svg���������������0000664�0000000�0000000�00000002327�15223463552�0030711�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-85ae777/src/icons/scalable/actions/horizontal-arrows-disabled-symbolic.svg��������0000664�0000000�0000000�00000002645�15223463552�0032305�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-85ae777/src/icons/scalable/actions/image-missing-symbolic.svg���������������������0000664�0000000�0000000�00000001522�15223463552�0027556�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-85ae777/src/icons/scalable/actions/left-large-symbolic.svg������������������������0000664�0000000�0000000�00000000743�15223463552�0027053�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-85ae777/src/icons/scalable/actions/library-symbolic.svg���������������������������0000664�0000000�0000000�00000002110�15223463552�0026463�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-85ae777/src/icons/scalable/actions/license-symbolic.svg���������������������������0000664�0000000�0000000�00000005641�15223463552�0026455�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-85ae777/src/icons/scalable/actions/media-playback-pause-symbolic.svg��������������0000664�0000000�0000000�00000001007�15223463552�0031001�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-85ae777/src/icons/scalable/actions/media-playback-start-symbolic.svg��������������0000664�0000000�0000000�00000001052�15223463552�0031021�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-85ae777/src/icons/scalable/actions/media-playback-stop-symbolic.svg���������������0000664�0000000�0000000�00000000531�15223463552�0030652�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-85ae777/src/icons/scalable/actions/meeting-symbolic.svg���������������������������0000664�0000000�0000000�00000001070�15223463552�0026453�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-85ae777/src/icons/scalable/actions/newspaper-symbolic.svg�������������������������0000664�0000000�0000000�00000001530�15223463552�0027030�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-85ae777/src/icons/scalable/actions/on-the-go-symbolic.svg�������������������������0000664�0000000�0000000�00000010337�15223463552�0026626�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-85ae777/src/icons/scalable/actions/open-book-symbolic.svg�������������������������0000664�0000000�0000000�00000002227�15223463552�0026721�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-85ae777/src/icons/scalable/actions/paintbrush-symbolic.svg������������������������0000664�0000000�0000000�00000001067�15223463552�0027210�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-85ae777/src/icons/scalable/actions/parent-symbolic.svg����������������������������0000664�0000000�0000000�00000002576�15223463552�0026330�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-85ae777/src/icons/scalable/actions/people-symbolic.svg����������������������������0000664�0000000�0000000�00000001551�15223463552�0026313�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�15223463552�0034110�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�bazaar-org-bazaar-85ae777/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-85ae777/src/icons/scalable/actions/permissions-microphone-symbolic.svg������������0000664�0000000�0000000�00000000751�15223463552�0031544�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-85ae777/src/icons/scalable/actions/permissions-sandboxed-symbolic.svg�������������0000664�0000000�0000000�00000002212�15223463552�0031342�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-85ae777/src/icons/scalable/actions/permissions-screen-contents-symbolic.svg�������0000664�0000000�0000000�00000001063�15223463552�0032510�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-85ae777/src/icons/scalable/actions/permissions-system-devices-symbolic.svg��������0000664�0000000�0000000�00000002147�15223463552�0032346�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-85ae777/src/icons/scalable/actions/permissions-warning-symbolic.svg���������������0000664�0000000�0000000�00000001561�15223463552�0031046�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-85ae777/src/icons/scalable/actions/person-symbolic.svg����������������������������0000664�0000000�0000000�00000000602�15223463552�0026331�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-85ae777/src/icons/scalable/actions/pip-out-symbolic.svg���������������������������0000664�0000000�0000000�00000001707�15223463552�0026427�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-85ae777/src/icons/scalable/actions/power-profile-performance-symbolic.svg���������0000664�0000000�0000000�00000002263�15223463552�0032121�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-85ae777/src/icons/scalable/actions/proprietary-code-symbolic.svg������������������0000664�0000000�0000000�00000002413�15223463552�0030315�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-85ae777/src/icons/scalable/actions/puzzle-piece-symbolic.svg����������������������0000664�0000000�0000000�00000001203�15223463552�0027435�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-85ae777/src/icons/scalable/actions/ratings/���������������������������������������0000775�0000000�0000000�00000000000�15223463552�0024134�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/icons/scalable/actions/ratings/advertising-none-symbolic.svg����������0000664�0000000�0000000�00000001572�15223463552�0031755�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-85ae777/src/icons/scalable/actions/ratings/advertising-symbolic.svg���������������0000664�0000000�0000000�00000001605�15223463552�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="#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-85ae777/src/icons/scalable/actions/ratings/alcohol-use-none-symbolic.svg����������0000664�0000000�0000000�00000001337�15223463552�0031650�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-85ae777/src/icons/scalable/actions/ratings/alcohol-use-symbolic.svg���������������0000664�0000000�0000000�00000001247�15223463552�0030713�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-85ae777/src/icons/scalable/actions/ratings/audio-chat-none-symbolic.svg�����������0000664�0000000�0000000�00000001152�15223463552�0031446�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-85ae777/src/icons/scalable/actions/ratings/audio-chat-symbolic.svg����������������0000664�0000000�0000000�00000000751�15223463552�0030515�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-85ae777/src/icons/scalable/actions/ratings/contacts-symbolic.svg������������������0000664�0000000�0000000�00000002020�15223463552�0030304�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-85ae777/src/icons/scalable/actions/ratings/drug-use-none-symbolic.svg�������������0000664�0000000�0000000�00000001701�15223463552�0031163�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-85ae777/src/icons/scalable/actions/ratings/drug-use-symbolic.svg������������������0000664�0000000�0000000�00000001526�15223463552�0030233�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-85ae777/src/icons/scalable/actions/ratings/gambling-none-symbolic.svg�������������0000664�0000000�0000000�00000001027�15223463552�0031211�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-85ae777/src/icons/scalable/actions/ratings/gambling-symbolic.svg������������������0000664�0000000�0000000�00000000750�15223463552�0030256�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-85ae777/src/icons/scalable/actions/ratings/human-remains-symbolic.svg�������������0000664�0000000�0000000�00000000614�15223463552�0031241�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-85ae777/src/icons/scalable/actions/ratings/messaging-none-symbolic.svg������������0000664�0000000�0000000�00000001005�15223463552�0031402�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-85ae777/src/icons/scalable/actions/ratings/messaging-symbolic.svg�����������������0000664�0000000�0000000�00000000656�15223463552�0030460�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-85ae777/src/icons/scalable/actions/ratings/money-none-symbolic.svg����������������0000664�0000000�0000000�00000001146�15223463552�0030562�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-85ae777/src/icons/scalable/actions/ratings/money-symbolic.svg���������������������0000664�0000000�0000000�00000000762�15223463552�0027630�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-85ae777/src/icons/scalable/actions/ratings/nudity-none-symbolic.svg���������������0000664�0000000�0000000�00000001310�15223463552�0030740�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-85ae777/src/icons/scalable/actions/ratings/nudity-symbolic.svg��������������������0000664�0000000�0000000�00000000760�15223463552�0030013�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-85ae777/src/icons/scalable/actions/ratings/smoking-none-symbolic.svg��������������0000664�0000000�0000000�00000000743�15223463552�0031104�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-85ae777/src/icons/scalable/actions/ratings/smoking-symbolic.svg�������������������0000664�0000000�0000000�00000000655�15223463552�0030151�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-85ae777/src/icons/scalable/actions/ratings/social-info-symbolic.svg���������������0000664�0000000�0000000�00000001755�15223463552�0030707�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-85ae777/src/icons/scalable/actions/ratings/strong-language-none-symbolic.svg������0000664�0000000�0000000�00000000657�15223463552�0032536�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-85ae777/src/icons/scalable/actions/ratings/strong-language-symbolic.svg�����������0000664�0000000�0000000�00000000537�15223463552�0031576�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-85ae777/src/icons/scalable/actions/ratings/violence-none-symbolic.svg�������������0000664�0000000�0000000�00000001017�15223463552�0031234�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-85ae777/src/icons/scalable/actions/ratings/violence-symbolic.svg������������������0000664�0000000�0000000�00000000551�15223463552�0030301�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-85ae777/src/icons/scalable/actions/regex-symbolic.svg�����������������������������0000664�0000000�0000000�00000001172�15223463552�0026140�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-85ae777/src/icons/scalable/actions/right-large-symbolic.svg�����������������������0000664�0000000�0000000�00000000744�15223463552�0027237�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-85ae777/src/icons/scalable/actions/sad-computer-symbolic.svg����������������������0000664�0000000�0000000�00000002224�15223463552�0027430�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-85ae777/src/icons/scalable/actions/school-symbolic.svg����������������������������0000664�0000000�0000000�00000002013�15223463552�0026310�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-85ae777/src/icons/scalable/actions/server-pick-symbolic.svg�����������������������0000664�0000000�0000000�00000001652�15223463552�0027263�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-85ae777/src/icons/scalable/actions/share-alt-symbolic.svg�������������������������0000664�0000000�0000000�00000001571�15223463552�0026711�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-85ae777/src/icons/scalable/actions/share-symbolic.svg�����������������������������0000664�0000000�0000000�00000002175�15223463552�0026134�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-85ae777/src/icons/scalable/actions/shoe-box-symbolic.svg��������������������������0000664�0000000�0000000�00000001170�15223463552�0026550�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-85ae777/src/icons/scalable/actions/sidebar-show-symbolic.svg����������������������0000664�0000000�0000000�00000001142�15223463552�0027412�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-85ae777/src/icons/scalable/actions/sliders-horizontal-symbolic.svg����������������0000664�0000000�0000000�00000001767�15223463552�0030674�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-85ae777/src/icons/scalable/actions/smartphone2-symbolic.svg�����������������������0000664�0000000�0000000�00000001016�15223463552�0027265�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-85ae777/src/icons/scalable/actions/software-update-available-symbolic.svg���������0000664�0000000�0000000�00000002151�15223463552�0032054�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-85ae777/src/icons/scalable/actions/square-filled-symbolic.svg���������������������0000664�0000000�0000000�00000000476�15223463552�0027571�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-85ae777/src/icons/scalable/actions/star-outline-rounded-symbolic.svg��������������0000664�0000000�0000000�00000002632�15223463552�0031114�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-85ae777/src/icons/scalable/actions/starred-symbolic.svg���������������������������0000664�0000000�0000000�00000001317�15223463552�0026473�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-85ae777/src/icons/scalable/actions/thumbs-up-outline-symbolic.svg�����������������0000664�0000000�0000000�00000003270�15223463552�0030430�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-85ae777/src/icons/scalable/actions/timer-sand-symbolic.svg������������������������0000664�0000000�0000000�00000001057�15223463552�0027073�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-85ae777/src/icons/scalable/actions/translations-symbolic.svg����������������������0000664�0000000�0000000�00000001206�15223463552�0027545�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-85ae777/src/icons/scalable/actions/user-trash-symbolic.svg������������������������0000664�0000000�0000000�00000002050�15223463552�0027117�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-85ae777/src/icons/scalable/actions/verified-checkmark-symbolic.svg����������������0000664�0000000�0000000�00000003061�15223463552�0030550�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-85ae777/src/icons/scalable/actions/video-reel2-symbolic.svg�����������������������0000664�0000000�0000000�00000000771�15223463552�0027147�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-85ae777/src/icons/scalable/actions/view-more-horizontal-symbolic.svg��������������0000664�0000000�0000000�00000001027�15223463552�0031126�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-85ae777/src/icons/scalable/actions/view-more-symbolic.svg�������������������������0000664�0000000�0000000�00000000763�15223463552�0026745�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-85ae777/src/icons/scalable/actions/we-love-games-symbolic.svg���������������������0000664�0000000�0000000�00000017135�15223463552�0027504�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-85ae777/src/icons/scalable/actions/zoom-minus-symbolic.svg������������������������0000664�0000000�0000000�00000001337�15223463552�0027146�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-85ae777/src/icons/scalable/actions/zoom-plus-symbolic.svg�������������������������0000664�0000000�0000000�00000001403�15223463552�0026770�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-85ae777/src/internal-config-schema.xml��������������������������������������������0000664�0000000�0000000�00000000321�15223463552�0023177�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-85ae777/src/internal-config.yaml��������������������������������������������������0000664�0000000�0000000�00000003217�15223463552�0022112�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: \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-85ae777/src/main-config-schema.xml������������������������������������������������0000664�0000000�0000000�00000001166�15223463552�0022317�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-85ae777/src/main.c����������������������������������������������������������������0000664�0000000�0000000�00000003173�15223463552�0017240�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" int main (int argc, char *argv[]) { g_autoptr (BzApplication) app = NULL; 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 (); app = g_object_new ( BZ_TYPE_APPLICATION, "application-id", "io.github.kolunmi.Bazaar", "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-85ae777/src/meson.build�����������������������������������������������������������0000664�0000000�0000000�00000023777�15223463552�0020326�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') dl_worker_sources = [ 'bz-env.c', 'bz-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, ) marshalers = gnome.genmarshal('bz-marshalers', sources: 'bz-marshalers.list', prefix: 'bz_marshal', valist_marshallers: true, ) gdbus_src = gnome.gdbus_codegen( 'gs-shell-search-provider-generated', 'shell-search-provider-dbus-interfaces.xml', interface_prefix : 'org.gnome.', namespace : 'Bz', ) 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.c', 'bz-article-list-view.c', 'bz-article-tile.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-callbacks.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-env.c', 'bz-error-dialog.c', 'bz-error.c', 'bz-fading-clamp.c', 'bz-favorite-button.c', 'bz-favorites-page.c', 'bz-favorites-tile.c', 'bz-featured-carousel.c', 'bz-featured-carousel-view.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-global-net.c', 'bz-gnome-shell-search-provider.c', 'bz-group-tile-css-watcher.c', 'bz-hardware-support-dialog.c', 'bz-hooks.c', 'bz-inspector.c', 'bz-install-controls.c', 'bz-installed-tile.c', 'bz-io.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-calculator.c', 'bz-safety-dialog.c', 'bz-screenshot-page.c', 'bz-screenshot.c', 'bz-screenshots-carousel.c', 'bz-search-engine.c', 'bz-search-filter-popover.c', 'bz-search-bar.c', 'bz-search-page.c', 'bz-search-pill-list.c', 'bz-section-view.c', 'bz-serializable.c', 'bz-share-list.c', 'bz-spdx.c', 'bz-stats-dialog.c', 'bz-subcategory-list.c', 'bz-template-callbacks.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', ) 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-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', bz_sources + ['main.c'], gdbus_src, marshalers, dependencies: bz_deps, install: true, ) executable(refresh_worker_bin_name, bz_sources + ['refresh-worker.c'], gdbus_src, marshalers, dependencies: bz_deps, install: true, ) �bazaar-org-bazaar-85ae777/src/pride-flag-config-schema.xml������������������������������������������0000664�0000000�0000000�00000000320�15223463552�0023374�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-85ae777/src/progress-bar-designs/�������������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0022204�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/progress-bar-designs/common.h�����������������������������������������0000664�0000000�0000000�00000001442�15223463552�0023646�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-85ae777/src/progress-bar-designs/meson.build��������������������������������������0000664�0000000�0000000�00000000020�15223463552�0024336�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������subdir('pride') ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/progress-bar-designs/pride/�������������������������������������������0000775�0000000�0000000�00000000000�15223463552�0023307�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/progress-bar-designs/pride/meson.build��������������������������������0000664�0000000�0000000�00000000044�15223463552�0025447�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bz_sources += files( 'pride.c', ) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/progress-bar-designs/pride/pride-flags.yaml���������������������������0000664�0000000�0000000�00000016215�15223463552�0026375�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-85ae777/src/progress-bar-designs/pride/pride.c������������������������������������0000664�0000000�0000000�00000017773�15223463552�0024575�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-85ae777/src/progress-bar-designs/pride/pride.h������������������������������������0000664�0000000�0000000�00000001657�15223463552�0024574�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-85ae777/src/refresh-worker.c������������������������������������������������������0000664�0000000�0000000�00000011415�15223463552�0021257�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-env.h" #include "bz-flatpak-instance.h" #include "bz-util.h" BZ_DEFINE_DATA ( main, Main, { GMainLoop *loop; GIOChannel *stdout_channel; int rv; }, BZ_RELEASE_DATA (loop, g_main_loop_unref); BZ_RELEASE_DATA (stdout_channel, g_io_channel_unref)); static DexFuture * run (MainData *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); 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-85ae777/src/release-notes.xml.in��������������������������������������������������0000664�0000000�0000000�00000000000�15223463552�0022027�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/src/shell-search-provider-dbus-interfaces.xml�����������������������������0000664�0000000�0000000�00000003503�15223463552�0026145�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-85ae777/src/shortcuts-dialog.blp��������������������������������������������������0000664�0000000�0000000�00000002626�15223463552�0022144�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-85ae777/src/style.css�������������������������������������������������������������0000664�0000000�0000000�00000051342�15223463552�0020023�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-85ae777/translators.sh������������������������������������������������������������0000775�0000000�0000000�00000007430�15223463552�0020274�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env bash # Helper script that automates the preparation steps to translate Bazaar. # # The script will add the passed language code to the LINGUAS file to avoid # editing it manually. # also: # It will reorder the contents of the file alphabetically; # It will check if the code is already in the file; # It will show the contents of the LINGUAS file, allowing a visual check; # It won't really check if the locale code is valid but will inform you # that it is not in the list of codes inside /usr/share/locale; # It will generate a .backup inside /tmp before proceeding and a .tmp file # before overwriting LINGUAS. # translators_helper() { local lang_input local lang_f local po_d local build_d local system_langs local langs_in_file local temp_file lang_f="LINGUAS" po_d="po" build_d="build" mapfile -t system_langs < <(find /usr/share/locale/ -maxdepth 1 -type d -printf "%f\n") temp_file="$(mktemp --suffix=BAZAAR)" printf "Temporary file: %s\n" "${temp_file}" printf "Setting im_a_translator to true\n" meson setup build -Dim_a_translator=true || return 1 pushd "${po_d}" >/dev/null || return 1 langs_in_file="$(wc --lines "${lang_f}" | grep --only-matching --extended-regex "[0-9]{1,}")" printf "\nNumber of languages currently in file %s\n" "${langs_in_file}" unset langs_in_file printf "Language codes currently in %s file.\n" "${lang_f}" cat --squeeze-blank "${lang_f}" read -r -n 1 -p "Proceed? (Type y or Y to confirm)" YN case "$YN" in [Yy]) printf "\n%s\n" "Proceeding..." ;; *) printf "\n%s\n" "Leaving..." exit 3 ;; esac printf "\nCopying %s to /tmp/%s\n" "${lang_f}" "${lang_f}.backup" cp --verbose "${lang_f}" "/tmp/${lang_f}.backup" read -r -p "Type the language code you want to enable translation for. ex.: pt_BR or es: " lang_input if [[ "${system_langs[*]}" =~ ${lang_input} ]]; then printf "Found %s in the system's language code list.\n" "${lang_input}" sleep 2s else printf "Could not find \"%s\" in the system's language code list, but proceeding nonetheless.\n" "${lang_input}" sleep 2s fi if grep --only-matching "${lang_input}" "${lang_f}"; then printf "%s already in file\n" "${lang_input}" sleep 2s else printf "Language to be added: %s\n" "${lang_input}" printf "%s\n" "${lang_input}" | tee -p --append "${lang_f}" 2>&1 sleep 2s fi cat --squeeze-blank "${lang_f}" | ( sed --unbuffered 1q sort ) | tee -p "${temp_file}" cat --squeeze-blank "${temp_file}" >"${lang_f}" langs_in_file="$(wc --lines "${lang_f}" | grep --only-matching --extended-regex "[0-9]{1,}")" printf "Number of languages currently in file %s\n" "${langs_in_file}" unset langs_in_file cat --squeeze-blank "${temp_file}" cat --squeeze-blank "${lang_f}" # $EDITOR LINGUAS popd || return 1 pushd "${build_d}" || return 1 printf "Generating the main pot (Portable Object Template) file for lang %s...\n" "${lang_input}" meson compile bazaar-pot printf "Update and/or create the po (Portable Object) files for %s.\n" "${lang_input}" meson compile bazaar-update-po echo "--------------------------------" printf "\nConfiguration done. Now ready for you to open your \"po\" file in your text editor and begin translating.\n" printf "When you are done, commit your changes form your fork and submit a pull request on \n%s also, refer to TRANSLATORS.md if needed\e]8;;\e\\ \n\n" "https://github.com/bazaar-org/bazaar/blob/master/TRANSLATORS.md" echo "--------------------------------" popd || return 1 return 0 } translators_helper || echo 'An error occurred; review the above output' 2>&1 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bazaar-org-bazaar-85ae777/version.sh����������������������������������������������������������������0000775�0000000�0000000�00000001057�15223463552�0017404�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh INSTR="$1" VERSION=0.9.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}" ;; *) echo invalid arguments 1>&2 exit 1 ;; esac �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������