augeas-1.10.1-1.11 >  A [Xp9|N%қ3~XJp! Y/j9xfS+ 3ks!27脸v}|1$'p׉WvdmQ'+׭HFps9Ŏ!P+j_E>ΖfsFa_D]XD`єR+ߪȠɿ=+3gwz2I&9&tgI" Mc?Q!PKϚ4:% JFDhO4JrbPk|Sb%C2ԡjjo=L@)}XgXG I`cȝPb}{ Fߏm_д;+bfpAZo 2qH*b @4H?UX`&WNu'|۷9B͆^;IDEB I>~H)2 ;>p>?d   Atx  %, \  t      H  T    H` ( 8 ,9 ,: ,FnG؄ Hش I XY\ ]@ ^٬b5cd2e7f:l<uP vۀw0 x` yߐ)z4DHNCaugeas1.10.11.11An utility for changing configuration filesAn utility for programmatically editing configuration files. Augeas parses configuration files into a tree structure. The transformation works very hard to preserve comments and formatting details. It is controlled by ``lens'' definitions that describe the file format and the transformation into a tree.[Xsheep164gSUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/System/Librarieshttp://augeas.net/linuxx86_64K)m89ag 'A큤A큤[S[S[S[S[XZR4Zn[XHqA[S[S[S6b82ab8388f54f8825a929790c61c42f9d07531d9134e5f5f316d09aa568252a30a90a31f1dbb29e24449620232608a30c8cd30d12eb8b2282588f80a989b7de83843e1bc7dbfdb2c540c416d03a1e03f7655199468d3e0b20f23164cedcc585c21c3b61faa0c26df17c9e589f6b06b14f15b0fccf45d9e11ff24f1ca175d8037fe8c30faba06692c0c6d6acae920696cfd263d1c423b0c3314890c0e5be9dec693955b117ac9f2ffac92ffccdd23b8d706241b7e475b42083dd07188b612b95ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532ae370fc2ecc0e9e80c2fb0c0c8182864c90a369198945abf9bbb9393e2479e6a6738db366c511b7bb48ba87be64f93546d86235c5b88250353cbce42194a22a9c6e637ad5490574a75386d5a7525de15f292c13b291674a3d177e1de8472ca8brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootaugeas-1.10.1-1.11.src.rpmaugeasaugeas(x86-64)@@@@@@@@@@@@@@@@@@@@@    libaugeas.so.0()(64bit)libaugeas.so.0(AUGEAS_0.1.0)(64bit)libaugeas.so.0(AUGEAS_0.10.0)(64bit)libaugeas.so.0(AUGEAS_0.14.0)(64bit)libaugeas.so.0(AUGEAS_0.16.0)(64bit)libaugeas.so.0(AUGEAS_0.21.0)(64bit)libaugeas.so.0(AUGEAS_0.24.0)(64bit)libaugeas.so.0(AUGEAS_0.8.0)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)libfa.so.1()(64bit)libfa.so.1(FA_1.0.0)(64bit)libfa.so.1(FA_1.5.0)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgcc_s.so.1(GCC_3.3.1)(64bit)libreadline.so.7()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1ZZY@Y-^X=W4p@WUU@TTS@SShSg}@RR@Qa_Puc@POd|ON@O6X@O!@@N{#@NtNS@MMM,F@L@L@L@L@L@L@L@L@L@L@K'z@IIIvcizek@suse.comfvogt@suse.comvcizek@suse.comtchvatal@suse.comtchvatal@suse.commlatimer@suse.comcbosdonnat@suse.comtchvatal@suse.comtchvatal@suse.commeissner@suse.comp.drouand@gmail.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commlatimer@suse.commeissner@suse.comp.drouand@gmail.compoelzleithner@b1-systems.decfarrell@suse.comaj@suse.dejengelh@medozas.dedmacvicar@suse.dejengelh@medozas.dedmacvicar@suse.dedmacvicar@suse.dejengelh@medozas.dedmueller@suse.dedmacvicar@suse.decoolo@novell.comdmacvicar@suse.depmullaney@novell.comjkupec@suse.czjkupec@suse.czjkupec@suse.czjkupec@suse.czjkupec@suse.czjkupec@suse.czjkupec@suse.czjkupec@suse.czjkupec@suse.czjengelh@medozas.dejkupec@suse.czjkupec@suse.czjkupec@suse.cz- update to 1.10.1: General changes/additions New CLI utility 'augmatch' to print the tree for a file and select some of its contents New command 'count' in augtool New function 'not(bool) -> bool' for path expressions The path expression 'label[. = "value"]' can now be written more concisely as 'label["value"]' API changes libfa has now a function fa_json to export an FA as a JSON file, and fa_state_* functions that make it possible to iterate over the FA's states and transitions. (Pedro Valero Mejia) Add functions aug_ns_label, aug_ns_value, aug_ns_count, and aug_ns_path to get the label (with index), the value, the number of nodes, and the fully qualified path for nodes stored in a nodeset in a variable efficiently Lens changes/additions Grubenv: new lens to process /boot/grub/grubenv (omgold) Httpd: also read files from /etc/httpd/conf.modules.d/*.conf (Tomas Meszaros) (Issue #537) Nsswitch: allow comments at the end of a line (Philip Hahn) (Issue #517) Ntp: accept 'ntpsigndsocket' statement (Philip Hahn) (Issue #516) Properties: accept empty comments with DOS line endings (Issue #161) Rancid: new lens for RANCiD router databases (Matt Dainty) Resolv: accept empty comments with DOS line endings (Issue #161) Systemd: also process /etc/systemd/logind.conf (Pat Riehecky) YAML: process a document that is just a sequence (John Vandenberg) - drop chrpath dependency, the offending dump binary is no longer shipped- Use %license (boo#1082318)- Version update to 1.9.0: - General changes/additions * Fix error in handling escaped whitespace at the end of path expressions (addresses CVE-2017-7555) * several improvements to the error messages when transforming a tree back to text fails. They now make it clearer what part of the tree was problematic, and what the tree should have looked like. * Fixed the pkg-config file, which should now be usable * Fix handling of backslash-escaping in strings and regular expressions in the lens language. We used to handle constructs like "\\" and /\\\\/ incorrectly. (Issue #495) * do not unescape the default value of a del on create; otherwise we are double unescaping these strings (Issue #507) * remove tempfile when saving files because destination is not writable (Issue #479) * span information is now updated on save (Issue #467) * fix lots of warnings generated by gcc 7.1 * Various changes to reduce bashisms in tests and make them run on FreeBSD (Romain Tartière) - API changes * add function aug_ns_attr to allow iterating through a nodeset quickly. See examples/dump.c for an example of how to use them instead of aug_get, aug_label etc. and for a way to measure performance gains. - Lens changes/additions * Ceph: new lens for /etc/ceph/ceph.conf * Cgconfig: accept fperm & dperm in admin & task (Pino Toscano) * Dovecot: also load files from /usr/local/etc (Roy Hubbard) * Exports: relax the rules for the path at the beginning of a line so that double-quoted paths are legal, too * Getcap: new lens to parse generic termcap-style capability databases * Grub: accept toplevel 'boot' entry (Pino Toscano) * Httpd: handle empty comments with a continuation line (Issue #423); handle '>""' in a directive properly (Issue #429); make space between quoted arguments optional (Issue #435); accept quoted strings as part of bare arguments (Issue #470) * Nginx: load files from sites-available directory (Omer Katz) (Issue #471) * Nslcd: new lens for nss-pam-ldapd config (Jose Plana) * Oz: New lense for /etc/oz/oz.cnf * postfix lenses: also load files from /usr/local/etc (Roy Hubbard) * Properties: accept DOS line endings (Issue #468) * Rtadvd: new lens to parse the rtadvd configuration file (Matt Dainty) * Rsyslog: load files from /etc/rsyslog.d (Doug Wilson) (Issue #475); allow spaces before the # starting a comment; allow comments inside config statements like 'module' * Ssh: accept '=' to separate keyword from arguments * Sshd: split HostKeyAlgorithms into list of values; recognize quoted group names with spaces in them (Issue #477) * Sudoers: recognize "match_group_by_gid" (Luigi Toscano) (Issue #482) * Syslog: allow spaces before the # starting a comment * Termcap: new lens to parse termcap capability databases (Matt Dainty) * Vsftpd: accept seccomp_sandbox (Denys Stroebel) * Xymon: accept 'group-sorted' directive (Issue #462)- Version update to 1.8.0: * See the News file for all the details - Verified it contains fixes for bsc#933210 bsc#975729 bsc#925225 bsc#1023204 CVE-2014-8119- Version update to 1.6.0: * See the NEWS file for the details- Update to version 1.5.0: - General changes/additions * augtool: new --timing option that prints after each operation how long it took * augtool: print brief help message when incorrect options are given rather than dumping all help text * Path expressions: optimize performance of evaluating certain expressions * lots of safety improvements in libfa to avoid using uninitialized values and the like (Daniel Trebbien) * tolerate building against OSX' libedit (Issue #256) - API changes * aug_match: fix a bug where expressions like /foo/*[2] would match a hidden node and pretend there was no match at all. We now make sure we never match a hidden node. Thanks to Xavier Mol for reporting the problem. * aug_get: make sure we set *value to NULL, even if the provided path is invalid (Issue #372) * aug_rm: fix segfault when deleting a tree and one of its ancestors (Issue #319) * aug_save: fix segfault when trying to save an invalid subtree. A routine that was generating details for the error message overflowed a buffer it had created (Issue #349) - Lens changes/additions * AptConf: support hash comments * AptSources: support options (Issue #295), support brackets with spaces in URI (GH #296) rename test file to test_aptsources.aug * Chrony: allow signed numbers and indentation, fix stray EOL entry, disallow comment on EOL, add many missing directives and options (Miroslav Lichvar, RHBZ#1213281) add new directives and options that were added in chrony-2.2 and chrony-2.3 and improve parsing of access configuration (Miroslav Lichvar, Issue #348) add new options for chrony-2.4 (Miroslav Lichvar) * Dhclient: avoid put ambiguity for node without value (Issue #294) * Group: support NIS map, support an overridden and disabled password, i.e. `+:*::` (Matt Dainty) (Issue #258) * Host_Conf: support spaces between list items (Cedric Bosdonnat, Issue #358) * Httpd: add paths to SLES vhosts (Jan Doleschal) (Issue #268) parse backslashes in directive arguments (Issue #307) parse mismatching case of opening/closing tags parse multiple ending section tags on one line parse wordlists in braces in SSLRequire directives parse directive args starting with double quote (Issue #330) parse directive args containing quotes support perl directives (Issue #327) parse line breaks/continuations in section arguments parse escaped spaces in directive/section arguments parse backslashes at the start of directive args (Issue #324) * Inputrc: support $else (Cedric Bosdonnat, Issue #359) * Interfaces: add support for source-directory (Issue #306) * Json: add comments support, refactor, allow escaped quotes and blackslashes * Keepalived: fix space/tag alignments and hanging spaces, add vrrp_mcast_group4 and vrrp_mcast_group6, add more vrrp_instance flags, add mcast/unicast_src_ip and unicast_peer, add missing garp options, add vrrp_script options, expand vrrp_sync_group block, allow notify option (Joe Topjian) (Issue #266) * Known_Hosts: refactoring and description fixed * Logrotate: support dateyesterday option (Chris Reeves) (GH #367, #368) * MasterPasswd: new lens to parse /etc/master.passwd (Matt Dainty) (Issue #258) * Multipath: add various missing keywoards (Olivier Mangold) (Issue #289) * MySQL: include /etc/my.cnf.d/*.cnf (Issue #353) * Nginx: improve typechecking of lens, allow masks in IP keys and IPv6 (Issue #260) add @server simple nodes (Issue #335) * Ntp: add support for basic interface syntax * OpenShift_Quickstarts: Use Json.lns * OpenVPN: add all options available in OpenVPN 2.3o (Justin Akers) (Issue #278) * Puppetfile: name separator is not mandatory add support for moduledir (Christoph Maser) * Rabbitmq: remove space in option name, add support for cluster_partitioning_handling, add missing simple options (Joe Topjian) (Issue #264) * Reprepro_Uploaders: add support for distribution field (Mathieu Alorent) (Issue #277), add support for groups (Issue #283) * Rhsm: new lens to parse subscription-manager's /etc/rhsm/rhsm.conf * Rsyslog: improve property filter parsing, treat whitespace after commas as optional. recognize '~' as a valid syslog action (discard) (Gregory Smith) (Issue #282), add support for redirecting output to named pipes (Gerlof Fokkema) (Issue #366) * Shellvars: allow partial quoting, mixing multiple styles (Kaarle Ritvanen) (Issue #183); allow wrapping builtin argument to multiple lines (Kaarle Ritvanen) (Issue #184); support ;; on same line with multiple commands (Kaarle Ritvanen) (Issue #185); allow line wrapping and improve quoting support (Kaarle Ritvanen) (Issue #187); accept [] and [[]] builtins (Issue #188); allow && and || constructs after condition (Kaarle Ritvanen) (Issue #265); add pattern nodes in case entries (BREAKING CHANGE: case entry values are now in a @pattern subnode) (Kaarle Ritvanen) (Issue #265) add eval builtin support; add alias builtin support; allow (almost) any command; allow && and || after commands (Issue #215); allow wrapping command sequences (Kaarle Ritvanen) (Issue #333); allow command-specific environment variable (Kaarle Ritvanen) (Issue #332); support subshells (Issue #339) newlines in start of functions allow newlines after actions support comments after function name (Issue #339) exclude SuSEfirewall2 (Cedric Bosdonnat, Issue #357) * Simplelines: parse OpenBSD's hostname.if(5) files (Jasper Lievisse Adriaanse) (Issue #252) * Smbusers: add support for ; comments * Spacevars: support flags (Issue #279) * Ssh: add support for HostKeyAlgorithms, KexAlgorithms and PubkeyAcceptedKeyTypes (Oliver Mangold) (Issue #290), add support for GlobalKnownHostsFile (Issue #316) * Star: New lens to parse /etc/default/star * Sudoers: support for negated command alias (Geoff Williams) (Issue #262) * Syslog: recognize '~' as a valid syslog action (discard) (Gregory Smith) (Issue #282) * Tmpfiles: new lens to parse systemd's tempfiles.d configuration files (Julien Pivotto) (Issue #269) * Trapperkeeper: new lens for Puppet server configuration files * Util: add comment_c_style_or_hash lens add empty_any lens * Vsftpd: add isolate and isolate_network options (Florian Chazal) (Issue #334) * Xml: allow empty document (Issue #255) * YAML: new lens (subset) (Dimitar Dimitrov) (Issue #338) - Drop upstreamed patches: 27d8457-inputrc-lens-support-mapping-like.patch 2d12670-inputrc-lens-support-else.patch 49bcfbe-Exclude-network-if-up.d-SuSEfirewall2-in-shellvars-l.patch 7558c12-host_conf-lens-spaces-between-list-items-support.patch- Fix errors showing up in guestfs tools. Add upstreamed patches: 27d8457-inputrc-lens-support-mapping-like.patch 2d12670-inputrc-lens-support-else.patch 49bcfbe-Exclude-network-if-up.d-SuSEfirewall2-in-shellvars-l.patch 7558c12-host_conf-lens-spaces-between-list-items-support.patch- Version bump to 1.4.0: * Loads of bugfixes all around the package * Read up NEWS file for the detailed changes- Whitespace- restore keyring and .sig file, as this is checked by the OBS source service- Update to version 1.3.0 + General changes/additions * Add missing cp entry in manpage (GH issue #78) * Add seq to vim syntax highlight (Robert Drake) * Update augtool.1 man page with new commands and --span, RHBZ#1100077 * augtool autocomplete includes command aliases, RHBZ#1100184 * Remove unused "filename" argument from dump-xml command, RHBZ#1100106 * aug_save returns non-zero result when unable to delete files, RHBZ#1091143 + Lens changes/additions * Aliases: permit missing whitespace between colon and recipients * AptPreferences: Support spaces in origin fields * Cgconfig: handle additional valid controllers (Andy Grimm) * Chrony: New lens to parse /etc/chrony.conf (Pat Riehecky) * CPanel: New lens to parse cpanel.config files * Desktop: Allow @ in keys (GH issue #92) * Device_map: Parse all device.map files under /boot (Mike Latimer) * Dhclient: Add support for option modifiers (Robert Drake, GH issue #95) Parse hash statements with dhcp-eval strings * Dhcpd: stmt_string quoted blocks no longer store quote marks (incompatible change), many changes to support more record types (Robert Drake) * Group: NIS support (KaMichael) * Grub: handle "foreground" option, RHBZ#1059383 (Miguel Armas) * Gshadow: New lens (Lorenzo Catucci) * Httpd: Allow eol comments after section tags Allow continued lines inside quoted value (GH issue #104) Allow comparison operators in tags (GH issue #154) * IPRoute2: handle "/" in protocol name, swap ID and name fields (incompatible change), RHBZ#1063968, handle hex IDs and hyphens, as present in rt_dsfield, RHBZ#1063961 * Iptables: parse /etc/sysconfig/iptables.save, RHBZ#1144651 * Kdump: parse new options, permit EOL comments, refactor, RHBZ#1139298 * Keepalived: Add more virtual/real server settings and checks, RHBZ#1064388 * Known_Hosts: New lens for SSH known hosts files * Krb5: permit braces in values when not in sub-section, RHBZ#1066419 * Ldso: handle "hwcap" lines (GH issue #100) * Lvm: support negative numbers, parse /etc/lvm/lvm.conf (Pino Toscano) * Multipath: add support for rr_min_io_rq (Joel Loudermilk) * NagiosConfig and NagiosObjects: Fix documentation (Simon Sehier) * NetworkManager: Use the Quote module, support # in values (no eol comments) * OpenVPN: Add support for fragment, mssfix, and script-security (Frank Grötzner) * Pagekite: New lens (Michael Pimmer) * Pam: Add partial support for arguments enclosed in [] (Vincent Brillault) * Passwd: Refactor lens (Lorenzo Catucci) * Redis: Allow empty quoted values (GH issue #115) * Rmt: New lens to parse /etc/default/rmt, RHBZ#1100549 * Rsyslog: support complex $template lines, property filters and file actions with templates, RHBZ#1083016 * Services: permit colons in service name, RHBZ#1121263 * Shadow: New lens (Lorenzo Catucci) * Shellvars: Handle case statements with same-line ';;', RHBZ#1033799 Allow any kind of quoted values in block conditions (GH issue #118) Support $(( .. )) arithmetic expansion in variable assignment, RHBZ#1100550 * Simplevars: Support flags and empty values * Sshd: Allow all types of entries in Match groups (GH issue #75) * Sssd: Allow ; for comments * Squid: Support configuration files for squid 3 (Mykola Nikishov) * Sudoers: Allow wuoted string in default str/bool params (Nick Piacentine) * Syslog: Support "# !" style comments (Robert Drake, GH issue #65) Permit IPv6 loghost addresses, RHBZ#1129388 * Systemd: Allow quoted Environment key=value pairs, RHBZ#1100547 Parse /etc/sysconfig/*.systemd, RHBZ#1083022 Parse semicolons inside entry values, RHBZ#1139498 * Tuned: New lens for /etc/tuned/tuned-main.conf (Pat Riehecky) * UpdateDB: New lens to parse /etc/updatedb.conf (incompatible change as this file used to be processed with Simplevars) * Xml: Allow backslash in #attribute values (GH issue #145) Parse CDATA elements (GH issue #80) * Xymon_Alerting: refactor lens (GH issue #89) - Remove the sig and the keyring file as there is no gpg verification anyway - Remove augeas-device_map-grub2.patch, fixed on upstream release- Change desc to describe the "tools" not just the library bnc#885495.- Enable tests but "pass" them even with 2 failures.- Add check phase, comment out as 2 test fails now. - Clean up with spec-cleaner - Version bump to 1.2.0: - API changes * Add aug_cp and the cp and copy commands * aug_to_xml now includes span information in the XML dump - General changes/additions * Fix documentation link in c_api NaturalDocs menu * Fix NaturalDocs documentation for various lenses * src/transform.c (filter_matches): wrap fnmatch to ensure that an incl pattern containing "//" matches file paths, RHBZ#1031084 * Correct locations table for transform_save() (Tomas Hoger) * Corrections for CVE-2012-0786 tests (Tomas Hoger) * Fix umask handling when creating new files, RHBZ#1034261 - Lens changes/additions * Access: support DOMAIN\user syntax for users and groups, bug #353 * Authorized_Keys: Allow 'ssh-ed25519' as a valid authorized_key type (Jasper Lievisse Adriaanse) * Automounter: Handle hostnames with dashes in them, GH issue #27 * Build: Add combinatorics group * Cyrus_Imapd: Create new entries without space before separator, RHBZ#1014974 (Dietmar Kling) * Desktop: Support square brackets in keys * Dhclient: Add dhclient.conf path for Debian/Ubuntu (Esteve Fernandez) * Dhcpd: Support conditionals, GH issue #34 Support a wider variety of allow/deny statement, including booting and bootp (Yanis Guenane) Support a wider variety of DHCP allow/deny/ignore statements (Yanis Guenane) * Dovecot: Various enhancements and bug fixes (Michael Haslgrübler): add mailbox to block_names, fix for block_args in quotes, fix for block's brackets upon write, fixes broken tests for mailbox, fixes indention, test case for block_args with ", fixes broken indention Use Quote module * Exports: Permit colons for IPv6 client addresses, bug #366 * Grub: Support the 'setkey' and 'lock' directives NFC fix whitespace errors Handle makeactive menu command, bug #340 Add 'verbose' option, GH issue #73 * Interfaces: Add in support for the source stanza in /etc/network/interfaces files Map bond-slaves and bridge-ports to arrays (incompatible change) (Kaarle Ritvanen) Add /etc/network/interfaces.d/* support Allow numeric characters in stanza options (Pascal Lalonde) * Koji: New lens to parse Koji configs (Pat Riehecky) * MongoDBServer: Accept quoted values (Tomas Klouda) * NagiosCfg: Do not try to parse /etc/nagios/nrpe.cfg anymore, GH issue #43 /etc/nagios/nrpe.cfg is parsed by Nrpe (Yanis Guenane) * Nagiosobjects: Add support for optional spaces and indents and whole-line comments (Sean Millichamp) * OpenVPN: Support daemon, client-config-dir, route, and management directives (Freakin https://github.com/Freakin) * PHP: allow php-fpm syntax in keys, GH issue #35 * Postfix_Main: Handle stray whitespace at end of multiline lines, bug #348 * Postfix_virtual: allow '+' and '=' in email addresses (Tom Hendrikx) * Properties: support multiline starting with an empty string, GH issue #19 * Samba: Permit asterisk in key name, bug #354 * Shellvars: Read /etc/firewalld/firewalld.conf, bug #363 Support all types of quoted strings in arrays, bug #357 Exclude /etc/sysconfig/ip*tables.save files * Shellvars, Sysconfig: map "bare" export and unset lines to seq numbered nodes to handle multiple variables (incompatible change), RHBZ#1033795 * Shellvars_list: Handle backtick variable assignments, bug #368 Allow end-of-line comments, bug #342 * Simplevars: Add /etc/selinux/semanage.conf * Slapd: use smart quotes for database entries; rename by/what to by/access; allow access to be absent as per official docs (incompatible change) * Sshd: Indent Match entries by 2 spaces by default Support Ciphers and KexAlgorithms groups, GH issue #69 Let all special keys be case-insensitive * Sudoers: Permit underscores in group names, bug #370 (Matteo Cerutti) Allow uppercase characters in user names, bug #376 * Sysconfig: Permit empty comments after comment lines, RHBZ#1043636 * Sysconfig_Route: New lens for RedHat's route configs * Syslog: Accept UDP(@) and TCP(@@) protocol, bug #364 (Yanis Guenane) * Xymon_Alerting: New lens for Xymon alerting files (François Maillard) * Yum: Add yum-cron*.conf files (Pat Riehecky) Include only *.repo files from yum.repos.d (Andrew N Golovkov) Permit spaces after equals sign in list options, GH issue #45 Split excludes as lists, bug #275- device_map lense: Find device.map in any dir beneath /boot (bnc#875086) augeas-device_map-grub2.patch- download url changed, also added keyring and .sig ring- Update to version 1.1.0 - Handle files with special characters in their name, bug #343 - Fix type error in composition ('f; g') of functions, bug #328 - Improve detection of version script; make build work on Illumos with GBU ld (Igor Pashev) - augparse: add --trace option to print filenames of all modules being loaded - Various lens documentation improvements (Jasper Lievisse Adriaanse) - Lens changes/additions - ActiveMQ_*: new lens for ActiveMQ/JBoss A-MQ (Brian Harrington) - AptCacherNGSecurity: new lens for /etc/apt-cacher-ng/security.conf (Erik Anderson) - Automaster: accept spaces between options - BBHosts: support more flags and downtime feature (Mathieu Alorent) - Bootconf: new lens for OpenBSD's /etc/boot.conf (Jasper Adriaanse) - Desktop: Support dos eol - Dhclient: read /etc/dhclient.conf used in OpenBSD (Jasper Adriaanse) - Dovecot: New lens for dovecot configurations (Serge Smetana) - Fai_Diskconfig: Optimize some regexps - Fonts: exclude all README files (Jasper Adriaanse) - Inetd: support IPv6 addresses, bug #320 - IniFile: Add lns_loose and lns_loose_multiline definitions Support smart quotes Warning: Smart quotes support means users should not add escaped double quotes themselves. Tests need to be fixed also. Use standard Util.comment_generic and Util.empty_generic Warning: Existing lens tests must be adapted to use standard comments and empty lines Allow spaces in entry_multiline* values Add entry_generic and entry_multiline_generic Add empty_generic and empty_noindent Let multiline values begin with a single newline Support dos eol Warning: Support for dos eol means existing lenses usually need to be adapted to exclude \r as well as \n. - IPRoute2: Support for iproute2 files (Davide Guerri) - JaaS: lens for the Java Authentication and Authorization Service (Simon Vocella) - JettyRealm: new lens for jetty-realm.properties (Brian Harrington) - JMXAccess, JMXPassword: new lenses for ActiveMQ's JMX files (Brian Harrington) - Krb5: Use standard comments and empty lines Support dos eol Improve performance Accept pkinit_anchors (Andrew Anderson) - Lightdm: Use standard comments and empty lines - LVM: New lens for LVM metadata (Gabriel) - Mdadm_conf: optimize some regexps - MongoDBServer: new lens (Brian Harrington) - Monit: also load /etc/monitrc (Jasper Adriaanse) - MySQL: Use standard comments and empty lines Support dos eol - NagiosCfg: handle Icinga and resources.cfg (Jasper Adriaanse) - Nrpe: accept any config option rather than predefined list (Gonzalo Servat); optimize some regexps - Ntpd: new lense for OpenNTPD config (Jasper Adriaanse) - Odbc: Use standard comments and empty lines - Openshift_*: new lenses for Openshift support (Brian Harrington) - Quote: allow multiple spaces in quote_spaces; improve docs - Passwd: allow period in user names in spec, bug #337; allow overrides in nisentry - PHP: Support smart quotes Use standard comments and empty lines Load /etc/php*/fpm/pool.d/*.conf (Enrico Stahn) - Postfix_master: allow [] in words, bug #345 - Resolv: support 'lookup' and 'family' key words, bug #320 (Jasper Adriaanse)) - Rsyslog: support :omusrmsg: list of users in actions - RX: add CR to RX.space_in - Samba: Use standard comments and empty lines Support dos eol - Schroot: Support smart quotes - Services: support port ranges (Branan Purvine-Riley) - Shellvars: optimize some regexps; reinstate /etc/sysconfig/network, fixes bug #330, RHBZ#904222, RHBZ#920609; parse /etc/rc.conf.local from OpenBSD - Sip_Conf: New lens for sip.conf configurations (Rob Tucker) - Splunk: new lens (Tim Brigham) - Subversion: Support smart quotes Use standard comments and empty lines Use IniFile.entry_multiline_generic Use IniFile.empty_noindent Support dos eol - Sudoers: allow user aliases in specs - Sysctl: exclude README file - Systemd: Support smart quotes; allow backslashes in values - Xinetd: handle missing values in list, bug #307 - Xorg: allow 'Screen' in Device section, bug #344 - Yum: Support dos eol, optimize some regexps- update to 1.0.0 - drop bnc-729491-recognize-suse-sysconfig-files.patch: upstream ShellVars lense now uses /etc/sysconfig/* include filter - drop patches, now upstream: augeas-pkgdeps.diff, augeas-stdio.h.patch- license update: GPL-3.0+ and LGPL-2.1+ semicolon is ambiguous- Fix build with missing gets declaration (glibc 2.16)- Ensure libxml2 is present in .pc file- update to 0.10.0 - support relative paths by taking them relative to the value of /augeas/context in all API functions where paths are used - add aug_to_xml to API: transform tree(s) into XML, exposed as dump-xml in aug_srun and augtool. Introduces dependency on libxml2 - fix regular expression escaping. Previously, /[/]/ match either a backslash or a slash. Now it only matches a slash - path expressions: add function 'int' to convert a node value (string) to an integer - path expressions: make sure the regexp produced by empty nodesets from regexp() and glob() matches nothing, rather than the empty word - fix --autosave when running single command from command line, BZ 743023 - aug_srun: support 'insert' and 'move' as aliases for 'ins' and 'mv' - aug_srun: allow escaping of spaces, quotes and brackets with \ - aug_init: accept AUG_NO_ERR_CLOSE flag; return augeas handle even when initialization fails so that caller gets some details about why initialization failed - aug_srun: tolerate trailing white space in commands - much improved, expanded documentation of many lenses - always interpret lens filter paths as absolute, bug #238 - fix bug in libfa that would incorrectly calculate the difference of a case sensistive and case insensitive regexp (/[a-zA-Z]+/ - /word/i would match 'worD') - new builtin 'regexp_match' for .aug files to make testing regexp matching easier during development - fix 'span' command, bug #220 - Lens changes/additions * Access: parse user@host and (group) in users field; field separator need not be surrounded by spaces * Aliases: allow spaces before colons * Aptconf: new lens for /etc/apt/apt.conf * Aptpreferences: support origin entries * Backuppchosts: new lens for /etc/backuppc/hosts, bug 233 (Adam Helms) * Bbhosts: various fixes * Cgconfig: id allowed too many characters * Cron: variables aren't set like shellvars, semicolons are allowed in email addresses; fix parsing of numeric fields, previously upper case chars were allowed; support ranges in time specs * Desktop: new lens for .desktop files * Dhcpd: slashes must be double-quoted; add Red Hat's dhcpd.conf locations * Exports: allow empty options * Fai_diskconfig: new lens for FAI disk_config files * Fstab: allow ',' in file names, BZ 751342 * Host_access: new lens for /etc/hosts.{allow,deny} * Host_conf: new lens for /etc/host.conf * Hostname: new lens for /etc/hostname * Hosts: also load /etc/mailname by default * Iptables: allow digits in ipt_match keys, bug #224 * Json: fix whitespace handling, removing some cf ambiguities * Kdump: new lens for /etc/kdump.conf (Roman Rakus) * Keepalived: support many more flags, fields and blocks * Krb5: support [pam] section, bug #225 * Logrotate: be more tolerant of whitespace in odd places * Mdadm_conf: new lens for /etc/mdadm.conf * Modprobe: Parse commands in install/remove stanzas (this introduces a backwards incompatibility); Drop support for include as it is not documented in manpages and no unit tests are shipped. * Modules: new lens for /etc/modules * Multipath: add support for seveal options in defaults section, bug #207 * Mysql: includedir statements are not part of sections; support !include; allow indentation of entries and flags * Networks: new lens for /etc/networks * Nrpe: allow '=' in commands, bug #218 (Marc Fournier) * Php: allow indented entries * Phpvars: allow double quotes in variable names; accept case insensitive PHP tags; accept 'include_once'; allow empty lines at EOF; support define() and bash-style and end-of-line comments * ostfix_master: allow a lot more chars in words/commands, including commas * PuppetFileserver: support same-line comments and trailing whitespace, bug #214 * Reprepo_uploaders: new lens for reprepro's uploaders files * Resolv: permit end-of-line comments * Schroot: new lens for /etc/schroot/schroot.conf * Shellvars: greatly expand shell syntax understood; support various syntactic constructs like if/then/elif/else, for, while, until, case, and select; load /etc/blkid.conf by default * Spacevars: add toplevel lens 'lns' for consistency * Ssh: new lens for ssh_config (Jiri Suchomel) * Stunnel: new lens for /etc/stunnel/stunnel.conf (Oliver Beattie) * Sudoers: support more parameter flags/options, bug #143 * Xendconfsxp: lens for Xen configuration (Tom Limoncelli) * Xinetd: allow spaces after '{' - update modprobe lens patch to apply on 0.10.0 - update shellvars lens patch to add some missing files on SUSE distros mentioned in bnc#729491- Remove rednudant tags/sections from specfile- Patch shellvars.aug to recognize SUSE specific files in sysconfig (bnc#729491)- move lenses from /usr/share/libaugeas0/augeas to /usr/share/augeas (bnc#719199) - move vim lenses syntax files from -lenses to -devel package- Remove redundant tags/sections from specfile - Add augeas-devel to baselibs- update to 0.9.0: - augtool: keep history in ~/.augeas/history - add aug_srun API function; this makes it possible to run a sequence of commands through the API - aug_mv: report error AUG_EMVDESC on attempts to move a node into one of its descendants - path expressions: allow whitespace inside names, making '/files/etc/foo bar/baz' a legal path, but parse [expr1 or expr2] and [expr1 and expr2] as the logical and/or of expr1 and expr2 - path expressions: interpret escape sequences in regexps; since '.' does not match newlines, it has to be possible to write '.|\n' to match any character - path expressions: allow concatenating strings and regexps; add comparison operator '!~'; add function 'glob'; allow passing a nodeset to function 'regexp' - store the names of the functions available in path expressions under /augeas/version - fix several smaller memory leaks - Lens changes/additions * Aliases: allow spaces and commas in aliases (Mathieu Arnold) * Grub: allow "bootfs" Solaris/ZFS extension for dataset name, bug #201 (Dominic Cleal); allow kernel path starting with a BIOS device, bug #199 * Inifile: allow multiline values * Php: include files from Zend community edition, bug #210 * Properties: new lens for Java properties files, bug #194 (Craig Dunn) * Spacevars: autoload two ldap files, bug #202 (John Morrissey) * Sudoers: support users:groups format in a Runas_Spec line, bug #211; add CSW paths (Dominic Cleal) * Util: allow comment_or_eol to match whitespace-only comments, bug #205 (Dominic Cleal) * Xorg: accept InputClass section; autoload from /etc/X11/xorg.conf.d, bug #197- fate#311042: Update augeas packages for latest puppet support in SLE-11 - update to 0.8.1 * augtool: respect autosave flag in oneshot mode, bug #193; fix segfault caused by unmatched bracket in path expression, bug #186 * eliminate a global variable in the lexer, fixes BZ 690286 * replace an erroneous assert(0) with a proper error message when none of the alternatives in a union match during saving, bug #183 * improve AIX support * Lens changes/additions * Access: support the format @netgroup@@nisdomain, bug #190 * Fstab: fix parsing of SELinux labels in the fscontext option * Grub: support 'device' directive for UEFI boot, bug #189; support 'configfile' and 'background' * Httpd: handle continuation lines; autoload httpd.conf on Fedora/RHEL, BZ 688149; fix support for single-quoted strings * Iptables: support --tcp-flags, bug #157; allow blank and comment lines anywhere * Mysql: include /etc/my.cnf used on Fedora/RHEL, BZ 688053 * NagiosCfg: parse setting multiple values on one line * NagiosObjects: process /etc/nagios3/objects/*.cfg * Nsswitch: support 'sudoers' as a database, bug #187 * Shellvars: autoload /etc/rc.conf used in FreeBSD * Sudoers: support '#include' and '#includedir', bug #188 * Yum: exclude /etc/yum/pluginconf.d/versionlock.list - changes for 0.8.0 * add new 'square' lens combinator * add new aug_span API function * augtool: short options for --nostdinc, --noload, and --noautoload * augtool: read commands from tty after executing file with --interactive * augtool: add --autosave option * augtool: add --span option to load nodes' span * augtool: add span command to get the node's span according to the input file * augtool: really be quiet when we shouldn't be echoing * fix segfault in get.c with L_MAYBE lens; bug #180 * fix segfault when a path expression called regexp() with an invalid regexp; bug #168 * improved vim syntax file * replace augtest by test-augtool.sh to obviate the need for Ruby to run tests * use sys_wait module from gnulib; bug #164 * Lens changes/additions * Access: new lens for /etc/security/access.conf * Crypttab: new lens for /etc/crypttab * Dhcpd: new lens * Exports: accept hostnames with dashes; bug #169 * Grub: add various Solaris extensions; support "map" entries, bug #148 * Httpd: new lens for Apache config * Inifile: new lens indented_title_label * Interfaces: allow indentation for "iface" entries; bug #182 * Mysql: change default comment delimiter from ';' to '#'; bug #181 * Nsswitch: accept various add'l databases; bug #171 * PuppetFileserver: new lens for Puppet's fileserver.conf * REsolv: allow comments starting with ';'; bug #173 * Shellvars: autoload various snmpd config files; bug #170 * Solaris_system: new lens for /etc/system on Solaris * Util (comment_c_style, empty_generic, empty_c_style): new lenses * Xml: generic lens to process XML files * Xorg: make "position" in "screen" optional; allow "Extensions" section; bug #175- add baselibs.conf- update to 0.7.4 * augtool: new clearm command to parallel setm * augtool: add --file option * Fix SEGV under gcc 4.5, caused by difficulties of the gcc optimizer handling bitfields (bug #149; rhbz #651992) * Preserve parse errors under /augeas//error: commit 5ee81630, released in 0.7.3, introduced a regression that would cause the loss of parse errors; bug #138 * Avoid losing already parsed nodes under certain circumstances; bug #144 * Properly record the new mtime of a saved file; previously the mtime in the tree was reset to 0 when a file was saved, causing unnecessary file reloads * fix a SEGV when using L_MAYBE in recursive lens; bug #136 * Incompatible lens changes * Fstab: parse option values * Squid: various improvements, see bug #46; * Xinetd: map service names differently * Lens changes/additions * Aptsources: map comments properly, allow indented lines; bug #151 * Grub: add indomU setting for Debian. Allow '=' as separator in title; bug #150 * Fstab: also process /etc/mtab * Inetd: support rpc services * Iptables: allow underscore in chain names * Keepalived: new lens for /etc/keepalived/keepalived.conf * Krb5: allow digits in realm names; bug #139 * Login_defs: new lens for /etc/login.defs (Erinn Looney-Triggs) * Mke2fs: new lens for /etc/mke2fs.conf * Nrpe: new lens for Nagios nrpe (Marc Fournier) * Nsswitch: new lens for /etc/nsswitch.conf * Odbc: new lens for /etc/odbc.ini (Marc Fournier) * Pg_hba: New lens; bug #140 (Aurelien Bompard). Add system path on Debian; bug #154 (Marc Fournier) * Postfix_master: parse arguments in double quotes; bug #69 * Resolv: new lens for /etc/resolv.conf * Shells: new lens for /etc/shells * Shellvars: parse ulimit builtin * Sudoers: load file from /usr/local/etc (Mathieu Arnold) Allow 'visiblepw' parameter flag; bug #143. Read files from /etc/sudoers.d * Syslog: new lens for /etc/syslog.conf (Mathieu Arnold) * Util: exclude dpkg backup files; bug #153 (Marc Fournier) * Yum: accept continuation lines for gpgkey; bug #132- added patch for allow_unsupported_modules command in modprobe.d conf files- added vim files symlinks for lens syntax files - fixed a few rpmlint warnings (fixed rpm group, no ldconfig run)* Update to 0.7.3 * ug_load: only reparse files that have actually changed; greatly speeds up reloading * record all variables in /augeas/variables, regardless of whether they were defined with aug_defvar or aug_defnode; make sure /augeas/variables always exists * redefine all variables (by reevaluating their corresponding expressions) after a aug_load. This makes variables 'sticky' across loads * fix behavior of aug_defnode to not fail when the expression evaluates to a nonempty node set * make gnulib a git submodule so that we record the gnulib commit off which we are based * allow 'let rec' with non-recursive RHS * fix memory corruption when reloading a tree into which a variable defined by defnode points (BZ 613967) * plug a few small memory leaks, and some segfaults * Lens changes/additions * Device_map: new lens for grub's device.map (Matt Booth) * Limits: also look for files in /etc/security/limits.d * Mysql: new lens (Tim Stoop) * Shellvars: read /etc/sysconfig/suseconfig (Frederik Wagner) * Sudoers: allow escaped spaces in user/group names (Raphael Pinson) * Sysconfig: lens for the shell subdialect used in /etc/sysconfig; lens strips quotes automatically* 0.7.2 - 2010-06-22 * new API call aug_setm to set/create multiple nodes simultaneously * record expression used in a defvar underneath /augeas/variables * Lens changes/additions * Group: add test for disabled account (Raphael Pinson) * Grub: handle comments within a boot stanza * Iptables: also look for /etc/iptables-save (Nicolas Valcarcel) * Modules_conf: new lens for /etc/modules.conf (Matt Booth) * Securetty: added handling of emtpy lines/comments (Frederik Wagner) * Shellvars: added SuSE sysconfig puppet files (Frederik Wagner), process /etc/environment (seph) * Shellvars_list: Shellvars-like lens that treats strings of space-separated words as lists (Frederik Wagner)* 0.7.1 - 2010-04-21 * fix crash when recursive lens was used in a nonrecursive lens (bug #100) * context free parser/recursive lenses: handle 'l?' properly (bug #119); distinguish between successful parse and parse with an error at end of input; do caller filtering to avoid spurious ambiguous parses with grammars containing epsilon productions * aug_get: return -1 when multiple nodes match (bug #121) * much better error message when iteration stops prematurely during put/create than the dreaded 'Short iteration' * src/lens.c (lns_check_rec): fix refcounting mistake on error path (bug #120) * Lens changes/additions * Approx: lens and test for the approx proxy server (Tim Stoop) * Cgconfig: lens and tests for libcgroup config (Ivana Hutarova Varekova) * Cgrules: new lens and test (Ivana Hutarova Varekova) * Cobblermodules: lens + tests for cobbler's modules.conf (Shannon Hughes) * Debctrl: new lens and test (Dominique Dumont) * Dput: add 'allow_dcut' parameter (bug #105) (Raphael Pinson) * Dhclient: add rfc code parsing (bug #107) (Raphael Pinson) * Group: handle disabled passwords * Grub: support empty kernel parameters, Suse incl.s (Frederik Wagner) * Inittab: allow ':' in the process field (bug #109) * Logrotate: tolerate whitespace at the end of a line (bug #101); files can be separated by newlines (bug #104) (Raphael Pinson) * Modprobe: Suse includes (Frederik Wagner) * Nagisocfg: lens and test for /etc/nagios3/nagios.cfg (Tim Stoop) * Ntp: add 'tinker' directive (bug #103) * Passwd: parse NIS entries on Solaris * Securetty: new lens and test for /etc/securetty (Simon Josi) * Shellvars: handle a bare 'export VAR'; Suse includes (Frederik Wagner); allow spaces after/before opening/closing parens for array * Sudoers: allow del_negate even if no negate_node is found (bug #106) (Raphael Pinson); accept 'secure_path' (BZ 566134) (Stuart Sears)* 0.7.0 - 2010-01-14 * Support for context-free lenses via the 'let rec' keyword. The syntax is experimental, though the feature is here to stay. See lenses/json.aug for an example of what's possible with that. * Support for case-insensitive regular expressions. Simply append 'i' to a regexp literal to make it case-insensitive, e.g. /hello/i will match all variations of hello, regardless of case. * Major revamp of augtool. In particular, path expressions don't need to be quoted anymore. The online help has been greatly improved. * Check during load/save that each file is only matched by one transform under /augeas/load. If there are multiple transforms for a file, the file is skipped. * New error codes AUG_ENOLENS and AUG_EMXFM * Do not choke on non-existing lens during save * Change the metadata for files under /augeas/files slightly: the node /augeas/files/$PATH/lens now has the name of the lens used to load the file; the source location of that lens has moved to /augeas/files/$PATH/lens/info * New public functions fa_nocase, fa_is_nocase, and fa_expand_nocase in libfa * Various smaller bug fixes, performance improvements and improved error messages * Lens changes/additions * Cobblersettings: new lens and test (Bryan Kearney) * Iptables: allow quoted strings as arguments; handle both negation syntaxes * Json: lens and tests for generic Json files * Lokkit: allow '-' in arguments * Samba: accept entry keys with ':' (Partha Aji) * Shellvars: allow arrays that span multiple lines * Xinetd (name): fix bad '-' in character class* 0.6.0 - 2009-11-30 * Add error reporting API (aug_error and related calls); use to report error details in a variety of places * Path expressions: add regexp matching; add operator '|' to form union of nodesets (ticket #89) * Tolerate non-C locales from the environment (ticket #35); it is no longer necessary to set the locale to C from the outside * use stpcpy/stpncpy from gnulib (needed for building on Solaris) * Properly check regexp literals for syntax errors (ticket #93) * Distribute and install vim syntax files (ticket #97) * many more bugfixes * Lens changes/additions * Apt_preferences: support version pin; filter out empty lines (Matt Palmer) * Cron: variables can contain '_' etc. (ticket #94) * Ethers: new lens for /etc/ethers (Satoru SATOH) * Fstab: allow '#' in spec (ticket #95) * Group: allow empty password field (ticket #95) * Inittab: parse end-of-line comments into a #comment * Krb5: support kdc section; add v4_name_convert subsection to libdefaults (ticket #95) * Lokkit: add mising eol to forward_port; make argument for --trust more permissive * Pam: allow '-' before type * Postfix_access: new lens for /etc/postfix/access (Partha Aji) * Rx: allow '!' in device_name * Sudoers: allow certain backslash-quoted characters in a command (Matt Palmer) * Wine: new lens to read Windows registry files* 0.5.3 - 2009-09-14 * Match trees on label + value, not just label; see tests/modules/pass_strip_quotes.aug for how that enables stripping quotes * Do not trip over symlinks to files on a different device during save; fixes problems with writing to /etc/grub.conf on Fedora/RHEL * API (defnode): always add the newly created node into the resulting nodeset * Add preceding-sibling and following-sibling axes to path expressions * augtool, augparse: add --version option (bug #88) * Change file info recorded under /augeas/files/FILE/*: remove lens/id and move lens/info to lens * Properly record new files under /augeas/files (bug #78) * aug_load: clean up variables to avoid dangling references (bug #79) * Make Augeas work on AIX * Ignore anything but regular files when globbing * Add 'clear' function to language for use in unit tests * typechecker: print example trees in tree format * libfa: properly support regexps with embedded NUL's * Lens changes/additions * Xorg: revamped, fixes various parse failures (Matt Booth) * Inetd: new lens and test (Matt Palmer) * Multipath: new lens and test * Slapd: also read /etc/openldap.slapd.conf (bug #85)* 0.5.2 - 2009-07-13 * Make Augeas work on Mac OS/X (bug #66) (Anders Bjoerklund) * reduce symbols exported from libfa with linker script * add --echo option to augtool * require Automake 1.11 (Jim Meyering) * avoid spurious save attempts for freshly read files * Lens changes/additions * Inittab: schema change: use 'id' field as name of subtree for a line, instead of a generated number. Map comments as '#comment' (Matt Palmer) * Logrotate: make owner/group in create statement optional, allow filenames to be indented * Ntp: allow additional options for server etc. (bug #72) * Shellvars: allow backticks as quote characters (bug #74) * Yum: also read files in /etc/yum/pluginconf.d (Marc Fournier)* 0.5.1 - 2009-06-09 * augeas.h: flag AUG_NO_MODL_AUTOLOAD suppresses initial loading of modules; exposed as --noautoload in augtool * augtool: don't prompt when input is not from tty (Raphael Pinson) * augparse: add --notypecheck option * path expressions: allow things like '/foo and /bar[3]' in predicates * Lens changes/additions * Aliases: map comments as #comment (Raphael Pinson) * Build, Rx, Sep: new utility modules (Raphael Pinson) * Cron: new lens (Raphael Pinson) * Dnsmasq: process files in /etc/dnsmasq.d/* (ticket #65) * Grub: parse kernel and module args into separate nodes; parse arguments for 'serial', 'terminal', and 'chainloader'; allow optional argument for 'savedefault' * Interfaces: make compliant with actual Debian spec (Matt Palmer) * Iptables: relax regexp for chain names; allow comment lines mixed in with chains and rules (ticket #51) * Logrotate: allow '=' as separator (ticket #61); make newline at end of scriptlet optional * Modprobe: handle comments at end of line * Ntp: parse fudge record (Raphael Pinson); parse all directives in default Fedora ntp.conf; process 'broadcastdelay', 'leapfile', and enable/disable flags (ticket #62) * Pbuilder: new lens for Debian's personal builder (Raphael Pinson) * Php: add default path on Fedora/RHEL (Marc Fournier) * Squid: handle indented entries (Raphael Pinson) * Shellvars: map 'export' and 'unset'; map comments as #comment (Raphael Pinson) * Sudoers: allow backslashes inside values (ticket #60) (Raphael Pinson) * Vsftpd: map comments as #comment; handle empty lines; find vsftpd.conf on Fedora/RHEL * Xinetd: map comments as #comment (Raphael Pinson)- enable parallel building* Update to 0.5.0 * Upstream notes: Clean up interface for libfa; the interface is now considered stable * New aug_load API call; allows controlling which files to load by modifying /augeas/load and then calling aug_load; on startup, the transforms marked with autoload are reported under /augeas/load * New flag AUG_NO_LOAD for aug_init to keep it from loading files on startup; add --noload option to augtool * New API calls aug_defvar and aug_defnode to define variables for path expressions; exposed as 'defvar' and 'defnode' in augtool * New program examples/fadot to draw various finite automata (Francis Giraldeau) * Report line number and character offset in the tree when parsing a file with a lens fails * Fix error in propagation of dirty flag, which could lead to only parts of a tree being saved when multiple files were modified * Flush files to disk before moving them * Fix a number of memory corruptions in the XPath evaluator * Several performance improvements in libfa * Lens changes/additions * Grub: process embedded comments for update-grub (Raphael Pinson) * Iptables: new lens for /etc/sysconfig/iptables * Krb5: new lens for /etc/krb5.conf * Limits: map dpmain as value of 'domain' node, not as label (Raphael Pinson) * Lokkit: new lens for /etc/sysconfig/system-config-firewall * Modprobe: new lens for /etc/modprobe.d/* * Sudoers: more finegrained parsing (ticket #48) (Raphael Pinson)* Update to 0.4.2 * Moved lense tests into separate package 'augeas-lense-tests' * Added augeas-lenses-license-fix patch * Upstream notes: * Do not delete files that had an error upon parsing * For Fedora/EPEL RPM's, BuildRequire libselinux-devel (bug #26) * In path expressions, the meaning of '<' and '<=' was reversed * Always create an entry /files in aug_init * New builtin 'Sys' module with functions 'getenv' and 'read_file', the latter reads a the contents of a file into a string * Lens changes/additions * Postfix_main: handle continuation lines * Bbhosts, Hosts, Logrotate, Sudoers: label comment nodes as '#comment' * Sshd: map comments as '#comment' nodes * Squid: add all keywords from squid 2.7 and 3 (Francois Deppierraz) * Logrotate: process unit suffixes for 'size' and 'minsize'* Update to 0.4.1 * Moved lenses to separate package 'augeas-lenses'. * Upstream notes: * Remove files when their entire subtree under /files is deleted * Various bug fixes and syntax enhancements for path expressions (see tests/xpath.tests for details) * Evaluate path expressions with multiple predicates correctly * Fix incorrect setting of /augeas/events/saved * Major cleanup of matching during get; drastically improves performance for very large (on the order of 10k lines) config files * Small performance improvement in the typechecker * Reject invalid character sets like [x-u] during typecheck * Build with compile warnings set to 'maximum' instead of 'error', so that builds on platforms with broken headers will work out of the box * Lens changes/additions * Util.stdexcl now excludes .augsave and .augnew files * Logrotate: allow 'yearly' schedule, spaces around braces * Ntp: fix so that it processes ntp.conf on Fedora 10 * Services: lens for /etc/services (Raphael Pinson) * Xorg: new lens and tests (Raphael Pinson)sheep16 1527273641 1.10.1-1.111.10.1-1.11augmatchaugparseaugtoolfadotaugeasAUTHORSNEWSaugeasCOPYINGaugmatch.1.gzaugparse.1.gzaugtool.1.gz/usr/bin//usr/share/doc/packages//usr/share/doc/packages/augeas//usr/share/licenses//usr/share/licenses/augeas//usr/share/man/man1/-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:SLE-15:GA/standard/175a250a69c056c4491a7796f69d0a1f-augeascpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a474767d59fbc224ae1aad9ce7dd0dbc02652c32, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=60baa6081a120c3a8b2fc5d413cce940afbdcad6, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=efb233612bc876280b394f4c62161d62efdd3fb3, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=c45debb6c40734756f61d29279a2e4c6ceef5ecf, strippeddirectoryUTF-8 Unicode textASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)! R R R R RRRRRRRRRRRR R R RRRRRRRRR R R R RRRRRR R R R RRdm:9k>wzutf-8d70de2eec338bcbe5aefd3a94ad3d6206fd7bdfc10f28c8d5a87e982a5fe8624? 7zXZ !t/?] crv9uiQm侬wz6<9HsRjB(/=W _(t\J;=& pMԯ ڗQ5M$ڦLK (}!'Yĵ}ij0+ث,jՃg@^aֆi* ra>{;Zv *(26ـav:๩~f % Nj.Voߠһޣ-D1G.*e։ $5>"m\ʵtLJcgBoa 1nIGU(5;z:Bnf7*ФbVH8n%S.K (L.(`)xBl`] F""!Eػ+˶rA 1K IKm⧧g|-}"_pcKC_4uh ]ch9I)y=n .bd%6 >a^yRyq#q98\* =`3G=]ʰ(Q@L#63c I .𽫕ɫQTo=?.PHYX> $)NխI"5}?Iܱ6+H&D.#S/eG#AHwb3|uH>ʑҥ|Df\X);ۘVf"0jrYa::^|j4WlʵwaE?7>xE﹐5W GEoh䮷(4w*Dv7Bu.}H$Y 2u>{L6/6ͺ@$ <:#F9aQb9 NK4ߧ3N9k~dߋ01e2j 0] 10E.t3J-I<=h_5=, 4iq8%:iMVNo܈.бwwY-Gva\nX,UkHJJ$AI:9Zncltz ;8zoH|-=6S;[ږ 1`*>tBJ퍒#.?e|>Bn矷> =1Ȥ[>Wt]P;7)jJ8<}Ԯ?x(F FK2#TL7 fM1q㥖~QNVLQ,PL%F+QjJ>h:q&;>,8Q Ib$;/OASҶlN`yCKXɅcfPA_NWi_UsyJ12)ߛsfr#0uPD^sIMwƉvt<'b4׻LBm M]D<*ۀK}NP>Fy(ŪWz‹6{SPb۟ٲy$BQ΂S2k f)淊s`:1bu}ET 3e] paMύZ?JԚ1b0V{j$6f{鬹'&Qd9oM3ylt֧3gM.sm( h^ ġ$g쮜f6?\?mD*Zkl Ogb% z^'{"Kɀce*?6x^:@P`mT}aUgtDVݳ>y6/i <霏Xz֜/V ݇pۡ%-1_rI3#+A[#>@:N`2{nNuo_>n8v~PV.2{!n|R(+0 = ipkf;re8Bτ2i-k{p[ ޤ~itt`,/f~g^H˝5`aԬ )f|VQ#|w^[Ԣ^œ&b)1߫JN^cNeԘ%& u v&!a>z0ˬY?ϔ[U芲9M>삾XOy>w?Ѿ+3 Ē`{T$/&m8T/N hͤ8y,i1ף^W@-~llwd>E BNXeeQ@FL1iA⡕Vu#3!26$JSi#|sO%*Ӫ{X(;n<)$pW'}) =yL:u_UvsKA*7 0ہʤV v .O&}C?>_sw5sIq~ Tg r+<v?η[Y@: ǟ-RY6F-WεilƖsڴˋ~٭i 2(?~zS"jL(ӕh{Ou8T@9!C~ a@L5G bpc̚ޏ7Bd97 L;9d(p "ǜ=1=OA=Hv4,%b|m9ztQ79+,~:A %FMjU]$ѕ7^3#80k'IRᝃdV*+/H #y7!x}fD ~]nf` Z?6Z6'nQ}3'7vIh/Z/;޺!ȚEie+Guu.ss+RUqT11X3 eN_DT\ Yn*T#ήWOOʫހ2ձ׹I(1zEt?H!1apm8msu(0Y>Dcǃ9-0feXfJ "g(C딏f 63$z/zF)EZ*H/ή.EejAmm/{ܞl6+) e=ZdBbu+d!4ײʲj5!֟qG4.2֖u[ɏXwؑM^;੊̔ ])*[Kt~|_HfPr<ׁ?T9ndWb')?dC*2ctO/~NjUs5=RWAh,(!^8I*눑)\BC3^{\V!n`qY;tKo __aoF/C矑dwo@RU@[H5WX\eW)x74?\'VןIN O!B|o/Tx61EzMKfu.aL$-<?gSCy;F$^lÚB~!CZ:ѱWb(pwKY;U^XsExVESeTvbk$bf()@亥wT]"Y|Q1;JNykYM{+n#u+Yn8J$j.ZD.A|cd*]jvTC4\@wш*n'$1=L$~ Sj\rLp"Ƚ?sWM5ʼ؏uLmf wPO D߆3iɑfZ)mdV_>glUUOpWgNْn`l$,rٽSEv6d>Ӊ,Ue盚+kV`2؎q^,ilNL8/m1[k}%13rυߎJ庥a;beӄ2sE#H{m; "[mQ6E]*DL(LkdWom2Y˃OR8zok bR"}lS)&6TmS!2o]TOM$w\!@ F(}Tf FtB(TSG ^8EM .]}KF=#}nID8Xt)xu:ެ;} L>#0 oGqvAy~To+.qu:b{?PnʚOEqSS}Ѹ 1 gmEM4P >x +˫ ߱'5!v Ȉش4RHzK*_K0=PdY-L ,POCS-ۂ*&Ԩh%Mƛ+ 8o"> |K$mv0xs\`yd~!ECUGץJp^`l0a)ѳı utwr:EjJ7`pA& KA)uhR쒄~B,*Iޠ`U) -y{|Ԍ/^y|U#]VeՋ` 2c;!Cz$Eר9DȎo?Cyr}X/R(í"Y j_9ZmsHG-RI3s={"|/Y^qãnΝZ1=d;~眴q*  "{l,%89=Ls@HcUUS+MK3_ɮL4<m8fBTmrr݉L9jCCkPBUgM,-ud!PJ݌ِɠt& 5ai^Nզҳ> ÃЛ_4% 2RP>÷'! tlKvYoGZ̳АlRcKA4aZ)<.I[3AF+D:>Rw%Ocx\F@hzk8gcRFRJR9=Φ%xwVoBl24$~zU4F\5^d3SIV\>q*9n1bQAB"Ev6џi'`pcn>q!Qah;[["hDE0#3ѰYT;֞i"ܒyn v'p6W  ^ &a"cIE&8LmP~΄*i0EcaS8,ӃmgCo~}iOX9ý1chϸh|*Kd*d%7&O~;<}z95_kVx>D$.Oqw/׳4xM Ni<rJ^Ʈ_*Өh+-qb)ML[O[<--*X1PɄ2+V5?ZSpq0xBFQl8QMuc6z"U5P׾F&BDv!(Ϙ 0{)9{!ג6pv]kiHAU YS@\<U&h:#sf`&CEs C0vRgn==&Csf;YpO$hñV<:sadiDkD-nz̕Y uZM0 RL*s4u{= :5&`4?np5>zcP(vԉ[EB S~r wo6 0RZ. !ηbޚδْmH.J%ɢ1SBvTO#LkH:I`<єA?9О Gj2&Ƅy6 U?E.Ug+bB8y4K ,-T0 w(ProȈK4ЎcH. 7L[G'0'3(v }1g2cؔ 8 oN?ݏ QL<ܮHVzWQYSvAa&~vRj8yMG/g*WcyֈNp'}*Xd=^;ձ2-+%hJ1f#p]nQPIݼs[`&5=OS -گ&κ\}MgצuAV?V *;>( hqJ4g}.] 1q x_Ef>!EU0Qz.#;<&ͯfV 2GV)$a.ۊy|Z$UXRkcE#dd3#0:vx=MIGӲf˓}Se͇MAObFL%6r{tOBVD(s+z2,#mĆem]PA OQ H-:CvĂX.\̞TpvG驹5ϝS?dqOr; ۻG<Qa0T]O>VZ?rIbQ>c_H'P@DΞ^&>zg?To )Zd0͐ 2Ӽyy_u?}ȴQxX|j׏}ℍˏ_PSl ='{ ln^@"uִ^r?`Gj,7 ^) y<[[I6s{{4]\hya쌳+TÊcߴW#6sL2 ]}osqI]sGӔ(45in̢D40n O+|"h}8.H2'v/B;ɍ1El,a{;k$j,1RIqj 5J@μ ,Klb׶'ԕ}i'O |%Hq/W_PCMm]#He&bX='k.3QG ݯVZS^XuDSBBf :wP~lTܵ[H`>}BĜn-ZlN%w+r@WQ .3ِ Ɣ^`j0Ѷ |72:oa$|KS$|%dkmk*o{H f6GŹ8ulJfy AJmaVӣ6!֪dMM]`%,v Op; ݈XjwdcFI#m!GhOT7Qd"9J]⠍!Fmc{@_+0qvvgFU0#"&7q c("guڍG2.?5g^2ɄaQHkޔ,pH~'c+nޤ]2QQN37/8zH)ԳfeV^ ?n̚ಽ\[ [ءn{+Ra /IU֕zIOFb] %5mD:h,{YSE1iIj/SfS$WjCMF)+#*hvik]!p;l 1)&u{xhfD![Rhi?Yɳ:넽ZklB$x1˛aq-%. ?$[9A ̳2O>qq_߉Z`#+g4, C0} *XTᲯI/GySrhlXyԄs8Ci]3RFt6S7_]||i",mdVN~{nT%nJǐI ;Iuv5ՒW'9 kwfA8c"8~sZ=d8kKI?xC܁..|Kﲚ)h5BA#BqGΣ*&l&FJ {ODY&ΡQݚF}@Z(BKBxI]E  ù a_7%>$WwɍrEvy eCܨ#mhRd癙_ΙIX]r.yc O~M̢f"-&묲"ώ檨U?eGQ5T1<ԋS?'eC.H S/>< nC(Qx[gf4Wj #Q;'Hiʦ7:%뫣 g:lPNIob+KmS7+LLa^Qx-阠.(}E6&3(D<0⤏a#*/tnL8 vv2L1;@FͰh&ˆ~9G |C3>pDr0fmؔ| ﰨ"|/_f&Mʡnk{3ȯT$0W:NyK!jsd:/\U?;$ Rsd%n퀼>Uq*ߑ̶r n˨极2&c*;m?MT@3ᲐәG(T~'xH3:yȑ*t'heRSp7kB%lTvD"Rҥ 9 g,{Yō E9ޖ6XtI(2B n9 }\y_2&`wV;Wy&jX}1g2nrl$]CJ[WCEO$]Nىti@O3 5! 7biNi{`? h\`/["ӵA m+Ss;y}2#5 Qf| O#Р|)i{u}{Z9gTS)>r:"wIrFR[% 6I|~\ݻ‡d% c.7{:)Uo{\5yFbqge ,?:F7zVO=![;^Gb10#4=;y?M&*ٛ$$ IJD2gtL|̴Ѫf]`%vK4:xbѼD7P)1-oݚK/cuR !(% 1RkNdS9Cah_D'QB}@.Y~F)b]c@netk<(, S- fo!`NZ`s%3*Po)r]>>~FW>f!g66擄^dO'y2Jȡ!d{&]LL=wWro#WAX5 &t=ʀY<eh":T9ySRXH`(nwfbyaV3p)D|(*/AwsJ[ ;EB#gTB H anĬ-/ęLs|fe`Z\@gdWV80Lb!Hy_*^bE]^3Re5fAߞ |3fvr}='i:č@N=~$YpIsu&U%D_?SWkG&;/I(Q7C.U$2x(7&XnFx[p-_C~CZM4^ZU9.{+%Wc./(.^![`6ƮQY8[*Vtu%DfI4ҐR w XfPVUnDi[,>!w!60T9!0L6crGJ_!+`w'K4;99e?)]c4{ptH[]2Ar\oR@ޫyy֝ҜBGTtď l+T9jj~,UtZP̣ڙ>SLv>(M9j<}Oֵ7}J|B7eIHdǪ`SLwڪxAI]fp5s֔)0GRNR|al 9ЉňKr~:9fv%&/-2MB6 ,Tm<6OSMcaSE򬔰ΰ#6w kC BxF !A֜nCwc'B7-zKUޚo7W#.ŏ]>gK4=O,4P'k#J՗?٠A|5"D;c BZ0z݉҈ñK|F Q ]}Qr̋fjWw<.:݂inE`VgF_5}Xo M|WKBBNh <RE:̗*z0ݾ4bMw}&9Kmt §z`>hy/Bèj19,`wz:% GlWMȭ}S幠[ {z*QsDjp š=tB6m<\(PLG-KD+J4FpqZ?n.쒨cZ^*| dҗ"ƺQoaJ@Xp՘|v|6LC IbIiz13bکvβ  Q+MKV֢=6˩zmall6-UZSAg1[xyᦎ NԔ5Aj37ч?t_>bpw2)N1}v>XJwE-*+W`O*Kԇ822XD`Dj^.#W@Z-CDŹA%Hdz1gy8X{9{fPN|e3`(b-$fۢ#MF` ~nIwNv[ -O,ӮvLRi9Z1fC=R[ᄏ&<}F/ |Sތ9‰" -` Ç׳YdG# Sܦ'^ ]B\Ưk{?{pDN%5[8:k_92n9E%V N)[}HTֺmm]ס McmAt/7gqGS*ǩK&ƀmQxs@Nc-zj 6;?F] %c^j9ۛSs29Ue.^ B3pO$^8}OԔA/[K:o|ˊy<\˽?nwSr;rDnM/ s(B/ı4Pq@zoi ;hHx,ZGbj:LkimM0p!+5O=1.PvkS`CA=uijrfG}B2܉M: )$ݰ6hFW7TֆюI[,x3^`9 =H+y,JST+PB*C,*3] לք0a\l۳廀B9Wۉ 7`w鄂}ee]Z{rMAD2/X)! z=Q('k1KNj㹺{+n]^}=j<=WBAfn!I!&ً]͕в JL/r37JaO UuGTȷ _Le^% J'<*E#-H1$oӽ*?UqѤ WǮ9|vo#FE(W!v 3ΎQ`aR&d?@|=Ý=˙XJDȺuSK15gyO0!4`Vɍĺi8\ 9LHlCdN$ Y N$館y:^vu"+BֵNy#HE0Iɞw5_}v\3_EM}:؝V갠Ȏ|x$n^C;^.=/,Ԍ{ǣ?e^w &qg^y!Bi/h p5K Pnj+150 W:[=.|=d(a0kx܎'KU\QNP0T748<=>Ձx# fe5C 0,e#).ޕ`T*DtJm0|R>k%>)Z)@Vu9@/{҄BC"\8t 7X fuVQc`]a)4g#'et&Bzc( \!; hv׵b^Uzxz$?i}sn'iv8ЅF/;W98pbh,!HDjN jKpĭМɜ(ZYÍ0Y`ץ3ճ_xH^,םg 7qw= <A|m  u\ע95^胳t;<%?0хHyƏ Ne"!$s j0]2j5wF^X?uU [[r#'Ý~9} igk =(|l<ÔJҷ0Z8 ϖAt7I~ ^'Oq`DZ/m*Vic5ll {וe'=Uɧ \9B|O1190l-o>#|=q *(*g^Z:QW&N$Xo0aR'Q \jci N1tal/n{wK0f͞v,,ެSQ)QMf[T7Z-:^l=fȯW,S,EN>v3|@DD\?rRڗe/_ CA26PI=ɶx_p6W!5r',V2YOQ0+n}<i8 CNG fBq__Iʍ zS.ޘ'XĒb굴<1A4 CCNA2IR°GA;Nhkx地&lQo J74l0]:EfzILYXl9o1|DпB%?Uk`{oDHɹ"Q]vaa1?5OGCŋ! $e+h95Q/QcFkiQc >Ǒ,- Ĥ} 52]k t}\&{̝V3}s||dub;ٴQϮY^ZT%FOb7*H[醗ˊ e >}mך1 3ϖ푑?Y£܄%Vx,eA2nysu)ҭ5XAʋSHQ;{'pXL٭1a4wDLv|#\ҧa| .@E<#z&ڒ>U$ӽM=:̭W|#Lr| ?o p6 %ZOu5DDQ>r9 1'5Ppnq ht" UlȪnAK䯢P~WX#(vBȺ &<-50 \sRn ޻77mkSsWNBivEss},S ́*E0IXz/rO0=r/:#:OQ #(3ZD_V@Eap?QEȖ$ǼsWf~٧yYi9u¥!X'@~:2Oݾ&s*Qq/^CzB&K=p#L]C_%F&6h2עXkFk:8Onn(Hʩs-HsZu8X. ^LH'[][ 1^ *&PF'] ٭qQߺC0pL%?8'qA6+S[J] J/{~b3sTU8S1@!+hLJ^&A~Pb؇x_7#ąkӱ|Hɗ@amBߝfScʩ^ZF|K d 땗$!'y#bphܺ]6ſd+VJzicP0sSJDތF%wb6}߇Zp63k8OroNWpڏ/BCsRqujR9.`D.Y0LKޯm4\'ЇDwv[5VI({2A}詶+b:4r]u閾L'T]Urv%,adەٸPHo#?|%m/>&RM Un~O]%7~'`!C:%s3 e)hڹ|Fas`;$Gs5UypwGVp,;ح"yC 7F|E/vǰT}(iIdJz00gr=R[$c?`xpqO钄e0&=KraQ"xœI`'FH|}u5THzL =([͂k#-ǯLX%fLG~>ax 3'oK.J6;KY#'&I *94aZO^Bg]N9^z6 v %D>[`a>/mrWw4 4 *  0+gzx`xMfQdx1u#euڛ;o;yoNJ֊+.GKvņU(մS9 Q̄eB#73sAo@^\g^LP[~:ALκ/^WI -w흊>aX?.3;*l CKd+$ꙏ(d` I_{03B9{j>O$vFսONkwxN`5 ZU@cB0̶7VyQ  ҽ?w(U#Bf%jQ![_b11Ԝ9z^z3}yD~kMu;@G>,Q|wC` 9ݵIH$XzXHBf/!"b\ ס۵g)u|9<(v( X%8uOpI}_pOh\m2u+o-$` [/ߘP,mX cXmԎ$,MfK[Xm J>1U&hvz(SlV,鏗0QHTv?WS^԰rX;&,>ljG@c-e,/nGH'I]&Qݼ.b%9۱%:'[=~VQ1P㺆Ke5v7xSY@Xflſ(6e#naC_$Z\:V !pah)*~%( ?&Ͻteht{ _`8R-'-6be+G.`s'%6-x:T8n~w¨ m^3QtOGStӳe۞8ŭ\h VdIʐ7}i;7]f-c'Q.[8-hHy{u *!g"L~oKd[^`d ڕP.}z2-16ǿA rE$c2_=iHm!9iz z1'zfY_K8aIxd ==Max!1Iէ0:L4IDW0ZH[j.,OL ՜|'Dp\]Dߩ{=(R&_ZsunRFS5P3 gaHÈ#MLވ%!IS%wZyTzɋ 0CmKw4[åW>3=_tjm$DZvI*Ǥ䛖E\ cȩI[mhw %SMlpK-IeXk_Y:Їψ{|ޗg ФL:$Mp.\L@_::0yy䱆3`g˾Eî/dT_ݟ0lOܹz4TP 5M*xPkЅ{"}vnqمm+lW_ׄ*AvNhxMi$YLígק=kr|u@lѻ: @'v[&A/]`Ȩ۩ߜß?&'<6$ȐO "Z}O 1_# qk6r}7_5_1ֵdRZzYC19Lh< |l A12*f5w M<>iRs{5fe-vjъ^>v^&ZzpD[]pbC=%`N=q^C8O#$l8KݹjeXi GY|ߊ{&|sk9ag)׭D20#oDA <e_"Tvp&nF6Qq݆̉>xk2{d߬툡Հ浲䬆 qDܼ&`I$OFJ!wٍ606f]NC~m}?TrP ZUS8+wUWBUXs_UW@V6@g9OM z*ʽjgچ{k ;-}(:+YVa;_VϼbN,#ЕpU-c ױ -l8>TXwėc@ՈJ$IF![î%"(Onzu,i)o? wĂO8 $dOs%Əz+h;g+lsgD& ypGi1Ҁ˵s䡓2/qֈtcZ̠ˊ?݁rOnbt.6h)j)}9[{,_W1KPȁ0kQyt?RyCPVS!FDtaHlw<9xB5~O{+]M%VLz/R&cͅe ÿ'ҸTM$/@ψS\%*߆/\=m v|t|}I'p9OS.O?aCyPOZ#OӃ9V'ρo@ =xǒnZ2];rL"{+<I\-Nnlm#swUv6ҥQ f4o,, !HիkM $ɯ(NOC,OY?=u`$XZѣTδK2o5Y", `UQ2x\G51JJwBr`5Kh{&J?3lH0E[ֶEw>)X'A~ gaH:qnilR|/ i 0NF̽Y"d*C3 xZϪ@AplB&iO]Ķ-0F>N3.JOnm(jb<% rmhX^)/_0{n,0z#+=+3 a w.b,Qz# OA/IQ4 yGqK}`t2av$/$؜F(/^7&T7?,!߼R+ZQ*W]+%a-'9}y与-&LzRSuE#_bn+~YUd;Zݤ^\O]o67_@2$ e,{~e0{񟢘k4qX_0gγرHyU'YG  5r]f+&JM$R=-`23Ij| F*iF\D_hO& 'kɋ3d?Ŀ(F40z .E53Q cԄYyr[w|ᄨ,1")슙c?US s.y&~IrW->9>V={c~օ ,\8.j7p)fU0MoPۻrd8g2B=GMUT"ȯxs &J<~I =et}1oeLdcuO;R$0SwqcwEE7k9(*@v `<4,a2 VGh O ?>R굝y'O8+BI4.Z' b;+D^ߒ;c=]4/Ԩۯ6(3#ZXt??1Y3, vk : Ε "*„HS0 aBw qU~>{ڡZՁ?7 a0KwۭMgɄ92c+nk(&xu:tWoĝͮ0KNhjyccr0giVymewWRt S*6SlD3<%)_46HtK)S^]-``XL6nͭx+J#t'gJEjE'>lEIQ;Z\I<ϵ#W5ΆEkN~yFef行i$E4 ڕPJyKm _\󋚃F3by4 Y*{`%6#`TϑZܛ.Ӣ-Qkr@Aύ745A֥~mrfG`1e_+9p=R-xP}ۿvbNd!jt4\&hnD(}ߡÀݵgz"ϝJ]$Lp!XyK @/TTb~gօ9<,8BF"Wg+ > ,Jh#wLicqr*-a ~@詠|>x(mHIrB!il[4sqdI"_{%/ӡ%K,)KϽ18K&ט+iHYI9Cmw9%mxoij/6˃.nvd.⢙EMrSqKI4!jUCɄ9nUnMO<9 k;l*T8ˤG5=TpEzē/zMM ZZ/&I HS%|P0ԞC|OB=Nd}S^6#[!\uYiq*@d'ɡ^ڣo>w,0'5*aC߂[uy7x]{4XZ, 2@D8laiԘSA΅杬֟O_EYMϷJV F> ESd1w^U֝܍8íG MZI6@Լ݌oRX5MCJ纈Sup+',xb&'qjO3Rh t=S>0!* 0zгU-_?LĒ7Ku$S#zf4Rl4A'RDlq{u;ض 15vݒqFw* pWVn}Tg$(gHxF[8l!a5 jߜVz.Rފϳΰh ]G奟޽C[X)0Gi>樢𿝳N<-+^zҐvnudf;&"#"C! H|/z'r"/"(+S:.~ǥOV^-k]J w^ņN%QW~F0_g/?ѓKWGkX>_2cYQ F( ͘[GLߧIڏߵ2MSr$L轨:t_b&;k#[$@Q#xݢE9̈́Vaai&w:l&~:vY Mu[GP{(/_sD׏ry&CQBuysG@b&9>6HyL~MwNd[N 6,CfyۓZz[fiO @w$xK[q C"2Xt9԰#i#H'.lOv"wH m

4D3_3 BKT!bS7q76$;@ڷ5}F A{Zesdwh|t?loTB3mLK}5$:̑1B3n2}%R]"9@}vp.9IRe˂j`щX]znKAQL>ɀYjö/w!.x%/YPg*6bڨjO89yˆ51fMϏ8Jbzj 2Xg1C^;[`~yQ6 \w#> h*~B`(B_k"vQDte@Gٷ>f?ju _?e1rX=93?@ p]6 _ߊrIdQ]VWP:om615 Awv Nۂ=]:f)Йd*? S4bHϩ_JQz )|%Pd.)f^W%)g+sSgyRQIl%ՆNIy"Ac9\$%)P{M־ ?p~WEb[?])4 s-+&==?W@yD꽰 ܶe7tM~Dd'emCbHgq?6U1p9Wf0pQ- k}Bhʊɓ;c |!}?zn0WHE%_xzmP<%=5 7T*P:]1%K\ᇛ !uj%L硖9Fۍ歹=eTtɔtmaC+QE5DAvx_@twj{ڲwinޱ)oM0P 3q$Z>hnS&`&;)"*ۓղcz.-"n]zThU; WR !c!; tpH[7(C;Sdqޛm~v ty Bjo@#ݲ]1%%lq6"1XMd,lţڿGp1_b/i;Lk}S¾LrHK S F<%ڌoZD=qE(À#R^z_6X/_͚:9yhA?™bT\tbK)M|2džZJ.b%a8?4҄ C\='5sj(SNJ{ ]u Jr,&o>OF:4`E3C7Ml\9kѭ5>YL"Q0xsaf/{ B3 SujW` |X)D@^UkSb|}F8w_U2<\ǥ#`?K*j/qd#wm֝GmSv6%1s͑x>{n:o)$A\@\L1eM_H^|i>25T# d[]f.azYFυN^ꊤ5Mͺu,TcI/BSQRXe}Porީ*;!/9·FK5cU󧩶w[lQ 깠Ҡ ȻA\Y>20^E* 5CecZr٤1+VcTe :I^d~:R;pZ} OY~5bcpfa>YѼTpʦس/ j37h]'O&v~t{clv \F7FWgKeOE4;,. m:.ZXq #p茽C`5&g0fb+oo ,R~6w4Na)h,~\z'Bp#EDgå20p8Ac1\*ThJYDXe: H OhULM明zIwYRbm<)l{R@BA Zͳ6d{&H2UIu7h야݂盽5Mu2 vzǛ|7"0:&LǭV٘*`_Ηњ4=(K&xuD5 X`7\9na.q ]ю!L,֢Sg.=g\5{si/ni1:bw^,+̾1~^5)d!dd1D?IG _9NXr4^߭4L,5ӰD,|3ND $I(7ᚿnDvOuubаp5ʳe&3v3+\9-{ k%*l(¨j%:.G,j??H"|s[I3RVB_os1N.E_ù(1eY+=TD*`DrVT5)㟗M)Ym|9*JfU[*ѴWfkm6#KbC/>x[!:! ^/\F6ˑt%0Ӛxe!/Us&Xq̰&?@XuxO[FvAWOJwIPݤ!zN]-s8Jy$_* &`G,Yv 3oO͆]\K8ɲ{;TIHTޟ +*?sସ'/uNU\`#ϥOgv2F-~[1~E{+qWs{%-9J]E=wZK!3 }-anwZ60n]"_Cļ e)OAKw`ª$=h|O~d\æAh9uSA<J0RS{)Dd-5 AduvDqf#Ȋ@yr z]'JA[I zX$ōWF7[2NcC"ЗR:9`7/AOIh GE{j T`PńJ^mz+"J_t.+ ^.7b x vymp7F)[(HQMh`#D;ETb619/[&1{?< U g@Nqh /[#i sΑIp ]:RxIeX?4}dx#QivB ̤yO}(^@eJz"KHtF UbV=:-r5L>|w4/F =R=ivC>b AOdXuP((si㞜AdY)gYS~̐Bi{ϛ8.'}@yNf$Y IjxWE otj'{b(=5,)ߖ 3|kp1VGsw"p,)CkwĽd&pYmnnF7Ii<69׽Yn^߄4gXc:$"-ߖmţH_}>ut,xTnk+: HKh}*i|Suw'M{6*/D~~Fђ?ʠjiO8X$/q{(`^U|u%lb6~ ]ݖyʱHNYP-HilRZ]ϽZ^=&CЩV$g=DԙmMYtk *Ub5>eOB7ҹidL( s!:bл-ei?E8[Jυ֍ PHԦ(EbB8gq.} aGܙ.'ǿϷ)nzQLC |k8a6*[5rpꗌ+mdѸn& J8+:}Ɠ2at88?7(X <-v}I*FGECGVsI (?dI;v~DIG|h1F5")% qՏ!PỨNl{Jk[j:/k A=.QvsCP*t pWx{.ΟZJwU|[~nW'I|roP/^nlCR!-0u KL^&:YwLT -;}rL_7$i#&FP!HT5C>i/9<ڢ!xb3VcR8 8քz>+'˸!pb|12"YUĠ+ ev9Fzg_zo'ei/\%`qctFA.@ 79${(n7ٶt\ ̊(V:nj!$E>%R=)IHJQ&^j뼄9O?܄SrE^WB1gڰ@nyh2;%^rHwJ7Wljr)j~6I.@ i9TqLwz391 8{[f0]]iR{}\56~[=K |En(9mCLo5:4a8SW@`tjNA/ .`}tg=#WVN[v D5g{$Jm}L] (<wqrL$׍:e8HjeZ?FQIfUhl }0p\ڥS䠶0KG8ofWİ<\\}rT00P9Cbᇙ٦ @p#:S.COnSHwôr+NGi2tW$m.Q֥!|A}prw1Id:MIL=_w蒻bQB~<c"pk~7m):d3#JAƩdqHlbn&%Xܳ~v@ތ2c0U5n'MܑP [Q }4wtᙶXBXH:;fkS.J3Sa3BUOcbbG7khRtZJ յÕO,=jzc8]K -n^^0`dsE,Cum!'m}e~5N#j ,a&jGꊺ=S1FզOVξ* =y[@=&#y #d7GL:@!R}FM<-VdbQQ+.zk¶ŌcUrȐ۾@Uд'C=~9s3Dv#<Ҵ08hcsrVW/V3L飰Kjt+@ALu)Ba47_ږ$LZiX?spz4H/$mO('`NLc<#ʓ'o/JψqUpy<ܛJFձMV§jb lR.x@4@,j3"xRIAKئUJ*>R9]"_zWWQ-<~mntز0g84j3 n\S|6 }Nw+-? ڔq}>Nizf"댣]=8BV r_$JV4!;L -O+uitBg k`캾/iI6HV>?qz3Wh XYAzwQhn<rHg-W\h1v%њX]iu  $J+ďm{jO|S3ie‡!_jrqS>Hedvk|8sKJTm#N{ܥأ۾#(8b/#3]Yb[ϝ3?(0D/Uk Y¢absQWQuou†h`C&?uZC$H5!tKID;NOerGptR#h2WHvҸoqrƭfUQZT3B_N4d<"S\6$VuR4LqTA=18R'G,> Pd׀ n.TCv9eK D|,R|37ܣ9VY}WxN)!N(Ԋ7:#<~[Q12ݱEMj0?0@aTA]XUIǕJDU/>HqƓMoRo֩mpda*bS̰6;b#UTfq4@mh(>j^ģʍ cgl4qak8\txУlOYͩ5C 4^G^|'aarZAT`ڂs({"% /n}v 4fn5Ǟ {-a{-6B/ֳ 5zJC[raH=&=񱄵sXxYql aY =L`o_%]% hXA2>" TI0ea~0b4d E/ ,aQ)PR_d&x25J#r'Ɠ;lk^S2G|Ri{2Q|P_MH^_aq2zi$Z^J 0\g̔HK8}vLoqh &$jyְBAKA[w[d ̧(BslKpabt"?&2F/4j,7"Tڌ֏uM3QgҝJJJ/CF,P,>pP+3c'CuM#g{5ΧfUSm^0e?(ߋqSknm'AY YWI7ы=S艹a :|b({EԾAey]iQ8C2( 2& 1l;/Ac `> $W!ՐmFO+3E@'`L2@ TGS#/0O[kFͭӌ;QtXTCI*$feņ҃_&zͶYV*KCwGa]UxQw?y"Vɘ Mxz@#UF`9wsf!״pKb/{E\k4d`4u2{@(nsvñV.8E', n$J>Pr2ij/5{~CYY7^mR<$k@T;S3[y])O=`$3c,mf(2)k+RO~`W/&Kg-V0T]t75~ґH+{!5(i{ ~.<ӻAAMbI3]Q(VЅY4j`Hԑw)(? s]FhMCCT8.2wuKt*ľ*f"0!3 kU!!|ժ, =W`Cǁ7Ec) E:=tu:A%!3N?đT}A%r F6nɨ2 @xϩciELf08M{GXz2{J:VHӀ(kD! R'i%ON kTǩ2ܓ,xLlH?ok"ϚF3U d_(}K5-^b#78bZaɢ7x^Q[v+D?O=n9^6祢@?Pb-vwg* zOgۻz8v؇j )f"K+ /;IR=zDף9m\N Ğv4̗b6 %1?L :ظ;/n3p89V?\:Თ|a4kuZzCmrCdEybU>{N":_=c2CzzNуˇݪ 7ufəsY<@ZAyΓUn$ XP= .nOZwɀv 3g0 DH ms2ԍFF`X(O#҇,!6N$A}hfMAəCqRs3Ei|ZQ,f5/zZ3O QRe'u/8 G{cV֩#x5"]0h>fE>^/f@pDΎ Ƿ忀/.I{\@:$tK-/МL=N:|Ȱ͐r[SJsݦ=Ⱦ[ ֪CnO<-1"[;wxAV) !0R ɆnkԼŹ%[Z^>"cAivtG&DkDBlÇ#hUR{{9—~`2X' v/D疮ַ&v8>tI SAԱ1c<6`3]1lіjnGw ʷHzg[}i!غNq!KE݂W(6GM=Ⴔ {{Ae/~$MlDEVuZRI&a4Pm]\@,zf4/n׎=-:~ܑXj쎴bJRr`M]cА5 @#AĞ5i)[J48pf1 ȔKq| pFro>oQ8Zet*{t^[_]$X;L5rD֣gInC0HHZ#.X] c4`4-&_65y7K=^.TrIc.Rth}Fz6%z0kt^oij>5R[[MF DUTOӬtk|8!B̓'o{yU)RHO!gRyTc: T a| ˂h~d5`a,"# [P|o8G_]-@U&_tH#ׄjkK9uĽٕ,iOY*?1'9<%3XS\yIX b7]mwo澬G]HrMr?nLA bq} `~аotvb_( ?\L#=۪fb>eZ)73Sψ@C>O펉uk ?H4m궂+4 t1rۘsޞQzРp'⫉*ix&{5TVHkdyJ~O +MS9'e8@ 6n4~0ƕ7ØÖRa>tt8YXa+O4nknON엂ad>ceҀU4uzH%B?3x[`a9sBcU@x i;UQ1=6Z A?mXQaySX/މGft{Y`]fbm9͙,IŠ҈@8)q ||[~RA\=r4S.czuWD?fH } C5lCO0j|roh}-KYU$v&N/_ʅNQ=r^՘quϗ ˑqTEq+p 2Dph%Aժk(sjsƅRWrY</et1"hCbQДkńu.  5,_s؛f>'ױk!Un 3@͖EHx٨Lia<сZmȼ FHgi ?$nMoZK`= xvf#ÓXY/H:c6V^IC5h(LֽQh5EA yrznS9N]MZ |Yrbcg 1CT5t{%Kłӝ8/34^/` iTΝcJl+"PhbTagv9ӊ 'Q% b茩$DR[? ۔~9ȶ/ȀY Zׂd@: PREJHWJН*l1\a/D]Zu'gWь*+ߥ_$̓r={) M):j۩;me/3DW&JpruHgC>J*CTLevbf[ze0zw9؛\\ ȣʠNv\y2! yW#0NYN^V0A^#I&BjY-';^ky qzi'LQ]´ǺZRщXN15YuX6Ff[)jM8` 1bh*@eBPNMS,3 on O ,YYkTcl<>DMr`#t]7 rrK$^)Ki\6:egOeէsD{q,rx(tg0ޝ aG@\6S|Ƣ;uN(ucBv52GZXH4B<!LϖwjeT5);' eBG9M^Yoq|'Sxī["8diq=('37d䲱kfAHsމȞI)j[󲺍^sq Hg/+N㷮+*Xd g+w6*6ͨ'3„߸*L a4jOP5lg݀|Z'Wڱ_uH|8T_nI[,n' zt"2X^]^scINO0Rc I`70Ϯbp̥E.!޻8NxJ\ᑫmlxy1˻Ku 2`@PuV cW?ؑ7!0Z&B"YjX›O*Citם4s)xƣI!ovbYmU$*k1jL@-{W-I% ;ѭ9F?xUBKMp(B=x휪JB\ O#I20ABpW4bi؀ LXe45Nd !# Ҵk+xZV\43#&h%I썕om& 3`G<5_x$qH)xy%QҌ|S9xGGf"7)E" 0D9\8 !7t޹BŭK&$*LcHLŗPqmH(4%)1u;s@kU5pܶ\wpAM4*8 >3lpD Άxthk@V |ϩ \uKI4.?oꮌ[eƨDr6 sg IԾjNYg+*@lQ&Q@5 Fhx@>>Ԟ1>خ0IW eH"؛!I թX!\+7<ժv([7 l|)T2O ~ ֔Y~;o blNǔ-{T#JHm0?wI-EDnp&=lc)dnJb&@$͙?m_nh å)<Ɣ< YZgT 0wl_ٯ#[0G7@DH还tJ{}[]+-CE h#ܫpYLG›*;Jn st1=w[}įYpdo#Čӭv8-.+"\Mvb ;G(Dnh>}%d32O T{TDzWEJ>d]ʡfYw("`A)?]_Is^y"pХXRrLӂShsY7=֢\F=([ ^6spGtu,z>Kq|$zT!G-P]组3kD\6ڌ=6 U}0$_i_%E\xfo.)VCM*Hb 0(<:(דqbhfWߒݨ-1J`,F e&x+7XJ?NLKJU#([;6JIoY`+-UޙF~vR.w&b$WxQU,SecT/93kṅg= $ɨ<BsLu9$[1J}<țsp䨛[p~﹈%*D0zFJJʸ@+]3 1Am!$۰N2#lm Y |:iC)j|6'87_:FDaհ$2,Ӊ 9Lrلiސ,>^^$r\}åm|hz ٻCwOh1u0iÈ'~-]nQ @}߽5;_īsNtBdtj)XGThJk?spV⥭̰V׳ƒJ~>Si>twjEa\q``A]O nL&ԋ;u<` V9 ;yl _)o=|ٷA||S'l5-1UAYGNCfڒv'jG"+ōǞ#{y]e 6 ALRRiq\M(#[K}-.'K;9iO?__]6@ v`\d;9J@ol֩@e T+J$(w e\.-sif$=ύbh6PdW?_U^@>݂"D\y҇r,L"Eg W@̋\$EcpyވJ&)'SuS Io E=Mu"jyrj<G: G?>)oEp1UQ1ikΔmRѪU5AKʐn{W}^3%2P4-5h"mO s&͠V"k$찤ƁED|텮A3FGPu?^фv#T~P5`% mAJqє x^`:%8fz?!YiJ^ J$/qv)6?YF@V҉C 7tuvY8Ҳ2c6KMw2H9 5X7{~]?Q GzLPMR|E1^|}dBN,9JVj:JI$ʗRjY4^FՀr$wZ$]=ץT1D_yGUC$+3 Ŵ/3*"喦G8]@i*;D t7Z@a|03/~f1)c7u /u="> /`MjwA^QUzX(M1rp.yPwQ`JaqQKz sMpXF0Qc#7ɌX]>q{}I=(#!5=4O}")chѫGO54<#xu,sde╁2'ާ3s#5 9֥ȕj'EVl#BBOr:A+`6. {SŞ}$ cS.,A# ?iIm"Ut)?@^^,M֪1ύTIp}4p1 k, /"PhvKbu\ [d‚ݫdI4pH\oIm]E]DOWwFφFTt-F(3C)Y~e]KUьU,yeF|h33rN Z%%fZq+<0:H܅:Ȓi.7>K'Vӿ֓asKPM171甬`CEc-${G?$} !PTyQ!5q!ʰ\W>]7ʝTg? yt+r~#/e3BxajUܼ ; qyɷb˸)`.9M0zƀ"? PJ^g8>T$I1Hf4!XajT=nxXu \Q)i\I<Tqko.'E|FQЦҹϝ怋>>Y!<~3].ԥ57=Y,:zvf[~aOn۵ļ/ŀ VW!8`P:AoDO$Tl&c|y5YfGQb¿/%u {*UnG X3ҧ4-;a[ma5RC]r9?y(IM%]h@"V?Q c7{ U;ux`@A”Ek(dHEVE7͵GŮ\,ȣjT% 3Y̱nA l~Q#UdP<7>4_dcyTӅYNY9A-;.Η= Ka7eM%p4df0P5-y wr5ؘB rMG)+B~ &i3^샚j5-b;Mb|a*{ݐ CK\&A4d->̪XubÄORuJ*"A+6[Hu}z7l2lQ^YHzgiD]$Yq"}J̅ʵj3n*+dIʡ6?EnN<~a.Q.9 1NFjG!y9\:/=B (hуq6:p:%5QmUoM޳b$sWCfIݭv!T ]9؋%c K㘶^t`ATfjQLۍk}f'SvWaQ@!,; ? e}kWw ̓!J~> :W+ãAp QK}u4oIUs l.Fݘ#Tu{25k [4uk!⵽EtDL53!B\D=Fϕ61 5MhQP9yb l0 W4q 4k3w:"! 4G|cUU|}f{Awv 'Uo'Lgфn/[+ \iF?0cB06G^F1"⸢1Caƴ_ s{j؎zx-i&9XVpbF5YgjL=BpfT@~/5'BXꐯ嘑fL+\@ X|k)}y()!SΝw CrEiK㸷j:Xqq M&wcue1f7ca5GUWSYP^*bݤdh'zm n׋N+)˝G4}N8䇐P|yd2.dq^"G=k̇ЛK[T%> 4:F68n慷sm㱲8>p Z1h[,5mg8!ryIL!<˖\&Jh7MUgCp!&gS_ 4uַ^A{[,OArK{@u(9@=L1tb Kz-OdMt0, ߳H;=E"ADB^7k}`w暩AO˽¡$u!<C fO-,ֵ^05EPK] !IEDZҮV ~ӥY:ݾHY\4Qq ]״K=)XЋAYi \d q;dsgrղhSY)FmO|: ~-Nb$7Qx>?FhGCSφzX<{i7c_̂J.Tꅅ?}e D󏆧3+I#ĝA1Ip4s@R3Ӗ+\LxкKSI_l־7NUb[@x<*[deH,^y؍Sd+oLn@HXca)W40}fc:exxg<и}a?]D(+08w\K(V#N7rqӔbl:Ge Q/V6sP) 'dNSO\S+Ok4"hvQ_q:YlߪΥhdP#ф 50- -pגK=p>{&GFS="@0Tl[tb[U_dm7$7O5eAԅ;!L}OD(%\N@ 0 m vl8jj[&36aWL*;c9iRq@96 W\r} Ev:;4/iP-i%FƯ5'm$ Ց,!}E7/sy"͸) c覱~ I 8^*6fz6^,]\I*Jz<,*WS9D$6QBԽ$έ>Pm}騢>uIbprY^ EeQ y(C# 0_aApxk#a}SR#$7k}ݒJup+5nT?Sz/9CMAV׊Z&Zʼn؄re+J_wZəL䋧D2˯XoYY즓I(6(h?BփBrzQݥqv"gko_) `kyyrG5X{u瘠l:-!_xc+Ğ$&quڗIb]}vl 壽U|{Hֻ])+EIV 3I{dRN2ժ2W{Kwi? PKQ.YR٧yA_~8_R6zt*aXbtHw{i3_d1m{b issHx{@sjA^Tۧsm%oբz}٭3Y\p)nۅF*5n"${o*ƎE wADVgf5)>fDyw2k)ᷧ`\dcǽKR0],/&+ έ'Ru zy>,wJɔm%M{2Yz0zIC‰?fnvx2-h bd1%y9":-CV;ŇzM;x.c-H->˘]"գ<ס a}ޞOL p[Yf#=@5!#ơ$Qwd\= pn+LLX@] }"t2ȣU{-v?^Qrc d[G>as 31N'B6TH:lINۦNfxA.6}#.KTv{TR:!ی&2elx!+G(Dn,@_EJ\k~x:hcn"5\95X4F7awD :r֛u}JK5Ȅ!eyH8< P{Xlxns9OKf>󙂭g,Y\IkcGbS /M I@l\a1:W Sb -o*)8ܩ~ PT|oQ0@v¡ABfmλweCjuS,ؖ0T봌#ؽ^®R{H!bd͉OvIR͗KB;A%,.K"oRfFwb&ׄ՘ߜC"G+eRsq,7F;QSڻ?1ަwjq0l) OBޓؐ@Vx]y9gΚRe44h+`xN.pSƷlxmp)qt-NB-BS ZtFsV=JLWD u/GQzѣpb]Rk,1L1~K/tZHs fsO,A01:dA_R.pvb٤]3HBtW)Gw33g` ܘ.e^䮝MvAs3{*c˾9ފ7٤qYc|Qr6MܯF /?C.Խq6׵PZ0~q,l , ~άqYԗ/(ڛT̵4|V_ʴ;R`#T.Qʸ2ʶ;ORr6Id \y{ZO@VVקx_34r(GdةT u>/īSbw )i"$"]HGt$* \ڲKoՆԪ%/GY@psq7Kn$"NW 5YPXZPh]vRM? ('q94`p/5q(oy-UslzˍrۤDKؼw޹`ݑ<`%9kk$p.m`3ze9AdI4wj !e9f.zw<ڇBB͊wa4n_mЛ[놋/W;YH]L; 9ujp͖7HMidL:s'>eKEEB\Qi=lJ#h &+ؕSk'ˢЧ˦1RѭHP MH(@2D WaT p~$DEƜ(×>oIF}h2:k^@ >LJ`}+ecVvСIHl |K03; HO-˨r0[*wF^gUa xNX%4AE``icј-MDu9yeW_DcE' &b2,Y9l!DXR1j)-n6{.R9 >Dr4 tޝѴEL_rQ3`mX쥦\7*u߷Y|f鉨IXPD$y1x^EErPǓaE/mrDfd&?^M=Kkn"|%R͉vr<;7}jZ1$bc)a:10˗]C.t+:2!Q;A\$F9O(G7ɐ\p0#^<#Fצ=Yf*ƦPBɁH<ҕ2ѥ|[FGJTpV<u8rTpNJr@%S ~NDR] udT5 ۓ d]x$jS—IMyvFcu%m& ΃Tǔ'f]za!AmʎhSSA?NZ4ŤV[4nIG[#6/=F gqe2ՠv їEEr˙2,X.~MՆg؅=e@NK}5 /0Kg݌fjf׶>ݮ*ɫ飜s!4L.opZl^&HtK zwX QO5S쇵kQwɣ袶OzJYA`mi|SE!&-֣->&hQ5[<d}B3GW~lD&x93ظw oPC##ޭURutMy9]VgnBaSHƀ55eVD 6D"+7 گKļH_IcVemۺԢ1&o@N竔_z!'Er8K}"B3{(A_!Nu yꋆaJK-ಛrԪ=B ]c~9[+hP;a($bGc^ {,dX uRmiTٷP ffGO t&VqbL*ZΜSA=ϸr֢3 ZZ/e}Dgk;eQ]1:~1sw߹4RxgJičĂ"S S/|<>XQ FW>ZCwTcB%E\lѽMX+RH Y/:&C.$~"u?%Đ &81V<®CZ5ey'QYw`̀LlҦ塩qKS0p/j{DcC ]}k*L Db+"E{=,{ݪCEB{QAc!;XE0Ý^+P͞+XU"fYt0n^̷W` K/ڙ=e`PJw{3Y& 1JjfN%Ouyl2YNCg# nGR?3䶷:P2 4EGoL[Ŏ7AG7 ΢fc](3a5M`O^o¦QdeTyj\8[)I/mD jiH.4b+y}B~^ df[k=!-0KFxڊd.5r' !!_ddXB4CYWGv!1Q֕uq֠o7Bաݴ?->C \w*!i2-K~ÎWLbbH.? nܵd ^ ]9'I(3IQy{kuoD_w&?+;K6vѾ/f(`q=θٯ<U\D2θ0, YyU }*"o#,[̱G|ַMk#ne01"5Qr#$#n vDP\ƭ&"Ri̴ISN-I=*5!˞9_._e}ȧ,AK bg31Rп 鎮]I:ڌ`5y>[5 E.k|ٗ(ft7V)*az=M e0Xe SD5t"ԇIɶ o`D]&X]2sZt<.b1*ꥋNb0fgVtv@3.P{r$b5 0Kפv%'u5Lǡ6G0-M[c(>[޵n'#2{I]Zw / W< !|bSdIXn6 I[>wV|S;'ta{of4gӂP#r%*E=7w>&mGB0'1ezĘߚ-.x{C.C1\SE 8Y*Ɋ`í#F iX n'xZ{ Ć1&A'R jLܼKERFZOh"@S'6uxzHx]UXi%+InG nVvK76nngB.>XxjT1&΃1u+KiJyWwlKIމA$H-1f;`=_ZAGҖׂh޾ԉhwv!\%=f{])ӥiyπoǜknAPwȍ*S, 3p9~7)/ƶ$*O`(|`i ,(dodE.[b_uEϐadܖ=z eJ9,CNRwZ0! Kċ7|)A6p*{y5粰vᄼC#PZrEqt5~6͔@؛$U1V6JA [n[kYd>$Il&0A v2ޙҌ$\;1:=D{j<$x])cavIT}8pƛqTf،'fDG\'#:5vt2B饪P#.p 9C@㸜1҆ RG $όS p^H3ЦJ ȖCQL-U(D+Kj r96 2%an+`C טlTykIMϥqO `g_+ёs( "2! t^ӷx,p'[?BDIJ{JG qi;l븨_vbW#Փv?/ǒ{Ǫ 0@} &QӞ|-- <&u#__ȍ5YisxaG},"6"wT5!ppGDM̦Mj%?4'ܝM_?^oø[oݳD"b M'DFKs(ǍfL"83T'PF8.io,>=cZ)9^ NTp& *B3#L;s_`#ۅoS}Bu?ȆxifHR4MpEً+.Vd\#IXF+i!-3kbGQQ-CDߎ¨j;C{x~B\~'u&pgLXZnZ߹(h(ꦕ2Fϓ'czdh+CS͚_x !U,2mPT?p?A ٳkzsr!m\6UŝZ"-AGUM1J *G3ۺC6͵Q=yojW30+!J#,_o5xNa:J@?ó9> bç*Hݿ4rbLRԧ;S˰m}t50񷓦8)9l1~ :F#&Ő'%Jp Y{{E_BU(dM%aR rMhwpG=n£=w YuS}ael~h*6okTɡ>a=9}Cln[DvSfTt#Z2կm![@fҦR/ڤP(OՒ}Gg _3VΥϏD(|5x]$DyTe׶zLW=IJCRP<Ko^bǏOyp1~r옄 zea*,ԫhL1HNJ{ɇ!ڞ.{aEXaY\YYx:W =dmXTTK7FMe*UHq:8J́Gҕ*_?w B;:qBbT} / RAJEhZ ہ>rC=ƳL1:l>ՄbN02B㷋8s}qI;j`uFljy;{ǽXaqlFw-k:hjO-yBۃQiv{EkpHW[ҋ?&STTB4d.!M ߅,ȶr @3e$rqcEa mޓ~=EoOe7#a߁ЂkO:Ri,EF +h_q)]KB$A;Ryd1>2؇بc3:ዐUU.]= A/N$(Pѐf;~z6ە 3 V4La0M忘/d$讈#F={ ~&BrVJ]w'"_CdU"B;>DA[- J,eYl(vuD}3j|WBg{1Q[k O/m洭lLot0-ȎIƊR5   =k^~+, nDI~!Ǹ]buU6^cuKΓDrZhٟa׾J(a ~qb}R0ԣ:G y?LwMQ;4DG4VSʟ,NWYB%Ѳv,b7O̵&`16¾řqUKh ~ӶR!|2 7:p/$K~(|],) &^gJsg鬵p[t9a9l;1r3 0a6@@rZmc+k9 }ްa! ++i}VvnUR4R6v>4V8BBڀE4+ fyaA-ONm/XZ 0Aܼ V*ϴ̂t'ѨF.̭:V}(r)i  S