ploop-7.0.277.1-1.vz7>  j|e  }Dͭ*vaVu >2pW;1f%bz+8aX~0ya󐍺Lf,HǞ**/WMFaV ߍQ`1~+P7 K?g8cb8cb4f9edaf8438ec00a9dc5c3b5f7382505e1m e  }Dͭ*HG?Ü.{06H;ztc'!ƦK{~u9 3QcI -_o WHIUXvj4{_fE |hWL|ؔ fd.τRoHb(Uމp'1b>9X?Hd  $hl 0 P p  @ P0P( .8 89 :3G\HIXY\(]h^ bcMddeifllntuv wx<y|2DCploop7.0.277.11.vz7ploop toolsThis package contains tools to work with ploop devices and images.ebuilder5.eng.sw.ruzVirtuozzoVirtuozzoGPLv2Virtuozzo (http://www.virtuozzo.com/support/)Applications/Systemlinuxx86_64e^7N>8=->`FA큤A큤eeeeeeeeeeeeeeeece719ee699aa8bc0719b89d6e6d4d3c6460aa4a4a82a9fa5e113ed9a131f5f8389d30139f0d5e221bd2e486e1854220b85fec36f70dd6344fd125c1e4f525c6593a9d0fc8daf27b15ba22b9a041e8d28310abb5370fad6b83aa028b78d9dc078b9f92d3af6d5e7f9fb47cd1c3e3808fd0f8951d1fa2a8cd5a28aa9cb1c1b394de8f517ca0eb06809ce5a1473fdaac4408a4a04d4179b46d6637fe18dc018d52936433de5a7694080e6efa0db13a2ba1c1747cd289f3c072b15a24498c8609a92c309df3e3a2d4c2e2ae2eac378efd36a87681ae5d7bf35fc7ccbcd3d5265870a29644d88030d145427740391efe9ee0ea8e3b7f55fae685b40aec2879c58d2f43f213fee450563bf5f9ea73b5ebe926702d4e592ecaf2b766474cf9ce81681ca752003247de3905637db4afe60caffba28ae9a9a4525c735b82992c62e48f0cc3749e1791373bb67cd34dc36dab3df785eee533886c325b87ee31bd0bb721a8056fd06f309919085ca1c830a94d565d75dac80790997999563beca6dd9c6a2bb8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643381a4f4fa7238394b13b88dc612f80d2825acdd2d6e0fb8d8709af89cb609dcarootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootploop-7.0.277.1-1.vz7.src.rpmconfig(ploop)ploopploop(x86-64)@@@@@@@@@@@@@   @ /bin/shconfig(ploop)libc.so.6()(64bit)libc.so.6(GLIBC_2.10)(64bit)libc.so.6(GLIBC_2.14)(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.6)(64bit)libc.so.6(GLIBC_2.7)(64bit)libjson-c.so.2()(64bit)libjson-c.so.2(libjson-c.so.2)(64bit)libploop.so.7()(64bit)ploop-librpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)rpmlib(PayloadIsXz)7.0.277.1-1.vz77.0.277.1-1.vz73.0.4-14.6.0-14.0-15.2-14.11.3eCc{h@c @cobUb@b~aaZ@aZ@a@aaaW@aS@``f@`g@`a@`T@`OL@`KW`J@`H`Gc@`@`<@`-@`-@`+`` @__ _G@_FN_)M_'@_{___^(@^@^@^ϧ^ϧ^^@^1^k@^k@^^@^t@^\@^Y^Y^V]^M#@^F^B@^AE^=Q@^;^:@^8 @^2@^1s^0"@^.^*@^)^(9@^&^]]f@]}@]@]m]@]0_@]-@]]]:\Q\@\\\@\@\@\\@\@\}\,@\\@\f\[@[@[k@[$@[9@[dC[`O@Z@Z@Z$Zz@Zo Ze@ZaZ:PZ8@Z8@Z2gZ1@Z/Z*~Z YYYYp@Y*@YY@YYW@YYn@Yn@Y@Y@YJY@YV@YaYaYoIYP@YP@Y7Y0XXۡXۡXg@XXXXO@XO@XO@XZX@Xv@XQ4@X=mXI@X`@X`@W@W 7.0.277.1Aleksandr Leskin 7.0.277Aleksandr Leskin 7.0.276Aleksandr Leskin 7.0.275Konstantin Bukharov 7.0.274Pavel Vokhmyanin 7.0.273Pavel Vokhmyanin 7.0.272Igor Sukhih 7.0.269Igor Sukhih 7.0.268Igor Sukhih 7.0.267Igor Sukhih 7.0.266Igor Sukhih 7.0.265Igor Sukhih 7.0.264Igor Sukhih 7.0.263Dmitry Mishin 7.0.261Igor Sukhih 7.0.260Igor Sukhih 7.0.259Igor Sukhih 7.0.256Igor Sukhih 7.0.255Igor Sukhih 7.0.254Igor Sukhih 7.0.253Igor Sukhih 7.0.252Igor Sukhih 7.0.251Igor Sukhih 7.0.250Igor Sukhih 7.0.249Igor Sukhih 7.0.248Igor Sukhih 7.0.247Igor Sukhih 7.0.246Igor Sukhih 7.0.245Igor Sukhih 7.0.243Igor Sukhih 7.0.242Igor Sukhih 7.0.241Igor Sukhih 8.0.18Igor Sukhih 7.0.240Igor Sukhih 7.0.211Igor Sukhih 7.0.210Igor Sukhih 7.0.209Igor Sukhih 7.0.208Igor Sukhih 7.0.207Igor Sukhih 7.0.206Igor Sukhih 7.0.205Igor Sukhih 7.0.204Igor Sukhih 7.0.203Igor Sukhih 7.0.202Igor Sukhih 7.0.200Igor Sukhih 7.0.199Igor Sukhih 7.0.198Igor Sukhih 7.0.197Igor Sukhih 7.0.196Igor Sukhih 7.0.195Igor Sukhih 7.0.193Igor Sukhih 7.0.192Igor Sukhih 7.0.191Igor Sukhih 7.0.190Igor Sukhih 7.0.188Igor Sukhih 7.0.187Igor Sukhih 7.0.186Igor Sukhih 7.0.185Igor Sukhih 7.0.184Igor Sukhih 7.0.183Igor Sukhih 7.0.182Igor Sukhih 7.0.181Igor Sukhih 7.0.180Igor Sukhih 7.0.179Igor Sukhih 7.0.178Igor Sukhih 7.0.177Igor Sukhih 7.0.176Igor Sukhih 7.0.175Igor Sukhih 7.0.174Igor Sukhih 7.0.173Igor Sukhih 7.0.172Igor Sukhih 7.0.171Igor Sukhih 7.0.170Igor Sukhih 7.0.169Igor Sukhih 7.0.168Igor Sukhih 7.0.167Igor Sukhih 7.0.166Igor Sukhih 7.0.165Igor Sukhih 7.0.164Igor Sukhih 7.0.163Igor Sukhih 7.0.162Igor Sukhih 7.0.161Igor Sukhih 7.0.160Igor Sukhih 7.0.159Igor Sukhih 7.0.158Igor Sukhih 7.0.157Igor Sukhih 7.0.156Igor Sukhih 7.0.155Igor Sukhih 7.0.154Igor Sukhih 7.0.153Konstantin B. Bukharov 7.0.152Igor Sukhih 7.0.151Igor Sukhih 7.0.150Igor Sukhih 7.0.149Igor Sukhih 7.0.148Konstantin B. Bukharov 7.0.147Igor Sukhih 7.0.146Igor Sukhih 7.0.145Igor Sukhih 7.0.144Igor Sukhih 7.0.140Igor Sukhih 7.0.139Igor Sukhih 7.0.138Igor Sukhih 7.0.137Konstantin B. Bukharov 7.0.136Konstantin B. Bukharov 7.0.135Igor Sukhih 7.0.134Igor Sukhih 7.0.132Igor Sukhih 7.0.131Igor Sukhih 7.0.130Igor Sukhih 7.0.128Igor Sukhih 7.0.127Igor Sukhih 7.0.126Igor Sukhih 7.0.125Igor Sukhih 7.0.124Igor Sukhih 7.0.123Igor Sukhih 7.0.122Igor Sukhih 7.0.121Igor Sukhih 7.0.120Igor Sukhih 7.0.119Igor Sukhih 7.0.118Igor Sukhih 7.0.117Igor Sukhih 7.0.116Igor Sukhih 7.0.115Igor Sukhih 7.0.114Igor Sukhih 7.0.113Igor Sukhih 7.0.112Igor Sukhih 7.0.111Igor Sukhih 7.0.110Igor Sukhih 7.0.109Igor Sukhih 7.0.108Igor Sukhih 7.0.107Igor Sukhih 7.0.106Igor Sukhih 7.0.105Igor Sukhih 7.0.104Igor Sukhih 7.0.103Igor Sukhih 7.0.102Igor Sukhih 7.0.101Igor Sukhih 7.0.100Igor Sukhih 7.0.99Igor Sukhih 7.0.98Igor Sukhih 7.0.97Igor Sukhih 7.0.96Igor Sukhih 7.0.95Igor Sukhih 7.0.94Igor Sukhih 7.0.93Igor Sukhih 7.0.92Igor Sukhih 7.0.91Igor Sukhih 7.0.90Igor Sukhih 7.0.89Igor Sukhih 7.0.88Konstantin Volkov 7.0.87Konstantin Volkov 7.0.86Konstantin Volkov 7.0.85-2Igor Sukhih 7.0.85Igor Sukhih 7.0.84Igor Sukhih 7.0.83Konstantin Volkov 7.0.82-3Konstantin Volkov 7.0.82-2Igor Sukhih 7.0.82Igor Sukhih 7.0.81Igor Sukhih 7.0.80Igor Sukhih 7.0.79Konstantin Volkov - 7.0.78-2Igor Sukhih 7.0.78Igor Sukhih 7.0.77Igor Sukhih 7.0.76Igor Sukhih 7.0.75Igor Sukhih 7.0.74Igor Sukhih 7.0.73Igor Sukhih 7.0.72Igor Sukhih 7.0.71Igor Sukhih 7.0.69Igor Sukhih 7.0.68Igor Sukhih 7.0.67Igor Sukhih 7.0.66Igor Sukhih 7.0.65Igor Sukhih 7.0.64Igor Sukhih 7.0.63Igor Sukhih 7.0.62Igor Sukhih 7.0.61Igor Sukhih 7.0.60Igor Sukhih 7.0.59Igor Sukhih 7.0.58Igor Sukhih 7.0.57Igor Sukhih 7.0.56Igor Sukhih 7.0.55Igor Sukhih 7.0.54Igor Sukhih 7.0.53Igor Sukhih 7.0.52Igor Sukhih 7.0.51Igor Sukhih 7.0.50Igor Sukhih 7.0.49Igor Sukhih 7.0.48Igor Sukhih 7.0.47Igor Sukhih 7.0.46Igor Sukhih 7.0.45Igor Sukhih 7.0.44Igor Sukhih 7.0.43Igor Sukhih 7.0.42Igor Sukhih 7.0.41Igor Sukhih 7.0.40Igor Sukhih 7.0.39Igor Sukhih 7.0.38Igor Sukhih 7.0.37Igor Sukhih 7.0.36Igor Sukhih 7.0.35Igor Sukhih 7.0.34Igor Sukhih 7.0.33Igor Sukhih 7.0.32Igor Sukhih 7.0.31Dmitry Mishin 7.0.30Igor Sukhih 7.0.29Igor Sukhih 7.0.28Igor Sukhih 7.0.27Igor Sukhih 7.0.26Igor Sukhih 7.0.25Igor Sukhih 7.0.24Igor Sukhih 7.0.23Igor Sukhih 7.0.22Igor Sukhih 7.0.21Igor Sukhih 7.0.20Igor Sukhih 7.0.19Igor Sukhih 7.0.18Igor Sukhih 7.0.17Igor Sukhih 7.0.16Igor Sukhih 7.0.15Igor Sukhih 7.0.14Igor Sukhih 7.0.13Igor Sukhih 7.0.12Igor Sukhih 7.0.11Igor Sukhih 7.0.10Daniil Guzanov 7.0.9Daniil Guzanov 7.0.8Daniil Guzanov 7.0.7Daniil Guzanov 7.0.6Daniil Guzanov 7.0.5- statistics: introduce public function for storing statfs #PSBM-154494- ploop: Fix two step mount balloon_ino detection when fs is already mounted- FIXUP: ploop: do not autodetect as encryption disks with absent encryption fields #PSBM-141821, #PSBM-141469, #PSBM-140446 (#PSBM-140446 #PSBM-141469) - REVERT: ploop: "Do not treat ploop disk as encrypted if keyid is not set \#PSBM-140446" - REVERT: ploop: do not encrypt device without encryption data or keyid \#PSBM-141469"- ploop: do not encrypt device without encryption data or keyid #PSBM-136849 (#PSBM-140446)- Fix PSBM-140638 - add option to skip partprobe call on ploop's mount Add option '-n' to ploop mount command to skip calling partprobe. Also available as mount parameter for libploop- Do not treat ploop disk as encrypted if keyid is not set #PSBM-140446- Change in check for bounds of bmap array #PSBM-138699 (Dmitry Nesterenko )- clear TRACK kernel maintenance state #PSBM-137145- check bmap array bound #PSBM-137391- "double free or corruption (fasttop)", action=3) at malloc.c:4967 \#PSBM-137640- check_deltas_live(): handle race in live check #PSBM-136735- File system check from outside of the CT #PSBM-135678- send_dirty_bitmap_to_kernel(): open delta with O_DIRECT|O_RDONLY #PSBM-136147- Check_one_slot(): revalidate image size on bound error #PSBM-135719- BUGFIX PSBM-132275 Pcompact ignore timeout (Konstantin Bukharov )- ploop-chek: add --verbose|-v option- Ploop corrupted after update #PSBM-129299 - plooptool_info(): the same src and dst is used in snprintf() #PSBM-128672- 'ploop defrag' should have parameter for threshold #PSBM-127354- The "ploop image has been successfully converted" always logged- ploop_get_dev_by_delta(): use flock(LOCK_UN) to release the lock #PSBM-127025 - Optimize compact operation in KAIO mode#PSBM-127086- ploop_discard_get_stat_by_dev(): provide native discard mode info \#PSBM-127086- ploop_discard(): do not perform defrag on vstorage in native discard mode \#PSBM-127083- Unable to mount snapshot #PSBM-126977- Ignore error on image format version autoconvert #PSBM-126944- Convert ploop image formatfrom V1 to V2 on mount #PSBM-125261 - ploop_change_fmt_version(): deny to convert to PLOOP_FMT_V1- fix spelling - ploop-check: zero CBT beyond end of the virtual image size #PSBM-125274 - ploop-check: dirty bitmap l1_table validation #PSBM-125270 - ploop-check: validate format extension #PSBM-125273 #PSBM-125269- ploop-balloon discard got stuck #PSBM-125728- call ploop-e4defrag for KAIO mode #PSBM-125857- ploop ext4 on kaio: Add defragger #PSBM-125608- ploop-ballon: Imposible to get current maintaince mode if no mountpoint \#PSBM-123560 - fix comment in 'include/ploop1_image.h' #PSBM-125268- ploop-ballon: Imposible to get current maintaince mode if no mountpoint \#PSBM-123560- ploop_check: autorepair image allignment if dirty #PSBM-124770 - de-duplicate duplicated clusters #PSBM-124411- Fix python module import errors #PSBM-123941 (Pavel Vokhmyanin ) - Revert "Update product name, PSBM-106039" - Let's leave OpenVZ, need to fix sources to accept product names with spaces (Denis Silakov ) - Update product name, PSBM-106039 (Denis Silakov )- Failed to resize encrypted ploop #PSBM-121602 - Revert "Update product name, PSBM-106039" - Let's leave OpenVZ, need to fix sources to accept product names with spaces (Denis Silakov ) - Update product name, PSBM-106039 (Denis Silakov )- Do not fail if no ploop.conf- Revert "ploop_copy_receiver(): call filefrag #PSBM-105933" - Provide a global switch for io_direct/io_kaio #PSBM-107256- Revert "ploop_copy_receiver(): validate image #PSBM-105933"- ploop_stop_device(): unfreeze ploop device - ploop-copy: Add compatibility with old protocol - ploop-copy: introduce handshake - ploop-copy: introduce md5 checksum check - ploop-copy: switch to queue chunk schema - cleanup: move private data from header- fill_hole(): print parameters before fail- ploop_copy_receiver(): validate image #PSBM-105933- ploop_copy_receiver(): call filefrag #PSBM-105933 - restore_hole(): process CHECK_REPAIR_SPARSE flag - ploop_copy_receiver(): flush all modified data #PSBM-105933 - fill_hole(): add debug logging- BLKRRPART /dev/ploop18626: Device or resource busy #PSBM-105751- tools/ploop-cbt.c: fix logging- tools/ploop: create CBT bitmap #PSBM-104586- STYLE: split create_snapshot() - creating CBT snapshot is racy #PSBM-104462- Introduce ploop_get_devname() - ploop_mount(): use of uninitialized variable- tools/ploop.c perform online resize fro unmounted image - tools/ploop allow ploop creation without partition - Change encrypted image layout #PSBM-104039 - dev_num2dev_start(): adopt to dm-crypt schema - ploop_balloon_change_size(): style change - sgdisk_resize_gpt()- Unable to create snapshot with same uuid #PSBM-103419 - check_snapshot_mount: return correct error message - Failed to delete temparary snapshot: snapshot is busy- check_snapshot_mount(): run lsof utility if snapshot is busy- validate_image_bat(): incorrect integer format in log message- sync_bat(): reread BAT after freeze- Offline merge can corrupt BAT #PSBM-102808 (#PSBM-101080) - build_hole_bitmap(): do not use header copy - ability to fix CT with broken BATa #PSBM-102741 - ploop_resize_image(): missed check- Get rid of Parallels word in source code #PSBM-102329- Check cached BAT is same as on-disk #PSBM-102488- ploop-copy: data corruption #PSBM-101845 - ploop_chek(): remove false error message - plooptool_info(): fixed typo- ploop_resize_image(): offline resize is going on mounted ploop #PSBM-101918- Failed to mount snapshot: Failed to fallocate: Text file busy #PSBM-101388- auto_mount_fs(): use namespace pid to find mountpoint - Unable to resize secondary ploop #PSBM-101799- Unable to operate with additional ploop images #PSBM-101605 - get_mount_dir(): return real mountpoint from mnt namespace- lib/merge.c: remove debug logging #PSBM-101561- check_and_repair_sparse\(): do not call fsync for every block #PSBM-101508 - check_and_repair(): remove duplicate error message - Add possibility to iterate all deltas on defrag #PSBM-101490 - ploop_image_shuffle(): update the end of image calculation- test/test-sparse: use rsync to generate sparse ploop image - send_image_block(): skip zero block transmition #PSBM-100783- bad geometry: block count 2620929 exceeds size of device (2620928 blocks) \#PSBM-101397- Update tests - Remove debug logging- test/Makefile: add Makefile for test- Check holes on RAW base images on EXT4 are populated #PSBM-101218- Faile dto mount RAW image with snapshot #PSBM-101200- test-snapshot: offline snapshot merge test - Print ploop BAT- reallocate_cluster(): u32 type overflow - check_and_repair(): remove debug logging - Allow ploop v1 format defragmentation - tools/ploop-check.c: process check flags if DiskDescriptor.xml is used - tools/ploop-check.c: update usage - dump_bat(): display additional info - check_and_repair(): calculate reverse map size - Turn off automatic image defragmentation on ploop mount- Use free block from the beginning of the image on merge #PSBM-101080- range_build_rmap(): fixed reverse array size calculation- CBT dropped on image mount #PSBM-100989 - fill_hole(): access memory beyond end of array- check_and_repair(): use fstat() to get image size #PSBM-100975 (#PSBM-100873)- check_and_repair(): incorect end of file calculated #PSBM-100873 - Revert "range_build_rmap(): incorect max filled index returned #PSBM-100959 - Add tools/ploop-test.c - Implement a way to shuffle ploop clusters for test #PSBM-100773- range_build_rmap(): incorect max filled index returned #PSBM-100873- check_and_repair(): fix repair raw image #PSBM-100719- ploop-check: added defrag option - ploop_check(): log ftruncate() parameters- Repair ploop image with cluster block outside device #PSBM-10012- Automerge snapshot in case crash #PSBM-99949- check_and_repair(): last cluster block is not processed #PSBM-98065- Optional header dropped from image #PSBM-97955- image size is much greater than used data #PSBM-97085- ploop_balloon_complete(): use keep_intact = 2 to query state - ploop_balloon_relocation(): wait for PLOOP_IOC_RELOCBLKS completion \#PSBM-96143- Switch to file system defragmentation mode #PSBM-96172- Automatic filesystem repair #PSBM-95789- get_fs_info(): report SYSEXIT_NO_FSSTAT error #PSBM-95386- Revert "ploop shrink: discard balloon blocks directly #PSBM-94855" (#PSBM-95313)- ploop_resize_image(): Error in ioctl(BLKDISCARD): Invalid argument \#PSBM-95314- get_part_devname(): incorrect device name #PSBM-95286- ploop shrink: discard balloon blocks directly #PSBM-94855 - Update Copyright- failed to start push backup: operation with mnt_type=0 in progress \#PSBM-94718 (Igor Sukhih )- Introduce ploop disacrd mode #PSBM-94639 - fill_hole(): remove is_native_discard() condition - fill_hole(): logging enhancement - Error in __ploop_discard (balloon.c:1110): Can't filter free blocks: Invalid argument #PSBM-94727- Error in ioctl(PLOOP_IOC_FREEBLKS): Invalid argument #PSBM-94597- Unable to get discard granularity #PSBM-94425- get_discard_granularity():not correct size passed to readlink() - Unable to get discard granularity- report number of 512B blocks allocated as image size #PSBM-94110 (Igor Sukhih )- check_and_repair_sparse(): native deiscard support #PSBM-93860- Error in add_deltas (ploop.c:2076): PLOOP_IOC_START: No such file or directory #PSBM-93808- Do not call check_and_repair_sparse() if native discard supported - support native discard schema #PSBM-93734- get_discard_granularity(): Nul pointer derefference #PSBM-93385- Use block device discard granularity in FITRIM #PSBM-93077- ploop_get_dev_by_delta(): do not call realpath() #PSBM-91713 - ploop_get_fs_info(): - get statfs info #PSBM-91713 - open_delta(): error logging- read_dd(): remove stat() call #PSBM-89931 - get_dev_by_mnt(): fd leak on error path - get_dev_by_mnt(): simplify filter condition- Fix logic in mountpoint retrieval #PSBM-89986 (Pavel Vokhmyanin )- Allow e4defrag for encrypted ploops #PSBM-89702 (Pavel Vokhmyanin ) - Fix compilation warnings #PSBM-89924 (Pavel Vokhmyanin ) - Revert "fix compilation warnings" (Pavel Vokhmyanin )- ploop_copy_start(): send sync command - ploop_grow_image(): always use online grow- ploop_cancel_handle(): Do not call glibc functions from signal handler \#HCI-146 - scripts/crypthelper: "subprocess.py:1047:_execute_child:OSError:- ploop_copy_receiver(): report error to client - lib/ploop-copy.c: handle EINTR in read/write - lib/ploop-copy.c: optimize data transfer #PSBM-85381- ploop_mount_image(): remount file system if device is mounted #PSBM-86655 - ploop_stop(): process PLOOP_MNTN_PUSH_BACKUP state - Get in-kernel maintenance state- ploop_copy_start(): image copy hang #PSBM-87271- etc/Makefile: replace spaces on tabs (Andrei Vagin ) - ploop/replace: don't check that delta-s have the same header (Andrei Vagin ) (#VSTOR-9617) - check: execute ploop_check before replacing a delta (Andrei Vagin ) (#VSTOR-9071) - Enhance CBT logging - Add bash-completion for ploop, ploop-balloon, ploop-cbt and ploop-volume. (maksimov )- cbt_set_dirty_bitmap_part(): endless loop- cannot create ploop with ext4 on a drive with 4k logical sector size \#PSBM-81545- ploop-grow: don't fill a raw image if the sparse option is set (Andrei Vagin )- ploop: allow to replace a raw read-write delta (Andrei Vagin )- mount failed with: stat /dev/mapper/CRYPT-ploop50869p1: No such file or directory #PSBM-80502- ploop: allow to create a sparse file as a plain image (Andrei Vagin )- Extend ploop size limit 50T #PSBM-79604- free_ext_context(): NULL pointer dereference- send_dirty_bitmap_to_kernel(): double free- Memory leak in CBT code- dump_L1(): make output user friendly - raw_move_to_memory(): memleak on error path - Get tracking bitmap from image #PSBM-77973- ploop_clone_dd(): do not convert DiskDescriptor.xml - ploop_clone_dd(): drop temporary bit - Get used block bitmap #PSBM-53844- Clone DiskDescriptor.xml- Add ploop_drop_cbt() to public API- ploop_resize_image(): incorrect fs info reported ofter offline shrink \#PSBM-75100- get_image_param_offline(): use OD_ALLOW_DIRTY for open_delta #PSBM-75809- get_partition_device_name_by_num(): use /sys/class/block to query partiton \#PSBM-75261- ploop_init_image(): unable to recreate encrypted image #PSBM-71894- Error in do_lock: Can't open lock file: Device or resource busy #PSBM-73316- parse_xml(): check for KeyId != NULL- Export ploop_init_image() #PSBM-71894- volume: allow to use existing directoy for a new volume- ploop-volume killed by SIGSEGV #VZAP-652- ploop-volume: add struct size argument for get_info/get_tree - ploop-volume: make tree and info commands print result in json - ploop-volume: add tree command line option and API - ploop-volume: add info command line option and API- ploop_trim(): endless loop on FITRIM #PSBM-70551- ploop_get_dev_by_delta: unable to find mounted ploop device- revert fd88e52d30 ploop_stop_device: retry PLOOP_IOC_STOP on EBUSY \#PSBM-69753- ploop_stop_device(): return with SYSEXIT_UMOUNT_BUSY on error #PSBM-69753- ploop_stop_device: retry PLOOP_IOC_STOP on EBUSY #PSBM-69753- ploop_find_dev_by_cn(): use only base delta to find ploop device #PSBM-69781 - volume: mark volume based layout in DiskDeskriptor.xml - Failed to provison volume if some of ploop modules are not loaded #VZAP-474- add_deltas(): NULL dereference #PSBM-69755- Makefile: install libvolume.h- Use open() with O_CLOEXEC flag - test: ploop-volume - ploop-volume: add command line tool - ploop volumes API - Dont store parent data in DiskDescriptor.xml - Mount file system in ro mode for snapshots - Always store relative path in DIskDescriptor.xml - ploop_find_dev_by_cn(): search ploop dev by pair (base & top) deltas - Introduce volume specific metadata- Can't mount: Device or resource busy #PSBM-68599- ploop_umount(): do not stop CBT on ploop_stop error - Configure umount timeout #PSBM-67574- ploop_stop(): return EBUSY specific error #PSBM-67574- Export ploop_get_top_delta_fname to python API #PSBM-67091- Ability to tune inode_ratio #PSBM-62212- Add option to set filesystem label- Fix Copyright strings, see #PSBM-58317- Fix Copyright strings, see #PSBM-58317 (Igor Sukhih )- Added gdisk package to reqs, see #PSBM-62710- cbt_dump(): skip CBT dump if not running- preserve CBT on offline snapshot creation #PSBM-62562 - tools/ploop-cbt.c: show dump usage - tools/ploop.c: added -o - offline snapshot creation- Remove -fsanitize=address from CFLAGS #PSBM-61727- Place package definitions and files lists in right order - Move license installation inside sources Makefile, see #PSBM-58317- Added libasan to BuildRequires- Move branding to separate file, see #PSBM-58317 - Add licenses installation (Konstantin Volkov- get_part_devname_from_sys(): AddressSanitizer heap-buffer-overflow #PSBM-54889- Unable to delete tsnapshot #PSBM-59212- ploop.8: fix typos (Kir Kolyshkin ) (#PSBM-58292) - ploop_restore_descriptor: fix clang compilation (Kir Kolyshkin ) - Modify get_partition_device_name (Mikhail Feoktistov ) - Rename variable (Mikhail Feoktistov )- Rebuild in 7.3 environment- libploop.h: move PLOOP_MAX_FS_SIZE to public header- Introduce SYSEXIT_UMOUNT_BUSY error #PSBM-54005- Failed to resize image: On-line shrinking not supported #PSBM-54003- Turn off console logging for 'balloon discard --stat' - 'ploop balloon discard --stat' does not work on not mounted image #PSBM-53998- Rewrite crypthelper in python #PSBM-53278- crypthelper: process key from STDIN in file mode in cryptsetup #PSBM-53205- Use custom script to get encryption key #PSBM-52949 #PSBM-53053 - rename crypt.sh -> crypthelper - pcompact timeout doesn't affect defragmenttaion #PSBM-41298- revert commit bd46a066 "use session keyring to load key" #PSBM-52965- crypt.sh: use session keyring to load key #PSBM-52949 - Use O_CLOEXEC on device open- Failed to resize: Can't fallocate balloon #PSBM-49371- ploop.8: add encryption info - revert commit e35d4a0f6 (#PSBM-52358) - encrypt_image: deny encrypt running ploop- encrypt_image: decript image- crypt,sh: keyctl_read_alloc: Permission denied #PSBM-52358- crypt.sh: fixed result code check- crypt.sh: debug logging #PSBM-52289- crypt: Device /dev/dm-4 is still in use #PSBM-52258 - Use partprobe instead of sending ioctl for LVM- do_crypt: fix using run_prg_rc()- crypt: dump key info on key retrival failure #PSBM-52202 - Return SYSEXIT_CRYPT specific error on crypt.sh failure \#PSBM-52241- Error in ioctl(BLKDISCARD): Invalid argument #PSBM-52241- crypt.c: invert change key logic - scripts/crypt.sh: return action specific erro codes - ploop_encrypt_param: add PLOOP_ENC_WIPE flags - Change encryption key #PSBM-52087- crypt.sh: equest_key: Key has been revoked #PSBM-52134- plooptool_info: diplay partition device name #PSBM-51859- crypt.sh: Load key to default user session keyring @us #PSBM-51923- ploop_set_encryption_keyid(): add operation lock - get_dir_entry(): do not fail on ENOENT - Fix cleanup in ploop_create_image- Add functions to resize partition on block device - Add functions to work with parted and sgdisk utilities - Add ability to initialize block device via ploop init #PSBM-473771- Invalid CBT in the image #PSBM-51513- ploop_store_diskdescriptor(): devide by zero #PSBM-51427- Preserve xattr on ploop encryption #PSBM-51074 - change ploop_encrypt_image() API- ploop_get_mnt_by_dev(): access to uninitialized memory #PSBM-51168 - ploop_encrypt_image(): wipe image on encryption failure #PSBM-50724 - Update usage messages (Mikhail Feoktistov )- Unable to unmount disconnected ploop images #PSBM-51110- fix ploop_get_mnt_by_dev() to work with encrypted images - Pass --allow-discards option to 'cryptsetup open' - Take into account luks header on crypted ploop #PSBM-51037- ploop_get_info(): don't work for mounted ploop #PSBM-50945- Remove --xattrs option from rsync- Failed to mount ploop #PSBM-50937- Makefile: install cryptsetup helper script - plooptool_init(): process encryption keyid on init action - Encrypt/decrypt ploop image - Store encryption keyid at DiskDescriptor.xml #PSBM-49384 - partition device name getter - get_mntns_mount_dir(): make function generic - LUKS disk encryption support - run_prg_rc(): pass environment variables on exec - Disk encryption: init/mount/umount/resize #PSBM-44166- Call PLOOP_IOC_FREEZE on partition #PSBM-49837- ploop_get_dev_by_delta(): ignore realpath() error #PSBM-49902- USe new ioctl to freeze ploop device #PSBM-49179 - ploop_if.h: add PLOOP_IOC_FREEZE and PLOOP_IOC_THAW ioctls - Disk encryptuin: add keyid parameter to DiskDescriptor.xml- ploop_copy_receiver: truncate image on dst #PSBM-49076- Create .statfs and DiskDescriptor.xml.lck with 644 mode (v2) #PSBM-48352- Create .statfs and DiskDescriptor.xml.lck with 644 mode #PSBM-48352- Update ploop_if.h header to the latest kernel version - Error in ploop_fname_cmp (ploop.c:1129): No such file or directory- Add ploop_read_dd() to public API- ploop-copy.c: u32 passed as u64 to send_image_block() #PSBM-47575- ploop-copy: CBT live migration #PSBM-47128 - Fix close of 0 descriptor in case of error in grow_lower_delta. #PSBM-47329- send_image_block (ploop-copy.c:480): Error from read: Bad address #PSBM-46720- Port CBT support from PSBM6- Sync ploop_if.h with the latest kernel version (#PSBM-45001) - Add --defrag flag for usage and man (Kir Kolyshkin ) - include/dynload.h: version for ploop_get_base_delta_fname() (Kir Kolyshkin ) - ploop_discard(): nitpick in a comment (Kir Kolyshkin ) - get_delta_fname: make static (Kir Kolyshkin )- discard/defrag: take into account image size change caused by defrag #PSBM-42548 #PSBM-45364 - Unable to create ploop image > 16TB without filesystem inside #PSBM-45162- ploop discard operation cancelled on fs defragmentation error #PSBM-46198- Lock descriptor before accessing it in ploop_get_*_delta_fname() #PSBM-45496- api to get base delta file name #PSBM-46238- ploop-copy: Ploop image coruption #PSBM-45837- ploop_copy_init(): open folder with O_DIRECTORY flag - send_async(): use pthread_cond_signal() under lock - Rework check_snapshot_mount() - ploop_merge_snapshot_by_guid(): improve messages- add ploop_create_snapshot_offline() #PSBM-42981- python: Add snapshot create/delete bindings - python: fix error message for PyArg_ParseTuple() - do_mntn_merge(): fix the check for same file - complete_running_operation(): unexport- Fix statistics returned during ploop copying, #PSBM-41177 - ploop_mount_fs(): rectify wrt remount - ploop_mount_fs: don't mount ro when finding balloon inode- Repair DiskDescriptot.xml on process PLOOP_MNTN_MERGE stage #PSBM-33414 - Makefile: .depend file is not removed on 'make clean' - mount_image(): kill flags argument - Fix compile with gcc-5.3.0 - Fix compile with musl wrt gnu_dev_* - Fix compile with musl wrt offsetof - gensym.sh: busybox sed compatibility- ploop_umount(): possible NULL pointer derefference - Rmove temporary mount point on ploop umount #PSBM-42493 - Remove temporary mount point on offline ploop resize #PSBM-42493 - Remove temporary mount point on ploop umount #PSBM-42493- Remove temporary mount point on offline ploop resize #PSBM-42493- Remove temporary mount point on ploop umount #PSBM-42493- Directory root.hds.mnt is left after container resize #PSBM-42493- ploop balloon discard infinite loop #PSBM-40948- Resize ploop image mounted inside mnt namespace #PSBM-39492- mount_image: return SYSEXIT_NOSNAP error, #PSBM-38423- ploop defragmentation support #PSBM-30163- do_delete_snapshot: pass copy of guid parameter - ploop_get_devs: NULL pointer dereference, #PSBM-40203- Add makefile for python bindings, #PSBM-28485- Updated GPL text- Updated license #PSBM-26806- soname changed to libploop.so.7.0.x #PSBM-32811- Revert to version number to libploop.so.1.12- Move version to Makefile.version 7.0.277.1-1.vz77.0.277.1-1.vz77.0.277.1-1.vz7bash_completion.dploopploopploop.confmount.ploopumount.ploopploopploop-balloonploop-cbtploop-e4defragploop-testploop-volumeploop-7.0.277.1COPYINGGPL-2.0ploop.8.gz/etc//etc/bash_completion.d//etc/logrotate.d//etc/modules-load.d//sbin//usr/sbin//usr/share/doc//usr/share/doc/ploop-7.0.277.1//usr/share/man/man8/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generichttps://virtuozzo.com/cpioxz2x86_64-redhat-linux-gnu directoryASCII textPOSIX shell script, ASCII text executableELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x042e7b3f8ed8f1aae20ea0ab642bac89b59fb5b5, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x1fb600313e91b76038f03e95d51aaebfcd0d0b6d, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x50ebb5054966c4a1e3e8aceee0d6398c3ebce151, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x705c1ea949e967bb9ba8c046a6da8b319592062b, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x557d6c41b8ff8d428c12d478b5fce47c9d1df3c7, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x1e5bf2179938f51fa1f3ac37cba8bf3fd245ff6d, strippedPascal source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, from Unix, max compression) #*  RRRRRR RRR R RRRRRR R RRRRRR R RRRR RRRR R RRRRRR R RRRRRR R R RR?p7zXZ !#,☧] b2u jӫ`(3 4LA넞!18 ^opiqʍN,XuGpB23h2vټPVwZa,T"!dj_ohhfӗ>8/n7XcWtN'oT7tbt^F^r#{08[i]z,a$[VޭKD5X6 *D & GTVqv byr|,{dMlvxl֜mrE $MpDG$|UƱG  xbi4`U[n k&x2=f`;SF,xՈ:c$arњboCko~iuC`4ۘaQ %}1*v7و+nNr}nyk۝ ܽ7ɛt.'#$Wڔ+exݕ@7҄܃Ұ8ׂ$9v2p}jS9ݎ.s,"gbyA\YC]JؘJKTs" $ޭp+)޹>6^I1ehGA^&.H3FWf~ G`%ieWK☡RJ*\#"BW(5G}_z>4j)tw4hiRuQϏ+^zŸ}F{m2rX޵yPњ9s!`:l-jf[}EZB$g"ShM@O ƛy;U1AO xQl R 5= #Jtd?^E4=>GUO:n4J˩ء}4Ѩm)j/Wov|?-)Zmr0lhDȤ1b,'#_xi  |La'etCwna9gI=k*dm/֙Kh:j %gJtǠ;|Ssi!%\ɄÝyh/ah~T0 ;|/[B[PN2\M"$񄚲p=_0Y Tbp11lr8,\T@$R^R Z&*]/* KY$' Na|n*قOS2a! .~ ] 1ZϽG"CB m38*iP6Sa`̦\0 m#@EFl"QUUZ9A=~K(1ƺ{!>:`v\<9|TlXON6C;sՎÌA^9GwtVaĞH}g)˺/ jY(Uee(OSJ;UuZ (\^ݕs#/"6^ *lo&Ljg_$V3 Į-)bBn`_jIo0 %Ik@>M_6ј Ioăe]]?,z+UxH<<;e=#S^ u'},zVnNt-O .ϳՁl-Fzz}OLf7̰$^6*9fc["\BxEq]j _QC^!؇ISzVW'kd?l|q#|IIUu˽b[ *vS/AKQ>(%5ykiq\n@_ȷ&B%7y!R%=ڴ4A0K}7 VԒ>O"FZȍz/eJO'ѱF _;sv#E[l?J|`7Nf(cUwn-A7? L"'e_ .2P?QpV2=bu<<̺tC\(t%9k;Cb!nPyW/HqӼp=3@Wi*oຬd]/+Th2lc[~0e#ҘMV2mOOnR\*s<=ؚ󘾩Ǭ5MPi \; #Xj6oef4~roX.z08*$Dً % NZ+x7 'eaE`EZ*q< PnPL XB!%"7igAHbCw]BpsT#0a'\|΂%:B\<@5ZQj xq_9rӃuOi~œ@crsU嘭L)Ȝ[s[Hy1L(vuFĻ{Aw8hop"bOwvOMcșX= :k\q%eo@TChC{ fۃ zbX=4LV44=~Fifšvk2 kOBA!|]GRލ턼e"'xFݞUyyH ='A]ΖY@8b`mVhF0)v1u0YCw5QڹPݸ?51aG>s:J܄K8bpFPmyI6p#}XX{8,yqd N@rք8`QZN]8=i*=8nGTԩǫ,ܴQeQ;oM k1.%d&7Q/1Ǻ>5̬0R+Le!ïctnOt<Д]$i^UMKBu<4xW2aW׭`=xB Yv喊8'#^OAԂLJf ёz0u#5YQlF1v[yg?ݴ%b1#|ztk`֟o."m%K|Κ}NYܜ]BuUn2%| F+>ݔ@r}ݡ* מaBci."hdl^x\靈L(= 2C 3~dN<- $g*d:Fo#b ;䉫AeGV~$=;}9]+wG Nf|=ӣ|uǕ01(ҵɅE! (JHõ񔃄 2єm#E(Yae <޶[tL2Ӻ~𚉠k mu#ɩͱ0OǙ Сad4!4쎫Qw"9 ?d 4J eqHke,-ª㑴;kh4tϚ[?9Uru;#f !R=X^)ٓxl2GJm VcD*if̅C{ZvMGgZAک+!9a^=[vy/$GZ,i'6UuYȞ2w+YQU.`8|;V#`"/h?Vu$rkM' Q9t}f9.~;9LkyGInVڻܷ!WwʚAxH,!|ZeSsQb)p@Tan&@y,+2TB1Q/ p 6`^h Y*?Zx1)_@H(f=P|(~kxhq t{{v O,I g; n򔲀:0\`7\d}igDI ͻpp!$dH4\ є.Q_ߴQ'R`8*a^Sɘ;|cdNO}66B|*-*)B"jxBtupƇ"1*CmWBK ɚ(h 8]_~V0Oxc!uoeHpmZdXr XXI׎M`?kL_4F7*]#ZZ|! cBɋgTXERؠhONE~ ,0) xK C5ʾ]mZQGFGwHgE ktѝfH~ޜH;<)ؒšٻ{|)\[*ET}\͌X+7Eg`/r'c-v4F Zy\JMfW.I=$&^#r˶]7}[EBGv`8-T) )؃ e]nqs.gf:BQ'6]Yf}?ɗƣG[eյmE'頴 xD.@a !YlN7GsaK6)eEXL9:B p7g &~a_o5IX]G0YfɘpHRx ʏ -=aC*x!kܺA?+֖ !=E#<y!sOxVR5vH_ 9 G7u,٬g] qh@} y ϵŃ;a ׶t o󣲦) s|ə[-d_UfX[#~ܑΣָizC!~gd]!F_')|ۂ[h[[B0ͻN"@4WDkh>^)ݱj4+Q>hLnULU0 N<{h>ֈJlf P.65tWTiűʡa*n08(̰:!oS/ 18ZPVeN )9oWQ/rV@oF"\}-r\LEUpu=Zn/<3NLOl]9?ds>AOWٿ`bBRp{>vܢk%Y sV-mmY܃.XV qy O܆<ן !QxkaP z <(+޸.qE2Ѐ3Lo^amϞ=ov4`9|O_W"TN,7fvgCsW'iu#W 6!>C y6=D1.XV<1 Į.g6&?+'UD?FȔ <Z9)wQ yesN7l,}΀=J "̩TOL=c̔۠G%nDrItMaV\wR1 .d5Xiؿ2}75h'4\\s'3eV!ɻqbW U;QŰ >X׬< w5jwF6.]ew'1==( c|ϟ]mS 2 P>s?B#J. *ɣW (![^|m>іa6=M<~ޒ8I${`%\fj:?%逑S(o&~8|oþj;T/Eu ]UT_Ǽ6Ulj]+ \A.]8j .EVQ1[-wy :sv,Py'Q0ܕ4\n9w(؏K4\:=!_\{ɀ|uT%(L|9nwF"^\׸w-%lۏFq$|lk;qpF" Gw'-)zoUB流V"4q)}ٝ'.2,[|> <'0TCw!* ,jAhbݠyxF4g8GsNwe6tɸb(-.uDH1$UMbW'8)O_)%rmK2't^qxU`NY%W'  ФKh2l_apb_-XO/ߧ&8iuj[f6ZvZl2:q$&hWaňNCU) -eU&9Q5tV_؄sŒ5a M<{ R+>.iF߆h$c@ M.iN9PĄ#bz}e7T1 cim x<(U!.TՑM nAj=D~,U@^D:L@|o{A:/jI\Q3!oW6p{'wS6,{[O&u+$<On*G~H ;06Jóyn!m/O,iaL%m!yYE41&+Yp'܏i>GYi;N$A$^*}zi3w ye{&XX̽{ҜL;=",Y\vġ1 j=WPq³|ϒrDU ^+M?uS*/$h)w A7 {mT'>*oWx_ĠK=ʺPfÕL&*=5lܪEӞ .b59|6%~ha/\ IGG$D_I| inUi3(O-ս/S<3K\`TĒɯdQ(Omux<LF83^Aj$2_ \/CųL<hylJn ~JX/ y돆ر XgqKѦHո8$} Q%{rU=2jJg836gTeQ^)F촫$ç෉-1Øy&>iaR6U{\yYW[>a;>Eᆭ ms;[4-S#:2mumߦ^bQ@ٝ?;D)G>V C ^kdlF*+qI y;pф_*jjn&gqBI8y'!Fyrܔ}O4 J"8UY>P2s\T߶aVu;4-0N\eq&v^=oj\pjlxqA&p{ %׽*iM<3wx5i\YjA߿1NxZ+cZڽ 2ɓ]qqQcqhL5hZVD? %+#VtC ؋|h6!wIk%Qbp,:t!ְwX{dU˼OnU#|{-DkgKRz+//bT2nnXw=OipfǃD~)-l7U՝H.y^c2 ?lw&iϼ?Ⱥ/-Txە9gv# -xTPAiR'CX7|PN]ҒVGFBK \7Ջ.'!rП]E;5c1YBI?pPumuE~=N\;2T&F> }߿Y\(vdK-_ fnh6 |;e~`1q|Gj6t`t w: /,㻒u&8l_+EʖY;45TYΒ_?q3Z'kk!wY+/(1NX4sc3PIEv+Dˊ:7PnWR̓'Ĝh["d/tBA~ LNPmµNfk'q ^BS*δs6 K E^Yr%TOE+1/ћ VP@.,A+ WAlpF~bEvݞ#f4T@`NKr%R-ɬV`@,zSP)[= 6@e@ƞI-KK%1:83?PϠU=Ϥ;;71;vL#ΓyPG"$Dla~'$?yX;xuއajvPT᳹J1jP_/5wv8KN"ą={.@P.&)46) &5fƝVְ=<FԦjKPvǶe=K!ڵmg- [(Ͼduݒ>YGrֻ2# "}Vu0-b`y̯K,G)ܖ-vTUK C>p9}Vj{bw'Zi|s9q0l$O54nļ?Fܱ]ebP FL\/ƪF4)E;V]QWb~E{>Vre]2f6<)+Z A&JdIcdĿxK/6oAQzRFN4?/[E ef˲w7SE&t#DecNyft$ RtݨqВ!wk6#09kn$Ng}CUEcxi@꣺5[ZLhjx3Ƕ҃x x# +3fPe}u*B9뚻r/$JhmJm9$q\'A5..?S^ Lvu\B J]RP_C*thuiKbi@I l wYYP1[ܦ$Þrm6Ѝ gF"qf^x~+#@wJ/߳'VL@/w$~30WqwvI,)Vk42 RRt$-;Z0ce>?GR,xN *6-̀ea A 937A T\v[hpn8zXҨ9b1o:w*%SӶ,뽄yΕ7f\)KN|k1&Y =8mk#xx)hQ@ O*rv}|D4x5%X }zD e-7@>'8/+yn{{hxڠhpg~̡wO9os.ΪԒw~& Yތ Awܯ[J?Sѱ7:UJػ#N//<-9^$xe?]eZgH>04\G"xQAOaޟoA>+[1fA.EJ7:s' Wjij?em2LѐK߱ 锼'j4${ sAp0یV,l & C\[~ҽuQap;b/ذ{/oak w#8qt' ~u$n:hGʇeǍ.CQ7&XTv>pm'Dj!vj(:9Btf(wP%l Ļb0n bhO$F%it6 6xE>H0?ArQ_3~Z^j6$ rmZL=Y/glz=5PGt0Y gO%1X^m-ѲXDFC=WCwS&}L(G0wL|ÏoԱ{$=I I.,8sO)!ظL1$v8ktk (X QF‘`^u Bs:FܻRXQ&pÔ{Yh IchjQi{yf[D %&LU휋 i]̖=nްWvETYh2#Wnco.enTN{w'| 0MIeZZrótܠ1u!3`hLuɧ5|}>Mg$[MI;?R p4rF< ;kP}b;h؃Gt,*|CPGN`_*2_jүZ2Rq7qZn*]?=b =uRYgU<\ʴ1:eV%-(듄 AEa0 vja>o 9ԕ5ߏ)YT:N''Q:Zc<Oht:]u Ӣ+ޔbI #7#I ;7ja} dZȗ03-|J|ˤWU8 y/{L+yTΰ5l:,fMQyI%aT WsRW@^c,T2T,OӒ+%k((¿m6zJUձH7ؒtI&l+eHF^7e눝 r-{F6.Z'oHn O\}9Nv=xu<̺O5if%RVE7dؘљٛSM#C¨vVcWUgas8sHA9-U,.f%we@"$G[iʥIS¹W2ٌHa %*@|U;AIeWV*G Y&$gY^}m]'JygCDXR#i՘9Œ@f`]q>f/Ѳ\(}vV츒5A/Ŋ6) ڒQB݌o aG *m *ҦZsMsC;W2o(VM9X >B UQ [.V(ZT=nCmrGTJ/ٸo%h ǐϮ"|3Ÿs8]L犢-.u!WeACl4GkNYPKx-8QvcVimv6BˤTH>Že;~|W$( T%XI#){CU1L%>Izݔt>63ߦ4!5R)tQR%y[KPVHF歅ZC8UPg@M]5͵e~X摧vθek~%lDl&ge."c7rЁ`X590)21p(r,/z ĉ&PNML|-{ 3=e"Y#4y'pۗ'ЧưԵVS-̟)n&.Qq\Da'4o}p~p GU595x+ Jȱl( FRߒZ';QS?\d\3D;fmP8 7X7L}Fڛ &߽9pJSI!P?D \dE-G xfFJy7x񒅰NP-o3<9L[걚|p(LT6W ZW:|%l}U9BǟtUG~Ӑ$w)TW|?^vȢ`K5A G\rK4Q:|6yE#SF- ǨFCy5:FSؙ*sm`rv I+&PC&3LDD!JW67r0o.!oS5wd#W|S6(4ePjr%|.9wU vñ;R'HMx@:PQ3I[r0۸gXʹ[ ݙCmq y %o9@ ~[qCu@&kVy ˝xN"OyK%@A*),RyՄT`7ʙ[O0qn%a<1"O $c`30n*BFz.x0qE1#ý+|t!FȞt K9 I,*7ŝ~ۘxdŕY30"'`4~)PƇZϾ%g+DZɹ}aid/u{GZضΰVW.P}Ҏ|5o/FV†9<߭LOM?m6.Sb?/ ufJs|M@?%~,0z 5!, xsI0w A"wգw4n?βԊn{;6߷S ղA0*E%*!]no9yFиAϊ]&5 vryU}j[O"S+el{H- ~Zm!e Sa Ok]b(g=U.:`<OPyShO#~㤂bM.,_~BgSKSތa3ؽ̴Ļl@TM!@{a?{V6 7e~ ŋ*8cP o*a* 0B6?~|3kk??'pէ{_. ; -xg d`\dhUjw Py&GW}\v-(0.:Eؕ$.@FņH~OA[N%:SFgLL@%5wo^fyP?&A=_~iT!񇙨)[w)7q5\ԓI}SV\pxDbe(qh)QgmoBXyl?^SX.HTTb1|K!\r#H_,69huɿB/ɰ㈨!ӈ*6b>NUӍi j#-ָx@~10ކ\eY[As%ŒG;iӞZ`-˳no}GQF")ԉhN'!4,|;OYC薍l=K׳.aZ?,hkb ь@ /Ҳ9rxe-O3Ύ&/P=weU}&YqNHOk\jrʣ&ckQDSʟ0gIz-Pˢ*%[,`k3In loύKEn|o?N;5&2S%(X"TKla(4¯"%S˻=4CK8h]{w8)R~iR^J 3pvzn*8dx(F1#YKWv ܃6D;}'ՏIopup-"CLȰpY' cGo!f0GʜW g_qX3JL_nF@Kg_X: ۻ{6^.(y=B+AXo3n$r炀FCI?Ѽg E~[]"7'ѭ?(HSY;K&E`j줓Wz_thsLr@#3,d̝qc S-](\=@ =Ekt*Pp>#.^3%CH4[,ʔQ@Tany\&~GXrygzd{\V"tyTSȴhyՃY<Fp[r65ۓϙ,KBA|րE$mjIrRǙGԍ07YB(i`[aBS8K=c!=T΄byzDh94&y><WLvF=>N`+i5N;"gz+3V/I:yzKcW:5pW;nqcKBcyEGы,R`rV7#ٕ,&DQ|ʜUjtn{9ɀP?B >*әy@UüⅮ-(j3q#wGj95`د^v!1kvC?% h/,bJ9LDTFq#RҜ|rg8`8h:H|:uZxTUY?y[іGC %A\Vkݮswk? 4>jNtޮ>`Oh,.+^I 3B9qF \t"s3E3x畓n= /K C#gI5"ϹpƬRnzYm33Ye \Q5PTo^I>(+b:KҹoU wUٶVu5mؓevJw^oXhX_)@V<"$<Y̦](GT w` AZm슕j|]rC.qe€hvY|A2%_^mUg'UubYy{U6 $Igi=oL yBϗ!:1yBG@ 5ǯ)ROfHoFś.1ncU5V$ Y}C"-/ %-\ ɬFt|tn}9#݃9ه,CnOojuWE .@Vn]e>|t~. 1/.v| ܋Bd0ڿR}9 9b(Hamc(_Z0DRJΐS0+d䑶8) #]18KU JBt,=ex `>1m7sBx RB`d]>mbCHgZbΎ:uYᙽ1'J<9 [Ӹc,IJ̥}+hEaOrD @W'g/A(W/4/bF.nBZU%ZЋ~Dc}B]^ȣ72"y. L JvB ɉ'Y%-,8$q8k*yze%,MaFPrŭgLQ y+*?d:0J0Dp&Tm}ҡ o쌺O:AjIj&qm]tH,saWwϣ!{+YoWpFe,3Oiť=[!Mv~>T+Q>v1es[;ȐCQ;Iun_Kp )hvP;R&+߭[GGp*)X%zs ZYx֩ c|_= OP^U}\!nhkEC^l ʕBCxp t{ "eǘ`Ld: N͢h8C?bv: 94 0 W#%#yQA;Sf17}]( 5FMA'fW}kwi]BbsivZVLQ!;L3i!v= dnY܀N|% kuQ67J\~ =E ) tb`fag#>Sȓ OkDLhzN)F`;L9w> i#\t>*['wB7fG%e[H_]n EM75,.plY<""{1JGm҇*q_e.GV\q3V a?!VF3.c=e5'J*%G?$\5N)ZdtE1neKuvBl=Rܯy;J!A>:XxQ+͢Lk&+ܤ&J[.X# b4d7DROo= >N{x9Þ1ª;G.! =TnSht#hW/82_~9nM+Ϟ␴h~-ʲqkW3)%Z\hT;KThaE¡Lt׫xg!FHH T3Ӈ8!䩟fҖZ tfؔ6kx|NE2q^ɍr14SS:廤L[vg.[W=g@n;tz;oG@? n?w[#SE]/9s09rY3Fݴ! m RKFr8;u>Lr|NCcDq/eXOƿ]L^eM:w }%[2T|ws,f^0!a=23vqqjµ glE%"xDy?ft)*v=QQWf1΂eeGCBwCŁvaX?gIlN6 d>BZI:dzMېhc& gY f 2 >Pj`$3c9 ]Y^c`Oe"{" 9 [$AC F^P"!\>MtB6 Rj@9$]E/#~`;`y\P4FmF#=wt',  R'ws z[.Y|Z2-b~'i6{UDI|h_7v 5qgF\ޜ"t. Zh}-d_Du0Ua>Ӟl,YZr1܋YM Fh`>Լ:~F\iT} %C3U#m2芖kCɔ?&ܶLp"bz |[ȃ2^8X 7[wivJ]+m ZG'f[ƘѼ[Zr)E 1$BdٓNh Rj5VSW$Byj^cSȗ")ISKP|#K6oFgSzJøh}Ƭn4^4c(,K&¹xv̩ңK?^=ؤYiP)AQJ-zs&;Xc+.!E#MH|dݪJ8m'Tνtn3k?]'B?` oUG"*ܭ@`i.mG@ON u ~z+ >k=,\VuH[F}!}!>(~ְqz<Ƭigټ<ǟ.vUhFKTU0=r t>Yz_ ikAj{'frҘt18>:6FP6ˠ^0ݎw*eGk.3F-eh:s %D'/e&JdBWIL/Ƥxְ xڎ{%9 K3ǰcИ+“¤ DដIw\o+ Zra#*xT Yw`-<dt`zHMQ(R~$ gXF焳o%FPG|^\怳=ѵ[1OiK1(gcVKKRȫ_EItR:M*"Ibi"Vf\QpkLx6Z'8xcG javcݩX;ĥsW[ ~X,i|z[pe뀜3+؋8^m\a! =4١cOHzoT6%NYFH -bf,7PbSqC+Go"Iĸ)*&hԩpZv78J:ck dH%DkpCߖM1%5_iqD5=OfG{qީtxЈkbcCH7_/>Na7D1߲|O)oؠ@{F k'2Q8#9rSlNQja|Q4̡\-X01u?h*,9py͵O{e/wFZNf_*cV t3IZq6}5ύQ\/l:"Tp9Iǚg ^%W<<$.̜c!s"`a6߱H^ `*+vG' F3쨫G S؅_l8M-B/)9u9`S B`Ogvj`jjHZtV'>Նj Y?La-. #'J ׷MoZf+1z>0W >ψP~qNB4ifkļ1bfAD7X䳤H| q-rKwHhzPԴ. R?:1F vN$Ħeth6%2Ҭ ^Vr$Gnx#Ϊ-C$V8=?*DD9`OVc ^FP ҵ>ד)*vs"Zc3p{ỹd͗W~fi+fQE13s=Gd7oy Āb -J0Lҧ# ;$ juqd}:N*MC\+89`sbrϷ '5AC hVFKHJL weS𠖨7$q0xr=´{On xPS , 'Fg`+} e ]-p8РP`Ͱ1+7I;w@V> B~}3 Dn .ظ݆R iCMW/OrCo3MZL\V/@~U,(V`m2?@$ +}s}N&\pȥ~ۗ^mn<~ n B2ui_ЪP:|*O=ƒXoG,f5fKr mS5?E.o czvC(PCм,hq`~F t$fc &_e<#HROjv##.1H$ LELobN7hfW"nAnR, hvW0TнǨhVްjx΋ 4hvM'k*Rf:M`LD֏+Mu*g rQɑLW!uYOƢ] A)QA]i6b~+s:AaPZVaT_*gNr/6"<&1g+>lo9I_1o4 m++$4f*燝&S˸0J`O4-ARz7FI,ʺrxQ!s]R ܅[!^_c ^ښ ]Y7)ƒ/ܧq+ HJ.@w L]oi*ǀv∡4ZDBفw0$1Zk$d2gb V\r21Ք ZRͳΛ!fXV SZT'xJ{\(f#t>+>Tw\j>ưP͵1k'i]ĺƁ)@zG슋X6fGirS@ !CфXC~`SGPRyYta eh$h>AbAxG)!=(cL,02($B& G*lK !+YfL2RKpu(bzZRs$ Y/C[DLPwiG9E Aq!Ûa=_AHL vYv2<5Ī]E-B%~ܾ=O;9|IhKM,@ݾxf6*vv3kh'4+- /?s(^xEz;@%n 8K!X; ,%fPvh)x*Q=Oȍ58BVKL9p= Ɵa{qJ\xqZlWBc[%%jsp{Xvifr&C74gW 0ذC=X]0H, y-aD; *V>69P?@Kf狸z" s{Cw_p|fDW[^ODy0TOֽ*OXGD'+HC:'R=g [ M/F/ϣq:Qj>W3FO-*vgv{+ KZxhWe! vz7|y+i#Iqm`PB۵i&Zu6_Cn$;=U@>6RVl~:hj!?{)h}ӡa )18C_YcДKRG.meKph]!{u^L<~RQz5]UHNntj;ߚ*T{ 3NžLwRgZ13d#1<;`!sA r.T2A3i{8ѿTaFH?Z_(ibBOY6c+(E$)m0e9|Q &Gdw+0խ*kg\V3a:?yW#  Yq\.'ڃDqێxW{g"L7s4)^:6ߛ՜$`Ff0e8d?2qd Կz~(.Gr3}iV9c5HUY(ON=݈֯-`g lJOZ@o>Mi$S ^D1ˎ>k*Gd/;=H*еdq@twȽ+F2sw|\#jݭ؇6hwDU- [6cN5OP'0A&B{ͧzEBw[F}aЅXbb//a "YláELX(μ띇-)^F.4SMmŔTW 4SfsQky<< mX < _y|%2v$nt yuN nɏŨ ,-83^KQ?,\'>{Ku{AMIr;&#05 *JeזQ~5j/>v Jh58ٕ@`fx@So1c4>bIUO,u/aG>1SK7P4W\w+Vsqe~!k[qC7ٱAMq3^1j,\_"㴽+2V"f\PMAfHEin~̞8JVx N-qB7He!J + LW斌)D^]p̳riCUA<%On1І3QL6_K>$o(dw?^,#{DQ$? d@nT>XH|?HεJ;JOj-4GfQ'Łn _):}to$U zA(PNNi٠8Nlu~c8(N!5INT~-X6.fL.~u#ZD@!$ͱ~U Hhf Ye4ϛLJNv׫`KMFaaXn>&m|Z㿡P{JŰ3OO3\T[b 7*+YH>qY?0Ck. TF:TQHΉ®feBQ>b]<'ЇI˯m_P,#}x(egɚãnmNy8XtȦ1Zgę޸ԢY}Ys%e^Gb:=CGEe}{_~5\$D X DP(E/̉(ԒTNE!"nkF=V曕@ؐb߳gcVP>;:#ALx<޳qEO(ӳ-[!@33}|]jd u;C]}\?\6ދɤ2I-VGL7DnmMN,N~ld$.q֒/]Ę. YK{jv(͚2/㓯^-~ؐIY f>n\=꣒QGm\;? 8+OrOHHSFfн$T))ؑxzN)q// # ۡf< "f4z0 k-&GRzdfja':EO>J6µU;y.0U=fN&.Ycp<'yu0n:k-0}"e\l)d()bSD]9qݗT[iGwqЉ, 0Af| L-/*SwweGFJq[MO=X-k%j}s)'uLQ5?2Ňax4G?߁<;mwgib8ƣK ;/ˮXgF|BTڪ9 G.TӀsGv&/g%Y5#\tA:'T"_`҆[X@7d_kEoUށ%oPOQ zV-J>ZWUGN;1ئ /-=sk,OJ0˃~^ i PUh;4J ܜ&8b?@Ȋ2첷Ow-8ɒku#9d7;2)fd@q^ru&z#^9E,O}tke+9>ӱ&)z%ۑE:<"&Z~]m(^JF%3+?-DUC7إC%6{l 7|9Ie . d;;.'@QK/Cڀ޺!hKZҠ-heq|Ke-{l1Mw-Ѥ,'cF;֌  VcWk+j}&E Vб] bJ_0ҙbJf""& ~- S8?D@o`'Vq[N:I4$Z;|9`3Ov7_Ԋ}R=쫚^a?RS|~|4@t\E׊  M2 Aniɢ[CdMצDHԪZ&{"Ntrw?1l0Fn.@7! x/ZT_3& p7!xMX9a'wbI'HLԛ!d` Q<2n38o4" "kIqxt/7!dxϨtrj R&g&lMϡ_zX+%QRh⌧h_+ϕ4# # M@=ei+,NVPݡ7,"^<^j+iaǺW,'- {RkC$sRM=y"&kpqle VZqT~57Ttg ͎F~֌;j- c|۫#ܾpmyDh lN"_>}hE,䭀fzr7(܆/E 0 Ϛ ̊ЊjP a>zȜUb:]B^}.ERG\E:$SgbHVj*jy.KA/\a0+,JX {~2!s͙رl˽(?dnFfC'`2 V ƸpU F4k|U3\['89On.V]`{YAN&$m(U p b/ ѻR fTqS%+ p.ۚ~{k5;fő?xNZ̠^,ŁjZ+Nh;7XœͯFAwV&0QP=4gh*꽭^G%ӏSG{33ϛ _[rl//u/nR\"軹T23nR8$ACqPIO0xAQdmf H_M56PQ5{H % }m:Bl.τ  ,JnULl;ABÑ*dYvⵍڬíYv?Toڃb 9p V.IyI ("g4ck65-t_H|i9sOIPO?mxD-YYi"T \`iŗ"4MRoP(FjIze"w "l!XL_|܏}؎z܁Ca̪S$YߝόUxu zZۿqb>7{EXe/WT4%=ͻ]!c+P{M+K-_H/с$e[FyD\#P^*j}k2ՀԀ|>얄U ,.JN(D|.d$Э&7i%Ay!mDZ>cq7ZVx "w bs W]4"J1{ER@bDy TXq8VQިwGyCrrq G&*Cw5`8‰ hīq-V,^d/mN-a[o/()G&.6ikm1D0"#ziǑ&#AN7 \􎝤A)a7otO1ax.:X1)%;i}VجeT}t )Z! n| yñpoTU' Dٕ&9=}< a5Rp] 9 ުvr;}˖jwb#rkfY\R} V9<%F-jvUY{HŵhtKO)@{M!GXdALCoXOAdtf\7m^ɉR2#QmD']HHڊrf2hYRF[y]X# BJu)s#ǒhH{$4wg8t)C=ўگóSV=ȉp:9npAM:gj$RNj)wƯ وcaIdەz"")Ͽ:wy0 +̛a'{G{kѢ=h1xl3\M;a`2/ԯيٓڬgi~9\t@Pu U/{Ea8%©>o/z{ht^eTz:>;lrc$\h"gsSyCF?Zy+!56󉫝ƾ&rkttT4ljC 8t#A1輟ar|hw!UZžl^+`|2R?2F/Bk0xKNv\?DhI: Jb -tůrjUժ-2M>)EC[P 0#<};ߴVo<ĪC4|fծ'5[hʦMQ~QK'5B`m.~ws(=y =$i gE-ozv(p"nO4c00^~:i¸Ks+:hM~%[ 6[/ ߿Ag2pN: 0.us{Ml}0ԓmODkhwI1phr~H,KZV7mf2CS=MUKpyuݳx# f%=8BAOzѐN\2H)'(LpУ#3v6m;G<;Y#PVr޳iZrNS\AZĕ-jI=V[GcZBnn?<+m-/)Y9R~~Xi|$Zb OĐ`& pwz3??2ք ٥i]JKA͇.3>&X>{|`7wS!ƒs`jt<5C|{r$O1֬8-P{4d̦KXT+wqo]vȖN۲\*k_l,\[ ۘM3ѵ9Yx5YuQ ZSb&z#斴2Yk Jv)!;nf߯/pR,ZMyv' tO]IV]Da! ;dޚ,V^^}ÊgESpT4R5( >u Ӟ%ʃNɆrm<B*-}&IR4<9C%WZ0gU\kS>hMwRy"y\D'X%op@YVuN$y"${&N})/x jJv.@3V!tȇ|,HU7Fz3 f~!n8`>0m{-sbA;Rp|/Lv, A/ ]BUM?7Dꙁ<>JKW cZE!>vȆ(NrJ|;hcX.~3)%ǧrPҚ2_nUaи|TƓw~z"3?nZUNtA.`HO :r-v(n?aJH] 4LpL` 7g]D3@Tku1߫UqW0a$OC沜OZ9[-ȋ ȶN$~l%!1RoiI/6nߘȼ&Aɀ:H1*·5zTn6n~&y=(0-}RlzJl3e;.at̙% v4Bzc6eMʟW#P ) uҫOm(DQ"cc"Lk ʃnYG$%Њg1V+08Qϖ;42D!ݟaT1'KJ8coV2C;[Vb3K`vh}I~]"*BtQ0zvXZ{4l hz.o&O'= $ Z$8sld[o"Hzf;/hp^¾O 9U +[ET?s׎zii 9t~x@S Tr^@ۚFqvF=:j7lpw wV-efCpaÑa ʴj8`&+Th2lbX03WSRVM6{_,{ RD#ę2 w-`bvL N]{ x_<a17$&0EѲ;ToR:1|"[= :*4ѺuW)9\< |l>v&S_kBjhnKػ$}¬>ɂQNTF n'ր˴{޴0)B=]Ipm.|V8 p2&W(8um; 4c}}*n}Ycn9~EK%z6U>^AKuۨb>V pjT48<@Y,@0nDɕjLg}+V}!ЉJ$8gK G DQx|3jo|蘭60e?Oao˂Лjqs;ޡ\@ 7<'w Mu1&9YH4!vz41ƾӴdžmiAhPj#b# 霎2j :^엁Q4Ic z?oGŮwui%m}iޚHaisY$;S5`Sq8 qٛU|W !3Zp?7%ɬwWaNj ̔197KL99jJїlnspz\\^Z &s%H Wi1qqB4͞v3~bBFeU} d¨v>߁XTp8ڧh({rk+Vܧtõmpw'؂L˻T>o8Exl1K]Q;o6A-q*8ɻS*Vxt^"Z9~v#eI', !KœM-Ƥe(8O1bEsE0bs"eٸ(d;ᡝ:3'bsǘM JfLI>4LL/IT[PIaVsFBK+˔Gaɫf#M)@XW{f|S7\";p40AWn5#)Gji_O(SMCD09:IgluJ6 1:<?+ #yM-;G. &4?`ֿ;/N O,Ƽ|HL?jSu38JtGmѽ9 E9wpsU>238Ga1Ib\XlxrÍ|U}0cݲhWG(VX~@c^/vPT!Yr!CVI 1(|ʐUEZtzWGdld۶Sp &K]v`~]M: 4CnSVy.yo{b~,73c0 =q䴫O׈;> !;:zoeĶ)A845њ$ ܍M&GSs|Mуl+UJQ 2"4bpSmiZ6O4(_ )udus19a2)>tkƅpUuVx6YāFؗ#}%y^jASM{B\:2S߲FcC+CQBt}0(oݶ1KG)K8RCcg//$j?6S .~+Tͻ/|q^z-O)߱ @$c|P2[hj%A3\5gpXam/{{cWGr42jԑR7G<35ޭ`Zx9ŀR+iQd5%A{',UrL|uyanqjaJ"∵’NQT0q!C>v/4"j# 7iaW VֱqBsJD}ћOrhPf}2.ByJkD8y!@#V &<4Q! HFf?F!+k5Gݫ3)eYЎS+$!IAhϰ瀷*5 S!pGP}01%;"}PA2@cTݛdo*_„Uy21*͢s~-աҧ8UOMY}[L1\xC.lsTb~GmrD#r\ub$QunN^J9S(̀D{)& ᴰ>ՍeX-~ x=sGm&Tb ?FKYl}ThzVhnVgV}Xl&~A-?8n#| ښ%Is)xOK5:j}^<^=n~O5Mj4Z;$xyS0I)GS]kg1N1~Fo|NYW5xMݐj5fUCuM*#lBF h|Gˈ9!ثPf:8,mw]718oW1|irc[vACB x@7MFș r:j0r8UIKiuY| ѮR<Ya6p D4M M{*tUfbM|b 8B8<҆8)*腟Df^8`-gc3M5{Y/$؍$ml9?A+̚vKg6jFdyPLC:ީ ewYUbU u)Dߵ@+|4yz$qс%mԿ0 @$M.InӍ/LA mGva^@Ŭ3ԀQ#tVC2v_946m;2;s5 !j6X yեku7 Mner˶W}^ܨ܄pN6{WobzXtF`siQb^^ELg"_kg wHI"rO3̓s5Y7. ۹ AЭU5"dсjc6: ͂ban\ m[(9ާbŸIb%?3p/w~?:ː*ͦWa}HբG{\3,SsRЛ̦c74v]fCQyzZFT/U;Wj!ON=o3ʘW44X䘂fy6EL s'ѹzѥt7ף[DϢ9ҩn1 EG/,xZ5\''H[!~UPĕQn(⇥UńKޖ R,bmM!>ufuK 7 *,!ցՑw;"ls}x2e˽[pB%[; w 6>Ѻ1ɝe`AW+hhׁD+ dP+&7!t{T4L fB4;v];+AE{-C|jfL2Mؗ%'Fiͯ Us1M 9eE<$J !2 @A:Z6Dg_W?.0{#O+\OSǩ/sMęJΰպ/=\BwUwnrлt60fFJo@TB [ԥvxQ vE9T ]KWp[Bf8RF3eL "7JFfWGd)@.0 'M7oY̎?Dd NN{)6Ы-'%deCإ @ևV*ÎHB%:Ѷ;-X<`+77h!ZoWn})JKCU /UVw]!z!5g͍hձO{#DNY_tMcrKɇ貥" IŏKb {k~7&/fK u@`z">ҏǵe +7SMthI鈶¡|*|Kʖ s!xGG35-OHne )y-OUI?OB~QK5hawqf6#԰V{W+(f1нSs”e 9i[y%T0ރS21\vE62<2OJx"/gXɂ^Be- cCv#'&?ɵ5s?gu*(@BW>*)@0dÛzNj?G(7XQ M7 7AD[k!Pwu &w;ݠ)KLA4vksb)M'3fY5j▗%0oN\\)T+MZR?qc)X Wu$obyn7w Ln,y>Of=PRݒM+=I+%ߏЊ$PeuہDP*0mOEv,|@n2WKX,Q XE{FˑJ"f,%'@x 8@{281Vzt{-ۘ_IpkJ-g6vOUe˾TX9m7j%ȶP 0ֽmCbMyߍb2/ X&F@Ya.oSu"/yC;^z Z(pR~j'L^8o;bjZOL@_eUu1cy^OA` trxYC?M EԷfzFۨlďD.x%i\k͈ad2)X`?>B,~3W]0UH,~;o[Z>bhQn ozcJvN5GWx] PxK1uO@&,=M 91D\'X|P1ޠ5;q |zd.vBu",%$m[[k0P0V9奱'Q|L-ȕPDL>% Q@&Uv"4E ~Gќ>s Nf kV!,QaB=O97W;u&8G Kp-pl{I·&,AI3"l/ Tēb'D]ߤ߳|>du&1!=\osؘq0rQѵgnUݦu%ZPMN /4l5c)5-֫Cp<Lo}ŵ'PGESw#iJݬjC*ޔ 5V ^ Xv@_Ͷ/i_щl'aD^ȍ]{TL9V[H)iE^g/zHIEˎt˓&q (A5|:bGu%SϣAsEj]@D HSuVb}xw,Fۍ1ܵ -}fƻߊ ||%/F|)Ҷ6Zr86^d1i9@ȵR/Nh|rW'pěEHIV[8u=p'ƿDҾ+*=tD|0BW@(f[m~k(Wk_0ps^H`Ȳ}aloaH8ȣlUٲL/ʝOV˷PcOgt`900W3ݏb r\;C_vyiZׁY]!U$aiM %psmbTt{gj2RW!p|4Ǩ7N^VK$rz Vkj2ﴥ7jGhڳ!>$NQ|[tɶ6GQ);&k]XΡڜR3VvGZЩPA50X*^5:MܝTLu: JtCnrA3ܧUWRhr?CZx= RwG:~Qmpǂ}g8 . >:Tbo%d|A䃼@;.?}8AXX!p^դ}l8|ݫ6[T%9((5՜0NTeR|Xz3iVǯ\r'w&jseqoW|d)r"#n/~X-!  R=/Gc椃Է,|G $.7/FFmB;<"")~vO!Aib7eq0q'N ?<p"9N]e/!6WE"* ȡ# m<‹QD}_>Y-ߪxTs܄}Hc ϯyT^jUj<C ]|dSnkwq4W:;L-Y(_._LJ !k(~y+l|As;Q,N]`H-!ہ"/oY #qxy0Z J51I&L$ȃ1 g֠pM+4ڔ[:4DChF[G)db%9J pkIӨ8ڬtO>Ռo2jwCS{ޘ*?_"Ye1^ൺBf:Y,dˣLo71UѦD !e'ȗ-8١aL\ʬ\vV6)ex5d7STP[+~W CS oguѴFNrxRR7AӲưz* &,#?lRrfgP#2Qɷ$\ TZ1^+찓uo !(UDžT41ݟ&84[+2y|-i12;9|] |>($,J,9\CVwo|@ɴL3bU;vNwq,wXK63NM)\\q99ӡPB}/`lৣf. GR77 nEZw Ki@lQKW| eEe;)mиƤ]!߸q5mj4G23uLsW~}T^mDMn)PmU+P*0!7šr-c|Vd|x1b:?YrG<4\Z6+J 䯞F}إ]U#;UΝ0{4m~6 Rrϥwų]*ʷOGˏ~pk!k-oC8c1 {l;٠E1n>`yCidQ굙&]!\M;Ԃ4'@cџ`wYy,-Xk%w|&1_ ޟ YZ