irqbalance-1.8.0.18.git+2435e8d-150400.3.5.1 >  A cNNp9|/ja\jKLc딲)]:_vvR3>?< ljV"K1}zoGQU AZ`}Ѥ:"̓viXWloK 'WԼ-DSc4A_p꧑%(uG!+?;U2f]4ll=<LְKB14话A yq%${.%YݥNyrrܧe'jjet&HI#qH\ N΁+*WX?Br5df65135a444fe8fdc63c79882992fb7a898a3efe1d0d67647e7661362c96208f47f7c7ce3599d04c49e2a6b3e6d081a5d549f2ccNNp9|[\b߁I7-L}U iߔM&KWzf577|uy>rEdNό|_rZx2K ]s[EI[hL,{.:b*N}$AIցtp(݂fg誆ך#3 ;%HXTGX# (+sMVߴkcQDܣhKR[T# ִr\wEWAr>bqwo'2OS+!ve4')s)*5Id8U6AQ>pO@$?@d " / V )8agn - 6             . ` @ (P8X9:=: >:?:@:!F:)G:< H:d I: X:Y:\: ]; ^;bGPL-2.0-or-laterhttps://www.suse.com/System/Daemonshttps://github.com/Irqbalance/irqbalancelinuxx86_64 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 irqbalance.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 PNAME=irqbalance SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." 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 irqbalance.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 irqbalance.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 irqbalance.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in irqbalance.service ; do sysv_service="${service%.*}" rm "/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 irqbalance.service ) || : fi fiLBFH A큤A큤cN1cN1cN1cN2a$a$cN1cN2a$cN113e20847723537cf0bbf48f190728eeac44f12f66a2d0804040e9dfae3d98f4f352909a47c91ac9a7e0216e55e30f64a48b7bad9187a43a65d60f51e95e86fb42d56220b7258ebd0f42cca0249cc5261c1e596bf460d3e5f0c62938e6a11aa93cf96bc63af9882228a0e747d6bb0149c68fd6e203f9e277a572f486ad425f1e65a36c48878d6f099cd045cc1e4af366a7035625fc35ade6e1cad012892011c2d32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670fe1467752ab4e864c076dde02413123bb3d6741e6b2e2cfd512e9bc7624ba00dservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootirqbalance-1.8.0.18.git+2435e8d-150400.3.5.1.src.rpmirqbalanceirqbalance(x86-64) @@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shcoreutilsdiffutilsfillupgreplibc.so.6()(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.7)(64bit)libcap-ng.so.0()(64bit)libglib-2.0.so.0()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2.5)(64bit)libnuma.so.1()(64bit)libnuma.so.1(libnuma_1.1)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3c{h@a8a8a.a`.`u`H_9^W@^^^@]'$]!][[ @Z@XXe@XwoXVIV@VLh@VKV@UT7trenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.detrenn@suse.dedmueller@suse.comjosef.moellers@suse.comtrenn@suse.defvogt@suse.comkukuk@suse.comtrenn@suse.dejengelh@inai.detrenn@suse.detrenn@suse.deegotthold@suse.comrbrown@suse.comfschnizlein@suse.comdimstar@opensuse.orgdmueller@suse.commsuchanek@suse.comschwab@suse.dempluskal@suse.commbrugger@suse.commbrugger@suse.comdmueller@suse.commpluskal@suse.comp.drouand@gmail.com- Add mainline fixes (bnc#1204962, bsc#1206661): A irqbalance-properly-check-if-irq-is-banned.patch A get-irq-module-relationship-from-sys-bus-pci-driver.patch A irqbalance-ui-skip-in-parse_setup-to-avoid-coredump.patch A Fix-uninitialized-variable.patch- Update to version 1.8.0.18.git+2435e8d: * fix unsigned integer subtraction sign overflow * fix opendir fails in check_platform_device * irqbalance: Check validity of numa_node * configure.ac: use pkg-config to find numa * Disable the communication socket when UI is disabled * Fix comma typo in ui.c * drop NoNewPrivs from irqbalance service * remove no existing irq in banned_irqs * Fix compile issue with none AARCH64 builds- Fixes integrated mainline: * bsc#1119461 * bsc#1138190 * bsc#1154905 * bsc#1178477 bsc#1183405 (removed patches due to mainline integration): procinterrupts-check-xen-dyn-event-more-flexible.patch * bsc#1182254 bsc#1156315 (removed patches due to mainline integration): fix-ambiguous-parsing-of-node-entries-in-sys.patch * bsc#1183157 also-fetch-node-info-for-non-PCI-devices.patch- Update to version 1.8.0.18.git+2435e8d.obscpio: * fix unsigned integer subtraction sign overflow - Make git hash in version better visable .git+- Update to version 1.8.0.14.ga7f8148: * irqbalance: Check validity of numa_node * configure.ac: use pkg-config to find numa * Disable the communication socket when UI is disabled - Use %{?systemd_ordering} instead of %{?systemd_requires}- Update to version 1.8.0.8.gbd5aaf5 (jsc#SLE-17697): * Fix comma typo in ui.c * drop NoNewPrivs from irqbalance service * remove no existing irq in banned_irqs * Fix compile issue with none AARCH64 builds * Fix irqbalance cannot obtain the full name of irq - Enhance _service magic and add git hashtag to version- Add _service file pointing to github sources A _service - Update to version 1.8.0: * Add return value check of opendir in do_one_cpu * Hotplug may occur again during sleep, so wait until there is no hotplug- Update to version 1.7.0+git20210222.9db8d5c: * ui: fix cpu/irq menu off by one * fix uint64_t printf format (use PRIu64) * Also fetch node info for non-PCI devices * Add hot pull method for irqbalance * Add log for hotplug appropriately * add irq hotplug feature for irqbalance * Remove some unused constant macros in constants.h * Add a deprecation notice for IRQBALANCE_BANNED_CPUS * Add IRQBALANCE_BANNED_CPULIST to env file * log correctly for isolated and nohz_full cpus * Update README.md * Add some examples for IRQBALANCE_BANNED_CPUS * Adjust how we determine if a cpu is online * activate_mapping: activate only online CPUs * add env variable to ban cpus using cpulist syntax * put arg parsing detail into parse_command_line() * Updating configure script to version 1.7.0 * Add strlen checking for IRQBALANCE_BANNED_CPUS * remove redundant "/" in SOCKET_TMPFS * Fix typo in service unit file * arm64: Add irq aff change check For aarch64, the PPIs format in /proc/interrputs can be parsed and add to interrupt db, and next, the number of interrupts is counted and used to calculate the load. Finally these interrupts maybe scheduled between the NUMA domains. * Correct typos in irqbalance.c * free cpu_ban_string when the next request come * improve irq migrate rule to avoid high irq load * make the option 'V' closer to the option with no arg- update to 1.7.0: * Strlen checking for IRQBALANCE_BANNED_CPU env var * Typo cleanup in SOCKET_TMPFS * consolidation of numa node creation on non-numa systems * fix uninitialized use of package_mask in affinity setup * use num_online_cpus instead of core_count * fix a null ptr crash in do_one_cpu * make list searching common from glib * fix a calloc parameter bug * remove some unused variables * use g_list_free_full * remove redundant call to free_cl_opts * fix some resource leaks in main() * fix some use after free issues in check_for_irq_ban * fix resource leaks in irqballance-ui, and in add_one_node - remove Correct-capitalizing-in-service-file.patch: upstream- Corrected mis-spelling (wrong CamelCase) of "EnvironmentFile" in misc/irqbalance.service [bsc#1172665, Correct-capitalizing-in-service-file.patch]- Update to latest git HEAD version 0348a3b. There has been no version update for quite some time, but some restructuring and fixes we want to have included. D install-man-pages.patch- Package COPYING and README.md - Add some deps for the -ui subpackage- Use fillup_prereq macro - Move ui into sub-package to get minimal core much smaller- Add git hash tag and date in version as source is derived from master/HEAD branch. Thanks to namtrac. This is done via _service file. Also add an example how to get back to a stable release version - Update to latest git master version: git commit f7fdebbaa4dbc27fcdeb7- Use noun phrase in summaries.- Update to version 1.6.0 (b47eea84cbb93f533b0cba2f1aa): * fix balancing when numa information isn't available * Refine document about IRQBALANCE_BANNED_CPUS * Fix string truncation issues detected by GCC 8 * fix socket path creation * Update document for option --banmod and --deepestcache * Fix ambiguous parsing of *node* entries in /sys. * procinterrupts: check xen-dyn-event more flexible * misc: Add an example for policy script * policyscript: ignore non-executable files when specifying a directory remove because already mainline: D fix_buffer_overflow_compiler.patch- Allow compilation with SLE-12 and before by: * removing -std=C99 Latest compiler version does not complain anymore, SLE12 SPx and before did. * Fix a possible buffer overflow compiler warning A fix_buffer_overflow_compiler.patch- Removed aarch64-compile-fixes.patch because it is mainline now. - Update to version 1.4.0: * Fixed an erroneous calculation of min_load that restricted candidates to a subset of objects * Fixed powerpc hotplug detection * Cleaned up syslog target dependency * Added some self test infrastructure (via make check) - Update to version 1.3.0 * New features in this release: optimization of platform device irq detection Added sample udev rules to trigger irq rescans on device add/remove Made irqbalance ui an optional compile component Added support for Intel CoD Add -v | --version option to command line * Bug fixes in this release: Misc compiler warning fixes and spelling errors Compilation error fix on aarch64 Compilation error fix when using clang in c99 mode Unused variable cleanup Lots of memory leak cleanup in irqbalance-ui Prevent irqbalance from running in a container Fix irq affinity assignment in some cases to wrong numa node Fix oneshot mode exclude legacy irq 255 * Deprecations: without-glib2 is removed, we just need it enough that we can't dummy it up anymore- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Remove superfluous comment out man package packing- Switch to ncurses6: use ncurses6-config to find the correct CFLAGS and libraries (boo#1021328).- update to 1.2.0: * sort_irq logic rework to fix unintended ordering * removal of the affinity_hint infrastructure as its not needed * fixes for invalid cpumask parsing * many other minior fixes (see git log) * Aarch64 support * live interactive monitoring of irqbalance and live adjustment with irqbalance-ui - remove fix-aarch64-support.patch: upstreamed - add install-man-pages.patch - add aarch64-compile-fixes.patch- Set-fd-limit.patch: Increase limit on file descriptors (bsc#998399) (fate#321645)- fix-aarch64-support.patch: Fix AArch64 support- Update to 1.1.0 * Banning support fixes * Load calculation improvements * Documentation fixes * Fix command line preservation across re-scan * Memory leak fixes * Misc. bug fixes * ARM irq support * New --banmod option * New sleep interval option- Only exclude arch s390 and s390x- enable build for aarch64- enable build for %arm- Clenup spec file with spec-cleaner - Remove bug-893478_warn-once.patch - Update to 1.0.9 * PCI quirk support * System Logging compatibility * isolcpus inheritance * Misc. Bugfixes- Update to version 1.0.8 * No ChangeLog available - Fix home page and download source Url - Update bug-893478_warn-once.patch; (submitted and accepted to/by upstream)/bin/sh/bin/sh/bin/sh/bin/shsheep09 1674202674 1.8.0.18.git+2435e8d-150400.3.5.11.8.0.18.git+2435e8d-150400.3.5.1irqbalance.serviceirqbalancercirqbalanceirqbalanceAUTHORSREADME.mdsysconfig.irqbalanceirqbalanceCOPYINGirqbalance.1.gz/usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/irqbalance//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/irqbalance//usr/share/man/man1/-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:27232/SUSE_SLE-15-SP4_Update/3c9b194dbe774d0c37887bdc64f35ec1-irqbalance.SUSE_SLE-15-SP4_Updatecpioxz5x86_64-suse-linuxASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=662793b9f9cd8b3e9f0006a702a1b8bc985d9404, for GNU/Linux 3.2.0, strippeddirectoryHTML document, UTF-8 Unicode text (gzip compressed data, max compression, from Unix) RRR R R R R RRRRR/JOm5r~q_L5fƍ {|=H@ (Cpn?;$>\ =B4w)tƃpY2v_^q9 FsS %IP(jyx7ُـxYn6 Ҕ>[F% `s9,Y !$PrOMntAwrk2pwzv7T5`HVʆ>1GS7M @]4aQQy'։ْB5G!9(oR[uy*wT=]YKzx&w]{^>8J0=.Y*5 :D lҠLg pÿe렛Լ!N| .X'zkID-YܬF6'w@c%aE2zH$Z͓yn+&T%yc<<9]dU @拨#úr 6 CE4Tk: gb#<|ӥi&jf" j՛d~=]b|x샤?trQHJPٗH+^vQM t=kF!z !4p o7E9#q|<^+Ep4 } T}39.Zp?[/6?2.B|.O }y 3C|;mrqQN5Ÿef`_\dDy剰XضOeR:t?N҉?D G_h(RB+q\;y{龆zk>ϹhQO=ugl멅iٔd-<P;\AdfGM{ K ~_!ȳ(0ۛS%Gc(05Md 6{ ʥ#hhI+pŮACsIm[ pAlg[CK#BZ~@R6qגB4d|KjVà!'5Ehd\CZh8ƠmgwcY\u<[WGXD[X|&vUV6C (hJt&//TAR"T <_#N g 8ZLdP'QeL/uixWHSؾh 6 O#}#:ahygKf41gY7<9TXeK?OAtr9Q*b9-AMod~\I!<&tpdhcv.,]>A%d]nN|~-N< aTq p Y7׸7>Pִ8&xa1j5;&ǚP2RO@1V-"YvCQsnGeRP%Jh .e|'q_[G\'RIHl鞼u ;+1(>Y OŎ$l`cW}cdF> SL7jPY"~WL\mtʎ ʣ"6 \Uh3ˎvw>$6HY'}p1d#jdD 3hB'3МPBǞ̄h%b]˵(G!x A }f*s<<*rу;/S qLZW  z\2YX~DBm<+jy_k̾f8͠Mmןܪɔnx'Ms|ҤZΝ:\Qa*S:ȿj%%Xt9gh_oj%/F#H6ȧqsT@gTr3.< kZS& &5>:-ziֆ8}UjkyIszeDW(jnw+S1-cSYƠjkv++П>T>nmȍb$T@ zK6V'THZJĸyLu8,QaZdzyH"I0a%-GbdUD ,mHRZ)l^fc]87 Z%$Fɮ{uC.~QW-UwMzK' ߻vWВbjIѧ(0zD@ KbBӜ&]5N'f)?9U%^T F5,?9 a_iův`[g칫¾(Z{ݚ$̊.AT,+~ʋ3@Ԋbq2VMSG<: Do?݄šd?1LQl @ uR+|(DEc^~ =>ea'TBoH)OKu@F.Iuh5j~ ?1b^@wfXiRG"'RhKeP8OD&2+x` xI`1dvtFEB{~)uL4(㎠LDUQ) #]P=uw9.1k{;@HXVȖ !|;?P ^v8.-pPF#gS akp}RO}&9j(R򙟣5pcwu +m7"蚐tw2~0QwДzwwojBa6s߱\ oISLW.ݝU:'{ȶz?+gE:YPd& L4e (83' |UҏhfU'Dr2t(;c[ =9?О}:]N+|>{²Gscd.䂘  25 {}8ܳG 1| xC8K3{r[7M36PRvׄ%L}i`]|ƭz ,Jb9NĄ]UTFA 5ý9*̭H}:WH`MZ }I@_qXO{2Tw+J/p&t.zw#.-UJx.Z,OwPVPĿ>8mSZ&{բ?T,Ua>;)6i;L]¼kAdN&>Q4 EA(ZKζk<DŽ wrŮ! "o8.m@v9IdIF"l -Yć<;x2Z4g}%_4\%C-OU`TT A'YtiRqE_Qō7@l!xIcBZՙ3Fw>& fA%ފtSe>?y', vT=p:n򾺕v \lfW>p),LdH:pHo% K]R_;:y<$*0MX P+east4zmS2&(ɊcTƛ('_Cx~Fc=C3,\>_Ӧ̊BCX%G\GFR Ǻ 83 ZήhcG$y9GWrᔇz| )ҟ ࿚iJ?*}sP*jr SQC%6'oҴrGAEEFcwNkJ^/1v>#r/P6J0mdJukj윐.QFvG\.ZsVOsG ȑ;;yH@;UqSkOBӞyY#"Ef<0k\ Z= uUtY$|lp*㾿o{fNxj|&OзVx}#[ͻoBoCys-BV==̔0X)7Ӳ%Wۉ]@-;4~˟;-^1I4Lc3- >sxq~^ү+WCbR(D#)7GJ`DKX`RZ8h$#Y( |@fs` ӪD2lUCrdzݗ{1ƧOEAl0H:yi,DZ*pg'ݩӇ#)20;C.di.ic6AÒE[Ҏ;wc_u_¦KUm3t"%3lOqj_LqCY8`&a/|H/n;lߵMTiLFz\$KstgDCcagN]+blomP6{ȴ]P16:V4.$obF!:p?̻1,*ra&OddI9JWIpB3#o ZO!K_bG ~6;_'ykX=Of֋N:&7A~ƥo7^6YHw\BG#vVVa#F{HoX6zFŒmgqv'}>7UYT%#DGyM4Rz`[b^+tf_Nn'PL Eّtt6J?EG/ɱpm pRR&Xɍ9D/[]ɍeUQY͵[=:Qt|FKʱAATa8 Oe`j bP `~鈦IkB7R&H]CƪM:P!-DHx%y+$4 …ݦ˚>l)aeo$cw*C%34z1qbY1_3p{ 711?絝Rt6S ˼u3=Gj!j^ 'p8{ͤ^YO ܽܥwA]C M)ؽ^5~-𛧠fbCf1l5glDGiҍX(8g(0ޢ!jvC٬m{Ҝi7k(VxwBu%Ҭ%mb/2?6!ԬL;Hⴹۏd-n:${ѵ<9qvOMAu:H[T|*sVD3_ZǙ"Fz6"׊ LD3D}vx3i#0Rg&M49 (3A8ͷtØ"2o Z qR}w˒{ēS,;5 ]L^ic,7orPB%3UjѳIa[zy<8H%guw $?הUO1n_ :Ҡhok$YOGfgzwk%O8{Q^f%.lY)]^ͬl5$>;oል7Rj>$*;Ѱ0;K#d.hs =~[NJw5lȰx$za` ݼ"otS5A.12At˽-s.gsuniOjB@6 a9Ds/ o-3&/hCyx32~LČϨG/C)X>8o+#<~0VTUoİPf UrfHhy3lo`{' =e#"g"bHf|q.pCl|Gb*Õakߥ+9,&aKu^q#P^DJŸa1RkaV w!6)z"q9H ћnhZ$Oǿʕҝ|!)W#"BMw \ȀrbZ}$Rȣp#@c$Y])LMJWZ\B ؖM7j_#F- UX*p^v骒EH|r_!OoyKk5֍T,5`/e xVҨhk[ ʼn!m; N{vG#2 lޫ!!iqpI\m=:]׳\ݴw/hHB2@"8Awe:MG1խۓI^p$Q&gF[o8^㛁@fк7}Ȉk+A Ƹ.Ɛ&7}Zd6>2 8!%UP-ĪAGw1DԞ.5r36tT,.Cqã~Hb^8U'o]QRvTnc@G!_շ9솖'xVDU}>pmUTAUBH i7r9^8nO[ZimUh1A4b}(&lx~Bl3C.K.8OLMg4uK|! E!8 ~n3\:}TD)C쨞T*PQjތ%Ϣlj  rSY-1:O s3@R@1PtVfT ٹŀ ~j:_CӘe-Zl"V·x@5S X,~Y*_cfbJ痺汿8WaÅZUvuh[ CD M9Al|jǾI^y - MިUg0q{q!^)Ձ0άMRyPX߫I⬐*T\@舑Khɀ//CMTPuMI4]n RZ;ҖuG|.sFĸ-itLT+K6$ݘ'5iZd,kxW..q/.yxG{J79XD x)%1U-c"{vK!u2SS.604"295wR]=\]Ê>p 7gj*Ͼ=^XQnhɇlX5ć)Ȗp PuTMlXnF aX %FιZR1h@5 {KS;@,]s #&5[gj=4_ J~4zMwtz uRkCs} jNHBXe-TACtfo:=jZ@26bÀoZ, J}3m{M`۩Jmyoưy&5^:֞vEbmiTmH!-Y#I@aIh&`|12 "C1#Rԗ(39^%7=9m[%Ãy>Jv[q`vMi Uao5s>1++"I^sZ~t^pBu#\<'niXμt[E 3bӤ[*f?uLG7{0K&  UhJ+$x@7:K5 ץa4GGwi>iȸkgT]cSj@'%|bݗS0Q.Sg7ZIA&r!EX|nl-Qq#(||Òٵaf˩_o WnϼզCA P7ߗOTdK,%ht؇j6Y"7ʼNG~`hys*S#mz 3VV%@NPIguRbZc!MR9rQ(ޞ!D)WUknjkxAש`h99YH!)XTey1㤎4^CGNu2.Mdf@2<b (K_r1l4r ق6Om<>loLG=|)GZU~a!~8lۢDȎ0v`ktW}q>녌UkRw.B̵eu+W?Sc NcFks%Z! 8w fk.E7&$23-QyسQ!;j3,> 1@3Κa)c9ؠ$Ma8׸˩/f(k''J( #a."9X}݀iÉICZ>O?U1ωz^9vuwyaPZԬb3z:ŜNn l1J^ ޳(&^- Pu/+Y tA[#NϠ;ʪO&gF}-B3isF8֘|A"4?Ʀ U~twK|duXo(BđN5RxPH-Lw3IF5g/f>LDqq!3crn)9gs ,C7deSQμi4Fɿ}$b:#g~c$8$=釐Nkc@p%?.E@p2v\Iҍ+X#A6/$z5^dR?yG]Iie8 7hǸ}'.]$j ǪQ#M2eȃ .^6`l3zhT,៓A/eH[Ւg\$Qx@dpK68rȃNȦt-KᶵϷ- >.gbdbD𬕋il.Y/mӦUW`t]`Sׁ(tjV m򶣍7G;{%骂EåJ}J~Gvެ $M4~ןw.;bzGyߣ8u>,j[ҁEb"V>+}^^]YR"^K d692Sێ Ѭ{0?+4*93bȮJdJ0J?{K)BW2X_x̧u:65B'ρ S"ũ'd(1-*GB#~Ps` Xk(Q ql2Gh~f4 g hɄG.b\znv{fcrrl>:_Q)?:p*jQ!ifMdRdXybDao61{)ou EFF6k9v%.㻋z[e);bd!$)Ly@V5) SCK_t7 5!#Щ8P/ ްJNW $dmE(r2J^O@D"Q -̵~oӢ_V{?MK3~ KGE*X:< =6{>L: E_Ⱥ;բI~Y^|!Diz1bW[#p9V!b(gLc]g:+GaM>5Znj;H ]N^X-uW;}@z`N5]HnI XA*?taV0͗V^t#\~R7kxB_ͩ:[:ϩo1S{i_$kEЀ /NoM3W6=LTi $3WH%(bǡTۙ8;fʹ,\(kp{9;NTH0m:[_t'ou0}@A}eX:L7v1CK>CU*]Jۺl;՟ԃBGlXLϥۗP+GlE(3 \>8/\odl*OҢ.4oY}CSZ?(5Rm8 gIOBSlra44ܨA5oD&IJi{v\ N@>ƮD uӡJTmO`_](ML.09qϘ89ꏜ7M|K~(ЋC(~%$sʏ'@Y yϓb}`@=j }çVz= @ɆKsS~JI}l)^8//edL{VGm[՞#M`ol0CjqXG?{OZ<2Ufg/qKꀞ1P7w8zuUs{(KdPaK!*f%:W86wy:z C"ri'B !9,3Z5zn\ AE]2#gDOQOB )m 8 qYwYfekK)p׌` 3'#N^\=s̽P-<$NǮ~p}`÷,; 6h˱;o*g %]{ i$ 9lz9oQ($(gY8}yx|7I;_3t֖kިxo &8ote龋ߕSoJ>re?"M: 1u6JA~=T) T"S0oxO?p~ +iRlƞg)|Mҳw{3˨ kXC7v|G&Eֿ ʵ<Lu(4Naw99OM=Uoˁĝ3|Ѡ04:9(mZu7M8JG:6 4  &mλfRJD~)#]蟻e[XXtx:_Rט7?w&KE('UJt^DB'8U-%o$oHU[=I:,c,UV>#w5՜ <)ђ X$B/cw/uM  O X`+6uJoEn9\R%.oQKv}`sp/#Ei~bp9)ߩYe8`9'tcAvF_RBlf ex믫aIڧwS@B[$3R#٭X!%zM#&‚gKq>-&M2:JuLrI#{dn96I%ֽȾ2ߍNIBP(W./":DO.ikPi#I5j[6.\ 3c YPi+RBҰE6n{o,BSHkBcAgarU)=@X=髲PLE*a Ec[BFB6g7؀T6^8e5u٧on M*؍2%IQlb&M\5Yނ'8Gl !)?] = p*J5|'67UK֯o;Ns/O43x8H!q =߫ 4.p>FAe}P+,wC|@}-O)nj"#rW'P2~8IR?Bt.֓XX-KT"lt4)]%Wpg*K-^]٥ogƢ;+T#ERP#^ԁ]X&sNgX+ 6[ N|.^i[W((460Y†zX߼G051K UtCѭ%5 sZfp|zK2;J}l^Y$مEILbJ#:Zޅ4$>dο#2ߓ wC$ZcT7mXŜm eG\;֡$wS:@˷r-EۊmwbQ&;(ڿ/@m 9uhzXRϚH^*My؈_5ЍqJXAS9/)bL[ٺ ca/J M>7Q#vPhGB~kTޖs1%6֤U Ag<ڀiV< R!$(۫M_l Jtit2#.zalty4 KU4J+RT+̸{HkJ'ONM#"Lmv#&GSR7b6'>=yaE4Kp HФZ(]hcf$= L@mϝSفC*"<ٙ=n`g[B󞟩qx׹JUB_ ^#3C  3Uʉs űRT`! kԬ =. <)RS ^4[8iζQ9SbAdk$P5%Y_>U\jd{.U%LƓ9vs?Ꮾ'|?S+ m]6#Wx~ӕh?Ň,U ei~9]K֠i£P"lDZ$.HLCmF{jbcX8;Ֆ5㨇O빅5ӾK),sWX/z*-⣉*D= j|b K%A@f&H"=RLpFEHߘh/s '[H W8PHp̂Vcrb#?W`ѯ:\R8-6t,}쉓`.;ɏkȆaD~Hk" %wyR_кKo .ˁ0]j -5.iP0wD8 Mi;)$Ta;}9q09 ` %rӗ=N MkåJ:s*Ъnx?LJm=OE)" y;:ljx~jR3 dH/8hVkFbYݴ7 +o g񆙫5sEMgm4^/5(dW'Lx9w0po9"h1iq6-:J'ǔ5Tz*1?ស<"z~frc9ӅG 5=1*;y v1! f}azai`aWDV&>:'ZܹZ_Ӈ~^3/2r$M8ȴbUYDXqܕsukFj!V -,=?`aA<]̮.Hý-!}%{V.G91s[ b?!0XU-[>Ui(ݚlC>L f}4+SͲG!4**975 '̀`C0Ѫ-xÖ տaǼїb\T>:`cds|_(P:Y< ĉAau;Dђzה[h$'C$?D:`0ѧ"NBj (yGEIOi=Y^sJiUuMH&I'|6w{ІCO]JٚpFr΅O (Ny%2o]E: kܚeb.,t Ɍ*Ė!h@% }ZQ7=QG<4r瀊#! ;v` )+%%^˜P/$4l V/%XV64\+5j0TbZ]'w|~q]2>)OQ:Ev.L\m s]"! f'{2J:H uF"|V x3B,V%D'<.' 9zӦtIWҦݐ 0=ʝ>8|0BQQG>j4I?L°%r!44zKöQ^dۑR20l|yV.J򓖯ۿ:TWSX7׭wyGA\CwqP1K|kq&7fYS8Q|zIk.̩R1vuWTR*;.j!nlm̿ >Ņ&LBj\QS !bi^c`Q3+5Վc jdW7^Ez\kUyk&8(B4 ;iE!m/ӢN_!-d_e~>7@[ї Nqh)Ig@@jޜa1O}1flzuu*8j \6l]&E#@y*% P7 rVTE&&l1tkt gm\X5HXf):čSP05rV 疛OnrN#p}SDv:Ϊl4j{8rz{' %ѣ饈.T2X<:ON)Z4#IyEֶ…m|!0 `bIZ+Mx^<-"U.Prh,uS䊏%bW3gq*U|WԐIeFϘ"]˯0`&.ܛ*x~dL yۅmSbݼqB8:Kk/ bF\ߛIC'1c㴚Gls2)l(NU7p(mLF#^lF'+Lh[ܭq"mr^}m@{* 2RU!)@S$K&n} so$Lck XFpE7 $2/dN?nuWl[`@]AQilѸdwYb>oٻΦĽjG`= "=?y#\DX,:2-ʙږ!0Ox`v\_w35anT.:KVeޫKboЏBݷ_S OY-Ugp#3zupD %i]5A{o B+yv6c5rV2 9(o+AwA?%Y[G1 EHH.f+&G[ 5G#鲪q),uMt#+,})s~S gX],2겮WޞAfm31P-ڈ<:B؂~zV WX[WA~ o-~ێxM /_^샭,'Ӄa-h$`0Xa{ܿHp'$_rLֻ(H:{q5}35#IR[OҒyAb:,LRm/A"Uj_a8+֩lQbI '%97MkIMg7$PRՠ< %&.yUTv:L|52tG0Yu Zv_k30 tMw c7d Eј@ DkfAd%0/bBC 5e~TC9~Gf54U_90e-)idO~(Vu'uGgu|.}YJ/pFS %A%FfYViuLɆamQH%F?H]]zV2*YPb{F8W2QMa4@`Qwv: ;% [EO:ڱQyF<]DqRGW_[BA|.ҟo"I&Џ0g)F"E"j`A\Ѷ ^:!S% 42 PCQC**bOy%P(5M@|ŝob\ P(tHtPzoX\/dU&^c]:ӄ j6+jv^|!=W:99o> &S/p͕)U^tRUI`mĢo }zaz4UzOx\Z`zAw/Bm;: uB hvy2K)K8dk~M]SYp2mkZ"ULTTl ,<HV1ֿlD6 Ѹ.ߺk@zhZF-]-(Āo,oY. r1COnC c1ȾR[8D!.GX:6(w2X',v>TfiC(Q_>2lws.U HB` aP/it=҄j: Ŭryh es,zH(BtU`Z2 p渼:Mz ;.8d>)d_~ڳWn+MHm+YX݆U~ӧhǏ~$-#x)()ܼ4}\>ܬ`s_ #2ȐN<WD@Vr`2|;A3l'Y)ѿD@Tuc,#>S'ss! b!H@*w=ݩ<`hXhu>Wwn})1FnoDrH.ҟ$)5U9G*ݴkC'?D&cېmCɆLRwLf۵W~/7T.fdA}5C<ԍ&9s!1bS%v[OCֻvHT!S}Jx}6ijjR.ͤaͬۮt $+K_,G"P;p2$[wcBHu֝.ib9"l]Wj#=rg枛Vv4@N;>RLIhN8#C-EC;* Nr!14mXI/ lrHuqr!;0T| $ˋG;p`|oɿ.|MGE,g\S ;.ǠAR5CCDZA45M%r嘣M|ꮔ;֨=)zwaփ*Rz(%BSRݝ{3gl-m%?s}\ `<**0^Nflz%ZϷ߸R I#D v#P{((懶zpg OpB6H x˶;F2I5^4bC Py퐥1<u_Zr kz_¢UWWpvYؓ-GT4Wɞ8>n򍓀0;?f|GVsYuVܣy*+!GCRJ !Q*Z`1 )3ڍUNsYT`Z:U&UEg hq~M0m\z؛]iPSC[E'̨ KYU^{ݖ} ﺅ(߲, VdgIra=a;hL ^ Pu:4=(10PtBW˭QWZ L#ha{z`/- )dk/UkKd4Z,?;c"KÈ04~̖ ?{UYxy^kp?$KfaG_ċP(3Mo̯|NQR&Ⱦȩ~pƠneK1Rj~{E3V?[gG}'&Yv0Ԅ!"7&̇]9ɧnd a(S8pC5uIJ)_[]qZ ?ϟ$-BwqtFbT gmډU"JXϺZve7oϕ}ł "Q9~dgirh/Faum{!Jͯ KoAkcZJ2'ƍ Bsd@`.#7\e3V)zϟo)94n(]z)(STh!R98γ*zr-X-Sa?s]ƺFQmPRؑ2A@@oJ_OJ@LpU9iaQr6+mZ˜7/mrz$jlFە40aL=z*9 \RHB)vO!Rڢ*7$FTڡ-d=(a*7Z:"\҈*4XB%I!NL+˲h14Ps۴l xnϙ{v\ïcƮ58pMn˂M`"bHVI`GwMWaM6T<<םi*1$/=u:L> Ǖ`,uQȆ঴Š_W25TX>lK@=˵6zFK Z{Jj>\жJ^}kl'(B?#z)(x vW8bR@?"H;X)ѿ>F NQO/-!hM$M K  i7wSf,:b4ʘm'M*f$OD&=boHGa}Gu5C230Dr-OK"K\ m iftwmzMy.Mf:ѳzh\Uc l} .؝֛M6 R#, (jqF$ +r5IL<*TDXrXSN,C]P^u#okjS'!\FCŨOY\xZ;'d^MIʮp4%-2y26܂fM5yٽ'.r\"AZ>}3Xr-Vh 뗲>^FW|~opלP|oN nMDd^"7u /(?bir6 Ԋ+\m~ f p|хx?󴞞zJbRڌo1(;1O) 7)-1dT'BZ"I輻1!3QMXG礦 | %: }9E(7)>*ŏk/{bZ}uJ#qL/n r)A}5͸LWyrdc^͎v4%iBaU;IdēWҳ0'[DViʕp΁@y|;FgѶJ|PLŒ&"U**?S΁o6 c0+u 6)膻9!,kL#EHS;giNjPy#cp^)lV%"[ͫk!Y 5h|hA2"rN"INPj;r1ĚŤ!eܽ&0+9eaAe`B<7XWv*0<|杮0ڹF64;_t86`CDZ-(n/][H0x+C3leg mBRŷfPU@v[ag$'iLW}X![^̰G䎄m gH0BWq3%۪j)iuE'j(1e y:%hRwI _ ]!qL{:<-NO#S'(rR\\<라 h0Vޛt@hѶ,KHOL4 ~YaOyV:8nt֔mF_i'2~)Yh 2eV4a9/LCY݊|͕3 .}z4s=9>Aؑy_\t{#`Sd]mҶXCtyJ_ɯ8dj4?s򕉫9;t\+V~^G6ol:28xA@]-W /!\fiy\̞oWz-ղ҂4-} ߐ[@TiX~N7JGRfȗ(]\EZaʜ-\+  W@!9ba?5SȣљN2 9AX[a Xn@:ɏqpG5giA+kp3 xNNېA[|w?Xov7-y-a2?rZZVu , OTm#G2;ps_X/HASDsLpaa,a) vEJW5vY_ՋT:Һ =<n9|ZQs75T(=}|K4RY+V#fkB@꓄_7"b}2J=MfΫOϯʵ#=T\x NgzV8W(LEy5$>l G+{1}x/?W0#N`-i&W4d { ­(,1 H)А-M.3ϲ*`|@Fr 1_cFy2K`LC!ݝo$οM&X:N$~==q _\d2d?tȚ[OZ(*"pK0Ių؜i++ЇagdIǰ'~=#Q%:c0dCYO*ȦiV_$l ]fn79[UO$m>—~ /G.-6sF7<l nS\~#rQFt M3MÙ 8vM;+$i^z\0U -ݶM@bÀU&v\+e~Gu2) lbuHGe<7SC`pk!q(M'F,k[>g -!   OLr)+Wt˒a&?e^T4=q YbmYFh:{܇1AE;k& l. 8B:Mtw%Y*fLq0eC9h!F t+igꛄ u#.wO[<)~0cOm@4=C4CqRJ_h%qbf?J_~HQخwh):Nna#vUtH?QKg$@ͮ"2#È'X|n??NemgFy[Ӳ@422Z`85벬d@ϼ51bڜ(Ƹ$ޕ=",^ZhDnB4r0@.6tLfi!Sd9,)J|#<kk3 /nk0k5N :ꢩ=HN˲~]Œ}C)X&DU]zo@^&pBx>Q `%LO'f} GA=qQG?p +|n.A]}"0*)ywL~\c:?9H{R?gx6Sը$xqT 㡱W>:l IG&J1o\!oFHegQ% 7H\Dް_DHlm l ,.񛒕A)8rVқ m=/H;G*^vz~kȉ!L{IdQ2S#W\}Ƥ5O%%C#mDLjai|E~G?TF gga&]oh勳+vs4-"} v9Aӳ!_آ-ZoɄS9o9O+eAL'9z}+ZVhLL;{ \BTSUJPHsOGeG֖ _OKݩ3Rn0(I;bT=bAP9SOA: _)U(UaƩl/Ԥ]䉚-HBΧ~ 2ureiO?{eTCޒ1h2y} ONS<Ii64PѩoFK:ciXժ+6:&TC:sJys1AΩ"o}=s=X+|N]'W kuˑK5L3P~I1_"NjL6,[+ ]~MޞRGn`YM~'FnQy7qH4鐌l?Q Wr(Ǹl& Wjg)>]@9pTBL84COsjpb/>`"9VEN,VRL'|:ء`+Om0y]ZbIϼ3HQGkz~Ry }toJ9[J!ks=CdR=YFvП&|)lo0'$ r>(׈Ǯl=r%XfKрw>1ESYΞ@q drYQs/da6bWգzϿhJ0odn\Օ9iŕ$f"#.P^-Q:4j]zMvˆ4$3xcM+Bն_պY'dmTνB?BFdrg*H3c!t+qwZ!M"gXwS2todm3x~U% ZY@v:űF^+e#f:|ŦGo aXՎxVu򽷅x6L1u}-M^*EcJ~EԸ/~AYUqİct9+{4#gjfx+ cΊ7QX8PD$%hysi]OQ ~aMaS6W1z~%*G OLodU5&Fm)*M$JO $.6o&^3ǼܸLO,13N:hlOњ\7wn1;ؘBa&./B/ ʈ~kʒdo`TV)Af:)4mB'#')h3jG?Zӑwl*i)Ɗ ⩋ Ԍ/g~u.nTm2o1MGϘބ;mV:$zd:T ϓW)D \y8m3fĦQ_ ujf;lu%"~_{`:eӦꝌMJ:UX`aIe[7D:ƋwUQ\=n8 H'zխt#5AN:h_1d|xLL*սhBUf{{ϲ 6ɡ~9L9,InJ9jKO h\hğg<԰$pBSGD)q}hI2wǷET7CO.irQy8›Kf̜%$˄$fԶbE^Dt!S3oTݐ N !VI}Wno$'o9e:_%֞U;nYD>d|3 B=.@lÖQ<N7~,^ ysQ( 'RH^&gv:*GuF.FoADUNm/]\b) ѕ  4?gPl3."|5c(̿LJB5fH67[g~3$+^s iI\#IB jxlK.>k//.ouXX 7UN-!Ӻ[^y(\RNƧl\,Ձ(-Gq&M MRg_",Ő̖b9z)\]nCx~yVtZMIßˈ]GP aP(4 n޿Xq}~Tk[ ge)9HRx ň>4GX/.@{ҙpțF9w܏] .7:y~4S8wJ{ 'o?Y=:f(}YxxxA|Mk}`9b0Kp/m)fΑoБ .Dv +;ԫS@L;@ܤ{Z:I;da>mwWѩ=57cɽDzv2:Ӓߴ<>"j%bՆ=M Lȵ`_hC&{!3T11flEY&-g%RT"LϿS|P88MtgxGxDcT,^xPL~et6Xq S]3fWZ$'lR^P3;b_ QI;YZ|T7dR X<1l2)3[_kj]b\R?<xf__'8([q`?4~ϻwW Dp{x;4a}UA>_G>6x[3yVp]H8Z2 x%Y{(};h$Ӷ68g%2%wەk^X&8;AP6LCDXWڅTj7qbjzzm߀HۈC ڪ΄x%)gXm@&,"1sZgs|;¸5t1 ҽ`8x)lz3 uB*}o.pIxLLٜ@[7*[H[!kԻ^4#W ]g׮c1CiR$/kRQ} /4MQO5a;^sQBrP"ZyB\o0,Ǚggr?;5"\ ǂɻHpu<x12eqh6#O_[XV |i3=rkZ )3ITS2p z:-Yj䁅Q˿N2ܜw+~2ӭʥ_3dHoPTX 6Hp>%l =~vO2dDpQпR̒-M|*K-==*SМSg51}jX4Wod1b Vɓ~bc`P {+$O `tC b339ԧe l cW[uo'P0 VgUl#4A&Xҋ r+ 9KT#wt#>R ;¡qxshdAƾZUyȂы94 /{>..9;?{naqC4IGDh%"|&"0xw-Ucßanvh]X)Xp |01n$w7c! YZ