python3-rgw-12.2.0+git.1504118058.706f78da1a-6.1>t  DH`pZV ո/=„SףV^[k!`x߲&j6@H۔}u. 뜊X&AGڏއ8x#ΘS]/ #JD|T4 U;zZPB:m!|51bi1kB0L'H10eCe6378e11cf555da3b535f7f62e171878c857e69b+TZV ո/=„v.OXE(.D#.]rR 8{N _.J'f0uAB) *7m䱠(d5^')(]ȪX &S5QK_=N:aԒ25 IT2'j"Hi8C\ht^25MfAt)6F!PYy<4KjmkrY>3/g"{v@jGEat8տ4 7' Kuv}'g^>:H?8d/ 3 \' @]nt|    j pL(78@K9lK: _KF]GpHوI٠X٨Yٴ\]^|bcfdefluv,wxy z(Cpython3-rgw12.2.0+git.1504118058.706f78da1a6.1Python 3 libraries for the RADOS gatewayThis package contains Python 3 libraries for interacting with Cephs RADOS gateway.ZVnlamb69openSUSE 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/Languages/Pythonhttp://ceph.com/linuxx86_64L8A큤ZVZVZVZVZVZVL438464bda7ce30c96d2610dbe9bae513b15e5e87d44523b21b39ccd821dd096e68b329da9893e34099c7d8ad5cb9c9408804be4d1b827ca413a1e6190228fe641348bcc0a13fa469f2f71a059ebe5ad8rootrootrootrootrootrootrootrootrootrootrootrootceph-12.2.0+git.1504118058.706f78da1a-6.1.src.rpmpython3-rgwpython3-rgw(x86-64)rgw.cpython-34m.so()(64bit)@@@@@@@@@   libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libpthread.so.0()(64bit)libpython3.4m.so.1.0()(64bit)librgw.so.2()(64bit)librgw2python(abi)python3-radosrpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)12.2.0+git.1504118058.706f78da1a-6.13.412.2.0+git.1504118058.706f78da1a-6.13.0.4-14.0-14.4.6-14.11.2YYW@Y@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.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.2.0+git.1504118058.706f78da1a: + fix ceph --version to say "stable" instead of "rc" + spec file: add python-numpy-devel build dependency for SUSE + bsc#1053836 * Revert "osd: adjust osd_min_pg_log_entries" * osd/PGLog: write only changed dup entries- Update to version 12.2.0+git.1504013812.01ea30bcc9: + upstream Luminous v12.2.0 (first stable) release * increment version number to 12.2.0 + spec file * edge mem_per_process upward after seeing some OOM-esque build failures * package ceph-volume man pages- 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 SES5lamb69 151558692612.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.1rgw-2.0.0-py3.4.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txtrgw.cpython-34m.so/usr/lib64/python3.4/site-packages//usr/lib64/python3.4/site-packages/rgw-2.0.0-py3.4.egg-info/-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:7651/openSUSE_Leap_42.3_Update/bbb3ebd764fc3038a278d3fe4f7b12ae-ceph.openSUSE_Leap_42.3_Updatecpiolzma5x86_64-suse-linuxdirectoryASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5de830c1a6ae7707da87fcd2de18e05033b812d9, stripped PRRRRRRRRR O$z[.v?`] crt:bLL'It8u9/HMƫ󃓙[(chlgFs\ꇀl}ɝUXKᬏ ;-}g _|D#($ްg>$sGSRVFgdxIpsr((ina` NQY\oLoQ;^X {tȗv " cٌq VfDg&:&g5,i"ie7ܳ+L˭ x@oA֬$)%:^!E. Xq6cv(Gr %{+!ᫀȑȊ K6"%P -[fhv5c"zåt]HV $g)1z2zke5+x_9?~I.\\ʔop0 IGy%vx$?._) ȟ#QM<$ɒ2Ui/\uG3"b!&8\yU,Kuv~HM?&U}ycUÍ4p[bm/n5ɬ׺g_W&;#n3ǺJr!s"@;zƩ`wW>KǨZs, T^A ~ 81!|'=Fi;)pn+q8aARl`D/y"~@x  OPXm{SIP>LƱ(KeVPFhlAe,w%}v $ssuHѹJxnOܓu]ԴYDiI)y7[OmMVP0nth3?+2 3%*9\OjoᅌDB&1Rc,^Ta$zs8)3LW}^vcd_aJO 'ŵVWlN 썯Z&uJˑ3I%وE7p*^BfF= &PjJ:Bi ohn|k NɎةa`ܡa@RrI5_,&8 hĄmnmNy|F|3D:]sI܃$ZoOl5ΎQeYu hOޡrj~Yir|,Qx<5;8 ?ESɟiE,ڇDE.wݮAе*g)d=}jTAE&f ]y Ra\Q-a#<@&Q6i#JIJ@fj"9a##Sػ,di2 {(4n@ou 5ui8P3 0+%V"mr(L2bD'wr, Fs|+/boz!y"nr*I:W췻.\0D?@E i;?桜Z RaC|yZ &%\a!fFݼ (SϾ[F_a,C,K+„~ϸi:&w,]}װ<ۭ" 8m76U%\X]qmߤ(tX93E0qȒol=zqqƐah'c Yt1;ErW?Uv kMM!{K4M)G0fzg՗5O`x,1 ?J5Yl-:鎥]vF$Z+.a;/}F=b+툸#VAEHc%o4䎉i74Q3fsؘSʖLt '9ϼ*+##t\(YK"r/,i<6R{9pk<kW̠"'`s~uutEH:?jȺO|rd N\fItQ gEKu ^z{B^ѤɬK('u|Sk3w@ ͮVMRm4~ĵUkvDxHSuT(`yQ9f9ě-sVDx@hb#mLENAr^MQ5E*Yd[sDDdq Rg+vU 塠`Ts_H.yo3DbB.ezXGf:$}#Sa{)łӽ$ݒw2GRV uQ_*7Tua4&y\GqF=ۊm[XP+F1&P21dк h)ڼ#pT~))Hߏ,v@s[G9Hf$^K^(URuE=B3j;ܖ`g]$w'sS <`HUޤ24ʘ\5x[^/GkU9C_ΙLȰA}a8˂ll=n8w/Z1uقKcZ7W:pYź_L5zSq֘ta76H p>̀'ShAV8!؇pU zfx(Es.0@I =大5'|FЅrQ i=)7.]V((Ö SMCcn*o+5v>ܼV?ͨyrQ/o4Ww^YtI*X52F=)1CjnI:JV+Z[7I a8=? |lxQ׾Ejf8xwRѭ[y-DMUj%Ϙ&Å~gq@n 2*ZlXJ 7|Bat!Ǎv0x6tv="]s)TT1d-Ɵla), h,Yh>fHނi3~\K Yd@[eVS:bnn !Ma1ٲX?7eRkK>>JoDZv'_)NkV27p "M֭*as0zB*vG%8{L 8\ֵ1eyI0oy 4b Tn-ihhweb{;;4;M Ѳ.$a-cdi>BM0@@Q-$WqpA0#0ès_ ?  ) [ ҤTfmF%ϤBއH1LOӍJ| (Ʊo ;WsOFλ0k-% M!e?tvO|Iv-]ve0vDEnRs@Y*XC[G pZP qYˑ\pwzoORHN;u{q, Y^*0n:rgjc6S>E)-^~g&^My2p -VXQ fbIl#l\m*BP}iX853`VC~B,J̋@]mTjXh\S֢B>_!%b.4ָP0X0Ⱥ|mP.tѯYmNuJnF⭞ER@XcZB>OE^ܷX$eU㤮4 B-OE\ nu=4Oކme/I0a+$1Msf.x;<{'X?rFTШQBt1 (R$Q=*Iwb~X(ՋAzv5IݨV\1&^\6rB>`adThcN2~C.? g W*Rm1\Td^EH9B#A,Go{_9-KhC rr{LsrX܊gł.bљ,t4dʽNRY۾~,]+`RVO2! Sy6| tGel.%ERCTrs`G:/$u!XXa3kX f&|pJi VPfj#q2d0=LiJN:eֆ<;NI\}: L?4csVM.d^{^5EbppU-|<{rwjY/6\:F4.@.7U}m2'n5Y.82+t4@yl9X]aZ'0 nUɚ)[xIfM~{ ݈ZB]q\@ƚwn^)!Do7ϸa~7nr]7C0e}1ߜjR3wɲ`r8z8cʭp*I~[c(^Mn8nԈbpXn;8N֟Ba8Hȋξ^I(t `MȲmc}&EhY3x_fsvDaԴ #I؀ݠߨ xY>vJi~bsA  S#gN[(ȵXX+l4#ASL@D6?`c3&Edj;dkTء6e9v|ui6I$̫m—a?qw ^$W&xZww%($8oo~*(Rd9) 'Nm-Y|-c7A+LQvC Z3DV<'lnU+ m}[yp86rhv #BzlINbp G}$ _ `0 E8\vcn`&|^XG^|vQ $*O}˳AqmbY$#!y40 pQ*/R,$jCS=Ÿ}̚E 5(eA:]2B@>FU::ュO@f.)ui?~2vz4yQ贽oEUfڠDa{#yX$ZRLYW. p*A xDmJB;V/7HA]H|~}3Sάd8qd>=//㎂OsnԬo? ebGa g PDvs8XL"k>=H|-iXsqw>"\5N13Pr E4z1j6ILGO)>8(Enޅߕ&sDBu|Q 3Z"4y+A¿zPJ'*"x= I#۲(PJꈔ0aY.WcpՕdy+*Ak5oU^t;&(;wTfltgΑ^}zY" iyclePtxPD6xy qFn~lt4FQhMvg.ˍ+3u"Cz qD ,H 78GM bN3hPObCMsU 9[kWm|_" WqTqnG+ҪT.0?`t0^ܰnHtZ>yf dZ/qӶ#YPwJRG?H9DWx I$ )͚6v Ww(e9AV+FH#,z8+m;zں&IlYi[$=֛"ii*_Kh=#-;~mFÙ{hxJTPU~4J]/ZVpr6Mp"~ ȉ{ ʁFċj˜RFA&2/m+O };u>8zx4aS]q׬dF"z]agw.rҀ2T.b& m >"P0! ihӚ0 l<t5` } mpFgYبh Zf8 /0Y(23AEiƄ9b+OJ,rKڗT;1{#* 2fmL5=wZ6Ϳ8Oc8)s#0z=<͒ʏYu:{OT91%b,T˷hx~z)o6pr{歓@i0+y_gՙͧ"烤ezd+4c$&$5`" <W(؞x3Kv`1 WN[m\cF~vYV NEO9kfc*GT۽?"m46hXd{ ^OFˌI0 izMCMYnLcт[ QFw֑c4yqH1lR'wղY,0D7&cxy^>}~N}r~ $^) <DZXB&|n> <5՗Ű{8J& hw 2(mè^دqK3Cl]&ڪ5W+h <\5f.| pB}C;ˏS^ A~Tc畧mT&4>p{\μL~X"aͼXƟP `vUh6gy,1J&2 !uNQ,(5_ Tt1ڡq`6ƃHW]o~_}asLn(­& <;d |¢UԶw8-xΛoUv4feJL]gx^,y1iHѕ=jÔ2Vbޑ[4VN&!2: - nē;r(PPTUH~&Okj7qoΗSt-oB\B(H7Xj[#KSDrN@ŷ6/i]tۻ(!SKﶸ԰af?}$|eC%Yj7sqxm]eٰC̐ˋMa_uΥrumg裬_KO]IEܬQ੽-T`-صpTS >W :dX6{22&Lx7\6X I(_ xHZf#oDF?o?y@NW/`wtZ& $SZV8+at;RmmZ%Wzag(7xm 0)V :rx(%,c.u J\m9L_ ]TiceyK,ݻ{ NWeC}|/2ntфT$vq(J_9Kwcdž/odº+Nd*[pHΓ!{lcF!I1,XED㸿4XmHhl@6NŒveC{$T`uY{EDv_"з$LQ%M%](y.Vc"r #DF+i~|B QtYM$u?0(S>w^ėyj8hfFhj"<[4IѩFӨT0)c~Cإ^+s@b8qHAv[nQ[<_S}}tCn3Ep1 Y + /dΎuEJp~6F,/DB%I&dkwu[^] qi^ 8Z t' Sɹv -xz<=_;Ñzґ+i!?x~_8!19y.)g昕a*[ t[=sN0¼z3*/id3C>wfi'*}pմ]/|Md)B@xףFȁD>߭k62eK-t~ʪj*xѶ}OLf>R]\L,H7gn[sI;{5ݘ|(xD[IDte,B!'K'ξT>[4, ѽ2fH1|s0q$nUCTcfeE$>^~v_>'8x2΀;6As $z7N'* Į!<ШV- $>a>:/d;Zju5CIOzɆ_썑WdrlnûIT4[Ia|F8uwBZɲK뫠רS{&_ֿbd%m'3ȩ)8 JM<7[S_CxO 'Ab}e~/^h*bY*?H2蘭'?tj]6*#BY$^e5qZy798f}9[=Ny&r3q~ZPO a tmCpPTx``q^ÍW'rrpisx 4X0OꭨeZYig߼򉺘Ԩ)i^P;"'{Tk =24Kmi,t2?p,g[~>b,Ty"bA dcL>|=P?D,ϴGI>=cĂ0 o ODLu) 3  54܊7 QDΚƨsOˆa/3iq7 ]vRzx+mdJH䃇:搘QٷD<#;瓭^\x~YaM4Dmdp^!ߨ!i""#4Qܖ׼PN`oId'\T. hl {W9Qz ъ)'cxaJg[8%wQx"VgSmX&ja[˧wlVq)OwujEn3 cVE=&_rWn'I*1) y~HTPD =NtGuq5L9tbsDJ)io+zH-ґF,' 5BB;1ZHo?LP.3ޓf_]尸lN,&DgVt jIHW_b0U=}֭t?JukqJ0XFI惕X'>}p&Ms8D,tEy>9N Vy!m)cPK;߆D-~Gګ}Tq 1l*5@TJp+'3QϿd!KLVkP˹;cwKˮZDōwcƸylo0_n+9:R ! =]YRu$B-cs$x\ge^ i {Nxfb54,U>jFӋSPo(47MM_e6aK5uq"""|*ڴCl4K|;LW;l~:1^0je`ġYs0cqi!lִtF⿸ F,YyqvfΑS`I.q0|j!n<|0,F'v7 Og`+d- 'g'M?hkRu"B|gWt$ۑjɵ1eAhgPr%3CBQZ4KcIh RgoC /,_L'>rbi9B;b1mv3 Q9'oؾ 4^s8/$1Ҽ ٌU+1|kpiE@Sˎ]R9p{,SC:X|nY )!g|إw5=>aZH2]=JM;-l恗ȉ*1i#VaJ{_x@7z+M=="emيRBmrLtvBE*JGY_{VUNa%1~AbgU".`g Ǻ$FX8'PȬ9;|&/TxL+  VY!T91]ВWΌfH&pU:T kS(YRo4\έ.kg -ՙ8j+@4TٚeݸUOANgӔJp !9hn%.yu*p}#}Yl4$-Ƽ#;;/A,jGDhƐק sihm :iS^7'N̮Dަ=;IngUd1:/+;m-:@}F6d4K ,K9EIl;`Kzh^p "rnI <ʺqAx8 OJLM˛wp!AvYh<7Qr6G_Z|aj'].eUƘ?x4("6w0IEym]PX _bzMXly~٩+Riq"$%eb4[r{n3չ{!GZ'mF2)OC &GiAY<@k}P%~<3``zFn./U3NqPX5y1/`դ.jW8D7 Sl(`D6o ~|CB1At(9sqLE b̮&W2?~C; 8Gy-mxyP׉pw!65oa!a)t\g Vl*g/]N "r ZL+$9cF?GbNc4Zg `+_d7jirgFb(وN\z|+8<EK(!.fQuJCY^7J4hL J R1~%Ǽ][K,"/󍋻F:ؾ=8`i:bT*TJ8v2EkNe [ LzOD> " yԈP}ՇƦ zg{wYdױS/Ais\}l[,2P9Ned ~Mu(ce4"Rʘ$6 0Hv!L. GQ'j;e[Ё%[Muh&Qa0uS>~䥇W{f݊G n?7T]C/?{y /\ZFwt,a2JĴiJϒ~tjܻmkk8/ V۫ppx @>.'{s9+fa)*˸ ~U#H-*>ꙟm`[. ^|i0b· oXvEdNq>|C. O+LM :\M@mN>2 Jh#*T~;KÝILX4\YZ='2Io%'zmwr ˬFL8$!qd_IesA*x?8CeO$ <^:=x ZW0KP_P%a18<%ORJ: {!BQ0 ?zP)6^X+U'\xƁ=,+ܬ@֮6ICrO3`jgR!:͋$&yuhI,9CtPȑYS%pCf'0ʭ߾=\C1<}R1Kni;xjB9 !AR@J_c\YYD.8hcU_jD>PjbY!؟ݐʢ8VTƃ#1 duLI0Y q3llY+` dHwʿ x<oh;Qmc[sYVzBM7neCQ"&BG2轫'267қ* ЁrbJpwοQ©>A L`zr8L^FJUU,L7tG{T\_z\r-hw)q|V k| dքRh[3L'M }ɟe _gvL@eGz8ݻL+ ‡>;gɋ]Y] K11|7JsU( P@Q͝{}#v1m;/ 1>ѶdP/fr(᰺h6xepz'X6 ?a bs;hf3D 0<=+),oTяf.ysX)*6I/goY.VfXv9zjR$ʵp&cFȄ"=$BHW7k'J>15 ]]K?{+tx܎8O 7+mj=>2tN,XWəЙğQA2[jF'AZnĀiG4Jl MZjW?JZ NbX4*UΡm -']saYŸ>'J,'3K. UK|b  ۳.cP5hazOڃ=AyX]\gtТwc;k]3keN(yb8] |Z ج*lGhj`\wIO Reb)GIz駑B0UP<2;ov6պ`I͗J 1Iuc@J•,<ƺ{sxpd,w`3AzJ1*Z93o04i^6?G|* 0`e)}Lֺ=84ɝQب1Mk$mIz(I7u"r C eKOpT5'P{r]{b7hk;Y'C/Q=;TQ8?%pOz{諴g(Q3ڮy S:`Zׂy+L5>71WB)q<ü#8v5wЅXsJAVl;Fn$=x]%2p J" .6l.]ZKְyѓ*"Mf67ūPpX$ILFP<47\{ڰ3Volr;) +ˮ#Jn9iFIs0Fb JAOqO89Y(}/QXGN F &]#DǝClxjVSbêqXǫHgE]rЗ«)ٿ0,&%:3=G/ܠq48D+TZrWe7}iy-Usje1ƥ2͓HKjva'ci Psd k*}L9ݑ/%p} ?~~kkr]FR Nc.za۝Cm$*[TB3Mx@(b/%/fYj-j}C {S[A@&O7􉞲P!$r{!=X?1IsYk٬+ -YH&h58-z]XX-'expc7(l5ehy@[T.ljI k24tq v;=u+j~]۽IA[ $u6 H=Z|f~۸KѻB_ckDV Q}XxΆlŢyfx=7FKhT̢MZY]/-\ӟg_ fUd1μ?=_JLWFaxeKR.&)~`KV@37r1( >a|?=|010 dV#ߊn#^i3=wJL3 "OS:?̝{i̫S_$'Qad䚾wW㡌CBX?Hsc;ݗs8+݆`C&/yx$9}Q ǜ8^K9vbƯ@:JQ|sdvPt!=@A_IlGM-ӨTzmr DPJ'!ҥzjcG( HNѹB{EHsp}BUVDҠ 1p9c'ܟhI\#*s!<"__hFAד_>@"->.iɌ._sؙˤoD>9^&Wej _H3T-uee! 1Vfm$Lz|œH %u"i "J"͉a-vC$Dpjºy}9>kئvୋ|{qr6U,i9`7'S"Tqޯo28}KU] 9޲@# nRۏT$ jibmT2:'/~Dp9ǰ$3Νh&wyOEQ-᧮4n(KIkkp]&1W^:IV}NvFJf)ʕQzUX@`c,Yo 6#|H`5 Un 1tk] |!܂x&؀?X2|%uO4vDklHC-ioXn'zLߩCՊƐeg>ۓ8aoClWgHB9 SkBR"#Oٞ/RYT,eǥ:PT_·F692x>c0WMxl y9FXrĉ|woN1_L,!ӫX'h F2+V@Ҭdd)c-ÿ=P#޳Adth}D28a@^lĈO\ՆcЏ`F~BM͌:0q¿5n &\T/3hZ2 \/r*u/hɮբ m#]hk k 5w٫9S {$>TJkk#,sOL'8bNj: !P(ퟱȤE0u {}Oo}F c4cK+gy|j4ܶL2 ِx3qܛkݡku~=RNs %948S|-Ic3Iv;%oI‽֞t,2'$7`)8 ay/e#=X,ѐx C9ċ}p }rJ6DCx"LŊD?6i}[P Kx3Ey"^@(A8+᭟1tbt$4UUos1|dm珩5?Nie,,}.g a?Dڨ@[mg&5R%͠*&ǃ3SQ>E7WuyAŻEV¬}im 1[ ua܈.LƂ܆\brw9Yagja^ݚFPyBa{+Lu1MT568հ9m\2]B pjc1B 鷡 u&hjCQŅ f69p<6cgk/ubt:/Asrݢ~D}_$vO|3a^t=҂p(#/%Z|jn-|,ػ!AptxlQT[Wvmc ENry1 dDX7 Hry?_]'?8)ړdeڕeRE+/i؞ -W=ZדC&F :[rJ?7K̑?yxƂ9\ WZӤ?ȦIL[!~qtK\(!5Dv<+Tc:8]vs|s%2?~FZ؇l6@3|@#dh`vqM=+"=n#pF(3|Jeru襺F^ j`=3QBQ)x;:~xdQ_"BwaN4zpZ"$L`QckUK9kf%|{ y:mT5.lr?cNg _o4p8)֗Rw$PHkg$/xǗ쑗,p-Yk ƿ[;s V^=AWG sխkYHY4/n\hmѓ-Ǖ!oIs{ ctÌ4A,""5,FtAA翞kLV\~PE 1ch>|wiW)@qʂYMŜ7ՁWLuq[BER@"E:keU7'on-iو:적;1llpG'ߪ =êh]ygDDUbV6ak 4״`=ۏ4%!2A7XaɅ BDKں< >~9m֢&ρᚈt oHnq7ETKq; :oZuieم:rgeIBF- h+nvI-ogsfJ`i!_K\uq)=iN67._SRĊB/pPDģƌ8v2F=ZȎzI-Q}owjˈ3=Dn(`ݨڿnTRv G8o|8=.{XfKh>i2k~/ɔ^᱖IK |tx˺9ӈ~ 㢱Z&I>R>2⅜Eھ5 gGm:϶;h EkNxϙ*d7:GH@Xr:Euuҥ31@69~ iWo^oQnΔhgeK&ov<2 4΁H1bΘ6< ^$ɋ/Uwe^i\MBf}uxͰN 𤀽̂$ɶEfCշg2v9zٴ}Vl.{>/٫{?M4y1\WU[`Τ\SҪflQo !̏OdJ7aL(; 8! Lnq+@8jEH2 Nr$Oj GcDу^"̧+zW dnH&ϳqC^ѝԤ7z#}CЮY'Ib#u3 Z7Ӹ|6щPܢnſN u6Č5bjlfQ 6|K'Z~}kZdTj3#  WrT 5JDX7nazHK5KEG!o}\QKɲ ;~ӖRn:J>G9Sك[XX! Nn%M p.hsBL59gJ@Ax!S>v0<2ktCG\|<O.AbXVTiQwõ \YU JUihv{q=LEiAvRtUtK}v1,?pz|%A*sacvxhݝo*Bg&t['}XVVE]?x֦ {5x )h?ITrDWr1 fo)/v!̿hk]JYW41gm^8-SŨ]^*"GL3ac%ly!a)Ղ17 gO|+<<W[JM?h{iyLjAQNڃH Y@(g%u?+quR\}#-3I֑2/iُȒJNVuYܔjmdxR9!J!8cVm8V:]z|eʒXKGӲHuH?v޲')홃Bȵ]M'@#6g~zx0ИaZ%Yӳx߸z@+k=BNE&ysG6!F6h]]ʼf-9[@% Ph9FQEC(tk`J}U\r: < ighH`w}T~_͜ʟwZzt`}ʨl`%R{b?5m'u dJu,|Ƕ"VcN}ͤ?T4rkRE`[uoct%{50~t$=v.prxVR%K(jǐ}$l9G6o8o=A=;"tz?5 +u6b<Drey|L M]0O3.'Ele`  Ǭ 7#뮎-:z(h?֫.B2> 0³l'bGQ_:f܏^ fš ʷBy~wbY 9|&hY5BO^LXxt1{>i ߇%wh[l ҃~\asAŽIbyq՟etA?XbBTRjImLo~]Y6&*_jбP23z YnΚp=ֹ-z=\lKkQJŕCht` 㚤RhB r9Vd8. ! RP|K2 (@C8ws\ [c-Ykha%sYd]ci*T?tA03|܂;s>Bu"ͪPc|Ua;sh@c.ZSBlxSI:Aݐt@Yo@G &1o !zcvf5NJkp˥Ѽ*D(Vmϳ2 |w;rl UR᎙c*d2R]Rk%v# B9g7 בcZdB JIoɟ;Vh<樬=OC2hFbm]xBR H.$Ⱦ"=ulzEP'dDM6G)Ϣ~6ٽ d_i&͵7*k{Q1XFF\5OCb/4F_Z/WezF=Y,8d6d.fG޿ma!p0 {ֻ7ˈ+hllYCgy'6O8z8e<¥Dna!Մ7+Iꈛ)h({AD*\J#k*h#Nq:djUW.Gj2TFmK3W|K+ipA3M6 [H򤜹$0D[j4ML&aCp8?C^djVفV^hD ON_HuuZbVbp_D/%hK%h0-_3l^@VL6<]1 T9 x2ٗ}b{4DyZv}5Se;Go)M,jOB/)*]Uq۱,t :)d8Ak*|pq6}h߂vB40ZLȓ7Eš =xc^:yԹlD;>(#}J宏r1Ovg+aQ2l^rdܶ>esU M295A")E M0O|xlؠ{6V&-2K&45HF6LUƉbfC ں$v'|tV>ru̿n n#[zlcSAرܬFiִƎ@v{*Rxo6㷸Yuˮ%@czX49& Uاc<zU$7utf > *[zyk [qki(~@6CIt{*.LͧS%Q i\ʠB+g]DJ_tm;CȯH=CM9{ .~Wqs%;G鲈v'UNV,ﬢ"8 eb>n_$``OEii_bOg'#]cH? :~f*aBMH;yj,;+FX 7&Xy:ŵ(%uߩqk|}3R8NC7JQ02ifqJE3Y۲nu)|f *W8&{]%3e 'dYYtF_όkjoh/۰Ӧ56#x눍DL5ݲ4+o $t~KYؕWnEZ<>;(Ŝ4&37nNBmU=g 7& hWs§ԍN+碓b)V-ީ7n(%M{D2&_xwV3u 57=,NQ,YPfK==x% )'VoDH7RI7ɶXIOP|=oz,>ʧØ UHhq 5Gɛ^厠ա ;1ţIͳ0ƅLff҈\؍&ssmв>\M+ JRE}o/9XI!~|}3 ΔlFS)jr Yg{]?bⱀʵy_5\ΙOlR8uHšrX&u[!JQ?>c'ט\dQ6m\ի)$*GRY-]C^|}Qq*0DZxXS,TI͉3lB;9hcQԯ&+'[#vL4{̦]'I!:^VHm*<,Uc9Aj)dFW\k.Ӹ=?RSaeвu5I6UK<6o1, {jU<|t\$DٺBDGr^ OmkVh yI@~4ot<oVEw Swaj71J>$c 7zL[ )_]LȓyRwTd,6@ vs#Vs1k/[0CCrZOv6t[ܦɼ^Dy1Bض.B-o XCuI%k.cj8qtzM1?dEA Ļį%:= Yx>߰l~Q<JKH(j(z uДM B'm7ڄ $u.Jy!Q,vͅ:U[:F3; Zw҉%4IouPU2dtAע>-w{xelmq\ m$SWРw2e"{}x]#O6ˬ3];^[\غ2RFd!nÒˢ#~[EBRJJxlY~RbV bS#}XCjLM^]UKb6R8k$+6!t[fnS?9''}7n&^xCoayl1VR4n&*Tr6Y#QͷieS9=Ln+ A`j;WxUWÑ,i 5 Mfw)&3̨8TWE^نy`]ȗU'^~Zpn_wڿ\OZZ=Oϵq am-KGB# 3|ⱞV(܂S7s[rh 9I%Hal{o8-8EsAivFI" X2OK$Ew:G쉆@;oԍԹ"xq{Ե D}& 89!`{9׍팏s - ,+232Y,>i, ffۜ7=wȃGI>pȨzl{,9(C+gڭ0\ɸ*\'7)AH`ߌ×Z]gKey?lp$T'ЧeeZE$-dS,m{{ZzHPVjZ#ZFQρDNu֥)?p@%B<ŸR./ +[oόa'#Nū6t\ȠRj\kʨ=6)j͞\e-;굅q U칻+dZسYe_4A5}WpC50^|%ylgirѹ=@ꈝQy3Pb)5:\%*|cf {PτeWRDN5!D(GG^M*4ȟInꕕ,]^2u·1ڎ k`;`{Ҟ=4ҵ2@#xƊ6kvg:pꇘѩ2"y󫴰IJb7 H'ܤ&| qpB2Ւmܾeua,_Hj3(cTLZD9t)t 0ș!qQܜ/ĵiHys\Z % ..H֭T zbhat7T ޕg\:|9{9,(E"+HXp)'IuX|3:3~o9^TԮ/\}#كu41vmJ\&PCIH>6L8]dkN(d΁ϣG(~ %wSCxYEL`"q̼Sڗ7bM$8cA6℉;D*?{QsKʌ K@$dzrs{$H,0"hɑY}'&)+,l&`B:+Z.x!59DrS ɔm0밐^h#`w`ʒ;~VuBQTҺ_J| l3#ekC<}_4P&uQMj kB֟+9iMB73150 F6X(f?C:K~'nk1J:Ϥ \VǂC- tt.)*D}o ({ ڽh@ ,Jh6l&CwP_>9'yp|`'u eѦME? NAՎXVQvPIggT=LC!h_U%?W ||a|t\qR|ޓ[#q;)O׷\x9ACUU9ChiQP]F#0xg H+6P1$:]yb#)cxesor4jvFY[&@4Zpu6)EHa $N/>)/Mgr|jD"]N6h 6ԋW{H|]f)3؆x͑ZvkTټ"Φg0p'D臩:i*Q^)t@jj=J+Tq !|;y1fr;xAZ}b$2]&ƿT{((3Y-Č:S:aGSVdݢwU8f'Ʋz9"bq% %vp9g˾τ yj_7E^;nL@GTJ 'ӑa5B|Pő^2d&8+Θ[(Yy`z'_w9Tцeh.0'ZT\VoMsKoq".7% it)KW΀҆:"]JcRnާş§В٦)P/#*؜/M2bQ< 8eb4_4¾gN‚.s/hl W=08L\\A,>4cӅ_o7,E} a% .h$W&U"Nнn7< >8@m36Qsa'(Kopwߩ;quK$Uׂ^.BroVn`rӣx=h񴑲fXau =LLHZ2`/``5Q 'ܦ~B2i{$.b >HsTޟti]Yyb SPFbF_ E .Ns "WG@q@JC eq3=}yƢeʖiPĉ?S{7Dk6=rfwh/ix `B TTפFng[b*Ů ܨSy`tx毊pO'P&`t+GpԚ1F78 \ ^Ičiz@D[5B5KH+Q/:vCSIJPJ0m['LI!s܌(Qݡ Q^> Tȣ<t 6T4bZJpn@E vFDžpϸ.; –T7Dɡv4#K o4`YD~}}GKb-wNSb{c99lF2ӚXĞ\ð3E u@0H';/&씲n*gm2$wc*fJeYTOiZ5r0tINm&̓$4;tU;⻱W"X*Ӄf~:c`/uCořɢS_Q>GWBli;UXr~m(h4ē1vAi"uG NUo:9M1XGH[ ?IPcdTQhmlxjU-7|~! X6TBטK8#K &Qe$ɌSa!=rҲJC&żFfO+:hD=N \R72~Hx͇tDccgtKto@@Tr"F?&詛hx?5ԆռoV\n#_uoKG7$ݫ%/S r7 7J'8FOvx "E}.,8u{t[^[J3)*%T/A)iVoHqI^BpT^ND9I21r悑jc|ƿKaVg縺ߙNA|Z84ܬEmӨ'6އwTP?~ 1Z5^N)TvDí|᮶%Q~#Ix r.,)qwKxF41oXbckx;̓-+{@*w ڗ2b57ZvصhsZψ u׌]pijxXZ%珩fSZ Ό"G A!",[W X%Pʭ"ƏBw2@PTrM%G9{֧:u:Rr*<'}'&2\^]s旟9 YWp,⌘E4?DT;BhFΊ|nb(Y|j~߂P*a`s f@p>';=2Zgf"W(|6G637Vćn5K d҃C A.Mƒl,.wɟG]029p*w᪏G2?KiGo&u!{obMrK 2RȎݳ= o{]@R᰷w9.@bmH'W/N}=wfD=ft%m i$+5z$pKp<.Ƚ7]irio/A{4+=Eݣx~ZyNq|/˒0a۹5%ÎYn5H] >QC@/38Ԧ#Bʼp:H9}aeD@g,ڎ<kcyij}^nvijYfj-4̟>+^ǫ%b_G Zv7B*\ BE,ɽh\Qu.~cr#`}4b{ 4axS_}e枷_MS#7JGїhkTfi4vLZA:YIөV"r#9xA/C†L{TqGZW- d;Bo"|)ΈgjS0@*AI؜$ZAfR4W?$2ܿ)_pT ) 6.`г'T=/EJI٣FOueLZ]! ;/hf+:d\U46c5FZNĬﰪ=gsJ8mYSdl)2 `Sfߚ&N5?Ψ 8+H`Uښ߆Fnw({n"宔;ĺj yRH#F w ^ zn)7ߠAb_sj!֠Ώ}7$i]U u.=z Y3/8]Q|~g- q!%,=)eEGg bɕ B jJMy]X˄ Cյbr%#D"#J齂gQrb_;au*'cGcAUD:;Oղ v>W|vҝ1YܿЪK̓ 5R6*g_PFB:8"89[5&Ɏ?0f]^p w= \W;6H8<@#XDjNC<Ӱuǩ^a&oA5GRfҿbi&ҌɀOO ɑ(6f]NXt/l>ph O q lF&R27vawḿSUzZLm3E'eVHx!86p=M+īV{͕&͎ϟ@N_UdhcY4k]YT nj xGFmN*쟺,Y~'9|hu!$nL͖؂7A踗odU?2=st-jSŒfwg8:&tj'O{6wg/]ĊBَ'>/U&#}/8 +%NE "&ڑ!E3#jğ:n˺tW\OZ#XzjӏwX U xO) rQ@-+&J ӑ#&C@̬";:b{3vxH(]%[> !/Qg=pXΰ=h |'t=<)@@yHdSӈ=3psD/5/Wn7wHLk/1hƍ.F-1Χhcڲ4Wa[!,hƄEBWbrQ|z ʥ18_x;ѓ⪄.fxU9B8*gBVh\E('GT0tHJB!sʼlHŞHrTܰܔ`sCe0/num>'<ܽ!ۜ'zHa]WqO}iyvbzp% Bg.F:NLZ sV2i2]\@P_zJ*7FdF3.$ 4O3GXi )۪3N>*a6QEWi :˖$0 q5{yV0D~+c }ˤ۩@/FY6N(89xyF_վW첷5-Ay!{0oS6 \A\SN;yq f+E)͉G ;؞%6Ti}bW36GQ4FߧJUu\EnRF:SX"AR600&a _Ж||+ݼmrl;jFAA[HCz^ ia` 5ݲ=ubfc^lWOf;e0]w2v7>kc펄RGo@{y&{X+.~x2شdϋl,0p::rx(q1m&b1olCx@I !!1֭[IĚ[A {PeX G4+?^̛zQ+ ]E6pzEW߲Zò[%Ai|LY056 eM}i\|v6+g)ZQIDZ*W8/Y"Y5 2+W{WǾ1R-&YKQA҃HԜxIGJk0-=v!TM;>/ RI[ )'ͼQ mOmLH*5Nh#|ԝJrɾ?q|DGo@565v2 c>˿ʥ~QkW W/^ckKEZcg$yɸO޷ߜdL2nʹq 9FkzBac0Z= J$ZZx["lhEYJ YՊzB_24JId],c}LzD^ː!׬X6׬XB3T`Fljtć;s9Ƙw?s!E!yNg=a1U3\z,]:=Ębe@53w?m?45sPO_? a3"Ā?W+aY̿}d(c >`BcWe;*GS,@3g(c(*Y5uy,3P/1òcد/4>FEl1%/V76x@F <"3"N:(wcfR`c_90b@2} u| ஥ )Ե !<0+V^K  3r 2ni q-]1xejk$3{=RZNz3z/.r`Τ[{Òzp.1̆Puo8krͽVizMiTUT$@ˊA~n$qd.^~af )3~[1GT[B !n_I<{w@C vF,>]SkCE""D#6uM!.76n( ۾=XojP^[ZZ4g혏I5׀]boz cRPǩ^vFv*WZBn秪T+;z+*el&B%2®Mv^wMMh􂛌)x.臕Ր٨MNR"{4-@-aC99zW6?8ќV?:GN_q^VJCĞ8Jʖ҉YCGӑ%1-E!3>HpD'"?bݕq+6M.RP,@> {l+ܚY6LBOڀШQpewnXȦ,?7ݏ/Ne{_^RiSnG')ŊTYe|n\䥣fϹk{$e *wg.r^ Y&(*EbX#HJUti/? $jTjdV{V5G# Q0 7j>f̹ Sћ.^2fp}B6%T ~J^0mb /οq*||>x|فnd#Qw=΢r"]WϴDu{7}HEh t#HBy.W@2ً:GH uаYaG`PQ 9/ALZx`=׋yIdLqY?Ǟ=B[YlzcAGf pڕ)ιsr^'[QGt '1nV΍˸phs:'ްeIMUcokZtKy]%p``>.~u{GڥI큄ŏ^f0jBaז$΍MT=R$nllbܨ ?Q79A8&aKހq+e uT B113,UuZPO[XO'>M\+GiX'Bqa Rt^{Td8S T: 0jPg^ų`EzcFM$ͤ3ք=QB;:%rec=Y:^䗂]m>8;Fῳzi2iGȻ@*3y`=/Fw,2wl,fby˂uha03Bh/k[X@XrP2&jXesi9NqA!_n6\s%b2pmMY. t;v1B'nHAmcX5dIu0}dDG.bv۳<}vQuLhוL,sP&Llb9KQiT$AtPiP(g2}FP >8u,g/ToSҐrn9l-Ȳ@lH'H"JCîÛƸ=V *ds duw8z_`ji@N Jg6FgNzG-q/CU5n v[%0ñ~W/ m+Sfi @tMGN(Yw5+zroڧ5ߺKjZ_9]IAQn>MYN0'է6!~,&>lTNLI'' ~+MXk;;9 pe"DA4"r:]}=mU,oHR5̻F\ۖ娕16'@W 擓!~ZLڦRΒ[,1@x~05s8ssb.; MI~|ڹxXM#Wq4|o9:h!L 3b}?񞣂!Cy'XF#7!H ;-]EBߺМO Ǹ{,hNq.h!PlIZ5ςFʖosy.smxY~!Ҹ[\Sd l]9j(8<]~юf8ai ĵZ!%z[F~,anr xP>7y C{Yh3akAJ%bJpD Z 4֮r@'ŵz?&pV-W?'Fmzb Oy}%'G U$:[ \ ˴Om)b܉C2CLm_vX-b6ZX !\hJO\XyN։FZ:-gMٗi{C|Ӡwr/ C<304nG#Bv%tjL:">Pdj;t]]?cKPEk4}k=l-;wF!ikG  H *,vV&4Y z6>d틒קC]ty^\rZ6gk#k$iU 9]M 1<5\ ޛdn)E`,T~ ^_i+~sSPnmv foX;HD%#\kCT'![a ɽUJ2!:|K_j#f,4ѯO:Le3+Y^"@2^ycaLO(CɮzD֡$߃}4>W˳HԲS)FlX" >+H/ʅ C'+ǿ}EoEq%U#S4?8L ># nc QfȋAA[aDWw 'vC 1y čOx8jJ9$K':v9A'-H>yDmo[MH .ov׍MP͊区jjg; rsi#N) dVAκkzƢx qup]t< B!isXR>T-&t"1v[v=wyS7+LٞJ}jwJ乤4/!EVB{zFEB? G[K9&}Q ؠ#qY4UrXt[r -sN8Ý;nƳT^ )kP5I=fbz JD8vcIdueЈ [HRԻ 'yn@~a%%[l~bP5wDoP1Owɍ_8ePp[j[7} h#LBDIjn*E편6¸%)?u-hʛl`rؿxD[# %m%,N}l m"@G7Ʉ HsYoҧ֣5 }CqZLg1 K8uI.fC$ psȹre+)A4_7)3?-M>,ODhW)%Gmk\u9I2Qϧs5w7kL:}@J6@@ ? \x3c6=pw9!gJSœ7jNvn1ig. 3A۝:vE)KboE v (l],TmDlvir!lQUh_gJIo3dR Tt_4Bӥ@2XybSwBfVévFvpͯ-BdyrM Viz|Dj`@W.5XKT_(7 Ra%3>oQ4 |.@s}cҖh AYJkSFb[w z-o-D_ct|:]NxnORlAxfܷ(G#YPKrN  w"78ӎ~<:![&S؁}[Gi:eņ?0!ydrqw/4˕-춯ƍpRa/\+gl w`vK=s @%Эٙ>xP;vhJ)@9p`4ʊI23GVt~ v`sWc,#;8Hk?(pwrb rV2w%}*>U!-"jWTX <|bd2nSo00%܆3$L7PM <`x6SE+^IvnڃnlN8PU]O2D|x֓/1/C4r|ogi+e9xQIC5{M`ErT |垉ؚ-MR˗~'TuIIPBz],SV$6Gа+| _&?(nש@f$~@ܟsSO8;uLA^F1@2Ns>^-Ж̻auPi\q7G>cLGݑ3>`:ŭ OZUa/L9+2PG)12 :~bq:,6/zl]&cVL!Ssbף`ԳEȕW?.?Zu"803]j|Xeح|#}'fsb!Z GuMM_T6/o jc$Uv etOIw.ԋ=N)oXҽGkb>KH)8ƌrzwXƟM̵>t4 %Yg54괉f?G'CoPYb/di WU2LZ>]jŸIut'_]8P_ɒn4G b#G3qt0M%$Z1Uul#r:A T*,0Kx?{&L+ьӊhj^WHN%edtd2J!=ZgsTf|fIEwE}'2Vu1"n0o[_>1mg+!ͪqʮmcGEW+rӤ^fշypS.苲J^bc-]ͨgL+FDE6gVc[j!4#0UD}>u~T`;L.L|:u3Tա.'Qoqބ(ePL~ ,!hn<>v8͇D8͌ (Ԫ>i)=,%&yyVx4r 25" }?=5=?YfOWKkO͒7U,Ԫ%'tZ`aGcQ#.s6@LfEziܽUX}A[h#@Z*"qMW`9@#z韐K繪,&2v\On#X\@f:.X/$fh6*NJӃio7JMȰ߫o̤1Znjx&x$F62L!/mʓ&X NJ t4dF蘷y(kG_#(w`Ah(v0!];1&B2v @el䗲XOv|@.;j; - k^@jAxh}un:W^> V_(ga1k[ߦk<_"w:U-_bꦘJH+XI %1V)*PL֟pW@5Av2}%cpۿ?21[G12C6<'VQ"Go@\IVs9u.pXH2a-nbZN*)wKy$x̤aZ|ggDi@d:#5`I8&Rvi3:\࡙2jcmuGN}OE &!8l?_l0;cTJ';mWOֱK}Lô{]b;$2^%_Bj uLu^C fF@Jv>0HVϹ֔x4@S=?F"nzx*o8]ni,}θ΂߮p)a!wuqfoPv⇸/S4QƕTXn3ʘeꀠK1ksmuꓷ\͋Q?ׄWF22%UX}CZho_P^~.=$p:8ufʛmXuH;".r6? Z%mt\$>!2ijNz*UΓޜqb= yG4i$*rѪݑƺqY/G7`z} >ή)8Ҽ)Q2DgA~4$"B * oS-R's%X⽲~IN_/j\Ӎh 2~cHB"$m԰QW \j4# @P xu V ,UH[('!Q%߃R;1!3 `H<~"lK6RΪDˢSPʞk̟ݴ.A*b`. }Y5tEWKvI..ӂoXTH!0ݏV[F=!S0ujUqcqXVm5X\?Zj+ePf=KgS 33Cc2N8C5> <@n[_E^5MVEК*ۥ]93zy`qqi룭Ioiv gTtB^CIuv\-'z1_Fl@ik4v7yga3_]5b="VwžQa:2"DM0/@^hM4gIP?fӍ<,IEgC5''M(o{e&Y`Eugz(nϤm-sAUeR?$M!hɸgXy')0K˺HH:T?[1sj1Hf3۠,-J^.^n "JԭK|ۚ3pN52=<H:P-]$.!Q(4+Nw04†@7ΌL_=xVWơ&Ek-k~\)IWEZ(T:JIt*V ?o^w250X5Ȉ+-YN+?H 56t̃>~]c(:(:eaIX Ս.Kʍ< nD<Y[4c`OeI}Ѩ'ywFw 76BKMT0 b; i.irm1![O+M o`g[+or0d l㺁]BAȀ~ u~"h=c7ĉu/G^vKo탉cvv> ~bayHW &~X8|QQ_ ŶӾ~]Ӟ GDuΖw69DOqZT 7},\+ NKhV{\Eujw_TyݽaOS Æ?ZaU$}Rstvzr*[boյskZar~ .#,^'uKI$(DY঄0 Vt%% %ų]{ 76s0b6;&K$즛2^ O[ #c<lw8yPxW0p jtS-@5T*u ^ヴjQ^enpc P.Al2ݑui gV(7NRs%,V׺o!cs\l9C2?Q綀Bv3,eTCwj;Jҹw_QG/0.z?=s"S'.+ފIlFR @h!oH2vaOJ[qt`/}~D煅A7F~[4N]p˻P﹡SfRPk^L}1 ;>CN<4qQPnz?Wa5r-mӸ!! k54B2(ag.ptj':c> a4sHkUWß̅$s\YӺ rc J\x%kDzػ'$.̒Pm숙r-ɡq5IȺF'GDα&&_%~됼@+=; y@g=p}uxKOi`Ub,sV"x"'+bcNπaYflomK [zi$p2h Fb,wrW9UX | 5Duwy%Q%nc>f"b`oAoB LeIE"%K$Qۑ6qޡ~~e%4z*2n _[bUl50'Vϙx0˷X`cʸEJ*> _Q0Cde- i|l&R>`GpXtwRڤr+ cTHnqm R۱I֝EIcřc rh0K Y9Wʟ&`_,tIzPZ`4 󒧆٘.$^ZخyJCyD!E?F`Q糿iI|R0^ :64*a'>aqH0?7Rجˬc[0hh z-kvė2 1jQ4(6"LzJQ@3(۰)_kaFDp26eupZ:Pw,6͕f~@҄P@$WHc̡^|0c]Sp 5٠a}d0lzqӽ: S*yOu?TUէTk qFI-K6}uTm&UrdvhYl򥊀Xd35Z Y$ S>?RsҗJןːzc %e:,]^p6`}7$-iaS:XdBq};YzQE PCf*~e5|e0hXgZ!筒($8Vk؀`%Ejz滋/oC5QU˲/|to,0~ ܥ bo,$։|Zͪnj,0 X7,pۛTWkឆ]MyƛP7l1_T{Xt(M1}9ȿ5i>"F#`HL&:<#ly*P&%V? p֨dž[duSjF- ϼY|d2>dꭌlsO)ud#KQCs,b5N{h;v\-r8ẖT-$/×6NOBspr,J(TK+_N?@ypb;%RfA}L虙q5Kg/2g>L0 ]mM@0/y61?Zzl SұqhBA]4gs߱CU|I.`}\1D>bLDtS~j(lޏRrq\ Jr)keP1߂>Uˉ< zy69?sɒ1@F PxcX#GtTG [է^>Xͽ&%&UDJOIZ-S1Fz顲]^B%Bp3 BR<T{߼*IoDj#5(+vBg-9'@Brրq]O(Wq 0,7W2N陘&\f+-yc(31N^zo70BW̟O*ʦt!Ɏ >ďH~[zP6NSGk-޶K/Uj0w/{OH6含^"*sEӡ җ+VGX.UU>>g,G&g@~woh<좄yTK`{h]QjI&vqctϫ։܋/;OZ7 :2Sq\I6L-B~)BBtkb`oJ r!?ߡJ0D>O[ˉp*!3նm Ș=Zʌ"yUc r^үQ X'~vL!X.FrvBZ ،mQs䲿(ՓitgXQYO3 S&mǥq>};y?"^#َwG I$˟ui3)VZhqx+M`TRitT# P1_bywH3.®]n j08=-W cbDQH5#ܝk1ؓNbF Zf*p Lr 0A*Gdx̵iQ{2vq10K dX=#Ty׫-ƙgzWIUG47 TNswˊ3ݠE;[/+>q=΄ SJg(Qi<8$q@'7<@yte{C-k$')rɷxc !hU,ż86VѾ,E7Y4 і& R'd#wUh30)VaWʝAaml CD᫹\u)TS,-!&bZ]#yj(n?U%"'B*0k`ٙ i XfZds wަ3A]U=j>x)͉85?!qٓ6#׽As~K}$F/ fLJ/7Lyaٵ$O,Pw=/WEs;lZvhΘՎhǮ biZb[Zjħ^`]t-+gK\!Ιs1]>JIi`F3/81*PQ;S&ȹhA77ng]NkeE~>,m>&r? O#aYC e)jF& 㖮ЧN4'gESF 6P`\.6*oŭzѝeH>~=z[&eyC]kqQFH1uָ<Mpr%yD˓%zcFjmⱇ1DjwT\/#fл`Yr?@ʗ|%eoVUY-Z4yGpړbf{xn%|0wvy\,Q*uN+9o+~U!2+pxẂBo"HKu! D,DOnAC&fovҋwHcE!'(\u 7C$ yF`T #EJ|Y(v>4 C9x2k^ 3)&3΄E2&? O.F~ĶX7<%MIhV_|uGNIph%D tmTMµƜDI2,qc օb>"8azCڡ(4@JOpS޽YV4euزO55T's2;ܭ`(,6>2KGd+k`Е+H]ԞCSD. D%5yi@K4rp ets 1iTe#L],X\7K9Mt D/v1gkc ||,0{7X韨2,f|8ְiV`T2x-/| K$RhU ؼoX鹉95T_a< BQC^Ɔ:/7&pwZ/אzx}}LRS0iErDF辄FV7t{;2VXZ2ҳ/R5:Η_l{Y[G_wѤ{RgAn@HnkCMNL NjHBk]yh̶e0) 8_EeѨ$|JB!ޛ a!M('[FYL0'[39svo[`6}J+û l|Yl&?%`H)ʐ f)&?)! CVOS•%7qnOӏ8b񝐥l )O?Do"xL]^m6Y7jDz, MK%(ɋ7}X_KJ6 67*p=3seN O|&PИxFȯ p1\%5ز` 0Eb|250_O"Q|?K˹Q\o*׹t9>̝p F%n%Bc x-|eC܅=Ztv~%5?lLx~'sȭJWLujTT/E]yzgt,02c ͯc!)K Jd7.Q^B.k>!arz)T`J.p elV:͑ "즹"%,[ߙS)tpM01A]/MLix5BTp"RꮎIc!C"s}* llk8[Ų[ nmʝa%1ء]8,D o2 Ax4͓kCN7toHbFc_}u\גY ( q3Ez[%o^1<-6MLDi"-ZP̟*pb C }7SL>XUV|U!.)?XQ7Al(JL;ȳR%+S6qr)%ו'(3ԛWYZd3ҭZvg&ȠTC`%&@TזSݲ'dV0GVO2>!:毛<}8\lMJޑ t |-XivF +N⎞d JF&Zf-oi頪]Zo@wY~}sm4 A8h/ aӿC=nv|)|CqLRGjw5\At(ZG.}Ev~v~0-;ѿW.ge}6D'rZv* $>j _ג3)E*<$g'Jdo1_|TZ$XFVQK bU,Yܟcq@ҎHʸFtv=CCL~Iȇ,ur5/}>}?IM_8*Wn%,#:[(M}X ꅓw= :+Y:7, [ Q\Y]EoH[t47=i,;-ˁB%oeL!8I1heG?rv? ϐ@$Z_—[ ŋ5lx5mKp0 =+Yti?~"¬CS!K';t4?2Ҹ \,sV"!{mC׭'g & dt;DrA8q^- wO@{&fn8 WV"rcjӏ_C4ѿ'Ϋ8%k5k~G$%HY.ނbm-RC-!Lv5A2te$e:.`,״'-PCfKpئT{nxKcT3ѭgPÚb_y5^sPH\Rav!"<>ϙ-?_&0AzF"T0z9HаeV*\7<<}:BBٹe{ϔ%_e4'׈k0ڬXz90jU̡Y[~Ul߄+M$_ĥgH[]:ak\[GkǢ^#`Xq\ 08CgJXgF>ʂm]_^Ɵu.!f'mǾEtd̈mM#{|a~'ȕkN@jr /*%A430+Qo(°j+ls5{d~dU۲L]$47NS$gAPQ?t,fBϲoJ], f'4@6Is· C- 4-p\'#bkPd{{v+_B:<')cWN#=؂U41~iB%8zRdA\K4ƿR@ߌe;p@&QՇO,|-mVᅜ^2-(K;785ޘT(1C/O&Nzڳ0Rgߞ*/86ga kL'eA$ z<9') be|^uvp'q=wbLt)`QFMPNqE#NJ aQ#%p/Rjl1t\f<,_+O2jI+[kȔ1z0-[pCVSdk`"Q@lbCuĹ&(ޔ@Xj˕nH{5'.wnij礳TϘnȹw ƾFg3ŒHye{ )֛q2$KwpbwOLѬ1 /D[ $Y6DHkpA ʶ @K~ja'bY._fl_frͣT T;B~ڎV #s(YK 'o>0,Yo kjsӌYVG1Zzbzh05+z60j:;AwS.~qo&@l%p?xjN9J g9<='4VӅ@]+Be 1#Zӝe+GV?DϠCBBt]bS vJࡰ0ayvݮfnnI]t=OjURH^f4?wqE-b٢ i|<[Qg `1/ =U? w=f2fپ%`rkpW[LHLr1|WqV/sB {lOjCuej CIN.0՝٠sŶp̪8o g3Qt ;їOqP N~r .ʱz*V`V:aqZSa9d \΢=!#tnζ>ťߩiYF9έfHq7Me[+%ؽFuO g6T#vwLj0AGk~6qWhgUv)>miݬ76M{Y>̤C2緈Be;BZ VӪ`Έ e\a5<pԚ($*aiɖA"jM"G6ghZP{:-'X\^(jH8s6@[ICR#p}=p0gr11SS2ꩥe?ßbٔ ?w: N܃kMb8@P!\C% ` ./8=Ӝh_P_ xgn=3^ ValV篛Ol}n^y 6gA&6eJ dlU޳Brܾ]fQnLkj'iw6ܕjLcX|<ʦ V!PD)N1}xrhؿ$:*kb2-7˅m+ gǠ )X  qO'Nk'NH!ɥ; {~Z'1t(43i1fuo68A4nP %43scv]B3S{z)t>P:kF bbؘRT-0av> fI͛5)n);H ?Z! &kF,AdU_CP;o_1Nʀ`hqU-d) X@$0"jǴ6#\\mzñ,6.4e^_%ʼnVZ0 o_Kd RB&@)=8v {l+dY$?'Z[1hZ! !,INVsӅU!SFl$H|Z5.Kp,qD=f)U@Âԁ]J"7AigߛO˛A!D@A Im ZBI"l;>/ݨt*ζU S< iSˆI^ ao#8-ţ^/j>ٵJ<ys33+vVDuWDk ;9Ism.ٕtUpVԦ N,l -G,|إRP"1On$AE*?/x, N\s$|atPO^w kY[$2 ?CUҹШU Pz6p.=9tG׷Ӹ~''WkM1fê%/x>Ue|O^VI#gƍ-D aYL9{41,`+"$(tH4Fp>@Wkt}]TPp g7r$0,+A ?&+})c7|еiJF~XWXv]pM|W_/a#[Lu˕lWCMkt|9g9' OỞxC=ݍW2$*kl1?l+uLHhya`5Z5UD}r-?eڎY8QoZSFχH //v;(0,X3H`n ш ;gSE}~tRFޔ/ewV-> g59؍,=Z]I0F6sjE݅"d?M~b0uIh?)4$/MS,p-#|>L'lp %(e"Sԗ/dDa)[,4 n}1їL.Rx`r6p~DlDqO08Uyk3qNV6tW4Mcf>"BF`!d5w^j_+4㔯'd絙|֑BY\%#BVm)N?/yP띄/I{tkmNڥz\q;{׃bSZ;K?\n6RH;ta$p^\m !QveYJ W$08'>`j&[% =0YT5,ms)Z siWݟgY2L I~ۣ޴~6:!$ O%&{ iSg}~mDY_@tV|? lkQc~&Pa]BL&Y kU.5/[د^syIvh[*Yz{t  =BYY)#?: ϐ3iQQ] xWʝ7{P|MSEy_Ō _''b,xuXU\`WYm,[x9eRﮪ1ч}e(C)cGA|7sBE(17G quNoSn/ETFh`;5 r<( Tƪ*a'(ގbNtSnpa+ƪt+mї7^ikZi䒶։ *f#ǺNŤ}Ҟ -@ϝ(E7P*|MXվ<1.2Ńެg*$?v#Cn~4BB2~"?#1ԋð{U' l1VTpL*zI4mVРЛ~`G% 4<:M>5>Ow/]/4QjO*^ܷ1Em(?2 N1|aHl1_~$~m}Su^=om,d*bY>~aes~|k^+.`;̓ BkG;Qq>X= ypg?sNf+aE0~#r:YRc Ұ3h%;1o0γ-cƝ?V Tf>2O۠k' ? NC| M9*lo*f!Sܟ<>h91Ͷsc/_s9+{Y?[ 3tG6"e=\^ OGhZāfpVk.FPfDH93cwKm hu-#6hK;ִroU"ux?ޛWث5z7Ch^u8mF_o ƥ.և%WT a=HxwzU"YlqZz`3k~f&u}1V2&2MS1Uв\vSʹYc-V"q1zb,-Wk gz#߮}K9>wtb*Z3=;[٪Lk_)+NPnuff{+>ORr,+'yM]h?BƎ+v@[5u M%q7i#|b;S:ns|5 \ D/ ) :$atHsnG+`U+5oSk$ mw_?֮O.)V:QŒtij0vjsOiTq }6o DyߛOaRW)vSn^DiW>$JS3"H@f6ӌh1O%N9 D |؇: ΍emmSZ‚_ sd;s ^ۦqkAj}ipt(6â,',F^~>ڊgsʱ6DɶqP$tht lsM$?ctA[V|ZZ(GͮNZdm-Y{켦ׁOhn&̿*F#@h'8i͋aԉ8X=∲GS}}驱D2]gHhʃ}d~ E(Cz% !V_B*ĘqJ<9/u%"7|qgyYhZ{- 6L`{;Bblƥ[0?s(TYNu4TwX`si?ڀ)BjssG&r)5/Õyu feQonM=dϸ=;)pa3wլN^l|>WUU D}R3QxQth+-z!Bd Ŗ 6¡59&=X`uZuSE>Ͽ?Ǣf> 7:AAεm dgu樱7֎J,2{\&n,X:醻tn+/7ٟSCk{ޭ7^iT{`6?s\H>!ց9Ⲩ?+ `_D4#(s-M9QfJJВ2U!JJ^*TYwjJԙ9(xw$,A2XxN'9TJ5r/1z fH\=mڡ{~fi3}J<E$P6orn(Nz,ц~B;Ey#:qtxsZ^x¦7=YHB?߆L݇Ȳ=ƁK6R6 }G ?mɶ vj~QtXZǠQ]=A| (?ʪ-UK5g:t U fp΍b30z#<(S]ί 4i'AzSbX.$YoH*QYRMTJ"+qd1^i!Dg6x.?d*(cv, 5L* l ,Tdq,!)ƬZc=c;0&Q#O53 la{Dy_;jhwZL Db SP1&^hA5V˳%AG>֡|tX#Rq++ "'d|3M<"A%8bnb CaPWcO HQ\}ǧ.9\#N6k΄zCb67AOiLPdDl-ޑ]|˚I +T1 US*kZ`סo7 -zc8 o>Ɉ\]eM)@vP{hȈj'KaդOB~1<6|ļRl)< UHVg5xW vy\]=,1͌*/1sx >r:]HX{۴3Ld1Q!>ywwb>ʔmuR@U0tSrkK] O~ʮ|PH|T ;ivwX90\F߮7"qD1!לhl9L`$dh S]mxshtumE[YUAW([_ˇIIhQf$5.jD,F$ye]f5tE-I39MnEqWEK M;?^~wܽР02>q*cAԐvC$67"y`NMDS3N+ z`ag&!#O'b' j 9n ̀4>;?a[ׯIkam ,Rھ!/Yڻ*ponK2ki=dޯC;ާv ߧΎ~[Y0ib#/rȖڛ++Mxy0 &Uu(.a V&6,_K{ղiGS O!HҶ}Fj z|nkU8)i"w[WbET,FqB׌ƙ^3 sen"=Iо_C'_-Ճ?[XWbP^7S%m;բJX%XBj9:# IzI*E\6_,3N'DBKw%*u3,{Yk5fgRP׵f1ͧ+1G& .΀{mFD,\<˨ӵzv66;&GXAr0o%%`7DY-L(jtnҏX֙}1A ɫ`t$\7Ãv2tI5^$F..Ī}g%0ȮȗZҽ4< TZȩ.Db>ڑ\ a@c+G1 3$-cmLEh懍8$T W2q%qAp;!Y;}[mx$;o$;Q2 c,\@z|X"8L`Y]8Mg}UqV{2x[ pj\6J^`6SH$S2>p&;YO[s#l1!I.-i\cNku AMuIQ"h} `o1ee22˫#Z 9:[d tL=’D*en1sqjb7h_&52@$]m"'Jl<0RN(ŖI #DAT-aiEZ`I[4xGj[YU|Z-]坖 Z/?mɴ'M7 L|e4lm;.L:5CgQҾC\3C@R9V Q=s"Q2z@+w f@+ Slj^/a}YoLnA\u% 2¦i/SDI:Bm:OZ()=fdžUE IVȤ~Us>8I{1(=EEǢ_v`qvK6Vu2 1>?8akşo"q$*nQy ~8>#ۭB}W-`Mp()@L|7 ˠd5[ו!Op |b?Ci@58vT ^ι`7ViC9`H(Ď&bleyuES.KS_7l(MnaӤI6hjO߀ (/%pmK-b`8,p7*RmLn݌4Dw-e DžBiU~n.WQOR3Ets0Ho=c=9pz՛f鄭 P&.WFJE]؉_=B;88 -ilpгϏq-Ue7ch:d 8j%\Y a5K3Ʈ\tM>1o*y2۰ڃpG,l RQsJHs[,ĝd313F( X6CmluuNLGf䯙KZ"I<ܲTӳUfrEbRcbW?p&5_KKudϦҫ#@lJ TJ]a|ry].g07ǖqeFŶ%2uomĞxaxB @J^oHaQήr#o ~/xEFwgkdIO"HLfju_I߇T~y`d[jg{n+|PQ6`Y<@nShG sZ+Ggo>vwzx}>[8/y aVhb e6ҋ wErp;{BIڼp+7@0o ͍kgXb*7V?Δq5}SK|,-Vjx7~!mH _?,9 D$-a뢊R[9‘F+ $3^gi V|! }TcATʉvN`Z:1)c+"bmc1꧃b"\w`)ѼE ,~h؛u$[FP[S9֫zϼCݷ>_M S)DÎH!ʋY.IiY˞ (lZefs L Wm+h7`x89Sse3&MhQ{+WD ҟ%߈bhx<\0E9Tb}RMf07\yJC ~C =+*ZXp@BUHJz`}>TUeҷJwk1m aM"RO y.?nJ%r]f>>m.ԇ$m6 {𼻄9V&mg_'Wv[mdkM&O8,Z4UWٗϧʵǍ{ lt俗p&ҥ tb%fSO.?|ğHM [l[Z&lɈ7:s9f*mۏ[Au"DqK?(;9Xgc 5-k6_);tgk2dxG SAas.76>X9`'9iLnwgw?daekH&`CDX]DyΏ>pq̓/e FhA:w~Վ6ӌM*0*0Q uEuxK*#9yY暈n7e2{) )S+kݪIM2P`\꙾g|+RvPNx]'CyUվW ¦>_K{DFt 3[̪4F< e0KK܌0!Nh3z`5]rUJp]k=0Wրt*`?[VBU~Be>k;3)vة]F6j9{Z]g(dnDKkLZn>FY6"vR2R d\o+OWBdm][=sJ`UN}# 4943:4}_.D/=Ďx.iG 2y55[ MF8 I_ ba\v/GuA0*U[7!LvD&;_=Jļ3|Az3zfcYۜ)1C@e6ώٸym_/:&UiAɼ`L~'z|:Xe x=.:I{G:?dFL26 ^j$㢜D $2*dKcz YrB+<=#.Z\8拾Z]^I͈ϑ8t ,x%!YE2\jE)WOɪ}t~H|nv;z-Asǩ9).;#E׀ E9 aBg,'}츘p8V(*q$\H,WH2+YdM9Ru-voݻ1丰9x-U-/n"%DA0gTwԀJh0Ӡ1&pF`~MB_og̞̓K2\@4`[>b~F-dzw?%u5+kgТ)MG Wfw S oEoAF:Nl:McAڇ˩j ދ (ҳ^=rhkO.dybFs|x#c9v!] νaw+PUEӱcXuWпb)ߺ?Ya*ș~,Lh1r;h+BCZ#[JH!hwjJ4{7gNP۶)]RL]0w`,ja}sJ^<: ۅϦY"]q dPR7fjz9zL.Ă^J-3 M7iG`3q-p #r˚ HB"QXЌ WpD5Fsۧ>5;+Oͫ{' B2[9@dʊk0 u k GI%d ĦP->+=(b~]/֞ͪ1Vݷۦ uڏc~GqyF}50m/nX=ҝc-)PLР[zese] Eڗ1eK68wxáчJ >6Feb٫oEs}St!9P8I N溣0HF8Miny2_ءkz$ ~˒F-pHBi`Jƥω|vw_[M @KM> JbB BG/-GeJ(VOm)򳇓s-\4=t>:Z tĈ6 yP$b~|r ӕ)1q^&AfMh4"=Di6XOҝꑫ%5>3ޘ煂N~Y":rT!iMFWK{lơ\|E1mg^`"9Mcsv !66upzh l?ٿpB\Jkj,<.!v{N@mp=DU:rIW OsV>߄)&/ Rqf>׎={qǮpEJq 0;dk(<31|jbzx h% ,AIpTATbصimWyZ0=PJjtXA$zϐ=ARt`uT6TȠjME-n't&AϛlC-q9 v9/uc$&3Ii TFWhvrd$'G t!)Il.atmU cEN{SsBlUvkn".&=+s+N4M yMm6V`(!"(m{DKepshj1/2(E>H1R9MS_>l9Gso4}pNwݸګa%Ahn&Z/AʙҌ#J-~494>R1gEm"6LnK<}D&醅+ ]]/QuClΊfn'feìA0tȖȇFf# .(S C KvgzTOcnf>Ԯ8+Cj@¦uIF30 0bʺrtE`cX}+?_[X3]ʁ۷C&奙m7HC Up?u/^Gd1zrtDZO>sk(5W[$ZpɋM毲Kf1@e!+7}3 ӢuT'`ӊI!e|/[<R;r"T̳trƒ]EU F?1K5_Zr)䨒APJi1D^-:k;`, ' %E<2])-Ґ9JO'6L53,!.B%k"9mTBkϖ0En9KErIt$IeLID`bJϒ ~CÅQv|{5!OOhx8̌yd՛bjqµ!v[Ub 3h ~?։B`9NN [nAQt=