targetcli-fb-common-2.1.54-150500.6.2 >  A dd@p9|vb9w/|J+ѿ&+K#ǷZ܂UM_q $qiN޴T$7/ϓ#4: Vg2l5'ozݩi+(cI-S96wsD@޼LVXW18gki+CRj] g7^ FrMgKƇ 7 Psz Q9޸j” UUL"?„&^W q6~0`1kwcd68a63b9670fc88dba390b2204468040a2b0a5340418f42807644e0582c433041b897edf90756471a3109c06a57f3b0d93e401ctdd@p9|ĽzߏcyjdUoz{z+={AJ h`qh^/q:dʬ>M_ Ky eC[ٰ΂QdfȐzpC>?>d ( c2= SeQ 4l     @,\|(8(9:u=: >:?:@:#F:+G:@H:xI:X:Y:\:];^; b<c=Kd=e=f=l=u=v>z>>>>>Ctargetcli-fb-common2.1.54150500.6.2Common targetcli-fb subpackage for either flavor of Pythontargetcli-fb-common is the invariant base package needed by all python-version-dependant packages, such as python3-*-targetcli-fb.ddsheep25PSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Managementhttps://github.com/open-iscsi/targetcli-fblinuxnoarch if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in targetcli.service targetclid.socket targetclid.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in targetcli.service targetclid.socket targetclid.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable targetcli.service targetclid.socket targetclid.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop targetcli.service targetclid.socket targetclid.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in targetcli.service targetclid.socket targetclid.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart targetcli.service targetclid.socket targetclid.service ) || : fi fi w'.AA큤A큤A큤dddddddddddddddd`@`@dd`@dddde66f557023a1d6924de5921f6a7a16d4d52b10ee0a6393f8506ae88897f1a9e87c3bae9722b62ea7dac917ff13d077db2353e10ca3710cfbea960f5bd2d753de70659c9a10ef0442a2a691a27cbf792ccec0fd45d4b6e47a24ce514a3ebcc0e7f4d08d533cea40adbb800de4eb721a65f82c20f6acda6be6f5246a3479044b3fb2cd2b95d6acf991524dcf72d4f261491689681d1f3c880baa08bd2b4d3fa96a5df2a0d87d6c562f0ea11c688ac52532aa28d744cabc7994ff0537f64b3b3320d4109c69dbb22b40334c53cd6aef23562fd81cc9e8bbdbed56a1c8fec63c4dde9c39359a8e4e636307905c36dec05257ab79da87ab72c274e7df8106f49360acserviceservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottargetcli-fb-2.1.54-150500.6.2.src.rpmpython3-targetcli-fb-commontargetcli-fb-common     /bin/sh/bin/sh/bin/sh/bin/shrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3dG`@` a@^)@^@^m@^C^8 @]Z@\@\\\ `[uZ@ZZ̧@Z@ZxG@Z\ZN@ZN@Z3@Z3@Y@Xh@XW@Wlduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comdimstar@opensuse.orglduncan@suse.comddiss@suse.comlduncan@suse.comddiss@suse.comopensuse-packaging@opensuse.orglduncan@suse.comddiss@suse.comddiss@suse.comolaf@aepfle.deolaf@aepfle.delduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comlszhu@suse.comhare@suse.comjengelh@inai.delduncan@suse.comlduncan@suse.com- Added one upstream commit for CVE-2020-13867 (bsc#1172743), part 2. This time, only modify permisssions on directory where config is stored if it is /etc/target, adding patch: * Fix-changing-savedir-directory-mode.patch- Update to version 2.1.54: * version 2.1.54 * fileio backstore: fix sparse file creation * Do not install systemd files in setup.py Removing the need for our patch fix-setup-install.patch, since that managed systemd file locations, now handled in the SPEC file. Also, fixed incorrect spelling of targetclid as targetcld for preun stop_on_removal.- Updated SPEC file to support multiple python3 versions at the same time, and replaced deprecated %ifpython3 macro, as suggested by build service. Also updated "common" sub- package description.- Update to version 2.1.53: * version 2.1.53 * saveconfig: set right perms on /etc/target/ dir * saveconfig: set right perms on backup dir * saveconfig: set 0o600 perms on backupfiles * uds: set right permissions at bind() time This removed patches which are included upstream: * 0001-uds-set-right-permissions-at-bind-time.patch * 0002-saveconfig-set-0o600-perms-on-backupfiles.patch * 0003-saveconfig-set-right-perms-on-backup-dir.patch * 0004-saveconfig-set-right-perms-on-etc-target-dir.patch And replaced the tarball with targetcli-fb-2.1.53.tar.xz- Added 4 upstream commits for CVE-2020-13867 (bsc#1172743), adding patches: * 0001-uds-set-right-permissions-at-bind-time.patch * 0002-saveconfig-set-0o600-perms-on-backupfiles.patch * 0003-saveconfig-set-right-perms-on-backup-dir.patch * 0004-saveconfig-set-right-perms-on-etc-target-dir.patch- Update to version 2.1.52: * version 2.1.52 * daemon-interactive: do not allow clearing the prompt * daemon-interactive: show path on prompt * daemonized-mode: add interactive shell support * Use temp file objects for temporary storage area * Fix StringIO/BytesIO stuck issue * Fix targetclid daemon infinite stuck * targetclid.sock: change SocketMode to 0600 (bsc#1168415 CVE-2020-10699) * setup.py: add the socket and service files to the data_files section * Use StringIO as a buffer instead of a file Also, add a patch to move systemd unit files to /usr/lib/systemd/system: * fix-setup-install.patch- Update to version 2.1.51 from 2.1.49, which includes the addition of a targetcli daemon, which can be used to speed up batch processing. With patches: * version 2.1.51 * targetcli: depreciate the redundant '--tcp' option * man: add daemon intro at targetcli(8) man page * systemd-units: fix documentation * targetclid: add man page entry * daemon: load the prefs on every new connection * cli: show useful hint in header area of shell in daemonized mode * cli: provide a way to disable using daemon * cli: show better error msg when daemon is not running * Do not print err msg when signal closes socket. * Handle systemd socket activation, when present. * Close socket when receiving a signal to interrupt connection. * Exit with success when getting a signal. * Only return response to targetcli when bytes present * Removed useless semicolons, as they're ignored * Handle OSError correctly: use strerror to get string * Tweak systemd socket-activation settings for daemon * Handle Python 3.7 stricter binary vs. string rules. * Fix indention for targetclid when processing output. * version 2.1.50 * iscsi discovery_auth enable is a number not a string * restoreconfig: add ability to restore/reload single target or storage_object * Fix a syntax error in some except clauses * Remove Epydoc markup from command messages * targetcli: serialize multiple requests * targetcli: way to enable targetclid as default choice * targetclid: enable socket based activation * targetclid: add daemonize component for targetcli * Do not remove the first digit when auto-completing the TPG tag * Remove the extra semicolon in _save_backups * Add emulate_pr backstore attribute * targetcli-fb: Fix raise exception error in _save_backups * saveconfig: compress the backup config files This replaces targetcli-fb-2.1.49.tar.xz with targetcli-fb-2.1.51.tar.xz, and removes the following patches, which area already upstream: * Add-emulate_pr-backstore-attribute.patch * do-not-remove-the-first-digit-when-auto-completing-the-tpg-tag * iscsi-discovery_auth-enable-is-a-number-not-a-string * saveconfig-compress-the-backup-config-files * targetcli-fb-fix-raise-exception-error-in-save_backups- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut through the -mini flavors.- Added the following upstream patches: * targetcli-fb-fix-raise-exception-error-in-save_backups * iscsi-discovery_auth-enable-is-a-number-not-a-string (bsc#1145685) * saveconfig-compress-the-backup-config-files * do-not-remove-the-first-digit-when-auto-completing-the-tpg-tag- support emulate_pr attribute changes (bsc#1121998) + Add-emulate_pr-backstore-attribute.patch- Ensure this package and the deprecated lio-utils package do not run at the same time, in a sane way (bsc#1123423), updating the source file targetcli-fb.service. Also, updated the SPEC file with new year, updated URL, and http->https.- Enable RBD support for SLE/Leap 15+ (bsc#1118516)- Update to version 2.1.49: * version 2.1.fb49 * targetcli-fb: Add support for media change * fix the parameter of define_config_group_param * saveconfig: handle backups with block-level delete * saveconfig: way for block-level save with delete command * create: add a way to set control string * fix amount of backup files in backup dir * config: add saveconfig command to StorageObject level * Allow to customize a home directory * Fix default max_backup_files in ui_command_saveconfig * MappedLuns and Luns max number is not the same anymore * Use signed char instead of char * version 2.1.fb48 * remove wrong exit code from targetcli --version * backup: global option to tune max no. of backup conf files * config: rename key 'kept_backups' as 'max_backup_files' * config: backup when current config is different from recent backup copy * config: defend on '/etc/target/backup' directory * Auto-detect readonly state for iblock devices * Read number of backup files to keep from file * skip refreshing user backed storage object when it is null * Replace dbus-python with GObject Introspection This replaces targetcli-fb-2.1.47.tar.xz with targetcli-fb-2.1.49.tar.xz, and removes the following patches: * Auto-detect-readonly-state-for-iblock-devices.patch * Use-signed-char-instead-of-char.patch * targetcli-only-save-old-config-if-present.patch and updates the SPEC file.- Only save current config to backup if current config exists (bsc#1090424), adding patch: * targetcli-only-save-old-config-if-present.patch- Merge RBD support from non-fb version (bsc#1079329) + Split-out-blockdev-readonly-state-detection-helper.patch + rbd-support.patch (SLE/Leap only, due to LIO kernel dependency) + Add explicit Provides for "python-rtslib-rbd" - Detect write-protected block devices (bsc#1070815) + Auto-detect-readonly-state-for-iblock-devices.patch + Use-signed-char-instead-of-char.patch- Automatically generate version string from upstream tag + Retain current fb-removed version format used + Rename targetcli-fb-2.1.fb47.tar.xz to targetcli-fb-2.1.47.tar.xzar.xz and cleanup hardcoded duplicate name/version values in spec- Fix upgrade path by provide/obsolete targetcli/targetcli-fb (bsc#1082693)- Fix upgrade path by provide/obsolete version-release- Removed duplicate BuildRequires line, and add Conflicts for sub-package- Added dependency on dbus package to SPEC file (bsc#1073913)- Converted RPM SPEC file to singlepsec format (bsc#1045332), updating SPEC file only. This breaks this package into two packages. The new base package is called targetcli-fb-common, and does not depend on the python version. The other package is python-version dependent, and is called either python2-targetcli-fb or python3-targetcli-fb, dpending on which version of Python you wish to use.- Ran "spec-cleaner" over the SPEC file, to clean it up, before support for Python3 is added.- Moved targetcli-fb-2.1.fb47.tar.gz to targetcli-fb-2.1.fb47.tar.xz, after appropriate decompression/compression, to match SPEC and _service file. Updated _servicedata to match.- Update to version 2.1.fb47 * Improving ALUA and TCMU support, as well as moving the default directory for APTPL files from /var/target to /etc/target, for better FHS compliance.- Update to version 2.1.fb46 (bsc#1032833): * version 2.1.fb44 * Remove build scripts for RPM and Debian packages * Add Gentoo to the list of distributions that ship targetcli-fb * Add support to create/delete ALUA groups on a storage object * Add support to set/get a LUN's ALUA group * version 2.1.fb45 * Create ALUA dir and def group in UI with storage object * Clear backstore cache on refresh * version 2.1.fb46- Trim macro indirections and empty macros- updated spec file: removed Provides/Obsoletes of targetcli and python-targetcli, and added Conflicts with targetcli (bsc#986475)- Creating from latest upstream version 2.1.fb43/bin/sh/bin/sh/bin/sh/bin/shsheep25 1684331547 2.1.54-150500.6.2targetbackuptargetcli.servicetargetclid.servicetargetclid.socketrctargetclirctargetclidtargetcli-fb-commonREADME.mdTHANKStargetcli-fb-commonCOPYINGtargetcli.8.gztargetclid.8.gz/etc//etc/target//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/targetcli-fb-common//usr/share/licenses//usr/share/licenses/targetcli-fb-common//usr/share/man/man8/-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:SLE-15-SP5:GA/standard/4638b76e421313f45e747a27c6084dd5-targetcli-fbcpioxz5noarch-suse-linuxdirectoryASCII textUTF-8 Unicode texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)A)utf-81888ca10f33d1be60504b40d2428f1a802f59c0e776d486bdca24cc6dc99cb88?7zXZ !t/Y1] crt:bLL ~: C-sՏv~w#ԨCo+{6VDW.o5~tXH*kN~ xL7 y”+q0K%"QM\ Ydp,nOEC#`Jnha/U2ԘbU6=@juK;6F4jJ2>~3_v%}t\#@,늭 Q`>bcZ0Ҡ_1j'KئdLԌoF|G޾f\]E2Z0#eq cEĈ U1}G4xEMgH'~Rcg-,ۘRŐd\8Cڀ pJʭ][n wFB£¨ q߂I> OED덍+ rKsyB r$Cm!Ƙ4>y(k4-θ;O|ЃRF+zOv=s9 SldM5k:ӀED< 1'ŐN^g[rP0r*umit\Ypp*J*"<[7XcH$Y>&瞐0^vYwW3,u}SR[9B OSF?W./R\©+*fO1}^߭߳sGsvw eng19B7^q$+wG5Np_*^Z ݭåә`e;tǜ~]F"&ߕ5 %9䁬 z~ogB}l9[fޑ-#,+4 cz[7ʽ5TkJk%*fqQF֞\ iEǹAt\ *0<0 D:nn)$@Q4Ĕi]7fZOBKc>M"c3˸ й{E uǰ@k>H]x%F<p2ZrP;lѴY,(9 ֪X/̡90fY} $z.!>Xhh6nyPHjXN(U ܩqфd{sW( TjKq8x`vV?b-]Ԅ7?1RJHM M[oB}]lC9]Yf>ob9%3>d:#ӭ##i|ޔ5(7A4Y1MLj4m(0C^Eb[-mKOV8(F"a.}!$m3)cE;J%]lbw',tBehF2b $/dvb_}߳MPMu=A 46?\!3G/ ;Z <B{c)38W$M4w۟$N*",ih$s1:~GoCp8J2w3;v*@74*C蟶E<iL!V@2!;\nmUBjZ1֖H,t4aF̠*NO&et!MyЦUA$ :9_ fؓON /ZvwMQ^'6Mb)LR1ߑ{-[/<Nj5Q1'炒sDk1X^\ckh$rDVD̟DX{ǰ=yc2q_k -S1ߦςD] XG bۻi=ThS_vB: ֒<֨_^r@HJˑ^z+5u81_ $o`/ɥIdylF2rꨱo`YD۸vZO  cζV<ǸA5Pp2W3$iO2uI-4A\1qȘIhzX)5׉5 c%S P6@B+L) '$qYmxh~χ rKA&ob1ITqJ 0Y1$Q`7hG8ĤQm(HV1jIbCU<BP)ĉXvHFRlAt)Q fy-]2[O>'J3s/E>"s56*@ېhfX'A='4s?yf2Ujl =H\αF.n_xFîT^ZW^}?VQ ʝo7V>`/} +M;$9M(srihw◜un (i§c%J^hZ3b& ʖqqCc&ZQ1\ce}> S8W2gG#WdQSuߺNYaCIzqoJh{I.] X$Y\_2cٸ([s//he+}_QQ0TTGRX'FbMaqϟ[H{(qKE_?(@&QW=8X&@J&ZuRg6&~XV2K>,~ڕmxx@ {{g!LHjnWt nU3uTSe8ђxlv)M/ N+mY:ʀk9"̉^gb(" G{%,Qh>w ()@g+wD!p(2HR2Tm/LIiJ,,/ 6EOIꅸ翋a)cCR͎C[sL V~YVH#>E`嘝)!fTj4j`8Y\]somEJ*=ԥ)?<߾eg_\n V gAH-ML,ߒyD:mhQ}665lN*8O0b 3P1j1us[')A+>rt/yX)mzQeυ*!ڕ+%_2Rq@Ã0,ǖ8 c⼢' -sBg 1V-wv kFHlvN]\zEcYDa;c_]a;jRd\ΎIOhoqԗnvf^G/,&|i\b!eS@WgS-4+TaL"`[5Cf3ho5o &4"sGC2ra09~9㦯༎E+{R,x+]XH,K4ʛE} 疞@"_(T vSWҴF-+ϡu}.2 ]3Y˘Z v_!d!jQ~J_\G+Xbə͠/iۼΤ ɵF>8ܸ/Ѡd,g7wS2T5uN;l(WU&AOyn*@D4ԯCc$}:)rÉE_YPZtX8" 2d 5[ 0UQ?6/.O߁2J!z-ƷB_0=uMW>V̶'U$UzX\QEc- R feHuHwuO-1-k+'tP虄O=oU{QQaݩ: GL> `q/HfshbR':*[XXEA8"c3dJ 7k^UM\%Ew6;ƘYʈ; W$}ڼ}0)fi TMD#;:Zh<V VvhVRt+}uV'HCR?c!0"V^rxݰ_h"{ȵNza60΃ j_]4/p$v7I`7ʼn- !h3UjO!كXy1ADֶD0بhw=sH} X!oS_~Mh\TDžbwA)pwK~!c){Zu\LɳD*}TjHaϺ;t$5 !L]enJ:$4IvS7OF냃Mp5n'Ҕ"4Cn~{6GC$O>w)A0{3\josJ) W)em'+! ,_myх'(ZTGNpAסd֋v T 3o՛7aP:@ۚ&#}%N›7;#GR#O`|d<]hiV#/X&-[G')>.l2fxCYz?AbuLy\ H룢Aj58,ͷeF*UuzmT6!vS?ls\AT#]WVgĴp"xNhbQ2Wv)S$~@7؏B-hȂJ (L£ſ,]U vU+YXTH"0k\غR$Do;ZdZAoV5mǐyiݎ{^C<{˯/o4`^w=1w( V:it@(h81n,Ώڦ\l uTIbG;G Λ"8yĐ84>Օnh:$28'F}R p2}hJe!^S7p?2X?խi#+oƆT QRO=%鞲d(LlFto/"6u AOP䶃ˆˆ5vawMJo5xlwqq*{BF/Y) LWBw-\hD?pc^U""}5 IҢ ?,̩̑tK3R"J(Lϐg@ Oq_pr*voBk+@5 imO l/QMBH#9*aBiEw탗&/:ta ^Y/(UAm7LӃtHz wv\ $v<ԅPKsz'^{5= 鉾 cSVM䟛I%Ohht)R|-3GjQ|+:2$f2'mYBDC$c[Ҧ7_7{?5Qr˹:]Foܔou +Xx~Pv0DQ-m^u0^ Xs9Ê'Fa#)*Lv).~L~yճ!d*׫WAL3L4+8A&}'<1U/զ9Q OD}|5@beRpqԐZa=XA͂FdS^֐OeRsL?u:Cgv+Yɝi Niu|)I W".F5dh|%XCy}2"J+U5*XÆ6NNkZ%[#ΆYk~F6@5lߪ `4(ζZD}/})湨YOu;U K\5\J N.;{Vk-$۷k+ԧ`2Hb\oqhPJwE5\H?@.{<TQ7ujXrt[y2G89}B Q_r[%&gjsKsaN[HSYye)#k_+Rʒ? /[N9`WC{N&0}7v{)45~H)NktӖ =5HAۋO'ÉW攲)[NPp53 ZoYtrdFޤ&Tp-% 9JgPU ܶuT-Pt34tO(ar`L=>`Ʒ.l3%k#,TA0~pebgo:~.zcn؊k{l|[̰8X\ηa%Z r> cFcѥ!`ʾɜPp Pۺ\E&+NMGuЙFbZwܟ)hð7 N+ ;q!$1"1/s3$-p;Sٟ?{JIJAG[-PPTވ~uSD+d .C(LQP%Xg,24Ru +&`W 6ØQvӦ< qUtf$9Ip?OO(OErjB !! NDq-+PNP @Z7P;47 Zi,6-Φ e. sZSw`1nu̷v'M<Ig!jy &Tykf$&S+Ӓn<1-֖y}2mJOJ'$cB#g v#:L.z#`pâ)f)m=-] 0xjo]V!̺\XzV& ̣596? ob=a3P\Thf1f *iȾKn6?n$-;*ܘke3چfym6M(<ڎ:K9Yx;X?T![ M_;aw|l8"2GM݄m"7e)E7}qЮ /m]ͲzfM*՞J4EuQH:yok8ra;=*)]zczI 3Jhg{)٪a]m0i$g!aH~nReOtjcq8KOF-,gn\_)a?=<@{~FXgݪ#C|I/p, ,% ^19K!%Gp5ъb=9p _yj*?A^n㨣o (H |4(J$MڗCzd-pAl1s2^iR'[25$<"&^nUDx@FaȑJTP4lEP3skNQz PF@ A6n