librados-devel-12.1.4+git.1502953626.155adb5253-3.3>t  DH`pY//=„aן֔t0NpD(unصPB'kt˱WxS\ D~mFz18жEhkAx|.\B.x< )KI[qd?Ď/]>EèNwwoƣ˜#ddb73d02b1bbbba8f0901be8d2e35a05e7919a82Y//=„/"a3X].QDT-k3vEߎfc=XhA+߱sM#{o. t/G\=q+(j&! Mן0`KHQ;&RFItQ:9 aF|ҞɔF6G CI> )؈\> ig!DSΣG}t0qVDlt)ZtF-@H%*+?#PO$PA =bvk>=?d2 6 D 8Xiox      J4Z(8I9 I:IBFښGڬHIX,Y8Zۨ[۰\]4^b-cݶdCeHfMlOudvޜwx,ydzClibrados-devel12.1.4+git.1502953626.155adb52533.3RADOS headersThis package contains libraries and headers needed to develop programs that use RADOS object store.Y lamb71ZopenSUSE Leap 42.3openSUSELGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIThttp://bugs.opensuse.orgDevelopment/Libraries/C and C++http://ceph.com/linuxx86_64^f?LCe ƁA큤Y Y YA2YA2YA2YA2YA2YA2YA2YA2YA2YA2Y YCeaab38b4a94e06ca464d52918d450928e8639999a19f820b4d7d682dd4bbbd307215e5e4b40a50f4641a2d45da57daebc3d92b847f3e6009322bcac5380e7a0f041ff2e3c198415daf1e8d83ec9db0df5cc367bf00232400db016046f11dca790c5aed145702d86b71447cc149f08838d4aedc12a74ce8835d4239fc0705b246b8f5536faf979848a1acf35d5e765869fb37c6794982b25d06d3ed9e75d77e81107b0f9743efbec48f35fa32e010ae5d109f775b0b5aea4673c4d7c35b2be00alibrados.so.2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootceph-12.1.4+git.1502953626.155adb5253-3.3.src.rpmlibrados-devellibrados-devel(x86-64)librados2-devel@@@@@@@@@@@@@@@@@@@@@   libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.16)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libceph-common.so.0()(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2.5)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.12)(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)librados.so.2()(64bit)librados2libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)12.1.4+git.1502953626.155adb5253-3.33.0.4-14.0-14.4.6-14.11.2Y@Y3Y3YY@YaY@YYYY{'@YoIYlYlYZ1YS@YP@YP@YNT@YMYA%@Y9<@Y9<@Y9<@Y7Y2Y0Y-^Y)j@Y(Y(Y(YY@Y.Y@Y@YYYX:@X@X@XX@X•@XZX@XXXX~@Xn5@XOX=mX8'W֘WҤ@WҤ@WҤ@W#W#W@W@W/@W/@W:W:W:WWW@Wncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comtserong@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comddiss@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comddiss@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comjfajerski@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comrdias@suse.comncutler@suse.comrdias@suse.comrdias@suse.comtserong@suse.comtserong@suse.comtserong@suse.comncutler@suse.com- Update to version 12.1.4+git.1502953626.155adb5253: + ceph.spec: provide libxio 1.7 and obsolete libxio <= 1.7- Update to version 12.1.4+git.1502878199.4183317204: + ceph.spec: obsolete libxio (Note to reviewer: libxio was only ever used by Ceph (for an experimental IB/RDMA feature), it was never submitted to Factory, and its functionality has been integrated into Ceph in a different form. For all practical purposes, libxio has been replaced by Ceph itself.)- Update to version 12.1.4+git.1502871088.edf82a59df: + latest upstream luminous (a5f84b37668fc8e03165aaf5cbb380c78e4deba4) * increment upstream version number to 12.1.4- Update to version 12.1.3+git.1502698163.45fc586a51: + latest upstream luminous (6808af486d3bdce966232810004648502c967b13) * increment upstream version number to 12.1.3- Update to version 12.1.2+git.1501914637.59afe41c49: + spec file * ceph-volume added to ceph-base RPM, where it co-exists with ceph-disk- Update to version 12.1.2+git.1501865907.88dc8cdc9d: + latest upstream master (7350fa65d79b5f0ace427e609565f07be35cfe62) * os/bluestore: allow multiple DeferredBatches in flight at once (pr#16769, issue#20295, bsc#1043399)- Update to version 12.1.2+git.1501790037.82d6a9c37a: + osd: move CMPEXT response munging into completion function (bsc#1047244)- Update to version 12.1.2+git.1501684697.aa6b0153ef: + upstream luminous v12.1.2 release candidate + latest upstream master (e27a78c9ed3984b54a312ced3ad67fcc8f464fc0) * mon: add mgr metdata commands, and overall 'versions' command for all daemon versions (bsc#1050063, pr#16460)- Update to version 12.1.1+git.1501669490.04d0738487: + mon: extensible output format for health checks- Update to version 12.1.1+git.1501501507.6dd9e8fd8c: + update to latest upstream master (fa70335db25f2b661b329d5d8f37039b77f2d1ae) + spec file: * build/ops: rpm: Drop legacy libxio support (pr#16449) + Other notable changes: * osd: moved OpFinisher logic from OSDOp to OpContext (pr#16617)- Update to version 12.1.1+git.1501231943.67577225bc + Notable changes: * rgw_file: properly & |'d flags (bsc#1047977)- Update to version 12.1.1+git.1500447879.e5aac115d7: + upstream 12.1.1 (release candidate) + Other notable changes: * build/ops: rpm: fix typo WTIH_BABELTRACE (pr#16366) * build/ops: rpm: put mgr python build dependencies in make_check bcond (pr#15940) * ceph-disk: support osd new (pr#15432) * ceph: allow '-' with -i and -o for stdin/stdout (pr#16359) * cls/rbd: trash_list should be iterable (pr#16372) * doc: update quick start to add a note for mgr create command for luminous+ builds (pr#16350) * libradosstriper: fix format injection vulnerability (pr#15674) * mgr/dashboard: add OSD list view (pr#16373) * mon, osd: misc fixes (pr#16283) * mon/MDSMonitor: fix segv when multiple MDSs raise same alert (pr#16302) * mon/MgrMonitor: fix standby addition to mgrmap (pr#16397) * mon/MgrMonitor: only induce mgr epoch shortly after mkfs (pr#16356) * mon: Fix output text and doc (pr#16367) * mon: add force-create-pg back (pr#16353) * mon: skip crush smoke test when running under valgrind (pr#16346) * os/bluestore: use reference to avoid string copy (pr#16364) * osd: combine conditional statements (pr#16391) * osd: restart boot process if waiting for luminous mons (pr#16341) * rgw: S3 lifecycle now supports expiration date (pr#15807) * rgw: acl grants num limit (pr#16291) * rgw: delete object in error path (pr#16324) * rgw: drop unused find_replacement() and some function docs (pr#16386) * rgw: fix err when copy object in bucket with specified placement rule (pr#15837) * rgw: fix potential null pointer dereference in rgw_admin (pr#15667) * rgw: raise debug level of RGWPostObj_ObjStore_S3::get_policy (pr#16203) * rgw: req xml params size limitation error msg (pr#16310) * rgw_file: add service map registration (pr#16251) * test,rgw: fix rgw placement rule pool config option (pr#16380) * test/fio: print all perfcounters rather than objectstore itself (pr#16339)- Update to version 12.1.0+git.1500295948.39d2e5f424: + spec file: * socat build dependency only for make check * fix typo WTIH_BABELTRACE- Update to version 12.1.0+git.1500284183.1ed97736ab: + Spec file changes: * bump epoch (not relevant for SUSE) * add socat buildrequires * libcephfs2 now obsoletes libcephfs1 (bsc#1047020) * HAVE_BABELTRACE option renamed to WITH_BABELTRACE * fix a regression in ceph-base %postun scriptlet + Selected other changes: * Revert "msg/async: increase worker reference with local listen table enabled backend" * build: build erasure-code isa lib without versions * ceph-disk/ceph_disk/main.py: Replace ST_ISBLK() test by is_diskdevice() * ceph.in: filter out audit from ceph -w * common,config: OPT_FLOAT and OPT_DOUBLE output format in config show * common/Timer: do not add event if already shutdown * compressor/zlib: remove g_ceph_context/g_conf from compressor plugin * core: make the conversion from wire error to host OS work * core:" Stringify needs access to << before reference" src/include/stringify.h * crush/CrushWrapper: make get_immediate_parent[_id] ignore per-class shadow hierarchy * doc/mgr/dashboard: update dashboard docs to reflect new defaults * doc/rados.8: add offset option for put command * doc: fix link for ceph-mgr cephx authorization * doc: update intro, quick start docs * isa-l: update isa-l to v2.18 * librbd: fail IO request when exclusive lock cannot be obtained * mgr,librados: service map * mgr,mon: debug init and mgrdigest subscriptions * mgr,mon: enable/disable mgr modules via 'ceph mgr module ...' commands * mgr/ClusterState: do not mangle PGMap outside of Incremental * mgr/restful: bind to :: and update docs * mgr: Zabbix monitoring module * mon,crush: create crush rules using device classes for replicated and ec pools via cli * mon/MgrStatMonitor: do not crash on luminous dev version upgrades * mon/MonClient: respect the priority in SRV RR * mon/Monitor: recreate mon session if features changed * mon/OSDMonitor: do not allow crush device classes until luminous * mon/OSDMonitor: guard 'osd crush set-device-class' * mon/mgr: add detail error infomation * mon: Fix status output warning for mon_warn_osd_usage_min_max_delta * mon: add support public_bind_addr option * mon: collect mon metdata as part of the election * mon: debug session feature tracking * mon: do crushtool test with fork and timeout, but w/o exec of crushtool * mon: fix hang on deprecated/removed 'pg set_\*full_ratio' commands * mon: include device class in tree view; hide shadow hierarchy * mon: maintain the "cluster" PerfCounters when using ceph-mgr * mon: revamp health check/warning system * msg/async: increase worker reference with local listen table enabled backend * msg/async: make recv_stamp more precise * msg: QueueStrategy::wait() joins all threads * msg: make listen backlog an option, increase from 128 to 512 * os/blueStore: Failure retry for opening file * os/bluestore/BlueFS: clean up log_writer aios from compaction * os/bluestore/BlueFS: clear current log entrys before dump all fnode * os/bluestore/KernelDevice: batch aio submit * os/bluestore: Make BitmapFreelistManager kv itereator short lived * os/bluestore: cap rocksdb cache size * os/bluestore: clear up redundant size assignment in KernelDevice * os/bluestore: differ default cache size for hdd/ssd backends * os/bluestore: fix deferred_aio deadlock * os/bluestore: move object exist in assign nid * os/bluestore: only submit deferred if there is any * os/bluestore: reduce some overhead for _do_clone_range() and _do_remove() * os/bluestore: use bufferlist functions whenever possible * os/filestore/FileJournal: FileJournal::open() close journal file before return error * os/filestore/HashIndex: randomize split threshold by a configurable amount * os/filestore: call committed_thru when no journal entries are replayed * os/filestore: do not free event if not added * os/filestore: queue ondisk completion before apply work * os/filestore: require experimental flag for btrfs * osd/OSD: auto class on osd start up * osd/PrimaryLogPG solve cache tier osd high memory consumption * osd/ReplicatedBackend: reset thread heartbeat after every omap entry * osd/filestore: Revert "os/filestore: move ondisk in front * osd: Check for and automatically repair object info soid during scrub * osd: Preserve OSDOp information for historic ops * osd: check queue_transaction return value * osd: clear_queued_recovery() in on_shutdown() * osd: compact osd feature * pybind/mgr/dashboard: bind to :: by default * pybind/mgr/dashboard: fix get kernel_version error * rbd-mirror: ignore permission errors on rbd_mirroring object * rbd: do not attempt to load key if auth is disabled * rgw: fix compilation with cryptopp * rgw,test: fix rgw placement rule pool config option * rgw/rgw_frontend.h: Return negative value for empty uid in RGWLoadGenFrontend::init() * rgw/rgw_rados: Remove duplicate calls in RGWRados::finalize() * rgw: /info claims we do support Swift's accounts ACLs * rgw: Correcting the condition in ceph_assert while parsing an AWS Principal * rgw: Do not fetch bucket stats by default upon bucket listing * rgw: Fix a bug that multipart upload may exceed the quota * rgw: Initialize pointer fields * rgw: fix leaks with incomplete multiparts * rgw: fix memory leak in copy_obj_to_remote_dest * rgw: fix not initialized vars which cause rgw crash with ec data pool * rgw: fix radosgw-admin data sync run crash * rgw: fix s3 object uploads with chunked transfers and v4 signatures * rgw: fix the subdir without slash of s3 website url * rgw: fix zone did't update realm_id when added to zonegroup * rgw: log_meta only for more than one zone * rgw: rgw_file skip policy read for virtual components * rgw: using RGW_OBJ_NS_MULTIPART in check_bad_index_multipart * rgw: verify md5 in post obj * rgw_file: add compression interop to RGW NFS * rgw:fix s3 aws v2 signature priority between header['X-Amz-Date'] and header['Date'] * vstart.sh: bind restful, dashboard to ::, not 127.0.0.1 * vstart: add --rgw_compression to set rgw compression plugin * vstart: allow to start multiple radosgw when RGW=x- Update to version 12.1.0+git.1499090920.2c11b88d14: + With this update, Ceph no longer autocreates a pool called "rbd" with id 0 Deployment tools must take this into account! + systemd: Add explicit Before=ceph.target (bsc#1042973)- Update to version 12.1.0+git.1498654198.20d6a47cc9: + build/ops: rpm: put mgr python build dependencies in make_check bcond N.B. this effectively eliminates the following build dependencies: python-Babel python-beautifulsoup4 python-CherryPy python-coverage python-flup python-Genshi python-html5lib python-logutils python-nose python-Paste python-PasteDeploy python-PasteDeploy python-pecan python-pyquery python-singledispatch python-waitress python-WebOb python-WebTest python-Werkzeug python-WSGIProxy2 pytyhon-python-openid- spec file: + removed BR libatomic_ops-devel as upstream replaced it with std:atomic + removed defattr as they are no longer needed on sle12 and newer- Update to version 12.1.0+git.1498478524.117b171715: + include 12.1.0 tag to make "ceph --version" happy + tests: drop hadoop-s3a tests- Update to version 12.1.0+git.1498309403.f4fc02fff4: + upstream 12.1.0 release; for details, see http://ceph.com/releases/v12-1-0-luminous-rc-released/ + revert several pre-release commits that are no longer needed because the issues have been fixed upstream in the meantime + build/ops: rpm: sane packaging of %{_docdir}/ceph directory- Update to version 12.0.3+git.1498202776.b806032985: + Integration testing changes: * add DeepSea integration suite test definitions for teuthology * re-enable several RGW tests that upstream only runs on Ubuntu + ceph_ver_hack.sh: use git describe --match + ReplicatedPG: add CHECKSUM->CMPEXT req translation- Update to version 12.0.3+git.1497426468.6984d41b5d: + qa: add initial deepsea suite (task and test yaml) + fix "ceph osd df" (regression in latest upstream master) (pr#15675, issue#20256) * mon: move creating_pgs and reweight_by_utilization into new MonPGStatService * mon: move most PGMapStatService into PGMap; rename PGMon's to PGMonStatService * mon: mgr: move 'osd df' handling to manager * mon: inherit PGMonStatService from the PGMapStatService * move the OSDUtilizationDumper code into OSDMap * mon: mgr: enable "osd df" on the manager * qa: add a check_commands.sh script which looks for commands with no tests * qa: test 'osd df' in cephtool/test.sh- Update to version 12.0.3+git.1496909744.9f667dc335: + build/ops: rpm: one License line to rule them all- up memory _constraint for ceph-test to address ppc64le OOM seen in IBS- Update to version 12.0.3+git.1496902753.b18dc53186: + build/ops: rpm, COPYING: drop GPL 2.0 with Autoconf Exception (autoconf no longer used)- Update to version 12.0.3+git.1496754880.35cb2861ce: + merge upstream master (b1d06a6b54)- Update to version 12.0.3+git.1496494491.ba3c561a92: + merge upstream master (97d6e150e5)- Update to version 12.0.3+git.1496306960.2db336d85e: + merge upstream master (b19352eec3), fixes bsc#1041492- Update to version 12.0.3+git.1496147556.f1d6115861: + cmake: build boost::context and coroutine only with rgw Beast frontend + build/ops: rpm: reverse s390 bcond conditional block + build/ops: rpm: no rgw Beast frontend on s390x + build/ops: deb: no rgw Beast frontend on s390x + cmake: delete excidentail reintroduced line. + cmake: link radosgw with boost libraries (bsc#1040119)- Update to version 12.0.3+git.1495849076.4457d36178: + rgw: remove fastcgi from default rgw frontends + RGW: Turn off fcgi as a frontend + build/ops: drop libfcgi build dependency + build/ops: rpm: apply epoch only if %epoch macro is defined- Update to version 12.0.3+git.1495798013.23dd2b67dc: + ceph.spec.in: re-drop %{epoch}: prefixes- Update to version 12.0.3+git.1495787939.3f6446f64f: + build/ops: rpm: adapt License line to Release 2.0 of SPDX spec (issue#20091)- Update to version 12.0.3+git.1495675338.07282a4057: + upstream 12.0.3 release + osd/PG: Add two new mClock implementations of the PG sharded operator queue (pr#14997, bsc#1040103) + build/ops: rpm: make librbd1 %post scriptlet depend on coreutils (boo#1040230) + build/ops: rpm: move RDMA build dependency to distro-conditional section + build/ops: rpm: move python-prettytable to distro-conditional section + cmake: added empty RPATH to libcls_sdk.so + rpm: drop %{epoch} from new rados-objclass-devel subpackage + cmake: fix boost components for WITH_SYSTEM_BOOST + cmake: build boost::context only if rgw Beast frontend is in use + build/ops: rpm: reverse s390 bcond conditional block + build/ops: rpm: no rgw Beast frontend on s390x (bsc#1040119) + ceph.spec.in, debian/control: build/runtime dependency for cherrypy- Update to version 12.0.2+git.1494343993.7527e4f0b8: + ReplicatedPG: drop CACHE_PIN->WRITESAME req translation (bsc#1038063)- _constraints: up ceph.spec disk constraint to 28G after seeing a build failure in OBS- Update to version 12.0.2+git.1493341348.9148e53: + ceph osd: add support for new op cmpext + ceph_test_rados_api_misc: add cmpext tests + librados: add cmpext API + ceph_test_rados_api_aio: add cmpext tests + test/librados/c_operations: add cmpext tests This patchset is a straight cherry-pick of the upstream OSD/librados cmpext changes (bsc#1035937).- Update to version 12.0.2+git.1493291471.adb6a43: + rocksdb: sync with upstream (bsc#1025891) + build/ops: cmake: explicitly disable MSSE 4.2 if not supported- _constraints: set higher disk and memory constraints so s390x builds don't fail- Update to version 12.0.2+git.1493238434.71681fd: + cmake: added empty RPATH to libceph_crypto_isal.so- Update to version 12.0.2+git.1493227670.3396ca1: + rgw: use a vector for options passed to civetweb- Update to version 12.0.2+git.1493192333.3305a0c + merge upstream master (0d368d2c8544247a4aed9c71c74e77b0c6bbfb22) including 12.0.2 development release- revert commit a9a50f690085091bb4446095418237f9fef712c8 in preparation for rebasing against the upstream implementation. (bsc#1035937)- Add ibs_constraints.sh script to address s390 constraints tweak needed in IBS- Update to version 12.0.1+git.1491557762.4e47e9f + merge upstream master (2950ad91d25d0d6e2e3fb6842d5bbc36353ba2a5) including fixes for: * bsc#1030068 (s390 build) * bsc#1031311 (ceph-mon.service not enabled via systemd preset)- Mention bugs fixed in jewel codestream that are also fixed in the current codestream: + msg/simple/Pipe: avoid returning 0 on poll timeout (bsc#1014338) + build/ops: fix undefined crypto references with --with-xio (bsc#977940) + ceph-create-keys: add missing argument comma (bsc#1008894) + common: Improve linux dcache hash algorithm (bsc#1005179)- Update to version 12.0.0+git.1489432599.165c23f: + merge upstream master (0c2f5f7214d2410a7519f88e65ed5273d6480227) including fix for upstream issue#18694 "ceph-disk activate for partition failing"- Update to version 12.0.0+git.1489159457.410e200: + build/ops: fix Group strings for library packages- Update to version 12.0.0+git.1488553020.e902441: + Recent upstream master (3c0af07629dc661aba84e2fef696339ac7171914) + Builds with GCC7 (boo#1025891)- Update to version 11.1.0+git.1486588482.ba197ae: + Update to latest upstream master (3d740bd) + cmake: added empty RPATH to several executables + rocksdb: sync with upstream- Update to version 11.1.0+git.1484919552.9216e9a: + Revert "rpm: put distro conditionals around Source0 in spec file" + Revert "ceph.spec.in: revert Source0 line to upstream version"- pre_checkin.sh: add logic to remove s390 architectures from ExclusiveArch line in ceph-test.spec (rationale: ceph-test is not shipped for s390x)- Update to version 11.1.0+git.1484745543.7b08de5: + Update to latest upstream master (36874c8) - significant changes: * cmake: Turn libcommon into a shared library (PR#12840) * cmake: fix rpath on shared libraries and executables (PR#12927) + Fix build failure in ppc64le and s390x, caused by missing "-momit-leaf-frame-pointer" gcc option in these architectures: + rocksdb: build with ppc64 (PR#12908)- Update to version 11.1.0+git.1484659687.3472421: + rpm: tell openSUSE to never clean the spec file + Enable ppc64le and s390x builds in SLE + rpm: lttng only on x86_64 and aarch64- Update to version 11.1.0+git.1483528076.d86680e (latest master) + Merge branch 'master' into ses5 (Merge: 185bcce798 a7b78620f0) with conflicts: conflicts in qa/ where resolved with theirs conflict in src/osd/PrimaryLogPG.cc was resolved with picking ours plus a method rename int ReplicatedPG::do_extent_cmp -> int PrimaryLogPG::do_extent_cmp- Update to version 11.1.0+git.1481663255.bf42706: + Update to upstream 11.1.0 release; for details see http://docs.ceph.com/docs/master/release-notes/#v11-1-0-release-candidate + move ceph_ver_hack.sh script from build service package to git repo (bsc#1015419)- Update to version 11.0.2+git.1480437645.66595d3 + Update to latest upstream master (boost library is now included in the tarball, so the tarball is much larger than before and the build takes longer to complete) + ceph_ver_hack_sh adaptation (upstream dropped src/make_version script) + rocksdb: do not build with --march=native (bsc#1012553)- Update to version 11.0.2+git.1480105120.6b8e9e5: + Revert commit 8aee8db140bcbd1ffd2a7b571dbbade10bec9de3 because it conflicted with upstream + update to latest upstream kraken (11.0.2) - for details, see http://ceph.com/releases/kraken-11-0-2-released/- Update to version 11.0.0+git.1473684054.73e4b4a: + safe_io: Improve portability by replacing loff_t type usage with off_t. + mon: remove the redundant list swap in paxos commit_proposal + msg/EventPoll.h: add override to virtual functions + msg/EventKqueue.h: add override to virtual func + msg/EventSelect.h: add override to virtual funct + ceph-disk: Compatibility fixes for Python 3 + ceph-disk: Use true integer division in get_dev_size + ceph-disk: Fix bug in FileLock + ceph-disk: Allow ConfigObj to write in binary mode + ceph-disk: Use context manager with FileLock + ceph-disk: Use os.path.isabs instead of .startswith('/') + ceph-disk: Set space_symlink to the path, not file object + ceph-disk: PEP8ify + rgw: rgw file fix bug of rgw_lookup can not exact match file name + rgw: fix the wrong return value + rgw/rgw_coroutine: move WaitContext to .cc file + client: pass a mask parameter to path_walk + mds/mdstypes: add btime to inode + mds/Server: set btime=ctime on creation + mds/MDCache: set btime on system inodes + include/ceph_features: add FS_BTIME features + mds: pass btime in InodeStat MClientReply, if feature is present + client: keep btime in Inode and InodeStat + ceph: break up ll_getattr into two functions + client: move the device bitshift handling macros to Client.h + libcephfs: add a ceph_ll_getattrx and ceph_statx + libcephfs: add a test for "lazy" statx + mds/client: add btime to CapSnap and MClientCaps + mds/mdstypes: add change attribute to inode + mds/Server: set change_attr to 0 on creation + mds/MDCache: set change_attr to 0 on system_inodes + include/ceph_features: add FS_CHANGE_ATTR feature + mds: pass change_attr in InodeStat MClientReply, if feature is present + mds/client: keep change_attr in Inode, CapSnap and MClientCaps + mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL + mds/client: bump the change_attr at the appropriate time for files + libcephfs: return the change_attr in the statx.stx_version field + tests: add a ChangeAttr test + mds: make frag_info_t add_dirty() function take a pointer to touched_mtime + mds: add change_attr to frag_info_t + test: add test for change attribute of directories + cephfs: rename ceph_mds_request_head and _args with a _legacy postfix + MDS: allow the MDS to accept requests to set the btime + client: add the ability to set the btime + client: add a ceph_fstatx + client: extend the Btime test to cover fstatx as well + journal/JournalTrimmer: move C_RemoveSet struct + rbd_mirror/ImageSynceThrottler: move struct to .cc + libcephfs: add unmount function in cephfs.pyx + rgw: fix typo of "minite" to "minute" in rgw_lc.cc + rgw/rgw_lc.cc: fix sleep time according to the error message + crush: don't normalize input of crush_ln iteratively + crush: remove clutter + mds: remove max_mds config option + vstart.sh: add option to turn on multimds + rgw: right parenthesis is missing in radosgw-admin help message on caps + SQUASH: client: request AUTH caps on the directory during create if we'll need to check perms locally + SQUASH: Revert "mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL" + SQUASH: client: always take a change_attr update from the server if it's newer + SQUASH: mds/client: don't get clever with ceph_mds_request_head_legacy encode/decode + rgw/rgw_rados.h: remove unneeded class C_Tick + SQUASH: client: querying for stx_version field requires getting all shared caps + SQUASH: mds/client: add routines to copy to/from ceph_mds_request_head_legacy + client: properly set inode number of created inode in replay request + test/librbd/fsx: enable exclusive-lock feature in krbd mode + os/bluestore/BlueFS: fix async compaction txn + scripts/bdev_grep: parse bluefs style extents too + SQUASH: client: request all shared caps if ctime was requested + os/bluestore/BlueFS: factor unflushed log into runway calculation + osd/ReplicatedBackend: move classes to cc file + os/bluestore: honour allow-eio flag during read + CmakeLists.txt: use LIB_RESOLV instead of resolv. + osd/ReplicatedPG: move classes to .cc file + librbd: potential double-unwatch of watch handle upon error + cls/journal: add async client_update_state method + journal: allow to trim journal for "laggy" clients + librbd: optionally flag "laggy" journal clients disconnected + rbd: new command to disconnect journal client + rbd-mirror: decode_client_meta should return false on error + rbd-mirror: resync was possible only when image replayer start had succeeded + rbd-mirror: stop replay when client is disconnected + rbd-mirror: option to automatically resync after journal client disconnect + qa/workunits/cephtool/test.sh: fix omision of ceph-command + os/bluestore: use global compressor if possible + build/ops: fix /etc/os-release parsing in install-deps.sh + osd/OSD.cc: remove repeated searching of map + test/cephfs: add mount&&unmount test + mds: s/used_ions/used_inos/ + Add dependencies from ceph_smalliobenchrbd on cls_rbd, cls_journal, and cls_lock. + ceph_test_objectstore: add SyntheticMatrixSharding + ceph_test_objectstore: occasional umount/fsck/mount + ceph_test_objectstore: test shards for longer + crush/CrushCompiler.cc:884 bug fix: index out of range + Makfile: Fix rocksdb error when make dist + src/CMakeLists.txt: exclude parts not buildable on FreeBSD + src/pybind/CMakeLists.txt: conditionaly build cython tools + src/tools/CMakeLists.txt: conditionaly build ceph-client-debug + src/test/objectstore/CMakeLists.txt: conditionaly build tests + mds: trim null dentries proactively + cmake: include(SIMDExt) in src/CMakeLists.txt + mds: log path with CDir damage messages + hint in extent_alloc code + remove wrap argument and handle in wrappers + Hint argument in alloc_blocks + test case changes + os/bluestore: shard extent map + os/bluestore: make nid and blobid allocation less racy + os/bluestore: optimize compress_extent_map + os/bluestore: fix fsck used_block bitmap + os/bluestore: use block_size for allocator unit + os/bluestore: make blob_t unused helpers use logical length + os/bluestore: instrument big/small writes + os/bluestore: instrument transaction count + os/bluestore: instrument onode reshard events + os/bluestore: dump some stats after fsck + os/bluestore: assert shared blob cache cleared on split + remove autotools + test/objectstore/CMakeLists.txt: fix libaio conditional + buffer: clear append_buffer on clear() + os/bluestore: tunable prealloc size for ExtentMap inline_bl + os/bluestore: don't dirty onode if its size is already at desired offset + os/bluestore: remove never reachable asserts + os/bluestore: drop unnecessary separator between fields + os/bluestore: fix key+name sort wonkiness + os/bluestore: encode shard id in single byte + os/bluestore: small put_ref cleanup + os/bluestore: remove faulted debug hackery + os/bluestore: bits for unit tests + unittest_bluestore_types: resurrect blob and extent_map unit tests + os/bluestore/BlueFS: do not start racing async compaction + os/bluestore/BlueFS: fix Dir memory leak + buffer: implement buffer::list::reserve(n) + os/bluestore: do not waste memory on cached encoded blobs + qa/workunits/objectstore: fix test_fuse.sh + os/FuseStore: only flush if dirty + build: drop dryrun of autogen.sh from run-cmake-check.sh script + os/bluestore/BlueFS: For logs of rocksdb & bluefs only use directio. + os/bluestore: remove some copy-pastes + cmake: make py3 a nice-to-have + os/bluestore/BlueFS: only extend extent on same bdev + msg/AsyncConnection: add const to mem functions + msg/AsyncMessenger: add const to function + client/barrier: move C_Block_Sync class to .cc + osd/OSD.cc: remove unneeded searching of map + Set ARM_CRC_FLAGS from the CRC test rather than ARM_NEON_FLAGS + rpm: Moved ceph-client-debug from ceph-base to ceph-test package + rpm: Renamed bcond tests flag to make_check + rbd-nbd: fix kernel deadlock during teuthology testing + rbd-nbd: mask out-of-bounds IO errors caused by image shrink + librbd: invalidate cache before trimming image + librbd: ignore cache busy errors when shrinking an image + librbd: potential seg fault when blacklisting an image client + cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries + rpm: Added ceph_test_package bcond flag to control the build of ceph-test package + deb: Moved ceph-client-debug from ceph-base to ceph-test package + ceph-objectstore-tool: add a way to split filestore directories offline + install-deps: exit non-zero when we cannot match distro + librbd: possible deadlock if cluster connection closed after image + osd/ReplicatedPG: remove class redeclaration + librbd: ignore partial refresh error when acquiring exclusive lock + osd/OSD.cc: remove unneeded returns- Update to version 11.0.0+git.1473424516.3b8b524: + Revert "ceph_disk.main: s/get_dev_size/get_free_partition_size/" + Revert "ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/" + Revert "ceph_disk tests/test_get_free_partition_size: New unit tests" + Revert "ceph_disk tox.ini: add tests/test_get_free_partition_size.py" + rpm: put distro conditionals around Source0 in spec file- Update to version 11.0.0+git.1473418476.095f67c: + ceph.spec.in: revert Source0 line to upstream version + ceph.spec.in: conditionalize %prep command- ceph.spec.in: enable cephfs_java build unconditionally - new (merged) commits from upstream master branch: + mailmap updates + rgw: fix the handling of rgw_swift_url_prefix. + rgw: ONLY improve code formatting around RGWRESTMgr. + rgw: add support for the crossdomain.xml resource of Swift API. + rgw: add support for the healthcheck feature of Swift API. + swift /info implementation. + rgw: settle /info implementation across other swift-at-root features. + compressor: isa-l extension for zlib plugin Signed-off-by: Alyona Kiseleva + mon: tear down standby replays on MDS rank stop + mon/MDSMonitor: move C_Updated class to .cc file + rgw_file: fix/update rgw_open flag arguments + rgw_file: fix/update rgw_create flag arguments + doc: remove btrfs contradiction + msg: make async backend default + msg/simple: wait dispatch_queue until all pipes closed + rgw_file: implement stateless write completion timer + rgw_file: add RGW_OPEN_FLAG_STATELESS as a synonym for V3 + rgw_file: log on write completion events at level 10 + rgw file: allow RGWLibFS::write_completion_interval_s to be set in conf + osdc/ObjectCacher: move C_ReadFinish, C_RetryRead + osdc/Journaler: move C_DelayFlush class to .cc + rgw: fix RGWAccessControlPolicy_SWIFT::create return value check error + librgw: add API version defines for librgw and rgw_file + make-dist/ceph.spec.in: Fix srpm build breakage. + ceph_timer: prefer using directive to typedef + rgw_file: explain semantics of RGWFileHandle::commit + compressor: Better arch ifdefs for isal code + mds/MDSTable: add const to member functions + os/bluestore: fix some #includes + vstart.sh: -b for bluestore + os/bluestore/bluestore_types: make blob_t get_chunk_size const + os/bluestore: use Blob const and non-const accessors + os/bluestore: avoid reencoding unchanged blobs + os/bluestore: decode blobs on demand + mds/SnapRealm.h: add const to member functions + os/bluestore/bluefs: avoid check "locked" field for newly created file + os/bluestore/bluefs: check against locked field during unlink + os/bluestore/bluefs: assert refs of file don't underflow + os/kstore: kill dead code + rgw: remove duplicated calls to getattr + debian: should dh_python3 python3-* not python-* + pybind: silence -Wsign-compare warning + test/ceph_test_msgr: fix -Wsign-compare warnings + test/unittest_alloc: fix -Wsign-compare warnings + librbd: API methods to directly acquire and release the exclusive lock + doc: add graphic for cap bit field + mds/MDCache.h: remove unneeded access specifier + librbd: skeleton implementation of client-side image cache + librbd: blocking parent IO completion no longer required + librbd: remove use of owner_lock on IO path + Revert "osdc: ObjectCacher flusher might needs additional locks" + librbd: support bufferlist payload for AioImageWrite + librbd: add internal support for scatter/gather IO + librbd: initial integration of ImageWriteback to AioImageRequest + librbd: consolidate IO clipping to reusable method + librbd: differentiate between image and object cache + librbd: C_ImageCacheRead bridge from Context to AioCompletion + librbd: integrate image cache hooks into IO path + common/Throttle.h: remove unneeded class + cmake: fix the tracing header dependencies + src/test/bench/CMakeLists.txt: RBD exclude + src/CMakeLists.txt: RBD|KVS|FUSE exclude + src/librbd/CMakeLists.txt: krbd and secret.c are LINUX dependant + src/os/CMakeLists.txt: AIO|FUSE exclude + src/test/CMakeLists.txt: RADOSGW|RBD exclude + src/test/common/CMakeLists.txt: BLKID exclude + install-deps.sh: initial distro detection based on /etc/os-release + ceph_test_objectstore: fix ObjectStore/StoreTest.BluestoreStatFSTest/2 on ssd + ceph_test_objectstore: disable statfs checks on available space + messages/MOSDMap: mark as enlighten OSDMap encoder + cmake: remove unused librados_api target + cmake: replace Findlttng-ust.cmake with FindLTTngUST.cmake + cmake: let librados_api_obj depend on librados-tp + os/bluestore: yet another statfs test fix + Revert "osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prepare_lat." + doc/release-notes: v0.94.9 + os/bluestore/bluefs: use map to track dirty files + os/bluestore/bluefs: update mtime of inode in unified path + os/bluestore/bluefs: drop redundant eof check for read_random() + os/CMakeLists.txt: undubble kv.cc usage. + test,pybind: silence -Wsign-compare warnings + test/perf_local: fix -Wmaybe-uninitialized warnings + os/bluestore: get rid off "isa-l" type in ZLibCompressor ctor + Allow compressor build without YASM + script/bdev_grep: update to use hex + os/bluestore: improve failed csum debug output + librbd: improve image state machine debug log messages + librbd: deadlock when replaying journal during image open + os/bluestore: end scope of std::hex properly + os/bluestore: don't over-gift if bluefs free is smaller than bluestore_bluefs_min + os/bluestore: use _setattr for SETATTR + os/bluestore: make object existence check robust + ceph_test_objectstore: assert umount succeeds + ceph_test_objectstore: clean up Rename test a bit + ceph_test_objectstore: fix TryMoveRename test + os/bluestore: add onode/buffer cache statistics + os/bluestore: end scope of std::hex properly + cmake: pass -DINTEL* to gf-complete cflags + os/bluestore: conditional checking label of bluefs devices + src/CMakeLists.txt: -Woverloaded-virtual is already included in -Wall on Clang + os/bluestore: don't overwrite type if it does already exist and at desired type + os/bluestore: trivial cleanups + os/bluestore: replace store with logger in Cache + os/bluestore: check iterator before using during fsck- pre_checkin.sh: add Source line for ceph-rpmlintrc - move Source line for ceph-rpmlintrc from ceph.spec to ceph-test.spec (see https://github.com/SUSE/ceph/pull/60 for rationale)- Update to version 11.0.0+git.1472455009.a17726c: + ceph.spec.in: drop ceph-rpmlintrc source line + ceph.spec.in: drop epoch prefixes- Update to version 11.0.0+git.1472384770.c9f3af8: + test/rgw: add --gateways-per-zone to test_multi.py + rgw: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR + rgw: RGWCoroutinesManager::run returns status of last cr + os/bluestore: fix whitespace in bitset apply helper + cmake: do not link secret.c if not necessary + cmake: do not link against keyutils if not necessary + os/bluestore: fsck on mkfs (on by default) + os/bluestore: ensure block device size is a multiple of the block size + Revert "ceph.spec.in: don't try to package __pycache__ for SUSE" + rpm: force creation of Python 3 __pycache__ on SUSE + doc: add v0.94.7 changelog + doc: add v0.94.8 changelog + doc/releases: add v0.94.8 to timeline + doc/release-notes: fix v10.2.2 changelog link + unittest_bluefs: fix block device sizes + doc: do not list all major versions in get-packages.rst + doc: add missing PR to hammer 0.94.8 release notes + doc: release-notes.rst: move misplaced line + doc: fix two broken links in releases.rst + doc: add 11.0.0 to releases table- pre_checkin.sh: forward-port insert_line_before() function from filesystems:ceph:jewel/ceph version - README-ceph-test.txt: new file - ceph-test.spec: add ceph_ver_hack.sh as a source file- Update to version 11.0.0+git.1472202104.8999301: + rgw: add deadlock detection to RGWCoroutinesManager::run() + src/common/lockdep.cc Reduce logging noise if lockdep is not tested + osd: fix updating same_interval_since logic of project_pg_history() + osd: drop duplicated sched_scrub during tick() + osd: move methods which don't need osd_lock from tick into tick_without_osd_lock() + mon/PGMonitor: mark dump_object_stat_sum() as static + mon/PGMonitor: calc the %USED of pool using used/(used+avail) + rpm: proper packaging of udev directories + LTTng-UST disabled for openSUSE + ceph-disk: do not activate device that is not ready + osd: update reture type of get_pg_or_queue_for_pg() to PGRef + common/WPQ: add sanity check to avoid potential access violation + osd/osd_types: kill undefined_shard() method of pg_shard_t + release-notes.rst: draft 0.94.8 release notes + PG: introduce and maintain upset + mon/MonClient: should update sub_sent with sub_new + osd: set objecter.osdmap when starts + rgw: fix for assertion in RGWMetaSyncCR + PG: use upset rather than up for _update_calc_stats + rgw: do not try to encode or decode time_t + cls_rgw: fix the compiler warning + msg/async: fix compiler warnings + os/filestore: silence compiling warnings + test/rbd: silence compiling warnings + rgw: silence a compiling warning + msg/async/kqueue: avoid remove nonexist kqueue event + librbd: cache was not switching to writeback after first flush + mon/OSDMonitor: fix potential division-by-zero error + mon/OSDMonitor: get rid of snprintf when formatting output string + mon/OSDMonitor: avoid duplicated calls when determining osdmap boundary + osd/OSDMonitor: avoid duplicated assignment of oldest_map/newest_map + osd/OSDMonitor: drop redundant check of exists() + mon/PGMonitor: skip scrub checking if we can + mon/PGMonitor: drop redundant loading of dumpcontents + mon/PGMonitor: fix potential underflow + debian: replace SysV rbdmap with systemd service + os/bluestore: break down onode vs bnode_map size in log + os/bluestore/BlueFS: do direct io by default (not buffered) + os/bluestore/BlueFS: rename buffered_io option + os/bluestore: add multiple finishers to bluestore + os/bluestore: fix decoding hash of bnode + cmake: fix unmatched endforeach + debian: enable dh_python3 for python3 packages + debian: exclude python3* packages in dh_shlibdeps + debian: drop python-argparse dependency + os/bluestore: fix race condition during get_fs_usage() + os/bluestore: use bluefs_max_prefetch for log file prefetch + os/bluestore: use hex if we are running out of space + os/bluestore: fix assert + osd: bail out if transaction size overflows + os/filestore/FileJournal: bail out if transaction is too large + os/FuseStore: remove unneeded header file + os/Memstore.h: add override to virtual functions + os/MemStore: move OmapIteratorImpl to cc file + os/bluestore: include bluefs space in statfs result + common/config_opts: fix comment(radio -> ratio) + msg: kill unused macros + mon/OSDMonitor: add output field name of average/overload_utilization + test/librados: rados_connect() should succeed + ceph-osd-prestart.sh: check existence of OSD data directory + osd/ReplicatedPG:wipe off param op from generate_subop() + ceph-post-file: migrate to RSA SSH keys + ceph-post-file: Ignore keys offered by ssh-agent + os/Memstore: move PageSetObject class to .cc file + yasm-wrapper: dont echo the yasm command line + arch/arm.c: remove unnecessary variable read for simplicity + rpm: drop obsolete libs-compat metapackage + ceph.spec.in: drop trouble-making divider comments + rpm: do not unnecessarily spawn shells for scriptlets + cls_lock: support updating the lock cookie without releasing the lock + librbd: helper state machine to update lock cookie + librbd: store exclusive lock cookie instead of recalculating + librbd: exclusive lock now supports reacquiring a lost lock + librbd: helper state machine for asynchronous watch recovery + librbd: integrate asynchronous image rewatch state machine + librbd: image state machine now has hooks for lock requests + librbd: interlock image refresh and lock operations + librbd: remove unused refresh request logic + test/common/test_util.cc: FreeBSD does not have distro information + README.md: replace package build instructions with tarball instructions + doc: fix singleton example in Developer Guide + rgw: delete region map after upgrade to zonegroup map + rgw: fix period update --commit return error + cmake: use PERF_LOCAL_FLAGS only if defined + tests: populate /dev/disk/by-partuuid for scsi_debug + ceph.spec.in: don't try to package __pycache__ for SUSE + doc: fix wrong osdkeepalive name in mount.ceph manpage + rados-striper.sh: Use expect_failure and conditional stringmatching + Revert "ceph.spec.in: ppc64 build in Tumbleweed only" + jerasure: include generic objects in neon jerasure lib (like sse3/4)- pre_checkin.sh: fix package files path rewriting- _constraints: tweak values to pick up maximum number of OBS build workers- Update to version 11.0.0+git.1471969747.79ca12e: + cmake: fix declaration position of WITH_TESTS option- Update to version 11.0.0+git.1471959548.f013b97: + rpm: Renamed bcond tests flag to make_check + cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries + rpm: Added ceph_test_package bcond flag to control the build of ceph-test package- Update to version 11.0.0+git.1471605408.9203335: + ceph.spec.in: don't try to package __pycache__- Update to version 11.0.0+git.1471601504.f312e7e: + test/libcephfs: add the necessary judgment + test/librados: add ASSERT_EQ & ASSERT_NE judgment + rgw: optimize the usage of string.find and some indents + rgw: patch manifest to handle explicit objs copy issue + rgw: adjust objs when copying obj with explicit_objs set + rgw: adjust manifest head object + rgw: fix the error return variable in log message + rgw: fix trimming object expirer's hints. + rgw: fix skipping some objects to delete by RadosGW's object expirer. + rgw: ONLY improve code formatting in rgw_object_expirer_core.{cc,h}. + os/bluestore: allow csum verification disable on read. + os/bluestore: add csum on/off test case + os/bluestore: add store statfs parameters to bluestore perf counters + os/bluestore: add perf counters for compress/decompress performance measurement + tools: fix the core dump when get the crushmap do not exist + librbd: request exclusive lock if current owner cannot execute op + src/global/pidfile.cc: Assign elements in structures individually + rgw: fixes for period puller + rgw: for the create_bucket api, if the input creation_time is zero, we should set it to 'now" + pybind: Rework rbd/setup.py for PyPI + pybind: Add BUILD_DOC env var to rbd/setup.py + doc: fix rbd map format in rbd manpage + ceph-disk: change ownership of init file to ceph:ceph + cmake: Also build Python bindings for Python 3 + pybind: Make ceph_volume_client's syntax compatible with Python 3 (just so it passes the bytecompilation step) + debian: Add packages for Python 3 bindings + rpm: Add packages for Python 3 bindings + os/bluestore/bluefs_types: fix extent operator<< + os/bluestore/BlueFS: do not op_file_update deleted files + os/bluestore: print bluefs_extents in hex + os/bluestore: do not track bluefs_extents via freelist + os/bluestore/BitMapAllocator: align to min_alloc_size on init_rm_free + rgw/doc: fix typo and indent. + mon/MonDBStore: fix assert which never fires + osd/OSDMonitor: count pg primed more precisely + doc: replace cluster name with cluster-name to avoid confusing + doc: fix typo maximum -> minimal + doc: fix command format + batch is_allocated bit checks + cmake: Move Python detection back outside of pybind + doc: format 2 now is the default image format + rgw: Rework of s3 v2 local authentication code. + rbd: bench io-size should not be larger than image size + doc/install: Use https:// for download.ceph.com + librbd: fix possible inconsistent state when disabling mirroring + os/bluestore/ExtentFreelistManager: move default create out of parent + librbd: new journal policy to disable initializing the journal + librbd: permit disabling journaling if in corrupt state + qa/workunits: support filtering cls_rbd unit test cases + os/bluestore/BlueFS: _should_compact_log + os/bluestore/BlueFS: _replay(false) to dump log file + mon/PGMonitor: move C_Stats struct to cc file + client: don't use special faked-up inode for /.. + client: add a testcase for "/.." handling + os/bluestore/BlueFS: add OP_JUMP + os/bluestore/BlueFS: allow log position to when doing op_jump + os/bluestore/BlueFS: move metadata dump (compaction) into a helper + os/bluestore/BlueFS: interface to get bluefs space usage + os/bluestore/BlueFS: init in header at decl + os/bluestore/BlueFS: assert we never extend log at flush + os/bluestore/BlueFS: use hex + os/bluestore/BlueFS: Add sync and async compaction + os/bluestore/BlueFS: Helper functions for the unit test framework + os/bluestore/BlueFS: unit tests for log compaction + os/bluestore/BlueFS: Cleanup unused interfaces + unittest_bluefs: make flush_3 test device larger + bluestore: initialize csum_order properly + librbd: fix possible memory leak when image open fails + script: improve ceph-release-notes regex + rbdmap: specify bash shell interpreter + doc: added rbdmap man page to RBD restructured index + librbd: always respond to "release lock" request if lock owner + rgw: fix radosgw daemon core when reopen logs + qa/workunits/rbd: demote/promote image on same cluster + rbd-mirror: include tag tid in bootstrap debug log messages + librbd: separate journal::TagData predecessor data into new struct + librbd: block RPC requests when demoting the image + librbd: normalize journal promotion/demotion events + rbd-mirror: demote/promote in same cluster results in split-brain + rbd-mirror: prevent syncing to non-primary image after failover + test: fixed unused function warnings in unittest_rbd_mirror + doc: remove the description of deleted options + msg/async/Stack: add abstract Stack + msg/async: add PosixStack support + msg/async/net_handler: let set_socket_options return value + msg/async/AsyncConnection: support NetworkStack api instead of posix + msg/async/Event: debug event address when dispatching and executing + msg/async/Event: remove event wakeup flag + msg/async/PosixStack: increase log level + msg/async/Stack: disable smart thread spawn now + common/ceph_context: add prefork/postfork wathcher support + msg/async/Stack: register fork watcher + msg/async: allow EventCenter::set_owner reentry + msg/async: readd set_priority call + msg/async/AsyncConnection: fix _conn_prefix racing when stopped + test_async_networkstack: add networkstack tests + msg/async/Event: remove global_centers assert + test_msgr: ensure wait for ms_dispatch executed + mon/OSDMonitor: add sanity check before setting use_gmt_hitset attribute + osd/OSDMonitor: drop redundant null check of max_failed_since + osd/OSDMonitor: drop redundant check of assert + mon/LogMonitor: remove "host" and "fsid" from handle_conf_change() + test: gcc 6.1.1 complains about missing include: . 4.8.3 does not complain about it + rgw: fix flush_read_list() error msg + cmake: Fix mismatched librgw VERSION / SOVERSION + cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS + rgw_file: restore local definition of RGWLibFS gc interval + kv: delete store after pg destructor is called in OSD shutdown. + kv: fix iterator invalidation in memdb. + kv: fill 'm_key_value' after 'seek_to_first' or 'seek_to_last' + kv: fix iterator bug in prev + test/store_test: fix incorrect prompt given by stash callback + test/store_test: drop redundant transaction of callbacks + test/store_test: avoid dynamic allocation of trans + cmake: recompile erasure src for different variants + rgw ldap: protect rgw::from_base64 from non-base64 input + qa/workunits/rados/test_python.sh: Allow specifying Python executable (through an environment variable) + ceph.spec.in: specify local sources + ceph.spec.in: ppc64 build in Tumbleweed only + ceph.spec.in: add lowmem_builder_override + ceph.spec.in: add Prereq: permissions to radosgw package + ceph.spec.in: remove vim hints line + ceph.spec.in: remove all mentions of epoch + ceph_disk.main: s/get_dev_size/get_free_partition_size/ + ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/ + ceph_disk tests/test_get_free_partition_size: New unit tests + ceph_disk tox.ini: add tests/test_get_free_partition_size.py + ceph.spec.in: replace pwdutils dependency with shadow + Make systemd-tmpfiles create /var/run/ceph-radosgw at boot + rpm: fix ownership of logfiles in %pre + Revert "rbd: update default image features" + osd: munge cache-pin ops with data into writesame + ceph osd: add support for new op cmpext + rpm: make lowmem_builder code much smarter + rpm: add procps build dependency + rpm: modify optflags to make debuginfos less huge + Revert "ceph.spec.in: add lowmem_builder_override" + rpm: lean_debug_symbols bcond + rpm: use gcc manpage terminology for debug info bcond + Revert "Drop any systemd imposed process/thread limits" + Revert "systemd: Add systemd sandboxing to services." + rpm: be careful about build parallelism + rpm: divergent java, ocf conditional builds + rpm: fix _with_ocf + rpm: drop obsolete libs-compat metapackage + rpm: drop obsolete python-ceph-compat metapackage + ceph.spec.in: drop ceph-brag and ceph-post-file + ceph.spec.in: move cephfs-* fsck tools to ceph-base + ceph.spec.in: move ceph-dencoder to ceph-base + rpm: Moved ceph-client-debug from ceph-base to ceph-test package + rpm: add udev BuildRequires to provide /usr/lib/udev directory + rpm: Remove trailing whitespace in usermod command (SUSE)- Update to version 11.0.0+git.1470997027.9c9b8a5: + doc/radosgw: remove reference of purge-temp.rst + doc/radosgw: fix the table formatting + doc: silence sphinx warnings + global/signal_handler: use sig_str instead of sys_siglist + librados: use bufferlist instead of buffer::list + cmake: cleanup Findgperftools.cmake + cmake: cleanup Findleveldb.cmake + cmake: cleanup Findxio.cmake + rgw file: remove busy-wait in RGWLibFS::gc() + Lowered third example to keep PG count lower. + run-make-check.sh: pass args to do_cmake.sh + ceph.spec.in: specify local sources- Update to version 11.0.0+git.1470355272.6fed82a: + initial fork of SES5ceph-devellibrados2-devellamb71 1504512964 12.1.4+git.1502953626.155adb5253-3.312.1.4+git.1502953626.155adb5253-3.312.1.4+git.1502953626.155adb5253-3.312.1.4+git.1502953626.155adb5253-3.312.1.4+git.1502953626.155adb5253-3.3librados-configradosbuffer.hbuffer_fwd.hcrc32c.hinline_memory.hlibrados.hlibrados.hppmemory.hpage.hrados_types.hrados_types.hpplibrados.solibrados-config.8.gz/usr/bin//usr/include//usr/include/rados//usr/lib64//usr/share/man/man8/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Maintenance:7200/openSUSE_Leap_42.3_Update/d4a3d01a6899c9cffcc14d2dd9f3bb74-ceph.openSUSE_Leap_42.3_Updatecpiolzma5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 3.0.0, BuildID[sha1]=c081961c9b8cd5aaecf1b18a7deed3ca8ebbd1e2, strippeddirectoryC++ source, ASCII textASCII textC source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)R R RRRRRRR RRRRRRRR RRR R:BB@H]؏r?0] crv9ui 'KY pow |Bݵ=W%"Yb43v$q9$jV)&G\뒟S6h̛PT554fT",՚b\\zNGÿ~SvBl\\ أ``J+J)CkX|A \L,N;ôg'/e Qu< x깽p1Mp&lKK'g^CN9搏nSY>ܐ2K/~6\MlM;ɾh oˋ77XKmgGʣb"x.0Ar 9 yRsE=Ao!Oly?XYcm+ uދ*ezC.ܰr$l\~6Bl7jҽ]Lneܴ/U)Ĺ1FKKW>3K_Pko !e{𼟅D=,O𡹠E%hz('n͊mƼUJ1K@G6 ?MpQ_+\,&:n1m KT F ar+^(-&u@6{J)Dp0,SA2?&|\($ILi`Xy;vMde;'6a[>}xkhb74Kڭ`ZQ=ÖG+(Z1(Q}?cL>&*X5};C0uT:誩x"&>j&\#W ԅxY?qᜪhZu*2}o@|0oK;)D&5N,Z/v:#تʍN] paewJR`Jt61܀znh"Fx-P?(y_X\电կFCR mE?+FQ@EKH6q fgCcȟTo=5ey@d>xyä-Cc"qQґ?S<8Ĥcgq57>DnҫQaf~gpT@ {8"Ru ;>]#k쨡$[K;z񺴲+4Y;8n[S!uOA#mMYcʙnw!+4+.Q+X4|{YBK]r.3 ]FR*NVngA%Çٞ{cxD"-O@?#oK:p7{528K's @'M·w4e6/))*˧"e%Pҍ)X -odb雬~!8c>T+FY>_*Z5~XګtԲ3 r?MߝYŁjd]٨VfDF@tv Z?Ե%$¡YlGGz, jF7/Pğ!+-(d%e%:Q&tU[ vgKbIV]gM@_Ψ7ioda-l5T| {%"5U}`8si$ Әqd'ofKH2\7Ò6phYHܶ;lKm"P}6:XǞ0( ЫRHiW(GqVˊdh Nq4Y^GN,ElK5e4[\>3LqIj:qIk0Uyxi5}ГZP󦪕])u2ڞXղka$B„DT$^˟hhTBkI1l.D?7wA5 RWd ,e_,FT ?c|[[daՖ&?lL.?w֩dGn9X[cAuwmq5ajqۛ8ϵj"z?1yj{'^:,~*Pg5au®!Ѧ\˦eg4dQX*_~ %/cH@Iv v>@/J T,iV"Ĩ*]a pa/9Eb#\|1 ]%2jfLF0/d u+4k]zPq"#tVL#g  ޫjuZ@s2 %^)3nѺu|K2{ gSj0e=pM)'1Ӧ©HtRaMFGJi2Sٮ!<0lL@FB{J|3)A 2O* h%Ez$j54݉^ͭmv; DFL &R`ze9̅ި1&3k&%QW_ge^7ȑ/^O7IA'VQxl߱Ԋ+.oKf ,inU\T wH,5*&; 1jeJP\_x }Jl[vM\iDLgT,F |$F?C"% &ω!Bc ?̂Yuvm̆m^-|dJCB9g6^> H{@az:$Ӎb /=عM|̄b J^ܨfΩyߓ6M`"|ViBxƱBuʤlI>ސ)8H. *# 86W#05}PP;4Jf5aY)4&zHqժNʳgG_AV 5b7&?:T} | u~܀dZ!i<ϲ̦K%}'w-pY&CEƌ'3@mׯqgm0G]K7!Í CCX`Dx\X|$fom7hE}N%ӅZt@|P< o/o%3'ICC!j`x> ;stTۘ*Y;# {ɝՖW3-) lqXK$m@z5֛L_G9-Ed))tȝߜ @rYe!ފ5+E|3f*i}~tTE?VhGYPgZVR;80Of!jtR_óRB] 8g%0~bd­ܨQ$ 1̒pod6s-WVg)N:l7q -Z'! c7SK>OXe>lc>33d <ƶK|nߟyQBpƌatQ*c*Ц|KW&e̫2UGt=+0/6,7#$0^A9+ԆL "]#3Ʒ8o s*\R$J)6p]Ȓεt_٭. 90:esZYvM&Wl3(ks7wŵ *O$PÉZ2ggBUQEPl}$,׋5_t3#_^h<y) _k[)Modmwv~@Y?z%Zԟqu9QYcd)^Ga]45+|G4J|d:ë .hj+]alnH1r(PvgD?3vNct67m~xJu#\&J^珴jAS.$_ңWHl [RZel2PID%os67f[ * S$<AE̘BLTT m_"-Ψ-ьm^L`%` {h#J'VA k'-L#^$Vaܶ1, ?tdS<ц02(6fmַRjFAp>snX~<ԗx~hxdf>MP߶s:cVnDk";I9sgʲ0dV[Yu5?h1@UHQCE .Wc%,5Gdid_5XK&socvAKIS e4lj*5ηN/{rtvW2@Y FAgrrav9uWԀ38 H&?`3[ te!t]ѓOȩE]v}XqAe3 m3Qe@=J'!Y:fcrc(DZ5C԰\1!Kr`oXvNƛMM̡\2?(ǩ76Rǂ6/GcoBk,?BI"2Fa}$3 Gȣ ^W[_ظyh `8̴\x70XBlQ@ѵM(IE .Bg\yBë&f/k&i Iu3n?)%a~.ti  Џ^-rQZ\u֖wBx˦Vw\x*iOXN[Hm@ P<Ou8x0 Su 41 u+R7h&dz@]&Zӗ(״/-|$_]i2KBIye}=N]/FIFMrP>S4) x^q:c|"yO*12!+X>^œȅlH9:76x?O:计Yoٶ> ?o =Ҝ3&*=<-:,ACĕQs@ރ.Nn־.uMWg@ #)@u}f^t;?Wcu첟j92>zI1#UDrcb.TVN^H(i6FOѵh8Ʃ R5ƅٸ% GkdVcyF""^εJ__L['(p&.w(6Ԋ_hg}sLm+FQDl܎e>(u"ڹz&VXXb!DVh^:j8}%=tLGP;GjyDĽ ^UђEE*VxO8#aD'j[io)qv%뫛*@loP<,Z?%X0JLfce4]?.+ߓ,)!D#Ab %gN 4[}Z6x< {|׼f:w aFƽ94'T0k}^hjF5Uyj:s7լV"+\D5!WgH3&z˻xBMq5_#pQPWcaiYr0~~"ЋlkgHu4P(Y`\}uYpOteKGDM#lgm8Jv:þ+N%ek{mo-ή@!00bRCXRm޾M?a2>X; }Y*[`{Š>M)It3ϵ͓2FjgͷYm>em#A.\'^_*ݹD p4t .',U֡:șRVys',rSj2YSysH(+"Ԣ ~{ZIlVO=_|;z!s|81;?\6AS5d-~ Aj=T8ifΩ`*]!Ne;dxYFe\sJ =xq)_qibOIDs~x>6]3߱ⅤY]gQZX],Zk;*5 ı4پqTxycɒET8=?_ܔeE! S<&ma{(Θ=ВS Lj %.(RE:K6A)1.-3z!RTvEdAS?(ޖ~ ³JƻL uvYKVq-oXȧ#C&qMIEctAW%qc-G;/H[gYNHLx?ɴ iŏ o0 2-_n?b=Ri0UdD*zf揜0ښ, w 0~U8}*ڿ6b&@vXiCNO҃h 05j|S0HU׳|M> ++Ɏ&|Wq~ 6%q>[VSt| 䑅GEf,BC_ZzQ"d5=>ymxk&zԋ}UO7L9_bI+1,Wn E /0tƗzc9 f&vrhupծRlû \iLѪNf}UnR2kXֵ6<0)EFuhzu%X@|aM;j(_cvgUpTκ6W{IC 7)?L!M4);Wo'EkN\(Qb}i:og&y~B2\8ӚS[NO` 6 ꤺP +psPSR{S5x ( #t3s犎KMc&~zzFu{xɧ#&Z Ҁ => mLX3Q?Ɣ!, ^w7l6m8\)<U'l-`kJa! I:4M(?<+W|;T~`<&*'iT]7ň|Q.MM7]P47{艂܊%ݭa~`7QǤ)e? ZRԬf֛Kl+S|j;"0m1#âFG/sFﰱa5I):PXie#C31pﶋ0pa Up6j ޥ.j B2!AF2U,fo׬#NKKϤ&s춀1Fmr. KJ#BFtie+mU'O:>mSDSp Wな28 /IuM{9Lқ!Ҧ_]B k۬kw WY qˁ7,D3Bw[b ZNX & I@.bJ"/oW}TD9O'4E'= !,( ,KF%cqO~B s_!s[K^&zZi$}8˟'d Es lR['f9&hߟ B tX%9 ^S ;\|*pP4,tXҲQ\a^f'z׎̥v˾nXY6y F޲1 wq`Sl镛YMM9oz4Bi|i3fo֏eR֍Mlߡ.YǴuhPci㙥jblSmp &.~]G7 [+Zj eN 5&>ߕ9&ChбF@gTz3 i7/ ޞJϋˬ?3v:TSwe,~Ho#;̿bb=zVj6.=36"g/LC3 ' NCNG4ZcBݧ6,f|DMUf[Gc|x֓k3!J4-?U?s2Fߔ/G~֢" 7 \D*_Gewyζ@MiJ6R ř@1 ZFuq(h%B ^;+Q'*ֵ걫,n!޻ؖQ9pSt#izx15[Yjp.tf# tc)vsL- WI{ԮV2P.C8&;_plhNBy}vjg]ÿJ)=c%J<0^F/"ww@4rls @%P|;Y7;n{- c4*bs%^Bk@Wgŏ$ *uFrK%зbb'ʐ4]DmLu;^z{I[  I9RڣWF@ wt#`p5u$qI%So&'v3x]G<';bg#=<d2 l>EE;8ֿ55Г%,jSlS~On9AQE =hZؘ <!#)5M2O(gSt] !,h~FdhwـPFo:gny $gl+0(-o (پ.,zA5Z~)Gցwy C3c [el?4*F ^k'AC8FwMs+ӹ $58 i샯ֲ7K+^/'LwAQ&k-5@ٴɃDyoK-/jtok J OZ~ /$SYv /ꑅt1̩IQU^2{p5E0x^ L9J=oƋ4~|qvk"Q7j% 1uf ƻ_/7V8M_0ޤBh]T.,@lsDW|NhT$FYѳ V;χ\ƐT?2qh~fS#F!hOM\$7ɬ`_Zb19r\z_Tv] gN9Z5i\,6\x_I/A-Mwn׽E f7 †eU7<冷W/D $q;q(2_?vW4n]k%¥iL%/6n9@4B}w[%Izu`:O {O@F`|E'-vBH+CWyrAZ=5X\l!b;Ř)B.eƈM՞Hg2`O!g4A;)r+ޒA=;u|QF"9{ TDd7l8BX~خ1I_6g|lT 5BkeU~ИօM9c-Ee:C@nn0JfޒXX,&m´|RL';舙rW +\A"fm%wRHHJ\j+O.nq\r!,ӝN?O'Uߏ%qjz{+k ϵFZ1Ӝ*3 jϚ:q%Mz!6g$">IXM%[XpI\=^%(ϖxS 4\2iU;jQ"4RP&&Ĭ#iʍВ 1USkL[B.g#Q^nHSxBbOdCJ&{)*_(JY6dL]2O BҜ.6f[xReWH@L62lpTHq @KD|^_7/t?!zKt6G$R:BP復+f5GL94mdMy"!. S r/3/f&( %/Lz2[I U%M_v_,GYsRprL@;{0/ӓ> E-V]wBO#T-"} .kFJ"&i.t~~$&w3~ =F|rRa _UQ[u'"<+O`)G4L wo.{1TRfN#"E:D r-C&ˌ'JR"˨z5uI;/_y 0a ,o:脶(82!:W^뺩uܷxxc7[Y*It&7n$xheY#9JG!C 'XG"T~ni,)xb-„_8wU᫷K+>w\m\BBaY=GS_qgԅ .]-X4, eyث37D~bQ8%-ØoEV4 ց6lt~؛M VI,OՅ$!Jpa-l̞=Q.7|:\I=;Cl)Jb}B"W/]{1O gI9ke>℆g^]8X,OA OH(AV|.ԴbX-WOeI-j=}|.1bF)u ?ήubՊ ZqW)sXԞZO`|-y&葉J7la2&[uUJVT6=!Ke\K.d-˴ੁŝ0n3aqz.nE^1$_$Ч lEiE =︌tsvxujHw ?dE XeQ=*j0-~4q  f]-="״o nKEjp]91vF@@*mP;~pO23 bϓ^4M4$ ^S:Cܤ5:98kW4p8Yo'q^8O,V 8b2=,&)7hO#mu=mN u(u 8I_vb˫x$.QVq]xq# C(9A4A ;'Wc}eQ|DB%}^mWt{H}P?n<[' U4/1Hubg GAPr(`(gD+AohԤU'+1q=5twBEbK?r6B$In0J`#2hȷo㷧Ҹ /3;wGh#,w 5Ա%kYxjhdwK WIɻD\oej4I~LE\GKA4F#Y*,6ɟWI @"2q)߻^;`Go)[-&t c*1NO(^wZv)`--ސxy&IV/ lUlk\!.uG@h X\@6ƫJq!V ]C Si Ƃ#Vx5SrNGn\sKp`pc$`-CV塮S{/m3Y4N澄]a2|Ȅĸrbq(DW~R޽IXĄ>QHK8[ϢQЯB++'[sKG7u\]) z ,wcnL|Nalk itcŒ}Vi|kVcV[gKSy T𧐊tɊ6 t,.X^B?dv~;r7 ~i}鴸CPS@Rw6J0ImW1NPwM =4iG|v&%ȷSlD@R 5gv>⿣2U3jPXBJN|___;NZw/- Rhgszo:Yܪ XC@^`먾, W1=WxbkWPS>&%sj7 +cז\pz:9b&3My0lggd1y#wc$Sz/Jy?A/")1sDLG!0L)UWy,A UҶ <үwuPuM#_)HO"WAg_߫lcpW]2nv+56M?0;7=*Ciݍ2e#hKde;DfsB>Z=$z`)nQ5ht x5 , WcMuёT][UQ"H}Bb2cÐ&ZѪ}ȾgœmS(yTpaFptNVk' 8l]RŌM>,? VBk {HHViNgϯ`Ҫ^d.?$NN?%hm􊰡7ץTFrcd'~X>6ʶP˷Ds'qzA>tͦ> Zy[ s֞ &fa 6c1}GFCcz( <"2:oayZ?Yn M0*llFDl vsVž|prauT@ipp32NRx<#!"< y`6%սfP܌9ɑGfb%LP0bMx4iClICb83Ppu1 R5~ #͹f1Mي*y2y2s0*Bp$퐳U_>;a7X3/82;VəހMDY%J{W.ʧ1ZɦO8oIj0ĸ+ $ n ׸rzRz%czcdŃ9^=1ԤѸ0T8R(^ eA_ 14餇ٝu=H8Xĭ'n }3i-7&nq D>0R0]qE&BErI0߽_ b*^)b\/,%AW!Y>B[5(1 M9j})ePՓ}*_ѦW ko 9WLNŸxIBY)Ro'X):j7u!Y卌C<_roQ`ʦ[O]}i%ܽ %Q!F7[h^%̰7Q+*[0vd3y/bADg^3Ћ x4{#hLw F\e7d~ܳ][YtAܕs:@+՜zu|d.$r}EX8W荻tńh,eTve-2,% 2> JvqQ˙tvUyeB^_g7\ w,fZ$^Tr&D9+!(-7Wo1@>eNXg?D9YuX^.#Rb鹧9<_B0y/݈)iВ.z|:.޾q3L`R4=GhڻwIҎoԅzdqAALw 4-[lMHsUC;3W+Ѡ- H1T܆Nǜs4p6BAH'b?M8eqkfPQc@KTVcDiE\̾d4M3A@v Fc\9A56^*s@*P*U H-MplО!&M\k@cVǠ>{Z7XJn;z';q+xJ1(Fex:I1TIsqRZ)H-Q8z!f39QriɫWoµEs>\6U6=[HCWt]Z&0דξMsLai]yA>)Ai&wXaryp/Ou,eHW^d.mKum2Xe6We"cD=c11HG~;QXߙ'%GGg>+ro"7Znִk)n2twH^-a}. C~E "nnrMAdkF5oVnxPec uWF(+\y΍aLob)eB ~XbUMO8=Xa$pGvV_. :ky *:0b'hevBQFbNg.%a;Pg]3ɥ+}9h"6JwKwx`2*2FQ)nb/<}(˕*|Peiv𵪈 /$~;ZM&!c~V,UoCm0Fg)IGr?!9e{gyL/{84N-ܪ v:T$TŽ_-`Iiy\Zz˄JɁ MCY?՛3,)xJp|2H3 ըhϴ`5mV1HF)lrN3%lie8rAW1]j\mNDxRȐCvW@/ǬC \dxY8{\鄶5f '&Wje$뜣` >hއioMnĖɋ CLgθq(eO)l@2qy_ ЊKK qTG*?8ZlTC&`3 :]U5wkn3&P[jya:[#͟-zmK1@.S$uu2h~gM-`qAʊʲ4 ͂o}7, JS3Fc#t Blg#VXdʠĖب+撾g:zmjM~JjkkS[BŠobxӿW,JGR؛\G]tS;E^0 Vç=wxhdTlMʖ+X1e`.-I.,Aůgs\*ށ͡׎̔Y@1~_ܲm2~$&żF#hta|tC׾='ΝNހ`3TFQw)$vBTS%;r?GT2y$՗PGueEwg. UJ>O7A׻pIiƑVg8H[(0x)wNf.$A%0kUk`mrn.҅*f!*+sضrha^w_ԝ??G ).Բ 3ܔc{`kqlrƣ"YVMSh^$ i褟 ޷iھ+yB`)Kf_e/s91ׅ;~Th-k1f%i9eQIIv!LOBKIQt *s@5tNmW^҃ [ѝEk|(eDB D!8:3pEen;pt]-w/ o?}(ud% Q_.nxS4/ZĦqv&1'@{7V'fL"7*$l1kmDL&:>XS"lj!\}2d#noOl6ct\J'k8ۻs@|}Yr6! FsRA5|Z1]ĮqHHPWx+;>Dn^sjy(JllG4YODP+We Lh5צWQɍ\OFD~ϻs;K` 9?>R$m" w7K-tiE@^%AkB5dȪyvl3ҁ(^"_Khjs_rEV&Qլ>N#"Ej+%2m.uo~hLơe=&T9Rw "z1~~80qcJc;=]xo?Ł.5b>F u Z{]=C 8*~6GiKA`Qq,Dh*)ܰ|mo5Hc l:GhbL5 .cH[nӃ(SuzlM/A;pS[^:\RfBz$=4 SP(N8jl&^>+t@a(ÛƈE]LK 2b\XD:s]"8B+ո\a,3_HPENm[5h 'C,OLS7ym6\x]`o+?dR(_oّQ ʗLևF{ٓU.v'w&{Ӏ%*1Wҷ,IH?*QkЬ@i̎4;+kwNآd@5ҋY,ԅWŤFL,Y+b5Hj=Vz(v 5 *͡׏R1Ayfe*ڰa Z߀iz SzḪGXx]< '(␯[$ɣ07H/[4j+?M0dY[ca,4 \qfWiChrID_c# 㢏9 P^~`4%KkV\N~c*h*ƒQ4v{U^)%Wic| p9K.$34LxEͤQ#w7LI р *TL^!*Z<`=U8t eܟЂVbC0~ˋ{ Sf Yc-%!-U(4A[N~5\>` A:,M)_Ƞ?E7X1++ҟdқ|ȭYxCI#rΗrj73sm/kINC kl@6qxucUQWR @ڋv_>خIFT}YҶpRq 7ıĭs!ZA13E $3G˂kF\WQA1k$ITTCR) \MW ҧSIyh6)Ko,E^ a3_^:u[+O II1i2 /lra;<"fr ԩ" F L_ߥ+Q[{ȩ{);չ{ .ɮL‘:LU7W' a3W)NEChdubp SEiDT  ݵne;_1lV s&b#7kϿt6^떽JYΘ&jĢN,TeB8P"!DU/ѠKK pa@}RsLԬ*_rY%%>tx}NPUV[A_}p %7V'8; l&(DI`posUZ P(}KKh|RqTϛ`\aCk|#d' =>.{S5K_P&>#>?鉃 bv]Z*ι39/0C5 Ѽ4]˝LbsB;yV߰M"^oK7< ]E 2v0< -mHywŨ0\8-w͎5{*ĹpnV`~`W-1G5+Do` w8+B 嵍اDb*2L0@XQ`J?_jA]\ 2 5k䉨 pi30%yTRޝ'vR򨠑C7i!_|z5cn.qS\6rB .szD(??蒔心׎|Kh*Qo5-(~MVQˊ89#ãrU3NX-gLpF(w-Г!F3+ u0h h2\B] YmJry @tF %J|+ H5Hǜ4f_^+R=?B ;2D&FXjekBpêw2"u"܎ EiDG_UC!2R&cs.ls%;X*Ʌ@?X Y# gZ"^{.LQK;7ŭAc,` ]. qZ}Vi$_o+K/DbmKw3wD܍(j!?}d~ea0F' zdX +M>+;#Q_25Qp_7A " }D.\WDN{B u'ۤ8RݡȺ~o+nu2 Ӽ5O˯+}%n)=<􅊬Ebh hrUmU1x|3˳J*؎]݄+mB%cɥ:ۅKaH 8V=Н-q@| ֛Jn1!|U+xFvƇ}T8 3hȁW Ki8bT36oIbj{U* H;sxRA!ů݌&P2UK5/,YC6!mԘ sQst@3g[@[`&d+P'| 7+6~eG81ヱ>1rtI&vZ+ږslܽ rڻ2I͇6vc"!Liڂ%HT.k$5:6b)șYdo[p<-B oxQԻz6Us+ym*T MDȈjґOф;ϔFʸ7<+ ,$־Zpv-=\85)' C+t+, 1wtKuzcdjz0* D\p^wK!vҁ5a3]^Imp%L=/N8(͢x(ul D$oveދ&` ;7|yTA4WUr9@'F-mH" 7ueτd^osXʆ3/YKBqPҮ~N+6~8rO7*]"|B$(Uy2zs᳊]vm0w VbW/]~rm,PH\Sq^C㣺U٫jSGG'?ɗHLLúrH w-)<E),7$}Ce5bbK)/lu O řW9SԨDTHLǗre+wb.98əusHy{_nAv_ڠC$^zSL嚫ZPMܝ=``M^0mGF;`Pp[Y,2ku]>I׈<_E Jp '**qjC9*)zPe[눷8z[,&׃'jΕa`ZI` [/wp1ݾb0jt3ߨԦ:7QPV:wqKهPōمezQ_]k<#9T96F: a/$z(ә,oIaL&VK`1kS7 "$pY1ҜUZdž݈⨫iBD; j ZIƺ=5k:Sd['vk#mgX Dx R<7M_2yR3OLO6Z>AFgKAц&jҨ1WOw.屹09氖GE EmiP^`|33}C$7AiL$|y=ڟx+`ßɘs*ha0y~ޙ>3-pyX,=J% OH$dyMu%f\KfyiB D`"~']Bbꁒr &jg)%I6>!xE"*`=w[SOqi,$%1m*þo kS6fkm$3dȢ(= FsAT߫Kn d0N? /pe4ºp.E0%HLXK%aݛ~oMpA4eceϕ+u(>#}2Yя%8m7%FSvf\g.Ǫtݠ+ }7Le5crĽl#^MXoQpsXf4YU=^.)h/V:Bj[Zc˞|굘YKL\UF vOQhnQ~RVݒTUڭY@§;".EQzPN3@#&*V =2=iCrg&~TN{DJLPUNnxLB,_=7j'/4(1e@v iYJ#ffKmQiEYi[*:{og ;cf/%Kߙi !y;H{Bt",ohc_ [e2>"KV_jsB- ,z+%zB۶Bldf o Ƨ۾eaY}FRgGޱ .n Z?W>Y:Lxȳ>&ĵ8$ +2c2/#P.LJ<EHX[3$ݕ$ihOܳW!u=sڟ!%}FX$ D'Ew*fQ#F@4As~蠰C]'b>kޔ‘ s1~0SyІv1%VB"?E,TgC[<Ð\ OZΩijrS|wh%7,+ʰ$]Sݏ^#[(F @_s5V[*<%N.DlzxJiMK2i,CќOiZ;{+QԼ'2b ^Ȉ{2$P}5aK AKfn$ZթH^!u؏/WE͖:4LVY h6{D;7iKӦ(yTPW,.^X?5L^@Bt?zE,s:(Js5"}&U;eMFu顼]L4][ ia?kK;]\n ّkB6 STᦱo?7 v :$7^8>9VMz?m!P^քATXbu2%7e0ESV\l>\'aM5rf Ŝ}a<-R 'o _g{FzĤ7%H$$ +DF2&G:cּvj9#F6:}UbGzhA7?r% 6>E,&HxFTKM?a ܃H B/k̳R14NWE=dr';DsG e H/z`0]^RH]d•lb늛|gva])IcFa ~7\G!˗߇;(Edڝ)iU߿ YlnƲEr2Yc'&TZeRjflIA 7;B?prah(ydVB{Ċ R'&yJp 4- Y0kTr՗F1ӥ#lA3G{Aқ<ѯ{21ߦ0BqW''U`97a!}f<`Gȇ@_ gs0 NR9z{I ݝM$a[6К3E\t#.o١ Mr{ MӞos,Y s ¹WK>Zq F.z͆.rV)pP6()VdF jábͫ/ eBe@"g`8 YHӏ}5|e"TieaB7h_]JCT  gtRZiy.H_ɠhO=1a.Zu>U.~*$aG1wXJ~!a,!MzD#x梽P bQW-0ӵyr*ܴʭY,}3ucp-x3F p3=EuIbZ0fa1湁|:ZwjŧZXkaZC1]O2eyҾ)/Z((l|I/,/+} K͞'W+WSaod%,LCwwk"ӎEY.O{<5ˋර&$Q'EXe2po]h]~E %y36 b"z2ǯY1;1s1TI!^-N[i *-9~b0EYi_qjtFj}e#σ DJ/ QlH%`(n#&S Қԛi'l]fi.oĐA.u[Rx¯QWsދЎ4uO 歩bd<-RВgBX\T ]>qM:a_ӣ\juy2 UQT@Izu p,em5Ժqd0Jq P'B׸؍EOG<:=Z5]U9 gW;l|;WqeԚp̕zmI:VGuGE8+\ӹ>#^,$2iiΕ7W;q9x+е2t89;;s`Ӏ4ٵ} $4(J9o U;ܤ 4+|uypIquu%Ձ OzGHWk)>-}+4w{yhFKYfMEF+y~瑰ʻ(a&|( $36:'T /Ur8.&oo-Ȃ#Ďs;a.v=u#K_^qAY+vbМt`ˬ=Ao-//G )NAًi U_H^Y/QiQ Y=< K{ 8]XQaƒ<^쨜p0]'+,xW$$cy!:` jO:5Zm,1w8Jd Vߧ>c*+ضcPƕ>JqQ~JLS,PAa08k{ytQa 4B@vDx}E)jN1+?; (rYw2j^-G$+rv+˳SjR=z@a! ZS0JJ֦H2K6k`FMN%{dˠ^]%keq]$-c|~45gwYE\ͩDG܋WXxT`w͔$bήR慂ꧻ*ڗ=7LrkϽ-Bzj^TT< 7YF !znȒ!V?(`ϩ4iѓ B83[W$^A0Щ)呵VfasnՖD֌WhB|,'InizuoX~WmĸX4a<.#N/#- YrɠwT\&"?DJP+i fw䛋t*t~PD8;eEZsîߢ<Nx y\Kw0f0̷vٵo;2gofUrgMDkNVZbc<M"]?jZn^ ̛_{77n^e: _oBem,kҁ~蛁h'R4"}bӗ܍mgC2cn{r ڸrGt𑳡M >?;ˋo߱|Q_l;T]b@7ֳ:ƈtE5 5ƀ$սn(1FDB-"ݱsys SZZ^ P;_OTW<ՋyT;a r.=@2M5s?Aj|^AdDpڞcc7h[;X̛h5מnDQo\c ORR|- A(͍#5jߛkW8bSzaRՈa\|qfv!gf 'Iq0-R.B"P@4%}Ze_NʧA3H=^t٧l+<^,?֜䷬iSϨZ%~ 9i8 BAF GI"MG.7"o 3E1-~TJ&F(aeݪ~]sZLRxQ,/]S͉ʋ1.1AC,XtՑ3f{Lp.ON1 A3 ܝ]M$pan ޸Z]fPt`w1Bf_ z?RF"0 B-p@-vxC-øK>R@#޴\0'Kb*cO󈧸hzUc zض?|hد=!"qC`}fG-̻cWn7cN'FP_zbS_?#sԜ^]*7iz|Xg:ӌoMGҫț Zծ #^؎[aТ2"ϝJb56Yx1>R oЙk]qV%v&ExbͷP"+8'T Jbpz:koK慻I jXVg+Ϩ6eL=(ڲ$ -Hw} Ͻ ʎ}T̼kCT&I{fm*D_Eqף$iY?bO)sN\@>G*GțTcT#> _i5V~Z(% =ȨRlu[4PQ8|K [b|HWݯaKb^vpenps9ۭ2sqK:L?7E/RmoH$s;Xx:0=ؙ>xN;ouI%&XNױѥ8ȕ#|;Ef4:m9 :6uÞǛwm1exB10a-GznS-=Ok)$c_(Ѻ']qsoNl<\acn :CF",]WB8CۯMin mO Gփ.k_ĉ_s ڀZ663N 0 4ԚhLơ ~>:?p>E /% 9;PFnyGIIY* eci>-V)f"N4,b, 5=AaR@i9ZY|Iy[qTzz-'T=yW0F> <_WA/dO! "3 >Tt|tLА4 ʑ&AOlx"TwMKEHg}#,#j'm\޾Qqs0Omwb*rM~AA0s'd__<<buYևn'vhW+]=;~)HnƢo0?>*qUR%E+b2a Ytnb2EE>8S ͺKHC΢Z[Hz9 #D#,KcW~P,ME 8S\S20WkwOe>bU}͡oE VC!mB`Sw 65-! ̮R C@s\^#"Q*$XJj:B4h6|,s(%ȁ"E$_ {l3UhSy;iA*FZQ*Df_ѯIΤ`!#|iJ~Oʁ&Ro{*u(~uٱ5b@H\"cl1&0ga G59c (&h[&dr`Fp GK]\{2O_W6ڗDP!wY6hQS&W89Ǘ9]uA}_$G*)GuUV_]HA/| zxյ{Y`q=2CAN]תGefZBDdߞx*|9EbDםC_0.O=TOF(}Fk`%R]Vp*,(S5h\ L/[CuY@7Y`{i(a$ !${2Z߶_o6axSfxO7+#C08-4;=?X'U|07Ƕk 5u_-Dʕ ?pJ-d;B2^I a5*8Hv7?j$r<%WqmVEd?nxX+4x[ @IFJ~{ v2( 3@7xxfzqmENIR#kB;/`:ՆXu3@bmMAqWx<DX%af= /:]fpj*4kbucUS^j0M5㚁!P}U3fٟV~86F-p ë)g(5:|njbWe@ZRo>e<X쪃T֝6}VsͳU+Y):ז=iWjFљ8ALв_/5[V*LVNzMSSwЗ_l-A*!b l@KxlbGCڛf=ӽ[8yV+ olWKzյ|dzU!*}MatZ Ƣ\(8*{8T}wE; J؄)-]uZ\XaEp- 'wa\B0.qM9M["FfXl<7ׅtW{|${EwxaUJ4ȫ3 erR~0|hx`)V{(KoҺ;M;$>w)=33s#qQY'cxG0-dtgX7m8έgR~N Z8S lQs*|ײZU(ih}d38&[:8CNWʩB_Z]ȍi^@0n^ݠ!ߖn4BE6l8|E''4~Lg@7˖,s H1~iʱ&jeEeB䱬ŔiGB7?uB0U6xIJr&S}db? YOmT!Ivl/'a *=fjr1AZR:{HpG43] J2eH0BʺՀJűcbHM«;@tRMB 4}8a:<0ΐtŭn)甶L1̘,S9SE׹QVMaUL{X_#'N:B Ǵ):Bڵ2a{I=]޴ͫt _MTH@ZvMt: :GjO݉~Eo2b}v1_QJ u?Fxv ƏN?P_`,U{kan1d*E&CLG8yn&72$.g[cArI͌' e?K?I;$ccZ,8`5+NOjJ"̧c'h%-DX=wQL&"[\K΄Z"wPf,l2PmNuX=s}]Pi)Ǣ;B?>xl\ކ)LJJkͤ޻f+( P휽pV *Y35"5!nLOVL 9Pjc3Pu*a1fMdF$xd+8~9"op .S]9z/8,)~ }. CX |ۭ_W

