cryptsetup-1.0.7-10.1>p  @D\lJ܍и/=„4eե^XnVzdFI+e~,ERfZ@*5gL3)ݔ4#y(N!iL<%J}`HR$xNjj n;"- l1/{fÿvlfs"aNG{Or{~oJa2:|7| ϠȬ8#g%35NH%kȗv [Bz`Ґۢ2LzE|A7/.*Zm4af52443718d4e22af0408771c5c450597aa05b9xJ܍и/=„eY@T8m'd^ d\;xȅHrS_D9(؁i#xgD2K:ve&C()6n zR t&zO{4Q*]Ypj<0? 8_em1&g =S݁56hcaOX@k!>)S;Leیl+եN0ɮtxwH vz(՝ Áe"g2CZ2.hS,>>JF?J6d   F$(6?y n0 Z    pB`X(8 898: x8=E>E@EBEFEGEHF@IFXFYFZF[F\F]G4^H4 bI&cIdJ eJfJlJzJ&Ccryptsetup1.0.710.1Set Up dm-crypt Based Encrypted Block Devicescryptsetup is used to conveniently set up dm-crypt based device-mapper targets. It allows to set up targets to read cryptoloop compatible volumes as well as LUKS formatted ones. The package additionally includes support for automatically setting up encrypted volumes at boot time via the config file /etc/crypttab. Authors: -------- Clemens Fruhwirth Christophe Saout Ben Slusky J܍build18openSUSE 11.2openSUSEBSD 3-clause (or similar) ; GPL v2 only ; GPL v2 or laterhttp://bugs.opensuse.orgSystem/Basehttp://code.google.com/p/cryptsetup/linuxi586# hack to catch update case from aaa_base/util-linux-crypto if [ -f /etc/init.d/boot.d/S??boot.crypto ]; then touch /var/run/cryptsetup.boot.crypto.enabled fi[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup test -n "$FIRST_ARG" || FIRST_ARG=$1 FORCE_YES=0 set -- boot.crypto PNAME=cryptsetup INSSRV_ARRAY="" while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 shift SV_B='^### BEGIN INIT INFO' SV_E='^### END INIT INFO' SV_KW=Default-Enabled SV_VALUE=`sed -n -e "/$SV_B/,/$SV_E/{/^# [^[:space:]]*$SV_KW:[[:space:]]*\([^[:space:]]*\).*/s//\1/p;}" < etc/init.d/$SCRIPTNAME` test "$FORCE_YES" = "1" && SV_VALUE="yes" test -n "$SV_VALUE" || SV_VALUE="no" INSSRV_ARRAY="$INSSRV_ARRAY $SCRIPTNAME $SV_VALUE" done TEMPLATE_DIR=var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME SD_NAME="" if [ -x bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating etc/sysconfig/$SD_NAME$PNAME..." mkdir -p etc/sysconfig/$SD_NAME touch etc/sysconfig/$SD_NAME$PNAME bin/fillup -q etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi set -- $INSSRV_ARRAY while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 SV_VALUE=$2 shift 2 test -n "$SCRIPTNAME" -a -n "$SV_VALUE" || { echo "SCRIPTNAME or SV_VALUE unknown"; exit 1;} if test "$FIRST_ARG" = "1" -a "$SV_VALUE" = "no" ; then sbin/insserv ${YAST_IS_RUNNING:+-f} -r etc/init.d/$SCRIPTNAME elif test "$FIRST_ARG" = "1" -o "$FORCE_YES" = "1" ; then sbin/insserv ${YAST_IS_RUNNING:+-f} etc/init.d/$SCRIPTNAME fi done if [ -e /var/run/cryptsetup.boot.crypto.enabled ]; then rm -f /var/run/cryptsetup.boot.crypto.enabled test -n "$FIRST_ARG" || FIRST_ARG=$1 FORCE_YES=1 set -- boot.crypto PNAME=cryptsetup INSSRV_ARRAY="" while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 shift SV_B='^### BEGIN INIT INFO' SV_E='^### END INIT INFO' SV_KW=Default-Enabled SV_VALUE=`sed -n -e "/$SV_B/,/$SV_E/{/^# [^[:space:]]*$SV_KW:[[:space:]]*\([^[:space:]]*\).*/s//\1/p;}" < etc/init.d/$SCRIPTNAME` test "$FORCE_YES" = "1" && SV_VALUE="yes" test -n "$SV_VALUE" || SV_VALUE="no" INSSRV_ARRAY="$INSSRV_ARRAY $SCRIPTNAME $SV_VALUE" done set -- $INSSRV_ARRAY while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 SV_VALUE=$2 shift 2 test -n "$SCRIPTNAME" -a -n "$SV_VALUE" || { echo "SCRIPTNAME or SV_VALUE unknown"; exit 1;} if test "$FIRST_ARG" = "1" -a "$SV_VALUE" = "no" ; then sbin/insserv ${YAST_IS_RUNNING:+-f} -r etc/init.d/$SCRIPTNAME elif test "$FIRST_ARG" = "1" -o "$FORCE_YES" = "1" ; then sbin/insserv ${YAST_IS_RUNNING:+-f} etc/init.d/$SCRIPTNAME fi done fi test -n "$FIRST_ARG" || FIRST_ARG=$1 FORCE_YES=0 set -- boot.crypto-early PNAME=cryptsetup INSSRV_ARRAY="" while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 shift SV_B='^### BEGIN INIT INFO' SV_E='^### END INIT INFO' SV_KW=Default-Enabled SV_VALUE=`sed -n -e "/$SV_B/,/$SV_E/{/^# [^[:space:]]*$SV_KW:[[:space:]]*\([^[:space:]]*\).*/s//\1/p;}" < etc/init.d/$SCRIPTNAME` test "$FORCE_YES" = "1" && SV_VALUE="yes" test -n "$SV_VALUE" || SV_VALUE="no" INSSRV_ARRAY="$INSSRV_ARRAY $SCRIPTNAME $SV_VALUE" done TEMPLATE_DIR=var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME SD_NAME="" if [ -x bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating etc/sysconfig/$SD_NAME$PNAME..." mkdir -p etc/sysconfig/$SD_NAME touch etc/sysconfig/$SD_NAME$PNAME bin/fillup -q etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi set -- $INSSRV_ARRAY while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 SV_VALUE=$2 shift 2 test -n "$SCRIPTNAME" -a -n "$SV_VALUE" || { echo "SCRIPTNAME or SV_VALUE unknown"; exit 1;} if test "$FIRST_ARG" = "1" -a "$SV_VALUE" = "no" ; then sbin/insserv ${YAST_IS_RUNNING:+-f} -r etc/init.d/$SCRIPTNAME elif test "$FIRST_ARG" = "1" -o "$FORCE_YES" = "1" ; then sbin/insserv ${YAST_IS_RUNNING:+-f} etc/init.d/$SCRIPTNAME fi done[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup sbin/insserv etc/init.d koK8g Kg AAAAJ܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍J܍d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427ed10f687cda63c5154318cc6aa8ffc181aacb4615104f5f98f50e965a8c9f549c161ea4129f59089122c38ee6009ebfd16cc0adf364267c53dcbe08d604c082fd0b1eb2d63209548cc68e60b402616eb1b9b1448155cdbc1f13062ef63023480cb0c478a677e338030764ca9cac8b79562ea83feec066c4e134dcd2b418cb364f44f2ede28a1de638c59444d3cd3e41a08843bcb849557c67a909acf620a5fccb2b915c29fa03e6a495d01f652c267cb7e06c7e3a7170dc3d751438d84cc6355ff6056e99c14f420f9eca0310ae3e94ed5c21546a415860a36175759fe59001d6/etc/init.d/boot.cryptoYYrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcryptsetup-1.0.7-10.1.src.rpmaaa_base:/etc/init.d/boot.cryptocryptsetupcryptsetup(x86-32)   @@@@@@@@@@@ rpmlib(VersionedDependencies)util-linuxfillupcoreutilsgrepdiffutilsinsservsed/bin/sh/bin/sh/bin/shrpmlib(PayloadFilesHavePrefix)rpmlib(CompressedFileNames)/bin/bashlibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libc.so.6(GLIBC_2.8)libcryptsetup.so.0libgcrypt.so.11libgcrypt.so.11(GCRYPT_1.2)libpopt.so.0libpopt.so.0(LIBPOPT_0)rpmlib(PayloadIsLzma)3.0.3-14.0-13.0.4-14.4.6-14.7.1ĴJ1@JJJ_@JjJ@JJ@Ju@J@J[!J8J0IԨI@II@I2ID@IHYH|@H@HH5@H@H@H H@GGPG@G@GNG1GFҼFҼFzh@Fm9@F` @F\FAFAFAF@f@F@f@F; @F1F-@F @F@EL@Ex@E/Elnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.decoolo@novell.comcoolo@novell.comlnussel@suse.delnussel@suse.delnussel@suse.demhopf@suse.dejsmeix@suse.debwalle@suse.demkoenig@suse.demkoenig@suse.dehare@suse.demkoenig@suse.demkoenig@suse.demkoenig@suse.dehare@suse.demkoenig@suse.demkoenig@suse.demkoenig@suse.demkoenig@suse.delnussel@suse.delnussel@suse.delnussel@suse.demkoenig@suse.delnussel@suse.delnussel@suse.delnussel@suse.demkoenig@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.delnussel@suse.demkoenig@suse.dedmueller@suse.delnussel@suse.demkoenig@suse.demkoenig@suse.dehvogel@suse.de- boot.crypto: * /lib/udev/vol_id no longer exists, use blkid instead * add space at end of password prompt in initrd * fix autodetetection of root on LVM on LUKS (bnc#528474)- boot.crypto: more changes as agreed with the Debian maintainer: * rename keyscript variable CRYPTTAB_DEVICE to CRYPTTAB_SOURCE * export list of options in CRYPTTAB_OPTIONS- replace patch that quits on EOF with upstream version- actually hash=plain can be used to get raw keyscript output so remove keyscript_raw again- boot.crypto: * don't use hashalot if keyfile is specified * to comply with Debian, keyscripts must only output the password. In order to allow keyscript to use different methods to retrieve a key, add a keyscript_rawkey option. - cryptsetup: * When reading no single byte for the key abort.- boot.crypto: * fix test for keyfile (bnc#540363)- boot.crypto: * 2.6.31 requires the cryptomgr module in the initrd (bnc#535013)- boot.crypto: * uppercase variables exported to keyscript in anticipation of Debian adopting the implementation- boot.crypto: * fix setting options without parameter * infinite retries in initrd * tries=0 means infinite tries * implement retries in the script to make it work with keyscripts and non-luks volumes * keyscript support (fate#302628) * remove the option to fsck the fs as it actually never worked * fix initrd option parsing- new cryptsetup version 1.0.7 * Allow removal of last slot in luksRemoveKey and luksKillSlot. * Reject unsupported --offset and --skip options for luksFormat and update man page. * Various man page fixes. * Set UUID in device-mapper for LUKS devices. * Retain readahead of underlying device. * Display device name when asking for password. * Check device size when loading LUKS header. Remove misleading error message later. * Add error hint if dm-crypt mapping failed. * Use better error messages if device doesn't exist or is already used by other mapping. * Fix make distcheck. * Check if all slots are full during luksAddKey. * Fix segfault in set_error. * Code cleanups, remove precompiled pot files, remove unnecessary files from po directory * Fix uninitialized return value variable in setup.c. * Code cleanups. (thanks to Ivan Stankovic) * Fix wrong output for remaining key at key deletion. * Allow deletion of key slot while other keys have the same key information. * Add missing AM_PROG_CC_C_O to configure.in * Remove duplicate sentence in man page. * Wipe start of device (possible fs signature) before LUKS-formatting. * Do not process configure.in in hidden directories. * Return more descriptive error in case of IO or header format error. * Use remapping to error target instead of calling udevsettle for temporary crypt device. * Check device mapper communication and warn user if device-mapper support missing in kernel. * Fix signal handler to properly close device. * write_lseek_blockwise: declare innerCount outside the if block. * add -Wall to the default CFLAGS. fix some signedness issues. * Error handling improvement. * Add non-exclusive override to interface definition. * Refactor key slot selection into keyslot_from_option.- boot.crypto: * set infinite timeout during 2nd stage (bnc#456004)- boot.crypto: * wait for device before calling luksOpen (bnc#521446)- fix link order- fix compile with glibc 2.10- boot.crypto: * resolve symlinks when searching for loop devices (bnc#490170) * add extra man page tags to avoid FIXME output of docbook * don't pipe password if there's only one device to open * update copyright information * fix spelling and actually stop in pre_stop_hook * introduce initrd option in crypttab (bnc#465711)- boot.crypto: * print dm name instead of physdev (bnc#456664) * make prompt work with infinite timeout (bnc#466405) * implement pre-stop hook (bnc#481870) * remove hardcoded loop device number limit (bnc#481872) * Warn if using a non-absolute path for physdev in crypttab - hashalot: compute hash of empty passphrase if not interactive (bnc#475135)- fix boot.crypto doesn't care on tries flag in crypttab (bnc#480741) - mkinitrd scripts now included in boot.crypto git- Fix segfault with oversized hashes (bnc #476290).- Fixed initrd LUKS password annoyance in mkinitrd-boot.sh and mkinitrd-setup.sh when the same password is used for all partitions. In this case the password is now only asked once (bnc#465711).- Fix LUKS root partition residing on a soft raid (bnc#358341)- boot.crypto-early: explicitly start before boot.localfs- branch off shlib to subpackage libcryptsetup0 - rename cryptsetup-devel to libcryptsetup-devel- Call mkinitrd_setup during %post and %postun (bnc#413709)- enable SELinux support (fate#303662)- boot.crypto: * Fix init script tags- boot.crypto: * Provide some reasonable exit status (bnc#409502)- Include mkinitrd scriptlets.- use /sbin/udevadm settle instead of /sbin/udevsettle (bnc#404875)- load loop module in boot.crypto-early as it might be needed. It is previously initially loaded by boot.localfs.- add support for boot.crypto-early (bnc#355824) needed to encrypt block devices for usage with LVM or MD adds a new option 'noearly' for crypttab, which will skip the device in boot.crypto-early.- update to svn revision 46: * fix out of bound for key index in delKey (bnc#360041) * Add typo fixes to the cryptsetup.8 manpage * Add key-slot patch * Remove O_EXCL requirement for certain LUKS operations * mention luksKillSlot in the manpage- boot.crypto: * check for columns of terminal (bnc#337614) * enhance crypttab manpage (bnc#351061) * check for fs_passno (bnc#345339)- upgrade to svn revision 42 which includes previous patches - boot.crypto: * don't mount read-only as safety check (bnc#345338) * implement precheck scripts * allow restarting of single volumes (bnc#345605) * status query of individual devices (bnc#345605) * add vol_id check script * maintain boot.crypto stuff in revision control and use tarball snapshots of it- upgrade to svn revision 38- add %fillup_prereq and %insserv_prereq to PreReq- upgrade to svn revision 31 * Rename luksDelKey into luksKillSlot * Add luksRemoveKey that queries a given key before removal * Fix segfault in luksOpen. * Add LUKS_device_ready check for most LUKS calls, so that cryptsetup dies before password querying in case a blockdev is unavailable * For LUKS key material access require exclusive access to the underlying device. This will prevent multiple mappings onto a single LUKS device. dm*crypt doesn't feature any syncing capabilities, hence there is no real application for this as it will likely lead to disk corruption. * Add signal handler to keyencryption to free the temporary mapping in case the user hits ctrl-c.- remove /var/run/keymap from previous boot to make /etc/init.d/kbd work (#296409)- run fsck with progressbar (#304750)- run udevsettle to avoid problems with busy temporary device mapper devices [#285478]- rephrase error message (#279169)- rename util-linux-crypto to cryptsetup - remove dmconvert - replace svn snapshot with official 1.0.5 release - don't enable boot.crypto by default- fix segfault when trying to open a non existing device - fix gcc warnings - add Short-Description to boot.crypto - use %find_lang- boot.crypto: implement 'status' - boot.crypto: accept argument to start/stop single devices- hashalot: add timeout option- fix build- boot.crypto: switch off splash screen only when needed - boot.crypto: report status for individual volumes instead of using one global exit status - hashalot: exit unsucessfully on empty passphrase- boot.crypto: sleep a bit longer before overwriting the prompt - boot.crypto: add support for pseed and itercountk options - boot.crypto: skip entries with unsupported/unknown options - hashalot: add support for itercountk- upgrade cryptsetup to current svn revision 30 which includes previous patches. - fix background prompt process not getting killed on ctrl-d in boot.crypto- upgrade cryptsetup to current svn revision 26. Does no longer hang when a file is specified instead of a device. - remove obsolete cryptsetup.sh script - boot.crypto: * drop support for cryptoloop, use cryptsetup also for cryptotab * refactor code and create reusable components for use in cryptotab and crypttab code path * run sulogin only during boot if fsck failed * support crypttab's 'tries' option - add crypttab manpage based on Debian one- add boot.crypto (#257884) - add crypttab and cryptotab as %ghost to filelist- move devel .so link to %{libdir} - run ldconfig, since we have now a shared lib installed- cryptsetup can now link shared since libpopt is no longer under /usr- add patch to support old loop_fish2 key hash method- update cryptsetup to version 1.0.4: * added terminal timeout rewrite * allow user selection of key slot * reading binary keys from stdin using the "-" as key file * fix 64 bit compiler warning issues. * fix getline problem for 64-bit archs.- fix build failure due to missing pthreads- use the LUKS version of cryptsetup - split -devel subpackage for libcryptsetup - remove patches because they are in the new cryptsetup * cryptsetup-0.1-static.patch * cryptsetup-0.1-retval.patch * cryptsetup-0.1-dmi.exists.patch * cryptsetup-0.1-timeout.patch - use man page from the new cryptsetup/bin/sh/bin/sh/bin/shutil-linux-cryptobuild18 125596818523,-.*/$%54DH6"10w)desv1.0.7-10.11.0.7-10.1 2.12r cryptotabcrypttabboot.cryptoboot.crypto-earlycryptsetupboot.crypto.functionschecksvol_idmkinitrdscriptsboot-luks.shsetup-luks.shcryptsetuphashalotrccryptocryptsetup.mocryptsetup.mohashalot.1.gzcryptotab.5.gzcrypttab.5.gzcryptsetup.8.gz/etc//etc/init.d//lib//lib/cryptsetup//lib/cryptsetup/checks//lib/mkinitrd//lib/mkinitrd/scripts//sbin//usr/share/locale/de/LC_MESSAGES//usr/share/locale/sv/LC_MESSAGES//usr/share/man/man1//usr/share/man/man5//usr/share/man/man8/-fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:11.2/standard/ed3b38b8c2f9ff7a066b8e363cfb36df-cryptsetupcpiolzma2i586-suse-linux:VRv#ս(ĄxQFq20{auu_[W`yثkey;h;poY8QTR^[ZzYOK(}bÁDTuG_ym<1_)]Od9, no `%k5ĄV-":6Nu+5=|V$k|ka3LHp&ΦMRY}gƛ5k)벙1{^%y"kA zK~'>pX+cF1˭49( K iE{T|ت OWӣE@ J?1Sm^YE8MOE.A׏H˞ ?_@Yʄt k,'Y%m5%J'&y;Di Er>RL",pZma=˘-80'WCbV]y[#ty+?N?dbpyXj"{j==Ĥ$!! 9-ˈ rٺ~LNYֹimF j-]]3 R'gc~EPawzS>w~, 0I|rU]EBkWGP w7+[PԻdU慪(`^Q'w8Iw(q܎,HXþ>ڰѐH:7ȿAneBQ\>GJkڋjU,wh-ab=;y(zm)Fu<ڤM4݀b)^o]KĤ[Xʶr0W[|T1MR(kLɱN:U׵EURƺw??!ORB7A}ۤ]^ ޏ4;\iVQ|8N93E;` CQTNȘ#j ~e{q{ɴb`΍D}0S6rg;m*+.)5\P9h)NsSYNb_G fh,ڪc69Mc &Ԝ;֝ "1JNF,'R[ b;#GuvLXF''֤Eȋai@wZCfiElF4cc3E,^:P6Ht" Ƞn_ ) s>HepdApn[l'O,n*(m]eOq8A} {=l-?oA`H~t/x|Ql{oMw$&WDKtt V'5ڭ|S_%u=# ؊1*uNJ>L2DA&3]c)G' -sJxb#kn &!؆ajAUF,nC'5FCxT6)V ]!by? A>ԒlM 3/#xJ7IЭĪqoFxI8`Jrx ܜoePL&]!OB.m֟ݻҷhSÙ;wzxO,G786{qs45wx"srcﷸD9[G+l5ΡZ!I\֘F\ECF]fe&ŠtïfLb6v!,bḍtHFVcG7ׁ_V(c^FR׬N 48Jg**Ps7ӓlN#vR~F-)na8[_buTۻw}6+E' PR繾]ic㷉R8s@a1~ڋs64nFSDQFNvv⋹~N^έc1&gca.#4l*ҝJkJ3zMsrz!kjPTPLs̲J-׈r6)d[Ճه| |nKmpO9/S,"AlyEz.Ԥ@ )ޣj0t$u$, YፉYC~͚n3ޑט u'`*_KɮW4,Ua&;}0o+-4pnq:C8skr3Ћ(yM M۬wYݙT{O"6@VXnOWoB97p9R84C>7Q5Bec^Aؾo=9d*sFf>#ah4@tP#g) v7(uA$<49$`s˽ݙȄQ Hr갧=m:84H U_>2 sҽ$Rӫ9 Tf])İw& x<1\濤8.d.?1ǣb0TvcmSSZ,[>Q(>QXKWa+m-h>r9{원4*euFu^Im3^~ĵV;_|8{7Xm :pDzTgCUη|T)`Xύ4~rV#pfQQJ "W1tq: 0~d[c{OڻPq2|Xy<(։[+Q*6]Q0o˜0*;~Ly{zur_:w =9?$.NM?gASE\Q_A|EHEj3#]60rfK!F2/(fp'?@.\{lߣ$YiBT뇎A3PSj,t%ĥ-[gE mxフr<ӈaUbq B2@|Q7Ce:$.p]iՀmN4 T5Y)׽ 9k|̬vՖՈ<ޝЧ5xڄUGlXA>%M5>I?V=oβ ~Ui3(+BF5ݰV"e*K"#ڪg0\;X̦rq%{pC4}8>3H^] #ċK :19hhpܟYuGwu(w8XB(oB3,e8@jʋ&gT[. Uj+ڐm ?cy5wU~~ !%qQƫnOY oLt8IvL[,{ |fAq^yۤם &?jm*YYx;IAhEB0{nߋsGg^JYFsl I RB|xx<ڋݎӑFL6u O^ h5詂&sf]kwq^ˤX!i'[YR ֆ1@1%X @6 rГH@I\O"]so-tT>#jEɜ&gfܭLNbVv&[pWr&\u#; IAtXA4Zb *Acb0=%zwuq._>ڙݰF/i[[ bs/&V$.6?z~2, S 0Bc.1Hpw7^M!m/Zx犠>s9==޶alM_ 0XKI%WrB0a0<#9|7end\[|ipIVV, N.%yx1՝!DsT6_y6+At1ĚZ/¸ܯt]Bf?bXؖ-`mb>An7}Nr ૥D\ПebtUM.uln`(RhLV STOV *.퀏*A|9HSHL;BwrcSS̯ky|^'"P""UgvB"oyp^d4Z=PUY^y>y4 pU <8ŶX#t~!{QxyIfr]l% '/(5UmP(,mc N%P8ɚJ:nˎ)Ɏ3G4&ޭ U> V|-<&;/qſu}ˁS3x#GO3)R|/EŻ޷X?2Q۲s;0-3i_yba.ΌEN?y5 J#5{9u ^CKK &q&Rbը'm}7;IwuFKܐy?jE KUr/RV?˪JxU][OzCiNYP(J$ِ*4cH/>M %zJ}VV=R!ϥP'şe)&;^Ai=qw' F@ P`0~R2R-n%ʱ *ZC;|idv[+'tӲtzlCul]lJR&uƱILB;Gү8\>wy'ˇW2ls ?:=, 2ʿ3̳zh[_Ix`:C20(,uӒ6{ZYIK$N0OS٭p4%Ze~a3OT 2uf,|Dҝ?d|xW"+,mDV;#ˠ=.>صCaE8 =8H6eSak^^Y37IdrxZW eiBhFcm~'ϻ#,<{@݈z'w=A\o4ft X%z$o{VwuMTP34օX%-:6֘SXPQ(Ccs2m&ҬVX-HM]cn *_6ŶbxE 2hClK,yq!&"5c7FZgT|  e<nB :X(pmD8c^@dҒzC*R8 Oug}`Z~`?5pr2݈r@49LHZ-eqL!,7ǔ jp\%CD6L`2o#za}_FBXFl$Ul] BlP:j/xs!4s(=j,O}7TdX 5'f#$度L\GU+1躱F +NTUtHj!t縎(b=spâHAvqFMQ-rNYt9a#쎊L#Vԯ9'j] y}jnpjەB_le7 &Qb<_<>ubLaƳS1l˯U?s-!A O%_L9~ICĠ!"^' sDe:M+F߬ejfY}3وfuM/- ^M&p},E#ӂ= j(0^M6\o㰟a&MeL2zP#9W=tD}32Y:S6Ш E0 v{ a4Hz0%$Gc 68':(a7 y)\%1*L1Kd"&=崂͎o]g '6^?Z5{.@#'\*@@2̣42\onERRڃͶ;x ҴarɊaH\+a?!v1w)tiNck?EvH:=vX[,Kl\k`W<Z2 W4obK:˥\|a`8Dvdz+یͮ]S,iIOݮ̸R ˢBtڳ9ٱ pg *rx:s1)F/L~Z)&p,[:H{DsNJ` $VZ/{5ﵲY{ɺJ2-N\fp4* +.E{#܋\u%FMfWO!u%1f[ yq$3&!ȐbVxT2*ضT^ q;U~URH%$Wr džY?/ULɾ!d%!Hoo8[za8OOcqdŸ`w0uTĚSPC1`wowmgrq2_ 9=R+l톳E1qY, 6}F LP'j1՛o$)#Y}%K'H3a4,d _a3- MJRYt$2:{j˺\z|J-xZ Ci dYWTs,*Mz{(n@ RLem7RA4DZ)aJ9oʙ4 W%,UG*b?tiCv)iuhsW!Om,ªfMq_:}Z)D89+wꜽ/z2OYe ģfAÞ&co6@Zy#դY)X˿VLj #ƒB'BC!Λ9? ~GF!d9(` !b$KҘ}amdpmQakQm}GI͕ZƎ"! -_<aFi"oV f՟fjudC|?`tދWXw嚞e?j;vTb~Mlk"@ODkll/T]v>'YJF1I@K.3#b]حBahbSL9Zdi 0&A:Wbnsʔs>lGdtA`Spy-Ž PPD=,)S5D-c.In낕`"A!q+u]zU vFe3XU߉}Ì%4%]QRN|} ˂Iy& t~D4-Z>"\at{vj0QO/IgNϣxFG z椐tjg2kw\[6)@OܤYje(VX<=aI]9{vF(S9__X|]ҐbܧDbǭ-F %;[)>Z\?*5QŷBkE^] ۢQ{Ab!~ gXp?_b=Qp إ 7`P uHy"ekt9{3DM5w;OT( yEe>iciN05Ai @k">C}`SEsžbmq'q7Z6;thM,߀sTEռ[M~7ukMcpLN&riFbѲɆqYښE3*c3б6ʶ7b5],\sϋX"JL_Apn[\ pcYM:t3[@N@O'orI@l-[ݝg$̝}/7s>MMh7gGʎKsױ_}iB^ =Ϗ[DAO_MH(E+xY#H{6L0i轖3ٔN DӅ8p 127W'Ð &h+ۇC-%<{:ޡIOP?in9 ,XIKJ'<@~}jv#H4!V8PX WvTbӒRP Md.nDtp'0o+gB|)0mAl"Cm?[8URtU<3Lp?@*W銴7N j<.heGE_SܺOЍmDYQDQOksgڝC5^J@ {Rh@N\D3ɵ=/5i!N7wਨWF8(?U yf sǗ>#@??d_ﳑ_3QIkJw]YزF q(G0p Rc9\6sm)aG\pL"iId " W5ed*G,YsjDKj`6p OT)0S$'bg{N=eNF/k':c||/9VdòdK,nK~[i'{YfVM:X\ s|ĢFNʕrr6F"W.Zu^ւG ubhC69{^Źx'/P'&0#55+y:̰itlak?UNAmǚ1pfN`}ȱRuGzA{]f~{vf~T/K2lra"M:\5M-jVV'GL 5W/MXve*҆Y;|OȽ+:ފx;ȥC(m|qYw?st-ױM˃=,IßCzJ O;:S}mΩs,#XZOF;yk L:3Os5yI$YSl1eHn}RM ;x tڗ=o㻙J=2OVFH(3=]2_S~|6xI"Ŧ@+0T,]ۄքA9̙{ZjjFDrx1m؂04 FHOLˢ̦@alx'b[m+mԧ-퀙WDnJ1qw# ޡʃmS=v`:P?[{bہH^Eg]כ b8JS4%2a\qʪ> ֽSCUe"!Be)@Popm'PP;<0#䚹Kz`?qjBԃ}Zz[m}/WܥA&u]7GtZ ̀B#380KfVF,.[k uR d w:7/dcB7? Cq4/N\iBte,-?%r.%nǻQˍ\dj `,LO^QRթUx5rzMnPTJծ1u3gTlCxLc-E@J K|3v);&;䊏53r(QlHIz .a0n{K~ܯL)MP$n$PS5Cϐ{ 3!9zHP hfQLq-5JF]}ʧ'*gyN=uw 5> [7h\o|]Uoŭ)%҃0ՑuE3.%r>|6*tI\%\r?k*;%H+!LHOۋbdkJzg^> %9NEpE`);,4xI-z{QN2rEH~n"HeNb.T[e}t1҄EF'9PS8uzس&a| IN#&F}[h+TENʢO xJ%y"Zp:nSyoxk ƢWb6fUQ UL; R48]!-Z!nNg0`aj.r!-[m#Hc|-U:xM2 r4'|t! ʏKWQVU-DR1xSyV:b#Ry֮r*rAbc}7"mIu> iu7*>‹-]q2X;s*x&3YݿK|9c rcϵ G],$6^ "\KRUہ yW((u21*($m>H(+NՑU6SN24!JH/09.A2)9fO@ꕩbaϔx6=>R]VƑnJp}S{:JAFP- SmG,,*[ ׄ>2R$xl;bQM>30ə\݈8Y\kxm c :'sZtKo% g卋Gd#%Ҟ]ĮJG"[n&AܡGrf.ib٦r$:=:8z?m{v9`BWi Q!W lCu'kRٵ#Ο<N~n-f> d1(SR'ՔYA'UBk.g'EZɅU!4_qA;4^b\L#j_/%u>u|7%C4Vk9K/c@sg3CٹNt;UPӿ2W][<$_QXJ7\Cuouqcc菁FȋiYZ+G.ms9W]Ɔ^^UA!gT^|~4n⍔:J 3F$wߍ4q`doE1eܞpnW:ghФ\!RdNgR@mMh/XXsԿ.6Eղ\y."Xu?{:?e'@F8?0 UN4bO./wW]$o?m<I`1F|*8s6^DaqQQ6*_E0[^07,vT-9I"[̬s촼vUq=]NpŧlQ_k{DZ "^UbK%tM4kwƳ;د؞>!iRm%><0; LXa>53y%ܗ*18z:]0ioEL?PާNkZ.e\sL)Ks13MtFQ`[=GPN;%eg4&2}Y6#,ıN+n7)x'WC] 4(2ֶ-.<C @`6;2iFK,WeNSUȚ*|+Bd TzdٴYDUmTir[8v򗚨5x,=Zth;쬋[Bo DĚ4Ɛ۲,-sNF5 tEQfg.?gʋɟ/n÷ vږL3ErCU<\pFW`#Qtd{Kb*ͫ:*N00x,I (u3"*ypTֶUq4IY"C`~.oӀUⲬF#pїqC[g=dQ ]i_?ݯd%\Z>'I蘆S/H; rn87QӾ='Od>HBB-]^Yܽ6Y)SGez9vfaqoƻ\kl'`XOX̢55{❜z i D0[z:1NP0"j c!;18} s~NR%b߻f+Tmq#k8@| 9='kRۜǼ~p3.b~cEf;Q@#%1@62`¼=݂0Nе 85XV6WPɷ=HCx # .H~ILV-粧ͻf&0Zkmn.jHKJIlנ#M)}W [*}/eu߽8`5:S?ofOIٱ{4mXRԡ빬J,Q.'oBZI>*{P"Rw0+i#Ee=G q'RPM67&B 0mc@XK;u=r\[rx "k^Η{TiQ+ƾsj7B$.o}ڰΨl`LVL!AݔoC~M%{jNzS $3UD.xn7sx&'94 uHw,h8x׈Fأe}x1!Bs٫F ]G̱x2a Z?`,ǧ]JJd}B%M$_DDr1A1 8Z2`\;OYD՟j?7߀N +ijhcAܘĿ(Ҡٶ0!/'C~Cb>".-ɧtpB[D(wm\E캣PحcfZ^*?PP fy+0ՆUxu%\k jc~˖T&_OS*=iCVFPp/RNl(V\.E\ǂ/\FWY詷it cI Ycv<]R%xǀ~?LUbϖIj#zl ضm84ϱXik FT>9FQ; *a4Y `fA& AO?u~6<2+)2`c~k̮:btPbP1rGU :,>D=*AM(qrknNY|YUjyuF=bc *vc-%vqɘse>B2\"j-WgǨg^t2|>˳lܖ{K«4WJQ:7o홄TqbCDSn_1U(Q\C|[/HWr88!8>7ߊ@K7RUVXs ٗ* R``9 ǂKBd,Lq6,Zu1M l~؈^'-RhlzKw3&D&GGb ",q}rR(yE18 G"&HN錗q nHTfCn =hhX:_]$Bl:Ã+/\ Mwn+i7T Ա]?A[!T 5*@C$ y{bXh01ܞyѽGXըUg[qߒtpǏEv+Up^[AdH>o]xmDLMx;Ec14O6*5w z. /J*U< TzW9:aPReט5 | J<ck/$aڬ/4ė=wSd=,1J%OCqhk߻P*x,z z Udn0G$pÊG_W|~IWr -t|9 6hlr:YN CBvb+l1n踛Tp3d:,F/Bt>:^Bz P< Fд+iyX!+^4NktV 'M,HR=,9"=[0J{{#C#ͼg\Jlc>|@ 3lRΙ6'|~0]˩ZF5*ԧsk9C{2b"Ǹ$ vpFndbTߧ()RD EZ/1|q|EQ f7"6Fzv€ ܊'LKrjR;9եɻFRٕ֡Z:`@A4(oC#g5֌vEl˱д?zZ#܅q').&Ѧj)>+.#Yj20jK{z1+cu#b2r!fbB>ʒ9qt&t\K6"{tcmGBвW%;ǯO3g/0bxntE>b#Rq%i{ m5(w$1.&@gWfiH'|k$hu fHaI[e2&W2|SKS_ Iz'9QyZq#mFҡ!LjpW'Q^@J䛲ْ],#rvqA-Eps{utx)6m]&i* ~j&3! Q$eh1vgc |ɐipjy55krc;gAŒS"dŔ !q<wbdIritXrI;\lIyq]W):q?n\g'je?7SS/Ol(};aF$` rM,JPfKv2[4]UbZ8"E/W3-6iyu-2 2BxjvMbqj"&uwiX076G9xyǠc~62ߪ[GsήZc=i.Ʀ! @B>9V}\K9L{mṜ:zidFܚM yAڵͱ&+pwAbHxcN;Wڤnn;s,Կ!s54];p="$[dGwĩi9 x;&EG 습G!aaZSS#K2`:4ivvf5$r!ݻ! 7 wDIJbDlN8)ǰW}^=جX~gN##-{$&s`_* QA]5`gYP)ȕR-SvYad q~S^Yf129 ĆL*Dٮvrh'F_9#u>>Ovc$u w|iNS4.{l>H{΂yJސ-(l2,y[KK\LĹEة{`_rP=YEEY![E;qB>?Q)V#?v@ )A*Εl2vF'/-wl̮MjTcdr@ڲsN* Ҭpw>oRꓖd; ;R/8[/w:yFGĆYu?T;t\HS]P(KW@)C鄬1WָÁ pX2HaۆIbb֜J_X)[@YBqefkPҚ:eu8SKɤJ81i -Y.c|+_t*aVJ)HW-ӯ|{VM@|u5 w-j_E* Z7AxPt +Kj4ڌ" ;7U(S:># _t-l5 }b: +oer$MO'_5r0(\8j!YcCks$sg!!{@*V¨(F7fQ:2%~TA 3ݣk 38PkP󺿊ƠCt4꒾^AR/*(\HG+7A/?g7?d%+V2LU "xlY,?sI^P.?9~WƀYwvh֨:Dx1#n@htjiJgov|7ZJx/<F7R(I1|M_Y쩚71A/5. 2@z=e<*r0d &f0#Qb[0M. Od̢{0EܒQ% P "-(;WY(%`oriP=MiZav2Eȉ0w6)H"#VGmR_? |{}&6:_qSZgM(.bp*qEI5+$(PW osW#!ˑWp`s,#dۛ։5 dA4q^|p8D҂ބFXs]׫JdȒz\աyf*;}u@J̆eA.["cBvZ:tʧ6OFlYp1|d/ KD޼p.ŢI3GYDfCm=+H##gqMzrΥ7w 9%=+֨aݜ Ä<$#_pIc @'Ɇs28س.NƵ\e| 9yZebˆ;,QhAwlEbn1ܨeb޵ASPm!v?,ںS:+2)FB. TbkTݚrjPfܖ#"j|kRȢ9A Ov00g珱2|!oA9Á҇ oC8B( ;}:+f}!eiuqzkWrMW>$eHZуH!cIOUjc' 27[_@GElFpKf++#%tsIس`HäU+>p(c?E+ޑGnae;QyҴ[4IGLe20{V]QkfzD{^ ЫTLfݎ{FC|H^x-Wxԅ}pc&0G4I!IJKsŕcba2wUR1I>k 6xN Yim {1jon1fM1ԓ(ơ칎G`jNFc6Q͘RB1=HEo_,Ux(Z3r3/1I-s-o!LROxD,<k "[f&}SAL G8_XH/H)G- EQ1SHݔK3LW:w%zahݟdsIEЬ z?3^MY泻 WG0d,v@8]km]VdCrT{uZDGH_Gn h>\jKw[B4\ºLPˬUӨ !hO[qT@!%YݮrayRF->}IvCtJ\Gíg 7TAI!Kt1~;z=EZu|jL1Uzf{c H2/Ҳ[%`9$ ^P&SˇA0pq׷G8'(nܛӘʛ|`AblO~O'}WfXE/MNjWqGL@,8 R7 ߕXUO=:)X}-N[YnƸDwCSoHmmZw{́,%ׁRSvz&dwfH ^>TK4 =.r/KrNj:]!Y QC2mFזrN0&\(:0ѾR)_v39_\hʈS7-vg.p'Au% y,dS_LPtsiai@9V]і\s Pgv^w9v̜^U|Shƺme+Љ[;Uّ ]j< z]D3Ҙ2WfUqx74ON) ?pC:/Aױ11w2CjQpJY&Ar+N3Vc h)8x Uco٪7Uj"Ht n9şחMG<>:}iJ`HO=&W-1O'>]NB͠a@V +[2*s=ޠdM$(t`(#}udhE9b +pCi!cML3Ňm(ϲqrW꿒& ūAq S[' bqcvk&n90v   ,0׌:m'oz iEuf_O<ў4U]j fȫMYs^g&њ 7b|B'm,A-0ČJt'h*-v$+Ӎ+KKꠛAP530 FC]{9 螟ze dm6yumk'#1Bih5&K%(V[c34SPyQl޴izق) h» fm猽a=k~?8vkr|RE hP>v'Қx[`zʞ:v@ ]!U~5׫j,8@@*_V F53<_N|hot<1pUP^;R 'S`Ci|1l\.O|;w͹ܤc $ {:0ԏ}Xl IMJ%P ;w">xQ>B4Ï<2قvࣉq|[L煐p{\ ACcnX6$]hL}43~ #վIYp?DGU:jZ0_]auOFN[zZ-nLRź3)ȇO8=@y{KR .riX;KE^I,[>HYTHp Lŀ+Mԩ8! ,iTqt$̈́]E?w^RϷnET2&Yӑ({g;I/WxpNU"F xKCaq{z#%;=}2lChk9X&հ ^E=Nb.TW Z29k~-΂Dp$i改;rSzcRh,ӢO ,~,B˳H%.O2>5? i0N1J#\KG5I׺pi`YꕷC~.2ІmB~I׾iQ#P..炀a$Z} rKk>[3S PZQV9_Au &SNeOV+H:tjs[50GC쥻o=\\_XYT~K30ϕFicҁ )疽uD9uI )w TI Aj}_|]h0ٱqƋ)AY>ث|톗۞.B~ZW#L o! XN C5Xo\u?,漒? +,oQ}-x#`sl/MsQBD9#}.'-Ĺ_`-I΢ʘe/P$j1u5z-T-~,; lՙ `cJy.;wV>Ta)T• 9e<}p [s-,+f)D%(*3vP5a01.rv:T#pX*|M4q#MeMd,d_N;~;$%t1:~'m9w[ҷ쒿;Ǥ92;7S&#=PG|Drʦ@5:ԇ#Oʲ,Qld}K}ʘx,+tdVA4`?egğ \x! W#@cHbϤʡy^?;Xy*1ÜPeoگ }:/܍* ^tWA[b{B2 #EBǷA7~?C_B$E| mM7<xP\PHd- 󩲼Z俊?;]k'(n<Rw.Gh+s;YXׅ(!([F^n/Eb^-܌a Kcfy8 ]\^}J̮Q>G 'w|]*+xFvZqUuùD. QHS߬'>+;Ul9K/Sz?cj1hכY ;fxցVir\&dAuB,!{|>0bHJ EcZGY\.Zp5E؀mNGgd[Bt iy!rpir1yLRoգNâfgC^̤c-O*R)tVG-*NӴzR[hUa%p> S[)ymCI ay Fd/a G%2DHG.n{p}L-(.JOBIF2؞fcaN}+R0Y"NG/{NW(/E+ooMl0EaV+!We(c'<2(Y%'*jsvsvRu;]dN9iY݅`䩃+JҌdžxXmT>P a^7W0] 7}N?'92v\$q/ͩg>^Nn#hO/paa{Ѳ&iL&TuOJnɒBrtMp1P#.w+E80 %# PE3֝kkj=+GpI+-n<{[OjRHq\DvC˘ouUT %#r.7ymW];gI>ǃhȄ./Z  n *ɨ8uУ'͒5DB5U3Ne7BgBMb؛4X6[|uFCؾV]nGjnV kJʏ՚N3+_-AZ]y%_k6+Nqr*%5 JˤYmVէJvr0W?H^4~1d&rUtࡅ> UoyŜkI7M-QҏH<: `Ce eVS)zbeIe:8XA@i+7v'Qcw>rZ^!|D\zuH1"hI0C{=-HG=O'"Y}+ lKlc;Ac2`#)T 5ۺŀ .'q]u7o:kkܭcx/L5%ШD+kLY9kkM-i]H:E҉yn}|0:,GBOnQG$\ &K ^ T&(zaӒ-4pa}9݅/ fMZcD 4H<^&+^dq> G|i`F.sS0R'oPozn 2 _X~︡HN) $!Xsd[4^6V꛴-(pDܝ7@"&6'Gf]4 ~,@1^pk}ވP+Pho?&:Yt05{_v=Ȁ2[0맀衾޻;/61|g"Ⱦ|yg7X$Q@8MK&IYy\ 9yV,%krߨ۴;3ΉPV>pvQ& eC^G5/W ]k.e%vu{\ܻ٘BEφNStJc(px$&}NqM0OG|wC" 'l[GΰYq=7r@_-'h?Т+B#]6د߫&ؕC z{%qUo+ scGD>Gt-Ώ$oveaݧ5ыkY^(zP~^RIgV&N-%$IZԡ@&Ǒ\b'dY%> W{#7٩*#J1^gaF"8R+ju#/'6Nv6Lhaoz#jJM%@Xr{IC\jkxOSd]S=s3ՅhூŲ,$:zqvd",-{aR֒3i`M'#o?tX]QSQ̛Ak4999)瓅qr.t YJ%\2MHk]pMY֠H+nxw /T]*_ 6072HuI+;Hq}>L*h6T fuAۙ5~[%~ ]n臒e6ױLT$D<bۓZ 'ds#qLBڎr8- J̆3K#ܿIWY1Ơp6c5?qY B8Ȓ"Y y2S(ujΚⷭCxcVmEDsߗ)8s=!xgq,R0xd2ad/I q>