libtcmu2-1.5.4-150400.3.3.1 >  A ddp9| `D8io,.iVBo c+6e >LQ 9~m?b,}-oF˽)_v{dҨbG_{3}aae9b6638336aced28f6f26d2af86dc0353df959c22992c066312df97871047b9e941680516b49b5de69063eec7af977efc417380ddp9|f R+dҞnc 玴8##N٬JWߩ%@sѩQ.t]}`D7r U8cŐ-q#!zx`À*~EP$0$Y,pO: Oj%\F# \P0Ԅ3 \:;&4ƈObJ|r1n+% X/Cf4(Y#@A>j'2c4,E} q/ C(EBdAOq讀 W_,RD>p@F8?F(d   @ &,4@ F L X   H(89D:>B@BFBGBHBIBXBYC\C0]C<^CcbCocDdDeDfDlDuDvDwEXxEdyEpzEEEEF$Clibtcmu21.5.4150400.3.3.1Runtime libraries for tcmu-runnerThis package contains the runtime libraries for tcmu-runner.dcgoat22SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Librarieshttps://github.com/open-iscsi/tcmu-runnerlinuxx86_64 dcdcdcac934f7e7050a3df57b74182f3b46a8112248435a4d1d9fe13ee8a61e2f03f7clibtcmu.so.2libtcmu.so.2.2rootrootrootrootrootroottcmu-runner-1.5.4-150400.3.3.1.src.rpmlibtcmu.so.2()(64bit)libtcmu2libtcmu2(x86-64)@@@@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)libgio-2.0.so.0()(64bit)libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)libnl-3.so.200()(64bit)libnl-3.so.200(libnl_3)(64bit)libnl-3.so.200(libnl_3_2_27)(64bit)libnl-genl-3.so.200()(64bit)libnl-genl-3.so.200(libnl_3)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.12)(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libpthread.so.0(GLIBC_2.3.3)(64bit)libtcmalloc.so.4()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3db'E@aI@`J@_^,^ @]@\9\@[@Z}@YX@Y@Yp@Yp@Y@YR@YR@YR@WW@WE@WI@W+5lduncan@suse.comddiss@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comddiss@suse.comddiss@suse.comopensuse-packaging@opensuse.orgddiss@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comddiss@suse.comddiss@suse.comddiss@suse.comjengelh@inai.delduncan@suse.comjengelh@inai.delduncan@suse.comlduncan@suse.com- Remove patch that modified our handler path, since the RPM macros seem to be correct now (bsc#1212636), removing: * tcmu-runner-remove-handler-path-install-prefix.patch- fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed; (bsc#1196787).- Updated to latest upstream (jsc#SLE-17360). Added file: * tcmu-runner-updates-since-v1.5.4.xz with latest upstream changes since v1.5.4: * rbd: switch strtok to strtok_r * tcmur_device: rename the state_lock to rdev_lock * tcmur_device: rename lock to cmds_list_lock * rbd: fix and add more debug logs * rbd: fix the possible warning of incorrect return value type * rbd: remove the reduntant logs * rbd: fix memory leak when fails to get the address * Revert "Create codeql-analysis.yml" * rbd: fix use-after-free of addr * Create codeql-analysis.yml * main: fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed * remove pthread_getname_np calls * implicitly cast pthread_t to long unsigned int * add missing pthread.h include * replace assert_perror with assert * cast time_t to intmax_t when printing * spec: make dist tag optional (#659) * install-dep.sh: do not install multiple packages in one single line (#657) * tcmu_read_config() check read() return value. (#656) And added these changes in v1.5.4 from v1.5.3: * Bump version to 1.5.4 (#652) * handler: add writesame/caw hooks support * tcmur: fall back to writesame without unmap if not aligned * tcmur: clean up the code * rbd: fix the unmap align and granularity size * rbd: use the new format of the daemon name * file_zbc: Remove unnecessary zone boundary check- Update to version 1.5.3: * tcmur: error if both src/dst_dev are unset after CSCD parsing * tcmur: don't assume two XCOPY CSCDs * tcmur: fail XCOPY requests with inline data * tcmur: fail cross-device XCOPY requests * scsi: minor simplification of inquiry if/else logic * Add supported vpd pages to zbc vpd pages * lock: do not try to acquire the lock for read fops * rbd: remove all the stale blacklist entries when opening devices * tcmu-runner: explicitly release the g_runner_handlers resources * glfs: add init/destroy support to fix memory leak * tcmur: add the init/destroy support in struct tcmur_handler * CMakeList.txt: fix the style and switch tabes to white spaces * worker: do not set thread name in the callback fn * target: convert recovery thread to work helpers * rbd: add report event support * runner: add handler error reporting cb * runner: convert alua code to work helpers * runner: add thread helpers * rbd: fix formatting * tcmur_device: remove unused recovery_thread member * rbd: fix logging when client is blacklisted * glfs: allow to load the device when the sizes disagree * Fix possible cdb printing overflow * libtcmu_log: Set tcmu_logbuf before log thread is created * extra/install_dep.sh: Add support for SUSE * glfs: disable the fencing when it is not support * Simplify tcmu_set_thread_name * extra script: Fix install_dep.sh * logger: add pthread name * tcmu-runner: set a name for each pthread * libtcmu: remove stale fns declaration * glfs: check EOF for read * Add missing libpthread * logger: correct the log message for log dir path * logger: fix posible crash when loging to file * Add tcmu_dev_get_memory_info() and split+rename device_add(). * Add support for Debian * glfs: add lock support * alua: make the lock done as INFO message- Fix for security advisory CVE-2020-28374; (bsc#1180676).- Fixed i586 compilation complaint in tcmur_cmd_handler.c, adding: * tcmu-runner-fix-i586-size_t-error.patch (which came from David Disseldorp). Also, added requirement for libnl3-devel version that supports signed network functions, such as nla_put_s32().- Update to version 1.5.2: * Bump version to 1.5.2 * Fix man unmap len reporting * Bump version to 1.5.1. * spec: fix build error * Bump version to 1.5.0. * Disable explicit alua support. * Don't install headers. * Add missing whatis entry for manpage * Add link to tcmu-runner manpage from tcmu-runner.service * Fix spelling s/Igoring/Ignoring/ * Fix spelling s/reseting/resetting/ * darray.h: avoid UB when decrementing zero pointer * Log timed out commands * lib/runner: Add helpers to convert lbas and bytes * Check for optional handler callouts * Drop unused tcmulib_cmd code * Convert runner handlers and core code to tcmur_cmd * Add tcmur-runner cmd struct * Prep for separating runner fields from tcmulib_cmd * tcmu-runner: simplify format unit io limit check * Cleanup runner callout definitions * runner: unbind aio code from tcmulib_cmd * Set write_verify cbks in write_verify_init * Set handle_caw_read_cbk in caw_init_readcmd * Add tcmu-runner cmd completion function * runner: fix up callout return info * rename tcmur tcmulib command completion function * libtcmu: Allow handlers to allocate n bytes with each command * tcmur: remove useless code * alua: fix pthread attr destroy * tcmur: fix free of xcopy parse * fbo: fix mutex destroy * reconfig_device: add request cfg type to logs * api: tcmu_cdb_print_info convert err log to debug * tcmu: reconfig_device convert err log to debug * tcmu: link libtcmalloc with libtcmu and handlers * runner: fix crash during compound command execution * cmake: set '-fno-builtin-XYZ' options when tcmalloc is used * configfs: fix index out of bounds * cmake: add a minor .so version number to libtcmu * spec: track backuped files * spec: update the spec file to fix the build error * spec: pass the tcmalloc option to cmake command * spec: switch to use rpm conditional switches * extra: add gperftools-devel to install_dep script * Optionally link against tcmalloc for improved small IO performance * libtcmu_time: void header file include muti-times * glfs: update the glfs logdir * README: update to add uninstall * lockfile: switch to use /run/tcmu.lock * logrotate: fix duplicate log entry error * Validate input for tcmu_log_dir_check() * Fix parameter for tcmu_setup_log() * Follow coding style, move leading brace * Add method to query whether OOOC is supported * glfs: fix build error for GFAPI version check * glfs: add gfapi version check * Fix unmap to handle refcount being 0 * fix typo in code * rpm: remove %defattr * rpm: remove %clean section * rpm: use valid short name licenses in License field * configfs: clean up the code * Fix pthread error ret * rbd: fix the error ret in tcmu_rbd_unlock * Drop sense arg from tcmu_explicit_transition * libtcmu: setup_netlink maybe failure but can't sensed * Drop is_sync arg from tcmu_acquire_dev_lock * Allow some commands to run while taking lock * Drop in_lock_thread from __tcmu_reopen_dev * Fix pthread error handling * Check if device is opened before calling handler * main: load_our_module maybe failure but can't sensed * tcmu: clean up the code * spec: fix building error * logrotate: do not overwrite the exist config file * logrotate: fix the install cmake file * README: update and add the make_runnerrpm.sh info * Fix 80 col formatting in def_log_path setup * format-security: fix snprintf usage * config: clean up the code * Drop cfg path variable * Switch some inotify messages from info to debug. * libtcmu: carve-out library packages separately * logger: skip resetting options if they match with current * load_config: retry opening conf-file if the initial attempt fail * cmake_install: backup old tcmu.conf version as tcmu.conf.old * doc: update readme * daemon: log start/exit msgs with crit level * dyn-logger-config: honor the precedence * main: organize the cleanup sequence * config: deprecate tcmu_parse_config * logger-init: honor the defaults when config key:value pair is commented * config: cleanup few allocations and naming * inotify: watch the directory not just file * logger: check for -1 return value on open * Call block/reset nl directly * Call block/reset dev directly * Fix up configfs file not found error message * Move tcmu_get_runner_handler * Build zbc/fbo with scsi.c * Remove daemon priv hack * Sync lbtmcu cmd and misc naming * Sync libtcmu dev get/set naming * Rename dev/nl block/reset cfgfs functions * Rename tcmu_get_wwn to tcmu_cfgfs_dev_get_wwn * Use uin32_t for cfgfs action values * Rename tcmu_cfgfs_dev_get_attr to tcmu_cfgfs_dev_get_attr_int * Drop tcmu_get_dev_size * Drop tcmu_set_dev_size * Rename tcmu_set_control to match cfgfs lib functions * Use uin32_t instead of unsigned long for cfgfs lib function * cfgfs: Add tcmu_cfgfs prefix to cfgfs lib functions * lib: Update tcmulib_command_complete comments * Partial revert of "libtcmu: do not install headers and drop libtcmu stable API" * Revert "build: drop versionless libtcmu.so symlink" * libtcmu: move tcmu_get_runner_handler into scsi.c * libtcmu: move SCSI helpers out of libtcmu * libtcmu: declare tcmu_cancel_thread in libtcmu_common.h * libtcmu_log: get subtype from tcmulib_handler * libtcmu_priv.h: drop unnecessary header files * libtcmu: explicitly include tcmu-runner.h where necessary * cmake: drop rsyslog build time check * spec: remove changelog * cmake: add rsyslog to dependencies list * spec: add rsyslog to requires list * systemd: start rsyslog.service before tcmu-runner.service * config: do not update the logdir when it's commented in conf * logger: add critical log level support * libtcmu: remove useless parameter in remove_device * spec-file: further changes to take options to ignore dependencies * logrotate: add logrotate support for tcmu-runner-glfs.log * tcmur: fix the unmap logging format * glfs: add writesame support * api: add zeroed iov check support * tcmu: Fix CMake to install file_optical * tcmu:fix extra backslash * tcmu-runner.spec: fix the rpm build errors * tcmu: Simplify command completion * file_zbc: optionally build zbc handler * file_zbc: fixed compile error under ppc64le * Enable explicit alua support. This replaced tcmu-runner-1.4.0.tar.xz with tcmu-runner-1.5.2.tar.xz, and removed two patches that are already in 1.5.2 so no longer needed: * file_zbc-fixed-compile-error-under-ppc64le.patch * file_zbc-optionally-build-zbc-handler.patch- Move tcmu.conf into main package; (bsc#1138443)- Add explicit libtcmu package dependency to avoid incorrect upstream .so versioning; (bsc#1135815)- Rename openSUSE zbc patches: + file_zbc-fixed-compile-error-under-ppc64le -> file_zbc-fixed-compile-error-under-ppc64le.patch + file_zbc-optionally-build-zbc-handler -> file_zbc-optionally-build-zbc-handler.patch- Update to version 1.4.0: * tcmu-runner: bump version to 1.4.0 * Disable explicit alua support. * logger: notification on changing the options for dynamic reloading * logger: update .gitignore for logrotate.conf_install.cmake * logger: fix the return value * Sync sig handler naming. * Add logrotate support * Move starting log message. * Allow log file restart from SIGHUP * Simplify log outputs Replacing tcmu-runner-1.3.0.tar.gz with tcmu-runner-1.4.0.tar.xz, updating the SPEC file, and removing patches: * api-avoid-compiler-Werror-return-type-failures.patch * build-drop-versionless-libtcmu.so-symlink.patch * tcmu-runner-remove-uio-include-for-iovec.patch * support custom cephx credentials; (bsc#1135369)- Update to version 1.3.0; (fate#322524) + Improved Ceph RBD integration + Support XCOPY copy-offload commands + Support COMPARE_AND_WRITE, with Ceph OSD request mapping + Asynchronous I/O improvements and bug fixes - Remove a number of downstream patches now carried upstream: + glfs-discard-glfs_check_config + fixed-local-dos-when-unregisterhandler-was-called-for-a-not-existing-handler + only-allow-dynamic-unregisterhandler-for-external-handlers-thereby-fixing-dos + fixed-a-number-of-memory-leaks-with-deregistering-of-dbus-handlers + removed-all-check_config-callback-implementations-to-avoid-security-issues + tcmu-runner-add-local-target_core_user-h - Remove development packages (bsc#1080619) + API discontinued upstream - Add fix for -Werror-return-type failures: + api-avoid-compiler-Werror-return-type-failures.patch - Add fix for library versioning: + build-drop-versionless-libtcmu.so-symlink.patch- Add two patches: make target_core_user.h local, to insulate tcmu-runner from kernel version/data structure/naming changes, and add include of to that file, to fix "stuct iovec" not defined issue (bsc#1058303), adding patches: * tcmu-runner-add-local-target_core_user-h * tcmu-runner-remove-uio-include-for-iovec.patch The latter patch is added only for SUSE version >= 13.3, since it is only needed there.- Remove install prefix from beginning of install libdir when setting tcmu-runner plugin path (bsc#1052795), adding SUSE-specific patch: * tcmu-runner-remove-handler-path-install-prefix.patch- One more update from Security Audit, adding one more patch: - removed-all-check_config-callback-implementations-to-avoid-security-issues (bsc#1049491)- Updates based on Security Audit, adding 4 patches: * glfs-discard-glfs_check_config (bsc#1049485) * fixed-local-dos-when-unregisterhandler-was-called-for-a-not-existing-handler (bsc#1049488) * only-allow-dynamic-unregisterhandler-for-external-handlers-thereby-fixing-dos (bsc#1049489) * fixed-a-number-of-memory-leaks-with-deregistering-of-dbus-handlers (bsc#1049490)- Make Ceph RBD handler aarch64 and x86-64 only for now + librbd isn't yet available for all platforms- Build the Ceph RBD handler and package separately; (fate#322524). - Split the GlusterFS handler into a separate package + avoid adding an unnecessary dependencies to tcmu-runner core- Explicitly disable the GlusterFS handler for SLE builds.- Update to upstream version 1.2.0; (bsc#1038712). + Add remove devices when tcmulib teardown + fix builds done outside of source directory + free tcmu_device after dev->fd is closed + fix Read_Capacity_16 + detect INQURY response truncation + fix incorrect memcpy length + fix inquiry buffer length calculations + add tcmu.conf for log level configuration - Remove upstreamed fixes: + tcmu-runner-include-falloc-in-qcow.patch + tcmu-runner-let-cmake-install-man-page.patch + tcmu-runner-Use-CMake-FULL-library-directory-for-SOs.patch + include-tcmu-runner-h-in-install.patch- rename libtcmu1-devel to libtcmu-devel - drop unnecessary %oname indirect macro- Updated SPEC file to break library into separate packages - Install tcmu-runner.h, adding: * include-tcmu-runner-h-in-install.patch- Drop silly buildrequires on libgfapi0/libglib-2_0-0. Abolish old macros.- Updated SPEC file to install LICENSE file (bsc#982130)- Created from upstream version 1.0.4/sbin/ldconfig/sbin/ldconfiggoat22 16901990321.5.4-150400.3.3.11.5.4-150400.3.3.1libtcmu.solibtcmu.so.2libtcmu.so.2.2/usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:29913/SUSE_SLE-15-SP4_Update/2b191f54985400a7c1767c468f9f1efc-tcmu-runner.SUSE_SLE-15-SP4_Updatecpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f503ed7c13ce51ffa6b30e392c217054ec681aa8, strippedPRRRRRRRRRRRRR R RR R R RRRdu\y ++'rutf-81009bc7c0820e99b4d453d22fa2e7c605acf216e9727c8f8c92c07cec2f85bee?7zXZ !t/CK] cr$x#HeiHo%OtdʼnIv󻈣9\2ՊSæ<v20̍RTky) [Z.J2g;(f|0 dGѡL,v(5n!pm5s be顈vڬζ/4]AokFCr9_.c mL4Ӯ'#[ztl!Rj[rɟ9=dpt̶P9ӃqpgҒwٓXkqs !ݑǃuXY/3|pU~9b=F"؞+aFOĘjkV7EWל ? o^hשbjl#Ğh͊hS!#+MX7`Lepv,P#4c3UC4(7Vrbfv9 }#7o~hk^QF]^¸o:Ov{;m0Ȼ c/s6xB@-0 [4KZ,7ltse^Xr\:bR2C'I59.U}׋TZCoR-fq_ر27%[>m7p`yȾD?FVm6o Ab?4_2&JHcw=_d€ ~嬚n-r2 -F`oʓ^0Zi>" /=)2pʐOU/8yltFMEUL(r,]s3b/vq/aW"%(P2o'QhV߁ߗj3ltY}@Ìf^Ә|}9^pcc2Œ nܷ %yOi`e.}h p@# rGÑqkLŮlIbxhаIܣ>v M 3< ቛ[$"+%ʜ/" g q+רx: =4ι-tJ*0PdiD[hR<7'^3'nK0v8"/7*8hˆ0de1bM>G3dm}$q4ɵN,:㹡d W@$<UhZӹ~' HDQo2&FkA 5R(m^3Kl{s%FsMT2SX (4B,(L]o&L=9=@W9*_B ;vx KfjC;V'"̀?sWk`rv%-_?7^&UjT`@,V#_feg 7Lؑx0ILT q716k59 ( '}ҹkКҳ#->+$f@+ Pc넟ظd3wr͂cʪĮ ~FE)SH\]ز(;4S(ļ0}V,yfZzVrf~tmHLRK'WzMLjvvoz ;񝷴›\fז-ߐ:1: nUW08MR5|nє4m=te&^Lqm;zXfo1nYߣhC< 8.HAabfmt]K"jI4r(NϐffC8rwrr7`9V:&KoBX5ΜlwKO ,ި"M%ȧҪBAUܡah% lBDOşi٧2&Ă ԣɦc18o?5t#iZ..jc*Rl#Y1`.w~`&IKcd+i{g3:B Df'\ڶ'mf+K81W4 me`7/ܻ"f px*]k,@!M8GڿF ,;8QER{+*=2bEҷp/fq,@CdI3<,^wyRM=7*"`Nh~cb}`'!(C'Ty%v$,y 4>H}pf9ڊjďzN2~eZ.7 fTE;Zҝ3ɷ_?L{ƃUP,~%6,9=zj],m)Q jl]xN1*;mCLZ97U gK|{̡ g1]OD9!K *Y=:b/40F׿+-w. bfR}ma#P+ \9 X঍tn5\ tӒ)j \@ g=]Ah_]_Ih"dH1h|]>_~Ka7xyط8L4 V*2Ks6׸Fб8eC%R=2A-~`HkRz,9ธaƽ.}Gp̜rKL)}3Y^(c2V?`'Y\Aw1B52d9zua/, rt*wKhB4b3{ ZY(:Lj\F=IqF!: %9^6DSƈ5e*:&/r! zy$Vѯ.5t3/67t9q:Dc{2`c]9AR6Z_- /n($;h\byw()0/3y|2O~P]GId, &M =V^%C!g.%AS*K&mu+//OLĿҏ gSn"D8 `oX4I6mt%b|'Ы>C;bia2GEm=uq4;x 5JfTɖNʇy&ӻT=bQ7d5_De]6\u>srue!2Q>(;3u6ӛ~3$v3x_PJWrXt׻iVʺyɶIZk͝-T٢%T>4dH/Uz " `R@o(ӗLbEF Ή ,hltsdVB7Fd {79Zʛ%~ڜ$␀Iu:|Y8.ǎ=A%\' "sCb3+aO6"CKOyx䤾Ҷކ^M!̶Dny \v^b x|)!^53FKId'Ս͍! m~S)zS5wN59}ٸFJXwF(Y80dxV/TU& uZ#,6 x^ftcÎOVnʄq-qRj X^o:"!Z};?Vw:K{2[ 'Qy="p+5?H0T)P*_Y>MCi9ybI! O[IVH9&+KoC`O[FZӆ]&̴ heF(":? ,je G/=qxӪmKuy@}Cϒ1^qgƞrZe}Ÿ $֨)0s;^1;ү,LGvv]}kK6|%Q;gq{Vj+6/EDqˣbLG{aAyg;(O3 |i[$3p2+p}/ZGu>s8#أl8K3?~H'Ù;?z sA F8TUc&B(}5\( FRCc0v!e5I&! D Z)GL f;#3hAmJ ̓E<9fimjsԄKNUCݫ叝jbxI8@…^;`p}~6-b+XbF͏`fp?s Et;ۦM&"0;9:NL_u-ܳR?.t vtB*L>@ԈSTjk$Ԛ$NL!&-y1aC)ڧLCNp4j7 UMjau9~C"<fY]NMV_ U'c'qFw>8Rp( }Vx+OSr ?yyM:u/x]=_H+jԧ;2aeب.2=[)qH/'VP_Uy?}t Dvm}0Ð&*f; ^\ҍUxQҩC1D9Gk?>t}'%/Y`7$Dޓ='\.KڡuUX-?V5Ͻ7s&5y̩f],Uq]cHAPGL[M6e9j:ӨwUmhb̍۟\RTIejFQ=,Y53QyՀz' ua&MRBj yxV93:w#Sy ̙^) r3˥0l+̪|͊5Kd&ߤK}DJ˥RKC+%*'Cc2Q-cuT;^ucQacɃ UjjSĽ"+1YyK/!ب1 ^3E"NdbM񹾻#hr,-*i~OaBVˠ9ʢbW-z*KUTs/t#dVĈEQ"l!t;Tԓ}Dn?ͩ{ȜZ nbCwfjw1? tɅA(vaK0k$y7;Rv)>~q0Dԓ9Bu^H.Q!y)$xg=ڈq9e>4yI }iNPvR5ڰhssg qiw3q 1"a)ֵ-B.M#N P7I& qWQc1_!|s¬z"rcc[ʐp0R,5re=S:q?j(^%'u#Y3Oŀrj52xV7.zTLiTÙ9ʘiboQssY3;0ؙx'.lQ U˱pPb'?gPTpMԲeTW>_7 2ӗǛJ kmUml)I Ôd i#y1%iiWd/mO7}UV9[v Ν5?+=U܎@u^l"Yt v-<)k'Jp|2Uӵ(m^7qپKm{\x|*MvinWc43&KF!H[=pZX iR n/p$ {.q/yb/1B4-j\)Q\0Ư(y] Rc-=BtQQmd1} c`R*k'zY[}&VYk|ּ#Mf*U dmic[]x ]ݟP#"KG!ZVwcwlqFiwd迵L`@&(+:2jBS( 1g+uorŏ{ _k$ }8j5=:PzTR͗ (oLgVQ>UcRo*9ӡ+Vd['8SL\\1k t:l'FMRI6(zZ* +z?eQ0Arݷө^ 3Pp"Mqҹ.⏭' _; =:~Y_ʮ<DD< >:f|`9K iF: s+pl}YUlO>+!,Ӗw\N:QT#(%.MOy=sTc-V-$H ]Ŋ)t6ad(ԔT3r){?XbuqjPNpRM%XN;$8v*ך8:?+M^]xwH]gGDeUhh$\T;fPTu=f fF({Fe[|!m/>w]*ҏgy gJ? !VݦI(^BI22.]k:hie~|z7v2'ԄXb9X ?+)ߜ2e-5kJl}OZ _!X:vU'(L1Iy 8JK4+ԗV/aw9q[}rE 㢺<Qb횸vu@!7F]G 5+$ WZl, pOUP6یS)lq\X׼{  c7i%ҐYغ=cޣɹ`*i'>/4G'03G`skBpLL_jҨsDUN37/b sv*i/"Z+& ְpSv6܎6&ehnOEAj+O Sc3e7IQmưn~LUEvY>:$" b`ay Dww! CC Oq)6>#KDJ՛nV jɊ; e^s,-.8U՟brp+u)N,[;e:M$ƒO2Qcr|^!a-yn(<)PEɋYq0&` # +ޓۯ*H޻Rc);~QVL9IuyN~"66h Kf~(UKss$|4cH,B{I=F2}mAzR\Z[TrwHmKy yKMam` c*E198ߔewgSiEb,#{x:bz SmW Y&S-K&*_DH_$SX%| A/E62~lY[,JWVA!J>K _KSFbĽnzG0:''a=Tus.lt0%P%-&@ 0#2)^:dR^㼻Eb<(ic@ 'ﭕˬ܇1p{q"͞k:уz GKxXs@:uӓQQ)̓e9u^^W?qu4=i~df@VPmgfEFO-9_MNqɛGf{E!sB Mn,ђ=o>m&~+O5UNn1b9Q7P?&]C%tFfh@Әb^{Kp[m5V;bdU_b#s@|s@ OzeY^; ilNWkSk菓 [+MOm3|1;g(q<wsEU;jM+oH1@m0\P{eJ̾{e#̅4F6!ԁyi֦2D2Z gfY9=hseMѯ*5%D7-e6NK3i/deݣiLݺ.X~/OeO¾P +4:7ؐHQ5 \?Qqɢ(/~M-5{}tgkcT9R/[R~b@9tG=< KI]6DG"ݕD~(;eFQ w*3=5E"_\CIcI_?gB'/A| yOaνS6L# s:H\9HQKו8<}}.CmpCV9I(]$2Z9Ԥ~mGrq97i_1R3i͝dD{4~8aTKUfpּ$\P#f% w/4…Zh邸]7䅏0"FuMA1-;:oy뉋k󶮚0!'$ O?4|GBN1@4|[}> O!ޮHJem_ČxN'T s/?1#NpuoOg<+ \mÒ)ƁMĝКS\HSvj۾:#{>eh v<7JU0ZQ\>ńue?uj$-ղw,>[#p @r ѿbV#q u+gߏᄱ eA΋XjݚCP7-p`d3*SKAqD.}̣wV:eDO3vx0h!s^*R^v627|:~|i#RnF FOP;r{6e!!1\,z= 72yAbvCZZjy /~s΢D0cNO$d!zIo#BEtK9Xrᇙ+4O$wlsUfqdBG_ -`S.i械s&rK|y#Ab.G%!Au\잌ynKg&#G94=;NcΏ7D $B 6-Fr*)(/fdmN]&6D/%MHDR (D]=>d~UcX=RQuC?#,jyM]TEF7N E,B"Rz㣛u%0^Jxf0Hq#NY".5AH.d=EhG*zL#t2j=&Retn[eƃ&x[y"vxmtPr3pIUM8GA|rdroYլo|a?yPN ʅSA[`Gb֩=B`@vڬE@toaBUC9 Wh@f!0^VϦtL6tݛM,*7y R3ްH1)1rmڝ7M[PtpyG!!KeX5+< 6˞ ct ^-^];21~ |Q$uohqX ],JkJ߅a]숱,Os2${s%1x %JH넢[?Xv63$Xؘ\3yNlbL9$vW !@\*GީwAACM f@ _}C] #4sFMTK#nq5CutHTPela(Dձ1?nLYThbM8m0.!ݦ lt]ɽ0.0⿖gYOO k3_/cpwD 9nҝ5Q`eJPޫ[ϝBڝW*-!lDz*ePRY4;Sk[2 X-4dU#̛%%,ªZNo_=-gݪC/Eaߞ[S`'Ya,Ǒ4I  Yma!mOp$Çn%'d~[˩#6]тE) 7rk6ǪI6q3u'R~K "G6yZQwAo5/^5Ft쟷3SvW-ʌd=C$l =%#pgys8A~)fxk`cLS6!N!)cg T @ hUu{=e81n o`T&zЩ;vSd*QE-玛2XU,Z5Xa^yeGn9X:]7N|JHɼN,?dm5\Ӊm#>yI*8߮YQu/u%Ttc0vrOD-&g/cA cY"ﶢH]\#8P?n5Rfq5d{߅07^1:z7,E#B\_\Pw1cBkg0`]{w|*p U,2"M 3ZNg@HJYX "L,.曯_5-.[|5R=t}[׉ot88)0Ŭiwf*{i9*|b=o>Gd&3 p՚ 1tʧhE#vQ7Of_%^ yLs13%0Q#r&%J:B l㊭uH%8D&Txt#ں[4}g(JWje`rr_-xWKwjf]-~ٝ*c#ȑoʿK$Qȡe,- |ݱHO&I>bxXxܝow|-I3 _O7BC"zLtRr-Y9͝c/^}1ދ5!qvmZdaHbPbFRƼ/|TQ s:&1p˖db qYvppw$;6@++]beG0Xlx3{`{Ř  `H#S#Zd), P`A +͔w4l GV0ESf B%ӾD.kXOg*Cjz'DCuq`01yI-m5n*K܍=8b `];ñ>cui͈:_\ DT6ʐ-L/-W y:)h2n_^3n7BòA9Ͽ԰R,\(P\*MIJ)EM+,NRYMhjs,QXR6bGA-+Ȼg-}$z0N}DNJ3O[ >j>mk^D4H;fEâLG1W¸zzQv;,u%~n`\C./'+WRI>c(•t|bM 2}D|ے@SqM* <\T^Ve.,:i#,y:3g4 /X,=RX];EّNQ#vm ~ .-rn3 a%Q)l$V*hMӔc߉~ATh͛;p )Cv ݔǡXrty2bU/w*#/L|8O_ݬ_<`N-&vĨ3@L]]BJ-Ř-U)Xd̆Co@"v2V.\FYK_ WN4HX!vQEC;AI35BQJnJA>,(l#іbQ~+L.1߉cnn^uEM)Sk]kgYJeZ=v Xaf5nהRęu&m":$&UĥEH9/j?=L6,Ӈy,g4:lWi> %[ۑs"@Ho=w!h賱{8SL-\w5j4FMQcpO{<G/ԣ 8`S4A*VPpj/`VnV[QX^^X6KtBlUk<]0?P񱛀:3pmܐ|d"DTd$ hQ3Cՙ@Ս>DrJQUOY ]_`X p?VZ v"Y۶qM4r@[B$Z/V &E9 QekjܦZs(n/ {ISp Ǣ3m( /zD ɀX!LjrbOSI<4rU޼O̶.r8U:ub& >A=&Y/^BoS=H2^4i*0OIepFfo' =T=T5χ9?"9a"~f HK|ġg_m E#C$8d|qVW 9' ]ʹv.v|-l*~rc8]jz\ vgnJRTMquج k9Bsq}tLy 5_ĊԧdBp6ϝ/Pơ{8U[ !x9QdhqlHj}ۂ(Z&}ݔۧpscxRjV- -Dl ڍiN\Y#꩒=%nc޷yMgNFϨnmg !47SAffirULL)XZr ijJ'Hy]ͭ8hrڐ nBZyO2]S+l'fEBVR(1[ XO #)y+XQLdcaKpRI%S"J{7gƠgQDϊv\ ,y{.SbS`߻+]q7yMs4xdn.4uMWBal \G)ZK(q,_8Р Jb6eto +:YX~9C rvf ΀`xRS0FE :&%qXzm"FN=BjcLs;7}ȁwaUPS)rQb!RGpҊc&j :P*3~Nfb U%Rw+>wu<'W&n;NűUE2L~ unf%浼NC8ƚX77  7Dd:̳ GV=jڣb)07! -; u{]*6.2W l(fW7TA[{q!k(jk|tz]hJ޲i!hf#Y{^xz?jT+V;NfX0b+Et>GrSbZ1Ov^܀#nT-3q+uU|A ӓ1]V eW"'^3d}͍81̠}&c2=,`ub?DdVj7Ҷ9j.]^3|иz, .Kxg tFi]yTfqdcީ'x/#bE1v l ½ߎHD+Y(ZĎ/F5g\5>˗?)k"}'**b[1 #TSn~0&ۑp5J_6b0&g[34A"dD0ʕTջm n23۹Yqo+ٰ3#kI }|R%Ɠ7{,; . yG6U-I$ WmeݢX;킖C-0Ny:2X7^-;$ѽL.vnU2OjV.MqJeA, p*˥c%Z]9_>MXy:Gc83j wläE0Dc%ݡ)a}?.: / NOEcM\>OV/3x6-UA:f&[7p%咛@Ddk )q͠N ^ܧ3c=eTB39` * gKQ`48K?,e8k(7~y)p-3SQlqk$0a4[P;5e9+>34Mm5W?쾮8?j6)?$8=f{ jv^[,.{@Rpr^[" f`&uEgo̊V-1]yhn6004@U#%H.dB{0);UAںjQZ'nSsF0[oѸW:"D[@h EHE'Z U"w(xc2&OexΈ  +v`_1ގ]☙RCĩX!{Pqi9ز@^=IDi~Z35̎O=gIƭ?:߀#SS*i}kH]8wBʂ9+_~o@5HLINo"Kb295 Eorcu`۝R_vFcg ](3"Z]tc_~ ! 36}l0'?zBGA'e/:̇tivIr$ߊSDj7#u-GX29*<͕r~/$t+?]p*f~󶼌l/}ڶ|_j<S!IK\s…7?lTWݸU=a 9X4yCߩ2}HIG4%?!\ekv)cC=\m[E%S-ŏ`hה5vpRT]q#!h!SǤ[iHhw6S}"ՂtMIWѷU%.NXCCȱ":L X/JA*idԤSZ"1`P˿,+%g'^ B;ELY3H$ dxngf սh x8]]KXn6~zۣ,EI.\fls>zk[xPD-"p5(Ƚ%,s w% ut.ӫ sĺE?<јzQ(F\e=_ֶIDAIIqPΧ d$~uY I.I-4LYXԞU"=B"'%fM6%.,Z)@ɕ}9߉Pz)L%E?Ɓq |[p֯g+VaApޖG0=a}氖%dC<`x ANSJ1Gy3Y[rU/o}&}Gt.UOSluyRT߸WN+TDͅ=SͧêV=T^=$guW XrȐB쐋%w~u[.nLS׳Re缀jj )xnF:xΫG=Y/4EȮΒ;wkw(V]LQc{es2W; 0cm Jz?>E|_lM~|?JlA4Sh#3; A֕+$dפ!Zbxč|SyJcTɨ #XY#dS:L:AQ*M݁Iqcڲ'd߲]nc%|E]dǓc)>  Q{'QztL4@&AR,b*ۚlDbB-"\M| g\c  D6j˸B!)"pf|ݐVe*$V3fVuk[zWbW \J$L SBe]<Jxu^k"?Qs"$M/{ٺ #q2@ωT4vy33e쌃Ɍx˺שׁdS.D [a)IYxأ'GJًTt/hoCBTXؠs7yh1H$KO˖r[#JQ̊fo4wQxȊJpb(&%Movy0"ZߨsAz*Lt$pR@1YT8|A2/$#Lh=k}l}Ti`jDD?rg?C?%4-RVn sksD eK }.$y$PZ7π IyK` JR2ț'W{g$G8g<d' :cٸ7Y+:$RE^ܥ~0mV*.JßPM ^s5SXV Yҵ"“ޖ6$ $MK7 1CeAgbs3̽0*b}8K׺z~v :y{AČ \Ґ,Ul@JI/`͑[D]0ڕb!')qt{-輄qCK2W(5qJs4'?_isIQW{&QShZ4neS&,%Bk!R.S3,QE"ɢ{6zHax*f7~c8e4(!pc$(ND?i'il7Y^+YJ6QET5f&) t#< s|/9$c, WD~;QLXG&q=k神pѣX; 97 ~{2|jq{oſ40>LJ5_n$|=۾؞㔪:}-/ٴ,xwHA~:~!ZKJ^.Uo[mL-q-/iLȪr}YlUO=bi},K%N cs/̻Ƶ_f'DkcJXBxWuM־O;[,գ@O$A [Uΐ9qt(ij51b#Ǥj4xJ"بvMYֻ:͐zE&'-Q<3'RT5s$F G}x"'WBs[^)#NӤ 53X8 ܕW!8UT>>SU ADtg&hZ46pZzx,RioiLpn؝"m`HOcT_^;y^{S8)]m.i%*E d$8=[,pھyb$6\PV!Uy2?/ضh&ڰ".!f17bC?MEO5xŘx(Ӣ3ծ,+ncՠj~<<k_3t."ۇ95hV)~BOvnK"ޜ=ܵnJI? Ja`{Q}/qQ' I:9J]SF`դD‡;q=Bh|Es�rӄ⫴-ѭe ~ VRw*!"S߼HYn6j\+F j|æbKA07jB[އOYO.Gޤ3^9gV6gFKKo.8B-hZYT(˓bU)߬%' ŒdKG^5Y8B~8l-jC yxrm6w/cc=WB`<'Bp!6&Yt{AS|&ԃJI['SX_[@ h& CzC\/`3N= }燵.JWTL%KQQt-wGŵ+'ןd035butD* #U~ͥAjA30"7fɬkUʾ; ,[47ґ/Xo(.ÃWʯBy aW€z 5Ub s gK'hxH-Piў%&/h_(M O*!㔞Vg  x/wxK!jst}+z[س y[7R88.QݧK]Rpon!|vlg:泌^IGM*k="جޗ :ϓ 2Lߵ[Ykb3l8CC(-d]UNY9wB rkwKQp9|?/q4@# ak~LL=ȢB_h Tn Gz?7ocz䁆;fz܂MXϙS/r)E*H-qW$T,4E\F )C0w!~ILnIWq!һ2.Wi-O,a~3rJ ˴D_ M.y>la>Kt2_;ɘv`jd̘Ϭ$th^h@[ﯼW=jMȶ`gtG G:5f!:HE 6؀l? gB(KKnP7ejs r")Bx$+lWQVe+̠QU tp8o4_)lt0]J=I<>d? Я^;R p0gulѴ:0Og5yxa&[W3˽7 ng mDܞ\5(PmŚ?+A9z@%x>B p0`A<5@49󟶗soe+fʧlzN[Ga+KW]̓:.9Uz.HF),4&'O~uFIo] C9GF-9Y/ba,g..%C.dBTFv(겷-6s$X;a)5%t8M3B}ӄk }(p@(I-]{w0x=? ?+;+2^_c#'zH;e.R%z=OsDݝ:C-4cq<|Vsf#wWuDUSϳf+ 8i'ļtȚpODznLhYU<9t[!:kՋsTG|x&r8>-:S:T;XZkɋqavBqGMS!hM IŬoGN&[^t$1Vi=#`>۠EbyJ28M+w1^Kauۘ⑔f:%wOJcOltU'=tȜe)|-³bNN4s1$A5\'×qʲ ;}jNeo t<`KU-M}ė=Yqvې6 yl~pjn F>Hj'J/NuPI1sK& k;(`xJH,1Ys2u6q *$^홬ŨUbi G t|**4S!Vh&GIJS߉|1ԓ3jꜗ,^LiĀR<Ʋ1'Z`ǿLh^.WJacvO<,-ƒ2ܝ_]yy&Fu);\dkR6$"Ӝ@#,xmkDk-*Z˚y[}sn~r2AsQHR|#-7?}?E#3c ;֬]7F8̠2Yy^X~੝4g=qаjKӯHR+Y>4+9aX2Ly0*w.N!nTVLpIՀu[]R]qv-5~ct]LQah6 zi}w;ɥbQeuwm29.ZFϔٖ#ćJ{ҞK)c^Fd7q{[V4J*\Ntꑪ4r-9c۹]QD1sF1[p롈&v?Raq1ؔxW5D62pG޹+bD(^':cFJ.*2IUM&!v){K4vuF*؜:5iNe~"MW͜wtB2c HpHr;l͚vSV&Nw{T4fbK̓ON_J !ڿ;3}g a++~#hgTEn{7:91iJ4ʹR oFZC": WMs@nh ]ftؔ[M{,Z6VAYxSp; "yU<5uϖŲtA9˛bBaF̴ݾcjq\Pzo1 +2O'II7R$NJ'}ugHԡ܏%H}?,?{TBLuq< 3'7rH!T4yb!='@ܕہ~/z'q,p&l\#Q~.XK8ĝp:(Ee~9bp6C'iZߋEJ0L7?t| Cv@g+9.zrz; sКm׏Oo [vg3bǃGiԣx2z39#\KY#?2*aB@6RV}M)> {$ǵQtJC%ۙRxcnԦkx"zѠCgT/*$'Mj ?p:(IcƼŤ;~%XFmt@߰ Mꆆ.]_r%/ƒVs!3[Kp^zl$gmyK1uo*F7f`WG]t qcSlFBܲ^]@1 t](s &ys?e׎h'p Q2*/Mz?8u J-c ЁT20<_wA;+ÞН@Đѷkb0$[J!5?֪_{Q Q> Gdz%>,Gmi1mR-QlƵ*:q3bQn >9TrjN, GH XF tE`Elzs e[u7#7(XCT,ߔ^ F?EFVǙ9*'fLlS,V\Wf%m5ܺvT9ݷWAa+K2 |la.R?|n (,2|}V#4c @2ڰ9D54A%C5ǮJq@/Ed* Wh)EzE}/hcU1<˿D_-*$XLn"lNrm=O頪aGzo6wHH1.١Q{˶ƨ&- 0@$F|/`p(wqDf l#!<~L?A5d7x3[ut)gŋ y<]k.7&sk$2!"Jg!i3q2>Ktd-6_װw82S\ic5ZX2d>B76.E$f{o ˜ Ϝ;q=m`x#išy?J/p+OI>R26Q{z*݈w8ٮ)TXy|သ~+I *M![ ӥ5/L8 Jy6Gm GR]+gmkUg"DTOh/tS* `x>wA\<*;ûUb!%Zʷ=fiP"з"C?A]L\pyx2\ B{# Htif=(djJP,Դ\#n[rcKpcv) J&4}E+S,q6|,Y(wSlQh*չ[MO,_|'ƞ#dQ РO1MX:Mi?Gwz/G.4+ pKeec5F۟uϐ Y.dդ1M>^ q E2r B:6ޛrSߙl| >A>[%~q#*\MLUF$ 3 cɜ 4n[XЀR%gf)ҏ+ ɂo󠲫{ngK\ I@sd>sheΉi\=|ZUQ& [e_"J{;[ݘoHívKv<-4#|ߑkj0Hq6 nBj̯ў吃f~ C^֡m㔥:T0[9mQBQGe2kgFY3M{gM/3bd OYo&W(f'ʲܡ<~_ĵRuH<|aFNF(qI:yagI{sntzG~z[Z-Tn{Kg2- 0 7JLnzAyt ?}B,IחkN\$sݳ ?ǠAs-3~7߉Å^jS'@>FQ>y)l Ԑ3$oˮ5v c7yFĪigu]\OV[JI99R_yن'ߦ7#bFzYn'+.Su ;%nyzF ܈*^s?ۤε $6]qj:ǔUbBx]4Ǥ4Bhx2_$jF9}*jlTgqS )'LP7ع%gV B?N˧c\&T.-JOsyR例..zLʭdL:^z l#-SbZx{:vvWe&FEg mZvsّz)QF  e_ܭl :Z@Qwt:v+D @?Ȩ`Υ!H㾗SY7fPڏljȌc?_hhU^ +*BrA}/('RScpYZ_F,8]=eB? dPhIyTq\q# Ҙ8Bֺ &ӜxBu>lטdgxo܈GͮuBZ\94,%Iw} fVN<˟-H֑BT3fWkRp(G 4[͖QsS`G8%?.ȣa5]PԠ!2DqpI sG[bK +Nx ?ɚH ѣߺ@QYGq(Nm݈HSĀ h>D.B.b#UcL<^\:0مґ@iɮM$P)9,)Jnl*Ԩ?)Mj?q t~yH̈aA :g `l]=AXgP8yTIЧ׼BM7>tS",)aZݳVӘ#UEa- z7APƎUD4^wHĪRUŠylVj}Q>#, oleÇ,IOKCuLxDgkAhalwAqmg ]_`Ҁk䁺/ޅ~Q% >3`& .f*2)oga=Vn4Hز%ɇ8 4=*n:ndd;)=T9R5*-9ҬͤY|E O}':;/NBk4 JS@-kDZ u`C)؝ `hlf{(ϋGKwT{ #m &n4 pvZkW,qj}&෷< uG, E!օ\6?OůazӃ!7U9[f;݋p^.?m#5ا