python-cephfs-12.2.0+git.1504118058.706f78da1a-6.1>t  DH`pZV Ը/=„A']G3g" $},<:Gޓ), bT. rEV8|Ɵ_>IR*ί(h0#W=7FiyY|/vL矊ĦR "ٛg.sţs !vr!D# f Hh p@{\X~ 3hװ'<=@SDX2ɰ^p'Veo_eL]h29I*zֿ3B| } ܎b1565fee200d6eb2c9a0c9257c7c2abdb361f4f1LZV Ը/=„xe_IWO}'o2|ryow$_A Dbvc/}gE2Њeki˜7T= 3""\TT% ؉N3,2KTh$@lK|LڲF![8ֽQ@uԗbJ ~MiIChVY]EyO2ҰGTGIU;Fdj[0'Lwn}[U}mAsN"c#aӵTD$`|'/iɭ<zo0Lx˃C>@$?d1 5 i? Xu     Lh   (8K9HK: ;KB9FEGXHtIِX٘Y٤Z[\]8^ڬb2cۻdHeMfRlTuhv܄wpx݌yݨ zCpython-cephfs12.2.0+git.1504118058.706f78da1a6.1Python 2 libraries for Ceph distributed file systemThis package contains Python 2 libraries for interacting with Cephs distributed file system.ZVnlamb69`openSUSE 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_64_h,A큤Y~ZVZVZVZVZVZVK1f0a3e73e1e1e14ed1ebc18f14bc7090541f49a1c32b5d7eaef7d117030408c9884c6ad1aa372d9f9b4d7bbda7e9b2e768b329da9893e34099c7d8ad5cb9c9403bb5a4ba518c6bf5b663e2cfc4dc5d3fdb13662205721a6e31b5d4359bc1c2f1rootrootrootrootrootrootrootrootrootrootrootrootrootrootceph-12.2.0+git.1504118058.706f78da1a-6.1.src.rpmcephfs.so()(64bit)python-cephfspython-cephfs(x86-64)@@@@@@@   libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcephfs.so.2()(64bit)libcephfs2libpthread.so.0()(64bit)libpython2.7.so.1.0()(64bit)python(abi)rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)12.2.0+git.1504118058.706f78da1a-6.12.73.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 SES5python-cephlamb69 151558692612.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.1ceph_volume_client.pycephfs-2.0.0-py2.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txtcephfs.so/usr/lib/python2.7/site-packages//usr/lib64/python2.7/site-packages//usr/lib64/python2.7/site-packages/cephfs-2.0.0-py2.7.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-linuxPython script, ASCII text executabledirectoryASCII text, with very long linesASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=056a8c56a711e044a0150a9985f39fc59297e57d, strippedRPRRRRRRRO$z[.vpython-rados12.2.0+git.1504118058.706f78da1a-6.1?] crv(vX0D剺LٸjmI` Lil6_px2M,`/JM\?yɜ:  c;ų`<ʯCdYb.&,6.Qs;J\S<0pc'V C-$r C݁"ߜ XhYUGk&BGBv]>!!} Y_X4jkP(/=@hc CU^k(T8[ dMZr=hG`"iչw1EUay2dpZΩ>^Ep} @Ucݔl0ꑨFA+ kaWbUp#\Zޑ esZ̒_ChA5tqS ꋋ` @~#ڡKiy8X”v2Œ,lEl Ԧ^M!E|(֜=Wd=O!9 d E}8Bx|7WwX ULYy}\L',\̳j΅arQ+*i8M3`#-$ʘFkj@䖘 ʰ^|`<t:wq+,48a< y>A׌0N_R~&5w4b `zo% P<McQ} GLjG x$#"HMd^!oٮ[)Y;/ɐ!U{nƊ'oΖ%\nu_^!~t7MI2z ģI9q[XǛ•qV%m!jPHr0FuLThD7o_5Ҵj6BbI=K-?/tpi",$9TBNR-i2m.!dhdQĮ& }JjgQ8g; =Qev~,{82×opUTz.7py6sZfs2s _Y (kwO~ D*h Ih'9L K%0"F[6J[ǔU2e8!{| MBtR lI&Dg}Ճyn]kp.~.C8wA|i5u%FRq&I0m׶e&ڍˍ҆ pحX+ej'B&XAŜ=x1Y>ϳ9$Fl f¦{`ۍɗ ۍP+҈zHTni0Hv&x¾[{`|1m( &\| Kۓ'h_>32FQ0q_aK)FCb?;:H}sqƖ\sB`R S߬҅)$hR ' 0mϬw _cA(\54S+)wBKt ggYSuH?|5 _u#x8/%  A\AQY"ڽ-<@ ~҉#'.dM;dgk1}'&MBS3d7قPD#mh$.o+it"$y+ HdI |`/R c,I5SV%|T7O bIBu"b&13z"Π Jߋ\%Nc+_6y۔0KumWUEZ[+zs-ƼtHC 9ױ;'w+i&XIFn"wa"gEEw1ay~C.cvr{t;knEi$]09Jv쒬] d@dY/ᗝrF&7k@WV>5W0y E^ RS%Χ 7q>}̨>)16 cYKs nz>K83c;z`Zi6͕=B^o'p;Y`J;NDR˄鍡fntʕGfe{16\/kٍy,<ՕCGӷ&ytu~@RSK4-숆fubX%Ş}Jh y7/O蚪ƸD#e`Wi}TSijOYq4K,ЂyF B"5ރs<ث2Dp}Blg񗠚at@GJx.̶j]QA_&ʞf<*a+ ;-gahH]3jU4``{ o7̰lw6CXg7DYb c"O ;Qt\yp+}"QWXby}ٺD?S\rJ}Ԕf֎ڣ::-Rfo rx2u >WΧ K9]C.s tx K~pjzmXyBߡ*y_X%,DT2,[ZۍHMhWx(ej7 4p y,9,(hw1ۛsۢ" \1tܒGhj6<P(s 7.>m%{Y~u[ r*/7}mY8!fv 2j,N`ioxme/Gc5\xTHm@aq9cN% Q h_ hAD" .|)1?ϗs5 x TuȫQ&!t#9D "QBnb6;=ؼଢ଼"-ePM,r!'8 Ŝ}Qn{Zz4ϟ6 m$8/.تbJɍo7yt7"b8K ksOS3N@ki$|%@ d}J-zWhnv_#:GT[B 2(hBv,٬)˃]jAof]%Z CShTM]"B̽½^6 ÍW}nȉRDˣ̜!bh,) /)aF3Qt]%ӱ:>Þr^:sf…dd,YT h\~05umAz_SfJ(DEI@s ws1-H K[nޚt?֍k{FPIvD _{YpZI{xۨoeӌ*PBm^ wFp ~iOv; q1y°Xܨm-[XAS@dIA/K&GTLmᤔE#t>g7\%zE35l JrΠ rgl[ܒ׫;߅&zFnáKlfMÊ "&0Ȟq_Wqqh~{[xZ ЛGe넬ɊAGja;)JfgG, ;LakqXql~2 \/)qѲ\9~P`~IZg Lk:705 !M-GӔOƜY_d1 QX:!g;LWЉ|SsF ᔫk'[tJDʵg7\7U/1-#d6h~ACDPP5ko2%Zڡ=ok+@O*U 66>Hs҆?=@LNQV {puQpT/ } U‰tx:J%Ep>D\Ey6 ݯݏdI5VNC:z<$TRQ#{w?g5P"jsPWhbgT6uOA$bR 3`O\ZbHW`隑ݖVtdp0~ IKL$#[Gn[.Nz{xֲ·7;9^SLsc R8ÓbƖ&O%z*I-{NN W-e]#~ͅ6>E `\tk#.v}*dظY }7X3 k $FgnH 4o 5OPΏ8_ht kXF]߁7X~p@n]PBAL 6Wzyh(okDqu+T#f’ *pK1}n8xQoj'.`df}fmոqz]WPTr$G~b|I%Npefy_z-,qwZ0)mrm7P3e:gn<@pƒo 0u$j}3LŇ>1(> & ҫ,Dz)M={HPyo2{\Ƹ☙33"VNͷu|\kS.2_H?< g~tjCa PW=R+{*lC,'8 p ^:^,U@+o/PW*+{-Uq46MRytmMqS >8-quTVoiTE9[=57U+7˶?G9-,J5>m-<>iSiɶ#:^X=q<l}**F@䧮i8~岝ۧȕ.KkY@KǩSR_tu)n 7ŶEǖ$$[X’lGȞ3&#SIjhOQD PX%~&P!޶ 󌳂ۻKC@je$yzF!NO32x:u[?yyrS(6 !\9~qS?qZ2_Uw)EC ri؀W&)fђ6wN9O@UP~蜈[ kcpm5~@T؏^Zpvbz[MpU11a;9wc^nk޽eaQW'] PѪѪ4UXzn*/HBB϶ 9 Qv]4햦:ʊ?[hܢ0z5rhB܋z'*-"tpVGU)"=6 X޿8ҕgQN{o.yl?D ^,U I{N{Rs:LW顡sET-RLS~JJ8&fIdrХS4z~Dݫ϶m䯗Q(RF/ ^Z}/Xٞ߸~-*9$殱nrR.} uph] ~Z&Q"Uf;>S@ TgЗ>: (/ vL;]2zڪP-iv0?A oZ +&] g]=~"{w&OlgsK^g@M ҕ;U΢η7hC}ͭ|?FO^7\8挞4aDN<9LUytu 22ԓzp٢lhpn~6P΃gr}וl/@r6c\Vgm/G9qz-.%(}T 9n9rODE V_I@b{Ro*uI<۠# 7BcHqGNXni-CFL`DiR k >!juGב ۓOd؊/`'̃e>bͶ}_3ċ=nԽ2Ǽg!y~;g7e&+ xKG%lg]6ОW\!&^NhEi2'u7 Xx$DpR!rW;˓*>/y%eYbЖKDoE+% R jOl${E![8m[U'xE٣KѤMzI$Bo0+ 'T#wDfe׮;ۦ:`yEa^cK-34= p2u9]s}o9YCCuL6z5lU٤G%Y;ew0'Y4oZ&YơأRT Xse b/D+M:LBIC,تF'-`LЬ{n٘Ɲx\vŷ,q4eF˪vw"DjsÖ7ʎMgŊU\;@u2 Cq$UJ]4>KRkz@A64z΄y`L"W_L8Z"-T*,dy@G4:2c%%O"Pw|N\*^ϱ`٢웖ʾIfo-o-8phZbD05֏ "l u0" cӡ@8w@cuuҶ~讬0ݚ#j@ksz̠] 6_ F/\80:oҰEBQe,{hˍ^ZS&}szP,o ¨@ >7Rլ5Ϥ!ln!:WG\]o{bU0 h4c2yp|B-qkXN'TCu Mwa_vW5/Ybm6qw4%~`fDŽl=/6ayզWp:vW|o7 ȟ}NOѽzI!]BoV+:[\̣buN7vgݱX:S) {Va"M2yk=*>>9AQOe53(q[$}v.k9K0NMQ ̯Z HQWGd{Vȡ5BYujBL i4"V k~9*<.o18g q =lx֟TkEXQT:Gjt[ͪʂJTOmMԀ.M;xN+D *gl~S(h?aG2'(%}LTbPg\[Ī"Kj7k䊉$ h|AJ[Q׊` d9XP$U@jXt702\rx՝XQvI:rɭMULvTD'6{Bؚ. !@S=BFyQ X(j1QUc@Z"qS[@tKշX卷BR'X5hwn5+CY'V&V&zg%<KJDg,ݸ{%a<2I+`zZ{j͵ ,3Uܘkjьv),u7/'0!xՃ3^k'n/5e*ō#0 R?)\o#fسt2uSutXJzX+YAͮy /T*W%[ڃW+ÐŪr^z>ioEYQ$u:"U⢘rx+xj72 FA9Uia-~IAWw-u(*t% -t) FmxT٠xJl~.p2A[s 3INc&8}r`! }-#CIBha<čܳ@OInV{I:boKUIxў@n،*8"6&֓ߊ W$j;PŸAu]‘!w72îި!sx_4|sf, Vo$VPҰ[Gƫcn0oQM :.KhwΧu+kK$~Aښ>3xeVZoZK%7y{3ؾ;@,̋YòP/ͪe~tH4\YNZ7 @B76U2ˡ_4H.ȗ^#ްj,Il!RVGC>ShUz O۷.҇\& s%SEK]JM($<0#9 B`⮛vrSz}T85'Hڠ8ȳ8,gý+/ C]n$zEɏ`\/tD"P zO2/u,^{*RӆS`+W>?dב?]<`(={$'[ |pʏJ{%Y+jܪ?wgĞ;5m8h2Irǁ62^H?7To9' Þa E5z=@}uj bl}NDk Ûvr5% be`b+_7ka=Ht>O)NF~(}>Ԓ MꓽzO 56s@Lw-[-qNŧސM!U/շzr_izXū> YlÎhTuԯ, ^XLs 1p-` 04n9b~Sߝ 7Ú_jUqRԤipXf[@9! 0]| RNe4Qi"+ 餪{p+L 0YxSOwh`9bysxA㤂b}:٦;m W㭹Ț5e=sl- Zfba ]cҒb| Ecl6m5aݺf!ʠ_By^9A9DLE`m?Y\ͷz})i&9kOrJ@`@OIFHӭ]LX^ yh o ԉK彻O^ HOJt4AqHX6 VAs:fkm݋8dRDA^fK,k$Dim.,jsԴ#F0y‡u1C ;8iITpspO#oc?&-$.k\,h._p܈*^$U+~ŵ<~ yckr @GVhw:sIsvK.Z_KMuC%Tͪ($1 ԕ=P5mv߆ѐ!U5cǿ\W"+HY0DTZcG5e&8OOW=a)eg%[,jNi mJ"B p%+󊳇;sx-IKa#8eed pϭip>4<úN,}c4% mu_8W LogHwmi3XL (~7њ2]mȮv'xhOۣ3ad*mF[.E8i#}@p hؽIc~JON-QUk=bT& &NsqyzD e#r YJp*IYF 3rǎ<M`Y>I3=} ']X{= ى0H Urm\9ΉZ|q"dPxc"~Xآc*OzY40z /͸yqŬn Zɧ˙BrW`4C|i'ejvjian Ixʼ:р1v|;Q}}#UV`s7sm`tm>|8IH11)Dܬ0F p"*AL \V=Di&{hųMARaSgk,jQ k888d8u66 *"Ľ7oB9r SPzd' op84IsZķgz5ƞԁ6\j)RxT-T_"nӻ'79TZ$t4t[}ҍ:c#Y(Sa>4'oq|Il1+,:拤cY>~u} "e~C}X;$A*%27+=ݎ(hp_dl Q4\:qǧ輪Z١"c*gb$f+!C.yԶxnz5i/,5$pBm7MlΐBbl,?s`2 poM\$\`nisڢۃ(J`Ų[bn*c>.t =#0 僔TioiOHRϽLT/ Z&8d3\@Olت9f<0tP~"sȃ-^)J2:FD`Hxy*q5ѡOmu(NəC%2OٗVCf&=W&,pHƎ9Qiz"{i=6}0\Yܑ pi3iakN2 P,uۘYp<,lkm͂M>?DvN&ե"Mk? {jRFF デ葈v|[=՛X=ۚkǓ{,G9MDMҎg&˶ۣ: v&[ӰpBq+-~)}/sK);.xnƧl%P"]B3?-\[Y]pXuBw3+HYY?( %Z*r``$pCS 6GJA]:@ +W!MSg@Eo))HvF):7qẊV.üX c7gӁbpǨ6'l~ȏBr.IÈ0&>͑ԂHxǧCRҋwB X LEpq<KW^Q@?yn3vOԫ3L7h6ԛsȞl Ey)9 ƢX{mУɃ7sm_p 8o0N80#;^f:ad?IYB԰!a B`Ł< P'W#NmTJ)&2P7B$?@*Ŧ@#o V)]?ynm'}0V[ jb! Ɖ`#zD@si_@B1d`p6߻KERav;=RX9W}UPġ~u5E.NZ$#sYI l8,? u^-nukct%%n-s,:H@FDufweSgc>g.xĒUGavO֓ zx;O]۬5=p6U UUhXհB/JcʋLO0:]@:3丼Kd[":jA%%N!|g ^JW|6RVjI K XD194jymڂB={("O|{2nwFK*J%-( XrFC 31W _z <\sR6p>vk2"~qKX}G"J_ ٨!wiCS!Gq2xs% ̯3]* ,#@H\>?a`~ B^<\T Eל{,& *¤h#\7[Xk_R$O1n|..xo7/Wk'@B(H,TwPSm0Ca'_3ڛo!wQ`")'XM5/FeK8al/"@ko(0b;>s^_҆bui"\Szza8;ڒ^wߎfTk< GPN>d8\-N Yvc[qaXk Ɔd$&壩Rs}%>Ɖ&؂t5PhZ;n7s vt}eJb kG.wњ **~?ׂqqXQ)uc})2n5GtQ(vDh+؝`Qf9Wv q <+!7GٍM,mn|Tiߦ$j򦷯~+kE[:,fDB ?1QK &7`^yu] s6-;,#9(!X"pNഘ=|O6Ԟ7 aޢC20ʣ<^sqdQ"C n燎Efj)ow#A(1Ժaޅj JgoAk@el-O]񸂉 /rq',1)kӁP#!`z\wVD[ug,5B:wT̽L@jڏ$ӥ@#>uxT1{i=.3 `u]3ϴE'n-s$ksh@?`dTkLiPlt)(P 'S' NsoF *#(6YŽ+N$d,LP% Xؽ")N\2%dk5;$ms+5hĄK!GY‡oſ֡m[t[y[.A V !1!{ǹII-E^) 6HPH*Izp'e 7!+az(3g!Dǹ|C^Lklk0C*6Ub'\k|י,H7]t*C/cP( HJY@_ iu;Q| vC|OP]7C1 _ wD˾v(cɎԖxE}o?r²EeY֋̨koA{0j(臣fnӭ 6ĨPm[p´I=.lZX(-Y-zʫ&rdJw,Òs U%Ż4Rp@n-WYT"xN7}Z8Ql#3?X vB2(oET, =oPb׬p$U!=nf*I."{R0+Ah8oE>J5"Yq_/#( їV'|Gwi+6B3YR8SAխuSIӮ 4L4%`د]f&f@])-K5 e/ɴ#mPuOXdN[u@~4ׯ؝2S`RК]-}Q" h ӄub+aOO>paHuBZ4:QCTNc,()+Tbxڙ-Mη!=~ đʖxDb \7.7=JڪE?uٟ,3Y!,;ppW8%| (L@ƒ,E6]h ൿ/I ~OryU%Ɵ )}T)e"ڀrP^Û*󄩧/{^·Eͩ:Ճں w>b$H.2s+1֦Ea1CJjn %`AEyRQo.9-#`\̍ŀڊ-jUxDΠ,Xj>`Ծ" l '{Da;.WgŶP~בZNo+ $gP$i嵽CadĿ UWs& NKZ2Oڏ=&e?]`SBxYiZ&.2\{`̏b `i9akeJ%bG"۔XĀ?Y,o'ܡ(QK/kap{Eb @=i']$89Uyp:pbb h,%2%Wv2:U0jD/q{`(Tb"$6sm=s/p uR&vhp9:-_?%AꕡQ3/ &2禟0j--J+ Rxoh'4+k Y4s<'4]kdHej Ԅ8. y3DB_]L/ 0bHgF,?"BϨ^10&[͡@/U>T ǔb`n)h*!>f0 s7EϪ]pa?yqBDY a멝yE2)ǻC\6ϽXN L!*H0dh+^'*^tSJz'/(PYN}}I#À*tꖄt{BOq[Qe3OcmGTd6gvc-{B2v(BL!(!&sx@AgrF.,݈-b$ QM.  sCkAJ\(W-j[Y qP,sqG<@wvCl?M.9_[#_3҅/ vc3qvDNwn7p3il_a:ʿBfPڨm M%)&'{mY&6E;jŃ'@m:@JԆFbz05MT̈0\h͜'& 7n6c01>) t_[:zu$pgkzs+<GBzuId.P *G61.2;0 K-/}W&Qk J1(drd^z{.4qW|Qj+RxPe|lG50^%}1A6"pJj~OE\uG̥dun-)^\ 'L[GiHOz%CVF5MhJ"0cR 4l7UZ2~<}qib,nj5号څqY'+cMuR*jTNcQfӄu?~ŇZWT:gA9<9+:lн cR;/"̍r.*dQ8_ \ܢ]hIL,+ba@@&)zx[Qdx\䞏P*?1Ot7 V}5gzKtD4{ 9Zw!zgzPܰ"#O;G1'} 6P2C.i^;I S[4dA$|˻Yr@Z^[Ѓe\b4OFHx(+%29}fOo3oB^+~*NcڥkVfwpM)?wJˏ9k* ~},uR##,:D~9\ f v"> aeԧ{=r?`aNn7>CJpytN~ tvu^7Y(M1y[c}a~㧇g܅JD4u$8zaJPGjYAM;F #}c#R`CDF!aKw\+ ,Ox`1_^}jsfZO]a]u" QO6}R~w˵Vd2f֙` e뎩 hh867+jԒڮQZ9ۃn4JQi ֐ F2<'G? :eŹ*CO7cȋ)yeӌK`T<*fئa4 ]U;0d#0 ehy\br[CȲ0q>DGg =1,m NHhjXT$eŒVTC*okiW5Nu \0D EfO/N$L2I"eBRtK t袰Khɍ-FO |QqA81x)k-cs;$6V3HjWZx;n\_'l&*ŝQ`BbM1D#v0|[V8%;;,ZK:{:m2Ӥ./llJPҽ5Ql<7aXU)ϳrSRZ ēBki#rʢ}\SYX,(m|˙+Yy V_Qwxd52f3z%xξ먑R#nE2S@Ӯ_Eʬgd⍅r⢁Qm{UWk|@Q 9pކdJT]떚)?[vnlEse웚Pđxprp҅uB$Ġ6qUBK漑WS`>ą+>:91hZq ":< et)*º0"z2clpܚĂg83] ѸcznD:ؠu:O݊؜]X "/h,u SR 2 EI+Dj݆{ϺYf>U/ GC1*};GǷX‚2]H}d,oP,ui9YVu-,UHq%AhhL$ 9TP"0Sp~5+}ơsE'<,Wr.J_)w$Ѣ bf^^/vW 0_uPG5P!GrBc~PFZ[r/8xn9.Oe!$˷:Mxezdn,$Љu.Ra[xr!r p}3MH5#k͛:c\mqgܜ7@KFd$;倰<(s_㼩' jW$pD bR.1O`ړ}nSٓvCNJpYhp>&9AJ|ny0"`[#(BB Enº/.4_k6{!YUYbmXZ d `E}OUمmEFpXq[>JZXNgNöտ eF?<ҧ#C$~"ݝMNS?CPZo%C^P~LJk̒PL<,KBzN_cFOKkyNdNoba.͇Ƀ8)f b2LٞdXQVF N]%J{ߍ= lOc@ԶW @m.tKV˨޽\ ]k-ACɾxВ%i"+f*Ԉ*@p1de{T%U$y !bǗgѺa`0~"BЂ,!+eU1 JK*ظfjXS9TF3w##vp4Ng}c_E͕3(S!ٓ%3#ʋl!**r 3i)P;[ ͝f~+j&~vT4Y` /\6ބ?At?"3FPH`_lZd2 2Ih5G vCb{faWfzI\tY۱>済۽2a< GGRvΤ7DB*P<,ER  Cn*W8 3a:V,-pq!B3;q֚yQ6 )-q;*fHBܗS*:r>M-w^rxªve=EǗềw./_B۸P{\>8l~zWE[V^%g8? 5"\=ҁjQ^iҲeh7Gj-B8t ]BO#I@#!GY.y4yIiD 9-Vh+~qs#OFƃ㌆).=R8CAw.$#O#:ox&ԓu29z+ޔNKhq: τts:2x> ߧǟeZZC\ƴЎUš5>Y g.tntpt{ 毾鋉0ިyC)HK{ʺ4^tX6F轟M]욠f cyq=}"p&׀*͔ G4-1F >2-Hٕ z=ݽ tA2-oOoČcJ=7L%mqċ*1 =~?ܚE@|dF'%TN4(Kgm;o6%U:P[ !dVj JٽJeݶp+?(,(=V: ; ![\z >*,f:<wTq5CZ-o6Eky~O+7ۍ};сsD>iMBjiu M-Z^sg[lqN>:8~!lả^z gxf> В( u1Rd ݝ܈cH?98 PAF\oF{W0ٯ,FZ@F4"Z;36q0/ހaAרtx]v: ϧL.ՄU|))om K'd8Θwtt`R8N3R^[{쾠>Z۾fes̫1'Sd(1$‹vٛ70#7M. wƓ7kEXmݯ|-ruT9qh(R ΀܏C: k6Kmzo"|S&gm#8%id(=3SY˔=9Z"6v % +q-SI\ < *mW؆?T Lqn,T,m3p`bITzbEӼW$4rՐ 3kp??a;Ihz}1e'”};H ;URHr/Ӂ(E<ЎfSJ*w 7O-ǵĞ6yO!ԗdL$ӧI-)TsWM2U=h=N:Ë9% 2F}(k+7OًM8VAE-G7) bO$;E͍] L$\'DEΞ) 7^@gMt_F'iDC*an5t;琢x}"]Wy2' 5PsD$B@PW62EZy7ာBZ# 8#@kúu(O;,~-1|9X\^66G* lx)h9smsj]vF_LCtr2~UaG[ZbT%[ e .kuk{%~i|%kn]hW33rZ]X7d0_ l"t ,3u.K$X/M?yd~{Fq6/n rd6Ħ1w|֛Q?9 |J= qL>-&:%\VFR8LVU\m{1dz wpf^%l Z[5ڛ LxX& R+H^34s'Ig {; K|n)G/)ޡd/%jߟ;]@a|xjhp\`8"+ݡ.nzN0ozT臌vcxXWIdY}^] +{~MG[j6\*q̄$DG@n[Q=1V~|`Z/# *EzjY>mtsQEK `dqBW9뿯sq ⅵC/W9:IT+0ಮ~XY "/LE*Oe8ȯ!t\QDq0 7y>5XM,t,i+YDJZrMSgn.kf;nrF hlG+RN)0CJ0pII 6Bc #N~ePBRDcn Ir\&:'i^". BJ"ޞ.f@DlEĜR ARK[t^l$(Viq z.::L𸶚9s,&贜ڱ2=OvuW)IbG\iϦ6kN'𶊟‘#'v~HQGȴ8t(/Ѹ~{ kŴ]xB bl$t4  W!, tA;)I!p.[D?2/ty_Aų+v)叺{&щp"\2Ȟn{][jˢ͢#ffܯ򏔐f#xEk[N|; .i',JO:/ 0#+/~ jjF=Iɽ*m;*_j0Q)x|`0_fhOl=IJȬ}!k1ar{R?/A=G HX*7O]M!+-™rHW8.=s`|q=_gL|2pb6JJC`QI'#&I|ԛg< ?w *Y1W^K>* kvNMnJ(YLKHt#€2& 48J)XQϘׅWWwi *WaDdڧ ){xZB7SRbk{( Un[vK $_ysْ7otu^Ϝ Z2 z]R -L Hב:իYRڸa7pĪS.ʮnS_bYv-z= -Ϝ D9'Ԃ 2Sgچ05ՊDNLakGA %l@ج4JǭmE`&qo&1yr] $m,cHK$Oz`xִɲl'BU;1wTY]: _G4;΅(=kN9+5 V7Is\>F+ec9R5Z}:NgcuȥM.9hC ޏ!H d#(!jaKs1wm&]oDI(xN֔5lHq,g6GjdYB҈Zޟ9mڋ0Afke DE K yn^N=zhZ-Ou8c+)0QI_ċ$ufc={gs):!;'!4ۢ>j!Qք,=xBUPH-`pEabJ>,FWn%dQW*ۑz0,@`hRy LMTnqw|>X6%Di_oEO&̈؋V794 [VN ?C V{D.S41L$NiFTz|} Ȩ U^3_yN2N+K]M紷U4(Έ1Aۏx)k8y12w:Ybw8|\?ρ(nmEus&F<9@ @+ifӦ]3^CUO%1˲;Z.Uf d>t#q;^֬-OoƕUa, [5< }- q'0d!t[ :}T&?vJF(1K2yk#57mѓIvo싪NYYZ¡kipLNj,BSc^({ˠUMed9L ҏ"^4])tϸ9G##UMe_; ODмm e)'AaMGbs!D"٪@CFrLIi}a]UіAT|m"~_ #oѶ[سִ΅g~5$~ֶd­wƬ2 j@n'R#/hv*L76;9t4^܄P6$B{%ç^ِ:@QP Kӏ&L]:Էs}X5V L'p6+{o ؽ[p೎-$B94n6}K GF׿ LF|#+1Dwh 7SSmkTd=Z+rE8\]- N\7Ǜ5}>&"t+ JpϜ({&I G}>,6E8UO$l5Pz{Sr7h5k@OY.L}VSE©d3>X~̐Y*e8V='k];~6n"D>̵I~̹Z.KS kk}rA> 'HkH[* >˨${&%c'|0?迻3^pz}暹=t+?{#C\-ǤNwnlG6{`W܌C}e\c7D;jn /D}%p> P0lQ4j8l~9x_ >STv "F{ATvhUSZgca\F{e _e:ElF,ѱM_`^'&H!m2PsfSkL]53 /V\K* vi|3ƪvl㻤k1F{Xl =fl%Μ*ck?m0{r3vF$%(H~)URuo7CRorŜ =zLor0Q }N#[+F9~ifXo~!-ҟX`U+=}j,-t Gn&9) r>ޛza:/)&@H@{pD0Sh'2=1Vr,$Og grCA^&i-qX^=eUǗc,?Xi(v`|#2tQH"w0rfy,c~:B=}C礗#9vO\2K%nH ngfb&]|[lZuyY" ؁xLqGo^XTUc2_BiiN~oɑ[E j9w3בP<}odYB%#Zt$nYw<32/|,bfyh]>T*&ZهDЖռ4 M\|i ƞr'_ϒ߄8\LVS8EΌgVl-_ҞAR7QYmGЅgJrGfJt >DuxßHHP`E1j)nh*Kc%Mv .H g0aIx6 J'z'%gMg3GU`j]HfžijBu ޣ4['] ǽe{ y,WЧ֝DDT]?c]˳ 9>baW4Vڝq\W9ޝݔCKh 2%@xKgvژܿ^ łQ@x 1gcb`0r3 9.1]( Eq,ˎd3̩{ŕH޺R?g?OVza@Ϣ-# xJs"8#Q)hsio?c};5|p3$ 'ί+cN:V)Ft? xtK{F뻀bV~\bh($];.QػN#-u!W)rj0BԞC=<1|0bK.}s43H2B<zUXq7Ij)̘6D^tс3SWn Ou6ZIoxz`2&k:OC_6C=)T 85t A"ݡ B8c8oҁ r 0yPK2T"0Jzx>ER+W 4&% dE%E1_UӓO{'ه^1_ۡD26n7U>Qm"F%|\ºКE/D˫g?٩|ug,Zؖ@Q" ^^7[3|p\+V䆐ƹaLXjzpgr<rNQc;N:V%wz=ǟrDOM}q*74M&`{GT0Osޟ0>S3( >T3*&J! ? W/`z˨L޿JT/Ք$gg?rBnBPո>iՄgΟNENHzoL&RYg!m(=!ϱa5ZINKsӿֺB&tTBǀ5}5ѯ*f[Ɲ ~>k5Qm -tL%N;c ɻ|8[ ,"RYJHт3q̢}mxJ.6VX^z;NimT$.Z~oȪ--mKB_A`!3$񌕭x5 EqB-E>[S?g]"['Zm[]ë4wE8k1O]Ѳ*6a|J*^UBnvF ZDd{zπ|*=!q&bNNz>LPVK~ ծ<57ODR&}˜rگ5x=^2)YTE K/R<0 PD3Z_+ 5wejq䟣PbxY~Bb) a70J9f0.sEnbդ6-){Aۦ#)'qcqZ(0+s=g Zԗ v,uUc<á 5dT\D*"4/ 9(rUispۮsEV8 u %Ѷ/ Dž"9)Ggne#Dն@ӹE 8SJ}K)*ml8Iz=5j+G~LsL2"1ޏ 8 Hm@|P#6T$_nOk~{(lgPy``)*t:}<"¥`Ooi˕ iz' C`{,{$E/Teb}%nx<BR@zXȏ:#:Y[Ē#xG_yj-OdpZد>lc ]~ECvk ` QlnVp[-s$qB#j /BZ-zjl^`<s~q^*m?@0zB݈k4],hZ#n#[v~CU'zȶhƌ0Zӫ?k4ۅ͡:V.А,4&JJMVm{ 9?+A^%BnRwb14r /EE[^m.~xքz51|XО{5R`ZEE_\6 [@r1;H,ZKjlap!`t+ľ1Kq7usg7\=xz?QڋGKpcWNIpP]eF쀀HuV_COˆPV]خ=_ B=\$#]=ωQ~MQRP?:Q˅8%gMX#(~('4&%{ꘆ˕? KC>$Fs@=VNsw_U@=.N:ʖ*S@!Dv @m0AX6ɫҎg $p?^ O6aI49x#k<,J*\R[ :/u5Cqb Re4h|+e]D@V*il4ڄx# JO46ӤkW$2:G f}* Qe.ZUs >edÿU6(sԏ8x_^IC梉@J">6NIqLHhm!H{c-7j"Y3S=2? 2 H^*$k'! U;+neS U|0Z%o\18dB{$wQB j^D$HxxQqiZ,o NOCμ +RFPxWLK8epGp199;S-4b\]ʺM]yO Q*މ2-ÇG>uT6!},Ė\4Tn Pį[}ļkBMPu3}ID(2C~qv2:eM|`2s@4< N3d>\R;6H8_ AF͟R?cl,OoLOt㹠ZFei{%B#bg8͗>sVel4b <#F0uU&z7z/Uk֗^?x`8>^x`n5) -!U_[ޝӴE:WPNӁDb;EtD!NQRk m(aBv`;Ԟg- FI-0N~&tgp_?kzqŗ%ͯ,ؼWn~!TF:,77;Y^  3ejuf^[G*Yߺ 1ξ1{Ak OK?iiI-1qOb{C&UWcAT-E}g#. BjX݆i>R/B(>SE@WNĺUm,wf8vD"NGk(_7MnuqG 3dR%sG-&n $+{L䬁ah_*=0~zX! k#>#7 V(Mrs+)H֔'&} ]ź"'hN@)h\z^ {|u Ɩl=kNPlC@f 3~m6)NX-ەA /zxNsT&P:A%&Ջ6 u!LHjHE*Ӕh9(sSj1cðK1lr;|ʇE*ە>1l(1ȭU ]C!htJSw0B7`Yb8zI6܂e!Yd9ubx͔ۨünә~M'"glK1(",3T8{*te Go ``yf+`ɒCcH1YʊsgA=9{7+ߞrNn"TS,DȀ " ra#eBb&z+bNx u+ฯm6iu).w]ͳ~[?h^q2΍u8Z=yjd.*o:RPۿh5WaxlxHݗQ HPM4貫"T\ /{64ăR v3:">)Aiz߭B%yOG+iʕ)g-^#L {Չ#hj>aCL/iaJkmif9tt%vZɱ]C3nd髥tVVصK[^XċC q?]9ܮJt5oHު[E9ZiPrƠ}3S","w +i}?n'mUp~QԽ+@vc{fV5QHe#OE?Xf?x>~n#816B9_h 5#upId)h^0emwOвwSe }Cz"R``.·Va38gi24}ͳ3U0X9F eQ_x.FGЮyM˷wVՄ#ؘ!Q&rwn^^KE:H\Yx^.pN<%Nۣ?4)*7 G;ͣ% 85ɠ=EW5GiLZe[\BcnW,Jbvd+n#^GAb\Q3 ·_J%Z9D>}6嘙Pn06iaGrBT{6sĞrU,͎;WWә^NA5 r"H+-Is،V{Vju]iיe7#WFU"rڹbcmOz;vdg 'lL+4ΰ\_à( {=zrU?DT!CrR=Fs]o_;Jw^DUVXÉDƞ" _?d F; lȳr0@xSlQsh.W ߐ;ĕ{`)#5B w%A{]k\UfW!l5pU(;EdC#8q̓U nE79zmo|B\Espcxk;ڬ2aDS.LCOL>9i 4 Ơ2( S)kG+,2r,xhD`%]vf]d)dN1򠰆p` /$|9OVqůÌML.QjZאk[:c =(tɓ=YDrӇg]6"KzeRWCъquWF`L9 NSS~@!17o;Bx^ %d@2Z;iͩ\݃_L5BACVďCRǾ};YTp~H ^ v+ 10ŋwQQb|:RE鹀iOGk~}=V [_rk^EW2(XpkWYTXKH/bib'Uw ?3+c3zv?us9eY<e&+K6~cӗ:s{!8"̑kv 7|5j-J>wŋPGa^N],vpfl^yliy@j u^@6g-JjވޙZ{'1'(':W\܇; JI w i &qsqw41Y}KRwBKЮ }\qORX3;ۓ<#\],#C\N ; }6kxChNf h8Z_?W}|$D@/-%xHWuM pʛpjSKCo _l"V5ibn$<4+F'Cy~څ 12<NSOa؝M }| U`I_6~ВuCID/ o^Cʴ^R  slr@: J*.!to_9(72"F\}x/`ft7k-n:<7 Y؁,WIG;}6(<*h^T%͘ ^<í)N֦zj}x/󕭋x$!mLO&q& ($`;$mEN<8fW'0.0=iq1_0/;] E@UJ;c8&~ON7<[JK."nCq\\*77[*p*Q̅Bbwf+e=bu"8omFJe)>ݻ [UQFhMP|vuq!93 DP@aM)fnGC4$&yŎ7`:94L[ ;EUʎ5/ r )џ/gKΤKF䃲bAwH`W5j.E&KbV/Hsx{gw 6t|mӐc,شm7‘V]pLMɦ@d"3AnhuD]-s[V;(ԀCb Mʒ(C!U,oR]V 8:cS6+_`k mV1{ |^h,B7(,LKVԸZohJBR/#F$4ŦyL1xT:ﵡ9ŘjQ|׏_sImᛩ/p"jF|d'3AX,D+*]z w @g.I5Udh7+JPkʢSP!]/H N0SXqUوSe->l:l͇q^/ uT$c!y=A]]SRP#1!K3R x P{$aE7 12Sb&8yQ(_}[Aws|0hc*rql?hR N/' Wyh./d%H0 6S/UrʚOSjJ RL"6BڋqMڷAo[S:񆯐ު7Y !dAKe="SOǪh۔pl+}Ыʐ¡ ^e@#B8JBԙ"!<,UfavF?TE7DtkU{+t@HI!cE~B;߰yOU{~rDcffU`R^57XZ Qc2/s,Z%c[w~MaACZ즛6Jcz:z'jhM/G\[pEhB}hfd^ S9Ύl=Ez8 'T(ݕ3}{ىniY [N; D)$Ӻi0"e)5Rpah[v@Va#Zmė)!:5`ؿbۨ'1?6c`+*0D'wte~jRQ @7/RowPǷ\0=q-may(yvjnTTs VbqwY8y?Or+l˃|ŨS_0Yk+VomE&A brFN]ǭ&=soXz)U~vd#{Mh>7ralp%6S"f梐;\cDERs6\Ӵ~uepT=NVapyA,1IJ2<(y.2V,/ڧ f[ WȑX'8ic”$%tl3G;&Q(=^E4CAN:~"dbJca088}uMl0'2$ ?cQ9,)<}d9.@l|ZQܪ vp0E} 5=Λ2^Wx)(*wX )޹rPNY]yO<=Fҁb=HC Tz{)\q\1Lɵ - n<bT8Ug:SQWT _~z#%ܥY0tt3J>X͎nweV H! ˞p~֛AߌX[~FK<{aIg>>1[k?򰽙š~rqJBu4]y}c!'O󀇍jbFk)t)wޓ;H .".75XSIƌyg >EJGX۽\ KFo qG e_d78L~X&j1#T;{H Z6;oB핶{w lWӾBqtO(Ry gU7ndUtXh[v?sA9^).?Z aޒ;j`.$ߛ]m9~g}cT6 S8ߤYZݘh`}2ma♥mT5guga=ۍjehc-@S]GH̙|O- - ԙOZ⥥y]a ҏr[2O V֟\9壷ɝ努nL#[@^K6/%aDϫ΍An$P⟠:O6́]De,<#{]w-RxqטDqM-p^7B!L 'PㇵHwZ;˜ܳyȩ<~QY ?Âg01+ekOPW2[w"H%I6J$bmDjsF~ >F=^l~闟@PZ]O#7 HLzu3azQ5gCdq%IXK뇏o}%dAUj^ !ueFOYShݴT x㏍Xخz(2*Gtb;mp kZnD1~'"قXyעl);v"_0Xkx27ʊ)lH6U{ORB| ?)/}b΁TicE&fϮaP"?_^75Q bW^ɂ $mA0gάĴsI)EɸG˯c[m;FB ё6E:?U;cf?, Mu4Ђ̘ w%<<fL ܚr }q`$`pdz}iQ`AۆL_ЫuZv5E>Zd'lg~5]os{*Ou'wTtɡ%WM;]Ƨ-{1Qyd8z͜hQ089y7C&> ?X^L~7c R}z*b2#nOvȾ[zrؒ2dKC0\FYo6![0J. ABgADh0B{.\I[Q51o;N蜆J8n #z"ZOjN&MO.$OC.[El,Z`ū#;; ,8,((a@P":[&Z4Z9F4'y5E/6 "^cgVbb,x+7TOSbݭmT7a]N$K ~8ƪ\O t ,&F}ϗD@([; ̈́DIr2tZ?ErrSphI!4MC#lRf@+0cg k-ZVj8zŀJ7{i[f$>^W=_PjK f - o.ڲC"FHRXÆ!ajw' b(?J/ef"kJ05[1\!{"w "?OnCt󮜚 Kr!ٌ#ݓ~l* c}]*t'$-"bM@F/zP()/b~ Ԑ61)6 AT5bfJhZ9;)}xkPҚ&I!FozAyd"y đrnߞNNʬCC_TA~0ah;-zCyvIj4s#nAu3I6I5PRY59sڛ"SbəRdbFy^"rTՁFQ W͖7b؂N+\ >%ߍQ)oʖs9 \GX[@tS>j()f@Gp)h }&ogK~}Ѵ4MHC}"3{v>N gW!G$!O- iE} IUtS |%\Y=Mjt2;GʯAt;YѲ%%̧BU}yLivTpW$`l)=N]2BEPgteGZx'j~{@}k SILrq8W04,z/|}?(ZMwy\EHE>tnؕso2B5>uS>ET2P.J7ЂkBef}.09=e "$m OrS%[0y& q=U¬46le? pWҫ l`ipXtq[RKIa?κGt(ى}fG9%>'nukdWr/!58ހv-3mm'tn ee{U|_?=Sӷs-QB*9YqV¸F(C@|VdwT13fΞWD *{͚}{>+SRз1 #8בB˳C ,:@!s݀EB#(O:ȴ;?|7bijԺ||q"E+MK+>iJ dŪ$(e5K-I9wYp1"jkǹU' Ac3q0^ +,iؔZ/{0Lj%U"}oPEףM[!&dPhYx}zsK3}@4-ZNDa4{r*׵9Pфnп{X$XV8GъvjW;dTҠg"8 ,q1]/k.Z% pt|/~إK^/(8~-[yC3N#(udJD/'N_^ .'ش4[d f˧QsWy<R2Jx^<ӚUi&c0ȚQш%M(XNdž+!ɯ+`v0aH37 6rp!6Blb0֌n',<b…c tD{xff;d;+3(? W!PiC@d"ÿ_/o𫛠˴yaz@T<2 `tEiNpadӜt!OB%0 ԆUZ0QV1w JS16rI }!9Sa; jBpL`AJi/? <>O56@7`NJ^ b_ Tș? NNI?;^n9 lDV%ݗŧH4v+#>b0+E BZ/h(EjE8 ?g7 ' (՘>ej Y(CN(U<//o}F"K))_ ^5\](|ȭ8m|FgI?`5xDIX\/a,%s}t${Sۈpq8, J+.aOg _Ji]^pf,vhfZA%`Y]:G(\܁8!ΔڽR"rZTsS #!i#[ &?$Ǜ ovArZPIGjl\AH1[JF霑R3RܸlT,*<> ~݈,Z'W7لXB^\ixmr6TIi*ɉ)[|&t+\ܠ8Z Cg:0=ݨ9Fv5RwZ*2ZITվVͪpr}ND'}Ym%<#t 5jo?AV;&f{vZÞG:r櫍4}qa_LS򠾵"iҼE D!B_\z~HNWL2!݌D3/}N/jMihTմ&GYATdêP:IaU 7%;w\y[84!d؜|2ph[ԫ2=#𴫨OZ`*+.b? +z\=E#Vٔ>l74?։zJ&Ta#A/g0C! p1|>&ǎ5O+IxAunMo'm Wl,9Hn& aͶLO,rԝ*2#:66rOBA[?[('.cAv аJ7ET%YZ)l"L*;#ˀU\Ru[QvTv6f3>H l반,7U,]̺a+%>Ud—X~.leк'E/ư%R(E8 {=+M|jAZ CTӊMTZuƍ`Xvvs՛4 L~|`J&j%ƚE>kg_ /{=r.J"4ӷlW`9T6ϲ]O6ȭ{ɠ°6 v୊ b\ṉr*ф>7K%RIύqԉ"-`b{Bi%'+^-O3i8h˳bq8N@?t\[7l0/m%UkB"g9i< #NIm ۇkB*O[ a?M =(x_h 15ZTD՝Lͱu!A?5wZGR/_(r(ct}g+V~4\:ܫb{Ynظ8qNȓ (4iz|kA(p_;j_8F?=HI7ww#D׫UvG  F $9iqYULկе:L?iVO p1M9]b8ӳzG^cТ\l rٝE, ^nem [v }s+o[!76hƞm;b"}A|Y| fCx";E%\jIFco)(\Z2%(.D@Y݃Oؐ^iWe鼷f ĈYQLrGr۽h&D=A$/o"J*f\z\ǯ7oj77 U4r>mVo>0lrū2n-_` gdPifyޒͅ=b?JTA㯩#W32z?`+KWװாbG0V/u ׄ 0Sr}qq1AG E@@@Q MosR|`HAjXt7/"`e AMTe@m?mǵ3fH]+yu,-d'#VdKa$lMt`洌I mȻ 9 e(zS:&Y-wͤ*gk񮮬AtUۯ&﹌xŀ(:02LCc4z?ݟh9r y裯 V 2d/?һaGۙgQ\k1gjy$ߢ@OB3#ih-['/]PyV3gsބ2M۱ZpczmBq`^z6e{?lfPɜT#[-c@D`&UrtV<:}Ǝ}|{}rAZ@7~zTӺe{-.9ggN7)1h/Sc%f󟽷i%o%dYaFA<,`^2ߪK\:늹,,Agq+PGUr[=T'*ezt>$XUj!fY5ټ;0eW0CE|=Ї [!裡c'^vM3AXۉ~[| BڵJ||?c{08=R. 9sh!t>YÎY{ҷarfV6őг7 a\fVPNveHd&+ |E\(% /_= bYD\m{,ZȕXJ3\6Q@\Y×HtՔ9NJ2l1,{S0K,~E')6s-^\]3 >ϐ*1!' hHMHϽH5l_@m:nYfi,r4.3fӻ`jWZ ?ȺU-1@ۯ x; ªV7w)G"g0?|7S;ſzj40oy<sQM[Q^ՀyW=-f4k3i^ 4)ׅEn8Geiuܓ#skNXʉ6Yu!-tL̔bA' 82S՚[9 d2=ֲi/~|R[>#!,jh6.}sО1(1ԫ>)] U>hA&7Pko46z3|2MK`7{5mf=y#$E Fj`]*^qN>et`&lRRl`@UʕaDtLJ8Ў{ `l.+| S qe;Í:8ya{J_gxݺvAvr>߾ 1 \Q/&]l?cգ` {FQnC&t=qU$ygE4'VZoK BFsXPԘ>XRΖ{^֤8!ԭD'4Cyw&1A*<bN]1$!ޗE>cw[ƪ+FIܓAQhP$xՏG}X q#8Q[CUދN^4kuJ3xlސWg+&m|pO Β N lDToHxNތO/J8X݆Kvk0CĠg`E+^"1&Yidǖck^w36[P4Z|KY76٘:xj_KL7>?7I܉_H(,|-,MZIWJm6|:lOVHS kiC<:,ZIMO8g A,o&32U ,z_>*:Σjo,RJ3ˠ۬#x<9!Y󖄢.,/bہA]~E},#Hu,W L,HhiMu{+[ S \$o V M=L(qhU])gmdGD2=I'_|+8I*7+>S1'BݍSŗ{d@UjK_Xxƺ7u^Qf]VDPLd)1⢜ /L/ -TTu:[($UkTxCْKT.7}6b~'"v5RƔk~hۓ2s,T7/ib6gc(rJ 0]Bk|e[}64bG(g Y6X|晌^&UT?uw_, PQ"c,Eͱu͢#aKNXysyy|?#@[q*1b~ϵp\$}_ҜQl\cR,oVȩB/T _S}{&3g5R>9%\ EtNmW)^K!9[y3nGI(a}:q^~8Wېd!ĩ3bhML׽xAZQ[U$K\d'RP7  >g,Uͻ>tSd9%,2O)1GyĐ Qx|Qf}5g=ZjWPnon$h^Sg]d~u?vd,1eKE^ 4+a:I,Y7b, o`d0h_پ226NE8("ܒ:+&[*` lm$ Dxt["yzgѐ'?2/g N?DOatw?CIj@֙T;k3M/Lu&Xx v.j(Ly}9maU#ƒi~\~O#qG`I`j`ie']= -tnY8EG?{xzaӡ\JRnVNP מ`hzВ7r v6*EE/T,M>Lᅓ'փJ]K DKVP -hi̲U+ SecmJ[ i4mՀ&u&yo@naBF J"iw9ED6N[i'F?ߔ.N,hEJyZqٕ_>EQYjju¿|3A9iڸ'U6[&j5B9.%=8sⱙka~|4JuKwYbF:X40Qz1?86sp󁻄Y4vqh1\fϕN t?h`v22*rnCbPps`pAFân!69F@L5"`Hn0 "2)c<(odZ%B‡/h=u_ w馓"F;Ph9b0AmtXw0b9A0)H>Kk-W*1k,ۤVjQ)8rEs(XzayҘFӣC(yru15 &t^Otv|`WmxWt(RAe$L'3./$?<= 3[=R*ж&ƨ!̈^mz $(vM]RWf_k"K}rp`YR^v ߃GC3w 7vA_+DKZ0, Mb,j]_Ȃ'o-`hnRO}mIn{sM1dT8{D.vui93; Da3Wn.BC|z >g4`626*Q#A L LINN.<;dЉ 9;Noj$_*STMQEN$,T\TVZ=r}klnKP̛/F:~o{Wi"u.`FˣHc+;LZ~@($ 9tN"4zdp֑$ks9;G7{aJ=AIQ#O~sVkm5QNag8?~I  A-a=FO9ȳ1bT X$AӥWe4{M.n5 4د$F~wD9mCnK SōuSyobau&JNce aO1^p*\/Ҩ'E8Z,wHyꮫL(?"uP67-k4 Uz# aoG_Q]zKDOD}(5L ,gr6N>~2D3F~ݎO6xh "'VPH>[,\8D# ~=i2]}+\Z4lS|P!FF˛ݚM=,TZë}L/ku|} ^F5:9!o\3n4v•Hm/P !=PKS9RENf3˰x QQ^L@x ^. VbC<پjɕć0kvFdiZKc%bQ (>P-^'!tfq  t T#k*S*p7pT?vl:iwahc teNb] `e2I/5 \s;!)sNJAH F!N8_Vїu8 EP7B o۰}tVؼZ <<^]ŽS[ЎͿږ9S;]/ m1dAyKhXb ehpl Z$B:4?ןog;i+{(}>rMr((o:[0ATq*4 `ٌM|߮`+6X_4yԀdPԐQܴB5l#Zۛ\J,5s{[ e{}_-N |Vh-?XZF6f13u vi){y< JN:`E+GvhG0zz)!cDAG$Ģ!ޖR~˩-F?9ZQ%tC1{kq0q.ANUTl;f%IQi$Y6+nXb-XUݙCS)N AWYԘxme⬨"]N0AO0skJEhul, nJk8Njpx w\Z2:̅!w<Ӭ<<[3MXT~tD ;Y #*U--Q-0Ac-_FwNCYBb\3Q$ƺ9Pq5KcU>3~$>DپuqNEߍ{Ӂs,4WVτ'4/ ȵ 牊+9Թ_E0JlU#2)A꒘¿pX3"m$N9GPw$fϑb> H a~k7[[gDT{9{yUArpArIؾ ^thKh`&tI^P[l3WC7kڵ@UZoCo(Gy:y1$)Y\[h/a3NSJawwC?C3l6sS;%ozps``>mI`]Єx3 8Gͪ 70Y rmd8͖Mƛ=\wMY|Jˍѫ}0y^ }[Y4· w3im־ ۽Mu:Q՟r%!]#wXmdP@xwh :II\Sd(7=DŽt 9Yq3! &O3Xy Xe!=L+uSWk_{0+MT$H'7N⎦\ UJ wkxAZ$ۆ'DŻ&c5%Ć3 qle2 >^ ӯӻͱ (^esoQf~5T+z;w(<5%Vkb T0nn@Iw{?4ɭIⵅ,Qe`ay}ќ*8;L/bj*b=t)ֲ S^iw;^MAQW)r ;PWkc`UخlD]4?+0k?\aGNuK%j-F0n<^U $yM򟋁 j2ȓiXZ/u{- Oek?m8(b-:]1mErXsw7cOjێqbEП5>#sA^g_gׯe.)M&z(BvXPx̞펃85췢D&x|(%bbu[ c? b*7&o>p*oձ!fQ9'ҟ;O0g-X DP8`,9qT ӫ@IxARHb^ bRlI0ag=gpjuou#hrCA+OyVL'w(} r;^KD,R9N2JnJBq}kg"2NJ5XV֚AM$D:&g[=lSمP)ySo^5fB䳟XS3MG2!3*r8k]^6H!xtG2MSmu& M=Zk 8D'c[pCţ8Xepc'{'^3j$MP)kه,+-3k-k;Y nM*n?$B23ڝ <Ӄs|@C>4KXM)`hoFqD\=,[cƪʿ eqPם(q_Czek>WD&cM!+-([!NL`OE).9L 5/ih]w<^`)r 2X3T9|nz[|ކE#ߓ Q"L !%*kd.bJM1'jԱ%GGyw/wھ)}yPokbfc6(E r+G(&EL%xp9I dׯxA2Wͫh9 Z7^J}[p{2r~AT2yHܙ{u~}Y͘<zA1E^5rFfҊB9TҾCO)gVb'rF@޶(wS\%ςwX+p<:(r5n`< [|\ȻuX/!:x Fgkl(G}gі.w\Vu"nq@ Z3M}0Be ȴ(M„U>>Rk-hQs>^HXtb7Xw ۶tʍo7bܞw4ҚtPf3{oR.zkJprh0 ~vR )/7~!Û9r n.}yqx[eaٓ*i.c?0A?׹mXU}|~_"TքBm$ux8Tjr+,&LOP(QVFij!"hYtRw6.zTBfÂ!baN '9s{3åSEnk~_3!Jeߦ$3.^(jjdmi$>`;~޸mLYb rI՚E~5oeCjeWɔGCictisv~3ZM‚\ $ ݥSP.ւ̟R,@ĝ "\+F*Q\yUX s ?۞uY隩D2J ؉~JRy`!;J9̂wnD^[9ِl>iP/+ɄEuGUO<ݜX6UɁx RNňtz@_5To XٍeF_['֤Δ5k.K"r`PqL\31I>m6l='iUeB𫑴>_ymۨ`LtW%V>uF2dE%:}9)C@xw5 ']%JǓoHK7&3N_O?9[,CbRLk7x\A01J2B vVE`VLuF %g$'P6J{J*;.ڇ0_UiҸ#t vzĆ}2Om͒Z)s3v}2phY/v!>a>9H5`ůiv$ph>ޥ-W- F]h F3+; \y [GDkC.zbΛ|~^!DD3/OTF{4{BW*%SXAOB^jvO7W# me_|Vj7<&hJu}e&n uJzo4ѱ?H3ȹ_o9 G~{~;Lf& 'ģF7nhd~J=Zܜ`)mfXrN) >Emʃ Uu@GQ*lD_a N b.-c.u(3w%-功ڑ sL;TK04T}Hf` ZLo$J toG;\{ x&u}%ȋ 'w T}6chkVڍql˦l r?mݒfSe_8#|Rv2f*}%^