ploop-1.14-1> H HtxHFU\  Զ%D:K'6(9:6`n@|< W^b3VT[0127ef275d03699d9a8d37f8d42a5d7213d5c8b2m5(%[>(_FU\  Զ@%G6o ՛?|pk4'l>8bO?b?d   `d       @ 4 (S8\9:wF^G^H^I_X_Y_\_$]_8^_pb_d`8e`=f`Bk`Dl`It``u`tv`wa8xaLya`za{aCploop1.141ploop toolsThis package contains tools to work with ploop devices and images.U tbuild-rhel5-32.eng.sw.ruKGNU GPLApplications/Systemlinuxi386X9[큤U U U U U ff26dd564f83a0cde2de877c920aab4504259c52f2d97349c2d66a096585d2cba631cb6adac62b4bdf0bac20e1e1c920de3ec9aa707f160a64b7cf76f9a1aa2728e79084acbeee945a1789bcad80fddbrootrootrootrootrootrootrootrootrootrootploop-1.14-1.src.rpmploop@@@@@@@@@JJ@/bin/shlibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1)libc.so.6(GLIBC_2.2)libc.so.6(GLIBC_2.3)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libploop.so.1ploop-librpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)1.14-13.0.4-14.0-14.4.2U`U/OU+[`T`T\S8`S 1.14-1Kir Kolyshkin 1.13.2-1Kir Kolyshkin 1.13-1Kir Kolyshkin 1.12.2-1Kir Kolyshkin 1.12.1-1Kir Kolyshkin 1.12-1Kir Kolyshkin 1.11-1Kir Kolyshkin 1.10-1Kir Kolyshkin 1.9-1Kir Kolyshkin 1.8-1Kir Kolyshkin 1.7.1-1Kir Kolyshkin 1.7-1Kir Kolyshkin 1.6-1Kir Kolyshkin 1.5-1Kir Kolyshkin 1.4-1Kir Kolyshkin 1.3-1Kir Kolyshkin 1.2-1Kir Kolyshkin 1.1-1Kir Kolyshkin 1.0-1- New functionality: -- ploop init: add --nolazy -- ploop snapshot-merge: add -U -- ploop_create_param: add flags, define NOLAZY flag -- do_ioctl(): run lsof on EBUSY -- Add pkg-config support - Fixes: -- Fix restore-descriptor for raw images -- ploop_get_top_delta_fname(): use ploop_lock(), return SYSEXIT_* -- Fix POWER compilation -- ploop_create_image(): do not return -1, use SYSEXIT_* code -- ploop snapshot-switch: fix SIGSEGV parsing cmdline -- is_xml_fname(): fix a potential SIGSEGV - Improvements: -- do_ioctl(): implement exponential wait time -- mount.ploop: check if mtab is not symlink -- ploop_replace_image: use mkstemp() not mktemp() -- print_sys_block_ploop(): more compact output -- ploop_umount_image(): simplify unlock on return -- make_fs(): don't hardcode argv index -- read_diskdescriptor(): remove -- tools/Makefile: fix LDLIBS to avoid overlinking - Documentation: -- ploop(8): document --nolazy flag for ploop init -- ploop(8): document -U for ploop snapshot-merge -- include/libploop.h: document mount and snapshot switch params - Build system: -- Makefiles: move -lpthread to the proper place -- ploop.spec: fix a date in %changelog -- ploop.spec: no %attr for symlink- Fix online top delta merge/delete (#3215) - Fix messages and use-after-free in ploop_merge_snapshot_by_guid() - ploop(8): document SYSEXIT_NOSNAP - ploop.spec: complete 1.13 changelog- New functionality: -- snapshot-merge: add -n, merge to new delta ability -- Logging to PLOOP_LOG_FILE (if variable is defined during compilation) -- ploop restore-descriptor: create dd.xml by image (single image only) -- ploop replace: add -k, --keep-name to keep the replaced delta file name -- ploop replace: implement offline replace -- snapshot-delete: introduce specific SYSEXIT_NOSNAP error -- Alternative (incompatible) implementation of ploop copy (C and Python API) - Fixes: -- ploop_replace_image(): fix wrt level -- ploop grow: update size in DiskDescriptor.xml after growing -- normalize_image_name(): fix for a corner case -- ploop_replace_image(): always unlock dd.xml -- {mount,umount}.ploop: fixes for filenames with spaces, tabs etc. -- umount.ploop: fix mtab removal (#3164) -- umount.ploop: fix for file names with a semicolon -- scripts/mount.ploop: don't hardcode paths to modprobe and readlink -- ploop_umount(): don't return -1, use SYSEXIT_* -- ploop_merge_snapshot_by_guid(): fix error message, don't print (null) -- ploop tsnapshot(): fix usage -- grow_lower_delta(): fix a memory leak -- ploop_merge_snapshot_by_guid(): fix error message -- check_snapshot_mount(): add is_device_inuse() check - Improvements: -- print_sys_block_ploop(): print less info -- Remove delta_fops abstraction layer -- ploop merge: obsolete/disable form with DD.xml (use snapshot-merge) -- ploop snapshot-merge: fix/improve message about merged deltas -- find_level_by_delta(): rework/improve -- ploop_switch_snapshot(): rm non-const cast -- local_delta_open(): make first arg const -- [style] ploop_replace_image: reuse oldfile var -- merge_image(): document the function -- ploop_di_merge_image(): remove last argument -- Rename get_child_by_uuid() to find_child_by_guid() -- ploop_merge_snapshot_by_guid(): untangle MERGE_WITH_{PARENT,CHILD} mess -- ploop_merge_snapshot_by_guid: fix ending message -- Rework check_snapshot_mount() -- ploop_di_merge_image: fix error messages -- ploop_merge_snapshot_by_guid(): fix error message - Documentation: -- ploop tool: usage formatting fixes -- ploop(8): expand description of snapshot-merge -- ploop(8): describe replace -k, --keep-name option -- ploop(8): describe restore-descriptor command -- ploop(8): describe snapshot-merge -n option - Build system: -- ploop.spec: no perms for symlink -- Makefile.inc: add VERSION and RELEASE vars to specify package version -- setver.sh: modify to use VERSION/RELEASE from Makefile.inc -- setver.sh: add -o, --oldpackage flag- Fixes: -- ploop balloon discard: fix wrt 042stab10x kernel (#3156) -- ploop_merge_snapshot_by_guid: fix offline merge with raw base image -- reread_part(): repeat ioctl if EBUSY (#3081) - Improvements: -- check_mount_restrictions(): check for all images -- ploop check dd.xml: lock dd -- ploop check dd.xml: skip check if ploop is used -- check_deltas(): read-only check for non-top deltas- Fixes: -- ploop copy send: fix a race that could result in image corruption -- resize: fix resize working on an older (pre 042stab092.1) kernel - Improvements: -- ploop mount: warn if host filesystem uses data=writeback (#3030) -- snapshot-switch: don't show ENOENT remove error -- ploop_is_large_disk_supported(): check ploop module first- New functionality: -- ploop copy: implement two-way protocol -- ploop copy send: implement async read/send -- ploop copy send: add profiling -- delete_snapshot(): handle snapshots with multiple refs -- tune_fs(): use EXT4_IOC_SET_RSV_BLOCKS if available -- Introduce ploop_get_max_size() -- Introduce ploop_copy_{send,receive}, obsoleting ploop_{send,receive} -- Introduce ploop_create_dd() -- ploop info: add -d to show ploop device -- ploop_check(): open image RO, reopen RW later -- check_and_repair_sparse(): reopen image rw if needed - Fixes: -- ploop copy: fix open_mount_point err handling -- ploop copy: improve fd checks -- ploop_store_diskdescriptor: fsync DiskDescriptor.xml upon writing -- ploop_resize_image(): handle get_mount_dir() error -- ploop_resize_image: auto-mount fs -- do_delete_snapshot: fix wrt temp snapshot uuid -- ploop_switch_snapshot_ex(): don't return 0 if guid_old is bad -- do_delete_snapshot: deny delete top delta in case parent snapshot is temp -- merge_temporary_snapshots: fix infinite loop -- ploop_switch_snapshot_ex: fixed case with PLOOP_SNAP_SKIP_TOPDELTA_CREATE -- ploop_delete_snapshot: fix for temp snapshot -- create_snapshot: clear stale top delta inuse flag -- e2fsck: make it quiet- New functionality and important changes: -- support for 4K sector size (including GPT conversion) -- ploop replace -- temp snapshots support (ploop tsnapshot, ploop_create_temporary_snapshot()) -- ploop copy: implement fdatasync before freeze (improves CT frozen time) -- New DiskDescriptor.xml read API (ploop_*_dd()) -- Obsolete *_diskdescriptor() calls -- Obsolete ploop_get_base_delta_uuid() -- ploop_log(): implement subsecond timestamps (with verbosity >= 4) -- add ploop_is_mounted() -- ploop snapshot-list: add snapshot mode (-s) -- ploop check dd.xml: add -u UUID option -- ploop mount: remove -u base feature -- ploop tool: add -v option to set verbosity - Fixes: -- skip max fs size check on snapshot delta creation -- ploop_resize_image: resize up to end of device -- ploop_delete_top_delta(): fix wrt top_guid -- ploop_read_diskdescriptor(): fix get_basedir() len argument -- check_and_repair_sparse: handle EOF properly (#2897) -- ploop_resize_image: add missing gpt size sync -- ploop snapshot-merge/delete: deny snapshot deleting if mounted (#2887) -- grow_lower_delta(): fix a memory leak -- ploop check: fix -b option parsing -- get_partition_device_name(): fix chmod argument -- fix alignment on GPT partition resize -- fix GPT partition alignment on ploop init - Improvements: -- ploop_resize_image: enhanced inflate balloon to max size logic -- tools: add {} to specified UUID if necessary -- check_and_repair_sparse(): log filefrag output -- print_sys_block_ploop(): speed up -- ploop check: try to repair non-top deltas if they can be opened r/w -- e2fsck: return fsck exit code to caller -- make_fs(): add -i to mkfs -- fsync_safe(): use SYSEXIT_FSYNC -- Fix uuid strings size, use define - Documentation: -- ploop snapshot-list: fix and update usage -- ploop copy: fix usage -- ploop(8): document snapshot-list -s option -- ploop(8): document ploop replace - Build system: -- Makefile.inc: fix dpkg-architecture handling (#2877) -- Makefile: add ability to add local rules -- gensym.sh: better usage and error diag -- gensym.sh: add run mode- New functionality: -- Added check for and repair of sparse images -- ploop check: long options support -- ploop check: add --raw, --repair-sparse -- ploop-check: add -b BLOCKSIZE argument -- ploop-check: accept DiskDescriptor.xml argument -- ploop umount -d: allow to specify partition device (#2788) -- mount.ploop: implement -v and -f options, as per mount(8) -- umount.ploop: add -n option (ignored) -- mount.ploop: add -s (ignored) and -* (reported as error) -- Added ploop info -s -- ploop init: use v2 format by default -- ploop init: create ext4 by default - Fixes: -- ploop_get_devs(): fix snprintf usage -- ploop_global_lock(): create lockdir if not exist (#2767) -- ploop_grow_delta_offline(): Fix uninitialized struct -- ploop_ioff_to_sec(): fix for v2 -- lib/ploop.h: include sys/syscall.h (Debian #728173) -- umount.ploop: fixed (#2788) -- get_image_param(): added online (from sysfs) and offline (from image) cases -- make_fs(): turn off periodic fs checks (#2769) -- ploop_store_diskdescriptor(): check rename() -- ploop_store_diskdescriptor(): don't return -1 -- resize_gpt_partition(): check fsync() -- ploop_balloon_change_size(): don't pass -1 to close() -- ploop_grow_image(): fix an error check -- Don't ignore chmod() failures -- print_output(): fix output -- make_fs(): fix max_online_resize type overflow -- do_umount(): fix diagnostic lsof verbose level -- plooptool_stat(): close file descriptors -- ploop convert -f: do not return SYSEXIT_PLOOPFMT -- ploop check: fix exit codes -- make_fs(): create ext4 fs with 128M journal - Improvements: -- Support RHEL5/e4fsutils (tune4fs, dumpe4fs) (#2812) -- do_lock(): open file in read/write mode (#2730) -- ploop_send: use ioctl_device for PLOOP_IOC_SYNC -- use access() not stat() where possible -- umount.ploop: improve mtab handling -- mount.ploop: use case in option parsing -- {mount,umount}.ploop: don't hardcore ploop path -- ploop-check.c: rename uppercased functions -- ploop snapshot-list usage: fit to 80 cols -- fsck: use fsck.ext4 not e2fsck (#2812) -- check_size(): limit max ploop size to 16T -- ploop_resize_image(): fail if umount failed -- print_output(): improve output -- ploop_mount(): fix/improve error message -- dumpe2fs(): don't hardcode path to dumpe2fs -- print_output(): use our own default PATH -- do_umount(): refactor and improve -- do_umount(): eliminate extra 'lsof' call on EBUSY -- do_umount(): don't call lsof again if not found -- print_output(): check return from pclose() -- print_output(): return exit code from command -- Fix some wrongly used exit codes -- Remove unused exit codes - Documentation: -- ploop(8): document check, balloon discard, info, list, copy commands -- ploop(8): describe exit codes -- ploop(8): better resize description -- ploop(8): fix ploop umount -d description -- ploop(8): fix ploop mount -d description -- ploop(8): improve convert description -- ploop(8): add missing OPTIONS section -- ploop(8): make IMAGE FORMATS a subheader -- ploop(8): other small fixes and improvements -- ploop usage: improve -- ploop usage: update ploop check synopsys -- ploop init: fix/improve usage -- ploop usage: fix mount/umount/resize - Build system: -- ploop.spec: require -lib of the same release -- ploop.spec: require lsof and findutils -- Makefile.inc: add -Wformat-security -- Makefile.inc: proper LIBDIR for Debian case -- Makefile.inc: add CPPFLAGS to CFLAGS -- Makefile.inc: prepend, not append, debug CFLAGS -- tools/Makefile: simplify SOURCES define -- setver.sh: introduce build id -- setver.sh: use getopt -- Remove stand-alone binaries: ploop-check, ploop-grow, ploop-merge, ploop-stat, ploop-copy -- Makefile: add Coverity generation logic- New functionality: -- libploop.so: implement SONAME and versioning -- Introduce ploop_get_devs() to get all mounted devices per dd.xml - Fixes: -- make_fs(): reserve max possible GDT block for online resize -- do_lock(): set FD_CLOEXEC explicitly on lock fd -- fix raw image creation (broken in ploop 1.8) -- return SYSEXIT_SYS on ploop_find_dev_by_uuid() failure -- ploop.spec: run ldconfig on install/uninstall - Improvements: -- Display mount data in error message on mount() failure -- dynload.h: pad the struct ploop_functions to 64 pointers -- gensym.sh: add code to check sizeof(struct ploop_function) -- etc/Makefile: ploop.conf should not be executable -- Makefile.inc: support Debian multiarch -- Makefile: add distclean target -- Makefile cleanups- New functionality: -- convert from/to v1/v2 ploop version format (ploop convert -v) -- ploop_mount_fs(): add option to run fsck -- ploop mount: add -F to run fsck for inner fs -- export ploop_is_large_disk_supported() -- add/export ploop_get_spec() -- ploop fsck: rename to ploop check - Fixes: -- resize_gpt_partition(): skip if there is no partition -- switch snapshot: read parameters from image we are to switch to -- ploop create: error out if DiskDescriptor.xml exists -- e2fsck(): properly check e2fsck binary exit code -- ploop grow: check size wrt format -- tools/Makefile: don't strip binaries on install -- ploop init: fix an error message - Improvements: -- create_image(): remove useless assignment -- number of log messages improved/fixed -- tools parse_size(): print error -- tools/ploop: allow T suffix for blockdev size -- ploop_grow_delta_offline(): use delta.version -- tune_fs(): drop absolute path to tune2fs - Documentation: -- ploop init usage: add -v VERSION -- ploop --help: rm -P from ploop mount syntax -- ploop(8): add -v for ploop init -- ploop(8): add ploop resize to SYNOPSYS -- ploop(8): add ploop convert -- ploop(8): add -F for ploop mount- Fixes: -- default image format is V1, unless specified explicitly -- tmpfiles.d file added for /var/lock/ploop (#2493) -- fixed creating strange directories under ./ (#2623)- New functionality: -- Large ploop image format support --- Now image size limit is 64 TB (was 2TB) --- Kernel >= 042stab078 is required -- Move ploop_grow* functions from tools to lib -- ploop grow: add DiskDescriptor.xml support -- ploop init, ploop_create_image(): add FS blocksize parameter - Improvements: -- make_fs(): create ext4fs with lazy_itable_init --- 3x smaller size and 3x faster creation time for 20GB image -- lib/ploop.h: "unexport" some internal functions -- Use /proc/self/mountinfo to get mount point by device -- More clear errors on parsing DiskDescriptor.xml -- print_output(): generalize print_lsof(), improve -- add_delta(): print more diags if EBUSY -- extend_delta_array(): print errors, return SYSEXIT_* -- run_prg(): print error if execvp() failed -- lib/balloon.c: print file name in an error message -- Introduce and use p_memalign(), fix errno handling -- Improvements and fixes to ploop_grow_*() to be used from library -- ploop_read_disk_descr(): set *di to NULL in case of error -- ploop_find_dev(): always assume ploop cookie is supported -- resize_fs(): try harder to find resize2fs binary -- Makefile.inc: ability to add CFLAGS - Fixes: -- lib/lock.c: create_file(): make sure dir exists (#2493, #2597) -- lib/fsutils.c: use ploop_execvp, drop absolute paths to binaries (#2595) -- ploop_log(): fix loglevel checking for file logging -- ploop_snapshot_switch_param: guids are const -- Recreate ploopXpY devices on ploop mount -- ploop_find_dev(): treat ENODEV as ENOENT on /sys reads -- use basename() to strip device from path -- ploop list: check for extra arguments -- ploop balloon: fix -f option processing -- Fixed lots of memory leaks, mostly on error paths -- open_delta(): simplify error handling -- Fixes for other issues big and small, reported by Coverity- New functionality: - * offline image shrink support - * tools: added snapshot-list functionality - * extend switch snapshot functionality: ploop_switch_snapshot_ex() - * ploop.spec: disable udev iosched config for ploop devices - * ploop list: added functionality to list mount points - Bug fixes: - * ploop_mount_fs(): use mount_data for first mount - * ploop_mount(): do not allow to use ploop on fs w/o extents - * ploop_{create,resize}_image(): fixed size checks and rounding - * ploop_create_image(): fix memory leak on error path - * ploop_get_info(): fix reported disk size after switching snapshot - * ploop_get_info(): fix when ploop device is not mounted - * ploop_{umount,resize}_image() and many others: do not return -1 - Improvements: - * much faster resize when using resize2fs with EXT4_IOC_RESIZE_FS support - * ploop discard: add cancellation support - * ploop_resize_image(): use real blocksize - * parse_xml(): deny processing DiskDescriptor.xml with several - * do not auto-generate dynload.h, instead check if it's uptodate - * create_image(): display error message for incorrect parameters case - * introduce/use SYSEXIT_DEV_NOT_MOUNTED and SYSEXIT_FSCK errors - * alloc_diskdescriptor(): log error if calloc() fails - * ploop.spec: require util-linux, e2fsprogs etc. - * ploop.spec: require libs of the proper arch- NOTE: this version requires vzkernel >= 2.6.32-042stab061.1 - New functionality: - * switch from old /dev/ploop/ symlink-based to new kernel cookie registration - * snapshots: switch to schema with constant top delta uuid - * use /proc/vz/ploop_minor based interface to get free minor - * if ploop is in maintenance state, try to complete it before doing snapshot/resize/merge/mount/umount/copy operation - * ploop mount: use in-kernel I/O module autodetection - * ploop balloon discard: new iterative compacting support - * ploop balloon discard: implement --stat - * ploop balloon discard: implement --automount - * ploop balloon discard: cancellation support - * ploop balloon: allow DiskDescriptor.xml argument - * ploop umount: implement -c component_name - * ploop list: implement - * /sbin/mount.ploop: do load ploop modules - Bug fixes: - * do not crash on empty DiskDescriptor.xml (libxml2 workaround) - * ploop convert: fix converting from expanded to raw - * ploop copy: fixed check for opened fd - * ploop copy: do not leak opened fds - * ploop create: fix gpt partition creation to be 4096 aligned - * ploop create, resize: round up size to be cluster aligned - * tools: few exit code fixes - * multiple usage, log and error message fixes - Improvements: - * ploop mount: check that mount point is a directory - * ploop umount: reduce retry count from 60 to 6 - * ploop umount: print lsof output in case of failed umount - * ploop create: for prealloc image, use ftruncate if fallocate not supported - * ploop create, resize: add check for correct block device size - * scripts: de-bash-ify - * assorted code refactoring, cleanups and nitpicks - Library API changes: - * add ploop_resolve_functions() to aid in dynamic library loading - * introduce optimized ploop_get_info_by_descr(), remove ploop_get_info() - * replace ploop_{alloc,read}_diskdescriptor() with ploop_read_disk_descr() - * remove ploop_getdevice()- ploop copy: fix data loss during migration (#2287) - ploop(8): fixed according to doc team review - ploop mount: tell about unsupported underlying fs - ploop-copy: improve usage - ploop-copy -s: added mode to copy to local file - tools/ploop.c: do not return -1 from main() - tools/ploop.c: fix/unify working with diskdescriptor- New functionality - ploop copy is working now - added pcopy's send_process() and receive_process() to lib - ploop mount: added -c option - ploop(8): added (still incomplete) - ploop balloon discard: add --to-free and --min-block - add Preallocated item to DiskDescriptor.xml - add add ploop_get_mnt_by_dev() to lib - Bug fixes - fixed offline snapshot creation - fixed race between register/unregister_ploop_dev() - create image: if fallocate is not supported, fail - ploop init, ploop mount: fix -b option value validation - ploop mount: fix usage, -d is optional - ploop info: fix usage, DiskDescriptor.xml is required - ploop.spec: make main package require -lib of the same version - fixed a few ioctl-related error messages - ploop_create_snapshot(): check for number of snapshots limit (127) - ploop.spec: do not own _libdir - fix SYSEXIT_PARAM value - tools/ploop.c: do not use ploop_err() - tools: fixed/improved usage for many commands - tools: do not forget to print newlines - make install: use /usr/lib64 LIBDIR for x86_64 - ploop_create_image(): free disk descriptor if fstype is NULL - create_balloon_file(): fix file name in error message - create_balloon_file(): umount and remove temp mnt point - create_balloon_file(): fix error message and return code - parse_xml(): add Blocksize validation - Improvements and cleanups - ploop lib: add visibility=hidden for internal functions - tools: use parse_size() and is_xml_name() where possible - remove merge_top_only param of get_delta_info() - ploop balloon: make it accept either -m or -d or both - ploop convert: change -t to -f - tools: unify parsing -f option - various code and headers cleanups - setver.sh: add -v, -b, -i- Added ploop_get_dev() function - Added ploop_set_component_name() function - Fix: do not clear in-use flag in ploop_fsck() - ploop-fsck: add -d flag to forcefully drop "in use" image flag - Fixed handling blocksize for raw images - Added user_xattr,acl to default mount options - ploop_mount(): added ability to pass MS_NOATIME flag - ploop-balloon: add discard command to compact ploop image - ploop_get_info(): return old info in case statfs() failed - expanded2preallocated(): if fallocate not supported, use ftruncate - ploop_resize_image(): Check is it possible to fallocate before inflating balloon file - Fixed merging all snapshots - Some fixes in ploop tool usage - Some log message fixes - Add function, source file and line number to error messages if DEBUG is set - Build system fixes/improvements- support for variable block size - default block size changed from 256K to 1M - ploop_set_log_file(): make NULL a valid argument - logger: introduce, use and expose PLOOP_LOG_NOCONSOLE - ploop_getdevice(): expose - ploop_store_diskdescriptor(): fix for a case when image is in root dir - Fixed expanded to preallocated conversion - Remove some unused functions and non-existent function prototypes - Introduce and use SYSEXIT_MKNOD error code - Changed image -> device mapping schema - Use strcasecmp for guid comparison - Made ploop_merge_param.guid field const - tools/ploop: remove -b option - tools/ploop: remove unused and untested replace & add commands - Log/error message fixes, improvements, and unification - Makefiles: fixes, improvements- initial versiontbuild-rhel5-32.eng.sw.ru 1442639373P!P!P!P!P!-----1.14-1mount.ploopumount.ploopploopploop-balloonploop.8.gz/sbin//usr/sbin//usr/share/man/man8/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tablescpiogzip9i386i386-redhat-linux-gnuBourne shell script text executableELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), strippeddirectory  RRRRRRRRRRR RRRRRR 0IDQ>9|v`"system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:man_t:s0?[lWu8wB"O>cfS9~$VGݩgg63^qGUU _! j)J@BQ "$$}xv7bgg={l.Yd9fOn|bPtZbe#x>c+˖M'H7lm(̰QTOªOt?ߠWSk,F\> %ۦ%ڦT}P/_LÔmgUkE4.WK b4ufvyziR\*h39C}ó륷6/'iz8bie,?׋K4;50xylҕ-C#SHYSfqlxۭf\fVfШԃuiAr^S{X^]:_\e2M]م>\&>uHM*6jªUж% IjQ j\G9Хjb!A[+>BMb +8u dMgL"jϧjv b3MiဃHѐxx"vpVͲPq`0tQ;jC(æ.]MV b6ΨzZAs1VibϝTnNH2!`%7K½B 1lTԚ'+' Dbb9\=D.6ͣAs r[2!KYڨt(X$q =g&H R`֍,͗Ԩ$A@g5s75Rf`V@dVyٷXnlԏGg]ueP -cvեȨN-u9 U 3g;=ٱ,l8c MI}L&pzlӵ?M&V3 ~n;%>80Q I(ĠXu@s.Р7eIozZjd P(M\T7JXLb_kNa"0d nM0[TxBna*MKK!t~HfaSa} YjTڍ+0B"(gm1p$Ax[X}jݺĈOG@)A;D }A\u@0yuDUa/0&BW"1{u.vɆRvyΓ/},vgnΒB")j˿(9+/F`y\X$NOao '!F')D!+ΘsYUQ;Lwy;X~~(3X_:w܃9~ߑ;/Og2~}Wyaͻ<ӱ~gB,zrhG4n V8})OǴxB.LDqNtjhu[QmmJ6r Q!naD|ѤȰH&~&kR9+>Kǰڷu=sRg>sX28>0o>%| fGb|Le@V+_Pr6A a?!> # &EXy[QAc qAIW 51 =\D&qoJc?Pc/`eҿtO?q6S4Ӿ΋#R ҖbMykGxwF_ ¡;|:A0*Lo E#[-)6vx7wwk'^mw.=~{+7OW91prw]yu_ezw:v3w>;=4O>#|w~;of~Na/qE𾤿'qWϫ( ,=>OMI%,FԁU~| {R3r[wP?SbW[C GCPyXVdZoUvLQBZRFBnfde+[Q"Ddٙ;o<`}+% ~)鏑X"QA}ЅSQ9w=;sfuSˌF;._۴2w?`~a8^|CCCw|#;'!x2UW[,EN {x=Qۡ B|nB i| A/gK0 Ϭw!+œG><\!.x=q#탫*_\Moow𱳞?)/zA#Glqəϝ4Otѿ?vO!/5F]lC-vI]E)OݪhjZJ q7R)u2RgAG%Fu U*+L _&m@eJZIdfUg @̙" ~&#ĉZqVEKh)]JUyQijK8=pal2czs oMB%-gWdDI\ÜZLQ^󵈓,a:K9:caSe{%:%N/园j=xuwz>5MCj8Jٚ'#e_CZ&9<`B͊[ʧQYeKbp1)Rlוc(SB/IhÙQ*2/" R*TԘf ׳m$3_$]_iW1˂ߣR(™dtu~v0I:ieAj?QHnE7.%!`ur'bʳ"!UP 86[vӸ).g c'Hc&2O055g.Wʐ%ii4;1O6(ZN$yXd+럌P{U8\Bsd1RaA^퀒Ru#UPmK9 %X4uS.WmsNTܑ3s(Q""/WO`GrX !m1h>FNӭw^Y)&4Nel4χ69zx}5Z_-]9H=?æﮰY[iWz{F[ tUN:bcQ%*.2A HYPSF%q`e\\r\`$F3~(U$BCB@WթnU+u8)}vJ9.Z kP{=w='H+-uQWe wNa'E?,3!ˍI#ꢄgE}T% /POB|7ǃ9)頤ޙ4\PR|PdPZb$@i^(h9M|PZՠTo)I$zP*qփRJۨ>MvI*TR_Jup%]t/ՇtǠԀFtܠdRUzk,Ia{nMQ 7h&`$>@v$t$}H@FaJ4!?J0QdoPj@`J8PjHƃRc:JtбdPjRc?g ?PH!>E| d??h.t*OA::Sr}uF '5Df#"1"SY3FĖgHU6J1JgHV*Y~ƈhgVY~ƈpgHW 1"^ Jod ?l*Ul lblO װe/al2c0700nf0FQpgJyf`d %gLf##),?cd&eJY3FR6b12R3FS,?cd2gTٔj12R3FS 12b#)a:02ެaL׬b#3*#C*}3FT0FT3FT/a deLag1FfUpaa VQS%~?p?۟g3.`ײY~,?w,?lF?x۟g3.f5[揳Ӿ)(8|yj3,m((}`΍| XU6MI߀< {4 śyY2wHBg_8.0=!?\6IJ}܊`/3'`=cVY_ 캛yO0xՠG zVq/Re/^O)(U[ޑ]^(HqϺ8Y ()coGDxSs/^DvbSjX̹<Ʊ6-9tƝIO6>$u( ,m˟r_ -R 5˟k'j,o^r,Ϳ~)V޴scXOwŸ3:zcXt? ki-;_l/B,ZN7]c,W;6NdTZ٪5ӼR١ XbF5F"KĒ'ݭ6Q#/[H_g_)c'!蹡e/DWcD4Zw;08вk-.% G3|.x3KznzH/#>=ۯeb\Ɠu%]?ijP+x9֕$#t!2=W"31(Xgf5he7}5gF*C$FLP^^PP@#ҙV{=YUV@c苖 Uxwhd{T#elT#!<(j{гkXZZ.]B $ I~Љ4Nƙ6A^fA¾ƈK^}->rȷ3*ߡXM$v_+5]vv]솵A᫛@f-X;R=0bI&ax/h> >X2GYL}BP=MLb%x2_Vȶ &)ң-IJK`x_] tK "gZ-te|A/k>AHEvvHfdr\\%¿d/x5G-T'Rr ~B3] YX|'Al'zvMj嵫^_sߢG7foIz M>BK*܅Mm.` وP!HRkl~ڋjJJzO;sx_x/3ĸIn4Q+~w ŠE{.lD<W.>鋀;)y睒kuˎ@ndf0h+o!ϢD[bN_5~cA=V`\,+v#A۪:װ UL: _WhۈRzPw]Ehݪ!|=/GHUj &t'pMZ' ŋ)%4Q4F7im_=S ܴښq9tXNK]X &GU'2{Yql*k*.o)ω"A[*Pw:d1mE Y/mF[ms~m,QZ *i$jezalGykATEp}g 헷&DfL&I1zNzj5ldZv,Ej3SlUF/P1|"XS=v)f I/Xk'p3-TS[/ $ +~-bf6AֵWLBYa18KՐPb:!O[%2¤,( _D/H)f6ӨEL-v@ը/r†vZS!.pAKKYStNEjO輩Ɲb^ 8vÀT[<ˬlS g7N,GWynm_kDHRP}Nq_pjulLWASkxĹFys6V\:ku%w`Ka3Z+W/1媺$Upo&7[{JuiRckSAO1.t5-1!Qe~?%ԎedT8ovzHS81o7&f}렫w7h4*'%z޸BQ .D[xMiu<^t^46~<V*3,Sv9Gv4F g 10zv_b =nDƏpO@VR;}[,ٺfr DF9x"_Dsҟ*p7<9ܳcVmHmGK&yiGj ki?Rn*qޗܚ+Es(%tw'%nPf& ?I׬ߺ@9 .>_(^DQĝ?jn{ӎp- Luy UG]m拚 ZEbOBN5󱺼cl\8?aiK4w$y$VAU6G iG6XBRҊPRw-ܸLm\%4 {h@!W|jM4A+9E]yoZ&b-?~= ^"urN2v|ƣѶ1 =…/#vU-r:1/4B) fB?)gPCj73i**V { ^q&bD6zyч9'ݿw&)OI; 3=sYV77kXiF^hRtf[ziڟ%hƒS6Z&usP[#ab[ \_ [詬^$)T!o0nW%fh ɞ8B0g)Nͧ"ѩ>PYWN{ƚp50hlQ^ԽXVǺEif3Zg2ٍ6[ͷ]x \ i!9/^EIvñKC!^Šdb8g7WȤI\?iMxՈE=| Tu Ͼ?H6e~ބ3'$N̷Z@%/@SB8Zi2jjo 5d1 c 20xae$ٯ)xkkBs nwڕO℗ĺXG8`D@\;Z:QuOv1ώ虈8{BH蛔84G)eqvh`P_P m9+BO-bI+N'iSp&N㽿q;8{nt,7 d?>q mcA]zR%$(ΣOymRw>b)>[_fzFk4>g}uը`M|?Pǧ#9s"9>bg@*)v!AWЗVEd; mg&wMhfa;go1s_sk8Ayϔ_RWOEdD]8Mkw&(cE r2-O 4=RhQq2?8-Zk).s28w(ڻ&4k;7[ݰr%丳zWRG}5>_dlAI 2]$|ɑëb?z& 0:f6+K;\DFʌ&w?LbфCЦhl*$-# J#\q*H1T<80|,1cNn-CZAc!°Ȇ%ص%`Q6zD ns AV=Bcxwh K9c/x") \B(í9XR⥏ X`cig5.q-G )WAcƪ`  P;xT`'X<`7=:`=5=[Q݆Ş`==☿uXWyД8ho =kxUH4` h2BB(4k!$Vtљj NY\wGw:߸H<Denq2H\e0"܎%:#8sA^i-,Anx(V.T*쎶bо'U)ium5m[Cۜtm:VC߷=Ҧד6SePGq"5߱I1t`<;T P.\dZ6.٨%ogaCgC$Iu|w0(RsQ5J󞚛?Psӂ)A5;-(JA>(MF4STL\D5T<ǑMMKݯ:NEo܌hGLg6f SܙbnwYpF6f^MPC L凑< وµ]9M#7f2oMs&g4-Vj}#,I\h9jmcgm<2 G$*UN⛩N nLX|2"؊ uZƧ7UrIl01ft~:0lQ}Cǹyx49zFp^l5p,*H;2òX|}B|;Ϯp6B "ȣ~8 [9iBהJ.]>;wAqSUoA댻*·AS"f)%xlAaѠr%&RX@>%p5\T0N<H|"V#Q>i <x"IEtOHiCE=-n&'(u07$541ֻճ$Qk --1ZDF]NAMEoU^*|geqֲz 0G`Q%Xq7 -m)ڴhp,OZEF #8DdTmJ>ŷ5RԚ\~:ף_[ݝ`SIA'+xܰ Qo$=em?{"!U>,r}jaZρDL׫4T6ASQ|k_;2CGAy6?:ܒa斌4-EF01vIC>*Iѯ h\\d'CBopGJ{x8ڔ0~Ao+5L+D&.ԉTǎXi^uC>H֔=srޠ߿|Ғ m7Ѽ|L:9u{bR e!\S?S3J^r2d #`$+[5WdVΘK&HЁ9C a@*>?[>PSTt‹F`"cۋf~WK %Q!Yn1Aw<6pYrIpH~#Ϻe IZ}!|#'d/gbudxxյf7]͐wUgiqg~ݗwgz]TH ||/IZڠ 6sԁ7N OVCWz [$ s {wpru<rlihאX4zuK=ؒ  Q]O` {N_e 0[D}Mdxd׼8lZ Xh5*D:{b{.%ɀ尶ĊW۝ ="WZF&߽m% 9zz)Q iO%,8b#ɢB6vJ l/ZekdQZ M8}$ fhPg#'o..DDn`G{]u%s@PyOw{"&1gѝBmÕ h7S 6,ء;E~f♍ C6u7R=دv {IB .ScrjrR|g5I==``Iu \8nu2%);w@/K )9"|vӶRG Sޭl-iJV HQl?· bwx?N,r€CŠb<}Zې1~ghߋ|xt%ڥUsEP3 l_!l2qE=VE60=_Lw/j;wq1D K8n)`rc>9 8P&PYղڜ[SD6{[Q <Q%v5";;R/s>7Ƶ5ԟ։viċFG$k>?%J(R@ʝaQd;Ւ75KBڢ+sXY(^y$dAZ;O&xz7n sjI>5w7fi+wjo|/~0"rmx1ainD]BokI7a_:Z'e=u"6}_FW0a~z_0nD,Ŧv1m;˅"Yp֖uo RnO1`2Z&>.LdR_ſŃ2B vʤ0ݺ6(A1l >Z2iqb|WҮGwж IQ>hUVZ~u4O/XGskIw:=o>QRs5qz GmNɌriDEPDN)ӏhʃm$}LX0~9duT%D5q SX=}D{!# .B{9,WЫty[%+<ƶsfo?eخpT>#:@B; ]S@C<44`r[HWN%C]M\43d:-[wCmt0?8rXϾ|H̙&d;GF(62Ν'0ΫM%z̳WSLohxTj+sX| {nΞcy-^{Ҿn:-|kiYz\^SJ3Kv]Q[ty-elm-8H(.,4ήFgϙGn*fWUF) eυR)'T^ejdݲL`tk2Rs EJRgCY&oY+s-+**'u1R2 s"gI˨P ˁ<q.~<:FDXѢfY<Rc7`\,'(qڃI1w>nR##(]RhWJ@W AZy:ɬ:쒎'ZġCYm@:wM# jF'TytR`Jiɲb [.-_{ߊeWs"iQ [FI$]& 6J"m#B b: +z +e` LM)"Gq{ #NqK8EZn1ԗ)0ȫƕB>t)-WP1[T >H+[:FͪS:|RIIFFs㥾D]Da;P䚵vs4x(pVӃNA%,H Uzܵ HhXR*4oKSE :i7H7&EkC0[ud܎ D_3<@*Zg?v>fxiZ'BX/V-[t @Ln$P1`6ͅF-u-WZ*0u笃.bGL" Ja뚃MUMDZj4H FWIU$|*3S!27 Tfb7$Έ8D/tQ#Z\ZkXXP]pQ<V:F[pRyiY4tVKyT%)*KM2ۊ+ K&y*yu1Ҡ(.eJ ᩔUcBiIDoPn+yJ Z6EZBJ?b,͘uT5kTL"afSGewy)ݕw֒ L TǪ:[5Lܬ4.\C= #RY櫉5JLA)c!:cڼ.Du[/j#D `2]W0Jbbd9$00Pd6Bl*UJJTBT3s}̻1<`Mm6qBJiX([q*6f@bxQrm/su9]LG 1)CPWW!A hJ4)KvC4VYHA*j|Q4+ZS2 T ՛PpI/ ^A<)y(ou,ZkZ;t/KƱb A+6I1_qDAO uIfFm =rȷI5 /) >kFĕn݅ ӂ&TQ.DW xz%m+h\iI')͢2#fNmtFVbF+WFDTB Ïd6&'\;EA`]R ?㽂rm@eV0l) 5n(8?@6\F SP0әbD}a6 O*2 3P+%"e|YdL *"&%i͝)ՂXSbqN@g Ja%q:|< `H&#nt_2X ,zB@X*ԓLc::>Bl$y4%[mפr3x3RAbߟS4o=&c8U^]uc_qf -2O]c5v]c5v]c5v]c?]{tUՙIKh;mo3c$$oY^ ZKa7sroz*6хULQAaRMG"PE-"kUq-)e.=Ͻ'7'3΅_}}_g "MK3~*G=d{z:Æwx_}_vT0 @iԛkJMXCY  &VSͱp$X4ΚPS57t6¡P 0B,[tY0l:u‘Ө :T" $Bԅ\Sh\G|ȤDgGN9՗ 9[e5>%+Q{N>J7&'ĸL蚀G\DٍX";9 oW 5R@V-T(P6OgFN2G8a"tC XƑ\w"ԌJ%Nw:5jV=@.6%k˭IuF u_Y)T:T+B_t&)P'tœ՜& T֏NJ4$?NzOwq .1EH\_VBZ,vn]TEA?۽Zcgxewjӳ^EPu:sAQhOP">D@Ĩ< o>GS#]w.whW*QQn ܙ`SKYٯ:ۮZ[˝)z~_.ިtG.7W,5,[,DG*Aa~:R[[H\pg''q_ )0W~^xA8 bQΉ[B鸼Ug-L&Bt<븉>5 uhnF6|3j upaZ[˳K[}W4ϐ>t6r&$aSgnF҉+W0br7lxvcYkiLofڝ_sQg_F*›b[A1ւ^,t$-Rfbh,ef0ٲTG(PGH\'nSx0-j\Y[.nVWjOv-NE@*g&{Тc%+Lv^n<.E%_$S5M Mt7Zoi{&2jlFՁUmECǕ5CdɈ&\ ϢrPrE)'j*nv cD*tgHFSCB?}M&ȶK]r_*y&g<ʫ2_]!(>l(bh.F#A#Uw6o}t h?h?1ӠA+zm٠eB$@ : Ћ m{*н@=ʏ"WeZiN4 cYo0ö-|HoA@zit3}4]UӠR=zt7h!t6 Aσ?AMn;V KG٠AyVKZHQ_a;PWo4;KL-)|OאoJy|#C(X9Ůn`r~|C^_c! yccA>C~nyEȇ kl/ sq3 y; ^c2.`~}noY[q6oᏖ]*jlY>뭥6 ?~ȷBc_b\p! aR≯N`Gΰyoz5ϛc=ڍ†Ev=[7Uϝyzyx1NYw~f]w|ӐI=_ 3Rc],U)eyB߫(;JvjH@]o}UW{M`)P EJ` qpx(@X@p8 N=L"`%a8p 8? t ,VkMN8s{@yӁ X 6;> p8?~[Ozr_~Bxϸx~FI0Y;C]os~_3EuCы'ũ_ĥ7vv*zC;zð-WᙹW=>NYXfW;ð 悞S=.WS?W26\zg>ńzzc b*b'\zjrEWps=ˤL?- vksG\z|φކzlz<njrQCώo<"MjFMMp4Z'g'njۍU\&=3OYhio-))=Q7)y#J̏Z\%n[87.M9/]3\}<_`o8 MT*w)1܀w4Վζ>C~&vSO qx+0v9`/s-ܽlDsf"R'@nCm&UPL%7mmKi;|II[ c_>t/mxPt_ gsp)ɯ֪/97߲vך*- ~˚WOG:xW|'ޝR|_9?. d`L#%_y_'3E]ux/u-1Kk4Z׮ i5ɟ43OOV#o;ELauxfUNBO;f y_\!~y~&z+}>W~~15Cs.mw!ϯKp'`T?^f:t廮)Eˢ]\6IO2hFm2e}ʎSY:x)H}g?):HaIRH1:DZ5)R4H {~H k&Xj2h  *kj.+Dl +J|Q&\s{ %-)ʅb`F@ ZZ,zޛٽ^1ݛy7of:fE,|V@H©vdB腷G]|-v <+9f J7?'Ac!n?&ZmH=,5{)>|)S(,c6iM-{V!=/fgӧF>e9qK/Dr!P^5$t/%BOĊ Uj7Q̔Nn6L})Oqa{&LB 1nA񟦉=/{_2= {raa2UG7.\GjWF~v˨Ky _&C/:\ 1YN3)$x3n&|IƇ&E(3ED Q FT>d&|$PH]8%#'`f<-x*C (m40=ϥU 89{c2CmE4Ԗ.9ۉ6/6\࿾/rri΂H;:EǤt켉 ڏfy=Sʗ&'C~¶BmvBs >9. NwYªjiǃ)t9.] zGPF nkYV-ܕ+%9k+n{Hc@UօXrhWwF &lƳ7&'Iu2IIr~ I"`eΚU uϙ|.g>N},1GԝK0pxzcЄGbAxo+WLCA W$C: iFydouRٝFyd MbiɃ~ &}w D,缪mLyA\64l;p«U?#02TǍ& 3'69'&7w@)Ut9;hߕ7GѸ -JY[>i̬{ YS$IMržIn&em̳Uyr%ovC>< ƟNA9lmk'3~w}{Ξ=rWl쎹I[ ]h̹BS1 D Lbotʵ'ь XU]U뺎Txp<8HR#2ă=:rSAbTp\2?em$]Y_vػX/>  ^w@W`/}qP}/iPgp9%)XAh*z, (**@$VPD™ȝD0""w@%&}xNb?y3;ɾow|k/8/' YBϤq4s {'/m'Z)9Gd>w%'m'l~0dX>|QYDArAh  <(}.'4$ Bg}1f\'IX:(O _{G:G9 'h"VB#"%;a2,̑Bf  ")ԯ)%H徜hG =u: V"ZH!KvSG: M#ʗ7WeqtE;Rh5 .ڑB$hG:)4KGv9R0G mzǂ:#tPw8һ&:|#5v5=}n#usu1vFC1NA7-⒕}֬ 'KF=YQ.mIuvv&RurNMqy.}fIT/=m) nhqRLǠӼ:6u%Ɲ{8Z5ڱiْ| Mn{٥EJԢ0F$ ef>f.F$>CxXƙT̽tʐgCnY]`! eU:%7uQ-|ZC7X"/ oX݋j!_q®k^ ڪ@k-z{%z~cT{m m4_v8^igM˶`x3GoIv$k z9<=Y겟s"?O. VOcjUCmJxie7&oYqBfSz|&U{*."˱K+Xܰ$FutXj1,, ĜB^Qsә2LiRiʑ56OT8ٛ0=SMH }]No^P|iFAY&ѡdZpӨbUU2rɡ< 'S5_$tʬ,Y/!N)ݷ9Ǯ?DTV8M UIۥ{ jr܎ݫj3£V'6me1xeC4QC]Wԭ@Bc>]{/ ͳO"{U' Jdvt9) i*S>1lcUkMK&n,lp@M]foP.ښ[{mj%pss3:y^4(Tc}vޖU*>܂?=x;Ţ!ziʵihi[l%8 f&FjT~bx@>mк0,VF $JՈ2m#q-\[nΉiPp40]X=*mC! K͢#'pS7w|>7,-1m:A͍,LoA@E!{S03/+zf`Ҭ5 ("z9lid\7xbh-)?)x#zx)w[K%4qp6I=%Ǻh,HC( *M'!ۀsSˮB'*CZ=He`xnnJ3"^u ڽt;""F72Ӈ-2,={!:j@ 9 %.)gw?Hq8 ^į'XiQS"~%~]}&+nDK `ӺY {:59Afx}}?(5.PA^G90瓔wEYOƠ)Y'Tt;}3D !֔&t/HdF[Aw-&OdSalV@e#|4/WȪ .YidZF>ז)Jcm['/j+%a"⛰l8h]ZesV8$LEeJcP>M8۳:mxQx.=?3Vp<{B85Xq~ 0\y.]HAIW޹#OI,9+]"#vD\!"V_$ /!:48&E=O xHW8'NdX%EerM+o5~`U_9LQCv1pve8:qפP&qjVvA?|i_H&`.h1Nvc7d >?'MZXiP5 hz*V!VFSSQuG.jc,'4j[9 V \jJ$iD CGk*yb )dAfd0}Ԕq+h'6?cUf'k>%vc6215*'=6!nAc9i D'{֯LߧeghSE.P|$>WNO|miqDQ#KAH ܛ\P9cz7EA'J'&Wza1 YOQF9w!hKNv [N Fc4aηX1+ApLȘ5%W5AUJ|([TEl^TJ9GJ6KSi_1s:5kĉ<*QthN7J@%lA5eSTwf 7ſ)Ч P|R/M}s}!?878t$VqB*-VcE%U(uGӳX2>e݁\"p(f\o+N:^a T稛*#ym][[ee+nx h׎:xBS=HUəfܔ}Fk ha >e;h#Q2MS`!|K"zKiŞo#XUWŇ.AFri !$FriAB>9{iO~{Ͻ`E\|L<4r̭aЋgLTPr!rXVY3խq9YPm8$Eʌ[S@.h+6s5 )L+f}oY.W!՘?E];)KMEO"jql{ּB#R ,/ayX"y=dկAC@Crf6tmJLD$1R#$;z= EUZKBo[%{K7@݂$ 4/䔊l F !czcRt w#+< d/o*4YΒ3^s9~c[JˬTau`.6gKWì=kKHvZ7fK3 ֹ[כ(o1ViFi14en1$8%;L 3ʨNj1*Yl,Jz/(f oji7r߁@zuϩt,i@6G.KIeZ,4i6oe 9܎_yvd 7̝Q=>5gP4Scd2Ȃ̷GKw,z3]}|An+;kq-ǦD]XSn,r/S SRM&Ӣ4-}P&1'L5Į{Z)qgO_ﱔ]$eɷ[;!juPIWGl,64   mz9#*kkQV(1%Q'IIݒlrfC3jYO~ ObL"ǁ+It]IGbV4eu)f52ʩ^eTAzlL_Lljvhfjty 1,_:h=.L[9Jv|6a F8hrOv;V#WWŒo\9$ym +LMߪL!5DĨ\iq}&TI׉q߻#7ߍmug!~bmi&rl<q#mCګ Sk-꪿s}{% ,$YnIϦedvW#6i`B$榼aLm׭L1R<*/ uF@},OmhzuA~^T%Uvu~zRqV\Bg>~1p^[ DP9lnʟwd 7 evZ îf=ifwAm 704Œ43OKBټOT9e n ܮ DThğm&xsO,<*B|cl~m~} b`Y,mkN!,Kb/'mrfK<_mL {Cdwu?fiV`5WMn69{+dSdz2lwސR㦦t{Reƛzs]m/9ݨ(Oa9~1`"]q0x9xi y*㣘%&I&)!uőm)i]=<ʢ d[=[ztj)gQ;8Tǂ!;h12`plQQ\I]VD]zk 3‚M ^̑v$7lqK8ܹAI'j0qε%eW،C2$y.eFQ:1mGD_{hO + ZBY։mr?;k8[x ')N"]k[Fg ''m+o@)f q10[%>4↵8X1Χt4 =LvM+{YY5_5Wym.#ܖThA}hLTAcv ?؈$;?HN6/s a%OP"p[^༴5c#ZM{SFps]i$bk?l\UʴYf_iS]7DX@d X&fNhl:][-mD*1| wj:QX!.D){p!b)D۶o ޷յlߵY!!u4%?^+c~p? ?)ɺxSca\&k+i?h$~ĹNMP(1}^:+iclŨ$׋ϷA~$MLFeB>]f371wdN%pXEQH\ǨWS-Akx$twL$e1by:}εo,uJ+H= ̊Y8yjFϾ-%Ӈ ahGG4w9,ee>@cR\ `'oZEj۝T3^e/ec{ Sb=}"6?7!wX Ej_E.;}@]X$wUt jRԑKU+`V|nE#KF$.IOH3fh52PJI_ <ӏ2盗zDޛ?Yn%C1B0A3: I^VfMA=p"ߐ_>#AlxI3)tfq ٢u/8{{گr"1S6Vgb\"r9s9˽{ Si?k'-0FlJÏv%ɸEѹeÒҪHlg>ːC.tYB!]kl|wdg f(Yk,tg{L R38Xl6'LU Ee(P$&uO8m/#% _Fl