MI hKϧ5VfTk7do(Nr]+RUNϖܶHm9l7Yӷ̩R kCQX A(¸*\¡^M O H]Ri{9nwzy`cY63Lݲcp2F GoxGW۩vN3"'~1KF($eo;Ic2|ҮZJ'w$yײl RtBjj.vE['oԠf)9eP@Fײ4|bqOW@}W&U|LKTiHE`ǑM s l&EGT[շs\;du@'E?ӊJg;l`tMQ:JI.32g ُdVgxrSRa.Y<7+ q]*s*ӼBXe 8oLw6so8ٖH|seaϭ,51e.A7 \ {N>2vxќ7vm#Fi ҟFҶp=% ҒnH{ۢi?.ec^ z __JaR"ƨA:zcقz{bQkB:qj^YNBF5r]ҹ𱜯Hé)d) hRZ0G)̱K5H>[t)'hlB-uVvaywAQEmg4esIN'I@\f 57*/HֶIEl\P9-Ԋ+;nv~ֲ 7d\NсVnPu) 2Hrv gnwV+r%DƓ+,:RiM^N.%yA@wyu]X\{H,kq$~Nd! W*$:䴤!Qk{#,>U[Jd!,/%~pZG`50T ;$=W8 0(+GB4s+%r __V`6TEܙM D|i!5"ūaZ` JscBtrСJe)+ڢW96Nmo(c30=Ŋ$C"xcxOZg;j9FҐt[.*[a9qͭ*~+)z~ἴCA'VaWjh7w^f7O`g]M"9Yҗtt0S/ 0>!l*X{*W:Wߜd5*^U8ߟ! Z֯qc0[510'Nk*4(Iŭ ;SE0T_ۑo$`Dy$1yNu^|,"-R8HSR(3kZ )TRysr`!M g樹+|Of$v\4([Ay[s1xy,E9Ѵσ1ror- biÇh[ :u]mv@o1EmMYsdgck ;:/.- WRɭ}0*"ӚP?;?ibuHIc'z%oCeأ<< =tؠ k/'\j! {9kch+qҀ^N_uߌߥ_Jk#^=`.6-M4xJDŕ8H&{{)爌/!Z0\lsA[)}$*hsb`;@%b˭&TҢ|"T`{%MH8hB)F p-e0/+R`Iɢ[+6"2IzE?>\[#ðfhTP`x`.jً7ٵa-X'94 QV!:kCAJ"]Ѵd'ժl2ݮBo=7*F9#/^t؆cKob7Ranfc]}?>mN5i"CguN*A2z1<%Y޻URKa^Q&Cix^2 w؆ظ-4DĉwrE '⥘j][?—g^+ޚ373vJD WKCv(FoWׅoԭdk4+Op\ ңgQ:8qvDfjjH {C3]gy/P-x~,1i28̍ Y3 `K95g5Wm$$URQ: !9q1x~n_l0#HOH\,8]ϔYT{{Ǹݳlé& B9%EaCSSU=FA㱈I&_b9op<=17ðN_Y)DVC"8hMto!q Fڼj>t|#P8Zc| uA(՛r>< 5抃MPw-Lh'~im\yFC'ܿ5ȳH4rp#;fo pWqډM8Jw^2C%Ю܋fYyE9^_I Ӳ 11Qq wTaCx/7BWD(NȷHuOY F htH˂յ==g'pq`rI*w>w*{QAG!t2ZTLL/An/yGG휓E%п%6;ϾEj|mh (AkBjBzyN$2ΛpdvdX8,D}пffHk8U("emPES#>f_wJ6Ɖm󮻡Ÿ6̟SYQrp|4E%D~ \뗟vE:Պ^i͒Ķhli'OZݒ۹3u鯳@& )]3"7A;ko:|:8qm7uϴo#Txs7 *lJ[џS+ cDOJRv1%9RQqBQ?=d2}k,R;Y(Wu$pooG4ٔu͘DOùqF'湺?u^UHon&MP|n5 /kq"`vtOZzRlc vQ{*Fb+YK?Semo`rs l6Bm1<,2;FyP w؍R1u FAQ1@mz[cIS{:yv5_|wPH-{aVxsT$B]Qk0!y4o 2"}ikc^Dx ѬtL B$:K"V֦7-Si~8ȕ4H~ R6~Tds s9%QÌiw 1n@ 'Ak=QbH5 7K-d쵌;#m3&O\1K$jThF-Pf'ݸ-2 5~Qi)vKH,3,,Ԕ](meIr<,c5<`m}G*\ꛬPBw?͜&Qk ||!D+. iyƔ,5v%fx|P7;66MbG@<)Qo Z_b_RSܶlG[S" &'׏b''ҍ LIQ2ɰq,Yg)10v#?.fc-h\1o\d0tIgg֝f3c[ڑ 8c1.6Rg*w.ѳ|;zEy.[h- Ǖ,܀ڷD"$]t A޸ B?+uw7~&?(S꡵PLOIgY@\h϶)ϕATc+>t;$rO b$g.ռU? چ\G(}坧B7by)ҽ4_neЭ!H6$'lw~nR0K|*>KZAox|ִR]{N!\K{yPqR5}wMjTyWh3+ݗs m}.^ӻP`¡Fk8Kkgd\>Izˊ6=Yu3tPY(^ K",x9\j̞2a9_'h^vWkhšP`sCCtE'zeRGhwD\$'\E-X#MًpH(|`3ֵ-5oٹ~: tB#g9L_7DғQҹww˩nc8gYu.UAJ!^jp+7T%c~\e%%hlKsh@wg*-J58BYuJKZE?֎NIa(GCQ\{6)!%';/h? 0JO)s=>e (?V㩍"xjdTz9,%\r/mt^&{Rp@T`G{OnK*biN}Qׄ*ʢ/?=滶S[`hH$Ѫ(̩!> aQdO!"/nQ^lf2kW~"v1,%-b4vJܓˌl..]&dh./pY}Z'n!щ7?DԵTr~i)~m6_~J UCX ,߳k|u}<8Ybڸ 4g&W `b-_nsk_4BVPAM m»z3V#|APX9 4ߝ(5ЯIi~W wK?K~)ڠqҽn^a"Z2XXn2$70iNWQg4Q\B4d6dI 83`=%|7mG~>%8iw6@yRu{ L#j8*Ay.fCXODhl6T7Z7 {7yQ6 }/)okK1kjÕRxTDBy" `%{Zi*9hoSוeZoφ$Yɀ䂐͑m<Йn#" _>ᎰN # ѦrO~iVz^GAMHxƶ-~DrIDhBt>ZpSƇ`}ϥÀ M޻[*NGA#IxeeqS+Tx+oyߖn;7]j?ũdu5ݕrh(Pd),VYS9xL6i0Ԭkc$0{d!C@pZS2&CU/aIy~;d{^D)QM O,6RW9;ľ)V( Z/۠E 9$h޴ mLl;-䕎Rp+Z@&$f~K'^rWi}bUʴ0#r0JbG>ICO$@;]Vh p5~Ւ^Cp{cW&3WtV)ru4bKn4k]t¸źY{k7! @?U_b\9b\JIg@,7g&ګxQ @>ک'/β$l@,o,qy>A5_7pJq^ޓ1TYT]hvYyȖG}OݧkG铏ӒIܬϥ}^ R3UHXs9ӂ~u~'<݉q-s_᝟.t_W-DHÆ+`IFɜ(0M'xV)7~-,%v6$9Sw$ew6Bd\wKdk˲*ޞXW@꼒 g-nИ n|6x8L[!xtF4_ e9'k8CSz=" 4Gy32>њw{TǮ3ZkD>"iUX<)A0 o2$;(&bˆj98B7tSP$Emkx["Xˮ++FYHx[>j *5HN_^]XCF}IF񠺺''(P]j U[ll n!Q;%lF!}(!,Stpa4d;^zK *&<ʈ'+yQX;c?0!.ˀ2 ݷhtwOL\_ɹΰ8#؍ rqߍ,d$iDtlEm;^\-Wc*.c +2QT@Ye fe\OR23n֍u?Gͱ'# !$ ϛ x9P5@"b-Ӭ ZZmGyӷoӓM+8nl9cЫT5fj2Aw/!j'[f<6. I%?tŮtDEKa{N%S[Jri]cqFX3,(YM٪Nzl꟣Z>iT-;&XýE|v쎧:$ʟpe_`=E122EB$ qEimZ=38`jfn,UėTW3b}]ÅOK"p 8)pǶ:mfȺ8PZx%TБ5(u/wMAXojbv蠜țAv5<1I-|‚`ۭ!mUvٚMڮnj{7y<7дZu/mQ|@8n"LbJH} W~ ,n 9̋5D!($@PQ7YAp8uUj~=zߊ0R_u*:%ss~7rϲEYwnd83x[R|of˃Cl1*ELf2r ^FA(v3Et.ブ$j{2ӖNXh{FXt%L:URE]ptJnQAAJ˲LTt @hڝ4pxj^ ,v-,e.uʚ.p5"䈤3Xƒ3{30wf@Y/&`L/~@ 'UB>\A,(;ۘ[I2-~FԶ|,c'ieEueC LԦ?V{m1!cnY~޾i!J# ww/y4֭fAPk g2@?Q} iH/iW(m H*R\˕-b2jo J Ѕ0jӨ3PEPSшr-'΍E-D 4D{>/Te(_@"-J +|޸^>BZMq7!̇oa;OSե(LQD6^ZCGs)=TL>yt Y6w~^jQl4A'0@r ^|1 mލ_" E]i g5h:똤=lB6(oa:V0 mSUXӉ^xl0fs5v\%/2^?+γ i2] D]Hgטj?Ԅڕ y'69]vefV"TUHK(_w~VcRFL$`ҭJ1[i`* )ESBo?sd@K]PgQEa;Gm7gRgd"|3 eo-{7؛V&PQ A'\ǏFgҞ h:paSQ)YU$Y0_Vώ4=lU{=q?葸Dۖr=AA_33qR>))zY(]´s (в&ˎn*@udҹn}lY%x&4OX;lҒ blaIazSxZ\*A h=F lZ.F1/JV:tT:C[uo١xx.(Qq'v]]݂t7~]+OmyiH5ܩ OF 1D:{۸/x U\ LO kMWD`Q*|I`X#s{+ip].,>G>3z#ygsRdu_+I3.Ŷ,sIġEQ4 ).){qky%H{V8;=ZK+ fy>qwj߇i<?h;vP !Ƿcnxyx u=l:04n ix+ l`/NEd!!4<7f'B8s/82_:a#"Ds"c>3pKʗ{'ro?v@nxy>:G*}Ɠ=3=N>S(<QzRM'UhCsnV3/^mS-TjoA]*y ' kVP*K^H+qoS̤+}15>.j]p<&D37>z*U1> ^Ф yznIfm.!ܾ3K&_Z/ "~r=%=rh v\gW o kJ_[Z, M<k r /g"Niq!OB!upb&(`gsJ{81kA9aZiA!慑Vv 3I9cw7Rn-& QYBkgf1k ψl OAqۂ}mʠC y5(<&U,C~"!G-ѫAM-7&q7 N瓸xdxKȂ#~W)1 gVF'%nQ}BSuopR -Q=3c[ ?^ŗ7mw2|؛ 9u{r@`x`lhFto(LM5/S2&X4,ty!fkz~ XSw:E!b3 6w(+sr܇i5X=ӂf!ƍQԕ>`$ǭ`:^$,TPo!A$X5!YHøX/agIZxϺ˻ٳ8!pd ̎kі[|!Pnnyye&BWXjVQw=]w1]Zs)6ğ,t+,?d ;qo|ς+GH@!` V̹I58;my4AC&zG(r4RͲX <@w ߸-=M& ȲtCw =(&қ* ܅HgKJ6уO47~ }4dY !J~QtIW5F&4h6X"L4OlPcrGA#sU6=/-@Λ EJ۸ fiJw kԴɃGoJ bXBY7v ]=/f4k["Zr]2GA{&IG%WgT YeHp2/>-*P ƒ } hOpك8@'͵|O.`(ת6ui=Lw+Ds1MR y뉽w3 K!Y`v9E7t2+U3G;;v֘TCMq J}:_C6# tW1H!h'yJ9 * U,8H5©gFY_-Ƿҏ9J&RhXI,J_ˈ3zwvjg(<5=]@1尺i|Pg[ƒ2L7il2U *3Mr4tYvrk_Z߬xVX0QB\|_!YM~[XKѼkvW\\Ol^uõ*}lcڗb<3ϲp4(~ͨC=0}lM򝯨!مZ<*0ş+(k0L{6&mD;Y BX($ @?/UT>jm {Vz#ɺ(X - $$br>aQx^Yoxsɴ**xTPZ1pFزL.kdP7"#S$kRֈn&:'qvQdh$>a][0,^2r+>uיٍ<&[Ю"PaOԋZ 9u>4/oО?ab剆 M׎@~C5@{.n+~4]1 ׌9(ocٴ1&bVШ*iqTb&bpqeZ?l1vn"XGDyOP$lx-k%+"-N:D,Zf90!\HZUz9h&RM 9wnh΀G4?ߥ{ϻ]ة}5)V=8zHW/fw/ϳl5 ִ~|דEܽu kW=l2(N7UuchF_4숶muU617Vy !Hү!>&SnÛ(}%̧Aړ'^V˷y+Ws)IQ""2XGV)7z?1Ŀ.H4sNbc}MV`e_yꆟ;GTmne)hzDz_||&PEY1jʷU³g$IOLx48ėTZwkՊ@Okf癩"P\B1,vC!#e =gJ7H|WYX> ,%kZebjT`(Jo=t>#T˓f5襎Ms`:c2 ~z{.WsLRܑP֒InVBGMq2ͰY  zwu`pݵV` \tq!Ets*A 9^:c;{pEA?*#q=L-ۅkV;wȥG J2ճkĥb?g@OѵSFA YBOq6a0[ ֗c"/!LDƬ,3aD8}'3 y`Iyr#S, >g5fU">EDUiζI~8Et^( df=Vغ*TYu(\:C7`ٸp"` | );fjsPjsc 05H>S@o0ɚN|wֵjlLhzrԼn !*Վv >PV|9#3LkWs@jeBWg̹h\XWߵaK}> Jgc>wkBSdiI}{g|8ko$Z0# rP 0aCW`*,\[wAClS t+ -q Fi`av  P΢(-RP|2YͰyS~,HUWur#Fm(p+rPr? ̎E{2$.JHϦtvgTse> ;0%l(];b/ǧgE~vv 0#1zVKG/U1] ;e( |RKȯla-T%Y橡"Sw$Yvn#TJGXu`؈"J&/iOM?/ԮqKh t-9{|@|?vx ˗ "7 bOm)[ĈD;@v3k>/7if rXT.J<KVJRBawUU;;o蒛g02"ap -̙e1Bpt K*鞞Cyld-;MAEKrdpD#~p{As7/r%=[cZ`4Npl4d7{i%GnJe7+,lԚus2!\+J҄jiȪ9E0K\E:Moi&RuGa=o_Kz<+6"/,G΍hdꪪ}q%I~ )_,ٹq V:/Wߋ$֏F L`9o'sLZ# ΦW/Rߍ$Lce,Vg?9LGWꋆֺKi+.ͻ$}hG2;u\20QvI!;u'#>e45(.y'0<|c/P56n1Oa]vi͢bȯ׼lK&j2[ <A, .r@(^X|E2ÖїPrqMLURdr/#E ?i"_RQ ;O!>s,"w E T$% 楍k<.5;6$GD ᴾr@3U;MbM#Nb( 쉘}'YR{Jdis_M.^b}գϢ2|qaU8Ev[u-ep׈f-TȐTgBgpM<2V>"1/Gðmag`^Fl .)!~%eXW&H1jI_dR5@p#ICV/o9ktz=_FgD*aw'W֔)cm h ` _ F4"~+V%$f:l|,ēJF}mIkq|rk"$zpkI[>{K̞5} "H`uX;w U ^JGHNiEn3/aVOa9ZYHy~VBL_ؼ˘tyI;9B+:I]DY׳ܷ1 q^0= j9g Xs¡C;}u"<}|p赐ϋoua.úfXG}z sBmD>_9n?u9N >pNe\U w<ƛ"1B1$S$`&pβRe ~tKgƳ$ʪ$j`(Kԑ:,SC{F ZC֖e4Ff wpHmW(K6OHqMV{:4D'i9~*%$T fv4l齔L>nʖ.5jda/֙DPxMwpn >lRwzmyNOhpvԠ> G\n/ -^fv;)X6<tLϡI7.x9xPNF@ )TriJm'n0aP"nO- (v`G,c(~NvI GTQl'ez|{I>~e}h3ۿij/##JX1ENP,=+,rQy_D'?ʄR'\04_IG8 TPyX$&y9䰢\+2M UZ_eEyCV=zJFByʶ`%q>#]#( cY ! ' 8~\B*Xy/'C\D_U;KKrU6#wѠ5gWw7KfgpIEXjaDj;M\ Rlg圢f{sEh~<Ǡ!KXPBzxߚhcD@Xӹ4ɟS[sksfa岕o2Y=ڤ6#,>WZ.;FV^w*Cr Bʻk\ɠV[U -|< 6-X?SƟGz`u< z1:K*{)uLVr|s劆WXj*s (I6:8tqB@?t^L&zDC Iצ/&[o4Я4A-L%Zr0 i_/&Y} |$mVh9 *D%j8]I-.؀Z \ Ԥi:,d?'>Lh'DQʀd$̙VwD7Go#ƍmI$u5KYe xdf7khk%|@ͫ36;S^QPaז] L6o$9%,C)QULy1H{ˉbHqJ6]ϢtƭJ|m 밿ZtIvomKPL`y;B)fUFҾ:hIp[dwEY*>Rl|ᒟZ1D_Pn-ہ~nL $m5W\6:~0Z㢲^ca:=ۉaRCW'-ސ]zl(u&>FRQV,νYvc-*i$n%B]Y!([OE4=>!űQiebXVd/{)/ O&V[GKx"r *o@Ny Yyuڊ J7o6\Dɦ`żĚt쵠߹MuQsMbȭ0ZR5"a!K|Λ &rz^q5Qc#h8'—˶?$`'c+~?]x}d2Kfa$m_{~itLJ0h$O_abc"@<P)&rdľG]={'=1 ,&. . WF WdT\:Q$N/W 0Rᨹ9%Wꧪ=_mŰ|,XR`"Iч3BRCGIONp*5xZI"(<:XaTn/Y_%^ԩM|?P_;.JğL` }ڿ5tLMsyt>"եNFYi~!_YgG"<#:Rė%!|9ZM,vr"LuK὿ft;QvVeߑ{ 8 ,M lKx.i,)raI@IQa ibԞl$ FZ]_{CApM⼶@|ĘeI׭QmpMMthrWiGtYe0_T)ҷ+2tx:;w#eIB_n?/Zu?w+X'Oȩ8nV%cƞ7Si}60/,_ }x#yZ N.pDŽ2U*{]aa`+{C}FՖn|фYu܊Q[~X#W ~G4@?/c3VF85%ys5U&g%CvLiV=h_=Ro2=(<{ו!{ğԢWX o5*Ny|粇QmLbii$haHDxWaQvx]'Շ-uf!^w p弲#%ğn~bpgqӼӞ!ޅ93hƴAa SokzsNZPx"WyPCEi<.kdpz8Nd܀؃`=*>R{ PcQgk?- GN>?cvy0