AppStream-doc-0.15.1-150400.3.2.3<>,G8b!p9|BŒ((Kr__bvStXzVS2j-ꨤ%&Z)E{~/0?[:ZW7,5W:/-cX'+*QXC`m4?}`y1!IN* D `37>CͣJmApcDQvI[/$  pǎ Yb)O~ uP1:3: >;? d $ @1Rc y@@ P@ @ @ P@ @@@8@8\l(8 9t : FG@H@I@X(Y0\X@]X@^zbc8deflu@vzCAppStream-doc0.15.1150400.3.2.3Documentation for AppStreamAppStream-Core makes it easy to access application information from the AppStream database over a nice GObject-based interface. This package contains the documentation files for AppStream.b!ibs-power9-13(TSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Documentation/HTMLhttps://www.freedesktop.org/software/appstream/docs/linuxppc64le!1zIh?O89'ܺ1_b%('P/M-}+48ZB30U1}..0e3,1=!9L-P,"rA2{AA큤A큤AA큤A큤A큤bbaf!afaf!af af afaf!bafafaf!afafafafafafafaf!af!af af af afafafafafafafafafafafafafafafaf af af!bbaf!^Dxb^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dxb^deb8a1dc8bfcf4cc42e7ef0ca1f6c912ce8bf981fa8ebaff812631022c709e0b3ffab81d3cf075121ce7c69c03ee30bd83a27c257fb9c4879d17d7295fc21e9601645cd30d9465f665422d6248bc4d2997939fec3ffa1006d64c37eb38694ed25800f44abc0143434d006ad7e35ff11d733186b301f2538add8783f8f0367ab917e1149b52d9c3da3fb7f726bc850ce2f5627b541cd11adcdc6a21bdf18bb8fd531eab2bb77b2a0844b2818d48e117a117ecff6886dba4ab14213d77120017874d8b6dbf9ef313b09dfef69320d46b3ee8ea0e71398c84c48886fea1f9ec514a95cc1d8e67630d6f3534146f5175436df079a04d568564b819f4629f36f34b4281ef3f023cec11c3801dcf2850a5d94b493b8737d87d64a8b67d9dca6f3ee72600c5095f827357d3c98725753263a2b97200bff37062045d0b62b9a56f5edc8756a4405d0fc767d6de50fa25cedf11b0c7d413c106c9ffc3d3c094ca446678a0ffd9f44e666c859818a69f775a9e794ffd4c1f11da666d87b4cdb7f830f3b3f1c05c6aee9927cb6ee60ba79a58a8963c5ef5059eff9f389c210ac805ed2c1f50fd2db5146b07d37079cfaae24c31a23e5ccead451637aca732f5dfb960e6d18acc7628bdf55ddaf0487184b33bebe4c35791ff90f779f355eca4e530db7d841f18f2191e8e12912d6a441395d77f49ce244885d9075e2b266ba190ef7267fb39eae72beabe906c9dd87ca35338127da9f97a110037726e6ae5a67c346c2441584bf0c9e4f0e914d8a1ee62ed6976414270cd3ead46b4de6313cd6d488e4a9a50bbac9d1e2d96bc2497045a75f31b68277a2cb03b54908326561cc0aaaf9939c357388dde9a049bd70d3441bc435b78f6a27215f26725d1e290d593513a14057a9e25889ce550a3bd6305af8798be069a213c64f41bf138a574b6015a681f85d5096e17da4e7156240de68eb35c5c2979cf4d140a3ff956b34c601da6ce0522cc7542e024107c89784ffc8626e5a04a586a63ea89e36b17796baf2283a3b3ff912874713ad2866602ce8f5293ec1a0682c83f7c26ec741998d9c4923e73b9d4651771c1dd537a10e2ca5b569e6659d00f65debafb7dabc2c7280bc67a126f60e384b6972dfec499d01b82a5f29ed531e1ebf262c1220a03d00f60c2d54c8b26dbcec547b0a902fb67bc64fb2512ada8fcae09a0610ff0e9310bea7b55840857a84db6c7e137ab20fccdf6c7721d02a6d00f031c76dd8ba1c9dd09434232c3c1bbedf852db8964a93ba65fb609b8a2043649ad28041f6c4bb9975a322a7fe9f4be887e2e49cb37f7d03adf20d8e3340fac17bcdb3df7bd846175cf9f9b35fd6c68a7278ee924837e9d63c23cd9ad8aa316e41bfdd59d4ecf99930ff679b597d4962bf98bf32da54fa032f65fee2c4d1d2050cb2dc587312ffbf90e53d59d3f93c6457c2a98fe9fc256e705722b9c12864aea22feaf614354b9a53d89bcc21015e4b962e1ea764336373079a56cf5f741bbeb093109f2ce711d57618d4daaebcea90c0cb7d4e6a1a78f793a63883503a6330a2747289099199ca2c3c99264c44b6d37c1c7c49eb2c6a617c7ab7b8a90cb8001fb00380b0f79d10a6d9c5a7fbe8ca8579dc0273b95a8dcce53c425313ca483bb175912a4d6bc9f4b48aaf860acce71b6bfbc284c56791eade6839fa3ca91801bdaffcf212589bd5c75f03e04d832094a706870abf79c26afb7a20a9536ae4b5d41bbfbfb0ddd5d295377af195a45a296fdc7ddb9890ff6cf95ad64b242d3b2b42318f16066f3d85cbe7d2b33d36690e11f12f04fe66453cdf0a38f844875815f7a5e20ab5e2f5355ef6d8d1b188bde9c1647fdab91639d9e2c625f6862244f1be02e4a7616a371252105cc3fe04b495ab62259ca34284d5736b80f69068705b9b2900e88e6149527b29f1098f552b8d6f2c730f13f8200ec92d194db5fedcf5159e832059a5741ed8f7548b62041fc216042f3dbfb6f9649b08cf9d46a3d1d48b17f1e4487782785eff6590a3c28668ee7132d5b999861b4484cd1eb83ae25a6216b14196b6608f53bfdb67e7f5897fddc659cdb9d207b42da358ae38110907e08976f072710f96390eb1f4f307d1730a11cb27b8f064844545e983b5b5072fb9d1532a8243bf2b424201a33255a84f1608084f95983d656de2a6df3dc55c37f8f442cd421d313a97d75ecbf06d249fd4395024c9e6d212091e14a0cf7ec80e76e080b5b84f103846da757fc41f9290efe61a79be8b836c120a30598708f1822108a46b053bc8602cbc090a657027e20b6a3699232e79d02d131fc3f64530a72f64d806733339263633d165b96bb3d654b7905bbc99869800746fc30ac2f00c965651a553b600f26aa8e3be21403c5ecb4e59b586e5d46d367cdc96d00477721bb7de2f7ea5baa841196c3c997977a0750f7a5e307f878569416c3999afaea20c8349dded2d63916a104a4a396a6def6bd34168ed3fc92e4af523c2777893c8f6429b874896d105bb2f503682818ba144c3d3249d4516662cf42eca5490f5014c000ab3ca3e44237493738c4097acfrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootAppStream-0.15.1-150400.3.2.3.src.rpmAppStream-docAppStream-doc(ppc-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3a@aqV@a(a@`u`-@_=_#^@^V]]f@]@1@]>] #\6\}@[[WZ0@Zo Y\XwoWv@WWWYZ@W= 0.3.6 - Update BuildRequires glib-2.0 to >= 2.62 - Remove BuildRequires lmdb-devel- Update to 0.14.6. Check the NEWS file for the list of changes. - Only install the license files once.- Create and install a Vala API file- Update to version 0.14.4 * qt: Expose setter and getter for pool cache location * utils: Use GLib's gstring_replace if available * its: Allow to mark release descriptions as non-translatable * compose: Point people at the specification if metadata license is invalid * docs: Clarify which metadata licenses are permitted * docs: Fix a typo on the icon cache page * spec: Add a paragraph about which license to put in * Add documentation for YAML release type and urgency * Add documentation for YAML provides * component: Don't strip ";" from keywords before translating them * utils: Don't strip modifiers when stripping encoding * compose: Check optipng is there before we use it * Improve text line wrapping, especially if many newlines are present * Make word-wrap function unicode-aware * Make license_is_metadata_license parse more complex expressions * Improve cache refresh code, don't flag cache as updated if update failed * Use system cache even if we had to drop some invalid metadata * Assign more string class members safely * Fix flashed firmware generating incorrect XML * Fix YAML having wrong names for the firmware data- Update to version 0.14.3 * spec: Mention that license-IDs are case-sensitive * compose: Don't loop endlessly if external desktop l10n function is set * Never create a predictable dir in /tmp for caching * qt: Implement missing Pool::componentsByCategories * Share one user-owned read-only system metadata cache between all applications * pool: Clean up user sysdata caches if we start to use the system cache * Port over some parsing improvements for desktop-files from asgen * compose: Add helper for reading desktop-entry files * compose: Handle bad UTF-8 in desktop-entry files even better * search: Perform partial token matches instead of prefix matches * search: Unconditionally perform partial term matching after exact matching * news-to-metainfo: Recognize the "Contributors" section * Update our own metainfo file for appstreamcli * Read descriptions from collection XML correctly again * search: Make whole-search string matching a lot more strict * validator: Resolve false-positive when testing remote icon URL validity * utils: Improve textwrap if text is just one excessively long word * compose: Permit U+00AD SOFT HYPHEN in string values * Validate our own metainfo file * compose: Don't assume lowest priority for desktop-entry-only components * search: Only replace full words with greylist terms, not partial ones * ascli: Take all positional parameters as search terms when searching- Update to version 0.14.1: + Features: - Switch back from Soup to cURL for HTTP(S). - validator: Check a few more things on requires/recommends items. - Only download the first bytes of a file when checking URLs for validity. + Specification: spec: Officially mark tag as deprecated. + Bugfixes: - qt: Return better errors in AppStream::Metadata. - Do not automatically clean up errors that will be propagated. - Remove overall extern "C" to make very new (2.67+) GLib versions happy. - ascli: Don’t use GNU C extension type names. - build: Use c11 rather than gnu11 and define vendor extensions separately. - Changes from version 0.14.0: + Features: - news-to-metainfo: Interpret placeholder release dates as denoting a dev version. - Make as_utils_build_data_id public API. - Add AsReview for attaching user reviews to software components. - Add a branch element to component data-IDs. - utils: Add data-ID hashing and matching functions. - utils: Make as_gstring_replace public API. - Add branch info to on-disk cached components. - content-rating: Add as_content_rating_add_attribute API. - Rename INPUTMETHOD component kind enum to INPUT_METHOD. - Add "cabinet" bundle type for firmware deployments. - Make AsTokenMatch public API. - Add function to AsScreenshot to get image closest to preferred size. - Allow AsComponent to directly ingest desktop-entry data. - Make as_pool_build_search_tokens API public. - Add "origin" token match. - Make as_component_add_provided_item API public. - Add some useful image dimension constants. - compose: Add blur function from asglib. - Add more efficient load_from_bytes method to AsComponent. + Updated translations. - Drop fix-build-gcc7.patch: no longer applicable. - Replace pkgconfig(libsoup-2.4) with pkgconfig(libcurl) BuildRequires: follow upstreams switch back to cURL.- Disable vala bindings, fails to build on Leap 15.2 because g-ir-scanner emits the return type before parameters, which vapigen does not like - Update to 0.13.1: Bugfixes: * Install enum types headers to the right location * qt: Construct library using libappstream dependency object * validator: Improve check for invalid hyperlinks to reduce false-positives - Update to 0.13.0: Notes: * This release introduces a new library, libappstream-compose, designed to provide building blocks for composing AppStream metadata. This includes GUI stuff like font and SVG rendering, which libappstream deliberately does not provide. The new compose library is not API/ABI stable and should - for now - only be used by appstream-generator. Features: * qt: add missing Provided::KindId enum (Aleix Pol) * Add experimental libappstream-compose (Matthias Klumpp) * Implement support for display_length relation kind (Matthias Klumpp) * Implement "tv-remote" input control kind (Matthias Klumpp) * Refactor AsRelation to use GVariant internally (Matthias Klumpp) * content-rating: Align the OARS/CSM mappings of sex-* (Philip Withnall) * content-rating: Add content rating system APIs from gnome-software (Philip Withnall) * content-rating: Expand translator comments to link to OARS website (Philip Withnall) Specification: * spec: Specify display_length requires/recommends item (Matthias Klumpp) * spec: Add tv-remote user input control type (Matthias Klumpp) Bugfixes: * Use glib-mkenums to create the GType of all the available enums (Corentin Noël) * Set FD_CLOEXEC on the LMDB FD manually (Fabian Vogt) * Never ship with an embedded convenience copy of Highlight.js (Matthias Klumpp) * Don't fail doc install if global highlight.js wasn't found (Matthias Klumpp) * Properly escape markup when fixing invalid description data (Matthias Klumpp) * validator: Don't pass NULL to vprintf, it's not an allowed value (Matthias Klumpp) * meson: Kill deprecation warning for pkgconfig.generate (Matthias Klumpp) * validator: Demote cid-contains-uppercase-letter from INFO to PEDANTIC (Matthias Klumpp) * Change some AsPool GIR annotations to only transfer container, as workaround for issue in GIR (Matthias Klumpp) * Properly parse YAML font provides entry (Matthias Klumpp) * content-rating: Lower the OARS/CSM mapping of sex-homosexuality/intense (Philip Withnall) * Change return annotation of as_agreement_get_sections to "transfer none" (Rico Tzschichholz) * contrib: Vala expects element-type of PtrArray to reflect their ownership (Rico Tzschichholz) - Drop patches, now upstream: * 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch * properly-escape-markup.patch - Refresh fix-build-gcc7.patch- Add patch to avoid FD leak: * 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch- Update to 0.12.11: Features: * Auto-update static category data from fd.o * Implement support for input control relations * validator: Validate input control relations * validator: Put AppStream technical terms and tag names in backticks in explanation texts * Modernize the README * validator: Check for uppercase letters in cids * Strip beginning/trailing newlines in a number of places * Make AsContext getter for AsComponent public API * qt: Add support for name_variant_suffix * Make component sort-score API public API * Implement a YAML representation of release artifact information Specification: * Build specification and docs with DAPS * docs: Add (HTML) anchors for requires/recommends items * spec: Specify user input control recommendations * docs: Don't show reference to nonexistent provides->service tag for services * spec: Encourage the use of only lowercase letters for component-IDs * docs: Document --explain flag in ascli manual page as well * docs: Add permalink anchors to some list entries * Formally support BLAKE2b/s as hash functions for release artifacts * docs: Link to the MetaInfo Creator webapp in a few places Bugfixes: * Be less noisy about ignoring excessively long search tokens * Tighten the "free license" check and prevent false positives * cache: Use correct fts value per result (David Hewitt) * validator: Control items can't have a version * validator: Reduce download timeout * yaml: Strip encoding when serializing keyword lists * Allows arbitrary indentation when converting NEWS files * Ignore NULL values silently in our stringstrip function * Only dump valid metainfo description markup, sanitize it otherwise - Add patch to avoid parser errors for invalid descriptions: * properly-escape-markup.patch - Add patch to fix build on Leap 15.2: * fix-build-gcc7.patch- Update to 0.12.10. Check the NEWS file for the complete changelog. - Drop patches. Issues fixed upstream: * 0001-Restore-compatibility-with-GLib-2.58.patch * 0001-Fix-possible-NULL-dereference.patch * 0002-Don-t-ignore-xmlNodeDump-return-code.patch * 0003-Fix-infinite-recursion-if-component-has-itself-liste.patch * find-lmdb.patch- Drop itstools BuildRequires, not required for either building or testing. - xsltproc is no longer invoked via xmlto, drop xmlto, explicitly add required xsltproc and docbook-xsl-stylesheets.- Add patches to fix crash with some invalid metainfo (boo#1139463): * 0001-Fix-possible-NULL-dereference.patch * 0002-Don-t-ignore-xmlNodeDump-return-code.patch * 0003-Fix-infinite-recursion-if-component-has-itself-liste.patch - Update build requirements - Add %check section- Update summary and description- Update to 0.12.7: Notes: * This release changes the way AsPool caches components and will also permanently keep components in an LMDB-based cache. Additionally, the GVariant AsComponent serialization was removed. Features: * Depend on LMDB (Matthias Klumpp) * tests: Test pool cache and XML read performance separately (Matthias Klumpp) * Improvements to data caching and fulltext search (Matthias Klumpp) * Add new LMDB based component cache (Matthias Klumpp) * cache: Implicitly hash keys if they are too long for the database (Matthias Klumpp) * cache: Implement all supported search modes (Matthias Klumpp) * cache: Implement various performance optimizations and helpers (Matthias Klumpp) * cache: Allow switch to nosync mode, make insertions threadsafe (Matthias Klumpp) * Refactor component pool to make use of the mmap'ed caches by default (Matthias Klumpp) * Don't limit term length in user search queries (Matthias Klumpp) * Ignore one-letter search terms (Matthias Klumpp) * pool: Mask removed components in readonly caches so they can not be queried (Matthias Klumpp) * Remove component GVariant serialization (Matthias Klumpp) * cache: Use binary representations for cache values (Matthias Klumpp) * cache: Always refine launchable entries, to make them searchable (Matthias Klumpp) * Make component scope API public (Matthias Klumpp) * Handle LicenseRef URLs explicitly when extracing a license URL (Matthias Klumpp) * Update static data (Matthias Klumpp) * tests: Update perf test with test for the new cache implementation (Matthias Klumpp) * its: Add "translatable" option in metainfo.its (fujiwarat) Specification: * Add a note about not dropping .desktop suffix from existing IDs (Kalev Lember) * spec: clarify purpose (Kamil Páral) * docs: Explicitly rule out nested lists (Marius Vollmer) * docs: Add link to project page to specification abstract (Matthias Klumpp) * spec: Clarify format of the appstream: URI (Matthias Klumpp) * spec: Clarify how to denote proprietary licenses (Matthias Klumpp) Bugfixes: * tests: Fix potential wrong output when two tests fail in parallel (Matthias Klumpp) * validator: Allow some top-level tags to be empty (Matthias Klumpp) * Only match all things for broad queries, for invalid ones return nothing (Matthias Klumpp) * Determine system cache age correctly and don't needlessly refresh it (Matthias Klumpp) * Never attempt to load the system cache when it is not needed (Matthias Klumpp) * Assume "unknown" distribution ID by default (if /etc/os-release is missing) (Matthias Klumpp) * cache: Ensure previous cache is closed before opening a new one (Matthias Klumpp) * Put test data in alphabetical order (Robert Ancell) * Generate XML and YAML in alphabetical order (Robert Ancell) - Add patch to work with vanilla lmdb: * find-lmdb.patch - Add patch to fix build on Leap: * 0001-Restore-compatibility-with-GLib-2.58.patch- Replace boilerplate and em-dash summaries.- Update to 0.12.6: Features: * Implement artifacts (Matthias Klumpp) * Search improvements (Matthias Klumpp) Specification: * doc: help distinguish the 2 'languages' tags (Beuc) * spec: Document the new artifacts tag (Matthias Klumpp) - Update to 0.12.5: Features: * qt: expose the spdx parser to Qt users (Aleix Pol) * Implement operating-system component and add convenience functions (Matthias Klumpp) * qt: Add operating-system component type and a few utility functions (Matthias Klumpp) * Allow fetching the ISO8601 date directly alongside the timestamp in AsRelease (Matthias Klumpp) * Implement date_eol for AsRelease (Matthias Klumpp) * Add convenience methods for retrieving date_eol as UNIX timestamp (Matthias Klumpp) * qt: Allow retrieving the EOL timestamp for releases (Matthias Klumpp) * Implement new release details URL (Matthias Klumpp) * Make rDNS conversion function more generic and add more extensive tests (Matthias Klumpp) Specification: * docs: tag can have details url (Jehan) * spec: Specify the operating-system component (Matthias Klumpp) * spec: Specify date_eol for releases (Matthias Klumpp) * docs: Explicitly state list items are allowed in ol/ul lists (Matthias Klumpp) Bugfixes: * Don't warn about issues in a cache refresh if there weren't any (Matthias Klumpp) * Ensure releases are always sorted in descending order (Matthias Klumpp) * pool: Fix g-i for get_components_*() while GPtrArray owns its elements (Rico Tzschichholz) - Update to 0.12.4: Features: * pool: Be a lot more forgiving when encountering invalid components (Matthias Klumpp) * Implement component removal via remove-component merges (Matthias Klumpp) * validator: Warn about insecure URLs, handle mailto: URLs (Matthias Klumpp) * Add a contact URL type (Robert Ancell) Specification: * Document new remove-component merge type (Matthias Klumpp) Bugfixes: * as-pool: fix GObject annotation for GPtrArray owning the elements (Corentin Noël) * Make invalid components ratio check more accurate (Matthias Klumpp) * Ensure description paragraphs contain no invalid XML tags (Matthias Klumpp) - Update to 0.12.3: Notes: * Beginning with this release, data from local .desktop files will not be loaded into the pool automatically, unless a metainfo file also exists. This should ensure less duplicated components in general higher-quality data to be displayed. It also provides another incentive to add/fix metainfo files. If you prefer the previous behavior, set the AS_POOL_FLAG_READ_DESKTOP_FILES flag on your AsPool instance. Features: * apt: Ignore errors post-update (Matthias Klumpp) * validator: Allow content_rating to be empty (Matthias Klumpp) * ascli: Display stock icon name if no suitable icon was found for details view (Matthias Klumpp) * Refactor loading of local metainfo files (Matthias Klumpp) Specification: * spec: Clarify the requirement for content_attribute tags in content_rating (Matthias Klumpp) * docs: Write intro for addon quickstart (Matthias Klumpp) * docs: Replace hyphens in component-IDs of XML examples (Matthias Klumpp) Bugfixes: * Ensure all addons are linked to a component (David Hewitt) * Annotate nullable return types (David Hewitt) * cache: Set explicit variant types for cases where they can not be inferred (Matthias Klumpp) * utils: Handle NULL strings when comparing versions (Matthias Klumpp) * Explicitly include string.h in as-tag.c (Matthias Klumpp) * Properly ignore desktop-entry components if we have better data (Matthias Klumpp) * Remove AppStream XSD schema (Matthias Klumpp) * Update static data (Matthias Klumpp) * Set error variable if there were some errors during refinement (Stefan Bruens) - Remove patches, now upstream: * explicit-variant-types.patch * workaround-hidden-symbols.patch- Update to 0.12.2: * Fix a couple of incorrect g_ptr_array_unrefs (Iain Lane) * Use autofree functions instead of freeing resources explicitly (Matthias Klumpp) * Add missing const (Matthias Klumpp) * Ensure we don't produce a .pc file with unnecessary Requires.private lines (Matthias Klumpp) * Stop leaking local GVariantDict instance contents (Phil Miller) * Drop leaked references to container items (Phil Miller) - Update to 0.12.1: Features: * ascli: Add command to compare version numbers (Matthias Klumpp) * yaml: Allow reading multiple localized strings from YAML data (Matthias Klumpp) * yaml: Always include the untranslated strings (Matthias Klumpp) * Allow to ignore media_baseurl when parsing metadata (Matthias Klumpp) * xml: Add implementation of the agreement tag (Matthias Klumpp) * Add new "repository" component type (Matthias Klumpp) * yaml: Implement Agreements field (Matthias Klumpp) * cache: Implement support for agreements (Matthias Klumpp) * tests: Improve cache data tests, add agreement tag test (Matthias Klumpp) * Use gperf for perfect hash generation for some tags (Matthias Klumpp) * tests: Add rundimentary performance test (Matthias Klumpp) * its: Mark agreement sections as translatable (Matthias Klumpp) * qt: Add support for service/repository component types (Matthias Klumpp) Specification: * docs: Describe the custom tag (Matthias Klumpp) * spec: Describe the new agreement tag (Matthias Klumpp) * docs: Clarify that the /usr/share/appdata/ path is legacy and should not be used (Matthias Klumpp) Bugfixes: * its: Allow translation of release descriptions (Marc J) * Load data from desktop files properly again (Matthias Klumpp) * Update desktop-environment list (Matthias Klumpp) * qt: Don't warn about inlining in maintainer mode (Matthias Klumpp) - Update to 0.12.0: Features: * Implement release types (Matthias Klumpp) * qt: Support release types (Matthias Klumpp) * Update static data lists (Matthias Klumpp) * Make as_str_replace use as_gstring_replace internally (Matthias Klumpp) * spdx: Add some compatibility workarounds for SPDX 3.0 (Matthias Klumpp) * validator: Validate SPDX license expressions for metadata_license (Matthias Klumpp) * apt: Add config snippets to enable icon downloads (Matthias Klumpp) * yaml: Ensure all string values have whitespaces stripped (Matthias Klumpp) * Make as_component_get_launchables public API (Matthias Klumpp) * Implement support for requires/recommends (Matthias Klumpp) * Add recommends/requires data to the cache (Matthias Klumpp) * Add a quick way to check if a version satisfies an AsRelation requirement (Matthias Klumpp) * ascli: Properly document the --no-net flag (Matthias Klumpp) * ascli: Allow to disable network acces via an environment variable (Matthias Klumpp) * apt: Support 48x48px icons (Matthias Klumpp) * yaml: Make Requires/Recommends data more compact and easier to emit (Matthias Klumpp) * validator: Validate requires/recommends tags (Matthias Klumpp) * Default to format version 0.12 (Matthias Klumpp) Specification: * spec: Add a "type" property to tag. (Jehan) * spec: Initial draft for requires/recommends (Matthias Klumpp) * spec: Document the YAML Rquires/Recommends fields (Matthias Klumpp) * spec: Clarify that the memory requirement uses MiB as unit (Matthias Klumpp) Bugfixes: * qt: Implement missing constructors (Aleix Pol) * apt: escape the icon scale factor as it is using the arobase character (Corentin Noël) * Check plain language string in as_component_localized_get as well (Antonio Rojas) * qt: Define location and soname for all configurations, not just Debug (Gabriel Souza Franco) * Never override high-quality data with incomplete .desktop data (Matthias Klumpp) * Make data update script work with recent SPDX (Matthias Klumpp) * Add a timeout to URL validity checks (Matthias Klumpp) - Remove patches, now upstream: * 0001-Fix-regression-from-153.patch - Add patch to fix assertion failure on cache refresh (boo#1105691): * explicit-variant-types.patch - Add patch to fix build on Leap: * workaround-hidden-symbols.patch - Run spec-cleaner- Use OpenPGP signature provided upstream - Added AppStream.keyring, which contains the key from the author - Use %license macro for license files- appstreamcli can use curl for some checks, so recommend it (boo#1080446)- Now the appstream cache is refreshed in %post. The update to 0.11.8 plus the refresh fixes kde#389531. - Headers are now installed to /usr/include/appstream instead of /usr/inlude/AppStream - New package AppStream-doc with the html documentation for AppStream - Use meson to build instead of cmake - Update to version 0.11.8: Features: * validator: Emit a hint in case a discouraged AppStream ID style is used (Matthias Klumpp) * l10n: Renamed Norwegian Bokmål language file (Matthias Klumpp) Specification: * docs: Add quickstart instructions for intltool (David Steele) * spec: Discourage use of hyphens and digit-started segments for IDs (Matthias Klumpp) Bugfixes: * qt: Export the AppStreamQt target (Aleix Pol) * Various string improvements (Allan Nordhøy) * validator: Don't make HEAD requests for URL checks, fetch first byte instead (Matthias Klumpp) * Enforce a non-broken version of gobject-introspection (Matthias Klumpp) * Ensure LINGUAS update is only run explicitly (Matthias Klumpp) * Fix a minor memory and fd leak (Matthias Klumpp) - Update to version 0.11.7: Notes: * The appstreamcli validation commands now use curl if it is available to check all URLs in the metadata for existence. If you don't want this behavior, pass "--nonet" to appstreamcli. There might also be false positives (one is known with the KDE bugtracker) that need to be investigated, so feedback on this new feature is welcome. Features: * validator: Check all urls for validity (Matthias Klumpp) * validator: Check web-application components for missing tags (Matthias Klumpp) * Add API to retrieve the AppStream library version (Matthias Klumpp) * apt: Allow fetching 128x128@2 HiDPI icons (Rico Tzschichholz) Specification: * Add the "url" launchable type (Dimitrios Christidis) * spec: Clarify some icon details in the collection data (Marius Vollmer) * spec: Allow tags in generic components (Marius Vollmer) * spec: Specify the web-application component type (Matthias Klumpp) Bugfixes: * Fix endless loop when validating screenshots (Matthias Klumpp) * ascli: Show a list of component-types when --help is passed to new-template (Matthias Klumpp) * validator: Drop the wget fallback, making missing curl only an info (Matthias Klumpp) * meson: Properly define header-file in gir (Rico Tzschichholz) - Update to version 0.11.6: Features: * Improve screenshot validation (Matthias Klumpp) * Allow to disable introspection (Matthias Klumpp) Bugfixes: * Revert back to the old build option names (Matthias Klumpp) * Apply maintainer flags equally to C++ and C (Matthias Klumpp) * Explicitly set C/C++ standard versions (Matthias Klumpp) * vapi: Include the right header (Matthias Klumpp) * xml: Correctly write screenshots tag again (Matthias Klumpp) * Do not cache a screenshot that doesn't have images (Matthias Klumpp) * xml: Support legacy screenshot tags again (Matthias Klumpp) - Update to version 0.11.5: Features: * Restructure build feature flags (Matthias Klumpp) * Allow disabling API documentation build (Matthias Klumpp) Bugfixes: * qt: Don't check bitness when finding AppStreamQt (Matthias Klumpp) - Update to version 0.11.4: Notes: * This release switches the build system from CMake to Meson. You will need Meson (>= 0.42) in order to build AppStream. Please test for any regressions. Features: * Implement Meson support (Matthias Klumpp) * meson: Make build with sanitizers (partially) work again (Matthias Klumpp) * meson: Add helper script for building documentation (Matthias Klumpp) * docs: Always rebuild documentation on-demand (Matthias Klumpp) * Update README for Meson (Matthias Klumpp) * Implement cockpit-manifest launchable type (Matthias Klumpp) * validator: Actually validate the type property of "launchable" tags (Matthias Klumpp) * Allow to search the pool for components that provide a launchable (Matthias Klumpp) * qt: Add new function to search components by launchable (Matthias Klumpp) Specification: * spec: New "cockpit-manifest" launchable type (Marius Vollmer) Bugfixes: * validator: Complain if a component has no ID (Matthias Klumpp) - Update to version 0.11.3: Bugfixes: * qt: Don't crash when an error is found and no error string is passed (Aleix Pol) * Propagate document context to the context object for XML files (Matthias Klumpp) * validator: Correctly recognize "launchable" as valid tag (Matthias Klumpp) - Update to version 0.11.2: Features: * cache: Refactor cache functions (Matthias Klumpp) * Deduplicate origin/locale/arch with AsContext (Matthias Klumpp) * Get rid of a couple of internal helper methods (Matthias Klumpp) * cli: When using convert, always assume collection style for YAML (Matthias Klumpp) Specification: * Adjust docs to clearly state that licenses are SPDX expressions (Harald Sitter) Bugfixes: * qt: Improve Icon QDebug information (Aleix Pol) * Resolve crash when serializing lots of XML documents (Matthias Klumpp) * xml: Don't truncate translated entries after encounting a wrong locale (Matthias Klumpp) * Set a real locale if locale is set to "ALL" (Matthias Klumpp) * validator: Make ending dot in component name only a pedantic issue (Matthias Klumpp) - Add patch to export the AppStreamQt target correctly: * 0001-Fix-regression-from-153.patch- Update to version 0.11.1: Notes: * This release contains refactoring of the XML/YAML parsers and some other changes that are more invasive than usual. Features: * qt: Add new getters/setters and classes to be on par with the GObject library (Jan Grulich) * qt: Add AS::Metadata class used for parsing desktop and appstream metadata files (Jan Grulich) * Refactor the XML parser and serialization code (Matthias Klumpp) * Refactor the YAML parser and emitter code (Matthias Klumpp) * Implement 'service' component type (Matthias Klumpp) * Improve speed of metainfo description parsing slightly (Matthias Klumpp) * test: Add additional testcase for reading metainfo description tags (Matthias Klumpp) * test: Test metainfo descriptions starting with enumerations (Matthias Klumpp) Specification: * doc: Add Distro Packaging page (Jeremy Bicha) * doc: Add "service" components and their launchables (Marius Vollmer) * Allow components to provide other components (provides -> id) (Matthias Klumpp) Bugfixes: * doc: Uncomment line in middle of paragraph (Jeremy Bicha) * doc: A releases tag is not essential for components, but summary is (Matthias Klumpp) * Allow descriptions to start with an enumeration (Matthias Klumpp) * Ensure we always update with fresh data when refreshing the cache (Matthias Klumpp) * Replace invalid components in the pool with new ones of the same name (Matthias Klumpp) * Resolve a few potential bugs (found by static checks) (Matthias Klumpp) * xml: Check if we are trying to parse a real component (Matthias Klumpp) - Update to version 0.11.0: Features: * Implement read/write support for content ratings (Matthias Klumpp) * tests: Test the content_rating tag XML read/write (Matthias Klumpp) * yaml: Read/write ContentRating (Matthias Klumpp) * cache: Handle the content-rating property (Matthias Klumpp) * Add new AsLaunch type (Matthias Klumpp) * Fully implement the launchable tag (Matthias Klumpp) * Recognize scaling factor for HiDPI icons (Matthias Klumpp) * apt: Allow fetching HiDPI icons (Matthias Klumpp) Specification: * spec: Don't give wrong information about the tag (Matthias Klumpp) * spec: Specify content_rating tag for content age ratings (Matthias Klumpp) * spec: Specify the new launchable tag and apply its effects (Matthias Klumpp) * spec: Add note on where to place icons with a scaling factor (Matthias Klumpp) Bugfixes: * Add missing word in string (Anders Jonsson) * yaml: Fix crash when serializing component with a dbus:user provided item (Matthias Klumpp) * cache: Don't write cache if there are no valid components (Matthias Klumpp) * docs: Clarify "permissive" for metadata_license and make the paragraph more explicit (Matthias Klumpp) * Ensure GVFS never starts in root user slice (Matthias Klumpp) * Correctly tokenize values with dash or plus (Matthias Klumpp) * vapi: Add appstream.deps file (Rico Tzschichholz) - Update to version 0.10.6: Features: * validator: Be more strict about the tag types in metainfo files (Matthias Klumpp) * validator: Unconditionally check for name and summary (Matthias Klumpp) * Move all merge logic to AsComponent (Matthias Klumpp) * Allow making AppStream consume data from metainfo instead of collection files (Matthias Klumpp) * apt: Do not enable any icon downloads by default (Matthias Klumpp) * validator: Check categories in XML as well (Matthias Klumpp) * cli: Make templates for different component-types a bit more useful (Matthias Klumpp) * Allow a few more permissive licenses for metadata_license (Matthias Klumpp) * Add support for "+" operator at the end of SPDX license identifiers (Kalev Lember, Matthias Klumpp) * cli: Print tiny summary after validation (very useful for validate-tree) (Matthias Klumpp) * validator: Validate for hyperlinks in description / summary / developer-name (Matthias Klumpp) * validator: Make missing long description a pedantic issue in more cases (Matthias Klumpp) * Also recognize "FSFUL" license as pemissive (Matthias Klumpp) * validator: Adjust priorities of missing modalias/font tags in driver/font components (Matthias Klumpp) * Skip loading desktop-entries if we know their component already (Matthias Klumpp) * Be lazier, only parse what is necessary in the data pool (Matthias Klumpp) Specification: * spec: Clarify that name/summary are now always required for metainfo files (Matthias Klumpp) * spec: Clarify desktop vs. desktop-application (Matthias Klumpp) * spec: Add a small paragraph about whether and what xmlns to use (Matthias Klumpp) * spec: Make it clear can be used in metainfo files too (Matthias Klumpp) * spec: Make clear that update_contact's value is case-insensitive (Matthias Klumpp) * docs: Make sure all examples follow the reverse-DNS scheme (Matthias Klumpp) Bugfixes: * Don't hardcode share dir but use CMAKE_INSTALL.. (Heiko Becker) * validator: Don't enforce .desktop suffix on desktop-app component IDs (Matthias Klumpp) * qt: Allow catching error strings returned by Pool::load (Aleix Pol) * Always drop data from desktop-entry files if we have better metadata (Matthias Klumpp) * apt: Install icons back if they went completely missing (Matthias Klumpp) * Update SPDX and TLD data (Matthias Klumpp) * yaml: Read release/urgency key (Matthias Klumpp)- Update to version 0.10.5: Features: * Match modalias wildcards on regular searches (Matthias Klumpp) * xml: Add methods to get/set custom data in metainfo/collection files (Matthias Klumpp) * Make cache update issue messages slightly more verbose (Matthias Klumpp) * Add preliminary code for reading metainfo files in addition to .desktop files (Matthias Klumpp) * cache: Cache custom fields as well (Matthias Klumpp) Bugfixes: * qt: Make sure dependencies are fetched when looking for the package (Aleix Pol) * yaml: Consistently read/write the Suggests field (Matthias Klumpp) * Correctly read bundle kind from XML data (Matthias Klumpp) - Update to version 0.10.4: Features: * qt: Introduce AppStream::Suggested in the Qt frontend (Aleix Pol) Bugfixes: * Properly validate suggests tag (Matthias Klumpp) * qt: Add an empty check to Provided and return it if necessary (Matthias Klumpp) * Add path search to find libstemmer headers (#91) (Neal Gompa) - Update to version 0.10.3: Notes: * The release breaks the Qt library API. Patches to make KDE Discover use the new API exist in its Git master branch, and will be available with Plasma 5.9. The patches will likely not enter the stable branch, so if you want to upgrade AppStream, you might need to ship patches for Discover downstream to use the new API. Features: * qt: Update API to reflect more recent AppStream features, be easier to extend and also a bit faster due to removing needless data conversions. (Matthias Klumpp, Aleix Pol) * Make components record their origin kind internally (Matthias Klumpp) * Provide a file:/ URL for icons when we know a file name (Matthias Klumpp) * Add support for Snappy/Snap bundles (Matthias Klumpp) Specification: * Add new AppStream logo and button (Ken Vermette) * Add new AppStream logo and buttons to the docs (Matthias Klumpp) Bugfixes: * ascli: When converting, always include all translations (Matthias Klumpp) * Match .desktop files and metainfo data properly if ID is lacking .desktop suffix (Matthias Klumpp) - Update to version 0.10.2: Features: * test: Add unittests for reading urls (Matthias Klumpp) * qt: Add AppStream::Category class (Matthias Klumpp) * qt: Add missing URL type (Matthias Klumpp) * Handle "font" provided type in XML and YAML (Matthias Klumpp) * Replace Intltool with modern Gettext/Itstool (Matthias Klumpp) * Add logic to parse desktop entries (Matthias Klumpp) * Don't add ignored components to the pool (Matthias Klumpp) * validator: Validate fd.o domain name, make GNOME warning only pedantic (Matthias Klumpp) * validator: Allow languages tag in metainfo files (Matthias Klumpp) * Read information from .desktop files and add it to the pool (Matthias Klumpp) * Give the client app full control on what data sources we load (Matthias Klumpp) * Add private API for component scoping (Matthias Klumpp) Specification: * docs: Clarify name/summary essentialness for desktop-apps (Matthias Klumpp) * spec: Clarify how fonts provides should be handled (Matthias Klumpp) * spec: Simplify font metainfo, add more examples and clarify requirements (Matthias Klumpp) Bugfixes: * ascli: Replace refresh-index with refresh-cache in help text (#81) (Larry Price) * qt: nullptr access on unopened databases resulting in a crash (Harald Sitter) * qt: The data pool must always be valid during the Database lifetime (Matthias Klumpp) * If search results are going to be sorted, it makes sense for higher scores to be at the top of the list. Fixes #77. (Larry Price) * validator: Don't enforce long descriptions on fonts (Matthias Klumpp) * Hardcode metainfo directory (Matthias Klumpp) * ascli: Make every module use the global no-color flag properly (Matthias Klumpp) * validator: Don't emit excess warnings on missing type properties (Matthias Klumpp) - Update to version 0.10.1: Features: * Add AppStream button image (Ken Vermette) * Ship a metainfo file (Matthias Klumpp) * Don't use an extra hash table for AsProvided (Matthias Klumpp) * Register bundle type for AppImageKit (Matthias Klumpp) * Implement localization component type (Matthias Klumpp) * validator: Complain less-loudly when encontering GNOME-specific tags (Matthias Klumpp) * validator: Check for superfluous dots (Matthias Klumpp) * validator: Strictly validate ID for KDE and GNOME (Matthias Klumpp) * ascli: Modernize the way we handle subcommands (Matthias Klumpp) * qt: Allow retrieving the desktop-id of a component (Matthias Klumpp) Specification: * Add new driver component type (Matthias Klumpp) * spec: Describe localization component type (Matthias Klumpp) Bugfixes: * docs: Add a few missing classes to the API docs (Matthias Klumpp) * Fix cache (de)serialization for screenshots and suggestions (Matthias Klumpp) * yaml: Set screenshot image type correctly (Matthias Klumpp) * cache: Iterate the right dictionary when looking at checksums (#71) (Iain Lane) * apt: Ignore broken symlinks in /var/lib/apt/lists (Iain Lane) * as_get_yml_data_origin: Error out if opening the file fails for any reason (Iain Lane) * Make addons find their target component again (Matthias Klumpp) * yaml: Don't fail if we encounter a translated node without template (Matthias Klumpp) * Don't use GObject ref on GPtrArray (Matthias Klumpp) * ascli: Read metainfo files correctly when converting files (Matthias Klumpp) * xml: Properly serialize provides tag (Matthias Klumpp) * pool: Correctly update addon info when loading data from a cache object (Matthias Klumpp) * ascli: Auto-disable colors if we are not on a tty (Matthias Klumpp) * yaml: Enforce string/int type on YAML scalars (Matthias Klumpp) * yaml: Fix loading of cached icons in all formats (Matthias Klumpp) * qt: Never lie about a component kind (Matthias Klumpp)- Use a define for the so version and fix -devel requiring the old libappstream3- Update to version 0.10.0 - Disable stemming support until we have libstemmer packaged. - Generate libappstream4 packages since AppStream changes the ABI in 0.10.0 Notes: * This release breaks API/ABI in order to support multiple metadata sets describing the same component (needed for bundling support), moving away from the database as central data store and general cleanup. * Porting is relatively straightforward, if you were using AsDatabase, you should switch to AsPool now (AsDatabase has been a wrapper around AsPool for a while anyway). * Many methods became private API with this release, file a bug if you miss anything. * The 'categories.xml' file is gone - please account for that if you were reading it directly, and consider using AsCategory instead, which offers the same functionality. Features: * Remove the AsDatabase class (Matthias Klumpp) * Use cmakedefine for compile-time features (Matthias Klumpp) * Rename AsDataPool -> AsPool (Matthias Klumpp) * Add placeholder enum for web applications (Matthias Klumpp) * qt: Implement Appstream::Release for the Qt interface (Aleix Pol) * Recognize the "Pantheon" desktop for Elementary (Matthias Klumpp) * Get rid of the menu parser and make AsCategory more useful instead (Matthias Klumpp) * Allow AsComponent to automatically check for list-value duplicates (Matthias Klumpp) * Give bundles their own class (Matthias Klumpp) * Stop shipping the categories.xml file (Matthias Klumpp) * Allow multiple metadata sets in the pool to describe a component (Matthias Klumpp) * Name AppStream metadata styles consistently (Matthias Klumpp) * Allow the 'C' description fallback to be turned off (Iain Lane) * Make AsScreenshot return localized images by default (Matthias Klumpp) * Allow to compare AsRelease versions easily (Matthias Klumpp) * Make get_icon_repository_paths private API (Matthias Klumpp) * ascli: Allow dumping metadata as YAML (Matthias Klumpp) * Use GVariant instead of ProtoBuf based cache (Matthias Klumpp) * Enable stemming by default (Matthias Klumpp) * Make components directly reference their addons, avoiding to query twice (Matthias Klumpp) * Refactor data pool metadata loading (Matthias Klumpp) * Allow setting the AppStream format version when (de)serializing data (Matthias Klumpp) * Always write modern metadata, unless a lower format version is requested explicitly (Matthias Klumpp) * Also find components in searches which have the search keyword in an addon (Matthias Klumpp) * ascli: Add function to convert XML to YAML and vice versa (Matthias Klumpp) * Consistent naming for metadata format and style (Matthias Klumpp) Specification: * spec: Add hint on how the keywords tag should be localized (Matthias Klumpp) Bugfixes: * Resolve unit test failures on arm and mips (Matthias Klumpp) * gir: Correctly annotate ownership transference of GPtrArrays (Matthias Klumpp) * l10n: Drop languages without translations (Matthias Klumpp) * Don't hide symbols in public headers (Matthias Klumpp) * Properly validate desktop-environment strings (Matthias Klumpp) * validator: Fix name/summary check in validate-tree (Matthias Klumpp) * xml: Properly write localized keywords (Matthias Klumpp) * Avoid watching superfluous directories for metadata (Matthias Klumpp) * Update architecture diagrams and optimize PNGs (Matthias Klumpp) * Get rid of Xapian-isms (Matthias Klumpp)- Update to version 0.9.8 Features: * qt: Different approach for storing the icon size and url relation (Aleix Pol) * Strictly validate AppStream IDs (Matthias Klumpp) * Add AsSuggested class (Lucas Moura) * tests: Test merges for suggestions (Lucas Moura) * Add functions handling SPDX license ids and expressions (Matthias Klumpp) * validator: Include a line-hint in the issue report (Matthias Klumpp) * Implement console-application component type (Matthias Klumpp) * validator: Validate files following the new cid scheme properly (Matthias Klumpp) * validator: Validate metadata_license for permissiveness (Matthias Klumpp) * Compress cache data (Matthias Klumpp) * Implement "translate" URL type (Matthias Klumpp) * xml: Implement the suggests tag (Matthias Klumpp) * yaml: Implement reading and writing of Suggests field (Matthias Klumpp) * Consider merge components valid if they have at least an ID (Matthias Klumpp) * yaml: Read/write merge components (Matthias Klumpp) Specification: * spec: Add console-application component type (Matthias Klumpp) * spec: Streamline the requirements for component-ids (Matthias Klumpp) * spec: Define a "translate" URL type (Matthias Klumpp) * spec: Specify the suggests tag (Matthias Klumpp) * spec: Describe the merge property (Matthias Klumpp) * spec: Proofreading fixes (Philip Withnall) Bugfixes: * Make searching for multiple terms work properly again (Matthias Klumpp) * Don't fail on invalid search terms (Matthias Klumpp) * Don't re-instantiate stemmer on each use (Matthias Klumpp) * ascli: Line-wrap unicode texts properly on the console (Matthias Klumpp) * Add missing docs to the API reference (Matthias Klumpp) * tests: Add test description to each test (Matthias Klumpp) * Sort search results by default (Matthias Klumpp) * Fix a few issues with merging (Matthias Klumpp) - From version 0.9.7 Features: * Don't fall back to Debian screenshots server if none is specified for the distro (Matthias Klumpp) * Split out distro-specific helpers (Matthias Klumpp) * Implement Xapian-less search (Matthias Klumpp) * Use a pure PB cache instead of Xapian (Matthias Klumpp) * qt: Don't rely on Xapian for searches (Matthias Klumpp) * Deprecate AsDatabase (Matthias Klumpp) * Hide internal symbols from the symbols table (Matthias Klumpp) * Allow injecting components into the pool and unittest the cache (Matthias Klumpp) * Add by-category filter to AsDataPool (Matthias Klumpp) * Validate Freedesktop category names (Matthias Klumpp) * Allow building AppStream with stemming support (Matthias Klumpp) * Cache search tokens (Matthias Klumpp) Specification: * docs/quickstart: Clarify the role of releases/provides (Matthias Klumpp) * docs/quickstart: Screenshot images don't need to define width/height (Matthias Klumpp) Bugfixes: * qt: Properly expose enums for introspection (Aleix Pol) * qt: Make it possible to easily output data types using QDebug (Aleix Pol) * xml: Fix formatting of tag (Matthias Klumpp) * xml: Work around non-threadsafe behavior of libxml2 (Matthias Klumpp) * xml: Properly write provides tag (Matthias Klumpp) * Fix code documentation for as_component_get_id (Lucas Moura) * Fix some xmldata methods documentation (Lucas Moura) * cli: Create metainfo directory if it is missing and respect DESTDIR (Matthias Klumpp)- Update to version 0.9.6 Features: * Improve metadata file decompression code (Matthias Klumpp) * validator: Simplify loading of data too (Matthias Klumpp) * Make it easy to compile with Address Sanitizer enabled (Matthias Klumpp) * Allow compiling with UBSan as well (Matthias Klumpp) * Add back support for Travis CI (Matthias Klumpp) * yaml: Write Releases field (Matthias Klumpp) Bugfixes: * qt: Properly check for component validity (Matthias Klumpp) * Ensure decompressed metadata is null-terminated (Neil Mayhew) * validator: Long descriptions are not needed for generic components (Matthias Klumpp) * Make VAPI generation depend on GIR typelibs explicitly (Matthias Klumpp) * Be more verbose when failing to move the cache directory (Matthias Klumpp) * Handle format errors when parsing YAML metadata (Neil Mayhew)- Drop the separate Vala package and include the files into the devel package- Drop unnecessary manual library require - Avoid /bin/sh invocation for simple ldconfig calls- Generate the Vala API - Update to version 0.9.5 Features: * Update README (Matthias Klumpp) * Provide a bit more hints for translators (Matthias Klumpp) * Improve error messages when reading broken XML (Matthias Klumpp) * Load all XML in AsXMLData (Matthias Klumpp) * Implement reading localized images from metadata (Matthias Klumpp) * Write localized images in XML/YAML serialize routines (Matthias Klumpp) * Unify codepaths for checking compatible locales (Matthias Klumpp) * yaml: Implement read/write support for the Languages field (Matthias Klumpp) * xml: Serialize and read languages tag properly (Matthias Klumpp) * validator: Validate files in legacy paths too (Matthias Klumpp) Specification: * spec: Allow localized screenshot images (Matthias Klumpp) Bugfixes: * Refactor icon-finding code and fix rare double-free corruption (Matthias Klumpp) * Properly validate randomly ordered XML tags for duplicates (Matthias Klumpp) * validator: The translation tag is only valid in metainfo files (Matthias Klumpp) * Be slightly less pedantic about size info when reading screenshot images (Matthias Klumpp) * xml: Properly write description tag (Matthias Klumpp) - From version 0.9.4 Features: * Handle legacy screenshot tags (Matthias Klumpp) * Print prettier YAML documents (Matthias Klumpp) * yaml: Allow loading of distro metadata slices without header (Matthias Klumpp) * Do not check for installation candidate on minimal validation (Matthias Klumpp) * Don't check if component has an installation candidate before including it (Matthias Klumpp) * Quick-check components only when the pool is fully loaded (Matthias Klumpp) * Support the stub data of GNOME Software (Matthias Klumpp) * Support reading per-component priorities (Matthias Klumpp) * Implement the architecture property (Matthias Klumpp) * Use architecture data to resolve conflicting IDs (Matthias Klumpp) * Add icon size information to generated XML (Matthias Klumpp) * xml: Load size hints for icons (Matthias Klumpp) * l10n: Update Specification: * docs: Explicitly define more minimally required tags per component type (Matthias Klumpp) * Make /usr/share/metainfo the canonical path for upstream metadata (Matthias Klumpp) * spec: Make architecture a property of , and no tag (Matthias Klumpp) * spec: Update the cached icon DEP-11 specification to allow size information (Matthias Klumpp) Bugfixes: * Fix a few minor issues spotted by the YAML validator (Matthias Klumpp) * Correctly build distro XML descriptions from upstream XML (Matthias Klumpp) * Be very strict about which elements are allowed in a description tag (Matthias Klumpp) * yaml: Prevent bool keys (Matthias Klumpp) * ascli: Properly print long descriptions and wrap lines (Matthias Klumpp) * Export less C++ symbols (Matthias Klumpp) * Show a better error message when failing to parse XML (Matthias Klumpp) * Allow adding 0x0 icons (Matthias Klumpp) * yaml: Implement the updated "cached" icon format in a backwards-compatible way (Matthias Klumpp) * apt: Drop flat repository entries (Matthias Klumpp) * Probe less sizes if we already have size information (Matthias Klumpp) * Don't make stubs delete package information from valid components (Matthias Klumpp) * apt: Handle quoted origin entries properly (Matthias Klumpp) - From version 0.9.3 Features: * Allow to update an existing component with fresh metadata * Implement YAML serialization * writer: Allow to omit writing a header/root node * cli: Add convenience method to install metainfo files * cli: Add a new "status" command for various diagnostic information * yaml: Allow unicode * Print prettier XML by default * l10n: Update Bugfixes: * Reset umask before building the data cache * apt: Work around APT using server mtime for its downloaded files- Update to version 0.9.2 Features: * qt: Improve usage of Qt containers (Aleix Pol) * qt: Implement Component::extends on the Qt front-end (Aleix Pol) * qt: Also call reserve for bundles on the Qt frontend (Aleix Pol) * validator: strstrip values when reading XML/YAML and validate linebreaks in summaries (Matthias Klumpp) * validator: Check if a description is present (Matthias Klumpp) * Always build with YAML support (Matthias Klumpp) * Move XML parser into its own class (Matthias Klumpp) * Make data-pool use the new YAML-aware metadata parser (Matthias Klumpp) * Simplify data-pool building routine (Matthias Klumpp) * Preprocess extension information for frontends (Matthias Klumpp) * qt: Use the new extensions property (Matthias Klumpp) * Implement translations tag (Matthias Klumpp) * cli: Document the "install" command (Matthias Klumpp) * l10n: Update Specification: * spec: Document the translation tag (Matthias Klumpp) * doc: Don't use tags in documentation (Matthias Klumpp) * spec: Mention the essential tags for a type:desktop component (Matthias Klumpp) Bugfixes: * as-cache-builder: Cope with no YAML documents (Iain Lane) * 50appstream: Don't run if we can't write to the system paths (Iain Lane) * Check for writability instead of root permissions when updating the cache (Matthias Klumpp) * qt: Don't compute screenshot images and then forget about them (Aleix Pol) * Add the missing extends property to the Xapian cache (Matthias Klumpp) * validator: Don't fail validation for description-less addons. (Matthias Klumpp) * Make reading empty cache values more robust (Matthias Klumpp) * Check if GIR scanner & compiler are really installed (Matthias Klumpp)- Update to version 0.9.1 * Improved Qt5 usage * Implement date property on release tags * Ship ITS files from KDE upstream - From version 0.9.0 * Refactor icon handling * Modernize AppStream classes * Update translations * Drop AsSearchQuery * Improve error handling for database queries- Activate appstream-qt5 packageibs-power9-13 1659417889  !"#$%&'()*+,-./0123456789:;<=>?@0.15.1-150400.3.2.30.15.1-150400.3.2.3appstreamhtmlchap-AppStream-API.htmlchap-AppStream-About.htmlchap-AppStream-ManualPages.htmlchap-AppStream-Misc.htmlchap-CollectionData.htmlchap-Metadata.htmlchap-Quickstart.htmlimagesappstream-button1.svgappstream-button2.svgappstream-logo.svgarchitecture.pngscrexample_gameconqueror-bad.pngscrexample_geany-good.pngscrexample_wireshark-good.pngscrexample_xmedcon-bad.pngscrexample_xonotic-good.pngscrexample_xterm-bad.pngindex.htmlix01.htmlsect-AppStream-IconCache.htmlsect-AppStream-Misc-URIHandler.htmlsect-AppStream-YAML.htmlsect-Metadata-Addon.htmlsect-Metadata-Application.htmlsect-Metadata-Codec.htmlsect-Metadata-ConsoleApplication.htmlsect-Metadata-Driver.htmlsect-Metadata-Firmware.htmlsect-Metadata-Fonts.htmlsect-Metadata-IconTheme.htmlsect-Metadata-InputMethod.htmlsect-Metadata-Localization.htmlsect-Metadata-OS.htmlsect-Metadata-Repository.htmlsect-Metadata-Runtime.htmlsect-Metadata-Service.htmlsect-Metadata-WebApplication.htmlsect-Quickstart-Addons.htmlsect-Quickstart-Distros.htmlsect-Quickstart-Translation.htmlstaticcsshighlight.cssstyle.cssimagesarrow.pngdots-blue.pngdots-darkgray.pngdots-gray.pngdots-orange.pngdots-red.pngdraft.pngicon-important.pngicon-note.pngicon-tip.pngicon-warning.pngicons.pnglogo.pngtick.pngjsINFO.md/usr/share/doc//usr/share/doc/appstream//usr/share/doc/appstream/html//usr/share/doc/appstream/html/images//usr/share/doc/appstream/html/static//usr/share/doc/appstream/html/static/css//usr/share/doc/appstream/html/static/images//usr/share/doc/appstream/html/static/js/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:25169/SUSE_SLE-15-SP4_Update/79a9c2736b53c6eaa8364bc2e50b5e49-AppStream.SUSE_SLE-15-SP4_Updatedrpmxz5ppc64le-suse-linux directoryXML 1.0 document, UTF-8 Unicode text, with very long linesSVG Scalable Vector Graphics imagePNG image data, 1100 x 976, 8-bit/color RGBA, non-interlacedPNG image data, 624 x 351, 8-bit/color RGBA, non-interlacedPNG image data, 624 x 351, 8-bit/color RGB, non-interlacedASCII textUTF-8 Unicode textPNG image data, 60 x 15, 8-bit colormap, non-interlacedPNG image data, 2 x 139, 8-bit/color RGBA, non-interlacedPNG image data, 78 x 300, 8-bit colormap, non-interlacedPNG image data, 36 x 36, 8-bit colormap, non-interlacedPNG image data, 432 x 111, 8-bit/color RGBA, non-interlacedPNG image data, 136 x 144, 8-bit/color RGBA, non-interlacedPNG image data, 20 x 32, 8-bit colormap, non-interlacedDg煀{3Kutf-8da44fbb7ea5bcd5c4e7f6305082dce00395dca6e6cfbe8f17fe6190a4d3e507a?P7zXZ !t/8]"k%r~fksyOiDx05Ӌ99 $a 2E N\!Ed17,t=$eXo_|,:GhΚM qD"-f#ta( wV]KD$KjILj"ҋnl~~Xw>UK3oSsN}CN{+kӿphC9ed B'dRFv5U5LF🚬&*4S-Н9 sߐъF-5?@o>y[OHŧ{AD.Jq5kc>tiEl趔 U^ 3pnA\XIЕ.p" (Zs V)Z AsM(˙ ]k,T:ho q.@4$sIBE똾*xQ״ >$DžӋ,ޗ28D \|S004Owkpe+)9~ pD03Hu.Zi!]߶ %RӌAdz@ {JּCe3IPwi;>BRqIL C9BH9Cx*^.˺9'\T&DB(˓d۔@^r?0(̘&swU߆oݚ oLf?}mS7S/^nQ.?}ctoRyvqT~=+_"xk̇#_f/TF?tnǞb2ߘZk6GVg=p | ``|D).\YaUHr"Jw骮憘%VE&Q#`yzUz 4,|Cѧ$0„A~=k`N| RqFcYM.,XW['o`'Hþež|:5k+! Yjm:,hI͑ӚK`#/2W8΄aFeDOe7]"=ALGF9>?*\B&sa& $걾 ;cđr8/`Mlo0#7XlVGmn~p1g/':9/ L ԕA8֥joj]$5tTxL&~4 ԖO(̶T+A}O i?VұDHouRAH6Fri[ذ{@yc1MG4(!TN 5Bq{n-+`=$yfi](P"o 8ɊϾiKFvO˒34֧.  Pa0m(Ya6&IHys'Fgs2~؉nZ*Nj'(ww@I$`,i\ UX8o:plE]YW)I{!0zuP6hRU3zD@͝Xv;cOI@֌";vw!Q@|VUJDB v#orhKEJ?l xxT95@& 8lKx t(b`] 9~t. b ß``đQO[psӤOzMZ#It8*o5pNVdNcY,ÿl?tA$(z` 0| )4djDpeԈ|@V%!_6 b]V+@PT?b\zl HFX.2I~y$e\bu\H N dWvuBze/ǽ?w7T|dC۶Vi9knBѨtZ3",L #^猉%\ {GMephBz  M@"Dqrmm"jW em@77[c9pɁS/YSpٲXPڠV--Ȉ/e`|{B=a"֛#8Rf>Q)KisR-*tΝoK7,.@!FkϹj.D{h_"@d%ҴhTt{9*wN_=R:}RS*fYxHVwHM)PLf 4!"2/N1dVNQJX߂iMf2hv@W9z)o*e[սһ䠷owLiRlIVFź$8yX# adrmW9KP<_ B>̒+yS e8=9Ϯ`F$1j:|nrN_\糬xWK]9 T%IL,:.4Rh] S;mdS"Lޝ>,^*(- ś=qa>E ~WU|U{ZO"wT#' zzLRKD-0g$_vZa(Ý<"Ez sMas#s8d}AfH]x6 (Vm^Vmz%7GQYkK|R,D|iϱ{q}uB;VtTG=f3;B,dP?S<: >֔|W7Ř g:|>ͮrGyFTۍQRv)gZ ]aF56ʌͥ/</%h:#*53%$[A:^ j3n;a9[Nw覾51qEuC&mcNO_A5  ox$.$J& <BȾm=\{-fl pk0A#&r̮\/ '~0r[2u[ax }Ea%Buϩ~3_rH4J 9 ]f㶜/[K2_K䐒yǒͭO5_ս-:5",2K&;b2J&GL_}HwΟ:><:$l?h9<4s5CML~lٙz-uJI ba 6g{ i/L9/kԿV PV>(="½#oKMX[ۓd=BíwNڠ+%kmntPjb?礔7_\-'Te54E2pp"ceqD*Ω''#Я8a!~k* ?kQ58(+v:;rOVBBXkV73jYQIX[K936V".,uarc ZxU%/m;;6$[IZac>{tə[eK>p+XUA\G?sa{j- u `j"}bi{<֟UKծڝ'Y/3-/YᶖPIZv#.o2Ch;$;Sڠݘw+Ohe9ݦyGVZæNuʞ>KLAdjfa4l#_ w ٭[”RQ~@8 jsX[Ff.6K+|v%M ,ѪJpcD *V;/(lt-%llV:5K݋ԆmDq#1h BTid|9/w)MTOI8t@gӁ&} P421^?sQ,oNeFU+t`8ft侀dE0̴uP%#<0 "de֣aPʫ~dK&ډ()3ia/!ppxKzPPr@P5'IQwP-S9 ,>r=wUObDu>cZ$'Yɒ-ٓ`bR؅M%ӕtfs5U&:-6ȇ4uR;1&L ."e;irw.to:)s0G8cA@W@F _UJӼ-kJ퐡~Q·۠ \IL纘@yRʽيd?dהaXf"'VcTUH?Dw63g?"Tb ދPQe B _}?lV.SVvZHn%vvp` >E!MZ$晨1vlѺSC^ "xe(9G_֑OIMٳ p%2*%>cF1kKditδG;HԒR6}118VH[5qj;¯bL褅$YJA$ʎ``wn݅,vjx+3 t?mYu(zYRDu$YO\7R . >Q왿QT/ê7!{?@9٢\Ԏs 4>w@vlƱ>܎;{rxMAe k7>4t%#/42lV]qvpqū{U567b+$v{nZK庉Z*L,tuq6tR>9t\$Ha:1MT<⳺F/@}v*Ib6/(6jK fc7X}Ȫ>iYAvT{HlI;x\KE ҩq_c*Sy  YA|ޤ!QbacBCCDJ7VH)qJԅw%!up Ʀ2 .6fۦ+d#RJd+݂n5BO(]x\#kb*%)8~r 4Wm!F}aPmљ3IySX%īݵ!,ޙ% lb@#hh`Ru_(V68r:}|GȮL[Jl0}A&d1;3Q?sڔ6ٰf؋zy_>n :x}'&h ~8=g{/;})f܋_SGT'@Z!y!!$9mY>ƫuO6jF7eɟg>0QP.0`N~;ȔtWS 50֒whP_%ZcșE:Z//+}pz!0޶s9EVqcب(ix&ͧʥ`!oCRcP.ŶہA)DPSLaiUno}LH(_[dńX(O tle7[~L.EY1ҨWښˡ&ZՄUC&,d\N)MnӬ0h@E nRXtQ!wNKSM\̋u; /ѕr_8ilvڌ "csSP}`&D ܕe"fuӨE|OfN;?FOV"Ձ nXJ[I1lm EPMѸT \s17MaFFɞj@: z9lN'1H=3 Ѭlt/Uqb,fQmtBF~L]2E+ӣkji1B(@gځ 5RmVHB [ځL++YLBt`}s4M\dr7!ԉkJx^4vFT^nDb,ԢńAtU\f|yٓ ah}aykH/K5PpAт~ѵ5;JНԚ91y2$7٘w}X>;0o' ZwdK[/uT| 2(6/yyG[5F0d HQrIrt=/*v"Q.H`RN5Gϒ]*d@KFcJb/Ud.: xam#ȔU k8&}nӹlbA$VqRVD;ew#|^д !pmćh5aw}6X[!0=7LbRE–t\0qu7 }Bt3&{q0\~W01 "&Ċ+=Q{؋=wcBd ӴC BZ&if0ų%0x͘M Kϩijac#x""ɆTa!u7^5RwhٞYp,™K/odBmM)\Xs,6ZVUlB,t}-6csVMg~C;(CSx/g I9%o vʧ>:(xBʫXL+Kd@tH{0>ٌ߃3=DE@~~!f5pkb mjx{4@]dy3i ܈I&K:`JuvxX&_ia`E4r v^Vl#Gh,G}>9γr 'Wgu_4?!{/'R09ќRF >{3ʂ$R _}+~W4@ ՠII:Cy; z˙{Rx]p;$sXm!N.$(k3"TiD}O"aR`ك:v/y!T,RVwkVYUb\W<}lVX1Fi񤻍]sɧ0 0X.:!=ݎ%-Fa53 v Zjl`GL q}|} *er/ n P0*e4֬$xCE&D H G tCH32eAa`z+ Tp?7;]N)nw L6oאP0EdGK(F;ԏngJ);kҎۆB^vy,CNRB0SF15\GͮۀZx">J OSt. w0w F͂EZmoV]vlN=:ѤwaBdޣyXh罌a_hFH] _ TBeS|%v ։CFqA >5q%G:٣cLɺJAZ6T)"+E!\i鏧̈́So#D_PКSF[+C滳-MNgw'Q5 Dnz:^iMGڥbQO*n>wՏ@/ƿMGS o~gz!?r$Ia擉Űl9iu7XH]cKd/{GC]U )mC s )J:o%TrJÏu=ꃮzcf MϚ 1w҈̃qSzY0YP3`^ )Jik$Rmڂ}Vwe% Rf|2ct?@ k5xƹͷSq1H}`DvaHF* G-[5KX|E3ihj +߆n&7Hs88:H3wj:N f ~;uR * d֠%#8MS-yT]ssna3G !Å=]T||Ll8~KekP]=PS}sUvߥ]hdh }NTZUG-`p nKSm`җi ->}&_U[M K s]?c~fB.k HyT(+t;JEqħ.U7ԕVċ8)l jzH2ފ` )y +{X(H ~f<ְzXЂT0.r,%htBD0Wy7UG5ˠ.o:^0!Djb&KV (j]S . CɠNN\k? g[n3 к/2R7v5H(0x&X[z=ȩ(n|Fryq yE1œqMb*2ZK KM}-gN@A<Δf^N㼸eP[-KjkuBҰ,Ͼtą-o&Ea瑤d~pu⿑tQibw'nGk6U_ SΉ?Զ]\iiF1L_EoN|t'_zu``SQINyb_볥V g"DVqU$ʼnjN)pN[r@^ė#_WL,U2<<6utTwl(!]̦o)̕=OA%ߛ\NKlyc D#(qݔ9HQf%ՎoňoDh:'%QwXmDʈ(=k?"26 8%?Fʲ_O/Aо˻Bm]x;^CK4îV}].sD=f狎W/y\ sY-jW}Q(06|"k't~^CTR0+HETiGPI,Blv=ڛLWl&Y}_IVnZRWXUKDfJi^"5L[Ơ'U8Bq%D>bPHהՒAƐ=bϪSz[I>ז:`\"XZ7,tc'*19G[6:Hޫ82p%\ΛC(} m*$'D~6$tݾKLb" &PE ϸWڂZsFUY /-EVX+~`3 x0=u:dT027q%zA>cc!v=8Ktkו*!_UalW"xpЕg{Lj}#l"+Ջb XK=+xڞ:G|YX)FD 2ǝ!^ 9YI |Ɠ5m_?k!4k˙{ᚵLj 3L =G \oܥ߫wAu-0B["qj]\tC_ qLؑ^OO4qo^Gh_ՀR/h<JoT9Ǩ* Fx͏4b?TT9EkcY@vcV5x@|Q7gKA=C8ցd{8H=iQV MD GqkDk4ݺ4sue*Ibw1gTC.<aVXRÁ_}Gw 5- (aQ˱fݻ+}h< jP1=É;]Fʤ^7Ubn}-OsL%9h=TlksIɮ4#ҩtSs8`IJ:USGU|w_R<~I;3:=kE ۻ]پu(qIaIuK-Cދz.3Ga#TTJ RRTD!kQZph< ԬcT\е:/)o6 }赳 oW :thfi'[ @"L 5;}.Hx4QЉEic桹ih*mb7Q&P6e#^({Rָ.@i<P s@&#s-O9ap8 Ы` 8_H*2Տ-Kyq>wGa:۟IIm-JȪ5YeθCSf[Dd@l:q JY, מzlo GBpP# ( 3:_'hl495ڵ+4g;kQHSNE+ *ElIUw"6B|!u';CBF:Wd`I#hF*<g?ڛe]V6qpG'JR}p5HX>PV7 f9<`J2_ ~(L~ezrQ{UkjDL;gV\g< T5k#֖f+7Yv"Pdzb} b @HL0B"HegV1Lh c ψS8*rn_d;˻YYL:d ZJ&>V`xt 2:j НYWlmn0Uҷqw@_W%8 ,PYJ8gY Ps͆Hj8gȼigPy\oYh *OԀz;^yn&T_,26m]t35[@רKp"_#:m\^^2_q ^< |lX_l}4}υ+XZ7hBC92IҞurgzta%.^mBj7Y:-}i8[@DSt {#F{TRNs~Ϡ[cQS œ {f{>5܌3~,K]E8{]G%AJhimt'eGqMq.ʪJvjZlJX(W 죬Q&i!š l2_ڛ 9:H5?tUFOgby;nd(( vSǗ`{sBH0_4otSui4'aJ (!Ň;!ldhZdV: Pq `^h\Y].ݻ1z1@u|aC1^ 1t"$YHd&"9Xd 0_g2+γUZR18=j y>q#k/Q}vN]J䄋r[/jIǡeKk_M+v@ffيscOoc9 x4\{ƃ {E )O ]?ad9h=%_?'2q= V_B"eX-] kS!ly"j۲2}KѵcEL?8ZՒ2ԅ /sZ6t6}ERpl依,/CiyѦ^NHBU5FY^݄s[[+1$.i 4tϕH挕b<>Rc-pcL'l D6ƺ>zFVWTe5@~rv(AkGem"_EC5PuE ILLk37EFW"934\eU_5"w $E} rĽWڣkj="֩&z{Wx5na/:(:a)G࿺btr)AsY/cz -w,D\+, AR p6(h {lo¤]= d|7ɼL>-'gTl['O.̣ _W]DtmyHtNu¥h+J՗utƙ~QJ 21\p}؋X7=Vv4 2gŶKTgPd.OC!,VnbeKG܏lgY @EϮl5#""Jw{`<4Ǿ/&YӠg2>B>c fNa>a= $S5 IC9"12 .Pz5)x:W5[SO_fʊi,-2jkq[Fyi@l E40ہi-m~StL,^^8gWF̍ ,k\qhügŸf4.hωIO&iῇgb +|ZBG>B :@^a]uB C-3܂{=5hҴ^r{^P;shP@U!ب~g%O)G}O2{.;,.%h ź29<eXhZO!Ei}o\XuEqVsN+(hJ=m?|<$p9 s&^11pٴMh CM)nL;FwriK/&>5)Q9 UI 7Sʫ6ȣc\}Gldvck2 g ,o8!!\*[I+aݮtPA@\/g|Ym`G!]c~bY|W\ iB_*ͬ[\yKP J̎>؋HjeSs&}Uz!JMߦGJMo|^ֹVf1PRHi} pK(,7%]5yJ;0nSU jS4#q^T8]Ϲ)}ZyJ.Vz܆E40cW3mr`gYIch@_ e")"Me0QEiP:~4E D//ƴ}*DfT:x[vN-nln;0CZ@~j;Oʥi.cY׏o^ȥhա% <z|S-[Molz`LUr=ǓngcFT3Z`uM䯌//*0I^e5KУ@"}b2zڰ=-+Mv_ۑf?z5]WS Ѹ.relfῌ]>v@@G#X `i#e $7 \qB,v6̞Iম `Y7t]7&N4UY,xURڋd$@r BY{v|r\ yn&kqG"يC~cpޗˢebihrݞYe!;c#Wsz}H]lBi$j.zpxd a7 ~&nEjDf 82cm Q"n]Jsˏ%.{o(ꦭ}CлXVn,lSN Is' z8EL1}ZbWN#89ޑ+<¤iu´JcOѕeצ)d>fκmD͒t,z"5r ƧX"xq#լa}c' M 5"2iw œQ}b+1M+YWO#ӱ/6ھY4EȞٹZNyR / ;ڎֆʴ 406-Eۓ0B Y9>3員G\V>@az]O["^k3 1Q\l綬 et/CQƪz6_1:ݺgᾞD067Cz^9 YBwxIЪ=/.i ϷwZY | AK TZzN R2h30P(gU%@g\ekGDEّdC~i+D8OL`b.5|+_!1TLP6 F?\d='_LpAIm'ߧf&(/ vcu_!DqZ 3oH'?wOYGDWBka6ƕ-v.nS1Su: "I]tAv llϑ 3G nOѡz=~=s(95}t~Rj Gl*Zް[;4;3IiK{mJ[s+3)LEć!Gn&*$fwT&80FTY,0 QNs=Ј lWms&42N Wj"gFJcJZn|i2dC)kp2L²6SP2^y[Cs~-H$Sƃ?0pB=D9>XyuAL50: u'vz9=rzšehmZtoxoI/ocv "zfh*_m'Q>GLFѽ]QF#NEQAL2 Jr9$q zoU8Iܸ" [aC1-Q] ź?L(=Oɹc'G#WBX2?5shW׮}:ʽEOX's)"Gz֑CȠĽSufl8-*1f@'Git{;FOrX^#1nz؀DJԌ՝LZI Ls\9STKB M·z2n&^ 1v#lƞ~;y kSU'_D- rb4X~ W6PպFR*,Oc+8&n.JzqQcO98`<f|ǜ<1!z aˁl!Z>\b*k )wZU]Y#xpi'IyKS._Qd5{ԫoR-2rcwp-!XR1a^C0¾b]@a%ޡt8lZs)#4]3UlUo$ȘrEدF>vA BiX (jB-5K% ֿ_՚F"Wbic$(8e#M~%4|RgAOpIjԘ>ƏH nl;>"aL+K{֟.>+[W&@psU8\}&HLF{v <>Z@-o˧& x?y.ڇǦ.sm[#>h:c:XRS4wXOGZ%\V]PkJ)6%W~Xue䏄'o؛z Rg&0r (EOqŝv!m}@g_/ud"c`[ӭ2Sqc8ճ/[HNR%Al$kPjm\ݺeʈ@3p[«p}sUnF0@+A'z#Lx7-_ڦ=B6ǾbÒPhKj9F"+*c e_ =Td wJޚlF*Ń@u"}GwkU9:rG}UBEO]ʹ rH0JN/ RЦ2B0A)zq9 30)%g1HQ)yy՘^YLwڙziM:lw:j-]0Rx'Gݻ*}Y{T ${z&Rҽ:ˏEEɋlo0r'DÞP۴p3w$@x&0#ݱV7tG.^΀.41ia[X㶍>jrZ7v#jTV@143AhK:"k4eE q#Y3pխӝ&؛eC~~ٱ`Pֺ̈́"0ڟծJĩ};,*9i?Z]I^ ZҦ >F'­j0>\ KaA'xYWWt:ދ$(8W%';lcZ;aJ1M] g3; o ͙fq|bK+|umUI+j]a9-qA@^떉:8'A#^*{1ȋ5`|Ok}P{&{Q/tTuf*@t@Gkjn6F8{ [dPB;?pXol"3`|˝V=ӵ,CzM,$77.D73εAK!LN]2ڼ&Q!Okp-I!²&Shmma;[j1+Pk2}۽%m+E}[)Cx+ԛr1YT۫*๎~|5)77$j{avI9 iip¶w-Eg"=aQ$TF~ۑ.{rAbF7#Mu!G+"콱9Mz TkjR3cYvt~g<`7 ZQFKqS]`A-}) LkO:niWofA9xvq>eM sSDN328pZ`S؍:-=IWI" )9ƣ̖rXaqUCRl8_+=^A(iDUl311+[XdόtUp{((m4u>J3e贉 >Bn5|.dq'kO^pk5xJqH(ZJNA`:)I*Wl0ywi,ېFwvBpG,Blן/ |U-ƞ,ip0m[o}ZZ&n2Tܗ?PTb2Ⱦ&uzgV/ :%z4P~O<B$ k-8&VF@N6p04߬H ޒ,nvu0-99G]ڊo\s&~Uh#VH<%QɋO w,3{E&=Ip(tMeF DMzu9֜V?0;N *hiObC4fnZɎwHqgqru]eGyΊS@Viu+;eaВyRuJ<+vd"9Ie2)@ =0ĸ-!I5kzA{?z!9C\Y(.˓XZU)S"Lj6J)lip6iiSa!/ B "zcWȥ zR3f~^U m<,+`=ȩAqv}Iv/>MDqդ*lwa£:VsBr*ԥ;J6d fJ*Rz{t?V'c{KDmp2p'Iic]t29xhP=G0ͦCki9ǯi%/̣Ae^?m2+Ӣ&z[|$fK~IoK\Lek fG҉X蔛JWZ!>iI/`7A]o6Ao8Z\pmU瓷pQbfP G#cesvF&4Y ֟?貸|6ezݲA}7i0%1acojemľ#BڈNRXc!*_P&L e!H%D YVލ?+2\[`'by=?^܆G!d`4iZ4,& 7CF7ʤlk{m?I7XikJ+P)ɂlFp>:S_0ŝ2,"&(qXlRb,RSKbȖ*tHYcodGib}T_M`s^/E_>IKßg~F^pV{]y-dSѳjqvǴq޿|Άoe x^"W:MP.t4 &pod` t87OSBtgE de ?szw;kB:_P!f>9͏w8}z{~yDOLR\[jX8jfUt{lR7#%# tŅ; +䶍dsgo gI&? 磑]gK 6s6aP>{՜YJ@kڥ~:iq._P6ߚuΑ) մ5xpQF߷?2v`u9%cGiwɗ _X]8uQJ^=zq7S2/-aۃ%Aw»U9<(#Z9魓zAs[ x$hx`yvhS"m4n&Sɡ&߯Ƶ-Z(Zn;[wiC5ψF3(Dc۩z>GiMFrGE>9>hvJN?r5XzS ƗÜN<)ѝ>pxV=` *{Icƀ>Umzv&Jx;au@1@ER%uL__G}i1A@ !>*e.Ǭe~\X O,U+ ^%c-*Mk@lP^O+ bq#X񷧀 "S:]t\W8G? o؄|LCI oFẘ}D˶#ڳe)kA {x z$ LÒÑ_/P6@ZT8ц0_MQmQ:#ꪝ|*#qj9@,ӨYJLT;2xZ8(hzFr6 $??q  }7mO?!)5-C18#3>3MBl< 7P9Wwb/<`v[`W}=*cPϜHxy w ˛`kٗM!tY*G"Z7fhKdd4]6n7UJ ޒ.yaT"qbpL]>3J/ r-M/??A$ jٰP,w_:q(0JD۞N>'@RQs57fFcJHŌ$8u߃KḈ@},'qX8HF2Rt ,|=2_n&َM0WI_1*JhfmT*F5\tm̤+`^}pO֨$6ކ ZJ gGcM aǷ8HhPG̭&K`4faimw7߃{ n2@smWZ$m$ :|Q}᡺\ w]B=l9mAX NX! ["btϙ䳟WWU\,s7N}e9V!@T7kZ =֭wl>O:#Aޢ y^{p6.n',dEHCLR$?jBHDu8BCԠ0nzA\yNP@OK6}_&P le@F/qS<-:3EI*}+y3zٸW-&+7ܭAa,؊չe`Qؚ냌L/'j] nΥ؂yjjʒ&D(LEgANJeΎHzzA::ra cϒ@#!< ɟ\!o|B{ !V[1>+`HtoEKЁ2vwJِE[1v9cDb 0E2N+0sDUZ.t t18P0aTqϢ1)` 9Wa.I:![^OZၛ&`g5TD7= VƇ|.KjaTL"`Dߚ 5%$e=zZe;,J:K'"WMO#|}sc[j'%t'hG[ƒf*[6{%rߏEbP XϤ&g_:4HԵKDkpLXFωcw+d,w"5 OJNK[qPFb@MVBNJ{PD`7Ccw& r sd8 dpx&״l}Mŏ ?)dU xw0aG Vc{oLy3ݑH L1Wj+'QJz QD ڗ]V9BĊC6.54K8*.Zqm0RG'eΏjMXJ^W]f"h!`VGO?yvPsǼu-N!z{[wEO#00d!԰G²z.XAbDLzXDnXWc4&YEu9S0UC_Y}ٚ{E@2Yt>QR*GaZpW^.QT;(pC6cW1-rlhCǴYȺl_zsZz06P>]q+G ʄ4o1ȝ#sRU^Wi\8Gc) -~+}ʴwz'a2/<\xc˭Aj{dro|㷓0{m#007BI+3 2 |'0nOG/٬Ad,?!yͷ(puOJQD1K \͠|4XCeRw-f!o()kdfy,~1/1zJofna -egC|HhA)elI= iOc[?<9rK>m?,^Ь_[^^pMYp3F60yJ~g[.XuzW,Qdqu}7C~D-#w'{Vhe}&(Il#y'?A7~gGq)_bN+='@#œ(X".ϡC^6q#۪Iь鵾J+88?im *VE9Y|t":,[|,^pL!3$|U^Uպ֮=^ZՐܼ3`jW5yc?\rXs,rB)$7S q< =)JMBҏ莪<%Mjpl+ ?Bi4 Oy{"ZHw$‚=A܆#U`^t&ش ͦ;deMdW)ty/+0QY\j3Pq[4>- o%xю'w͡Y>a(.4c\y#ӫ67Z Rhfxbѱ^$ٿN^4A0`2 Ti?ڪ6k^S@ДBMA*TQ)C_MMê!+o'i(AqѤgA3þ{|٠᫴5!/~vv#bN f-T[;|WnzoDE0 >^<kC"}`)`#Ï(ٯ>-U=r`)=3E2:j\ _'K@kc|"x)WsvcguBozv @KjtH׿8 .rrv0 Zg=|>l6o+ OBՃ+0txS[8ߤ7?7j((l{: sL)T~%ԭ (RE~tQ[ rT4ڙ,͜5=~LtW{ 3l]*g"!3]L8 D;rJRvr~dBٻ[pΔ\]DþGGӊ^uj_u|S{"~a37eXYѺKLd~w6GHcK0p0R2n0u# @\yqr~<(Ȱn[D1핒]?ѿyUs#,Vio&QQ>UԻ|ye!ď;Bt:5T6zůHY +ꇀ8À 4:/ lժ.ETseCvmji7Y#rAHO[MuWM8yX,1@Zsu!x¤0h9AQF%T'3VbLjNoJ_իH>6d 7Mz:ŲQ ڮ~'3[Vh?1K(*BoI[ŷ:D4VF}YIƣ-o/Gxft65RM=.ltY`[r`/W˧75 +`P:9r0J. RI@N"瞀} gH׆z"?Il-klp㱆%=\{fq巆aMk(K#k<_2dku*QGQW 3ޠ^ts8':%͏v:W/ѧ#:\[˴ {-lNl9D(x^M mB!Ƈ?eǾl~OL|۝!ρu|B9?N MrVU=P "ߴ&I}}EI٥noyb}ޥZQmN>2$X経*![ʹqgq\fJƓ'ŅR4ʸvGr(m+r#~AF?+7߃ ңZ[ɯo1]+"fe7sۀV7oӭj({ %l)KgT3 +-Mq!j?,,[W^+N|jZgDqvd(ƊMuEi)ñu<1-9٬< 6)^9DHV\@BQeHWⰀUyiEd%!B̷Qf~&b1.FP2'2+8# +Kn8ڞE13?:/cëodw3xl׸̱p^n ACsYsGX`R15'19R8ק; kuuN r -n2_;!G{^3G'18ͫ| EI>^Km0GR!#L!J٢ItBCV>3-'Y.잻j`PNTȚ?4I&}0㊉I7 kYdv搫N _"qA&"}&Gy jוمPnW3`+P?ZZD> 7m 8bŚx*bUly9Pֈg nӵ(ۂ}!q &_5lפ1ϻ-y{<P0vYqel,9uJi=C``x>Pgl#AĮU&n(+9ot7y#'"I{ tjUnGXjI2C@'БF!HWuYmxOF\%U8T ږ_~>Vi| B'v?SA60[hW/O,\h8c´|TboLfp]<0IwKש˿Щ8 -Tbr"=vhT-,n S f<0d)kBۙ?5ꬴifQpD%o;_%˷Њ5Ip/N4cΤ'mN7*q>[>{6[{, i`o~ ꄝ)m ;F61Rf-Gc= ;}_`"o7&-C3w׮e[n9j2gd|ܱ]/WWE\kDS?^}:eC5 ]K q$,b c} 4yt7TbF:u+R>"\`r=(/bҦazᕸgRkV~@>vi uS7l2dz7sר #Ɖ7d r4rX˅3neS9qY\2X"W܋ۢwčrd]9βiG<3[2& ]uKP318v0cN`sF>̠_O!]mkݎqݳNp$,!D|gb~a"mȞO %Y{#~ʔ_<AUšl *O!]( R Iy/k6Xwip۱yJ2 CRLl.ތyRձ{kn{a-lуg휟ai$gP\]ۋ'Bo7GJyFɕrN2 `ui&sQӷ&K1%BsL$5- 眆u'v4zb[FwwAU󾌷 B8qccU &a&1Sb[C/T*j$VkeH,l.'_fkb9QpV!EU0PCf1k`f0)4c8 ^<"@ҪJՊk^j>k}h@pN.5^&#s +]rP Zݳh|锡I 08{n}K ,l[\MS(,E pF(iH3}o| ,Q]x1pI@3W;scJ+k_JbH6-d/i)cE{]{'A*VDB~"/(It@V3Ɗ0(=#&u @8;iG@lckץryX뺖723IqSqHṉǵUq8iTQ'd'-nX4;>6 كzH|߫ xawFь:QtɾyYYy}(i aIc/}=⍉зpω &3`*?EAKS_\'_fzS2&$͂:t]Y .Glcrbv PyRY 㘲 Z:q_;k.+:GSr$MVM Unw /uP|Jdz"bw˭dung3ӫ F\sljU!ixQ k rNAB- Dc-.ryТFgX>Ӷ(ͦyuAƧ*Ae($s&¯)췜xssVoSmrDEZ:OK"ƯS 21Upզ{X&HZƶjETVY'JgL?z3*υ23l9=uy;{}:~r*K &I l3 P7t=7L=B3g blh(ihgtf턗ABw;u|?c`w>=X?q#Y ߗM}>cYe {;ڴæ@xDܾ_=-HByqGQ.phX4JH Zȗ~qB;yKn{=,[UMґDԴp%#66x*-E`Xj9uG mt,oMm& EWlUWnC" wi|LqD}uv:OD'⪀"`s8{S6]\`KUl5ᴜ3T!Cs,"ʪ/3Mc=Q"HˊV*7gBx<ʒS`ͳ I@ⵊuELlOlk'?JՊ'U%)&gMgtZ5x$s7\δ_6NloOq6Qt<5j6%IfRr:Y&j/p*U~4Dh;ZrTJme zbYMwGYfʪ8ǹ<~D)Z\9Gpn#vZoyӄ^?a|lNP}^x T9w<.uOZ)i멆襯71#^?w`N=ApԬ1x1ٶ⻻i`'h7) u`֫LTH:(ZL e%VptV[ZjqvB_qq}~Z;~VE<~+ +6 %䅿H O*-**Ei3\>dXz5,B}WHP 6\*w7=p]~ =1)|"O cz#ȳ;';C~= Mq)krޅgG~|_ǚ[Hmxg+́$W}فzLrgTNH!K{u#^B*gvvUfGzvu}}7uI2Kτ4ؾ|RKx9yG~!{ yvD5(eBZPD2 /Up4-s*#3 Siϼ ;_)xo3DXSJA9'3DR#`K>Z+ځm7Χ#=.3-ナT"g-= s}Hܧk|ցϽ8KN^_,L#ؓ=Q1tq]ZgXk|2 stUK' ' {%@dDdȌe<%IJlșDÂ?(jױ?{ Lz ?0noSͦ_qG2 { *v@7&7MaԪֹPyD  +u[rqtj8uc.Ks?1H׉ӣ0"=L37 @M- O^' kV~C1T! ek (Aj]>_1CBJp"Z-zqok6!r_nY,F9e.kQ'ޓ3dFPM6?Ye>^ >DJg"d >}!bsB_uDȺaMjcD0sx8= ȭ"+bhzNf > bڴ/{_^g۶B.enR<^)~P0 6(v| 3uQ KJc/v tT/NTR?/ϭjtO nle`xEуҁ.l(H L5/;nUj̀>QS+ELx'bWˑߩ?鈠rgAON*Z󈼪~9]<)fV!Wja4mo g~< !Gⵍi#dx:[JO'νԯĆ(0:-\k\PY)7"$ؠӮ f9ێܑ)vEƃ"Fϡ'=%r%&ԒxPGUɛFʉ3(`) Xy+):ĥ1?" kY\JtcfVO9Y9pvF;VKOwI^tY0028EE¼\k,YA J8@5җ^HFSU<2#TH7^-T@n(Nzjuʌ&;ʳ.5$ו:N~)Y$gjmyJeE/%pC)!>5^렰Fc,a^%ր1+/QHۊ>u[nSٍQ"7ЬY[Q>N(\xEä'7T) k#rԴCU%?4ph>@%hz(>#5wwB= E3Lq9誷mߗ?ȭ?Դ!Jtnx?Kgw Morj 8I|% (Q)Oaysu x潇M?X+fe Pu^_Y ^y\8p "vzߓB-tp孙W~;Z+lYy#@|6mCN/.C7֠Ẻ5>A,L-͵>:͊8qz^mE|_-T}的zPFIu͇-Z&#(At+ഒ^.T^9U8즂1SD2٦Bx9H<Np՚GkWB(ϩknUdZt"U{$r.1#qUÍj2d:مa+]=Uأ Rk(a|p:/j8))r$ĞU^߯śr`!cdêl-IקRjj8E+ɨ%AueIFX4W BuG{ /XD5;g{-('9khW"y_׋Ba 4d )d|{GRo@hZ~Vw8Ni{5;yp:0WY32=`RyJB+,ì>n4`p1ʭRrSH2V6|cݢ9fvp8 o'GI8v58,~Uw_5?njC1FjO%=6I/wwc'H\nj&lo'lDޢ_"IFYcƷG'V_3&Kocui]dM!"^1(i~AܯU-$e߭t.yT'lqdJgTp'1ړgm+LPf(eF;&AHy RT̚M`?by>pCJp:.sdT6UkZ.?Gi.I؉qѳp5~ QOrwfk"yeɴه66qwD6-)uotYNg: WRc^@lZ7{FE%L<5>l}~O6{`Qcj.sx:u,\t7W]F1`5F܅Xw y6R8ֶA tB+ؿh ѴQʎ"# dJW>axJ`j߳2dn[&6Ok:C9-Z6Ouƚʀ.69# ~&C0z 4 7ճ'KFAA WR:0sI/dM(U v !P5 }DZMԺ-*Ӊ}+8%<q.zl>h }4{eF:Q^d0*/ij5gފuQ}>{xwޞQl  ڨ'n\MpȝmãEqL-x⛌?wPqgv7wVBh7.ޠO§ _mLFvj|bܻrm䍠#{aQln8569ڢ}^LvAWE%p|?,B: AC]xį\ KkU l!^27tu/T)j^ &7S860Z*1)Yy(\ē$ )+t@`N5"47;i_i-U Rކ| ǬX,5>zꇦZT?11˦h͗V,O9V\t ,wD~ T45 Wqe 485=F4$Ivr־NNd-=^@B|0z]cE>pl6.g\~sEw"|Կ+rQ~"׮Yׁ1v_q)L1EZ@G jKh;? \}ngRQDhtT6ںmxYZRw-UIVBTm(' IQ!v4S$y @^٣9EYSA-i_ۺn/$};|ۚ\XsK_T!M 7wdDždpJgM R4YZ(R7`$CiFWBd\wC05J`.֮+Nc 7](e{- GbVLVҠyCiyٟEqj O|A2 B7(<4ve{yN~+uFQ߂rEn=QJrו[du04zK4p7\s> PBB OX!~a8fwDY]ОˇfVw>['i't?P22os6[cٹf/ t0k>`x{硫Ol3^c] znwh#{Y#{w|.s@ZL3NF!1?{*}{ET^2D(0ʃ~{ P1˻OmrCv?besI}=b F-iED77;< XTv&[+ G좌SfI)XvљjVД4<=؄ҭ <lpfDW&Kr! {8ɦ∛q n怸@X?30gIÊ{JWl>hfL{m(FWf1^)QE>jIxA'8aȉ[ĩ8)LÏˡ}A i!o+\޿ng`OiB^dD| [ .8x(Zԛ)` rT" 6_#MYr(:9|u]ǖ ,)?S<2[nEcfy;DY=!3ZsI'vT:nG2E,[T*o)a$Ss? P̮ۜS=#5ORYfh1c^M xj= [#giOtKQ0#%D[vzϫ{:i+hCc]!40ElOZ牬/1zߘ^DC9t/2.XIgm,q;QM>kn~Y0^7ؿ4r[9,O"酯.΅q];IPB+>*4z m-u7E&9Mx՝EP=¶ERw ZP0  gK7kQzrg%|* 4b==+HVYXkg"aCֱP$l-(eQD|n 1GE?%:Cr^׈95[MDۓ=,(g$xg*,so]7>;T %%txp[al+ w$<@mU*7a%dx9wsN#~q5ڼpc R\āFR?ӛHߠ}qy }֒__P"* ݙ@1L!ca56,l맭wL#-rFs|'OޟD61Cr7$^C #*RX";XON*Skß ,/#cY+А0.zEmbܴM-EMd1WMyw4#X|h,$H|sT>CeF:ɓ\$(U@"ƅ.w*l B^60}BD\ c2&->oor e_@)bȎ*&N\ð0U7Z̛uҘc3tHJuZ/Ce%C|7WE{'*Q,"r򤾫4۫V:=%m^)\N亳[ yUl7ۅ ̉;fHP'KCSkh!sP4)B́ d>ƅLjYd+e=d~A¼ I@T8q˅OBJZ<mş+pޯ:le܊~WAMbBD 42Z?xNPSGK kh*]y:#TrH3U!y{^4twP>-҆n`'"g!gM7)6@"͖WWBP@njAUQ$?Lt%שb P&H1 qʠP@k =_a=E&;@6cbt?wiZ'T@4A(9ڄ`kӰ#,jWoiut.L+^EmK0۟f״>˃옜p{'r"-;Q6}~jpBۀqa0GRSLǣ@bGįͬ"_jh!+/Q,sL319**_qd3Jē~˩S͗i7$wSW+s<ֻ@F̅^w[r˽ϼ[嗁=Dk 'F&4>HZ~Ua25ݫh_sq%4o^T^y5ZwÊ""oaS 䡚Z>M27A̓Mrsh5ϩٗS.p)I[–]`|fʡ`5Pgo*aClȧqKn$<-- y_TQJo9ꔇV:K6 y /˯(+PVzf*7i ѡ H~S15|0TGNxi{Uj0 $HobMmRO`]^ф/Nf[E/2P=P\Y8|g.oxG& r :4 9j"+-y:H?}PVki9q)PJś.#V%8;KEVXOj 6018 =5ٮfgOmNA}7cX^X[ypvLhC=ëkMPկ0'EZ ddr9,w*aT5qm|@c C]jV4`I]X߂bqQ1=[R"2!S縞- zi;6^i`Br@.O`dqXO:G̮`s'l]D *w燤ة\B9xRʶk+;V)h(`m@gIby`n1R(I1Aj ILiQ-ٱ ˷G"߅|#` 1\QGΝ8Hn6=08:`L5/yL&'zr~H+<яs"D;raUq=n75:pL*nnm%@H˄u!u8YU2% 22JGh+A[8'.JCm:<!b*$xxc+5bAB` W8 3s`5W+H *''#6YVbP:jcNxtnr%)k^ߚCAkTaIe\3Ves(^JAyOT>1u Y;Wߣ^xxÊۣZx /E-rPiyPLsY#D5ۆ lnoX>I+T~(>z80'3aTz`WT4gE2,zFr'PKiާeb>;sr{Ak]*Lב z eD԰C(UvT(K:?%y]%眔)ʊɝ#P\yw);ٻ8aN |16|4T&r4ѭꙦ B)92ѵ7SZR:k^h! }+YBתM|46K3P?% ~#@跚`4'1$˨ezB pXFZěوA[M a͹⼌m*`dqJdd:"vS-h^ۀk6pcEs")^TaB,aV0Iv$S-9p歶[Ζ=W.DsϼW:qVkE9 Zrr~d79X$džS &.,%V(ԃ@._<+ye'a/7_UIR"*I>hh^G'͉kЃW I9EEijkĻ&I_ޟY<>ȅf( ƌ9wi Si ғUL*cQ}X<]ݩYѳ|Aohca.n$≊ek]d{NS .E(`88Sלɫplj[Q8U=zWukp SMON.DDy OJ1%O}k2K6gg?S TaiC]yw[i NJh,GTX4tZU=q0͠:L쇩0j"-WYAZ,vmPQ LP5MTʋ"+Z)XY`QONfO;MBj`"Z`q!BOASlC)`U~Շ[ȹX-f ;#Q6{>Z4lF6&ox`#N]9= fre  X.Q÷}[L%>sQ4I^YQ~a0 ^2͐m$M[X^ch{pF] $ƳRISZD^4+6uJG.~bgP#M"xhaR5f@+rRq?LAr4^j"WUbeZĜ-aX]GGfB+[ mE/uvkM΁XO`MKO LEQ;]Kh˰,FF5P71|BSFG *#H# opx6lF~mCW!>GJqc{Gف=0zd /qȴn;1TP?8f 6͇|Mq# rqr͢J]gw}sDdjQVXIm1: Y3I)J򘒒l,1yڀ2k](:Rw;5 =~o)E+Jd@Id\^Нgrf- t]C}͡aIuCX8cɜ3ӯSѤ mr)_j}8A(g kbrgQŰ=-g4Č^TSE=7;gZ~gR +\!fx<'uB54cUJF崙嗐Ƙs8SX[dhG'T2FGCd>+Rec\lfb=TYĕQL̒/^[@hB֛Ԁ6%J' Gbx6ƋF|eYbV3An^'RK]@5bNp(DHr1QrΈ=0El*7Ɋz337TZ'?O-@Q'suHY^Ho9`J{H& ʑ޵ I@~1) `w6g 2bS !d`Za-Aj}qJE礪~e%ؾ-~Ċ}Tl!@wʷuboՓSǢX(E~]ffĺV4.c T-&B8ANt Ȫ?ʽm&q;+֥lzdeul+Q$ F*[Þ_n+bܫfyZÛw(~|43Ϭb3<&Ψ-"@q8MEwn"Fɉ kevj P` >?j۲E[׻ dč4ݭRdxkX 9dm"/glVyח DzJ r0ذ73zJ &t1 ILʺ6Ic{I̵F4BG>hpiä"=1Ftv!k΄Tټxܖ0q`6Gr!?|{pȺp N˘|@<懲lGnMA5kz¢(C^9]u\Hl ?dx/׺;犑*}vQ1mߤ}:B}?k~ٌqpRc&/`KR(ŀs ~A2+yMV#}Ct.t'۵h(xmfa֏9jÎd(ӛM/ ƒ- x:8ӟhFo_~W*0A Z)qmvx aw5&Cڀ[ThТ#Lc}]8H ы7f/[Z}8+DϭM0cK-HAX( mqpOe)6oVH1FXPfG۾ϧc!3¤b Kqy ΞXB!Kۍ2>* #ɮ EohrMOW?1 p}-i{;S}hl 9-Hۑ"|i,[;mA`E੡=LEĉ1hqM1~܇z]W8N0/oPvЛQ& ɄTV;>9:C,ÕSZ ƈ1ĥ Wf_,R-57}Q>s#~:s_ 9.錜O,;fQ_k ɴwsAu žΨ`QطY%c$"u3D ԁe9}PcQY`,A#Yյ3l_(ktt8&B{j!Og~:m3TOM}AWYF]qzJ}N -Ѿޝ]UI)'Qy¢ E c>!) wUJ` JӔ!6ζ&b$ ɑ/m3oA]jk: FgB3!ԯ[WY0j[أꌊaZF,yZ+i^7sp-w{D$`ݓ g^zyMi,0W"-.3/yZ%;Q恤=yH{pr"y 2'd)H %/օQe9(@d䱇7F}W2☎߬*riVΝz*zGYj vP9ɂ6&-"f(̨'"-M*ٻNRJ24Z?VYa2T^eG#=y;}:цz&x6 '3]%`wƥC7PhG^6bs"{K9^㔤#;Ew눌`s[zcx3 ,@Ή&a3xb)G0_5 qSn)dFdZȢBl`?vLLtѠcE.ŌGc\6C:Ӧu'$ǭ4פo!6P򿃯mE*?N;6+7F'\χ*"_v5?o/| *Z.s1]Xu0E~1EE,9x{dp>ʽ |Y0h?b9"8Bjr4w(]sMwA:rv*|R̯'|6Ҳ ۦ7~(ŧxZl@>3UF_IrPvJYlH=9ȑy$Ń{e-;) Mu}x~ˉPUUd|8$yp4\X\V!1j7E;, ngr 3ĦR: C19"H* ȲR{vlcCO;1 R l:;[/IÜ.6X!%" NQEe ߍdWqK K3ٱR)@`xϮPgrPR'tYwY3%bi 2P4,&/&a%TFk:q+No%}ɚ/+?+Lk=nf KvLk\w4qKC,Eњq5s3-,Q?pV]^ D$b )顎$1G)<,ũDhk+O"Zj /\ges8. { ). 8?f>;n%_xFQSvOf'>Q =w *fs.~X;V|Pp;|$J?Z]!}tV~u'|ܷS !1-vt2Jr|t *jig4? 8S⚗)}@vЀ[+W_L)ۇŋ S W(Ў6چӵ:Fi;FR3853sTsF4\Ծcr Њm̍`\3sūm#y$iPFl6-@s'^,l~ddJl {KJ #]%m8^D*U k5a X_&X.( &)@g⢉ǮqR\bJ&f rNRcU <Ɏ%ObEN/"P_tl{'u\m`_vŨJaKen15pJa' &y1"ʍ@nD \/hu%Qz 1g5uuzDBlSs_*##鉿gc V ~:$㺚yP&#%pD<8xO;(nXБ+eG0-+j^n.$#zĚr{ ]9E=/SqT,z#bPyp%46G(8WDϋ%I"Ot4}d*ːQX>8\Dp S}KK+i1?ɸfd-w"~ uE_*nr_e,w*̤JL.R%.\.ɝԨ0Q!3LB~5[/oG\s.؈!Jr ѰPGo^/R/Kt^;0͖8XwJ+&|RhGg*o~x`aPC^' S$ "TQ- +JHUb5Ŏ;H.F'٦^c=̠nt%Ոمl6B[V* & EOK_.$0>DQ~l|bf5ƑJ;)Ytg* іc2Bd?c$Qy1_CXV(/R;,Ji*xJnTN5 5/+=?OS'Am<36qjR=KİìM0^n4$rV5 <ݳٹWqKtؙfIPWR*WU+-o<+,[덁-~cy,wlߩg)>p#pNEap~PF•dqYc?ӹAG| Hp8ZB{_R]!SLl^8yNw.ymw`A]ݷ LszίKSZ.m$6aG%0$ n+>i7*CWvG^1ˋjP7;ݮ> 'A{{kԌ bJ#oTSy 5&ܣwŐBy*^{у{M]4z8fd= #]0 HCH4h +87bk,AC<(:zXO5.*`'dB,vLZ3HɈt>IZ'3Rd9 Dwry@[oQ">ei57/E!i@o1@7M &k只'ʉ(_<((FQ ÅO(Pc29Zo@b`CVS^ Ԁ42DнĽ+z,K ;\gO~f^t єk|R)qĥ]h+`>5"xe+s<P)Jz"[7IV5! U pwJ3Ad,%P|I%;! 48) ^\b ?_=szr+~QLݮ'O\ *'9?"мV0@HX;858odA˜.)8T=cg0]qpvQܴA<0@wC'*]GnoVZ+[(v$so]yU˸qGMg E{lfSx>k(縜c$iMTׯ -xntTRCr]LNQ)(m`Wi_BA踗B(^@7yqONBͯ~Nda;zb\d{!j{ZX.1O f LqLCo1Ӯjr@`v*" *{ 4YN|z^uLr{ߤѨ2 {-YFx{*y-%K$ʒ̲ljnoog]wo}5j7΀y!)5UϾ3*wjPX搦ۺ7U)܄\9Y۪V\j]!<-~PtٟO4-0+8ILz;W} l BD 7*Jl-&҄,x ˙:*s|㖺GoDo\KԄG]2yn*„{V| $CUWFZOh)KYZRhqxUkg"xh- q+Q@3:-ʱpu, Wjl?H'-;mG3Ӱ |WmFƥA:d"*׾x""&;kX*ɍ[;n7s !I5͌vEȬl> ߯ƛFjkVRBEHj@0jsle*%_ϋ(Ż7.Nj/k'X< w߃㽙1N楩L<1=+w -n:T6ݷY .s< .<Oxa;rLp!_H&p >"Յ -"7aYWzNk 7K֩ZQA<-+ 9(8;O>j5C9K)f2Iw6J&ϗ]L׸ %9eAs%^५;v̯NWt[:ȴⱘ5)dRI.#@Cob8[88nPF 5M }Eh?5#A5ur%*tº%NǟCޘU M3 7=WۨThS\L07*6Gcql"NnMdq4mt_M/Lk7dS) y-3ry!jn=sb[)\YN;IÁHo(1~$6_^YL[pIP܈7WR*DbT9mmdbx l҃+N!RaVU18QzDؘA}aZoz"Y'ٮKC/yx#Q^a&8"[37zdQ'B_底H6;ȇVvӸ+yDهOb9sb؞GkO ×[pW78) F9> D Q꣆0 W'}cL)֭wuӭj@ɡTT9GؾWM;ihidCI\~hi,?{j E9sqW Љò"SE]S {&yE*/fF?oXbb#@|QM #g'}Y&Ӓ+-'yndXA69M4%:vM&"XюJ.}`u/~]k9S$|lZ-PpCBB9~/nB&ݑ>!SL:} H@Ԩ[+Z顕QSEn`f<]y~L1Ѽ6;o`~$Eϴ3&i[C)$9Y{q mo{eI!^8*.Ra+Vj=N5BtJ lˍ-Aif!OXyl蚸 @c, yTMףŁG >\ڑK;32җJ&#% 7 >L9Chc#,3 xjGh6:gK#mza^$I4{b@e?~lQ)LBCRynm'): 򲀂^YqzFmۧd;7]P| f8t\'0+dN(w ,"C"s+ȋ="8(xU<7p:iF{4,ˏ]U0S2aWmvl4` =ν>f 8;z]khUGũַ[*V.#nmm'5#q?'ªiIY͗iU-zz31 _ E"xjȃ9"02{g3R_U1CHNUcEΉ{CHh1C#2zZkܺ8NyY΄֢iw9H\V U2R"}cy(Ur|KxBU[}Lml%jrTM<Äfy"b mֿ 3\t1h:91C"+X{C^)ɯgucox;p[tSDQi#}@ּ[VD8Cޱl+~VQz.*>ȇ#/ Z 3.P$5">QxLiaJݶ2/1ؖ\ ȱc;ZXF\T$<y 8w|tY &5 ٗȡ˰H263 +C vxԊ_(?4E!m&@^&6q Clz18l')O-š"2::Zմx,MPƌ:YV(i0HKZ4Y'^8; =fW|3 -u. K771hkz@& IS,a1I3ՠp$7Eo$֐nc#ZU}`aS8CJ54YIaH|7cMk)7w~o@,t`ngB ('՝igxY N9(m Ӭqq 'u&. QNhF @m+*E&:FwXBE޲JI"d%iuչ:h?۴RU2{F}ݓ> Ɵc\⿕2dX}jE{Tl pX_@۲5rZ?)_Ҏus:1屐[wi4ҧME='ӠC!~f5YJ'w\ "Z9K~MEJOD{Pwۮt}K:A[ssٲ:ő 0ow[4oNYvE_]Dh[~(^`k#ޏl J׀JkI-x0>Z[Í1bob#vHDwz#U=ۈ%Q\k&rRhj@SJL4;#+_Հ& gά:@MH2XR9M p8L>D1',L4'U᥂TwKa ~階=Ez~DD6T3$G9qLi|w)7 n@$EF}6q8mݴϡ3Tc梓f\saO Qg(5gh9d AM%^\CeR+LEQ Ǣu`1ٟN[cf-r R-J;dcoi.w#֫olVҕjyƒ"ak>#m;E.!{+^adD.EyӥktI{ǀ*t.'ʗ K0106?Cqgp zry$y#W՜ JPū1_U{p*%0490ά҇HFHnB#W@-~i[SfKv"!SDάuP" U X*ODm\#ֹ=7AB [0Շ;(ސ 2fd/fW Hյ!ҴI(GX,j7(jIqwTDz5"5%J?&nb'[֍oW~yh R7A/Ġ;j{YNkhZOi~/2Efht?Vi 28oi}Cc_Zg"LQ9*tp Q2vTu{7XLH:^V% \|ϧr:"mӜI'1Pۣ~UA8ʫNR oRZϵt[ g'Ŕ2PG*d㚛Ј)>ը7krv [zF>TBݝ[}Qlx)b'얄@4Aސ=)>s;B5 H00KlؚzGދ0xhCQ$W/߁/+F%uSePpE2/' AxE-?};Bhe6%!s1m3K¬GtNjt}L(b}P޼z%{]`y(̏Q!ݴww ~W$C&e8s7lwn@v|}K,R>Шy׍3*cplK[۷W䨱  reD=1l"?Hl~9Vp,a.ڬQHDƶKl2i{c6̵|>cAaPȕP͐<[ }o[Bju~SeJpp^m._~ϦhnhhB^N];<2f&ǺA2 VD͓!`L"olEɆܨ8" ;.V:,;JOtX 4|x=CpjƽVSK``FܿLk/6/ ^@Ŋμ Dd}:mcU^,rz(pj,Uƚ8eq[F-/=yE^uԩj54XF_ȥn=&An[ș峰/sːKV'@bn4AԘEӤH-seCca@$9A ֻzV1zLؖh~57dS*ArL Ȭ7|%㲹' BEĥ;kzrZ{.ǔp#'Gή2]w6 }ϹהhtN[Rsb;}At1^SX>I*0r636>P9Dh$]?Z:M*"uS瘲 )x3ƪq|.vW|,3F9 88hbySޚj(m_y5} &H7 ckm$[6lȕtpa¥XgÞQoۡ }ͱ츙[rhHdoy Z1@}1@?8D,\-Sk;nWh6W@vBrFmo0 bT鵖+Uc۰$"[2:V"mTv6W7M XJpeXI?]8u [nXHiV oH",1l;㭇Hs"A7 ݬ^6Ҿu zo~ Qv]e0B/Yfl7[Fm4Zk…b!kJ\f-pCo;2K2¡r*˨|3; Zw ? F$+gORTyzlwݪaCk-/3ֻ o1+Vz$4+uh5^vf?a L|3u|>Q8vV Cb0t1NF=\=^<-i'^&{!zBJ/X\#&;y, 6(<ȇH<27}C!0rh%=\}.P'ުo:p.5G3\4}K _,I\lE- 7s,;*EoouMQ+HC,a]0$P9k;aS["rN?d}߫#n~R\ >\h ]MRƔvLכ P3pioxo_erHFg8+^V-0Sҷv7qjOmU10!6ly6I$(N&7wܿx#!fI`%ѩq(NQE1:rַHF}*ʼnAL]T9˦$NP ˖%vmgg^{]Q&#ߛ$* $;sa<ւR |hw}K+gʊ*y]2y5Yw9|AWZEL2 S{㻉0-$Hڰ~U5G5Ž?.VR5l@ /}TUq4WVFp4`SDBY^% ][oח8t{PTG!'lIe8SOȻ2/$g[$=Lw^rޯ$a\;=r?i`^7 xJ7F;ٹcoW q[|DmzϺ6Kq<{ e \L-sL;og%Ig<ލ|FYUQothpW~wcYt@:Zw*WP>%7 yX)f &D.yh (#!JqÏ {j&҂^,WWS9 ˰TUj׮PegJfQX:>LNEqq.ޜCrwQ~0 ~R;hlzwZ9Y1^ڧ8J0]vNOpԟ{Əzy ~{Oyw<._fX016e"o'eࣚ{h6b2_F6"lydƼjy7#R'Ɂ IlZ+͋7x'qkPqM4W 5Vsa)1HQ$6cq).L_z3^v4Շ1.M5Г h`I DzQ7 ϑ8.4` @ivQˠ[iکb-_w0q_ڷIjW3lcc9ct#(T7^MDƪGOMFT8r{8[خ˷qʓS qJC^g5ϹM==uvmjBC8O_T8% YT; %M0ҥL8;!2/q\[!m5N0G( tE5-H>=viÐt @FHro(%kK^JVI{3Q] 5;fD^&^äCpS,7_|`;RJD[X^`UsMWwv۞# qLdNAPגלQN<ڻ۩" 6;Uk[2ՔҮBJνđz/ZINmy($xW aAC:q%q D+l(D;8<`j:DAV%Lr*/xs.,91"'dEGv k.'{À<'EF@xܫ⛫G':K>_r-q;p3mj\X/F5{j%4- mFnw L%7Lugo1`U}(uovyG-WǗa:k& Ф3;ߢ!N E0O?3Uc:.6 ϚdFB0;G8H`A;rH!`5 X\li9O_Og+?`by-~>c%F;eI 3d0T,+W*;_<F1ɱ&*.Ζ e]YKOE֝:TwMOWYzjsBBE2S4Ea]&05;~GikQҏcGX;9[$1oR6l"-iW,ǏF|@?PPu xӂפ )j􊉈?őCݰH6ǰZ$C,X;IoWP@Uʿrqel} v*FWYzQkKeh>IZ~ۦ>&tj@ɴ4:βU DrZ.ߞ.*wl(һC΂3~*bfE^XcT= =P8ӽ9!ۻOz5֣8-oջy=?8HHm]IA,7%6p:C7Ž;zw +QK7 lA0PXN6խǰ]+fȯhc?`棏e[+C*,$0#BUoa3n]e.yTZ&WT2N7CO†A n %WDux?lWAҟ1/w'/̒(mGb &qnɈn.O2Z}o:ŨL^GyKZ4\V$N,KؖUU̘!`bN|dz; / p7 6u(|VZ[ UIc31']mfPN.L_$D8ط&Gu)ɰ@U+c]pct< Et% Ĥ!vcD[H"/Ī${̡ss*̀)(e}:gD~0=Am}!Y4:cCIX53Fs)QΊ}):*>&a |Fi>=5;2>ܣUL(pf$uŰIO*M7d=j@ֹtNC;$u8{JD>Hf}i5peioV'ޓ@P)y7cۺl Q= Df@0(͠egx!0ȿ.hT)ʋ*M ˘dY1Y Ve8HrڸA571acԬGA@_ǕhX1:8@?,ۆxڐ$.çKBz40>3K/ǝozH9HꄔPS;@:&Z~obikd7bu-10ߑ}` 2ga%(pIH9XtxeKvpBe`ԫ! 3gٟnϠtӐAzF iu-̶u#h A1GC1dogV )1Ȣ-C2; W[q  FtIn](`73V>)KO֜$ME>`ʴPy,P&8^Xx㣏h^a!2ᭈCU`ފSRlN4#r6۝ B$wet;RSBVW(tMPG)$qeMb!BXg /Ip/vpU]XTOЍzvIؠa'}A 9"jMff Bd(SQ' y"D:TʈMP 6C.61 gV L!QdA;E{tjE@Ng-K4,C磘~7#tH)Ѭ} 7U[ NY,?+}A ue_a6it CLDWdd/y =ۧ[7ptGC[GG#萘)BcÜa̼A: xs[lDBc ocWpJxhk]q ynm̄>bPq-1Q\)PA%1bo%TI&M\gLSbZWb`CEBD jK񰋙uG-ʴ> z'DCT00봌r~IiDqjfEr iMsFD[/U ~A9,F~sK4`,.^Ejfo m!;!RCRQuH0t3KWhZK }+y̒W\Rl)'!”^xߜGOu}.k;gS6pu1A.Jmue)W$cg{m[E@q QB3A\WӠTd~O(33C96Dy ʥO*k8|[y,)v+[=!h%lɦ$XstM2k:/]2,v U"M4;B 83ka-{$^CgR^Fٙ{슝F\mߋ6skblP9n38qt%;Jm܇@kN$xjy~7GX'Z͘>U͛s`"~) @:Xs E^=E_nAwxGy {)4VCaQeI^Ag/ub\Lwj}d˕F>OGyQ 7g,,F“Q?Dl(uʘA|6M&҄ZboH(|A;*y~?|vbi Fn<#;e 7@x1"ٖӻ C2$z mdbu^۔ëQR[M= l?|s`ȘvVE*[lܣxpuw]l#sbk wh0P}^[95yN錨o5fZX Rfv<+ d;fyjo ᆸUm&Ϩέ4xƪf/W 3qc5Tkb *YFDX>dC.o~H.9ڢ( j,C+I']{7p -pw@sCD8z̩b60p{g<ǔ`8|c1汝v^9cxrUY33}_IT),DEzkSvC=r#9̞j7PQ4q܌f#' ,]Y̒mmKXfM L\F jvEq `'Yned-#r;dR7j)QtXpg" #Ru8.){9wK4 B#`VAe?1U\S`l;`8̪h~qʅ_7հVXʡU~b͐ ejv`gKA¯=G' xuQ") xsיH~KRg/yj$E{޾AZl/I?6}2뗫1k|zz &b2]Y+ZtI9<f~d8dPy}~Sb9%t3Q]; nZO#G7+Ҽ}7d#ie\ )\Z?׽x5`BHpTM#2ZBM aQBZS LlT ~`~$K l[(>;&4r# r 9~Xk}L}$xߍ)_#cw%J֭N7Mb` -f*Gza-i f:"(e]ߑ &iy)O6&mQ7;3-qN]Uno%w&O?-|,a4>F5'X0k#)úW`r}__\LgC!> W X!V)'piOUDg|B-ks4: QM1<'`R9V1y,~2~L$6.Jlrhe3[ʐ"}jxᲔ23% N1 ۑ99z'>œ쑻֧ů kJ\h)"6vc]mk @'…p=ܣf̑ LY(uMT+3́dn?oEdTU#&mn3ru%ioD<AR}JF6ޡo` e',f_ޛ|2-,݄Rs՝.Ox2C [ːCALMd 5M ܠc(=}eByIAITEԥMR`䊅{W6_Ij=?]Q MC5T8]nBPeexeyp ΂P*nDѬۓ`6a^{|ђ{gض ݁a9hh~+Jr&ш40-@(V|L n7@pHM+XwL Pe&#ͤv ]4w Ͼzp6z"Y/.13ţriI֩>ȨGP qgX [f'A5.7>_I(`s4QMopܮyPQ69`SMT{czbwb:M:H;2 FʃS!˖0ACaBvy>:æt< Zdp4K/m~<8G#<1;ILԔQWķ*(<žٵUQw2뉍{;vrC{a1h_Dlz$eUK9)EqymjWOϓ! YZ