dpdk-thunderx-19.11.4-150300.16.1<>,̉c$2p9|(٫9'f6CwM3%ܠRm%8BƩda-%D+xϤ|* dbm(NHWZ|G ۓ`!sU/P1m}#įh8b6BА7Kk[A\5r@&&0Ha4ѫcs ZČ2wxt/,y𩰢Gqq[+SX,,oga1mH ݎbVXmTwz{ n>?@?0d $ \N du    " 8PnC CXC(8F9F:oFGHIXY\(]@^bc5defluvwxy0l,Cdpdk-thunderx19.11.4150300.16.1Set of libraries and drivers for fast packet processingThe Data Plane Development Kit is a set of libraries and drivers for fast packet processing in the user space.c$2ibs-centriq-5USUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxaarch64  8$ c$/pc$/pc$/qc$/pc$/pc$/p1791af237303f93e3788fd5f9241b1b0cbbeb9bc93eabdf84ec05168d4faf67679b2cac3431c56c6b91cc4be0a5bd7b1f19fedd650e60a86b9e3ff7cdd66439cdf34f3773a0fb13474c9953fa84929abf5ccab9339f6235ee75de4458b2e924b2624f96b5edb62a22f07e3ea02898498d4ab369f6ac02d7fe130c8f278c46c44fb09c3f8b0ba5c9866a2c48cd6c496a18f31f0b76e6c95176e1ef9e923883defdpdk-procinforootrootrootrootrootrootrootrootrootrootrootrootdpdk-thunderx-19.11.4-150300.16.1.src.rpmdpdk-anydpdk-thunderxdpdk-thunderx(aarch-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgcc_s.so.1(GCC_4.2.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)librte_bbdev.so.0.200()(64bit)librte_bbdev.so.0.200(EXPERIMENTAL)(64bit)librte_bitratestats.so.20.0()(64bit)librte_bitratestats.so.20.0(DPDK_20.0)(64bit)librte_bpf.so.0.200()(64bit)librte_bpf.so.0.200(EXPERIMENTAL)(64bit)librte_bus_vdev.so.20.0()(64bit)librte_bus_vdev.so.20.0(DPDK_20.0)(64bit)librte_cmdline.so.20.0()(64bit)librte_cmdline.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0()(64bit)librte_cryptodev.so.20.0(DPDK_20.0)(64bit)librte_eal.so.20.0()(64bit)librte_eal.so.20.0(DPDK_20.0)(64bit)librte_eal.so.20.0(EXPERIMENTAL)(64bit)librte_ethdev.so.20.0()(64bit)librte_ethdev.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0(EXPERIMENTAL)(64bit)librte_gro.so.20.0()(64bit)librte_gro.so.20.0(DPDK_20.0)(64bit)librte_gso.so.20.0()(64bit)librte_gso.so.20.0(DPDK_20.0)(64bit)librte_ipsec.so.0.200()(64bit)librte_ipsec.so.0.200(EXPERIMENTAL)(64bit)librte_kvargs.so.20.0()(64bit)librte_kvargs.so.20.0(DPDK_20.0)(64bit)librte_latencystats.so.20.0()(64bit)librte_latencystats.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0()(64bit)librte_mbuf.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0(EXPERIMENTAL)(64bit)librte_mempool.so.20.0()(64bit)librte_mempool.so.20.0(DPDK_20.0)(64bit)librte_metrics.so.20.0()(64bit)librte_metrics.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0()(64bit)librte_net.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0(EXPERIMENTAL)(64bit)librte_pdump.so.20.0()(64bit)librte_pdump.so.20.0(DPDK_20.0)(64bit)librte_pmd_bbdev_fpga_lte_fec.so.20.0()(64bit)librte_pmd_bbdev_fpga_lte_fec.so.20.0(EXPERIMENTAL)(64bit)librte_pmd_bnxt.so.20.0()(64bit)librte_pmd_bnxt.so.20.0(DPDK_20.0)(64bit)librte_pmd_bond.so.20.0()(64bit)librte_pmd_bond.so.20.0(DPDK_20.0)(64bit)librte_pmd_i40e.so.20.0()(64bit)librte_pmd_i40e.so.20.0(DPDK_20.0)(64bit)librte_pmd_ixgbe.so.20.0()(64bit)librte_pmd_ixgbe.so.20.0(DPDK_20.0)(64bit)librte_pmd_softnic.so.20.0()(64bit)librte_pmd_softnic.so.20.0(DPDK_20.0)(64bit)librte_ring.so.20.0()(64bit)librte_ring.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0()(64bit)librte_security.so.20.0(DPDK_20.0)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1dpdk-any4.14.3c@bk@bj_s!_i@_2@^@^l@^\@]@]@]\@\Y@\o@\I[Ѱ@[[['ZZ@ZZZH@Z\ZTZ@X6@W= SLES15 It needs rdma-core >= v16.- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files - Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02 - Updated to version 18.02; some of the changes include: * Added function to allow releasing internal EAL resources on exit * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API * Updated i40e driver to support PPPoE/PPPoL2TP * Added MAC loopback support for i40e * Added support of run time determination of number of queues per i40e VF * Updated mlx5 driver * Updated mlx4 driver * Added NVGRE and UDP tunnels support in Solarflare network PMD * Added AVF (Adaptive Virtual Function) net PMD * Added feature supports for live migration from vhost-net to vhost-user * Updated the AESNI-MB PMD * Updated the DPAA_SEC crypto driver to support rte_security * Added Wireless Base Band Device (bbdev) abstraction * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD * Added new pipeline use case for dpdk-test-eventdev application * Updated Eventdev sample application to support event devices based on capability * Added Rawdev, a generic device support library * Added new multi-process communication channel * Added GRO support for VxLAN-tunneled packets * Increased default Rx and Tx ring size in sample applications * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL]- The vm_power example does not work for ppc64le since it uses the IXGBE PMD driver which is not available for that platform(bsc#1082154): * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: * location changes of the GPL and LGPL licenses; * net/mlx4: - fix drop flow resources leak * net/bnxt: - double increment of idx during Tx ring alloc - group info usage - check for ether type - size of Tx ring in HW - number of pools for RSS - return code in MAC address set - link speed setting with autoneg off * net/nfp: - MTU settings - jumbo settings - CRC strip check behaviour * net/sfc: - multicast address list copy memory leak - DMA memory leak after kvarg processing failure - fix label name to be consistent * net/i40e: - VLAN offload setting issue - FDIR input set conflict - FDIR rule confiliction issue - setting MAC address of VF - flow director Rx resource defect - warn when writing global registers - multiple driver support - interrupt conflict with multi-driver - Rx interrupt - check multi-driver option parsing - flow director filter * net/qede: - enable LRO over tunnels - reject config with no Rx queue - check tunnel L3 header - tunnel header size in Tx BD configuration - VF LRO tunnel configuration * net/mlx5: - Tx checksum offloads - un-supported RSS hash fields use - device operation type - pedantic compilation - fix pedantic compilation - flow item validation - flow RSS configuration - UAR remapping on non configured queues - secondary process verification - port stop by verify flows are still present - flow priority on queue action- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)- Upgraded to latest major 17.11(fate#322609); some of the fixes include: * Extended port_id range from uint8_t to uint16_t * Added a new driver for Marvell Armada 7k/8k devices * Updated mlx4 driver * Updated mlx5 driver * Added SoftNIC PMD * Added support for NXP DPAA Devices * Updated support for Cavium OCTEONTX Device * Added PF support to the Netronome NFP PMD * Updated bnxt PMD * Added bus agnostic functions to cryptodev for PMD initialization * Updated QAT crypto PMD * Updated the AESNI MB PMD * Updated the OpenSSL PMD * Added NXP DPAA SEC crypto PMD * Add new benchmarking mode to dpdk-test-crypto-perf application * Added IOMMU support to libvhost-user * Added the Generic Segmentation Offload Library * Added the Flow Classification Library - Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810- Upgraded to latest stable 17.08.1; some of the fixes include: * net/qede: disable per-VF Tx switching feature * revert "net/virtio: flush Rx queues on start" * various fixes for mlx5 PMD drivers * various fixes for bnxt PMD drivers * various fixes for i40e PMD drivers * various fixes for crypto PMD drivers * testpmd: fix for non-consecutive ports * ethdev: fix ABI version- Add missing libelf-devel dependency- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) Some of the new features are listed below: * Increase minimum x86 ISA version to SSE4.2 * Added Fail-Safe PMD * Added support for generic flow API (rte_flow) on igb NICs * Added support for generic flow API (rte_flow) on enic * Added support for Chelsio T6 family of adapters * Added latency and performance improvements for cxgbe * Updated mlx5 driver * Added NXP DPAA2 Eventdev PMD * Added dpdk-test-eventdev test application * from 17.05: * Added mbuf raw free API * Added free Tx mbuf on demand API * Added VFIO hotplug support * Added PowerPC support for i40e and its vector PMD * Added VF max bandwidth setting in i40e * Added LiquidIO network PMD * Added support for NXP DPAA2 Network PMD * Added support for NXP DPAA2 - FSLMC bus * Added support for the Wind River Systems AVP PMD * Added vmxnet3 version 3 support * Added MTU feature support to Virtio and Vhost * Added event driven programming model library (rte_eventdev) * Added Software Eventdev PMD * Added Cavium OCTEONTX Eventdev PMD * Added NXP DPAA2 SEC crypto PMD * from 17.02: * Added generic EAL API for I/O device memory read/write operations * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL * Added generic flow API (rte_flow) * Added APIs for MACsec offload support to the ixgbe PMD * Added Solarflare libefx-based network PMD. * Added support for Mellanox ConnectX-5 adapters (mlx5) * Added ARMv8 crypto PMD * Added crypto performance test application * more details can be found in http://dpdk.org/doc/guides/rel_notes/release_17_08.html http://dpdk.org/doc/guides/rel_notes/release_17_05.html http://dpdk.org/doc/guides/rel_notes/release_17_02.html [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch - 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch - 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch - 0005-kni-fix-build-with-gcc-7.1.patch - 0006-kni-fix-ethtool-build-with-kernel-4.11.patch - 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] - Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+ 0002-kni-fix-build-on-SLE12-SP3.patch]- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version- Split libs into a subpackage to provide multiple installable versions on same sytem- Do not use obsolete pci_enable_msix for() kernel > 4.8 [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]- Updated to 16.11.2 which provide bug fixes as below(fate#321541): * mbuf: fix missing includes in exported header * eal: fix debug macro redefinition * net/nfp: fix packet/data length conversion * net/i40e: fix setup when bulk is disabled * pci: fix device registration on FreeBSD * net/i40e: ensure vector mode is not used with QinQ * nic_uio: fix device binding at boot * net/bnx2x: fix transmit queue free threshold * net/vmxnet3: fix queue size changes * kni: fix build with kernel 4.11 * kni: fix possible memory leak * kni: fix crash caused by freeing mempool * net/i40e: fix allocation check * net/virtio: fix crash when closing twice * net/ixgbevf: set xstats id values * net/i40e: fix hash input set on X722 * eal/linux: fix build with glibc 2.25 * net/i40e: fix incorrect packet index reference * net/thunderx: fix 32-bit build * net/thunderx: fix build on FreeBSD * net/thunderx: fix deadlock in Rx path * net/ixgbe: fix setting MTU on stopped device * vfio: fix secondary process start * net/virtio-user: fix address on 32-bit system * net/virtio: fix MSI-X for modern devices * net/virtio: fix link status always down * net/ixgbe: fix multi-queue mode check in SRIOV mode * net/i40e/base: fix potential out of bound array access * vhost: fix false sharing * net/thunderx: fix stats access out of bounds * net/virtio: disable LSC interrupt if MSIX not enabled * net/i40e: fix mbuf alloc failed counter * net: fix stripped VLAN flag for offload emulation * vfio: fix disabling INTx * net/igb: fix VF MAC address setting * net/igb: fix VF MAC address setting * net/ixgbe: fix VF Rx mode for allmulticast disabled * net/bonding: fix updating slave link status * net/virtio-user: fix overflow * net/i40e: fix TC bitmap of VEB * net/ixgbe/base: fix build error * net/ixgbe: fix Rx queue blocking issue * net/ixgbe: fix all queues drop setting of DCB * net/ixgbe: fix TC bandwidth setting more details can be found in http://dpdk.org/ml/archives/stable/2017-May/001809.html [- 0005-kni-fix-build-with-kernel-4.11.patch] - use default gcc which is now gcc7 (bsc#1042372) [+0005-kni-fix-build-with-gcc-7.1.patch]- Add upstream patch to fix building against linux kernel 4.11 [+0005-kni-fix-build-with-kernel-4.11.patch]- sync mailbox definitions with Linux PF driver(bsc#1035993) [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]- Fix dpdk KMP build fails(bsc#1031750) - enable igb_uio kernel module(fate#322394) - update kernel version for SLES12SP3 4.4.59 for bsc#1031705 [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Disable dpdk-kmp package for ix86.- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): * app/test: fix symmetric session free in crypto perf tests * app/testpmd: fix check for invalid ports * app/testpmd: fix static build link ordering * crypto/aesni_gcm: fix IV size in capabilities * crypto/aesni_gcm: fix J0 padding bytes * crypto/aesni_mb: fix incorrect crypto session * crypto/openssl: fix extra bytes written at end of data * crypto/openssl: fix indentation in guide * crypto/qat: fix IV size in capabilities * crypto/qat: fix to avoid buffer overwrite in OOP case * cryptodev: fix crash on null dereference * cryptodev: fix loop in device query * devargs: reset driver name pointer on parsing failure * drivers/crypto: fix different auth/cipher keys * ethdev: check maximum number of queues for statistics * ethdev: fix extended statistics name index * ethdev: fix port data mismatched in multiple process model * ethdev: fix port lookup if none * ethdev: remove invalid function from version map * examples/ethtool: fix driver information * examples/ethtool: fix querying non-PCI devices * examples/ip_pipeline: fix coremask limitation * examples/ip_pipeline: fix parsing of pass-through pipeline * examples/l2fwd-crypto: fix overflow * examples/vhost: fix calculation of mbuf count * examples/vhost: fix lcore initialization * mempool: fix API documentation * mempool: fix stack handler dequeue * net/af_packet: fix fd use after free * net/bnx2x: fix Rx mode configuration * net/cxgbe/base: initialize variable before reading EEPROM * net/cxgbe: fix parenthesis on bitwise operation * net/ena: fix setting host attributes * net/enic: fix hardcoding of some flow director masks * net/enic: fix memory leak with oversized Tx packets * net/enic: remove unnecessary function parameter attributes * net/i40e: enable auto link update for 25G * net/i40e: fix Rx checksum flag * net/i40e: fix TC bandwidth definition * net/i40e: fix VF reset flow * net/i40e: fix checksum flag in x86 vector Rx * net/i40e: fix crash in close * net/i40e: fix deletion of all macvlan filters * net/i40e: fix ethertype filter on X722 * net/i40e: fix link update delay * net/i40e: fix logging for Tx free threshold check * net/i40e: fix segment number in reassemble process * net/i40e: fix wrong return value when handling PF message * net/i40e: fix xstats value mapping * net/i40evf: fix casting between structs * net/i40evf: fix reporting of imissed packets * net/ixgbe: fix blocked interrupts * net/ixgbe: fix received packets number for ARM * net/ixgbe: fix received packets number for ARM NEON * net/ixgbevf: fix max packet length * net/mlx5: fix RSS hash result for flows * net/mlx5: fix Rx packet validation and type * net/mlx5: fix Tx doorbell * net/mlx5: fix endianness in Tx completion queue * net/mlx5: fix inconsistent link status * net/mlx5: fix leak when starvation occurs * net/mlx5: fix link status query * net/mlx5: fix memory leak when parsing device params * net/mlx5: fix missing inline attributes * net/mlx5: fix updating total length of multi-packet send * net/mlx: fix IPv4 and IPv6 packet type * net/nfp: fix VLAN offload flags check * net/nfp: fix typo in Tx offload capabilities * net/pcap: fix timestamps in output pcap file * net/qede/base: fix FreeBSD build * net/qede: add vendor/device id info * net/qede: fix PF fastpath status block index * net/qede: fix filtering code * net/qede: fix function declaration * net/qede: fix per queue statisitics * net/qede: fix resource leak * net/vhost: fix socket file deleted on stop * net/vhost: fix unix socket not removed as closing * net/virtio-user: fix not properly reset device * net/virtio-user: fix wrongly get/set features * net/virtio: fix build without virtio-user * net/virtio: fix crash when number of virtio devices > 1 * net/virtio: fix multiple process support * net/virtio: fix performance regression due to TSO * net/virtio: fix rewriting LSC flag * net/virtio: fix wrong Rx/Tx method for secondary process * net/virtio: optimize header reset on any layout * net/virtio: store IO port info locally * net/virtio: store PCI operators pointer locally * net/vmxnet3: fix Rx deadlock * pci: fix check of mknod * pmdinfogen: fix endianness with cross-compilation * pmdinfogen: fix null dereference * sched: fix crash when freeing port * usertools: fix active interface detection when binding * vdev: fix detaching with alias * vfio: fix file descriptor leak in multi-process * vhost: allow many vhost-user ports * vhost: do not GSO when no header is present * vhost: fix dead loop in enqueue path * vhost: fix guest/host physical address mapping * vhost: fix long stall of negotiation * vhost: fix memory leak- Fix broken dpdk-pmd/* soft links(bsc#1026804).- Do not disable cryptodev as EXPREMENTAL tag has been removed. - Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending on it anymore and its removed from the upstream.- Enable rte_kni kernel module for dpdk(fate#322394). [+preamble] - Build dpdk-thunderx only for aarch64- Update to version 16.11(fate#321541). Some of the new features are listed below: * Added software parser for packet type. * Improved offloads support in mbuf. * Added vhost-user dequeue zero copy support. * Added vhost-user indirect descriptors support. * Added vhost PMD xstats. * Added virtio NEON support for ARM. * Updated the ixgbe base driver. * Added APIs for VF management to the ixgbe PMD. * Updated the enic driver. * Added openssl PMD. * Added support for new gcc -march option. Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html - Resolved fixes in the updated versions are : * enic: Fixed several flow director issues. * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. * enic: Fixed high driver overhead when servicing Rx queues beyond the first.- Added gcc-6 as default compiler for CRC/mtune & other optimizations. - Fix possible parallel installation of dpdk subpackages.- Add pre_checkin.sh to generate the dpdk-thunderx.spec file- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec- Added back in all the architectures to keep .spec files aligned * Driving thunderx platform architectural dependency via the ExclusiveArch tag- Added support to build code for Thunderx platform(fate#321960). - Introduced new dpdk-thunderx.spec file: * Removed architectures not supporting Thunderx platform (e.g. x86) * Added dependency on gcc v5.0 for armv8a-crc- Update to version 16.07.2. Some of the fixes are listed below: * ethdev: prevent duplicate event callback * hash: fix bucket size usage * hash: fix unlimited cuckoo path * lpm: fix freeing memory * lpm: fix freeing unused sub-table on rule delete * mempool: fix leak if populate fails * mempool: fix search of maximum contiguous pages * pci: fix probing error if no driver found * net/bnx2x: fix maximum PF queues * net/bnxt: fix bit shift size * net/bnxt: fix crash when closing * net/enic: fix Rx queue index when not using Rx scatter * net/enic: fix crash on MTU update or Rx queue reconfigure * net/enic: fix crash with removed flow director filters * net/enic: fix max packet length check * net/enic: fix multi-queue Rx performance * net/enic: revert truncated packets counter fix * net/fm10k: fix VF Tx queue initialization * net/i40e: fix Rx hang when disable LLDP * net/ixgbe: fix VF registers * net/thunderx: fix Tx checksum handling * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]- Update to version 16.07.1. Some of the fixes are listed below: * contigmem: zero all pages during mmap * crypto/null: fix key size increment value * hash: fix false zero signature key hit lookup * mem: fix crash on hugepage mapping error * mbuf: fix error handling on pool creation * net/e1000: fix returned number of available Rx descriptors * net/enic: fix freeing memory for descriptor ring * net/i40e: fix dropping packets with ethertype 0x88A8 * net/i40e: fix mbuf leak during Rx queue release * net/i40e: fix null pointer dereferences when using VMDq+RSS * net/ixgbe/base: fix possible corruption of shadow RAM * net/ixgbe: fix VF reset to apply to correct VF * net/virtio_user: fix error management during init * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]- Drop code for generating our own linker script. * Commit 948fd64befc3 (" mk: replace the combined library with a linker script") added upstream support for building and installing a linker script so we drop our code from the spec file which generated a much larger and possibly broken linker script resulting to linking issues (boo#1002534)- Update to version 16.07. Some of the new features are listed below: * Removed the mempool cache memory if caching is not being used. * Added mempool external cache for non-EAL thread. * Changed the memory allocation scheme in the mempool library. * Added a new driver for Broadcom NetXtreme-C devices. * Added a new driver for ThunderX nicvf devices. * Added mailbox interrupt support for ixgbe and igb VFs. * Updated the ixgbe base driver. * Updated the i40e base driver. * Updated the enic driver. * Updated the mlx5 driver. * Added support for virtio on IBM POWER8. * Added support for Virtio in containers. * Added vhost-user client mode. * Added NSH packet recognition in i40e. * Added AES-CTR support to AESNI MB PMD. * Added AES counter mode support for Intel QuickAssist devices. * Added KASUMI SW PMD. * Added multi-writer support for RTE Hash with Intel TSX. * Improved IP Pipeline Application. * Added keepalive enhancements. * Added packet capture framework. * Added floating VEB support for i40e PF driver. * Added support for live migration of a VM with SRIOV VF. * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides/rel_notes/release_16_07.html - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst - Or the doc/guides/rel_notes/release_16_07.rst file in the released tarball.] - Removed patches that are already avilable in dpdk-16.07 [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch - 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch - 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch - 0005-d293dac-vhost-claim-support-of-guest-announce.patch - 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch - 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch - 0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch - 0009-bonding-copy-entire-config-structure-in-mode-4.patch - 0010-bonding-fix-active-slaves-with-no-primary.patch - 0011-bonding-do-not-ignore-multicast-in-mode-4.patch - 0012-bonding-do-not-activate-slave-twice.patch - 0013-bonding-fix-crash-when-no-slave-device.patch - 0014-bonding-fix-detach-of-bonded-device.patch - 0015-bonding-fix-detach-of-slave-devices.patch - 0016-eal-linux-support-built-in-kernel-modules.patch - 0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch - 0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch - 0019-i40e-base-fix-driver-load-failure.patch - 0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch - 0021-i40e-fix-inverted-check-for-no-refcount.patch - 0022-i40e-fix-overflow.patch - 0023-i40e-fix-VLAN-filtering.patch - 0024-mempool-fix-leak-when-creation-fails.patch - 0025-pcap-fix-captured-frame-length.patch - 0026-port-fix-crash-for-ethdev-writer-nodrop.patch - 0027-port-fix-crash-for-ring-writer-nodrop.patch - 0028-tools-fix-unbinding-failure-handling.patch - 0029-tools-support-Python-3-in-bind-script.patch - 0030-tools-support-binding-to-built-in-kernel-modules.patch - 0031-vhost-fix-leak-of-fds-and-mmaps.patch - 0032-virtio-fix-crash-in-statistics-functions.patch - 0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch - 0034-virtio-fix-restart.patch - 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch - 0036-examples-fix-build-dependencies.patch - 0037-examples-ethtool-fix-build.patch - 0099-mk-fix-gcc-5-version-on-suse.patch - 0100-kni-fix-build-with-gcc-6.patch - 0101-ixgbe-fix-uninitialized-warning.patch - 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch - 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch - 0104-igb-fix-constant-sign-in-left-shift-operator.patch - 0105-e1000-fix-missing-link-interrupt-check-brackets.patch - 0106-app-test-fix-missing-brackets.patch - 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch ] - Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. - Added a new binary dpdk-pdump dpdk-procinfo- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). - Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). - Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. - Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). - Disable examples that need LPM which is disabled on non-x86. [+0036-examples-fix-build-dependencies.patch, +0037-examples-ethtool-fix-build.patch, +_constraints]- Added support for aarch64 compilation. [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] - Disabled aarch64 dpdk-examples package for the time being as it contains lots of Intel specific code. - Added proper "Group" field for the subpackages .- Add upstream patches to fix building with gcc >= 6 * 0100-kni-fix-build-with-gcc-6.patch * 0101-ixgbe-fix-uninitialized-warning.patch * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch * 0104-igb-fix-constant-sign-in-left-shift-operator.patch * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch * 0106-app-test-fix-missing-brackets.patch * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch- Removed unwanted files(bsc#984437).- Added missing GPL-2.0 and LGPL-2.1 licenses.- Update tarball URL.- Applied all the fixes recommended by upstream for v2.2 stable release(bsc#981996). [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, +0009-bonding-copy-entire-config-structure-in-mode-4.patch, +0010-bonding-fix-active-slaves-with-no-primary.patch, +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, +0012-bonding-do-not-activate-slave-twice.patch, +0013-bonding-fix-crash-when-no-slave-device.patch, +0014-bonding-fix-detach-of-bonded-device.patch, +0015-bonding-fix-detach-of-slave-devices.patch, +0016-eal-linux-support-built-in-kernel-modules.patch, +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, +0019-i40e-base-fix-driver-load-failure.patch, +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, +0021-i40e-fix-inverted-check-for-no-refcount.patch, +0022-i40e-fix-overflow.patch, +0023-i40e-fix-VLAN-filtering.patch, +0024-mempool-fix-leak-when-creation-fails.patch, +0025-pcap-fix-captured-frame-length.patch, +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, +0027-port-fix-crash-for-ring-writer-nodrop.patch, +0028-tools-fix-unbinding-failure-handling.patch, +0029-tools-support-Python-3-in-bind-script.patch, +0030-tools-support-binding-to-built-in-kernel-modules.patch, +0031-vhost-fix-leak-of-fds-and-mmaps.patch, +0032-virtio-fix-crash-in-statistics-functions.patch, +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, +0034-virtio-fix-restart.patch]- Use fdupes to manage duplicate files- Create DPDK packages for 32 bit x86(bsc#977639).- Add upstream patch for the ixgbe driver * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN filtering logic by adding the missing brackets in the 'if' statement.- DPDK is most common vhost-user backend, Adding upstream patches to help qemu vm live migration with vhost-user (fate#320713). [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]- Move the combined library back to the devel package (bsc#975123) Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the libdpdk.so is no longer a shared object but rather a linker script generated by the spec file. This means that it is only used during linking and the linker will add the individual DPDK libraries to the DT_NEEDED tag on the dependent binaries.- Fix shared linking against libdpdk.so (bsc#975123) * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch patch which sets the correct dependencies for the shared libraries. * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script is used to create and install a more lightweight version of libdpdk.so. * Include the combined libdpdk.so library to the regular package since it is also necessary during runtime.- Removed unwnated patch and reformated patch file names(bsc#974903). [- dpdk-2.2-dtneeded.patch, - dpdk-2.2-examples.patch, - enic-pun-fix.patch, - dpdk-2.2-warningflags.patch, + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] - Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into one library- Intial version 2.2.0(fate#319169)19.11.419.11.4-150300.16.119.11.4-150300.16.1dpdk-pdumpdpdk-procinfodpdk_proc_infotestbbdevtestpmdtestsad/usr/bin/-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:25950/SUSE_SLE-15-SP3_Update/06e7d1a1371fa731af18a74b9731d929-dpdk.SUSE_SLE-15-SP3_Update:thunderxdrpmxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=8dd50574537aaf5b6c3374b686df72e352134cd4, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=4e9770b907c686e3c163768661a830d80aad8760, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=c7a55905350cb0964e8989f7b8512712aacc6f80, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=e679532585c90904684997a8a4fb4280aaf7089d, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=d6d60775b29ee6da0909ff6f785ecae374c349d6, for GNU/Linux 3.7.0, stripped$3a. RRRS*3a?bXk:3ɑ 12r]G>ޝ(侍1[Ӧ4XwZ@ գz[qYk=c^Z ˁ 椼%MhNt U% ^PPh\<T$]  No}8M\fqlE"ZM'G,rZ Wh\ |^|`E1!xM?٬m_{'J;ӳݙqEm7 'k02*;s&/J>K,hSsz)0s DzPS(69)B.T]"ZvO؃zN+#=45._jCz^O1:e@~2cC?[c$-CG̀\.H.%0z`r}*o i |b;M^<9&6Yt"}?QJY2`ʹ]-|Xv^pWL\Gw\; |h ;kBD 1a˨%A>mvX/A ue8-+iO"Q/DoN){ (gpmK;OHd+̐ݮ$$˻B_F(TOW=ʒg uy@uMqeȄ!mHe]]o\a΅,)^\w*iI\J'V з3yc}:SM޽Y:NCsn2ogEl /oq孄qTqu> Ee],G%=)dM>dk%Tt=Ax!4Է̊4Fqu7+ҚLw"t&utԁ NCNŬjG(ol*IX6uXӬmCXWcecutT?ri]=ڎ&)4D%J{)+JU[.(/?k@7is G${P{T]f7۾9k2 ~֜uk[8[zڨ{pj)t!~L ~Z06vtGa/̫~Z.bm>k]Ԋ^6=XPndZÃ)Tj ј5)rU2 Z=Ҫ^W/ZgQ=]Dܩ% M!S}o+ YG߾;bm2Ļ6tл^ŰSYlAh6Jz(T` &&V C=pR΢# d/6痆 *"&~!pP^+*"N0tkVG3*QI#Py=^*'_G.Z/^#k:Uͦv>1;nvs=&3Y%߸Ĺ[v(WuJmHRZB4QsE+`EkWkПK2⿭-[ŷŒhdF%<aP֏X\dv2@o !rc Y5t]F2":eV[T,]\6yIPJk=?$0zckoK'8CZ0 BYD)ٛ)HJ8P+7͕X`qԠn>6Y[]Fn1`!+^Z;7Z;$7yB˰ZD\( sZ\emhLG)tQfX46c,լeq),~3n<ÞsqG]iҨq4_Gj|;Yr~r;9ۗr7ObJ+` oC/QSW<\FOY7rGuxZ?A^t+#(ev+# ]xv9'd ɣ;L;>u ܋O(x0!:फ़Ck\ DG簀ͺV6ҹ|m BW_vmKHv 4ɍxA'כ}G{QTyaQJ<.Z2R  f6 yۀOs-ݒQ__P#aa Cⷌ닋(rQP8gjV뜓?vg%>wJ=%U0)VJra5!x; v/j]WFLSZ e78G13PG@gx&3r@<'3+}`^b窓*Ң1V,[]$5"پ}8,a9C |^= Fn>0jn=:yߓoisS(LWDL7AАcзp+$K-?а\4n)>^Iԣ|SmkM$0ثt8вnNeGf X_A}a&ǗNھ9),N% ;U9jt5Јw Dٰ'3a;q!.3 KiCPl:ݲ, )`K*BPa81m` kDdj(M:J{f4&lO14=C(D[]B1ZzUGnh`4,үY)FwjxpQؙvЄ|pucQ4Ư%^6^F؜%>++ Bs%dzzJx)gT_nqdbc{ HC=R͛qS ?>SLLbC~ ߊB7ti?BP7t } <b`#k6TC:' =B3gM?3`at!b,V! FݹæU4 "I;xFNEk5c\<0bqI. G9;ɉ ~ XddCBYE!TC4vRnQ|fBkk^`ѓlyqbu$K@u i7~7dօ̜ẏ" \V<]݊&EъɈv>q]$UA$;uY%<M +~Dh*va٤=YUaD~e(:e ט"؟vNr^XV>wDȨ`b\XR7/h dxX>Da;T#Y`*a& :$Ɏ`lQhl4sdY!)=ٹZEG,nCCJ H|$(<i .[:JRє%wFԏpm4RިϾlDv^K+I`J]$D/L&,/hQp^x: i'Ӷ ?SU`A;tئ.zg1jw[e\PۓUվ(H SK3DH7]`?Ѽx|tm Ep-5o(d"2js:{ "5¼ 'b1r;ĵRR& pl`frF;K#ԫL$i JدYxˁk(*z9\>ͭ4p6:0ci[0eHQT 3BYLA/VoFF .~M4SS엏4:ro BG¤Opzb3h#!l!ڠ\Gg0s IЊugF-b+PUۂe{NEst8p1N>#-53Jۡp{d )2 ˎV lKr*bV~ usjj{#ޗ;' vqKP,f""CiV)ffjTX7i%ag;M@Jފ!x9?.TS@ш3D_Fk^@b虸 !߬D0VϮ~o2iy1YKS_ $Oa:κf$M%12XIKt%E[)JcOY~L16 j ?ȯԕ5ݤ&=Mk`ԧ! $m{jz CI8dشPcO`YȞ~GaWUߥWfL>GK?߿~HiSш9Yss"踾`(AgŌ RګFTIo>t*LH+' =? mPۀ\O`le*vA8N Ѣ3"?^c~3gha/1"V閿3sY圸~3|r)< q;j` 72}xlC*}w@K> Q3ȫcWYIN5? 0F!$ڟaХ)P>!VBƦ_-2(қaz)G|Sc4py1΂D I@d 1lճp<cԍnȁϽ [Ϳut:>S:guI)lX ~jĭ-YX9-@ΨNP$0_Wғ ^-&b/Q?\sje-Bc.n70c]%w v5`v4IfDB0yM~3`|p V99 g?!HP)v.oJLnv&\y:$`>S?f_$:NA1*qzy}N`CYF5;Ƹ:~7&GƇwiƸǵCX6abQ]pU#Mue@.F~ܛyt]-8 N)IXt_NZՌ|7r*!+3`F%P@Wt 9x28cg( q An8bz6\3terL *zb/E(X,XCEU ^ɪ# ~f]ymXq^>-;J=[&ճQY9~pX A9蓸MEjT!eW\LԤUW;g"m͡ 3s%fs"TM9a{Ag;zZޑ~ݭ6 y=G ?wCѴ!U^HloL~2X31u>ac% O0T#+e6n=4FXj|@4'!0D\dvN(V@Bψ*]c~"77mN\}bʷHG /kNQ9en߁j*IT.Ư6nޢNnԈ!{| yZ*z*B4B,-3fdE[`$J׷BN, lE);{\5Bġzv0.yo8Y~So*%:4k<3K;VMpPBH1ڀe~+%Oxfx!S&;32&jaAXZS "8oa5Qznwx᭴@cq=:FE)R1{%*2 P'oHj/sStĶǓ,Eü&ǰ.O?h?Sr{RyVZ%.2"/ʺx!AN[d:1#A0nwM8x= pj9:$\>8-OW6ڟ!H%Ҕzn5,yQ = _ 9 R5Œsn &3ʲ%.#eOqH ˌM`d8Z!Aq0b3ku3/(ݚF/y O ߴ!hiN֒PUxz MN>,)He7C뼥]vuJO>@L$e=x4_@[BWpBXOT]K륊L_f2VN"\6<( nvwt?{ɶ8 J@;O9._CJq钶e )g\kV S&!?!C%/:q]eoįālV 2,f`95.EbWO%1JC#J7h$p'ӏsoDju~S~f(UKGV"M3ⴇ.~բR<Toϯ%X ;_,$ Y #&i‚?G鄈͡r6!7lS*:C. B?U{e\@%c%3Y.8¨e{;Um*hmbg\gKcsUFK*zHȩ ][1w.GfN|-0kQ1>~ nklYfgD h?Zd nu0־ 7"+v[tZ?YHpw't4^8ZMYv딂&AbEQ)Xqn 4CJK&R:e?Wl ! ?4N;kP\ߘF,|nȶQܹc|K=נXS+x!Ff!{uu^Lý g lJ >U30ŋf,JX&5n:QmFe(l'C CzT$`9sEy"cL:mkR$8TtA ^όM2d&ֈM$ك[!5Lj8X&μƤ v?2n/Gבý܃U"CU%:Ko05lum %WEJ/auZBfCdymd'|`f"h 6Ƅ1ejEyEtg|-ͻ[Nnnyii0kP6mȥP!}ΚcLy%nƜ@;s$㞔(:hGQWfBC?B{UT^^6L8ťTLj-(fN%4I|uyZKfҟ"ꇚxzXvYlC,W,i͞>hY`_>4#".e"ۏ H^IB,1dA5R٩Lkφl,Ir*q $7J]qvë !>ط"r*.>1 f}yG)PN{ac\DuXX(5Bp\`rÌ?m^a{؜B8'RN I[~0źțs 19kQH2BODh&Yʕ8o8dx>rUPbX^pY2[֑6rQ3Jl Q0$Fd>kȉc'̔h9Ksz\Djn1ky PZ1k\(Zgu{)'D!l1^qx0{ǰ`Z]?OLmi2c-EKD]%2<4ք! OoU.1 s(t"8-KЈdb/Uf~[5bsmݑ!Iq#RAdgS iO$H<[+YV5?Rwf}o"N 㛃{o[ҷRGNݼ>sץvx]1q+ʊkAs3B3qhX? Sg˲B\c_[', pbV{-¶#Ț4!hu[@eJLf(3 @m@yi\A#]*abA  n]'ϐ ݋Df(OfLRNO ㇯T֌\&?P60u^'< 798 ",ؚA3TT֯r@NeBt ͪAkkBˠ= tn ؋|dS͟{L,_jr4)X#ryt0z|Q(|9 sO`T}QCDpbm#3p}64&ӕ#=a8ޠAJ0^i9om*^LZB̐Ѐv? ߹l4+]u5֬3R;X,ݫW,|id% NƷ{$$1y&O8E@T|6яop#IsS^DIeq>ǕD1 |U ]9LEc~ΐVUQ8sW5&n?v #|h!GcFgn+!ߋ2q]o!M献%lV4qIs5+&zof{+rgј _&%I99 `XCӃ ߯ckr Ɲi0VӖU+Ė7.ؽT!W׬%]V>P[(' r O~SBjap'ۑ ȓhaB:XI@"R-njƊQ.=\e8 (n3(o}0&=5G.q~Y$% ?2Z_y|Ke`f`5$cL!Tؔ7W_V t5 8"s+7Ok+ey ﴈmtg>U\ 1HZmb:ܩuLr01^Z;y_X|%ķƂ =ĄifBs3ִLC:)+08w)q kr~L:X!BSh*ZlRA,(8YJ?3LpP0nb^9-G1K5/ol H.C37BJAb dH&2*z=[%]rf,C=АY V@~-_`Co.8[Md %NaSDY>Jthҹ&fԍDŃALO"qT|梏KoxDž^!hJx`Hdi䩊:c]szB:t$ؘΩO0R#P%If J-+ $n]tr%+<$4 HKGбcI(>iLX 6S c)vFz3fzn I= ]q``C-Ӑ{Izbv"p}=酂y6[y-&"d|T "}>6R4޻uATB/1ƅMrCLTi_;%EmM?t5Ф3&[ެo-݈cdmuze=DĬ4I+)Z#p}LvscPae1Y?~EⒽ:JāsuziTL;K&.C4iQꉤ3 ϯY3sk{f@"ir1L8Y<럏2<[Rh9?8hJJ(1c*FB/aA4 ;Ģ>/.7Pes1?K `Rƌ|6#*L9/|7Wvap?EMutKS?ҌVWXs iMYO 3D .ITLTIu# iѴd@0ڧ 9;l?4Ѻej7c /zJ)6qUrުLħA%Ciړ0nPk;>t hSU16YnK0۞N4'@ E: F`?s"a|tm[EhTaCb;*ZȣץLk^A 6}r0\5< $KM0c[vtm (aM w4ƁG=DĢQpmL&w@>jNGyɤ+M6]Pi(F``A>K!6ℸ# ݠdٙև?@pּ3#ARWzNK:+J[W9;3 gS‹d-nZp# d6NT7?BAyj.5T?"uF|LOWJDhJQ3EQm96(fzԿ m$pX`E0'e7Бv #Ͳ/MrWy┉Ckz'5 DD|O$OQS:j(CODad3S ]z!'nc1Nп/pg*G("F'>k/R81O=ȸg+ظK`QnS,?|jA0eo1vx4G^]zEg^72@s3m.3$:P%f!IlʋNRMawKVϳʦ&2 7(},FE6 :@S7*#7IO :zy_Էeu tqi5x[ʄln<[H-o(c9@ޞmaIk{ K; KSM`wVA@' )4Vr`NEcnS%( K0;ZUYyQ5ݪPG UG=o3Reb[Kxe\.0[׾ؚS24D ϖݣNYs(^*[M% GqDxTfDK/6{'Cǔ]v?voΏ57cOz*iAd'[Zk<9g [w뎯Ȋ-&1њ˶.Y;TK7zib}d1!eqnb:ԣ N#[[gcَA\p?:Y? /u.lĈa\D+;A0qM=.787KLj~(r>~v(^4N|exX^1r37Q̶s0%M)/&cf;N.ޭ -w_^ n? kgotƚ \SygmKDɵF-Y_K0l`DF+䓽1[Ɇ 5Eݣw)7w=@|ee݆<2stua>jlUu67aر+Ȫrn_mC&5֊kРG ])mUu][C@Mmvfm˼^Rtd$nC_̣e6j]:KʻY^ٿQqD_kG"LWtC׬k@ʒB烀J$_^!cz`$ʉ;^bH;՗MkQg G8}M3sX}Ƴbo2'8Ϙ=[^B؞祐n2mȒ~đnM@*T(v)WVz)Q6yM*}v/M-p]#Cl^CL܄/L p76oߠ[wt,[Πnܛb8q2^ٳ~Sϑ$K}7M34 +ezE? bZs\.ۦF$\Q0Su,TH ͆i#2{o9ϞtQxvv,ϼn f`D"Bk.ݼK/0WM<6,%gwEVdoWRX+5YK6u*1_3Β |@}(co{U}bE],0 CL"mI1tj\ᚪ_/d] 1()u/Հ7bi:>+v |Y_ͱ,Rl8VsJoʦ,'gRZVժĈVqTHvC4@ϊ;\!iDui43>?KIԫ>_j%Y0FcH-Qը Oاk(,)b)d, EMN3- KCؚJoA$2@8νi2kP7bNFNGiN HP ,Ӟ-0&AU#aV0a"'`~0`f 0OIɟ2X%2;gOBAwGMXTۄ\Bkb;:0e/LSdwMGK| |%2x7 Gߠӝz Iv2h A:RΓ I0C8[Z0+5b㺪̎%8X{fZqT2va]mA&2}N~i]@XL''j.X34r/sqQVI1zP?& ݻBǹ߽xY^ZygB ![yI91='o,?(zSWŗsyf6KȪ Ld-K hga|v@?D kMuG3Y2ׇNM去 J\Ҿ*8̚Fat>|F'R7Z3o7#GG/dFf0P.U> ׭oi[e?tN})VH#z#J[Nm3<"LoN.-dJuѓUBi[sS] PkN?O<*Ne}@؍CZꬎ^KB]/,hB(c'; yf!e|{U75o&I0ā:G.'uFl= %w F-(N+yC>tʴu(|W@o׹لoQ SɊ"%Xw>Jhd1aE)9ih_$ҙ*ʙ `hu\_X TE֍%Gs7s5n'G^ƾw;$y UIwQ`6'ResZTU 9ngf$ Jn\Aaý-.!XϫW2fYN t`Bw'4I'lDMi9B9ֆ |FB35t$I,-| p~fMZ"3,~l'q4\ͥmװHHD.CÒ[35A!] yMܥGM=+/,je ۄ0 j7n7j֥_aަb$77LM?mG^\܂-V1@\Reo.Z:/c* X!UBYJOhVk%#s~,jfM^F4\kjj:*j8VVn~:u+y UmĻ@l;r1dAe29e|%v4?!05xkL6НU:_cRϢMVpfJw#)NvS"CbN[#%(ByAaǣ`y{zZ#%#FX˲5oߒ(V%VT2vζA FӃy8SP?kj~7a^HcHcǓXq%ٻ;u@π \32L6:K6T5BK(Uʹ#nz/x [C!U]zUENjC9iŸ\sxy%($6Pof^|XJoeS '- :YUkpJU8*-PP~P@jw)_@)>-U:d~5T\rP? 3Ҷǃ+1x]z3 SP|Bzq(H}aCG0~1v&kXL>y:oI85' od ZH+#7lpYbުfbe a$bå%1'yՈ Z}f[j {Ti'\ˠx냻[8-~gǜ1t}1y߮gj{XW;ە;ʜO%;i3Wk!JMiʑEYs9L&=C4e?؁Ŕ [|-y9+ iB 9vͦsW<?]usm}e\lD'A:W+~r"6!vѼR)nRȯ٥A5 j`"X3u{zߑ8܊JBe ;0>l/C?:0DX*Bz4w BHx\G[)SݚOcyߑNn]GLC=;8?$"y3UbIWvȁֳijsQ"9AC$ \N$2H+èv<֗:?X V9XASd<̕`2'nJS1IGצqPTڏ>w<%llELfU.Uѝ)O5'ؕpgqIf;-gW( x?k=5-*`表 .yyyrIwuC>YtUJsoI*bVT6bՅ*>xO{R6ZkoU#.FfIo,+4^hk l8^iXrU:HD_gc2eaWq9yQZ[bFJ;(Byzԫ!]e ݇L04}q޺ ǫVBʰpN!3iBROלS&m\` Bd綞JOC鱳xOhhh>5D嘴[9@l(m' *dc10 ̈*w~`W3tM=›ti,G7|@d al3%*ذedCؤ!T,-,;QuS!ԕ!xF3S|7!xO-$(yLY͛}u0Hm'=X;fxEJ:r&(^`WQhOA' G8 zxCfcW&b%=MD-(^l; P?$c} Kv2%nuFtvGLv%ۆ5ONkU ==;958 ǻ-rbBl.(,}ФjgG׎UX*/]䓽ѣWoF<.6|7'c`ɻj>ur, R#4:7QB;h}mpܘ~eZmN$b4+T Pojgj(JN 3v!ʍ-9-ߘ݅\L; c,i$lKTK}JsC෱auK^MZ+;!Y@UBmҭh@to2|E5H]٩ \͐Jߵ61+|?$v˘`weP xy 2E#ќRi$fo:}fuȤf2B#*)L/|bxZMyݞ~?JUzq>p53n=rAsnǜ5MX,\ ,?UjՀΒKyR'Mb34\Կ-qxq@NqZUSs=VQ>=UT*DJ9`zp#4ޒAfH>z84ax ޑh@X=_CLu=NQk1Z|0@17oDxBY鎊GTqVpN@GIGhDk8^98rHǐx8"$,gs6֑>i5ljpwe}}RCM-h8 O3{$j2!{t$H Ya:H BV6QX&_-HiDZbBf3->`HA 9}TM*j,M=o~s9BZץxChngJnݗa3DLf&`6'6rBlRĕ+O9-?)̒5mfKIk0rV8(G\/u%LjrX'3ŖkNLf. . L]KI.6r`}0SǪfu/Mƪ\Ob^2ƇMhˍM&@(BeOv d1SW,hHI9SkH W8ޒC7Y4hf`Dh]4Rڂ Y&8adu[hD]"F87=V.G9_.|@n"_$+8ZR 7X]uQ>z6Hq}}/<3f?aa]o7: LT9+a&l\v2=aƔSe oٟX /t4p|25Z9F Z@5o/E;nSDR2#nc1Mz0 }f+=2,,F ;vϥJ [Ȱֽ ;Nw,r3eEO`م$`Dn4PP1Cvhkah?,+\<ӗQuWv!dgw(t:IU2F>U 4 I9ђ>1jjR;X TGzc=$F{JyFzL ,ej #IC흋xOͪ:ˍ4̧`-O! =ڍV.h;;6ئ.g4 ]@||]ٝZS 9=XJpV#~+sy\Ȣph%䘎>g[ ӸsJjzFؚ(ݛ[ M]1:&o ޺Q雒@gd^Ȕƨ f DQe?IE?@Ji[xjRts:F9M#ơ{[yç6^my7[pt&s`s 5$weܰIYG2&U/4ʶeTZw9 $CÂN7$h^R>4`q'{}\4ORXh vm6UKBj~)^(bcؙm-fE7,@q9'{d&߫{Aa'JXj[ycnDnyԩ9>ds|rSkZ Xp?tηN];A]XAC/FA@7"N_T)Z ;Dm.̵ыZwQCjR;Ĩ.gjRߥ1vѴS\? ۉ3 =z |ua<7k&Z\$>C'2Q-phq]{T S`DY, E`RR@En 6n[!'hb{~n&FmoO\,SA*'9|b* g3j4#t_yQ+kjǦ#y)=}_&|{j^c 1ƜfȻo^Ūٲߥ:rfM體:k3rV (G*btadVd[D2ؾ9kf7bkcj5C(MGfwB)T{ ZA.ug<+GJuyZqKk :p"3dy@~;C܈rӮF=J&1mtaW%F1)"`MmA1CINdtҧ\!H(ϔf {.{%.]3\(Yia/%mlsP- 0z~B~8B՗ɜ|̾bim3brZ,Wk4j+Yԁ$gcI̘|6T'u0u!?Ү%COƂVJ5(L oi td]+v̋#L(8|Hw=l+zz8>0/)!j"lDa!|dd(iިA*a+-2&H1т(!G8.:FP YVlo$زP$초NJ-4W60IwOtKiLE ]_yï⻬%t`ia2sp&LQ/Q[d)j-k[q1`60?M>ƞp;T#>)ՠuU&$Y7 :`s W.*[6"-8w JYKl+syќ5{;,_M9q&c~)%rWO} §Aۑ<;FUma7Z/E>aK])LU,\ "~inњvGQ6 Fנ]s['*.%Lua9{ M #o팦Axt+8O0%}B8HF'a3Ua뜊󣄭ֳڞ#JH`~[N8YE"M՝pd/!Q :AL^6+)OrT:% /gVF)w@A$-z Go%_Z1( DŽ `SI},ehRPB\4"? Ku@QuC x1:IWp!(l-"|ʹ)Gk9EI= ϽKƁY*=dF>' -zKxn7> E9%qIR{:Q߆޲u,BnUZ5kѵ3ށЏ`}J|r1RAmxZ`7X">,8^v&`/J ghf"wTs.{D}:țbbwbAɸc D襉L[ w$Gmd%JYg6R>v[t{٣5&)W3(20;m}L"VE'Z~k)y:c9~TNTf3 k˷v]:J8wC/NĢ[7'8)m2Fef2XvrTYoRW| _@.v8E k}婡uc#kd.Z,M;R~*}l}_9L/Z;b+Ӓ*1)d&˲_w8¼ ԇErU+py$r]ovw]HVK-`|Bp=X%:{#bEʼEIcy":25X!h$`Sa뭘D=qZmw"i ~O?>l|E2"Ӄ4,Gf.!/fRa]\dW$b%5rĖ>Լڔ(}~.0pao7T5J{Y9(±DPXԶ+VGo'(Op\v,ZB_ UIǒ6(]@0ؿU7C>:_W0fm>l&y?]1tLxkc_5j8(t&>Np7u m@حA|LSf9S= NseV5 h2!ZliS-@$M[^7E=ЎS\Ke\$>ĨV+<9J= Qvs0ai)J7&l^iaw,Ak F,߹G&xC,K o6$ؿ7Iт8^}ɻv?W(8 JW!RoZF^mlh"ybnek\cPGb5%6Pmy1 BS>`(^d asb K6]|[/abɓIP@wUP#$\((<]P?ij0Nfk!-c 80Aػi_ Z_܋|cW$RW25wFxuiLL36 6hQXԲɴ6{1gy/ ED> ugq7l tܟ|.}^ /~˙`=\Wm2.G|y7J0G(NbMsWZ-!Yk?َ ʥtQV&\l:?i(tXz7"֢nF) vk( ѳE5q^W_˙3qppkį-@WVM{! 4ʪx}kMg*]5[P.0/5I~wB>ӳ?8"?F-!2o`(!`L73'!8#,ZuAoo~G۰>/ p@uÀ"9b#_OeR[D)MBAoj:Xp* 3Itaa_,AԱ=*DR{n$5FLx5}w~ld/K2.Ycɧe_yiS!jm!*a,q&K" sO-z<%Av &cG(;t.V:X u7 t)_@ԉ_%qsL[nRV0Q(-gayNt+ZCs %6\7al 4+uoj'vCrkOxr'aP&8Wd|QKƗ,"\JY_yyT"Q%!P:/4.bFBVOLˠV7ThpMҟf)=@'AmͧdHN?Z):|k ĄPP./:1{qX>Y+o#3S@m58:U@D ] =5+.Ӂ,]G'LM%.??hy@IͧFh4?' y;U[f0s_Ɏ/rjW&_/*men\E2g'Xg]NӤfZ DP^( V1lSumRQ|]z#+.{G ^A"2};,/1aeK:ҼB-.t]W<_a 7xF';9҂Brvڝ*{R^wZV<@ GD8ޝ+F1r@K@<ӑyMjk[L8V8"L~Q$il>bVNG\%B.\ û|b:4}+N),zjW5܂|JCpyk:U[[ȯA)FA9^ s#0n>B鵖@Z2q&ȥAՊ`)Ɩmvjp 9٠IXgcz%b; G+~_{t-)O"^o%e.]le6;_E2T|PK. -- 2yiS ߁3<-Dzs(ieEpa _VA@7f)֞ PRN{[EX5UZRn"Fy@?5 Z4Ȍ)Wr;mu?v,3N?3ڿ9n7Ŗf "Vz?*3%/_xdۜp_G*+ H=xEr0UBkGu N@;ed$v26yxi6.C[tz\WGiXb"GE-W#@09>VVA=*,4-ɪPۓudzih-* 1W6ѕ ^9߈$z¦6u4u`\7JqleE/Ė~N䚀k{Gj>j^j/n(i-c"n+ReAuk )j[9o^; K8xQ^]*#+ <\*hF 4үMR`{HXg]c_N#UcK0 ȏ ~-G}_>VN)烔oSXP_.`y9 UC%_-/ E_'vHbC(UAnbF-tV_+h s 4<==|x*P1ןT˹ 1S5(xu+d~]} |ԪI<5a<"{q2CiMjԮCV?:pkw(&zzhRC8PW1U9sP"߁ 6制!i&k.Cqw2 _צf?1 Nido]sE8J|'֒Uu;a/+4m'`omY.w&!tbV*I&|ZWFE)>q(d)ysq[R˪'/5o\o`q4q P5> ޽5k&;@;kaz]-wY1f\JHV3IILwQ"\!ic4ʄd.OH{`< {9qqӯ3?a<}0N9e\8(BX>,r12BiVJOb8w(odvsI8fhs'Dj_i\U0' U܋3w>tsEE<\!-,A~ r$!URFYkL9C5w,40zVi@:Z 5a|\4z$^z ;ۋI|L/zLeOijDcՂɗQ,0 tgM+o[>8ۇ]+6LS=N=$MK9=M`mږ=i5.)I^*%G%уJA=+{>/(}iSہ y>|nlM]{=c)/lICU Y -A>PaPRE~ t 1 sXKo櫪M¨]D2!lBx}ٺ,ӎǼBܶ܂?DpQ[jhىFә#ksn3\g CtQw!blg9ѫ[6~nizz ||W?@M|Svc/ZLըG[gU`(2t(ڛ$G*=C< +Q5[ЅUpѿq؂?+w+þJt}ÍO虛B7 w<^J$Fp@F` U1!@X뭣Zsm64ꬴj3&ZbRmxE<*i3v~H ʽG(l9tvo#UxG2YQ^[fN ~34xFWy;ME_ډԪ OưϑK-x+eF{Ĕᾊhq4 Oho5L :3L!2tO%t(]mߠt1ϖbWĪG ĉ k3V%Xmm@ޟ)~Ș1OyUn2}up{od, = tOʏiz=R6To2V6x3-#< M%*Z"H+ Pp!<~40zgf'R?WɆa4w>A#!?Xcb^,Mrԣ~V}Yᩭ#/~ۘh{UTU!k_aQOK[GiaIqd9dOsR,K@'hj~5%v_ l O#&t jkBvO(o`UA9BSe2[p@GנR:wi+#6XRs9TP۲;yvyf}Aw OK6.SM)Bɥ3ߧ%SLtWFkb%X4WUC\ѕODlͣy?Ý6p娒zdi,ۙ?YC2&4WoFly)gqxzk]5ޯΈ(QpOw 7` qcZ#%@#+0l{t%2c#s~=R kXXl-NA;{x+;>[ v cO2aľ[CG`JA =n'e H襹"گh "VTBic8fxm9ɵx_J|flt͵DZ.< Db_Q8 r˜bIBA~xP3b6yp- 'R9=cS+[2=R2]M_'H`|Ӟy'Fz7@ϲ5};HHG+QSG3 C˘)e5QS3xŒ?cǰV3Ʈ׷tajlfUMFٶ>eX7xAj߅Gˀ]mդ9WRV@+|G*JuLSR}|"cjaWms8^WzdjI(Q^^R" {%|?׿ŃrZ >?רts\?@ofAXnÛi4cs_Ŕ =f(!&";[YeSI/d+{W Ms@G زꬒZ52*sq|K*ԴZOK?Yݧ|o-!UH+zӾ/^+ ![\^mkq =P_u ɳye7EeӇ\- 8%JU7O(0ʼ^M)> AM#J.|Z7]\7ݎ͎^Z t43m#l(ߨ0v~xFd1`@p@wuSA/YF cx k$ WFXۄAM-i4 DɹuO_BdkG:r@3D0YX}m8'\+kÛA-c|>)wmE7y2RUBOeR}^gx["w4$TNis#9\,Vˠ\> :(/FI*X.̈́mS )$Ek"YP >gUiَn =Fdž-ٓ}qY־NS߶ .gFVՃjF43lzUHq֞Jښ@9%M˃h"f|ߟĪR@4R%RN:X&f2g/ꦾHy_$ԪUPKh@(514 L+`^kz{Iґ $%oe뫪sern%~^+~3K8֫qha?%٦U$0f T=-vD3\Hͯ,THG#aufocg<sa%eNy1F !]O\lZd j(?b)d i-W.II ̤3| yR^Τ֤0z~j4TNPQGQW1"hX$[7Ћ\ŨN5wα;7~ZM׃4 }}>=iI_&o6yWKq(C ~'=n9V}N${!&>UYbP&Ϯ+:87Eꍒ ] C |IW3Xk}1@Ce"^wC ɴΔ==Ep#ȇ)H(`#|HLk q_r!jmK@#5/Pr5"Au\t###OӴ \;D0gqHk׻VR]ꐆ5>oط'RxKJZ}&zv]Kp.ODCc# G&~hσ9LZDN@ y/dj )wf'`]$Mܻ"oS}@9/)>G0pb[{8<9K;qAr7 4 nG~*F-RtjV 犻# 2/ ZB/W@D8Ӻ:@y NMRJg[~sځ )|) ̪aboL C;BϿPKH*7 ̼hc-J]/AŠL+ADpv:Rl{Lj+: NSxLz' {Ѻ;TMmnpQ̣ܶڽUv$Y%*mdH'2B 8a={*>(8-h4*I# 9ZF7b 2 4ъ%IJRZ1aVHJh4X|5hkvJ rw DT߆5Z*ln$!^ l?4ÉtC k ~*&M"ebQPAx=`BL!/!r 7~O&ͽ oP".},h;㾐D6@:ø H/,V3{9fӃ4(C$1HD(*L;HT]Ps%# c vLQTPlk_o9ÀvIK9*|v3:#y@^gXS7JS`rw  PF{'N ;%&2tR9d_RT1aa,BK5fv2^ |ߙX#W`{ iuJXM ?@MXK&ViCxjԙ^`"w ; GL_:;tSnl"izGe./&3ET-vvmf-^ h{xd:"-)/i3~NsK<&]S'km^oѣ ͅ"n(ĎS.s6f`WiC om6 딪O&j߁H‘NϑfuUg f;|E s-N"ZYf2PdFw 90đ ^ MΧ9 yQ?+aVJ⌅ODOo PCG)U)^j~v#ӫp|`g%k{~?ivim'yX{EF"7*/)^vO~@pkY^a,N,y#ƪ(qAFO|F9W]ed.CV~|2]Sv-~7| u]7/[|2Bv_ ?EQ#;`W`Sk-qez]1ރ>yufkp}d :m UNJ]㷨6=Q6?+0a`gKқ?-Fq@ Yk"<J_bH\d KP"9Eɋ3ނ^BZLzŊbY;ewF'i b\oF i'p B 9 #RԲ /F\wГD, =?wUYkJKChp?bEcvUolGP?6NjKvw1҈(<7d$ZTv|lV \0s&?AQ y0 !qSX$rס܍KhضEyov.n`HXG._dN|"+v?mB܇&0g@lDrҰO:.BMc}{]?$bޡVcD-/yI2Ŕ8U=Bƃ#7EyO-:BfF8Z9hs+-A *xsve'^z٠sĻL[, /gB/0|YA2h8\K̊>3/4ok:~YЎ$kq%$nOhB3pʔIӃ\f9| p)PҌrD" р.mHp](%FV-t_qkRU'h{K&>5)0{!{J:d ws3Aӛb6S΄#\r8shyt1U'8d$U&44Pl}*BoP ["P J+wcv\dBo3(Ns} C,)C0w @e"gBQ8NK'd8𱖬uc +Lhmhh;~^(\fv߫Lhƽ/U݁Q@ŴcM|cA%lCڳ]ãz) GPO3/3pZyY=R2P EŘJ{(t[ѲabaD=q?~@-,ғGn"6,skJD7VB吁ym@ZWiŋ:y Āf3vyJpw:9/ tohb_|/)ż^)}XD$]dLHp8CUrovpgqoX 01D'"jz/ei]!u[G4Z5s/~XJp:㗓S+hS(H896\fH m g@UI zQ#Bm3=_2q?N,yyq{ϯ nGGB Euԟg܈5j~^tD9o>m|ro8El0|A3F$D+k^~SX]"sZ꥞״jkSy1( wOfXNFbZQQ>"kWNʼnA f}LFv,fřS E?..ˇ QO//ٷUJ B{+|FnQ~W$XjlgWIT]~3<& <:]>n &Phnaw&8'|ٽ6:Xd.7#&'7^*KѽHt›ORndM|m* QF~2Kuh;ovS/z@aTqC? )/ UshWG|f"7,BFipdRmڄ+P>_&fgI&Eh_EЂl(=g*ߢ!~1Z"۞ t ~#|&T<駦߶p/s Ku6A=d5ѓ1w>& *, d}94GX(dta(=;=9pFlLkGT ËR>I ^AltsH}$-^,{~JG\LQ!7^G;/C*)獺ݣV{o'vF)Mww0[`,6Sgٿ|aI4}uȾa߷⮲mIzc6|nd<:BtY[/fzhޜ}S[5} ^NQ {tNVGKF0FH/Ԏ*m[Tx+޳jA~HۢQ!h>3PN5-׃J$QjF >@|#@yVF8U[5@L0Y^l :m7tm^[O2;$B 5i;孶 FMObZ%J5,_eٺuICMo}+ yS}paKtΕؗ+7*`W}>ͅtmG" tt4D;vf@M畊(~ON$SctiT3H8<@1qWݞM#-D`#Omdh Y;I<2@2I[!Z.JU=AGADY*̳rWR[-# 43s"+T~QP>௙n8Op)- ]F9,ڠI ֘{/sF3f^H3 >Tћy5y t 6듼ԘKXiUPOydCՕ4+Cd3A H0X\f0>]񡜨-WXX9G+fmRfmQf= ά0gD4i)LKcDRozzcdD`l+w,)A.k>E?ʛުJ#İGH4? ~U O=2M Z4G$M)a︡_YNjϠve]~6f^H#|O.;mz|2zNI9!w"Q+X%ҋg?cwF@t=O)&ɭ ŗXrA&p7&UĶ+Tue#,s3eO<h}Qs$\Imsҹ(zÑ"HE)8y?_b+~C@jU @"mgE`nrK2ڸͮuatZϡ)jhO!9=? 85RCE&YUI5OY #Z3ϯAXȀ4ݍ){G'If3zxՊnȌIbZƄiQseZ°a 8)*R@m3ܓ!A5)7_vVHM^}%2\P'{s9T}`d|nR22౟QL$;#Q׬[筲BUY6Hrkhߗqx~Pˆļs_I bJ0TDm$euzKt1vB' S^3:D)ͳPW 5lp-%`+~Rb! dd@uM |Hg+xwnUGe@ Gf_,=H.VPa<}jr.޻Ңw튴w ǔdC]r|0#Dܶ0(SKSZ[֒5~*moϑURیNFu"#J1 FS>_:|6+HRZ|*PF .6o. <|!t/[p7:Dov|ܲJs[<#iiS{e걙"ShWPv5A(/2TY`m{%2ԧ0ZͦPu0jotpOZR;SilPGg=qZ U(sHjU]xrQ];i-1b1o>~zەZw TiWZ,q "Nu'o/s`tt>ȼ;'OL{OL3P$ ֭< )>;ݏy7?h%^F:>,̾m.Եv%uO]^OũQp5Gj=/{8{=ml4_^a\71/5\nB7SM PMyeS .P*apF9>NtۆhLLf.VȑTTԼ6|MYZ~<؄ z'jU<{0Ow_&.%&K*b^|' M@;2 db;ʥ;ڏ1u>75t7\(9tE[JA.2'3R_Itpa w%>V6yk ڈY]?^(7&`EKF`ڪ}x#z+܆ M7-#_#T>gHuDjӱ2jȞ<$7j *G& 4nyA! 1LIǠ Y${2<0]ۂ?ts$Ql~ك"1nEzôڭ_.AZ@E5H/Zw-.|[Rijd yFiIH/ku̵RJSu,:1cl\vJLL~HzL֛QY\z6w?NSD[vxr;a̹u j)ҵJ6Uh@4J۱Nr+W|ݖ-IW4MJĒZ?K7'Z?zsp*BQ !B`JmCڒ5 ")gU` ٷ b9Wqs>>T+Hgx3iS^9]jzyިT߶nM^Y‡|̈́NԿ^yv= bI_$. ,ҶG„NK%p% ,#z$gꨐv7X}{,/EtA{KDKX7-NtU:x~^a1iZD\ZlHWnzY%\7"jmXg89O`d"Mp6t֮ RԮ=УZ*qLȯ N}?.QZ%OPN+ʥfhȓsPJC}r6ܿ!B'o( ȶl"4XR1WBѸb:$(u" uk 7x(xQ&`UFanE9,]`̣Og[M 'DϦ֨[לK$ .L&;K] 0wXNO>Ph{ /͎h&튟-|J5Q`cZIcWql(} {FtnuW>0UJcd-O0rՔNRfF]ؠ̋{V TXt"d^}X}xt._\NFAW/ VW+(`AҌgГU^rXXDQtM_={i` w5Z1]Dz`&p/~a_òh&H'x >GRha Δp Tm;#rC@9ك $7kk>a'plVUӨjUv1B%6p|㣃E4ouI| hTN& ׋?Y EʲۮG͜:f+`[6u({ъHfSXn>=ZFkPNJxٲP8/kmVFL䥛 4"Z~{nI-iC$IytLr wzb`9ijZs[0 Pk:DHKd}TBPLymt+wNBu6`lA(a]u%r*'ݞKkH D0X y.FQްg*>Wh/XV$ #o}"Ws(a~\)p@eث@oBU'SHѦ{\P Ğ뜚ֳ/g/2 y&͈˿ᙬ(0wb=2V^M((|bdpLn\øxEOPzhV4x"ԇh*-X?Tf]v#x+ᛁ&\r0'|Wz,-$L28 9mKnu,*Lir鄨b@rSew(^78вS {Cx#q2B*l[0܋SSh۟?j7,Ҩ)]iF? F]VIWuDKIm;|•c xY0D7})\nN+;LZ#AiBFpĈ`&F1[X Zq`#<0|Ń ΜsX,,>?@?p;ω"v4@#k\F(: kId^۪[[2!pB/UMuuSr1&{wy8C AH ~ђuF~iw{E{{jd |n=ga "5ÁybI,뎍?kT8 %dû]"ĂfD²tWLBK}66v=ݎP i q->'4TS!s+,a1֖UxL"/o^9GT!(^O(11.ԜGlΫ⃅M xu.EBϾ{- ^_OH׉F&sڢxc :Wi~?cB.vSi>i9={u8<1s/$+6,mn*5wߜtҭӋ)s 1t2؈04^"O?>clw4˓?9@6I64]I9ʌ%_`P_p‚ޜƘwߪ0^E&@y]*X1: )TDkY@lg"! 0mDU:/D'pò/N>N*6!!o[bz\A&`ZϧC6mՌ\pٖd:;Є)9H2g r}vxtfjủGSL{kG7̕l=m9d>;e.YgзڎeLK_%sN[y33;f2m af@y޼f BW|~4yχV 3.; OHv.z;fsCq쳵5p.s ldT:[i!}b2; XZQD| ~=gg>+5Q$2L]AǢ4|eܭL{K$EnS%w9iB:"`|]g+D؅aka{7y*PŝdOP{[I +R-re r~YղY#d ,eC;Ύ2Uﵖܱt_ع́ѓkY,wm)0x^5ĉn}=}[i?&zz4Jy_2"<7IƬ7FN@]d۵yva]G>wب^O 6Dzuwku^7 ťXLЦm_5V Έ]N\0s%7Zf5n;,(ju9uχ+kB3"uv]71$`/OUWo~ >0Gt}=N+^.©6B i%P"AOyS2JźZ\<nf# ʼ+wKlsCU7R_0$sW1瑛}w+dx<ӻrp}#g+*yKz'zI[rWG ZR"3X`ĽryU8xÀR ywV\M O\< U  YZ