Skip to contentSkip to conversation

xtensa overlay application rework

PATCH New Max Filippov 3 participants 31 messages Mar 14, 2017 – Jul 6, 2017 Kbuild

lore
Share & tools
lore
#0 lore raw

cover xtensa overlay application rework

Hello,

This series cleans up xtensa overlay application code, making it uniform across its users in the toolchain, reducing the number of configuration variables and making it possible to use compressed overlays and download overlays from network.
This is a subset of a series initially submitted by Yann E. MORIN in 2015, I've forward-ported the original submission, addressed the posted comments and added overlay application to linux and U-Boot.

Max Filippov (3):
linux: apply xtensa overlay
uboot: apply xtensa overlay
linux: enable uBoot image type for xtensa kernel

Yann E. MORIN (20):
core: include arch-specific definitions arch/xtensa: add definitions for the Xtensa overlay package/binutils: use the Xtensa variables package/gdb: use the Xtensa variables
package/gcc: use the Xtensa variables
arch/xtensa: add macro to extract the overlay package/binutils: use macro to extract Xtensa overlay package/gdb: use macro to extract Xtensa overlay package/gcc: use macro to extract Xtensa overlay package/binutils: extract Xtensa overlay as post-extract hook package/gdb: extract Xtensa overlay as post-extract hook arch/xtensa: add macros to generate hooks package/binutils: use the Xtensa macro generators package/gdb: use the Xtensa macro generators package/gcc: use the Xtensa macro generators arch/xtensa: get rid of an intermediate blind kconfig option arch/xtensa: allow specifying path to tarball file arch/xtensa: accept the overlay to be compressed arch/xtensa: accept the overlay to be an URL configs/qemu-xtensa: use overlay from the github repository

 Config.in.legacy                         |  23 ++++++++++
 Makefile                                 |   3 ++
 arch/Config.in.xtensa                    |  27 +++++-------
 arch/arch.mk.xtensa                      |  71 +++++++++++++++++++++++++++++++
 board/qemu/xtensa-lx60/xtensa_dc233c.tar | Bin 808960 -> 0 bytes
 boot/uboot/uboot.mk                      |   3 ++
 configs/qemu_xtensa_lx60_defconfig       |   4 +-
 configs/qemu_xtensa_lx60_nommu_defconfig |   4 +-
 linux/Config.in                          |   2 +-
 linux/linux.mk                           |   3 ++
 package/binutils/binutils.mk             |  13 ++----
 package/gcc/gcc-final/gcc-final.mk       |   5 +--
 package/gcc/gcc-initial/gcc-initial.mk   |   5 +--
 package/gcc/gcc.mk                       |  12 +-----
 package/gdb/gdb.mk                       |  14 ++----
 15 files changed, 129 insertions(+), 60 deletions(-)
 create mode 100644 arch/arch.mk.xtensa
 delete mode 100644 board/qemu/xtensa-lx60/xtensa_dc233c.tar
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/23 core: include arch-specific definitions

From: "Yann E. MORIN" <[email protected]>

Allow architectures to define variables and helper macros.

Cc Thomas Petazzoni <[email protected]>
Cc Peter Korsgaard <[email protected]>
---
 Makefile | 3 +++
 1 file changed, 3 insertions(+)
Makefile +3 -0
index fb2c235..cceae92 100644
@@ -479,6 +479,9 @@ all: world
 include Makefile.legacy
 
 include package/Makefile.in
+# arch/arch.mk.* must be after package/Makefile.in because it may need to
+# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
+-include $(wildcard arch/arch.mk.*)
 include support/dependencies/dependencies.mk
 
 include toolchain/*.mk
Signature · 1 line
2.1.4
#2 lore raw

PATCH 2/23 arch/xtensa: add definitions for the Xtensa overlay

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

Currently, we have four packages that need to use the Xtensa overlay:
binutils, gcc-initial, gcc-final and gdb. However, they all use three different ways to check for, and use the overlay. Furthermore, two of them define the same variable: XTENSA_CORE_NAME is defined both by binutils and gdb

In order to sanitise that, have the Xtensa architecture export the appropriate variables: the name of the core and the path to the overlay tarball. Packages can then check and use those variables.

---
 arch/arch.mk.xtensa | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 arch/arch.mk.xtensa
arch/arch.mk.xtensa new file +15 -0
new file mode 100644
index 0000000..7c8beb1
@@ -0,0 +1,15 @@
+################################################################################
+# Those two variables can be used by packages that need to extract the overlay.
+#
+# ARCH_XTENSA_CORE_NAME   is the name of the Xtensa core; empty if none or the
+#                         standard 'fsf' core.
+# ARCH_XTENSA_OVERLAY_TAR is the path to the overlay tarball; only valid when
+#                         ARCH_XTENSA_CORE_NAME is not empty.
+#
+# Example:
+#   ifneq ($(ARCH_XTENSA_CORE_NAME),)
+#       tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc
+#   endif
+################################################################################
+ARCH_XTENSA_CORE_NAME = $(call qstrip,$(BR2_XTENSA_CORE_NAME))
+ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH_XTENSA_CORE_NAME).tar
Signature · 1 line
2.1.4
#3 lore raw

PATCH 3/23 package/binutils: use the Xtensa variables

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

... instead of re-computing them over-and-over-again.

---
 package/binutils/binutils.mk | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
package/binutils/binutils.mk +2 -4
index 6d29f24..914393e 100644
@@ -121,11 +121,9 @@ define BINUTILS_INSTALL_TARGET_CMDS
 endef
 endif
 
-XTENSA_CORE_NAME = $(call qstrip, $(BR2_XTENSA_CORE_NAME))
-ifneq ($(XTENSA_CORE_NAME),)
+ifneq ($(ARCH_XTENSA_CORE_NAME),)
 define BINUTILS_XTENSA_PRE_PATCH
-	tar xf $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(XTENSA_CORE_NAME).tar \
-		-C $(@D) --strip-components=1 binutils
+	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 binutils
 endef
 BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
 HOST_BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
Signature · 1 line
2.1.4
#4 lore raw

PATCH 4/23 package/gdb: use the Xtensa variables

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

... instead of re-computing them over-and-over-again.

---
 package/gdb/gdb.mk | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
package/gdb/gdb.mk +2 -4
index ccfed4c..9f7746d 100644
@@ -44,11 +44,9 @@ HOST_GDB_MAKE_OPTS += MAKEINFO=true
 HOST_GDB_INSTALL_OPTS += MAKEINFO=true install
 
 # Apply the Xtensa specific patches
-XTENSA_CORE_NAME = $(call qstrip, $(BR2_XTENSA_CORE_NAME))
-ifneq ($(XTENSA_CORE_NAME),)
+ifneq ($(ARCH_XTENSA_CORE_NAME),)
 define GDB_XTENSA_PRE_PATCH
-	tar xf $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(XTENSA_CORE_NAME).tar \
-		-C $(@D) --strip-components=1 gdb
+	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gdb
 endef
 GDB_PRE_PATCH_HOOKS += GDB_XTENSA_PRE_PATCH
 HOST_GDB_PRE_PATCH_HOOKS += GDB_XTENSA_PRE_PATCH
Signature · 1 line
2.1.4
#5 lore raw

PATCH 5/23 package/gcc: use the Xtensa variables

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

... instead of re-computing them over-and-over-again.

---
 package/gcc/gcc-final/gcc-final.mk     | 2 +-
 package/gcc/gcc-initial/gcc-initial.mk | 2 +-
 package/gcc/gcc.mk                     | 7 ++-----
 3 files changed, 4 insertions(+), 7 deletions(-)
package/gcc/gcc-final/gcc-final.mk +1 -1
index c9ee476..a15d837 100644
@@ -15,7 +15,7 @@ HOST_GCC_FINAL_DEPENDENCIES = \
 HOST_GCC_FINAL_EXCLUDES = $(HOST_GCC_EXCLUDES)
 HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE
 
-ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
+ifneq ($(ARCH_XTENSA_CORE_NAME),)
 HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
 endif
 
package/gcc/gcc-initial/gcc-initial.mk +1 -1
index a51e29c..e1a2241 100644
@@ -13,7 +13,7 @@ HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES)
 HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES)
 HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE
 
-ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),)
+ifneq ($(ARCH_XTENSA_CORE_NAME),)
 HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
 endif
 
package/gcc/gcc.mk +2 -5
index 241f357..e50e1e0 100644
@@ -24,11 +24,8 @@ endif
 #
 # Xtensa special hook
 #
-
-HOST_GCC_XTENSA_OVERLAY_TAR = $(BR2_XTENSA_OVERLAY_DIR)/xtensa_$(call qstrip,$(BR2_XTENSA_CORE_NAME)).tar
-
 define HOST_GCC_XTENSA_OVERLAY_EXTRACT
-	tar xf $(HOST_GCC_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc
+	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc
 endef
 
 #
@@ -307,7 +304,7 @@ HOST_GCC_COMMON_CCACHE_HASH_FILES += \
 		$(addsuffix /gcc/$(GCC_VERSION)/*.patch,$(call qstrip,$(BR2_GLOBAL_PATCH_DIR))) \
 		$(addsuffix /gcc/*.patch,$(call qstrip,$(BR2_GLOBAL_PATCH_DIR)))))
 ifeq ($(BR2_xtensa),y)
-HOST_GCC_COMMON_CCACHE_HASH_FILES += $(HOST_GCC_XTENSA_OVERLAY_TAR)
+HOST_GCC_COMMON_CCACHE_HASH_FILES += $(ARCH_XTENSA_OVERLAY_TAR)
 endif
 ifeq ($(ARCH),powerpc)
 ifneq ($(BR2_SOFT_FLOAT),)
Signature · 1 line
2.1.4
#6 lore raw

PATCH 6/23 arch/xtensa: add macro to extract the overlay

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

---
 arch/arch.mk.xtensa | 13 +++++++++++++
 1 file changed, 13 insertions(+)
arch/arch.mk.xtensa +13 -0
index 7c8beb1..2843333 100644
@@ -13,3 +13,16 @@
 ################################################################################
 ARCH_XTENSA_CORE_NAME = $(call qstrip,$(BR2_XTENSA_CORE_NAME))
 ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH_XTENSA_CORE_NAME).tar
+
+################################################################################
+# arch-xtensa-overlay-extract -- extract an extensa overlay
+#
+# argument 1 is the path in which to extract
+# argument 2 is the component to extract, one of: gcc, binutils, gdb
+#
+# Example:
+#   $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc)
+################################################################################
+define arch-xtensa-overlay-extract
+	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(1) --strip-components=1 $(2)
+endef
Signature · 1 line
2.1.4
#7 lore raw

PATCH 7/23 package/binutils: use macro to extract Xtensa overlay

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

---
 package/binutils/binutils.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/binutils/binutils.mk +1 -1
index 914393e..5ab346c 100644
@@ -123,7 +123,7 @@ endif
 
 ifneq ($(ARCH_XTENSA_CORE_NAME),)
 define BINUTILS_XTENSA_PRE_PATCH
-	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 binutils
+	$(call arch-xtensa-overlay-extract,$(@D),binutils)
 endef
 BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
 HOST_BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
Signature · 1 line
2.1.4
#8 lore raw

PATCH 8/23 package/gdb: use macro to extract Xtensa overlay

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

---
 package/gdb/gdb.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/gdb/gdb.mk +1 -1
index 9f7746d..8e37ade 100644
@@ -46,7 +46,7 @@ HOST_GDB_INSTALL_OPTS += MAKEINFO=true install
 # Apply the Xtensa specific patches
 ifneq ($(ARCH_XTENSA_CORE_NAME),)
 define GDB_XTENSA_PRE_PATCH
-	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gdb
+	$(call arch-xtensa-overlay-extract,$(@D),gdb)
 endef
 GDB_PRE_PATCH_HOOKS += GDB_XTENSA_PRE_PATCH
 HOST_GDB_PRE_PATCH_HOOKS += GDB_XTENSA_PRE_PATCH
Signature · 1 line
2.1.4
#9 lore raw

PATCH 9/23 package/gcc: use macro to extract Xtensa overlay

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

---
 package/gcc/gcc.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/gcc/gcc.mk +1 -1
index e50e1e0..b52f945 100644
@@ -25,7 +25,7 @@ endif
 # Xtensa special hook
 #
 define HOST_GCC_XTENSA_OVERLAY_EXTRACT
-	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc
+	$(call arch-xtensa-overlay-extract,$(@D),gcc)
 endef
 
 #
Signature · 1 line
2.1.4
#10 lore raw

PATCH 10/23 package/binutils: extract Xtensa overlay as post-extract hook

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

... like it is done for gcc.

---
 package/binutils/binutils.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
package/binutils/binutils.mk +3 -3
index 5ab346c..7dfe4db 100644
@@ -122,11 +122,11 @@ endef
 endif
 
 ifneq ($(ARCH_XTENSA_CORE_NAME),)
-define BINUTILS_XTENSA_PRE_PATCH
+define BINUTILS_XTENSA_OVERLAY_EXTRACT
 	$(call arch-xtensa-overlay-extract,$(@D),binutils)
 endef
-BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
-HOST_BINUTILS_PRE_PATCH_HOOKS += BINUTILS_XTENSA_PRE_PATCH
+BINUTILS_POST_EXTRACT_HOOKS += BINUTILS_XTENSA_OVERLAY_EXTRACT
+HOST_BINUTILS_POST_EXTRACT_HOOKS += BINUTILS_XTENSA_OVERLAY_EXTRACT
 endif
 
 ifeq ($(BR2_BINUTILS_ENABLE_LTO),y)
Signature · 1 line
2.1.4
#11 lore raw

PATCH 11/23 package/gdb: extract Xtensa overlay as post-extract hook

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

... like it is done for gcc.

---
 package/gdb/gdb.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
package/gdb/gdb.mk +3 -3
index 8e37ade..e7e2289 100644
@@ -45,11 +45,11 @@ HOST_GDB_INSTALL_OPTS += MAKEINFO=true install
 
 # Apply the Xtensa specific patches
 ifneq ($(ARCH_XTENSA_CORE_NAME),)
-define GDB_XTENSA_PRE_PATCH
+define GDB_XTENSA_OVERLAY_EXTRACT
 	$(call arch-xtensa-overlay-extract,$(@D),gdb)
 endef
-GDB_PRE_PATCH_HOOKS += GDB_XTENSA_PRE_PATCH
-HOST_GDB_PRE_PATCH_HOOKS += GDB_XTENSA_PRE_PATCH
+GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT
+HOST_GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT
 endif
 
 ifeq ($(GDB_FROM_GIT),y)
Signature · 1 line
2.1.4
#12 lore raw

PATCH 12/23 arch/xtensa: add macros to generate hooks

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

These macro generators, one for the target variant, one for the host variant, work like the package macro generators, and generate a post-extract hook.

Packages that need the Xtensa overlay can then:
- define <PKG>_ARC_XTENSA_OVERLAY_COMPONENT
- $(eval ...) the appropriate macro (target or host).

This will allow to keep consistency across all packages that need that overlay, to avoid them diverging again in the future should we need to change the way we handle the Xtensa overlay (like, allowing it to be downloaded).

---
 arch/arch.mk.xtensa | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
arch/arch.mk.xtensa +30 -0
index 2843333..0377ceb 100644
@@ -26,3 +26,33 @@ ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH
 define arch-xtensa-overlay-extract
 	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(1) --strip-components=1 $(2)
 endef
+
+################################################################################
+# arch-xtensa-overlay-inner -- generates the make targets needed to extract
+# the xtensa overlay
+#
+# argument 1 is the uppercase package name, including a HOST_ prefix
+#            for host packages
+#
+# Packages that call that macro shall define FOO_ARCH_XTENSA_OVERLAY_COMPONENT
+# and set it to one of the component to extract, one of: binutils, gcc, gdb.
+#
+################################################################################
+define arch-xtensa-overlay-inner
+
+ifneq ($$(ARCH_XTENSA_CORE_NAME),)
+
+define $(1)_XTENSA_OVERLAY_EXTRACT
+	$$(call arch-xtensa-overlay-extract,$$(@D),$$($(1)_ARCH_XTENSA_OVERLAY_COMPONENT))
+endef
+$(1)_POST_EXTRACT_HOOKS += $(1)_XTENSA_OVERLAY_EXTRACT
+
+endif # ARCH_XTENSA_CORE_NAME != ""
+
+endef # arch-xtensa-overlay-inner
+
+################################################################################
+# arch-xtensa-overlay -- the target generator macro for the Xtensa overlay
+################################################################################
+arch-xtensa-overlay = $(call arch-xtensa-overlay-inner,$(call UPPERCASE,$(pkgname)))
+host-arch-xtensa-overlay = $(call arch-xtensa-overlay-inner,HOST_$(call UPPERCASE,$(pkgname)))
Signature · 1 line
2.1.4
#13 lore raw

PATCH 12/23 arch/xtensa: add macros to generate hooks

Hello,

Quoted 19 lines · Max Filippov
arch/arch.mk.xtensa +19 -0
+################################################################################
+# arch-xtensa-overlay-inner -- generates the make targets needed to extract
+# the xtensa overlay
+#
+# argument 1 is the uppercase package name, including a HOST_ prefix
+#            for host packages
+#
+# Packages that call that macro shall define FOO_ARCH_XTENSA_OVERLAY_COMPONENT
+# and set it to one of the component to extract, one of: binutils, gcc, gdb.
+#
+################################################################################
+define arch-xtensa-overlay-inner
+
+ifneq ($$(ARCH_XTENSA_CORE_NAME),)
+
+define $(1)_XTENSA_OVERLAY_EXTRACT
+	$$(call arch-xtensa-overlay-extract,$$(@D),$$($(1)_ARCH_XTENSA_OVERLAY_COMPONENT))
+endef
+$(1)_POST_EXTRACT_HOOKS += $(1)_XTENSA_OVERLAY_EXTRACT

arch/arch.mk.xtensa ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH · line 58

Quoted 10 lines
arch/arch.mk.xtensa +10 -0
+
+endif # ARCH_XTENSA_CORE_NAME != ""
+
+endef # arch-xtensa-overlay-inner
+
+################################################################################
+# arch-xtensa-overlay -- the target generator macro for the Xtensa overlay
+################################################################################
+arch-xtensa-overlay = $(call arch-xtensa-overlay-inner,$(call UPPERCASE,$(pkgname)))
+host-arch-xtensa-overlay = $(call arch-xtensa-overlay-inner,HOST_$(call UPPERCASE,$(pkgname)))

I must say I am not entirely convinced by this macro. It really makes thing less obvious to read, and doesn't really remove a lot of code duplication.

So I'm still hesitating on this one. It's not a big no, but an hesitation. However, I'm clearly interested by the following stuff that allows to download the overlay tarball instead of having it in Buildroot itself.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#14 lore raw

PATCH 12/23 arch/xtensa: add macros to generate hooks

Hi Max,

Quoted 38 lines · Thomas Petazzoni

Hello,

Quoted 19 lines · Max Filippov
arch/arch.mk.xtensa +19 -0
+################################################################################
+# arch-xtensa-overlay-inner -- generates the make targets needed to extract
+# the xtensa overlay
+#
+# argument 1 is the uppercase package name, including a HOST_ prefix
+#            for host packages
+#
+# Packages that call that macro shall define FOO_ARCH_XTENSA_OVERLAY_COMPONENT
+# and set it to one of the component to extract, one of: binutils, gcc, gdb.
+#
+################################################################################
+define arch-xtensa-overlay-inner
+
+ifneq ($$(ARCH_XTENSA_CORE_NAME),)
+
+define $(1)_XTENSA_OVERLAY_EXTRACT
+	$$(call arch-xtensa-overlay-extract,$$(@D),$$($(1)_ARCH_XTENSA_OVERLAY_COMPONENT))
+endef
+$(1)_POST_EXTRACT_HOOKS += $(1)_XTENSA_OVERLAY_EXTRACT

arch/arch.mk.xtensa ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH · line 58

Quoted 10 lines
arch/arch.mk.xtensa +10 -0
+
+endif # ARCH_XTENSA_CORE_NAME != ""
+
+endef # arch-xtensa-overlay-inner
+
+################################################################################
+# arch-xtensa-overlay -- the target generator macro for the Xtensa overlay
+################################################################################
+arch-xtensa-overlay = $(call arch-xtensa-overlay-inner,$(call UPPERCASE,$(pkgname)))
+host-arch-xtensa-overlay = $(call arch-xtensa-overlay-inner,HOST_$(call UPPERCASE,$(pkgname)))

I must say I am not entirely convinced by this macro. It really makes thing less obvious to read, and doesn't really remove a lot of code duplication.

Quoted 4 lines

So I'm still hesitating on this one. It's not a big no, but an hesitation. However, I'm clearly interested by the following stuff that allows to download the overlay tarball instead of having it in Buildroot itself.

We discussed this again at the BR Summer Camp, and decided that the 2-3 lines
that you save with this macro in only 3 packages are really not worth defining this macro. So, could you respin this series without the addition of these macros?

I've marked the patches as Changes Requested in patchwork.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#15 lore raw

PATCH 12/23 arch/xtensa: add macros to generate hooks

Hello,

Quoted 37 lines · Arnout Vandecappelle
Quoted 36 lines · Thomas Petazzoni
Quoted 19 lines · Max Filippov
arch/arch.mk.xtensa +19 -0
+################################################################################
+# arch-xtensa-overlay-inner -- generates the make targets needed to extract
+# the xtensa overlay
+#
+# argument 1 is the uppercase package name, including a HOST_ prefix
+#            for host packages
+#
+# Packages that call that macro shall define FOO_ARCH_XTENSA_OVERLAY_COMPONENT
+# and set it to one of the component to extract, one of: binutils, gcc, gdb.
+#
+################################################################################
+define arch-xtensa-overlay-inner
+
+ifneq ($$(ARCH_XTENSA_CORE_NAME),)
+
+define $(1)_XTENSA_OVERLAY_EXTRACT
+    $$(call arch-xtensa-overlay-extract,$$(@D),$$($(1)_ARCH_XTENSA_OVERLAY_COMPONENT))
+endef
+$(1)_POST_EXTRACT_HOOKS += $(1)_XTENSA_OVERLAY_EXTRACT

arch/arch.mk.xtensa ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH · line 58

Quoted 10 lines
arch/arch.mk.xtensa +10 -0
+
+endif # ARCH_XTENSA_CORE_NAME != ""
+
+endef # arch-xtensa-overlay-inner
+
+################################################################################
+# arch-xtensa-overlay -- the target generator macro for the Xtensa overlay
+################################################################################
+arch-xtensa-overlay = $(call arch-xtensa-overlay-inner,$(call UPPERCASE,$(pkgname)))
+host-arch-xtensa-overlay = $(call arch-xtensa-overlay-inner,HOST_$(call UPPERCASE,$(pkgname)))

I must say I am not entirely convinced by this macro. It really makes thing less obvious to read, and doesn't really remove a lot of code duplication.

Quoted 8 lines
Quoted 4 lines

So I'm still hesitating on this one. It's not a big no, but an hesitation. However, I'm clearly interested by the following stuff that allows to download the overlay tarball instead of having it in Buildroot itself.

We discussed this again at the BR Summer Camp, and decided that the 2-3 lines
that you save with this macro in only 3 packages are really not worth defining this macro. So, could you respin this series without the addition of these macros?

Sure, will do.

Signature · 2 lines
Thanks.
-- Max
#16 lore raw

PATCH 13/23 package/binutils: use the Xtensa macro generators

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

---
 package/binutils/binutils.mk | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
package/binutils/binutils.mk +4 -7
index 7dfe4db..a7a8f86 100644
@@ -121,13 +121,10 @@ define BINUTILS_INSTALL_TARGET_CMDS
 endef
 endif
 
-ifneq ($(ARCH_XTENSA_CORE_NAME),)
-define BINUTILS_XTENSA_OVERLAY_EXTRACT
-	$(call arch-xtensa-overlay-extract,$(@D),binutils)
-endef
-BINUTILS_POST_EXTRACT_HOOKS += BINUTILS_XTENSA_OVERLAY_EXTRACT
-HOST_BINUTILS_POST_EXTRACT_HOOKS += BINUTILS_XTENSA_OVERLAY_EXTRACT
-endif
+BINUTILS_ARCH_XTENSA_OVERLAY_COMPONENT = binutils
+HOST_BINUTILS_ARCH_XTENSA_OVERLAY_COMPONENT = binutils
+$(eval $(arch-xtensa-overlay))
+$(eval $(host-arch-xtensa-overlay))
 
 ifeq ($(BR2_BINUTILS_ENABLE_LTO),y)
 HOST_BINUTILS_CONF_OPTS += --enable-plugins --enable-lto
Signature · 1 line
2.1.4
#17 lore raw

PATCH 14/23 package/gdb: use the Xtensa macro generators

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

---
 package/gdb/gdb.mk | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)
package/gdb/gdb.mk +4 -8
index e7e2289..25f7a54 100644
@@ -43,14 +43,10 @@ GDB_INSTALL_TARGET_OPTS += MAKEINFO=true DESTDIR=$(TARGET_DIR) install
 HOST_GDB_MAKE_OPTS += MAKEINFO=true
 HOST_GDB_INSTALL_OPTS += MAKEINFO=true install
 
-# Apply the Xtensa specific patches
-ifneq ($(ARCH_XTENSA_CORE_NAME),)
-define GDB_XTENSA_OVERLAY_EXTRACT
-	$(call arch-xtensa-overlay-extract,$(@D),gdb)
-endef
-GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT
-HOST_GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT
-endif
+GDB_ARCH_XTENSA_OVERLAY_COMPONENT = gdb
+HOST_GDB_ARCH_XTENSA_OVERLAY_COMPONENT = gdb
+$(eval $(arch-xtensa-overlay))
+$(eval $(host-arch-xtensa-overlay))
 
 ifeq ($(GDB_FROM_GIT),y)
 GDB_DEPENDENCIES += host-flex host-bison
Signature · 1 line
2.1.4
#18 lore raw

PATCH 15/23 package/gcc: use the Xtensa macro generators

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

---
 package/gcc/gcc-final/gcc-final.mk     | 5 ++---
 package/gcc/gcc-initial/gcc-initial.mk | 5 ++---
 package/gcc/gcc.mk                     | 7 -------
 3 files changed, 4 insertions(+), 13 deletions(-)
package/gcc/gcc-final/gcc-final.mk +2 -3
index a15d837..8eaabb4 100644
@@ -15,9 +15,8 @@ HOST_GCC_FINAL_DEPENDENCIES = \
 HOST_GCC_FINAL_EXCLUDES = $(HOST_GCC_EXCLUDES)
 HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE
 
-ifneq ($(ARCH_XTENSA_CORE_NAME),)
-HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
-endif
+HOST_GCC_FINAL_ARCH_XTENSA_OVERLAY_COMPONENT = gcc
+$(eval $(host-arch-xtensa-overlay))
 
 HOST_GCC_FINAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
 
package/gcc/gcc-initial/gcc-initial.mk +2 -3
index e1a2241..48492d7 100644
@@ -13,9 +13,8 @@ HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES)
 HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES)
 HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE
 
-ifneq ($(ARCH_XTENSA_CORE_NAME),)
-HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
-endif
+HOST_GCC_INITIAL_ARCH_XTENSA_OVERLAY_COMPONENT = gcc
+$(eval $(host-arch-xtensa-overlay))
 
 HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
 
package/gcc/gcc.mk +0 -7
index b52f945..fc54247 100644
@@ -22,13 +22,6 @@ GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2
 endif
 
 #
-# Xtensa special hook
-#
-define HOST_GCC_XTENSA_OVERLAY_EXTRACT
-	$(call arch-xtensa-overlay-extract,$(@D),gcc)
-endef
-
-#
 # Apply patches
 #
 
Signature · 1 line
2.1.4
#19 lore raw

PATCH 16/23 arch/xtensa: get rid of an intermediate blind kconfig option

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

It is not needed to have an intermediate blind option, we can just hide the prompt behind the same dependency as the non-blind symbol.

Update our qemu-xtensa defconfig acordingly (note: it was using different values for both options, which is not possible; the blind option was just set to the non-blind one in the .config).

Also remove an unneeded empty default for the BR2_XTENSA_OVERLAY_DIR string option (strings are empty by default).

---
 Config.in.legacy                         | 11 +++++++++++
 arch/Config.in.xtensa                    | 16 ++++++----------
 configs/qemu_xtensa_lx60_defconfig       |  3 +--
 configs/qemu_xtensa_lx60_nommu_defconfig |  3 +--
 4 files changed, 19 insertions(+), 14 deletions(-)
Config.in.legacy +11 -0
index 090e60a..2261e0c 100644
@@ -194,6 +194,17 @@ config BR2_GLIBC_VERSION_2_22
 	  Support for glibc version 2.22 has been removed. The current
 	  default version has been selected instead.
 
+config BR2_XTENSA_CUSTOM_NAME
+	string "The BR2_XTENSA_CUSTOM_NAME option has been renamed"
+	help
+	  The BR2_XTENSA_CUSTOM_NAME option has been renamed
+	  to BR2_XTENSA_CORE_NAME.
+
+config BR2_XTENSA_CUSTOM_NAME_WRAP
+	bool
+	default y if BR2_XTENSA_CUSTOM_NAME != ""
+	select BR2_LEGACY
+
 ###############################################################################
 comment "Legacy options removed in 2017.02"
 
arch/Config.in.xtensa +6 -10
index fcb3dc9..263af80 100644
@@ -2,30 +2,26 @@ choice
 	prompt "Target Architecture Variant"
 	depends on BR2_xtensa
 	default BR2_xtensa_fsf
+
 config BR2_XTENSA_CUSTOM
 	select BR2_ARCH_HAS_MMU_OPTIONAL
 	bool "Custom Xtensa processor configuration"
+
 config BR2_xtensa_fsf
 	select BR2_ARCH_HAS_MMU_MANDATORY
 	bool "fsf - Default configuration"
+
 endchoice
 
-config BR2_XTENSA_CUSTOM_NAME
-	string "Custom Xtensa processor configuration name"
-	depends on BR2_XTENSA_CUSTOM
-	default ""
+config BR2_XTENSA_CORE_NAME
+	string "Custom Xtensa processor configuration name" if BR2_XTENSA_CUSTOM
+	default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM_NAME != "" # legacy
 	help
 	  Name given to a custom Xtensa processor configuration.
 
-config BR2_XTENSA_CORE_NAME
-	string
-	default BR2_XTENSA_CUSTOM_NAME	if BR2_XTENSA_CUSTOM
-	default ""			if BR2_xtensa_fsf
-
 config BR2_XTENSA_OVERLAY_DIR
 	string "Overlay directory for custom configuration"
 	depends on BR2_XTENSA_CUSTOM
-	default ""
 	help
 	  Provide the directory path that contains the overlay file
 	  for a custom processor configuration. The path is relative
configs/qemu_xtensa_lx60_defconfig +1 -2
index 54d844d..5c0cf8c 100644
@@ -1,8 +1,7 @@
 # Architecture
 BR2_xtensa=y
 BR2_XTENSA_CUSTOM=y
-BR2_XTENSA_CUSTOM_NAME="dc233c"
-BR2_XTENSA_CORE_NAME="lx60"
+BR2_XTENSA_CORE_NAME="dc233c"
 BR2_XTENSA_OVERLAY_DIR="board/qemu/xtensa-lx60"
 
 # Patches
configs/qemu_xtensa_lx60_nommu_defconfig +1 -2
index 256cbee..97e5c98 100644
@@ -1,8 +1,7 @@
 # Architecture
 BR2_xtensa=y
 BR2_XTENSA_CUSTOM=y
-BR2_XTENSA_CUSTOM_NAME="dc233c"
-BR2_XTENSA_CORE_NAME="lx60"
+BR2_XTENSA_CORE_NAME="dc233c"
 BR2_XTENSA_OVERLAY_DIR="board/qemu/xtensa-lx60"
 
 # Toolchain
Signature · 1 line
2.1.4
#20 lore raw

PATCH 17/23 arch/xtensa: allow specifying path to tarball file

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

currently, specifying a custom Xtrensa core is done with two variables:
- the core name
- the directory containing the overlay tarball

However, the core name only serves to construct the tarball name, and is not used whatsoever to configure any of the toolchain components (binutils, gcc or gdb), except through the files that are overlayed in their respective source trees.

This has two main drawbacks:
- the overlay file must be named after the core,
- the tarball can not be compressed.

Furthermore, it also makes it extremely complex to implement a download of that tarball.

So, those two variables can be squeezed into a single variable, that is the complete path of the overlay tarball.

Update the qemu-xtensa defconfig accordingly.

Note: we do not add a legacy entry for BR2_XTENSA_CORE_NAME, since it was previously a blind option in the last release, and there's been no release since we removed BR2_XTENSA_CUSTOM_NAME. So, we just update the legacy comments for BR2_XTENSA_CUSTOM_NAME, since that's all the user could have seen in any of our releases so far.

---
 Config.in.legacy                         | 18 +++++++++++++++---
 arch/Config.in.xtensa                    | 19 ++++++++-----------
 arch/arch.mk.xtensa                      | 21 +++++++++------------
 configs/qemu_xtensa_lx60_defconfig       |  3 +--
 configs/qemu_xtensa_lx60_nommu_defconfig |  3 +--
 5 files changed, 34 insertions(+), 30 deletions(-)
Config.in.legacy +15 -3
index 2261e0c..db6853e 100644
@@ -194,11 +194,23 @@ config BR2_GLIBC_VERSION_2_22
 	  Support for glibc version 2.22 has been removed. The current
 	  default version has been selected instead.
 
+config BR2_XTENSA_OVERLAY_DIR
+	string "The BR2_XTENSA_OVERLAY_DIR option has been removed"
+	help
+	  The BR2_XTENSA_OVERLAY_DIR has been removed in favour of
+	  BR2_XTENSA_OVERLAY_FILE. You must now pass the cpmplete
+	  path to the overlay file, not to the directory containing
+	  it.
+
+config BR2_XTENSA_OVERLAY_DIR_WRAP
+	bool
+	default y if BR2_XTENSA_OVERLAY_DIR != ""
+	select BR2_LEGACY
+
 config BR2_XTENSA_CUSTOM_NAME
-	string "The BR2_XTENSA_CUSTOM_NAME option has been renamed"
+	string "The BR2_XTENSA_CUSTOM_NAME option has been removed"
 	help
-	  The BR2_XTENSA_CUSTOM_NAME option has been renamed
-	  to BR2_XTENSA_CORE_NAME.
+	  The BR2_XTENSA_CUSTOM_NAME option has been removed.
 
 config BR2_XTENSA_CUSTOM_NAME_WRAP
 	bool
arch/Config.in.xtensa +8 -11
index 263af80..a1494fa 100644
@@ -13,24 +13,21 @@ config BR2_xtensa_fsf
 
 endchoice
 
-config BR2_XTENSA_CORE_NAME
-	string "Custom Xtensa processor configuration name" if BR2_XTENSA_CUSTOM
-	default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM_NAME != "" # legacy
-	help
-	  Name given to a custom Xtensa processor configuration.
-
-config BR2_XTENSA_OVERLAY_DIR
-	string "Overlay directory for custom configuration"
+config BR2_XTENSA_OVERLAY_FILE
+	string "Overlay file for custom configuration"
 	depends on BR2_XTENSA_CUSTOM
 	help
-	  Provide the directory path that contains the overlay file
-	  for a custom processor configuration. The path is relative
-	  to the top directory of buildroot.
+	  Enter the path to the overlay tarball for a custom processor
+	  configuration.
+
 	  These overlay files are tar packages with updated configuration
 	  files for various toolchain packages and Xtensa processor
 	  configurations. They are provided by the processor vendor or
 	  directly from Tensilica.
 
+	  The path can be either absolute, or relative to the top directory
+	  of buildroot.
+
 choice
 	prompt "Target Architecture Endianness"
 	depends on BR2_XTENSA_CUSTOM
arch/arch.mk.xtensa +9 -12
index 0377ceb..12c2d4e 100644
@@ -1,18 +1,15 @@
 ################################################################################
-# Those two variables can be used by packages that need to extract the overlay.
+# This variable can be used by packages that need to extract the overlay.
 #
-# ARCH_XTENSA_CORE_NAME   is the name of the Xtensa core; empty if none or the
-#                         standard 'fsf' core.
-# ARCH_XTENSA_OVERLAY_TAR is the path to the overlay tarball; only valid when
-#                         ARCH_XTENSA_CORE_NAME is not empty.
+# ARCH_XTENSA_OVERLAY_FILE is the path to the overlay tarball; empty if not
+#                          using any overlay
 #
 # Example:
-#   ifneq ($(ARCH_XTENSA_CORE_NAME),)
-#       tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc
+#   ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
+#       tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(@D) --strip-components=1 gcc
 #   endif
 ################################################################################
-ARCH_XTENSA_CORE_NAME = $(call qstrip,$(BR2_XTENSA_CORE_NAME))
-ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH_XTENSA_CORE_NAME).tar
+ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
 
 ################################################################################
 # arch-xtensa-overlay-extract -- extract an extensa overlay
@@ -24,7 +21,7 @@ ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH
 #   $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc)
 ################################################################################
 define arch-xtensa-overlay-extract
-	tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(1) --strip-components=1 $(2)
+	tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(1) --strip-components=1 $(2)
 endef
 
 ################################################################################
@@ -40,14 +37,14 @@ endef
 ################################################################################
 define arch-xtensa-overlay-inner
 
-ifneq ($$(ARCH_XTENSA_CORE_NAME),)
+ifneq ($$(ARCH_XTENSA_OVERLAY_FILE),)
 
 define $(1)_XTENSA_OVERLAY_EXTRACT
 	$$(call arch-xtensa-overlay-extract,$$(@D),$$($(1)_ARCH_XTENSA_OVERLAY_COMPONENT))
 endef
 $(1)_POST_EXTRACT_HOOKS += $(1)_XTENSA_OVERLAY_EXTRACT
 
-endif # ARCH_XTENSA_CORE_NAME != ""
+endif # ARCH_XTENSA_OVERLAY_FILE != ""
 
 endef # arch-xtensa-overlay-inner
 
configs/qemu_xtensa_lx60_defconfig +1 -2
index 5c0cf8c..f17aa48 100644
@@ -1,8 +1,7 @@
 # Architecture
 BR2_xtensa=y
 BR2_XTENSA_CUSTOM=y
-BR2_XTENSA_CORE_NAME="dc233c"
-BR2_XTENSA_OVERLAY_DIR="board/qemu/xtensa-lx60"
+BR2_XTENSA_OVERLAY_FILE="board/qemu/xtensa-lx60/xtensa_dc233c.tar"
 
 # Patches
 BR2_GLOBAL_PATCH_DIR="board/qemu/xtensa-lx60"
configs/qemu_xtensa_lx60_nommu_defconfig +1 -2
index 97e5c98..68af710 100644
@@ -1,8 +1,7 @@
 # Architecture
 BR2_xtensa=y
 BR2_XTENSA_CUSTOM=y
-BR2_XTENSA_CORE_NAME="dc233c"
-BR2_XTENSA_OVERLAY_DIR="board/qemu/xtensa-lx60"
+BR2_XTENSA_OVERLAY_FILE="board/qemu/xtensa-lx60/xtensa_dc233c.tar"
 
 # Toolchain
 BR2_PACKAGE_HOST_ELF2FLT=y
Signature · 1 line
2.1.4
#21 lore raw

PATCH 18/23 arch/xtensa: accept the overlay to be compressed

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

---
 arch/arch.mk.xtensa | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/arch.mk.xtensa +3 -1
index 12c2d4e..a346e31 100644
@@ -21,7 +21,9 @@ ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
 #   $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc)
 ################################################################################
 define arch-xtensa-overlay-extract
-	tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(1) --strip-components=1 $(2)
+	$(call suitable-extractor,$(ARCH_XTENSA_OVERLAY_FILE)) \
+		$(ARCH_XTENSA_OVERLAY_FILE) | \
+	$(TAR) --strip-components=1 -C $(1) $(TAR_OPTIONS) - $(2)
 endef
 
 ################################################################################
Signature · 1 line
2.1.4
#22 lore raw

PATCH 19/23 arch/xtensa: accept the overlay to be an URL

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

It can be interesting to get the overlay from a remote server, rather than expect it to be present locally.

Since that file can be any URL, we can't know its hash, so we just exclude it.

---
 arch/arch.mk.xtensa | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
arch/arch.mk.xtensa +13 -1
index a346e31..9edbcfb 100644
@@ -9,7 +9,15 @@
 #       tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(@D) --strip-components=1 gcc
 #   endif
 ################################################################################
-ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
+BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
+ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),)
+ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE)
+ARCH_XTENSA_OVERLAY_FILE = $(BR2_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE))
+# Do not check that file, we can't know its hash
+BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL))
+else
+ARCH_XTENSA_OVERLAY_FILE = $(BR_ARCH_XTENSA_OVERLAY_FILE)
+endif
 
 ################################################################################
 # arch-xtensa-overlay-extract -- extract an extensa overlay
@@ -41,6 +49,10 @@ define arch-xtensa-overlay-inner
 
 ifneq ($$(ARCH_XTENSA_OVERLAY_FILE),)
 
+# No need for a conditional here, the variable will be enpty when
+# there is no URL to download.
+$(1)_EXTRA_DOWNLOADS += $$(ARCH_XTENSA_OVERLAY_URL)
+
 define $(1)_XTENSA_OVERLAY_EXTRACT
 	$$(call arch-xtensa-overlay-extract,$$(@D),$$($(1)_ARCH_XTENSA_OVERLAY_COMPONENT))
 endef
Signature · 1 line
2.1.4
#23 lore raw

PATCH 20/23 configs/qemu-xtensa: use overlay from the github repository

In reply to Max Filippov

From: "Yann E. MORIN" <[email protected]>

Rather than bundle the overlay with us, directly fetch it from its upstream location.

---
 board/qemu/xtensa-lx60/xtensa_dc233c.tar | Bin 808960 -> 0 bytes
 configs/qemu_xtensa_lx60_defconfig       |   2 +-
 configs/qemu_xtensa_lx60_nommu_defconfig |   2 +-
 3 files changed, 2 insertions(+), 2 deletions(-)
 delete mode 100644 board/qemu/xtensa-lx60/xtensa_dc233c.tar
board/qemu/xtensa-lx60/xtensa_dc233c.tar deleted binary +0 -0
deleted file mode 100644
index 1a97d7a81daf9586b7778c80bcc1fda0c6e75cf1..0000000000000000000000000000000000000000
GIT binary patch

zdng at G)*mb87mxjFy#t$B09Z(vDLmAosQxepCnlBPubQF7Ksa8Nu7Rgd6BvZ8c5{fv zX1!&oO_zBx-T&cgaQE)pyVcDuOKrAH@EM;zkYS~YVg^9sK_6%fS!V_kVcz-TeS0 zZZF>6|8el{+rh=#KMwx$t2*mqhs&w^w&}gLk)s>o+&AudiNxIk<j%TDz8*KdD6 z_y%r$|f5uffFJ?OoEH$Y6G?fMGtxbq8b9H<92he}<&GqZ+#*j;1bn#Evo$% z^j-{ZE^hCyFTZ<zaXYyA?)K*0-4z(|3N*jHe*5h$0A0PgdVBvBYPx<4mj_qh!|%b} zA1+?MWGypfg88X%FA~*f4sf^{U7cJe|Y!$)fHU)<_he)_~!K$M|=B6)N}dz;+^( zgI5=CEE<@-VWY@<+n^y*!aUAuGl4jynz2*-e13ai~L-^dwYKiKN&yw?{4qa-9KF4 zU41#YxV^qZa=yKN2MEY6+=TqS#arKAaYe{H+K$Gk7=aY>_Z<+REP8cy at fy@Yz}~V# zDg4!7@ax~cc=7-8x>gN78$)9<tEP*uK76LH{=4X;=Joii5C5UBf2ObhW)6+Zb~R=< zzWApX(8k^URBx;IwSa(ZgUlW9J05CQ_8@N>@Za^H{yg~I;P2qg-v^(){^siUkX%Rb zzrjC{CcJj__7z+kTGuY$efRbrt{$6LFD@@%zeCZ}#??Pu<JB|s>YF3DG_r1gGsH_H zOX?UeomiJfc<H5i>E{0G`- at kvZlU1ZzWvQLntuMZDa{3kN0wHI at 3+^#zkY>Q4bLq5 zWf59;d~|NAx_*0qb$k2W4P)Zix(kXfUte9IO~=QU=a-5*+p(KlX6&);+qIUq^n;c+ zQ2VaXV3<;xR>>k}@QD>SS%kD6pIGdFe|7oI#oZMajI4XEZZ1*N at XYc8uA-9RnMDX( z#qbQzEXLvL30^(7%!I2i+0`c6DZ6SJ2eN1EsukX=A207NzQ5vuu at QL*b8~2;@)ET2 zcxWT at 614PqXruEIwDx%DvH&eU9$E<{Y(uM$hgP;;-P|$ezP9CW?ih1lH)R=fUt6&U z4UD<38xgr<%zfR6$Q@(u>n1;!7tmOtb#^6u1ysY;;nz(DWDPqWS^9r~{^s2eB6H5H zn|RUPJ at gTv@ysIbj at 1n7(#;*S#){UP>$^*y;TBnVnP<1f7FNf%*k7QcW6R7}-rkZ z{O1L$-Y1qWUcyj at rxv)lhb8}s1tjiaC8t&rT^l&I1)_xAb8H2Jmnh5aSo8Y-8v4!G zj2<iGudcrN?)N&77M-^jcdR}6+Vbi8{EJP-(nm8wPp7!ecg)T<&CoI_}Jp at PBcK= zA+!CtxPSNN@*d5#lkWZx5QA4Y_qWUufFG(p1_mpTC-*!b!C)wP@sEFlK5|w)&R5mo z?RRe;?*4dpdj-Ae*^#>Z=HkbPyPK=a>x<V9PzFufOREer{FWDthA(&rd9z(lD;Pz? zXbd_>nEdh1xY1K$k<n2yNvofft+HKtSk<vFsrK8x%sV0bn%$e2jH)ifzTwCFyFb2V zwbc|h8geU?P_Z#qwhFk2jZy0&wneRr*c7!cVoTJzhz(KeBDO<~i at afVn8gbmrtt!Y zdAz3A}?^5$qO8&@&bpsqUE;Q0%(j!-~d+U@2=)@(N~vR1o!ku}=(#UC$aRkwPB z8yK_R%Lc-#qBnQny#daxihgtV!#k{Ijf*%|hpSe?+}uGY)>0rkh*ltF|6mvVFkj8q z&)<ye3WIN^DKEK$Md=+BS&jA0-6hNqV6xJ-2)Y$Xn85dtTwI~wAvSWr(=<4wn?_I z?0VW)+vy4eU$n|@X;<$qU%gq+&~b}wyO%O4F*+$5)##%vqKqEOc>K%-C%T2_6<hw z<SNjefN8JYH(5ckdM1nUSKmNm-i)Cfmty~H<I9pZ>9VBVNMO&0b<%PjFQRDcVw<G5 zclS5Hzx!X;uUO5rJXS@lCcBHU=35o%)y4gVN1-liDbz(Rg*W$Nz-5nZjn3Ng((I~j zc6C>6#mMN6QT|65R^44Zupav1tAXWVe$;C298b|dvWNaPhY&KR!>Vc_2eDujLkE- zp4Y4k#W^PbeRHY*=82_$LvN{nsBThU;{Buk%{xZ at TXc!~0``U0uVd at i$oh3+{d#Hr zI<<bC8NYZZVxsUXCKA75qVX#xBEMpy@+&4Xzha_8Pi5EwU6l39)DLqBtIX7Ub7$%l z{g0NJ&$?qyEo=9=xxlO*w2{1v4_#Wv2W48pp11YikyNn%7uAqA#i*#JmK3hyIDZ zhVcv5IP@>*C-e{1L+DGaYp{PBafZ%7mtD(Vz_=u5Df*IZ_?uTQkD6C53?Rf7*}NT zuJ4lVdh-fz(2c9CHnLHKzNi~<;~F;KloD!4MXK6!!CKr$Vt{lYdx%WwtpJ;U#n)< z$WDFHNML=@$Z_408n^3<#_jr|aXW8qwQ;hU)mKylt1pRRbP;8Dx24^wYqQT)dJS> zafZWJpzXQH6RZlpU%^rlY7b+%48Sn3UAJhxZjekbpJooory?@@n$*2y4#u>Wde+ znkR1?B><O4wm?i{td3mAD{C-{{7zvCtnQyYw-E!c;lar{ycyy$8hOC{$p@_{srE# zt#+a&Tss;7yo$iLQIuDuIDb(YBWtOIGRR%Ie3DF$I<cN<9Hzq<iD9AmT4ft%s3Zj zV4*bccLQbVKM(%*(f;v>nQwSw+9){?6xN5M5X?%V&@}Df6gD-xa&AKINTnL!{KQn zho)(V=deNI at R(w8y*WM at kFpxY)@IwbPe9~RgUaJ0n#$q9sDz-VRqOS}H11PyX*Z8h zr--_}-W(l_O6XlusWgo{G?g}uWJ0cb;t+DL*-`Tra)jnYb=0P5-7yIG7|IbFVE8&} z6aw?(I_l-&DCA?EcnVF^4ou;+K_OX}YqK}(cf4qK)I7p4PBTK?N?e{X at gq#jo9<{= zjSxM=Z1B#<#mY}PT$Q8dfUbrzdYk}b{ezAAt(Yk9s3=O0W1An#n}bKO-ToNUp~N8C zy2t@D>=+vL6vR=xM-U<TIyNK?>pBd|*SvrKnyL;}qcXgtMkl+zXdL=z91WvsG;QmS zL@<E$tV4>#^9G4$B#Dc4Ps!N9 at MLEh*CCC(Y3p!+ at _aB7hkTqIKR_}J2-{SsT<w9 zZOvNK<rt-1qs15{zD8TNb;x5}jc)Nswv5{k^TXw1>YT$iu0tkcD)kih+S5g at Puj} z>(Op)&e*$5N=I+aT{w>Jt()d$0pdorsILx<Muy?p-OgRuhJ&<Gxp|ixw2nz7E-x zwov{qn()Knu0M67@ki0W-@hL->~kJT{V&tl-A1xPKz;iE+e(l!kQ&C$iO81{Sf6 z6}kS|RFn1CL3yJAn*5S0_|Lin at 0!W>VCeXzm{!Cx*|4s=yo{RQoHQypx$b3*gbqL? zZz<zPl at 03-Ok~nbvF<M;fwksJwipRTKXPtZ*Bz0nl_9(CW<yD@0GUkoJ5AybnJJ zYSeAA^PWuRCz{JnM?vjIa>z%- at pZdlU3V!N)kqH8Gaa(?25UbNmAx!2+wOG7ePnZB z59Kk59c#;H5sPLVVp0Q!@jl>;M49#J1yol(GMJ(=5-ht(PNMg9UmVb6RQOneBM*N z0Pfsu@^p!q9yE;WkWA5OoRFO!a at lCE>HP#&C*6C;S2Tq91RY<4N^%In>d~a9#0(9 z+6{ImsXRP39r~ptv!mUXiA7e9X3YqO^R%aE;-Z7Iondt~YMTgVn`vHmu at NgG!&8z= z)@<8dDoN-1 at exeyi%(y&vz6p1K3n#6NGNZ)hk=&+@iA%hh_w#Ycf&1m0!CVx6cOEE z!@BOsj2!GWt2+IVs~#V4&LW>K#ZqY-*Bz75Q<f%|^j^<;Tpf_i)K#*Eb)SMwyU}DV zzW4bInA=yA+3JCY7MJY-MQ8{T(JI*PbVq({qhM3d8#Cpo++Gwr1#FBBLxEfzE|69W zqx|E4bnYzJvQArcp&XK7Ea|;o44)z-i9&lI+-3yITDWVUTlXB9?V8PDy@|bb)n9x zK3r#YEL)cN&{)=W7n#Vezg^9Uj>=d_=y}!G<}s>$ORp5BJKYig2|B8jAT~zrUGA)D zj~?tfML%I|IP?n*B%dE1pOX{r_PQSV?7-ZO-}OV*UqCDmzfqt$Ozwmy~NTOa2#Nh zmep8B)l2DgbjQ|k=-~CT-6%TN6s1>zYH91jwD9+mmfyYa5j%7sKS8Cm$@k0zx(_6* zzV<b41Y;XZ!*)j*G0kpRcktTPY%1x+H{06&+qXhGKgBN8#J<1DXx|M at F{7WL;YiET zrTJEFm&4-r<9qRC5AiZdyZd$Ak-FXA@}|4i0bd^ddJw&_wr2)^xHs5k4uc5G+j3_ z?RlyhSBe)HLU9}CUOCZ8pI^+IfTaL)O-i5Yc{*-|5_$?M``RF9%=)0<h%mIs%x+l zY?%B at Y_wY@{x@LNeDA93T<xGO#_H5Gu{&0?nG}4rfqMxiP{ULU5+n$q4eyR-=elm z>@G|DYEc^|cbll)^iwSp{~NH{Y_7T-4?AAK<d3D}U%-SG>a1yEhpfiDgn8EJ*B@@ zYEc{ZcAKcZP}*gS8ueal5~bF=P~Gm0at!vZeG?JOGY#vy%gw0AdTDQJ!RSQqTR8Oa zsXh7arqOM<)Lj5dIx@#3SkCLIxf>2g%xOlbsj+<TwxJ0P-3}7YP8%k^3X%0-?m*!@ z>#uf(i;KA*>LF>TRY{rgsPoMy%r8!%y4#FJAV=3~}y}&cnH#%y-8+o;1h8K!P7 zYMR$wJ&PQMv{vBBu4{KtHk04JZ<=>-HtkUWTG4&2TRIi8coxF$rSDnMqzTjHcdM? zg=uwqzk7I|Y=<u&py%t0P-xa0kJI^}4tT|mJ7T)#v9ddEMTm!I)JOu}x2l@#lAm@G zW}o*-Zux6h9xFQ}7p9ExP_pBfub?x6L$fNgu64Nz=2&Ea;Tt|%<xdo2hTh31L^yov zE)0<~W4jmgZ0C_99jdy(JNmXRa$i>4^{$sXejyP>xBgEKYPVCWUrbOx!L-V*T?ebF zjjt<qT}>U6WN1gA;f;U%;IOd68W;2QA#I${vbWnh(g&lRrh5mBvSXI6mz%|WI^R9; zqo8~-A6(qu-(G+7-Tl?WcW>eBTR76}fBX+PrQSGtsU^bCVuF+7U#$nLHGB?y^0L? z<#?vlFk$u3M@Q$(8RzPKHU-na#92WFUH4!oEL$>+Z8b&@TDGlBuDc#JdS}9wI8s z?Xb+1I8Vy>ill2)<jIJ6VxD#Rh{w7;%=uZD-(Fw6e)X!W8nCo_?0m0m;M1WRXBHE zNy5)_{j1i0GP#NUn;mS&5th1SrT^sLpfG-K*pYqw7C5HJEHRAO>g({W0P{y>|1ygf z<_~xS)cjdnw;5j5CX{gto=~6_fbWKarQzV*5xi_U{jNIqZ$F%Hb)w{{6H56Yvab z;TJm)le4xp>|!gPZoCJwf?a)<k(uCQDmC&tgrv1|J)mY8fzM@t86l^ugYnMzQQ_V z{qq5uZ|j%AE0h_j2fxge1I0lxDlEH>z9!{AUQIQJA7JAck}fMPWO9)0}tINuRns& zcTlPiUzb;EasIkicw4=n*Sl&vc$_cPLGETv+*a?gNY+I-A^zLz*H;hxbWi!~%MYt z9{{iJT!DVHSX_s3<iH6e0FgQ2mO9FhW{sZfo67mF&uOF4<rSI-Y}u1A at oKForvRe z*;$a+2=q9HqvEKAk|5VqFD0+rzeU#%!BE#-xCgeTxTtvx9!&fZ{I)|1$p<0cDb- z?w9nib9KMHxV(B0N*FIMU}$iOCryr5yTNWe(M&@DJAzUb494@5>EPGDl_x~<11jbD zfrHC;aEj-{{Wq^4Q10PKnGL5nivN(aqdm)~qdiNcqdluUM|+l?M|*Zw=h2?k$)i21 zj7NKxt4I5<R!x=4{IQg_EY|A#{a4KKacDm=3m>3Nt_cP)Jhicwsdh at 5~rE7XQKt z<Lvjj_!m|p0-ij@!~<M;vV1v*mqIuaeveT6nH-M-Uqqd#ciSh{W(?MwYCB%d8npv* z_{BS3a#t-M)|=G~mLQf7Z*Cus9%jPPG28<F3uhOHGG3(!$-U9&%wXZU7?$wM=V zMoGoh%BL7^8&uovdW(A5A8_vK=bv*tc3vq=S^gh5iWO$KxN<BDAlbhd{0^_<jr{8G z#J~SMV5h%F|*LFN1HxNYu at 4SPY51V)zrf4r-elq@ts2zT!n%8n1wd+KmxbWb{GH zFpYTp?EYl%ui!HtHM{%55MWAh6T4hZ{eqqTYEjWpml&GyFYe>!;TwlU6MqWo+0S z2%bLwyea(~q=hd6d@=ZE_ at M}tNuckL^t)zHzASiRW5xY>OcE$r<(u+b6-gVc3swe* z_$vX)in<f4FhML>Z(*>XL%VBU4^7v5yvdUBpJuwz?HJWz9QX3yHyGE2J5)G!X3u- zbRJP4#7bo)C=E#Qv<4gFYBUqno=7LT0tu~uN#|G+@*1o)K%uO)>>_g-4~jPTFsX#q z_a#?Tc56fswcRWjwsXp9F2&;^8YvXlH=|#s5LQ4tSXwsKmy26xoug;?QGF0-_EY5U zfp~2G<99G9G@ndHcP0So?oYdM=jc;7H0&x!%yMRagPoie+q|2Jvub{6bvt?r!SP z$-y0h#(En!ycCkEVOHYQ6Re<7c}+GL^6n>2o!2WCKPRM*Y{o(7;EL*lf$5$<&bA zoQr$?4X@9q=5<AaX^r$2tukC-Zd!8qv7pqtU-lwQ>tf+dVUfYMj@#@P_Bsr8Aju$ zbW9HOeIii%HoK^jF%~z=~YC$3=0sX>6G%;v_sxHyHPcv*73co{dPdWJ)iGiS at l zC%4K0E~xBpT$jP(Qfx$LPUOzi81Rgbhna7mfBqYsz!~>|gYYH+%u&C<|KBQu9a5}} zmBPvnP7h%%<3j=wfHYK7(0VSEk3i9HML=S>InIaXbU|wG%hRF3@+Q8wjsq@)SQ zkZ0{dr1mkz8JsJe#>AQnDyx+@{JNx9|B}A2dO2dTHdH{Vnytf91=LISO>up@)%F-S zrsgugHKLMgXseDkppBo>K_<>v6e-RoYNsNn#q^syirspppBOjGF;ol<<gj_DcN@5 zRFRCGbwPT^!pEYgikTXZ>_c}2}T5)>ipSsS(PhevfPdcrb3dwsdQB($_D$2^c(H2 zpXa;jhr#Ez#1~Kk>+bCTPseqIGdl6#|77daEH)w+j{a>h*;eDfqPoFAhz}id=Lwn z*d=-Fk{r1tM=r?|m*j~{@}*1irAzYEC3)(SJab8&xg^hBlIJeTuU(Q~yClah$+1gv z;*y-WB&ROPsYO^lAO6DE0<(tNzSUr at zY}G544-{{g8d8y%I&vR<TAKv=_%ZFZ!n zs${DE$r5RR`CHaK-R8*Bc9R1o at H|15v)a~faAdJEBgfr{=0@U3r&``B1Ei#Mhy})M zYb*h>sgaV*cj!*7pzD^VDdufxT7tfIrX}cWW?F*2R;DHBYh+r2zBZ;M=xbtHg3cBO z+KrZ=vw?xepe5*RUxr5xNoV_V?2>f0FDEWZXZv#QlJvAMEr0yYiz$jpol)JMVn#Ir z=gC+{mkYG2NY+K`g13bcs;p5B+=<UDZ3W&&#xN$!?f7QqNlj*&?TlfAvO3h#h<hAO z4L+h(Ny<TiA9p*0&u|^Gp~gmQ-3MA5Lo(3Z7?OeZ#*hp&IEG}P#W5rUO^zWMXmbq7 zK%-+whFTp%G}P=EqM>%j5DhgvhA7?g7=pp3hs&n6JvbMOet>B{y_2mDS0I}l{mX7| z)FfD_fKn}rHp^iezp4feDeVcrHKH-GkyT65fHr<gU(ir}GhAi!UFi~QAMM2nEu0mX zz5A&{V=0P(fT$wP_6SO>=!oCaCqClT at sWyTgrqpA!r3k3g>zk8!TZ2<KId=(*TPH z=^ncUb6om?PgwCSY?CvL446Opp%m^ZsnI-bK;HPNh5yzw{)--KcPs)Plz|ye_N<I z-bKgH@WGCs={5_KHeXE;q^V-KFXJaAjb&g*?SmM|^iTEhWDfR8PUQ)rryYalC< zHlQ!+f*nJds#=wZp_Ydrva{&S)>4b-)IxT5WEhnlt$JwNpnPl%z*LD9N_{uJumg{p zSY2!_gIe$@vBdS{s6LJhwxh_e%Mj{ccKlcyYN&uxVB&GAjbV%SPjLVBrB4}eW_vO zw?@QJ8*T-#0d4%0{-L<O8T~Sa94)67&T?jd{4%QIF&HN7i5V-i;-;=h-;DONp^n8* z?5E>B2w2q$B3r>{2Y|>**-(?uKx{~rPwlYU<TNak6sYhjMa=c4G}KMllHlFx;MvP zJgqjOp+$>O)E#XsF=H)%OE-n-s+uZI%v-*1QUItZi+2dwrcE=x>fT&$BV#LlXhqgC zz~V)^E2An^pqI8F52f8_N(o71N;|uR!{s)ks4=S)ZAVg;NCV8@(lr*zAq%7|W{RL3 zHv1k8elw7lr4|Gd0pY=_!kj7i6imVSV0yj1FQ?uL5!U&KouCfhG$Fxua2CFri&6f z#l!XHc;nu>)tGZ|LFI&Uk6)M2j>Q!*Fkj8&;W&o<iA1;t(k@)i8rSE6A>?sj}Q%a zl$(Yn(jo1NjFTyZk3i+z0wraPY7GU7UM~^h#JfYNoBlpN)*T-89${{qNPNOO)XHY zo?Nr$(!A9i*jPh1Qv+(u at HQfVhA9ZrbXKuoS|i;x{FFho#Eb{oeE+=+V*@nBvnO$H zM6V}Bl at H1}St3Je{+7-ev6RJ3kr_<B4S{_VM#W{D~z&0S&#yL?9)O@=47X&6uzl zn-?JWPW*RLTAJMpKGO<P-;)DewkzL^!3WB2tA@mPiB4-_k!3PS*Fy@>V=<ph%$ z3s^hlSjGygr31;!@j4=5=Z*ha$3<LC8bxavZ*R69fA(g7PP|3=&@?4xG&X1@q$Q9 zT&1XTM7bzSr0?c$E3WGO6e%G&u$x_3DkH1k?LqgX+fqu|lM-2Zb3|mNsPwMowlY9U zO0QI8WdU;thpGJaDn8DK(Hwh?2S=-lpr(@&JjF*j2NEAuhB7C<&1JusgX8V7p(Z= zUKtFLl8{Wm);_+KhRr7NRHpyZLa3KrxAt$^I#Tmm-5n8NC951%O|oQAvtnJ5&RagC z7AWBF^dSA51alS7?qyr}DM5xW0>o5a6w^*f|M04GTK+A4Vhu4Ld8?bzEw;qNzFjBp zFe{}JO${{7!fNIQ)Q?Hs(wgE&=PqYI-mux#trT1p%hFtzm5q)?Fd1w0>J;0RY%k z%@B7f?%7s#eVb}2wDOevsbg5zXo_>g7j2+!@OZCOS-8HW#;gX00^EUU)gzH3sS6 zH3-nPr$&NQT!Y!jI?|qX5x88STcKg7=8B{c(>FyYZ*sHKJ^PdV7lqVqfqUQMNz5 zy+j256ud-~?a#{|TZ5N}ZVzB=5w-K1$+dfPc3F1k>PNdn(YHgHlEbb>_9a>(wI56 zkPVJeOR#eRppqrLi&K#s5_<ce0atBmzEEbjg%f{w~2Z|2E~-A$^*PALFM1ldfla~ zd!a~4;kqFE(5{Svl1dE%-WU-BiHzzk2b5dN0_g&Z%G==D=UM<KG4MKD-2RP)d%%$ zV>SzR*7C-ZZQ~B*gmSGRAj9OiEZt at 9oQX+ILyo6ibH%VBgc$fpRDDR<8UZzgmBlI9 z+RzaZ_QoBO1|Lnzs>XfNe>LW7lrz^MMH-j+ZN*W(krvRAur7faPlCg)G*x|@77!U zyDeYBTywR9&nj)EJZCu8Z@{|E6k0pVdBjK6A!Z8t;bOy at STM5S$L4CV8=$M%1nc zt~bT-IK8Zbp7&s|P~5%6av?M&Q{uRgn!C4IE(UgQv(((Z&2pKmdz+=^?rm0!F)2oW zj#d0$8Qjl8xw_;;zSlwqe)HiEH3RE04WY70h~XuWbL7?5gtf at Zafg5-xFUSgK?qw z9H9IhnfitueCbd1U-0og at mbBsNBC6lmxJF7@jHAl at EQz$yuW&Tck%G<=IZw1?W>3D zyN8?0+pE_X_t)QFaS7M=%#>;|DEx9jOY!v;OJAdVRT_-zj57J%LYCXH6-N>^l9)F zNYfYLlFJl%H)*dDGR=kW6&|UNC*oF*6J-H>?K2Xd-A7_2}(?yH&7T}>aU>x8aA z!bc#l at 9wW|E!wTm(y1@^DE6Dhgh913sQx7w^y~2!m;XM_>p6TAGTSzIiqNhS*KfbS zzPtYBHBlpqsN5-Yp>mqv?)+4-JyHg-ud=4uR6wEp at RBzl<yW70PFr<zywx=mtUgI( zvcPJ&D(babF3CEr)-4+Q%I(3pmTRA0tL4J0)9T@|nIhN_C*^Gc+j5Q5Yqwlrb=r*& zCwAMPl<}RmU2?h7Ynogub(jV{3w*su*#(Wf(MuCO8^4e2TZD+WE$1J9Nrx66jo}Lf zZl8sS7aF_0Glh&lV*O@!l5TSeFEsY{rzZ5N1>NoiVg^PDQOj#Fs%~f6)~H}p|s-C zoMFp>kbEm&nQjm0h*XhxlJ+Sf(?qMG6)%e_{OD8_H<IvDCWQW!4gVB_FJCNnR8$P0 zZnN=+l{W<c>oG$OL%=}#e3cICWFJ9SyXKmo+?y&v&DhN;iORBDn!XD~SU5Qj3Z{ zYzs}HpS=(hqJRmJLC9*UJ8CZTat|BBb29i!s|9G#y1ue^(nzucZW at 2Z$*%1!1jF8 z2>2PB0%!(q?x!+9%6Lr>yUdjdu!TPsUv5yR at TH6wpY4QJ=m~oZ=t5Jxr7&)FP|#t zRs!VpnOrLw6Cq+6CVNd$WOtk5qP>8?FLrIcT%V<Al<~-WtrOylQ#C954pnESas; zD+mDW_M}8*jCqIg#hliU66NJE{KIA6$Eh#j5*fL^Fc1(Qa(r-R~TfO?Ss5(G9>8 zZfsOeu-_fTKJH#p at dvss6yKfb=mR*Hl^T;BU(TVibe>*(jE=+_cRaJJw at kX=Yp< z2-8 at q8pDJyZemsFCmbR*saHS=+HrMHD)ZH+^(l49o8D4+=b{E3@-NyY_F&Pc$!Rb z*~&Tn|L*O7zJ2$@TaM&f#8unr+@?aYH}95u#{biyY^4{oz*=H4Yx%6WeNMEO<d0se z0-K1XDmZ3I8O6?AQcFJhF^^bT1*7P$i3#{4za5%Z!;=rWP}R59^g<O_O)OLw|bTb zT*DmaP*&3uG_abOox$;1CfB3GSuHo#d0Pg#tIyGnLHDhj>gZ+~?;s_Cg4p=C^dSe z*tWV56n0Lj_(VI3+pVbn9?QLM+K+J+xVj7uS-$5D{**d4<|M6ch?<7W;cP?19!fO| ztpSxN6Hk1b&hqo{%t1h&vvN#I#YD;w?#buUPWNP?<(@pjPdO$pSP|@N<mjlPc$S?0 zpL$3O12;W3#~;!@L)d(%3pwbURQd04ufq7{{c9G)J=R*wP_0jU?!Yts<cXUi%{-DT zC8?fZdnEb%Oo`jmHQzlOJx*A|sh+egaMY((566Cnq;<b&tbBMZ*(%LyjoKp#XNf9V zJXe&q0%kF$IGj8hl3y6w)oPK~mfF+~2b2c1Yd7J{(tzwv8?p<?;z6fMnw@$|>xO!y z?ZzJg{Y#yOdMAa46FpN^^HiTCJk?pOmEB+m9=#g0{PcqX0r$Xpslj{T%vKWzk8lm& zW8>g4uk<}XD~O*1lIW@u#vfsMJsbde_2|vRtTDKQlV)kF+3~Z=7=9RS;0}WrJgt_N z-Wi!0vV|RSt8C#1-UhTAf!zh8YE9Mn+Jc8cYZ6LIT2pIU(l~=xIjKe|5Y_;bYS03r z&HJq(i^nH+im$qnpXuvimz{5F9{IZFM`g+bU*#q=F?!)gtjddQ4GZ>v;Q(G<!=-w5 z4y(KX+oa5L*b-#^g#8u979q1_yxrM9*(gS9ZGc!t$is-WwAf={Y6L^!nUQ&gKMgXk zpf~IQS*ZzKW(Uj43-Z~ld6#%#>bUe|UPE1$+3W&8(^jhImn<vs5<U)Vs%kicrd!(C z1$>fY-iR0RVT}<%@vy_Z#GXNz7ucZQ(k@oVTSEL)Xz7kfBU1|9!KGXC8jKLlpU}74 zKdltvD|v<kR_StY-nwLmW=m_9>@;oliyv97f3hVr{ga(-tADaHhviT3VQ1pNZ_5gp zkeS7*Enqx4O2lB_EKwtS!&3{B4Xcep7FkmRT(CmM1gy~G6)Qd1Iq}j-c96RKA%>j> z9*!%mpB8^OGBir9HbI;kFID4E&XmQ6dB&~vn4b@?#BE&C-Pu;DGLr-s=sYs?>x5 zQE@=LDuyfk%y#37I3(V at V#~0D;*Da9UjVTZgC7?!rPYD)>VmDB9~v(U)v at vF0zWuj z{<M<ass~mTQMn1WnS7X?l6jqVFRUBk2Qp6=<GSXjfIE*Vhjn+oNBWvcKY;Ez|7-hL zJ>W6x)y4Ld64?w2Y2 at u_g4=$cemGXe-HCYequQq@^|<@S$Os1<rMGgyYQZ!mFFh zp}LRRYaizxvTGJHOkv|u>NYlM^((L}->~U;vB2kiO}b>%RmZI$q-jzDJ4;r$mPf#+ z5F_yEm|b4HetrFxdzp;_FCUdSd0yt at c_1x2aS>i?D{=9p%*B&KxVWd16$XPnrYS-n zAWz|RXm1p02MbdafDhpwk)*VHh3N?|efI1g+lEXA57x0^r!vdY+Gyo<Q|ixOHqM2~ zl1lL8K8Twa&w;BSB0H%c-d!o{WG}&c)*t4p+4}jLF&vhLU2nU0<pOs*n6)X1WCxe) zkM)M)pX<gRM4IPfJ<NBw&8!9*{1&}k!;6yy?ge%k5e^Xh4PhCKHl7s$w7>}8th<p zr2Aez5^@9GJ#6cJQRuqhbuDG%$i^)x-Ajl(X3?Y_CG$apU7s=8s>TpYgb@$h}sD& z?|%3uKX8lDapkWXvegN-43ZDoYCw&GRg*%isB{YCf>o!IlcA2{#B8gi-&8+c$_caT zlX0 at Gw-3*(vzkC>6_+u|#5X{?a#m)i+0dviH>=HmPGqACkb|(1HHq9OvXRw~H9!u+ zMwX#EiNVJ0uJ@|KQTpWLPKbb^Ei at _PEZa*NMU6BqS>jb%o(5han()bVWgu%ar; zmJKCRM<H_bl9f+j)4Ug>#2MxJgQLmM at O>lSauziL!I|=DKJH>Yp3TWcinwW{?2hH2 zi9a38w+m*sbfDtQN*=8MZXiSWqJ=AMan5;?=pO8i>NP<9i2?-YIr@jiitQ@ux3=L zM9ho$_G$aDv7Og&o;X)RReTu5gAikGu2Su|KaxP;?>RlZEEbEV~yv at n$Tp~n&XYn z>bh8~NHjiiRjrvT><M}*qx#tv72>J2~l7bKG!d at tbUqMrs-U5l0sFWqMi*Nc>mHY zs^^(&(j6kicph8zMn!BN45t#wI*O089)EJG;AACxP6%QL<NyB>twoK)w!2ZQErA z)6DAb8T%QYQV}hepD~t0;!$owyR4H4ALSnTv16Vj<7c at B|B}^YBl@0zrwqV;A+1k zTV<;0)4gCb5nvOGH+9)|Dpi_X+5hsiB%YFpFqNs__sUTL$c|M;pr1ec3u~VGX^*s zIp1fntNumWH9GFitdjz|M#tpH)*nT=+phroye~!yY+A308fn&;W-}qSO%_5^qv_Y* zT>YM at H|KYJiTU-_+gHA#%Xi<sy;p_l6&)D)Ij#}ug_57ihh(3I6E+bix^{o95xaEr zvjm{YXz)G7sZ;<ppw@d2qkC8s(Mf5M_jL)jLN_L?FWXEZq_7*rxDFm>ViaZKL-!z zdNZq_KLN8=<n)DCjU2j)p6}K%eNB#41-pP?ySqPq&Dxq=H&8RxliXe0=6497oX9-b z)1BYAG1dJU{$c*Ot0~H<rmDm(4jkiH)^x9ChRI_EYhle-Olz}H$>^x3;Etf)v&yH zE*3-$gV(TB<xT11#oIsywR1bpHcPYJG#TprdtI6yi)}tv8n$Ir0ZTuvretdTcz^dt zv4cJ<JGS+FK{aCBD|3z@pL-QFVGNY2$v1cAb~wo=pPk&?nS1KZURIWyJIb2(T3f4{ zh2Qa)L|i(_J&@OL?_XbifAyNhIqMNJ?z&i1t65wqlJi=rr$|@RzN|#TJw<UIl&O#M zAZw)&cO1ldkQHL3KFWhE2o~n)e{Y>W4cP<q-!Uz0j)!N59#qZEMh!)RR17Er8 zXeaa2Ez-%XY+wl&4pyv_SvIhYoX}JH(tJeqR20>!PJXIHc~GW4%7gqwi}D~V#4OFC zV~_=bS%kCDs711 at Mh&%75s-7->=;LxU!*<8{B|qWsQt<0Vf3SX%L=^I9^+dU0A|** zT26P7gWzO-a99)zkQIKUC>9_qQ!jI<Gy(|bc{vFCMnv7Y?feW!sGn?d3R4F6|z z2303|eZK_5rOgPo$youjF+Q2A*gQyAhdp*b8sn3?x*^vy3o{p#)6V_(o$_a=cnsks z%Hs%cj|%KH7FW4kV{w(KH5P11J!>qk_vkX>pp9Z1 at BJoim|7RAv~-77s}%Zcll>7 zYPrfK;jXe6!d>^p6OMN$6OOHCwVC$Wa5D8Y>B>p0NX=|i%(V-xH)fN4#||vc_w4$8 z2;Z|STAc4$X at yno5WZ&_$8vr at t;Zj$Uhf;^pyKQUfx}Ne^u~dB$ofu$o|HNm4r9| z5BYUL8X4pvE9F>ykPrvpA<Ib77m$0H3kR6cCL9Nbm<4^oasER*(HBJcUeXuz?t6az zV_<sB{R6~3Kj(SHjPO5;UZcC|E&jYOD9!(99fsegy^*m<UC{r%V?-0@*ykbEQkZ} zkY%Lk3r68KA&X|Ez9;{0E=R?EL4@!5^<Xm{_16z_-?IWE2JR8QXQh==-*eovj58YQ z2>-L_wIF)pfcFKZOh2b2p;n5fP^>z4_U!78tMohvQo~1H~<e>MvBJzq~E?E^ohuV zdBI6>Ul8GYem&Ssd-pv*|IxT!=LNm{o}cr)fr{yi(aEI=#2y37nJ6IG!OZ8KtlA| z267&<f@L(+5&4jnau&n^c*rtR^aU@&Z9*2!N_|iM-(0>d?h7J(&#woY>C67+1>E<n zz_8>*<9h82diOm)=XnDa;eQsrMqkhy2fQyR&Hrc~^6P+v=&21bdB_Tu(NIU^LsrUJ z5CBP%Sh2!lb?z!e_n9fUwc^a*(LG3Aj0?jda#-H?t6azqjA0V1-<*8pYyzdits;+ zUZXGQjRW2Wmgavn5BYUKLiE}OavrjRWi-?gH+=z7Q_K~$TCv&1!v(lA&X|Ez9;{0 zE(<=DDf)s4-}CFiW_s3NKgfO03Jgn5G_Kdapm*Q%bDlR)5&mb<YxD)Zalre6()^F+ zA- at hth@RR2lZUKe84YzrK4hhw1#ti#vW(=7bsh2iJd0+fz9;{0?n?JjY+)RuLr2U zXWz2|!~235-?P$6sqfkMEaOB{Mm#6XqE@Nz&G*vh#hW_9_mZ6NZ@<J{@qURI-?P$6 z<b3bGXBj7wGU9niNzV87Z0zQ)^tsrkj_|!C=X>(D=;D{BYe+FE2X}-wvNX=%Q%tq z5$nEL)GGD8ChvIzo{d9FUk4do2lj6+i!q at jWZ8M9%l_dzNtDI?amN^-upwa%Nn z(sj;F9pQUP&iC$nR$xR at M);nUR!V(uZ5 at w$mT at BIBj)j0)GGD8Chu7v#BF|FUk4d z*0XNziq|t^e9uZNk at LO#o at E?M%Kh{s9Cot}ujl6Hy at co~_kX<n{^HfE+roW5(#YVt zc77d@5CBPD_AU9rIA4%vQo~1H~<e>Mq<5~!JCUc)(NJ*AOBy$OY&uPA<p;gdT<Ee zv-3aB_pG$S+&_fxS;mRJU^;&4^(ba|H=INCll$<_z~#kvcULO^?QcsMA6CoGUgbfs zfh>nO07=;uC7y?@d=wqU!ICA*NUSu=c|Gm(<6>NYKbi36tFjS#+99k?t4j at 7w+C zSgeR(4?(I85}j%#+FA=O<Or{b5hfJ~8<VKc>RX>#rj?jQd5&9})em?2^gffAq7= z!{py==Y4(~o~iGu;Y<Ej7CQKn)djGQ4^snH|^ox_g9zSTo{AFWD;<rUo;8XU7SSd zpM>n1E=>$Jby<}O>$*hfpM*3MmrrosB()H*WpfQ=Rwkc3jKe(Osa?ijlt at b&FlI#V zvO1(O^XXz-*AL6_6bTwr9M!G)nC2*lhbA<YG#8hAH6$zdg>z&x?{{wblkz*c=~2i% z!*v2x7;iHyUAZGZh+jkZ$#V(-^#-_oAvA(1dWJW_YIF3IEEb)xwMA10YQY0a<4dc z;9XqsO1%4Im2UhHS?h|tBVyNQwFBpR58VO@^p1j-&#b|u1_MZJvoR$|DLS^5^&w+s za?kY at FsPt+PD^<;XBPL%$^&tJMP#NV4;$EOyqK8D-E}$Yk?8KIN<dGXARNVLO}$u zv*HPlvsybwb;R<At2J0|OIMyEfZbGc;C!khfZbGc;C!mdi4UJexT!9DyJHyv?53In z=TjX4?53In=TjZAv)@g1;Y$U}2w*qWg**CVfZbGc;B2bL)9GUEA5h5dKP!i@f#UjO zZ?q^xx2vyvPc&S^~bo76$R+B3&rd-<t~}&>zUNdvyz$9A&LP#)XnV$GA|aKgNZU zK*zXHsJ}NCwvR*#>2<F31OmO3(fVj%vs;lz2b-sxXR@zEUq$jmIzWV$DLBKI9k|s zpZfTu>%P{pH at 0HykdjuB9*wk$bnn?JI$;w_O#N1oe!-(vr1!zMiu88jW|8qWY^%s zq4922>n^{A#!mg#T|Nu1SMM%gy;;vHMoCsxdLGYr{!X_b(V1d8(^Y1*gL!kO($!Vi zO1t!W2z}jrwX3$<rwu_s at u)*%^uq-(admt9-OatK70FcK$OX)-s|X&ldmI7K4++L* zwss3<Gn7|JI78D#6?4jK2}c~_zb8vLHo|mYjVFuB-==g at r8qEJYmATz4+#}-a46E zrDCZl$ryog2r95{B~yWuiiE7ls-HH-A*jeQbF!_*fAv?4EsfITR8@hPlut9Pg}Bb zg(DXbV|BO%CafaePfj!L;VLk;CPy6QK4J?vW0s5~mSMB1lLb)_P-1xX>YLlEi~qbR zTmg^gAuFA5(4rs?z(adn(HL|jXDl{a$^-9nG}&8bH8>W;0Z2k4Wy8g1mZc==bnkU% zIgbNC^hr|b{&HnxFj)#~)M0q&vqr at vOJR*V3`u>~sBy&etI|HIuRY76k1Bk0D4O30 z9tvv|P~B(Ca-pAOcH8_K9Y_R8g*EChB=uRNdOb^8H2?i(Qt4|T%E;dPsDtp(Yai8r zjq2@%A>RCoWa+0y&HJB6DTsdB=Ic)8QOd~vYLtRF01sIM3bwuzoe$aF&>?xqGLo&Z zavmZYk1VP!h+gxdaO at _66~ROH*iAtkfQPJL8TBH9hpd#dAP&GomXSJXV^d>=x)LE z$ww!TAXr-w%SmB9>Gwed>qwzvI3}+IhK>GbZo&KC{MDC#iX89lc)E6fA7Qq>4%S3 zSKoa1d+M7fufBOJ_PJ!Iy5U5B<1qu|AWUIhveykXQz;*a3aW5R^nnUGe8c)6dLMd zD$5DhrA*gPtBAc9S)niheEq$^4)iDOLw0{GLT(u=NzCP1{%*e?EEn3$%-HAOCssX z%0L6))6$b=y-x2%^|2z}GLp~HvVzb=>4zwuDzC4;zj|GnTzF1Bq4=$ilZEckgVA0 z{Ej3fD-W9}han(R7~c6zjBJ&yrtC+on;DXIF{-94Gr2$x3$ph+-ux*|1)GVpg*3 zUVzc?eUXiSyOMnMzD#{T)r8Czd($}Px;<hk%BH$s-jw=&c#EYbtAW@)&WP9Btj&MP zdx@BCiWA#2%vn3=@S=wA4T%H1k%A4EZO_eJ%o{1L>b7jZGo$zBN2dSnw8ko|9vV zJKL7anD41&rJ+(!rOVA7xl at wZJlJS@lD)^#$ux4llhxlD0R1p<*};T3mVxXH5CHu! z(8vM1W*hWm#ScdmvGip1%?7}yr6<dJk>1PAcw6<k2N^;jF!~0(&Wv}#qCw$E at W+H za1pYkE*+4Hc9(|ltLRt2va&|xd~DWqfN_YdK{M^frvs|Y3KsFuHLH!YG5V#d@G-os zU=dUlSFpaee95-Pw~MlatT8KC1XaZq>@ZaIUcn+h%+xNZcpW|e-+J$W#UV|7< zBB&^?V27ci_Z}>Qs^SWE7^- at yVDssChk2w*Z&&g6RcC5 at AW4bl2clMFV<7yO-Q-6 zh6yb@aQPx6T5z%->eY%O6T0eKbB&m<K8BYVeKd3t2sGf6k+7Ig_munmjaRe1kXc}6 zNHX^f_LDhXM>*|^d6Cl$_LDh1;={t0H3dj4|AH_cHiU}7JTXue7Y7#k?;vyoZ04) zYH)h&_=NYLvg0#N_+)8V&!!Q3ow{%S5cZQfy at +zU;P9DI*qfJ&8~_(Qxzkg+>=n zT}4+m|Ki(d_v+vjGd|tD-X2d8;wMvtYe@>CcZ$q<%PE2fNrh+9;@XMwAh?X1J+o5~ zy_3|Q)wM{nbFlG1BXKE<2vS<Vs?&k{rzxvad-V{1XIDmzqIoU%k&b9%^Q{#u5U)t zmfd=VX=?=E_AviJt>(1dtZ7c&WqP4BITf)oM{=57lYar6wyU2)Lq6o&GH$W1x)z znLfU!2Df at Pog6h2pR*#{r2wu=J$91>-v>m*|AeyOZYybsU->)sBlOTO=fnrmk1P@ zJym?o5@)(y#kB-ynv&p5qeOC2VN)P^=&xIs2)_WP+ZDgbG$p~A&Tb%Py*CgNfnqwp zzj}3Xe?d18TEf>rXo<oGLb at 7E+w2BHB2Z-Z)IeyKd<}$_@HG%xqOgIGJOr7}su<V= zNrYbj)9vc7dEt}5(N#!97&+Y4tilMxtZs>DR%Q4g+>iXwrv~od&g!SW(U~G69|sm z6(AVKgYRkPPRI6o8xxnwmm#7O@%oQ6#A+HOm|m)Cx?3*a;>i{|FmvD$GP2omVa8e z7c*GNqL;e$lBVf=SL<~jo*DD>nWn83ujH%-7;MJ+hGBd0HnHD}$eIXQ5M8wrcI$X~ zV|+U!dr&%!=Aj(o06b&3x|yHJY<hb6~qB}$TAX+yk3&8$8DpAPBKm9_+q!whn*xh z3CsCvIVN|M<QXMj9?#0^RZSd|Dm8aL!mN9sp(r+RT>F?fQYn^*X1)|}NUKN3+X%bN zj#B1oXwOK|{w%O-I*c&PoDm+<Fsfa;6EAP*XD>2rt;eP&ue8*b8<U?9cnFJP>I-W zoz)N67-?)IJA{kU2 at YkoQ#MAtLs{%$FPh*Ru5%k#5<G)hUqZgt(VhXpC2KS2$VDV zt0@=v@7SA7k+$1niyQL%T7{>&_4-guiR?6vh!ZrA7m&i5i#o}LjMezy-zm&F18e z=ua?!+g8Bn_I>@QKM#I41^~&;P3E%x~uJL at dQx2ieGwv6XUYkb!$2bR*Ihw at ACF( z%vvSjA$yzI_)C4v=mcuy!!EmRUFUumfVT^bEIQDdlTAXOL4Sg?Uppxu{lgU>-qtX zD0=m9{pRL}>)R_TaJqIz2F|6Qax=ycJpXL_IG$F6Yi_*@1cV+h%w~qYcKGeZ<(2d^ z&4atE)?j(cKIoq%y+OczS^t&D?y=%lBOAcE1tBBecT&(9YF((V+73_3Z(?wNXBu zw?Evzx%<zE;L2HbM at _Xz+Xi~iGzd^uhcNE^cV%|RM_&$(2EYCFV8441($#+YJoxo* zaoRZ;U@w6<R0t4+c#_<D<wbrQYM#H2<5sv4l9Erc_q4A+bls{{Zl<1FBVE;+n-~H z#dyn*zY57|82W&2yM@NYR_47LTf$u(dAQm5~1YRp~y80hCIlU?0N)2&JlxVPWs3 z!If*(YPbE#;P#~>4Y*8#t;_Ytny>!yEN}&t%XpN!l5xA<JsXC)oM9p<Dl1FniNp6T zig;AI+KK1&ld6fQE5(6;Zx}H306k=+qixznTW?mmr7VX45?%y9+l4EzXJqMhffa z$+$L^yYO)}#1Kw^!Br^ZPMmjfT3j#<;RG0*B}c<FgcD#i4{+0#zxU*KrzxEPq?w2T zYDy;nX)a=bn$jL1S8Tdr8Rz9EGMkp>3Qy&2X1pURg<4jjfSTU)ousoi^aoAwFB)t zT*fWd<JsJ7;M=#kjDvPG!zH*Y#6;Vx)p|oY<!l$KU3!@6-FjOEsL)_Im)?DV!;@iW z17C{aDdCgwWSJJnIVQvmhdQa#Te3-KeS2A+GW;V^%LK+lmZ45J~G!UQOzIo@gK zt?#A^8o58!@wPFpsQj{>Ys<^0J-g!>n<Eu^DnFUSohtvr*Cr&POANmPK<UPhL(wF zmvkl2bDO_Bi6{9!hkQ5fljF1)o<7kIxiSgvsx$5y9n&|t;shftvx#Y^gwwwB450Pe z96&qOqKK#MaoP^@KN}(O>HIlGDeFh{Ff5JxXCo6eUr=lRmERl@?~K=)uFpeOm!IS zKW*v$str at mmx1}Wi|KlJN at s=hrclm$Zd#=v~?h9U6sBbo0Y>S;YnGKxJi;%#G}%c zM)imJ<E}QUfm10L@~Cx^%<eF|PQPBO9SBr6=rXgUawlGy^Dp(YY3NZz7II=(vS zzA1pzu2IWsnYKI!{b1S+^ZKXNlxQ5<Hd!|~V+$HnTFz}f=X(J-nP;xG0u=Eiq00oE zAucNM9UHEe6iZNzbHWJKN-RM&&H^J;E3pLCj1c{~=l~^LFhM=@wyECL=oo?t>Y2we z>J7mJ^^BZ})vJ251;r9nGk?RXl~{sm=4)8B5=&5xgoL{=DV3lY{j?SPk_4p^6r-26 zVpjyERDxo35?W!oUCGzpyU at _t%v;gW%v)J9&v%W*$9A{ovv`qtFUzycd(r0Udi6Me zKcAU%KUZ?tvI&vIaKwVxvI!ujb$mx9&zO)W#&>A#k&r7)2(mFpZtgCV2_ at K$P6yQr zp#-&<7(ul{C_ycfP;KDkc0K2E4Z4(Af@<_JLbVc0P>p^@s8(VLs+p(zX+8c}MUf&! z6Cjw!@;;h(OEdw3c^(I0i6%gZlrUGch|D=o>4ro~gj6fB1gk|#gj6fB1l307gw$K2 z2 at pm)gdi- at 1PCJ?LJ*c{0))t%QCyod%E+9MYLPifszpkKR4cJmLU?TrsW&nw$$BFl zLJ*c{f)_?Qgdi- at 1PGBi=0h!_&GGJAaE%5;NzD^u>9{N`zD^u>{pdI)v0)q6rX2 zI)orB(F6!19YPS6Xaa=DoR at KJ&dZE8C!|_rPLgVo5+T(}ER_)6=7iK6nUiF_kq#jU zOEkd?BOO8zmS_Tm$Q<*DJ<;ZzW@JuCwaA<#)gmQAs+CwOAv|+J>W$1vvffCC5QHU~ z;DwP6AqYz}0YYTXSzMcQmXSFj)gp6}REv}dsa9gCgz(G>sW&nw$$BFlLJ*c{f)_?Q zgdi- at 1PGovb!Y&t#1d5VlnAO;VhO5wN(5Cau>{q^)6lq5i6y8OozH_u>{q^(~xQ< zmYaA8X7Jsu>{q^(~xQ<mYaA8d9yq5>yLML!$sCmYaA8d9yq5>yLML#mZnf@<Mu zsB=?d395ysA=OGOLACHSq*{q3s1}}v+H573pjvnuQmw=iR0~f-s+CxRYUb&Fs=te z7umg|TPd0V!914tMJ;u5YZ4%s=W!60XaWQhHG}o$h=CjvOHhpjMW|L{398ZC2-Qj~ zLAA)7>G;XooA26EXo)63h|Fn1xRTQnO at I*T5CdU}CP1L~%XvLDAIG^|&~gdN(eDL zS}s93dK{x%%Oxn6?#4V}K_il$>q&P*%C%gA<<i}daxIsj9BJ8X#kmRe6Hg|VsQP0y zZ9LERrJ|Hf06;e7ZQ+JqN+tjxqw+Qyz?Ad=SdK5BV8^e~wzr@1H^oQh%&aZ$dQ80> zPZ5NFoQucSwG6GqJcbjh`Eg at G)id8ZgJ1P5&T0@#wi;f$(ZTc+0%EDE!R9ElnOuhQ zD8oT{j^%NLj~_A^hnpfT_jB&*=UL*87idyMK)IlYby9tt at nA<f?+ at nw$+%k0Ix@3! zkGqX^J?XcxP9^;|W~A9+B^a508#6NfHfCgcv&xuEzl|B0ej78=T+T^gGW|AYBz>E! z#Y7{=)9GRzsEAt5Qx9Frk?$DgS}s93Ivk^1%Oxlm?tU=0sk=PXatX?XyFukzE<w3) zH>h08BDuMnuHuX83B<5jn8B2l|O6jB)*ryL=seDOxPDWwojX#k=8EVwrm0j#s)y@ z%0zJWMTTIyst#w-fAHLxM%|bbU3REMnf7M@qSD0*LV5_(ZjT*~pen0Krt&*69I- zE8w=Q2gEhFoxnT3{8(RT#L(il)5SlzrlRx%MZOusa6==8Ph&ChX5{EYSqpF<cG^ zUy3Tx1PBb4x=+W|1!0LMKxprymR-0tAesQ7iLxMEURa_D5Ze17ge95)p@|xs<F!CW zC9lPZaGMYQD9Ai7utKv3m1eXngF4RirOeGGAhXnBTeFoN?RAx-dkSKM5RF>QS<mV zN{J@K0*O-h=?27=w3cWB1QHbqVTmR{7(|)jc6nimCO{b8hafD1PH_X5QHU~0HM8) z8gR746QDE;QBW=M1Sri$6jVz*0SXzJRg<Up&Bq+BdfyOEfI&8*VH&~-FvvtSOhY&U zhNV&SO-XO%%zDpr-c;|32g|W!^(<Xt)Ek0X<SeR>mAPg{GsLA6fVB59KuzfcAk9Mz zP*XYqh}EwdEOL<F8Iw{8idla6#LR?22u%%(OJAjTkKLSr4keKr1{(*%+E#p9)lB z399S1YM0SUEJ5}5ab_*6!TR4d|HiKVz73P{=*0Cx_rKyJyRbJa7#tASGg$3d^PS z5YbgHm6*p;rzxO%+H6={$}xk5V1jxysioc(IYTf(Jtk?CdP6Wlz3_Rt8E>nY2|Ab} zWDJy=PeL|rF0PCe-wx<o8XB_S78P%O-%BbeSL_x{{DCIul7TQ<QHlY(QT%_M3c zi(m44mohC)kPux-ASMMN5L?zmmur1(J{?a#mk8>4{F41i}f_LE@(=o+cjT(G-60N zfPx9?7xSt4ku;ZLCX%4C4y$A$2XoK!4bE?M_~ip8G9ng+rs%CxvFVc{I$9OGkke zk&dQhg3tAAYCi06<qH!@PL=JWFj7wu3-nZ;&8}lbDyfORZ^k}5ZJt``{=Q*C7J+% zZJ7hYHR!cO6ClvE?YOqaelGo5E<rg)p{d;UL250Rpd3ApQLg0@l%u<NNbdB}{NkUF z7%7<mfG*41bn^Jfk&+1j=(fC#1~4TP0FWX)-ZqXRDVYF(6v^9Y4@}7f0CYSKz?4h? z(1+IhpLaG6pSQn3<7!>?iSYhMkd4#Z!%Fpe>wZfcXQSInU5&6lu-tDcm+^4wbRU!2 z=obAl2}<=r+<r^Bj7MpElFkmfR<m at Mm5pPtZ9dxy<)PI|r;Bna<QoAx)nXkOhtx75 zpIVnG*gmK;f_44%&OYSH%^rqb5LoXcAuQ1Z2(0;$5SFM1!sWd_r<f;Sd!XmK%Q#8c zcbhBe<XOMIdt6ZBq~4TU^jW$ocj=RE6YrAe(DKyKJde8Jz;Sr7v^h04UcUmQ4V zw2TF@WfMR!F=Ih&*#r=zOP=Z&uI*AX0RY{Xwl<1h+ax20HEvgHX6W^Z>YWP#zrV zOKw+vl}9BdwdceBV6KmgrWA%C*e3bKg2W(52532&%Kr>~pEJ1cK_sp25};e9ao{ zk~5TRcU^+8*^C{BCy(rENw?3pYerG1wFM0WSa&T>1Z%0ck9u>FCe+)49!mC#9fUu z)Cm0z$rb=RudiA?E#dgH3OgWyFrTr*O0O?pU)<e2=%*ogG#WD1Du5%-JlALL0&y;x z^Co!n78QMTXNzpfm6EtWqyTww?=m4l~W&lyuRKzOYrn5cLAIs<u1U(pqwRmq?5A% z4y-}U>~5*EOLrqD;^NR)- at oafgstoy8x13Mnm~!*fBp&1a^|j%2@=*^*FDyLwTGf z{OBEL5rq4}4a1H;a2Mf0IZkbGz<|3z9C>5hWF2cT({1iF|O+>jMVrFmfjLLEXH{g z90=pS4kxjA3p}du at D|TKJD;+jiF$qHRECYq-d%(Tra13+;CpU!%w^gduItd#Kc!p zyWyd_dkeO1UFV(~;FJ&d4S4*Avjh{_SKz(_&f;+10D14c&d=3w7Kzg{++}b^hP%K= z7qpHmckaP?7H(BzH^1;%ZO;wtqzAVyeh7rW%w3aeIE%r351hB)De&BZCnq at Xz!MUj z1?(gQX9=Eo;4HwC3p at q<Oa9J6?0oPu|IR|}3%rHc;VjrT2Isv@vA>w9_7^kd at I86I zYF{B!>?=gIkV0OqzA{wmD?^?9^XOi+L@{b6iWv|5L*!X;v?zKa>fR6Kk8TCA$MxP zIMNcPj-gWrN^IDXkgf46snJ3?Vci3h+nRDqM=G}Au9D2GPV56YJ_S^fT^bhgyrr* zv9R1-C at gmu8kV~Sm}+jATfnf~Eg&o(QJlLAh2!-!*aKPVYyqtu-q*mEO$>S1n2HT zVY$1|u-q+RSnduEO!eC%U at EQy9<To?n1+Iw}4@}Tfnf~Eg&p+5BUY>?m}U?yU?)Q zEnryg7BDP#3kb{4D9+u5!g6<^VYyqtu-q+RSnd|!me=m;%Q^QHa?3r1Lan=Q3AOG* zq1Ig})VdR2sC5?#weCWp)}56?t-DaDbr%Y??vxQ~-GxG}yHKcg$5W_v7YeoRLZ()H z&C8$1lmJst2_OW17t5>OTZpQ?g~D?7nuS+2tcLjogynt#gkaxf^6K}OqH=$!)a)NT zu+K0#aiwPWy{H*KR^+ at D3&l5moaLBDR5?OB%h at M=Y?W|n<ZfW(H+O7#v92i!-S+ds z*_gO<M%;;?p7Gy`-;SY5DOmi<3vn-griCsh?tbu3)|T#75)7lKh$WBvE|!z-q+$x) zMNFZ)h$(cZ08{8LVhY_wOrg7vU<%zuOrg676|xUtID>;a{iUeZUn(?zaL at mRW>2Zm z>?ws0NVu(q&p<c}&=h>Pe~TY;a7v&#AOT-upo-b&5u5 at NfqmP+DIpN}+jmY0bXt9Z zz$wArbM=>aR(a7j`2xK2W;BfyK+8x04Ka1sEDhli&=4L04Ka4tH4Whr&=4L04MEJ7 z<*U|CCN+dd1476beVrOunuzzAodO6!YA_)DL<tRU0RzG<pdpBK)}9bT8j28NaZxXn zI$2 at Cr$tz7Xc6X at f1!<e<S%Bv_=~l2_R62v4gQ*@Uq-|DWf)_#trr7cS96vzjyz at Z zy*THM^3679A-<mGD{%Mv$TYrD=DrIGCC=aV!W3qMi+@<WKO=2;%~}m2?4?1W^&qS zqPVM=@Pg at ZOPDBb2@}OVoG?+5+;gUg1?vIbklfcg(;^Ae_bc;)t^VU;l6x at Rt&Z zBIsb<Nu^)0aNoUobYJH$mf-sm&T@R0!C8QBBsdE&By!WfQvjn%3Shc0o1^@zB~1! z0sc}{?k2nV%NA=H&u?>sdCgWwp at GlQ{||iDrdW?otoK}XlDuA*X%4|o0FX-TXfP{ z!nO%JOW1y2XNlak>nmh?Z=Hq6r(?E6krX6*jnopKt at RoY<sHnR=x$*Sp>U$oY!l2 zwP)K!-8YPmeGfs|j!x%I$cozV=#)TOXbI$nmOvD-U(ky|l_LUG4%-EtdSOeT^E&M8 zGp?Ka?~KdlK04#FSh+Aa%(Y9cZEEdeYnxfS*xn_^_JsY at i{JiwFnG6_u4mPtTERc_ z)%*IZ0qjM8 at dCGz&8LHp>-p>j7kR*qVGnnU^$vQ0diTKYs0N?QU1h6!HF<g*)F1%= ze(~b(u!l_i_|ws!2frH}?T?SnkN)k&Kb+cOcUhV8(a{m1d{(Oc*sopeb1O6dC1F0_ zELWy~^wP&XYCkVieoQJqDN{ZqmBX&TGWCz%tYO=T3Yn>B?S<6LyxQ6J#WG?>r at o9~ zJ0Q!H4~cZgZIor&PoSak*H_q#RH*-JFYiqEN?SiXo#eEXk4M9qkNqv|8Pxze+D9h@ zIgigzh1#Jh^VyEOTFbP54T1Hl$Gx#->Q6}hIOx!uW6O|6Cy=8)o^XWJ70{4G!f{Yn zNT)-}CruvP?pw+p1S-s42S940j25d01Egcpx9Pu&D!vEoKyG5KGOJp>SFy9pZ-bp zx1S%%TgLOL7hqL&0WkFfu<hd}L77easkdpzUBEU+SusBMQN;GL7kl6}pKpjS*6$4f z>@K$1$qc~A>j8A%ogf@}5ul6eBE(<&LTtS?phJ<<R8*s*>dfEBK5ZX%AK;7Jv(0W> z2J|=r94=Sn2P3|)1#wfA77w-IWIGRMyoGVjssagH}K9znR=jxP!Htn3#V6XJVnKJ zUpNOE2R$g9!c9m3h(IYtkU#LBFF_HYkfJIGP)N}u2{48aKo!+roGkhYS{JrHu(CsF z-<PV#bt%8Fe)l+eU81;^vS9!)P3sL{k~Lp<=4H~71}-a>z+&tb)Oyo%!nOWKtJu zhpOt={=RxDRR8EFX0a<(KJhEB{#M)q_-R=c&iSE>@+*H|s2sW{zw*Vdj239R{K_F) z%Ctkr=hqJDQl=f+MZfm(>Zda8Fl_QU#&}1#;+R|)5|P}wK>1Rk3;)@cGqGre(In z${(S;E>jM}B)@W8Tqql3_!}==S18i(y#k{sqUFy_hMIQ_t#$C_-N#)kQ84h${xEE zDxZ3X)9 at Z_X+H-w)IXrZMWT{q at v-ukBCUIGB>%E6Q#|%E&0d2qQw{@v at 5CL{mkzd| z<M*q_b()eu!qaY2d*Q5Q=u4Evd1-$8Ie{+-lyP!?bmq;(1!ymBYQGKuyf1AN#{>Xd z|18QG7%h6)2kphZ+&P<#celF$^#HWDDIWUA%x;SbwVP*w=c>n0n8wY4rDwj94CQ# zXg7T^#x?Y!6g at uj@0h^l^CIQ{Xyb0A!Xc62#Q-t&u|QMCE16{zcS4SiMaH|3%d z at ob^imo at P5lrr@&X7XDPkD!aFVFNO6#@BV(h-m?^@&hFJ}(BqHApY__4vGSmH*@j zTQmZoIJyDul~Xz at qUc__*p?XRYS}^@Y*>I-qBmi!Z1J$zcIOh2t2K2TJq{y3n& z)cg}tKYlK$(EcNGu34<zzr~MzxT(~5f3@1;=buW|552Xv>O%doSN*ID^&_u(~p at P zH#i9NHJG?l3O|NbhA^Urfw;k}9AZdf;NGZmjME|I2cwF;HCRd(biuxOFtR!T0lEkj zMpp+YKp26-2!oH7mC{9|FQcm%0>~mT7+J*_Kox<3RKcg%N|^#bsKhEp0HO#8B&rw! zcp@N>C;nl%LaHzv6jfb-3Z0SvegC3>5xKUb&!85uaL1LVyu;hFzdQf)OyRCUyY> zj1e%%nff?jA#1p!hsv{#aE2oa$aH8}=n(E8@;QV!o5CffQ3b;l9{}cADZr3Kz!WP* zI2}?xAW8VG#=<z@T#TZr90GERz(AtPF;0gR2BS)Rce0SK8Q}_M6})j+k3Uw0Q5lXX z97b6uIHyAjMYM>A!QR{XvZkqOba0(!w3wKVTBlwVFZSeVTCxO83AKtSRo8#7=dGC zSRoE%7=a@)Y*d<I#7IwMSRn*t7=a-&tPle-jKDB5tPp23BVddSD};dzBXEoiE5v~e zBXC5974AkJO<=J&&TCVK!y<*BEt$XAj1d at Bf|=DMl%A&$gn~f$S?xO$gn~j$S?v& zWZ28nHjJ1^h&HSc0y2!i5E)j80U1VM7#UWGGnx@FMuru_K!y=GMurvQK!y=GBEwEg zGb}J6f>C%O1Y{V2Au_BG12T-jFfyzVXEY;Vj0J;fea&Xj0Kpfea&XM24M}W*G5G zoM^)eAt1vD43S}l7?5EEhLK@~IHMT>VNw%3}hIAVNw%4rCaC!!xWdoK1|T#AJeJ zSSiGi#NZiLig7xm{18+X4vR-qVpJ at sDue*42n<10AqG%IU<j%T$9JPCF}xF06+!@2 z1csoh5Cf<pFa%YF1C`N~7^euT3L$_h0z*($hyhd)7=o(89(Ob)I$S|jAp}rGU<j%T zF@P!pLr_)Nb&RG&&mpKPgaE1t3_(>P22e#{Fsj6v5ryNd3SPM+S0g%sfd?D}4x_9S z9C*w@;2>>y9!4Q$_|X80vT_K>FaiVVD#w5fBQQjUv9mo2>8b)BdXi_1l)*rT5jY~l zI&cRvjKD$K*r_FD&Ws+3-WMCO4lsr!2olx-$mx*sM6y-*glqIjbik6WLJVMw0Fi7J zf&g0t2(pDI(-fvw1yALDtrtRw^Jz*^h~5iB(g_OGc>)H5(g_Syc>;zV-SbpN*A$)v z=i1T>M{g;HcKKD?&my*$uy}Sjt+V#-3WgMt>V#%FL{91o=?t$r)6^AjslFSvbyM z92^AsPznNB>j!xfd=&=;K*A+QNjH6hF<wn${1#G5T!USunOTvVPTmS*A@K8X%M6| zDx+{+0Z$5pG78s~*+XeeMr2*Vn9R!CuhU>m0Hib~r@@$@CxtON4aNjLDFq3~qaOS zhhqZSRoJH-hhtJ+PmaSeDX%BTp_t$qfyIs28BDRr#*3kpM&%6OSiB-Q0KWXg;{)t zU+4>>l-89q+-pmr)Sbiymkfd^#c{#?yg)GChQCrioz(xalvlQoi7+nZ@;G6j5Kw zTd3 at eJO9oMiKR;yd7hE)2X;Xed!=B5%r~mxJ1;K4&o9~Upk0OxW05T5DV9rE=FSE z`qITvEL>l at 7>kAbmoDNGt}k80C0t*+h)cM>bP<<``cmGG9Y@rc@^<VvqP~>3W5*Ho zrMw+Gj;Jpk#3iD>bP$(_qDvMBI-*AafzreZ2kfVmR5xi3SUOl8i6%0{nh}UJQ5gZ z@|Lp;zar>TgO<yk!pn;vIA+TaT=T)&z3W~@GGKa5Lo4YMPb40qYJ-6Z4u*;VU_z8 zfyLUr4*VKM<h;Nt_A3esCca&6;ZudquxRFih_cfb{B3%WIXFdI&dors+-C+j7s=! zDi;aWL5MIL{GCV#alu;T2VmO)3cq|i!Y4SsCxmP-Kq08L|_{M3K33+ln;!g!hHrK z{OS}*QXv44L?AGd3K4)L0)dfKx<C9F!a$N#2mmAz2#lmc1R#k(U?df8sU95@JE~cA zD+B<N2n0q_Ap(#@ARtNO>2y(g<Rm6rjn@xjNym^L8>|cIUQ0Uf~^mQAH^FXNPw+U z3}A}@5p0!$09ype_OX;F_%xW8rt!S=7#V!j=Tnc7p09S*cKfv1mF<NYRYW6&Z3y7h zrC-*Ctzu!6>7pwA-WA{kS%b#HJ&UA4^|mf at Zj1P9l=@IN%Tgg!QB&hhUc-0W^V= z_WoLyXZWDsM;KRMemv*n(XsdFL##401~elA+iT?K36dI-M|b<91MLoIHyCLc=-I$ zvtHC!)c)pM$=XbGh|ONeK?x7Qk>Hv<&UOqTsYJo;TL>;?r7RdVIbQG98Fs(4rCjF zqiHMt8Ww)GIZRtA3}hRDqiHL}fovmikhXa at Z5yr;P_%UeGh|yPd^kv3H#nzkk<y1_ z&{kSW@hjdw7&aW>(J6!h+6Wwjwn7}Bjlj{gbuq$W%A;rbpZum-z2hI)7J$Se1ns~ zV(nZtd3xW$D^a5gfrNBSw}!H7A25aTh|d13PkgmVX_5s(4hv^IM9zc?Tds8iB%c zt^*Vxj6l(ZEvk=I;bz)V1<#|ytaX3{)Dcjcx(=X#KLU!?*4egf{xdp-u9f0#R*C@4 z8v()UXDI}<Y6Jv41KEy_A2ww~ogGzPp6ZSeh(m-PXN8N6k3-x_;fwV4aaQ;WA?ha< zo?z^>T$aA3I2^qUG{DmiTCGt9Qz#!%IBMzw1X>XS1#3kYDA0fqDA<4i%5pQ_R;9CO z+(8rItP31?<CXvtv~>XlZ~3=CUb>@+R-C1rWM)794f>C<_I8 at xk4adjsP;5D}0bO zdJHVy%G@r*0p<uGlet15V2%KqZyrl~u&MXBv3co34d@>I$~TXNqr0=CnP2;d!uPD< z?Il9{yihy5Lr7^aeAsh#^ynpKFpJbgu#mJZ`MKob6G|{lA9Xp4(vw<eBBc0FSZ{Z z>v;9gK0Fs5QFnH9;*Bn9FHWA9e)aQG<4?|x&Pnx!*1sh6m$zr9gz<%@pB<g~m2Vyk zr*!aymeO9B^JhmxO8d5OnsRn at OsRh^RzITD7k5)c#&^(75!yTGru^FLS$R(a6E|;5 zx#&QD=n27QSA86Ju$b{O at Fc$*oDl_sL(XnsPKOi@j@7s0x^&h)dP&SdafZ_Y2CNJa zAV^pTAix#@f^5xqi^=q{^c=aDu%*{GXkkxnx<CQO2pD9n6K8-k0tPvob>YqEC9%+q zoOOZ%oDnd{Stl^S838j#jIwd}OE{m^pJJOX0PyWFUk+~(pm4$I<q__CClLzQF<!!% z?tX;lE=ZzQWan7 at O2bU;ZrXGKfS)k&1_1$z!%WSvwun$1W@<;{a~C90k6afs=*i2% z{75cUet2d+6dtJk63?6UMj9}%Iuv72V?^vKrkgIFfsd$a$5vcBfq@l%f->wZx^V~A z_z9fpV!SLpCUAsx&>Q^a+}I)cP_3rxSvB~45BpiF>C{^SCgm5LA_Y-;NLG^{Qbp1 z{k|;p9jAi9PLkN_2Ye6^}rD>X?@W-zlwsyf4&$M(RhB?|@undY8pMJlFKo1L_OS zKOwu(y4n}6QQ~_Ve)|r<8k3)4U99qO9u7mcw49*1{sw4>99~gMAxey+tgY-04(fA zM>wSPjRde!?Fa|X-6epqRqY4}PTnPekh$@0y`1g}myAZ(d{De~f&zOm2pD9o6ByWs zLBRa&X<gWs;Grgdwm^UB_i#!5+iF>8KfZ0^w;%Ku+K-P9DgA{D%O^+FNcOoZR!@z@ zw at -NX?WW$1OUKLbE)E=f?5%U1;XIP(H^ZwdvxoU|^E}@cj{mX$_PPV_NKLxpjhX^X z7u)V|AdS7@*)Hq9cI6OO7X~CotLqI8Ud1Tt;c+#1Cob&aNg*HE!qxguIBvy(tXbR~ zgnc<Ug8#kv$G^RJ5zxMUG$32bv9v_D>5oG>6z6NNf2yZr_*Ar?8Yz*FfdIo}0zwFs zA)E&Q&I?#V15X0_+b1){=MU=N2Pr~{GLH5kl0cvkAw<)@gr{n?+x|qvftTlduv~wv zH-vs(p09tq-chX(D=yGp(b}=NQ2WY74zkC%9eDCD8_Qa@Dw@~wxST%kiz3(e_OPD zbUZzduV!%j6Ro{HI*iv26IH4gV8!|L!#tJJ&WiK3<7DW0zM8F{C*zvJX$a;c;)F5^ zu_2gh;yVU#D-u#q9zN*yj!p;~IZ7CG#;gT_Mb-WIm=QEQHyV%*TX{0MNhnhM<% zaS;VEJRJ*psM9fx5!^qIz(ARNkV*BopS>X37a?Zgq%^CORTTxo#WF$WFpTs?L_5Nz zG9jQ14Ms%B7zl}BhfY4i4=!b(q{IVm_WPl^5 at MMktMw+r4=$An0iAsW1eeN$fR4>i zm6*K=83Q3P<hU}i`+)QL%?{Qm*l@+!Oj~jaPd6)(Ez7f|$B$>r<>RrI%n!qgi?lE2 z1Z$uk%8T^V+6#2oPqN;+;*F(6cJHZaFYp58W%{Y<7V0mVZQ=dYgprr$+YjuL{P6NJ z{S-f_zl0yWpW=s?=i5JC&8WPG(tO=(s+ohre9e1OHJ0Y<hEWjJ(6HhH?W>B^j>QGq z-_zQ$xIp^?z6$1V;U#JpnWnWwPSIK_L|lX#Rb~mS5KsRR$icgv7_~~@&f(U->ASs zX at Tw)HP?q(Ly7M9q;4oJuzNvGrXkr&bVEK+gky1$<)n5<mJ;pb6}3D%!QukjSL;B& zV0nRla#45iwm@0_s_Lf&R&qN*gFG(Or|e+Yg=Nmo3@K0?~8eb2@{xTHX6$KnF* z?iE=T%diiBW=gxeC_zm=ZK(&mzU|^hX6nz9|1Ogkv$(T&)1JjMgG*m(tO>2AvFJ zMDLzb+};NnUr!gqQ<807p3ex}PY%O)d4Yah$nl4hE!!1or)D&uy=308IH#${;sV>( zuu?}bgT-aq=|*?~0A=kkYIsjJmQo_$54ITUXNeUTX~&L^)L+&UfN1xgg}uGbdLoH zWqlSXpnF^)knh8)dQSuaOY?P)C)6kkOY?Q(GP*xuryycuAlpLV;wbdcMSg2BBX{ z6krTbsg}RS;sWh-zrvmk6lq_PE5xH?C@;|PErG<1-jvZw?A)cC@s-V=1g5OHmmFL zIjtSbOKcyXlQ9MSqL|k3!U9FS<9&wsabQi?)}m2yy|=SX#jPmW(Nsmgtrb{G3m5 zw(S>elK3X0xmXm{(Jh at TSX{yj7)NB{w#fEnwWM~lvEqE&VfILAXT|y2=k-r;grT1r zUY at Ui8_>_o^YvE&{k%M1|16-Nm*?x>)^n;kV8tccw-1Yoe0+vGu9!$Z3T~hZpeTi z6x=cuKv5$3D2xvN<xPL3Fog1v7$qSjLnt4K(Go&3gz}LXF%xp?qD1mh7%4Q063Itl zgwQBTBp(IosNql^I@wSn9|OstF{DI322w#|NQrz5<O(dd{L36O9<s7As;~Lnt2! zSqUN;LitFn;>~vv<fR*Djy4}kywrGNtmdkeo1<DV2|f98TA($NBsDjC!PC%jM%C zLos-^Tt1#@_b^b&q+RW|t>fnuhzFl^@TZ6n$oB}DArXW?J_2SIi68{>5s-vx0|(sD zJTZ}c6eJ>mqD1mhkc<F|63ItljP0lO_+u4hO^W5CF<PV=e~c#d^AQ+7|jyPM-#bs z9L~Mt!VwB&1%)DVuLMOT7KNfj3K?^p^%IeE%CnDhkaK%lFMlDhkaK%SRKrHwx$8 zs66*56p?!+C?c^a6eUu~7|%Tl$;iDDpNyoU&@8ch-;AW9&@8chG?9DMwrM4jk0KI_ zLQx|5C?c^a6eW_6Vk8xXWQpaY8A(N<SzHUMp98|mRLTTNUWFPcJF0*yGNmj+$%v5 ziAA9(kwV6JyGJ1zxmV(okyI3#C6@1-kyI3#C6<pSa_=;pd#B~ON1=$^D?t&7MWHB> zLdJORQAkGamH1>N6 at _Mr<@;tN6@_Mr<)ew*I}7LDS$XbJC?fYtP()%;CzP|Fj!A zl978QJ{d_xp;==2z8OhHp;==2Xgv37YF48}@=<tVktj+eAB86tiK0aEQ3M^-SX_zZ zqX;@E6eW_6BIuw{lt?~po1DgDv^8?K?jARMDkGt9TbWZ$wv%P~#pYl8++jpiq=Z zK8m1&LQx|5D1r{Ew^kzgD1r_OMTz922s$VfC6bRK=%D%-C6bRK=%7%PNIr_7gF;av z6!Hz{gj_U<6rN##PZP?EnzfEEFX>06GpSd^3jl at 87zDUM!ZZU9|fripeTi6r?18 zqD1mhL{jln-GjO3KKwoYJ_my5Sk^H at 0&=f5Sk^HkA_Sx=k+x79GlDJ;~+U994(WN zgS3QjvjvZ<Sq1I5p5}XHZD1#aI{RmKavv)N6X~nAa9#3oWMobS|(D4^0Asm>~fJ( zB=!l)Z%x_l*-4#2!ydrseG*E6TU-9#7PJgBGe&-lJ}6nL~559D=xDCVLW~aK?s>* zoDTt45C>$6aTXuwkT8Efl;eDezyX<jf1V(|!2lUT<w#_RBvMg~q!KbnhENASQDKru zMR8(bnnlzjCX?@xz#)UAWr}gg5J{g)@>|+U1xU-37?X=eSHUPB1=zQ&fkL6SOtN z8<#2fCjzIq{=oNNgZ&VfDfDNC-22Blj9VsCj1!Iz_*0lfRkW9#AS;783+3zAWjOE zBZWf5kV@+iH#d;nQm6x;VvtJfQ5_Q}DOBVWQxb}k6e>pwRVMCJVQu2(2I3 at zihP2! z3O9ICs2nL2Cx+BPePRt7*|>6_3gg7h4a7+b6|o1w4#!Cfl_Q1X#E?qk#LW$Cxtrj zDF&&u-5aw3QJa&LPb6?C80P;p>m{9yT^Shu1254aAB2RESi^#7PPjvB#8z;v|L2 zkwS6eK6SxfC{EmLL>-wxZRUNMeH#pp*TsQa->k4xKCZM7m5 at 2sSpW*9gdR}Dq at c* z3B^eYl_Q1X#C__5y-=LEPlZSjY_<Tgn9VBcIVqb(nW9BZYScOTc?=5MaxkkQ(}Ep zq8*{e`N~kc@fC74)>kE3?kiIj=c^JeM}^uF>#Gv&2sO at EhT273S-TqNt07wIt56l= zt07vBsw!b%_J(UovTApP8s}?g^%ZD~&0#~d+*efz!wf6Ya#U3b!>CHMBh<*aVlc|; zYp9a)@_etjeSQK<?Pq&2f*V*$zU|C*SWpN;AfF?)w}L_t0{IAxC2D(z5XeVhBv1%K zARmE|Kp_Z$d;~^9X#fAR^j&RG;I9shr4j^20)-$13R$A|$uk;D-zr{G2#lo?1V#dd zAOy--8c(MS@(fql(Zgl(agd4-j+V*CK|(?}S|%R{lLv4<P#<g5GWj at y6B0+u<l_iV zNE|JbkF$Lw8H3V%-OuAWd886A&)1LfoUeA(cKfv15sjlQmyd^W1-zR4n6x2Oj5J+T z<Okja78lD$ll-j4lLd9+kS&*wC(N!wc(z<V9@Z1glMtRQmyb7rV=(_p<RdRH)gL}6 zmg87Q>&lNd#~j{^;hr%aV``9TiRC+m!Hz()#PZQF)DdWwSU#GjD7a^y8wFzdXqqAt z%@WH;(-e_tmRLTTW^zmo=FE*G))nSW{KsaX^KcRODrEvQxyC>oXE-2R}z#OdK#m| z at _o}3k-k}CDn=GJg%KoV)<y8Y)TEyq!P<VLyD9dKbj?$k7h6#s@=k<(wtOk{Jt54 zm!KIGQNCGXT(CO^=Q(CXg;c at Du~(=%}3Rg1yNg~KYY@tR_$ILoeMm1oIJ*vRMpb zLogo^>54*Z2<9WQWDI?9+zq~VhI>RGKBJxSki@%4554^P0XVDSW!E(nv(gLnxYV9 zQ!*b at lNG{jO6FrCW3$<onAS;&d<<lW#*h;E7{~~XAtmxL;Nj19bo{U($WkKtD0LV ziR7bfA7|uREEX4OCtquQglE6+A&*}OY+58C6bSVc|Q%cZ-!7l5*iysGKBJxunq)~ z4554^LCkV9-d3Sy7O+Uj<>Lu at f_S!EKAs>ch-b^?<C%O?18rL_AJ628!n5V_@l2j5 zJX<aw&*XEK4{D3<C#2Bc(z<Vp2-u1XUpZ|%{Pxkw}_<$y2-~yb0{s)y?LYtlwf$t zYvl6})K>$rw7~K?sT)d5bW at Md=JOK97xO9gRErhoTMoBB6N$)*^R?Hs?X0*+J7qg) ze=dmW?8CEsOyW8Vkrn6Lj<-e!^;cw&uQzixJ)}~J*Y3q5D=QVQGo&wB<#*H;>fR zaE8SNmTw-Zd<X4C`3}ZWQyetDWR8R81@uFC5j#}R1n?z2(~Rtyu(ZH(vS*qV^-T4Q z>^)d<zU2#AJ1frDj$^yct_po7&=Si>!;xzQnkANxhU3TxG)pWW4UOK8YjO!d%jDx= zC_*?|CLafB3E^m&d>rItzFSPDkMD^=k|~vsg}j8ZOsRY<<R*+|O66lAJF_SbrBpr^ zvLm(7kMg8cJ{GbgwfM12seG(C0udR=%k%Yb0{VG*zWy!hCzrLjKp_IP5W-9-d2;(4 z;E0#!doafeNyV6z=j-1D^z-t3{ae&e#+VBfB9JjggrXP+IC^H~5r80(B~5|=H>bN zKRh!F#{5DDMG=z5J2G~6$?LOgF)2IcBd8ulC!XqH$$8ukhiXqH$$+H^5qk_U_m zfqaDJ+_??)-DbL;Rq#<=WAmv<&G=6!FUNZ#ow2mYZfa2w3@@42fo-IAEY7!mRZ|rZ zON(?<mV@#V%j;@St!T31eA^eJ<1w|u!^va*Q4VtrJt7<>7Nb*04R;fK6sCo*|Om zsU??>hmB?oo-LP;hs|aTo-LP;hkTBA>xgsZrBpr^awN6*XC0<gJ{Iy5#xkYyvHte7 zrdk|UT%?)STtxaBe0_T2i*N;(XiTcFJ~ET%w&?u-;ZB>($S2H<6=7y0=fDd%vl7 zV{$-kiRH8O9EWC!<)guSL$inZaQajQj-NsEFTTtV}ogDmYnNA8)$YM&a3VFPLU zWeu-kg&k}N5{Uow;<vvZ@WJh1hi}V$H5mN*w=Z5HqNJmJ-lNE!>=_T{jygRSL4Ni z|E~Y^=fUp=e}6F;{C)6QwVytJ_T}LE^7X~t-2;q@<}ehmp}NEMFF|B5IO6|^ku+X6 zsuUkY5BBNpl$nDxs<_WuH?u2tG9O-5ASX+- at UqexW0S%|Gs;3W9bJO8v~Ef0h6M z^8wu^G#sdZs;A?{!sUc0;?~-vh$6pQ)HytMY2_szb}lbozqZ)n(lpMw59T}t<(vjN z@qwJAfS5<GH3EU2?){WOQ3?=<)BfzetnHI%+Xr~tdx_g8F}EkEt5&=1Pp<f|0#2Kq zzpTJd&~p8;-nbO90+&Ko;8(a^@0^VeUU#X(>x8z-qYbWmlBC2fGmyh)yl=dHWkBM zrD&x57M at N!G2r at Bv?KN-?l#0z7ZB!PvjG8<TW1@M*Ilv2>we~8D(lpS*InB1x?dYi zlfHVMuV(9KJY2^~1WY)zgbM+uT3W)71rwkE7EY10CKr}1;m3jrPyh?3NHmr$;m6V( z!dPRwqe)~UF3&WJOvDeTY4pNrmbEc5kH(}(hH}F^1?Ml{BYyh%-ya)!NbZ$94jCd z&b=DvUX at Vd*Ey;F_On~(<mXdvV{2UZ&F#h8%Rlf!F>*vTB+RPn1P0VlF!RO2?F<yS zC$cqdY}RGP+4?XLHf5+Z_6Lm3JErt#<a2v@A{6<2t$4D&ksw9nEtv7BXp}?8D zaGi1*ck((C=mKudFJZKDGcZzJUrC9^|o?H3vZ&7!W93j-3OcuZ+2VVAmYqlU3S%F zOTZsHnA5w|<5ZtiZwdI-LyI!kM(Y_MUUylI*GX+lpSq<_-;!47v95lac<l3=2lu3D zgB$$XfQr3yRtE)s>-NN41T{LR2((6GHh>zPlN(wiF^>VyQoUxk_<6+QM6cNw8liQ zQ6u5?cr|ln&SbuGCgI9_o31fLUK@>su5TVqYjXv&p=h6^38ejmLGSFWwv&49n*h7} zc%mv#R#gmpoQ?eJ2>8g}_+sy6^+E5EzrG7eh3At<KOD5Ku#b)ZKv86v+GP$&2Ef z*ScImJ%lfdT{keOhk&X6=4=M)U0O9E5LV8a=_CzdMNESy@4G;FPa!Ov6T?Iw7Unbh zM$-pAI9D<fAwUZe2}p$wf(=>-jPc63R+s1pXdy6G>uz!i)DS41b at NnDtdjtnQHQ4( z&c*pe5L82WGMRP|_KA7aL(8*-35aARJMr#vu!uT&)%hTSEGxQcJI>?=+HX>!6~~R z<b5|FpoRch>^kuT)c8U0nZ}VTD6DFBU_!i^BIu2$+Z!9_Ta>evKQ+RaWH!V2X;o z&%e*&hyv}esW-y#YGKVc8#xbO~#use{m`L%hPh>p}4h(@E1b&-lu#Yt$puTkEfP9 z2TQEL#RMxL6}rcGa9{0=6DuGT!eWSv0$kE^+J}oL-cZ3^&dCs7_h=&~F^h8#dFO7^ zK%6jby>>qITEKNrs9(Q(cf*UsnkUNA2%Z)cZ~Qq0g=|7m+k1Bdmkb1Y{2t+AqANM@ zx+|P)@zI+cQ0nQ$phU1E+B3m7zk{^TLpY(4q!#Y;bRC37vX_ASJUt$vk?h=7)q7V^ z;Ib<waM@4b*gbIZr~+xfDp(D6S|w|j9a&sE_9hA}5W7^t<)>}Z%CQ%ro-eUub)kqN z7nP#OZ+JaCb=DWW?o<fZ32mOH8P~6!+Q_CE?piq)OId+O--=i*t<T-Qx*KPZCOoa3 zy+%EDb{aK2{Pah*c1P8xiWqm)_4qtZ8OT$XjnCZy at Yx3Pq&heM<E=Y8YHJgFW0+Zc zD#M5Q<F0ll2Q^}=x6T<?&9pfeSm6%B)vY@WsLrE}io<s7toMXA^Sy{RaqciI7Va>> zb;{GRTibT*)&|!pZ3~Y!k8NAZwq><+?()Iwt_;EJe%oOB;M9iKUE1)vU)#L?Y2{2g zR^Zad3j7MUK81MQrH|d<*H@+LV>kHq%~JKT8~pmV_1sy<@VeXGIZ?%MQ^}%oKViYG zB3S0u%FFzA;{FkzX51Cx(=5yUnsKX$Pcv=+@oAQ2e$9*x_8mi4yTkZkrCvsw-#~0M zL5vfxe&)GXzb^IL&zSM*Xa0Nj>r%gd#?Qn(sAcRxnU@<V^J|zcr-K5J(^{iUo+#x zqnY{a(JagSnvo3{1n%AGbTcwpvbQlsqm;pZ#;7kzXzH;8BaNden*{zgi>#j6?( z(<s5M_H*aEqJM4KeFN1k6!!r>r%gdq{Xiv-S_L)rGEX$&tkr#wmphsA48(p4}laB z5Xb at nVHEozkR<{Fi691Vm|~DHC?YB=kMn;=PD{z93|i*O9}XakS-<Ws=UaE5^w=o z0)8OVqoE7P^l0b;vIJ<Ljq|w%D%dz@1-!(s6IpWWMDN?d5K>qW|3PbW{6uSFY)UH zKfbCqQ!l?*=A#zN{F;#gpJw#br&*TyH6sr&FHUBvn=y#W^C-I_4s4uXGD~HSrO%a z6vhmJ!WbY>%yK^pV~IdvY!E1BxgSO3&#|w5LM+4!FZQw+)*meMYi2BggiAAHz at u4~ z86|UJerx;9?i1Mui3~Sr^nJ&bglzQSL!%m^tjI|K at 2D2T#XB2X91d3Vy|Fiez z&21#f-SGZ93V#SZ<A}9p&6y<tUh+QcctH}9VDmCTjWl*R5Fh|b@bY>AaKstym?{8 zSyxtdR&ecptSFZvn#Ue_~ltycXwPC?LTcv4(%iDXiK{vwd2U7B6^wYabDjO<o+C zG!sE4sUc6|+2qBMng57<Gyf4O at ccLx(u}g4NQE?@^CdZWew+$vDM5v_k)Xo!<5Wmv z_apHTCTRomBpFOz9GSEfK_(4EkWF43nKTnYCaELHCNGXm+E6-;YeeTqwW9OmR7f)k zDxq~6mibLRv~tA#Eh6 at ccLx?LXU6l+Zr19o5wRXgiKfT7nW1GHC$vBxI8pM<&fg zkV)zYvdN1hGyf6!CXFbai@fvvI2F>2Mu}=CL4D=^W#)VO9?8ZjRX~*AE!bZyC3aH za*#G4PqMPfizAbkBFNfDL}Zf}M<&fgkV)zY&n7R9OxjR7jcY{bN428!<5Wm92Z$4 z1Qnhir$SmvP$6w3sPOza741K}3IExRYU+Np8%HKBK?w<&Gyr)LvdN1hlV&2wBy|MY z<i(Mh|A>53t5G@^dFT0YDx?{W64g$E3Ta5^$ElE(5>!YV2W54PDT08JU-jFpT}n! zkQYZLEkTK>h9bzye^SV#nFumT9YHpEah|m{#8EBz#{E1#Zic)#vet%(tR)taO<o*X zYePiV5{t+tFOICW5g!TO&l6+gdE#!C)p0zB^HrQUYuvG4G~#OEFzn{IIA8d|Y!s zkB?~}FOICWAtGyuMP!o~N7mX9k+sAkvdN1hYi-1P>HE1jy3nm?CyuPOAtGyuMP!o~ zN7mX9k+sAkvdN1hYi-2)ocnpazk$3svet%(tR)taO<o*XYePiV5{t+tFOE#wcpTBk z1ElCrKAiZ5d_bVQz6YHsEH{RCs=z3TYpg|v~N!t>))P-A0Q&Wvdb^J1F9yfvy zDTa(1h#{N2I5KJhKy3jkWF43S^E!t);FdRcpVqz$FySd<5W;Hrj$elHDK~3Dm*_< z1+>QBr2#4lP^)>Ee?!v77096y3O^ObH*8fC8QBhHF)It>8X2!u$KT&WLJ_>F# z<KRXu(Y+W1k8V#<W*pq8MFcmJi{Lgh4sO&Uf*Z+2aGMziN44C~rsB13^asp~3mNx zk$;|yQoHRsJBF{b<0Me+2@<H=1PPWMCxOaOkU$M5NU-cUiJJ$!zTyQ0N|Mx~%9dcw zGq4h8(}9+MkOUIi;sg*&CVBc{IQ$_1)2~>(8IGDegW)hDEaVI-V1Mu#t&aVn0^c7z zbyml|{!pru4|TCWB(NXA9Q72AHOn+^(DPMp&{H}$=-1hbG3Y6+8}xj&8}yXkN$umb zpNp}Sv_3BP^YIT!rKhk{IyZc$RGz|4X<TC6sN_)Au+XSH{t}GA at rRfSuBJ61z;_ z$ag~DN$fIxBj0tgOZA=h?{U<Y at G7^mI1aCYOX at p?U8-;3JEfBpcB#IB at 4DC}W}|V z@nO8@#H=!v6MRDFW$-0hSKP-{QwCq6c*T8v_!8aE>+61ALH7h-Pxl00qI<=CE#)Zg z69Wtg>WcgN at Fltj(<TEAcuuUvVpavePsW-u_!8YK?vu(%bD!2d!6zb4Dfel3Fl}Ak zgXfg$p5W7dA5#v&m*$UrYCjwGgbr+dYH8h-dgdO$NALMdgRqprcF-;kKiS8Bm zDczTFUqLxZ-KXJ8V$Qt2?&lSBPw+{<k8)4&CAwGK*V4V>KCOGjeSP>6-Gk?p#GL5J z54Ba<8^Z_pz8m@Flue+$WWjgfAWE;K;Z>e2MPCv~_h4o>QuOg0H80f-lj%;=Y!0 z6!)cmUsv~v!u|YnAbmCkH-^n!-tl~hS%jpAeGkO^()7zV(|y3lPd_eOOv9uzf|j zh}Kea5v at vcU4K~GULUH;MYNWZ3xdn_xRP8SmX- at 5O;vj#t)=85S{3BN*jB+_=>T2P z4>heaxyor(lB-htO46#@zHqWs!CvLGD#=x;eI;p;&qG8li&0>&Dt=f_tCC!m+E<cR z)%Jy5*3$MWjTAsYaqS>p(H${V?qovseRh_jqio)nFfcWjBe}{^7pkjfjbRiZ>#r z%87d<ZZyi6xQQrZs+>3$u4di<JRttxM!?#;+Q16h)EKPm?|fZNwSNWB%z3@a^jdI zyLjM~Boy~CRZbj}WEU|>LJ?Et#4$;B5tAeoF;z|+lVleUfs%yc5m1#A$0XTBOp;K< zR5@>l3m0k2}Mkm6URi^hojN8{1qv1d&-oyn^6Ol83#utM8Q$oD7ejxgQGU0;3#$! z+-AnXwOT%iuQt+>e-Pi6WHaO7S}iiTmRtt6nQ?Hf78zViE!_5IQZ;JR>+lBMd1~( zh1aA4LLC0%a4NqgA2TE$qzZ97v?6Tate)kd7swv1|c}fL9<+2rUXY at Uc;e3R+F& zN+euvDgNksBEPgnV^DsA2Ia@87<Jv^$3Z1Qj5er%M8_)-C#2Oii4xNCr~(opuRxp- zHU_kBlo0y7Eg%u{3d9Lr!k2vhBB_irBw)%Y0hB*&q-u&^OVU|!STymNN)5#U85+>! zOI-8(I2E+7L6MY#)-(AM6mibg2pu{5*0L^$(N|{5Tb-vG@^DMP(!oWSz!FB|~I zBFW-3B2(e{aao+kWLca>WGXyAPQ__#C=ODcMuy^0mFLH)fW*f7A{D0*nFO3Q*j!T zWpNsjsqp+b6{oTI+hDYJlxVE%tuO|q#K%MPGc!5PGhnxP9yU1VV<AX*t8^$nS813 zqmP;VI2H6UQ!1u0lP^(0jhXy771Wq1B~d|*n0$!}&yQ0<AJZsedtn+8t<Ur0RG7v@ zDoi6H6mib!ZapQVHy#s@ccLxr?L3>!D%HvRtd|*DLU=NDLM_sDTZa at 6rCpH6rHx> z6vHxcim27<nrNt@{WotA$dG%)Rl<SLVdb&QrkjJxe^jBzeJoCYSJM|v|Nghb0P z5vPSZoJL=kN&XgnS*FX4<D=f<_^1(;E6Lz;<M^nnI6i72j_-2g_)b69lb<KzVRxqn zDk4b|6p52_>WY$cT8WYiip0q|?M2BsB}K^vMdIX8nd9+H@@Ui$WW|&RS#elYS_Bp~ z5rNfNaadGN1QsQZ!0N0xEG)#&+N~e%Bv7D!M&sglNU#xCy-U1jBN7a$g``lys8K3 ziq|U3HRHP^1^Fh_l{tS>i9+I56ne?cjeOq<eF5_%y_>uQ?|?i?#!!_jp+ic+&DgR z9>+)i;lB%j*pHW$47^b<Gb8AJ~n$mxVazBCeft=TOgq&g%BsC6%{9>wV?_~guDWA zLRw>SLRu|xLSBJ5A+9=ce5(D22#Et!uRxp-SDi?RYeppG6^Ik!suKxu&44&0&zlI zb>c1$*NnK?;}wV#;;It~am|Q?yaI7TTy-KLt{IV#S0GMkdVeMLPSeqF^kE38>o;# zlQ$3&Xde;_#?$@g(<kf_1)+%5e^d<4yPadTcG-?VHxI!#FsUv(^<zB&4yqPd*j z{wxYUO(^qvIuf at TAYFe?&flKL@^M2$?nlXQ5@?BUWXvPHLAuBrmXGrWxgu~v;=SC z4<E%(<BX#%1Z%{(!(7p}X~2YK$I}#tuu&n7b+A@~OUO-dnF395Du)LpIbe!jJx+y) z at ifh)jF@UC<NGUd)&l8Lo5SJ>HQrx|t{4YPc_NS!hvsp#Sz;ItwLWITeN4lN!CD(P z7Oa7bM6e#q!MY4H6|Bc{ur7m41?%}(4y~9j3$DVedaoXhUpR-rpM86#B#rwL|+Yr z;}MfDq4WGW6&!#W6scRl;g!jksPOza6&w^96p0EBc}%Uh3Chqpe(cDT%J85qm(J( z+srsPnj;F1x{iX|%s4peCkl?jN5O4o930g$U0h#|uEb9~qU<_5rW&0cCxOaIkU$M2 zNU-cU2~<&n1nMC{f@Q}^prXcUMd|FAqI7ng1S%>)0yU8!!Ls8dP*DjIsEGs#mKTC zMF6QCQ--7*%7_Er#{g%TApug2I3U%NmoZ|9s!9o at I2n#INg1i{cErT~7-Nz$;yg~V z35bTl3vhvBMx{U1DwSGsYV=->dA(QA*w1Rkg{QtkSW8&#QqpVq>MO^*JJ43B*RdK zWEjeb1Ah2O6veMjnmh$tSd!g8 at 0=XGR+;*n$fib;9{OaA9_2}505avpkumCy?&I5$ z*gu(ki2~1$Q^CM%P$WBGXf^o~6mibg0a2NKPontX{0&yQ0XT at P>Mj}uXj1gxsW zA#bL)62FjqGZZKCkdr_gK4zi~6W_ZBQsOF2lDWhR4M>!W2Q}i--p<8V0m+gjAUO#o zvKGfm@HL0en@VPwiw4EgamLyX7Wd5DMONzGU9;nf#{jI06-ZMAY~*0N6i=_<U}AL zCyt4sX|DG~<PHYfvn?P|z~E#H#0g<^vc)8uVfe8HBtl++I3WyB7Dpn45y%#h2zdqK zgiv+E#a-%ai#l5(f@;&*aT2Js1PRngf&|NslR$MPNT4nfBv^Kw#Q*znCpP)<R9peW z;z=<7?S^dJPww4!QpIjlfxMnk8=jOIh<kf6qvZsH=D>u6DEmuzK;_T3X&zigyaNQ z5BUDt}tzXhkCOIsG?IPNS+_Z{wQKYY7(30$Fbok*<+Dx&Jtwu_3DVobztyaL_wG zd)qtjitMw>aT0J*0+y@y3sWH-HZJ}_uX0lqH`e<@v6tEjIL)1DhEgBX)0dzIF*mH zoB3bj!n{2{?*DsI8XrI)^z3hcdiHE``*72EgsTiNUbwp--Hj)M>A3OfS)*}!c5r&w z1ri5u(IWcs{3WT*J{|JM{!jgb&e0Joj*m^+e$+KEVJ|2^um5NH?+P{Eg;n11I^C0t z^Pd>z@#&BKGxmIbdf|!CEj$iRc=4BSPyNR??D44G@<jF@&->?tx4o0Y)3^JbJ}>t+ zmhmo@;h?}_&o3AY4lB%YU|~+@@X!+yo_k)xe)m8A(@!|*U$<GBd-8x!iNC8dj;Ux zFK}{t<p>aUU<*_5b^xYQYL;28XkYbFP6%I!eWg!Q*l8%yRp0_SqAZea9UYpShFa zGxtKM?Ul!8ULK!$Oe89qjt)rdFMTWAvn+bCtdIHmH&8j;pOfh_>X<>@m2SY_k48W zKX?Cwu?U3u(<|@ki2LI{;PRpX%O5)@ym9WIoch3iz}P<tp7#$p)_$Kqfy?qoa9IBM z%6~k%;JFxwXg{0B9iGsA=PL)ipMn1y|N9+#IBM>AI)!J?2H0qL at pg-Q!qJ{zSg^> zu_Ji&WyF+Mo?OG7(P7uNeF*0up at 9K!UHilkO{q*zrsNEt=&)duC7l-f_?y^qVJ zIc)B{e7kkRTV#LF%k6VT_50i!{eEXJeD;v~9S_PgW&fOeSpVDuI41>kB&T;b078G z%RTNM^G*lci9h!GKb>&0=fQI~cs>lC&-*>jC-xObT$65ClMrJ?+_$W#e>r~C){vU zHB6++VIo!E_xyt@$<&QPr{1*4!0=Q^HZ>zpMteOuLl=gcC1)P#JYt<;<k4o^vp+v zRN}diiU<d%Cog-idWSq%AP-VHFHh&!%(w~4pYc$J0A2#p_Yx4Qdv?H4uu_nO)q*6d z0k+J`LSE5Tudf_VzQ>*Vy!__=SiA6Ph!-0GF4V&crv5TlQngE6M@#Crp}Wzb)Lki z^JGSyCo}3iSyShoyQa>QG<BZDsPkk-ohLKuJXuqxk3#vf^CV53Co$?gnNjD-j5<%& z)OU(@=SiA6Ph!-0GNaCu8FiklsqYr4^CV53Co$?gnNjD-j5<$N)cf2K3E<32Qq;X9 zU6K2cuE>*gMV_Q9aWqoJV{sNNxCApoUX|bVZ(|D{gliabeI<Vm_B*O#uylXOL% zL>1p1{0QUe^U$uvWCAEABgi4dxd0$Y!pcFCrhd?QQ<$B>L^n*<)Wc*1Iqvlj!X6+@ z!|Gw0sT+o3EXUJKU7m(@&(3>%9)U?ebOLut(c0C#nj_BIAmptq=deo!24UsA9Okc zZw#f=UQ6X at 3s6TcQ;w&-kpNAihiDRyr0TDEB0(MsJRS}_L{m<vTfjRMWQMc?9+nI7 zuv{Tc;14G0MLZ}c)D7El2IrzL{udMNL4aO>R!G7-FiDQgwmPqToQiC^;pDqN|cc zLPbnqsfbC5A*L!BV0H$A!6A6U6quohqCu2OiBzfRmlKTl?)PrdQo;t3^7$nsk*>t z5fi9Ob6phrYadEDlHuijt&pIJZ?i1bXh%bQe?7T$7 at lRT<hp{oEB!uwO+?-QI=E- zbrqqdv*cP)xlqp$4pG~2S~0l*FkVZLD>PE5E$YPz-5*b&{);D272ccSaN(FIP!*m) zRl?!dF;Ac>Jb|k4Ar(>K2~>qAV3p3n!4Y5c#adw+Rt(d0-Pe3sK-cxsbX_m){H0f z)ALsH5V?19(LFzZb9TWxV?>8^*vlv;9vpSODYd~k>Fgiz)jN&R4bzcJq#35~!vgHT zGjjCoE!-ldLrU&&n<F718R-bg4x})$Ql-6Q2jV3=kPdex#tBb$AYN$);*H51h?nd@ zykrFF$vP2|5kyF4Ae?Wqpu*<K41^~;kb-F)P$A2K6|zV_-TgPO!jUm)NXj4Ng2dj zxU586g^9#ZnCPk>b${&g;itn0a~x2ZLvj_SCH_Q(B=O2Xusm<K24}2=^ovR7FAsTy zfk!@$M{bXg3q$*ZP+lxoNJN$ji6{#s9-np2yJ4G@(ltn-JjdZqr8%MUJe}k4bdJL# zHpk)V9EYd(&R#M__q>n_dE5nhulc;D*Ylrv^gZew at OTQ3ZyAxkp9_yX_we;wzSfM7 z9Qv^5XTzhH?Fn$$^YYGKo-;NM&t7_TA(wj;W(Ut)8Hb)S4n1Y4}J0dN3_t{MK_$W zqd|paw40EOrO!Kk&%+ToOvCD78rJPy9PJ;x<QoxKyO@ggi>ZikC?XV75uupc!z5;m zv*7t0pLsi at 1l|DN1~q!fCPxgO&+*wq!~_p9sBr|lqaSh{q-E;9D4wglzC6)Xl+J zA;wd?EGDCNgwh8onvpgnbop)Q>xSj|}p7Q-n<Zc+%(G!4uEy!#)br8SJL{doZw_ z##<2VFdZ~0t(yLQPERnBpt<-$|Fwa;#Am*D5fGtG4(&*oN~e7k*~R&caM24Jo>pj zF1+pXC)_gUhg{5>v78*9yV0c!Md(+;c$yV_fDhG!IFP?_QyXoqyh at 8|cE(e!FM zYN+!i4R|Fy95ZQLJ=~5K)4SXG4~@nj{l+}9%zC>@Y>90SPgD_&KK}vBP#oR1mzay zoC at UJUOrqw(fRFn&+x3u^s4dv<#cjAhBGXi16Te1WYKs|#TtM9b7S*6DB7UIE%=*P zYNjfE^Xb_)e(_eaxFP~o at W)Y^B`YBjkIGHFc;olKr^1M@#GdCAzKs|DPUFrdi-*~* zIrIa2-+!viUCUr7fqWg5kp9M}3;W56ZdH&b(k_C$%|jsx0+fGyXE6R&SrhHmX#zLW z-)$NexL3tBDk+0-w(@W!br8;89uBD^P%GgyTLuVq3;#!Ra~b0;hh+4f2F@?^&j7GG z2nqNpFl(YkrOdiWx2-^YItE~b=Mu+ZB&*Wtfjk(=sC4Kc4@R;nomI$#*%R6=9z4uL zX-Y!jIgCsgNhmzOkqNUc2nFY53(}I6I-7GH;p?A^mf>xV1K86bN?#w?!Zmq(5K<L z8i-^FnDJ(!YzYcHhe=KzFOnGm<&8lJ<9S at 8)bvoJe!zi+JjBY1TO^tfL(4e;gao*j z<H3(4xH1t!mC-LtIwtJwB8Ags;+_8{K)HdjGZ9VE+E@(%is&p)1<%F^+!;aoj zN)+Z3dy8wjdDM{OPk}|_G@Il=q^5Cvm%8W<F1rIB3~*ZnT0Gw(hg3)oayiG<AY&r zFhxu_2}??;hJm4^h;e$J0fB+D2mz;VGcZuoi1A7N;#!S2(9I>Br{7oXAyKEPI4#@I zYB(yKrX*EVrPW$WE;y^1MXkLgwf!t=TLHBX({_4D=Qlk#ikjEtr6ASKGyN|3W)SCK zO(09^Jzwg0Jg0ua7a6ZtWD!$g%LjpVo;(Z+SOpC1)zOPHf)oN_l}|Y>TbOs4)wV1# zXiVozq1OGfP(q*0aadZ0%%Ub}{tVX{vp at v5r^U)F5W(?Dd(AAA7scjdmPxa4nu1fP zW#K%SWuhxBQ|FNrT#y#G^H78VEv+=?p$M*}*3mUgMzcl-i!|%3=mxhR1R3HGf)l% ziG2QXN{syb!2wQ95|kSeq{d(9*&@cfRt8EFW4;W7D at lBKl46FMhYW)YNtI#b0U=zs z$^nswgmkAX2gZyFeIwCTupAiE1r=dXGk>F1YhOR{^=kCLPez?~Q9M3I-)#K#ugbh& z8?%NUFW&r4bcQ}$jj<9}pxVl#+Ky0#8#tC~Iqwl!M&XfkW^fWkIsc*6K)F~!L1mg zjqSp<X}Iqn+rtpT3jx99pFAL1qVXM$fat_Q9+c37AQar)$- at z%Ke42);pAbdwZNi$ zb~7&%P8hEsZ*(9m6G|AhXsFlH)FI&v?T8VNai;)Xs-jc1BNjZC22v@0gi!#BcC5Oa z>ik4J;kcbA*KR~V?uK?IUPMm{kFH$j0q#Wr%>jx$v=@;mL+2?np(1ex$N6v!BNHrQ z20V$74;E>O>hPR8#*oQgq(Q3tgPB;uWP%#EIxCO|*4&J=CpcY}iPWMUmSQ+GM-Fr0 zB4TQ|%&^hiipi;uPiAtr6$u~u%xNxnJCSB(4y9&tw-aev8ZMW+-H7+%EznHPb|X## zP?-U|xf^j1fXa;F&Ao{F0ZL6jDt9Z*y@=oYCBUdy$w1P&>I$kxl at hb~B+~M7Y9R zaJf*CHra*ikGW8h_6Sh9&hR1<{Q)Z18D2yiPCwTfUPK#CKi3&vL>o>&(-~TuF(e# zJI{(OS_TM~nXzkweR{lGp6LVX|;^OWjaPHHs06VWjaTz8EcbD*h~j$Nh{t=*i0vB zHDe7*ahK~Ttw>Wh=R7kVB|6qHS4%SS+K~?6te*=M3IF<1Y%W?P)|z|7xo{DWJG8eZ zasgvjtue!IwIgx2R|_l>c at -F4%E*;97J&8D at l3d_h{xG6S;U1$1}D1GUyx#Ptkb zZY++Czv=RNuB?&RL>JsOR>m?u8Wsn5{?rBD*+Won$t<<<{DL+&5yh-<#+UEW@>njU zr?#xC(QB%Ge}pjv<0mg71nI;rU%p8R*i@VUoM66$YX7yOgy?s&Q}v$*oAiqWLSo} z*$9q?iKk#r$d}i>K9jBd at WUI<#-WDJ83lxp=INBp)3rcHRBDWEDWLdz<Wwr7(x&| zf~!DT7{ZtnZx>}@G?&@W#(Q>aq9)iHukqzk6T&0i+tDZx8uRvh(0M+g*H>#Pay*5G zn-$>X=8soeNQ`Q%L>fQdgvmj{VNNlG;02l-6ca%FfQI*O042{N*c3liw}|Ngs0s?= zw3k?F7h)IQNm|K<5&^AZLy3TDj1YxjhES{6P$HIAwV^~zncHOKZI$iU6b94?x1tRt z4Yi65C4^eVh7#dqj&$3?9ENZ*N4RYv>Jm;n&uY?!65_0KL&@Q-XhR7BSGS>rXe-)K zLa3E(C?VL&Hk61n+I(2mh7uyKYC{RJ^o7zq_Z2skNO3FKP;y%9WNtt=Tf(@J!DWUG zaYKpZT-}BegUjVk+E8+E2f4bFHk24#E_b_;p2@!7G}Gs#4Ju?0wj{Dy6J{tHDzifn zH>fmJW}hH#P-&>GOkGJER2nLC$+;<QP-&>l<>sbzN<l+qE;To$4Jw3M(FT>Y9$*~ z8Y<Trqzx(!mFo=B29<&bp~mJN<-y3gS0Vp)#GJwHay7Cembv2XVuTSX<qO7lX@; zIO2vEgUfU@al?zjWjdR<;l<!G9ZuZvVsM#GCvJE#xLn7RHoOq7?uJ*S$F%Qn%j*SN z(gqrXWz}1i6?EKA>K+h&=6>K8)%5O!VNTpTj>TG0>Ul}ye~i329X&kzRx!oD&}sr z_!9QwP{Hp#c8wBE2J|mG<Ja71X=RaB{9TxCDF0))bVfCK#m)lK9dvS=js=YXa zWjfc4y*ShyE^vKPzv{14;=83*vQkMvt5~Tdpc?H*SgAy)RjgDJORHLB&JrkQi*UY zTB+1ft5~T-s8y^~5{_vf6}?<qsU)1t_Ajke5>Dp$P+F-(oK>z=I=mIFR3c!#mC8L~ z{fN{C at 6^l-=+Ys2L|W0BCqkk%@e^^w&qEkt#r*35m&Y5iCC*!^CZQsWX;oQZ6#}- z3@$SOiEExD=jzrx8C))R(we7(TgjRygUjVkTJuCWvl5ZJBrC0XBHoJDJT+8i*CMWY zYN*WKMO^dLP?;+a;-P#EmAUF5u6b&x%oPW5%~L~Vt~Q8ko(Q#~HBZIWO4d9zRIW2f zYn~b^*BPWWPYspp4APpXhRSsYY0XnZWjcenMoCbsTcc!fnGr%<qhxTIjv=m5GPq3V z5Z5RfT&9DFYm^Kw(@DfNN(PtfDAF1w!mV(P65-UhB=UyHt(LH8q~ML6uEH1K7fX+ zv;E$Z);kezCF9Cw7T_9L|fr{C&I0Cy%PcJt#=BGlnA!63j+>pRTl;j5p1!lMM|x@ zlT?oyv*^fcwvC!<@OWOA|>LjYLUl896f+DdnT7_}+MmO73uF>Oeg%>)}eLe;QQ1 z<URvNKAH-zzt6ys52nI9^D{88Ef&SW*YIb6V9Xal;N|@pAd%z8^p)xi7+mcUc%g4w zXTU_>Y@|Mkor7am#(jTLU((LOF%I)diRZ07#;=fw9UlJ<0I7ja^4T){nhnrq!0V zNZ|Vc7q9Vi0cRKI8ZV<&(v3yrK$0weLqnA8E&G&#Bv}ehkPP7j$@rOX$D7mYnQgn z3ysWch~h=J at nuH7r$BUi1Mhx81#u(Y-N#X|36L_KO;ZugoHF<6!uK=qoy<PXR@5_$ zd-@>ok&PS>IiLZ^3BJLLt6ixwZccN}N|j68c+&U3jANm`iLp@(~VwV5BysiMO((j zFqgNq812Pf-0C5NYZAr#{>Qpx@#RiBZ(zW<egw04-z>?IMZJg7+~8Xqe{a2Srzi%o z74UW)|E389G>jR(CqlD^7+n<tMob9tiT>r4;x3EPBp|sb1+X{*2I2q#t_}(@Fb;tu zy#S)!%0j?+<|Fj?vH&oa1pv*RECd{y1qhi!;J7U42;zOa+zr5|!&IN{d@c@wmMgj( zetj(HN#YRl7#+D#SNE#0ArH~%BWRWRkoz<If?H(>xi_Paz*WYOhv$cSOT3CQ<gqz? zO|CKzW?=rQIPy$&gTgg5FoE=b?-UC9L(mG~b9KZ!dYaQf3Pd=H0bjYx1VN7oIe{<s zWul-{2q?-Lg_l#u+X=nYq}bNrGl#^G(@O%vw3AOu8y3H=n5hWCu<%jFOc24a@GVCT z63jsoijW&Sd_a<rD(O;g>^*8IRjT5yZb>O?#=hJVE at 8WP_X%!3g6VEmq5&KQY2 z)Mo=;QJe>X_ANjh=V1svIeq#sOBSIw$L|R$jOs%&;04=kaXghALV^-Lg)_1EI9I)| zAIX^U>7pH-wwXx-D|~&IQF at ku2DTB_x1aiOyZiQe(85wty!ft;FHtb_dG-v!q?dvu z^jdgj$>NDjravK{Bbk}VG57kB{QG72g!=DI at L5WOn&<RWz#(D7GI+ik2!xwO*2oh zzo({|DcRpq(^Qh>HBB5}W;9LpUKtEirqTjbb}u=%BH%^VrXAkw2bw}gG20$Gh+I7 zfyv*Hre5c0YUj7CsiW5!KBYdT_Zw|}uX8k29Nqs$T3;tSP!$Iyza>>=MJi#K^IOtY zR;<c<qhg^8_&XjdP!r6GR!y@}_M014^|QlOQ+>?xHoc1uJYp5Z+5t@{3>U}(EQB~ z*p*+QuJWdixaz#r)G at v>Ev&b;Gv<!TmA>c<ue0<F@5>V?D_j&OVqcy>S!0mmeCf** zC~KfloYs6<0(Aztji@;L_yQ%$YDK~%;R_Tgs~rhr7cnUtd=AUxxXxtq@oM7#V+o zBIUKE;sEvw6e+JQ6~~!hph(n~@i(WfFNTyD0F3sAzp0I26OEWtjiCM4tpod?Zl<_ z8<Nylvy)w${LxCbn@J=y(f%EMLwgu<n00qqm;VNO74<JT^do;B~R{>NxrxRx}3Yz z*{8%4o*C{^>^J5a^T$;!KE~pP3R-vej=jSXMAbmWOeJsiRPCkPF9y*oMwJ$;$#ht zi#_v~B#!R!Ga64Zcz<#7WVIflJNV)R%4$Et^zw at nD60htlglqjAXxClL32hE5~h}4 zoIrVP=*u1;C=2}^ZePSkJS0$!Nu_W#D|Pm{xNne{TZ_EDfs@yRPHyukY+u(Uo8pC zUE{iBv%+<81GX;Nte{$KvAJaHn6^0bu1Ph^vc&;%O{!UjEskSrQq8h!akyE7DrJt zw%OvSurApw%L;?Hx^%N_D~z$~(#^82Fchjm7Z$@a%1#p>e9#?@Gdyl6T4ezqY*j zM*;BeYsTtKv73(HIxLo*eVE4Aa>P#EtPbZbXp8R$iC^w0GP-V|_&OSj=5Ao#-N)Z| z01K~pc&d20?l!4a|9;v*=jaGt>8eg)Il6I(;!R0}fcF<xhrp}MK1PoAc_|yk&7n0 zybIZ=u0vRj#0sA>xG%o&;oovN7p_p<B<+R#P$m={>Og?bG|qP(i0#~y44}jUIN6? zMRf?YmjLmKxG1*fxcdp$T;j6JuXq6U!9YJ$GLkPBC5XX5K;A2hlr{VA#&6w9QBIJ zE~~G5a&i7sw*EdT*WqoyEWk at mA6lXG9de$Qdq<fk8irGKgXPzA6k|E*EfKY3DDz z!XU2Bs2||FUMjj{)DZ|nc|!H*2a|HtLoxcr)mn^xzNO-@X{*;s%DvD4+1SR2LKfr zM8qR_rD1grP>Tfsc#T4JgyJRpedvF35Q;bK_xEAr+p(bEv=%qTj{lyuc){JTh at RU zIGrO__I@#Jk%7iKClCdyBNSisu%GERg6qA?b3DQGUUjqVF1+Mn|0L7$^s)CqnfraN z%Tm)fgLmx3Z4Yl7EShfLykG-Eh2{hXfq#4UYz#SrlZF6cJa)<6S28-IT%kycjHOp zRML;zGyryCb#q9V0t^hy?nTW((~Kzo_zu=7nr?)D<Zs~EE><LWaH0&ZlE5~cd!!v zxQc8_P^?yT0esWP0A3=R1%rM-9g-vas~dyKWRXB%G#G{<X)kmqaiW6>g;N^7i=3e^ zA!kKBGM6Y;6ZI&mF^NKNvJCXdrb;r|q8t?7X>vYVPrJ|%-cMiNQVqBFZ}mBpyEO* z+f=ElhLh8?JgUXD#Trz5aOMhq*!f<CcraW#9t?wc0R2nRG2q>Ox^2658pM?l2YQ(z z4!lq^7YB!ZMId;e4=Rg?s}g>i;Hx5zX2?_aKRo;69~wOfu(OBJVtRMmm|x#5=07wV zfB2(~%s<~v$0{^GwzdW@?Ai{1qR~9U{k3y8lg8}JWO-2AbKMah~g@M>xci^{Ot} zRk+4Kf8W at AyrQ4)crTISWsc!KpoG!iav}2R at q)z*jQp?Vr196rbH;8tkIkJSR~SB4 z(%CnG7#@?113_Uib&0GbRrbwtuZ-StvG|1zOF7mqpk#2KD(~8Pr#^Va5bG=j|W$ zZp4Hw(I(IT3)>QQ&}xv)x;8AgVKXi-r(13mQpk&CO>b_RtwiQtERXdTJ~2YPj8((j zomgft*p$vD>^RY?&=DR8N>6!tIuU&`<P+gM-{>bG(OyX7*+m!I7#Kjc%Kii<5{!! zQJLq%d4gQjYV){gQBsQ!({_wUuyd4+8^N5LsQ(K8=&5Fu?(A~9h?_6mGH^x@UyjCd zQiz2shOS<4demk764TjZG-EONcsXls4?wFWW%g2KK$7Y0coL;EFTOGx+3wxkUr$HV z#Xu>4IHQhF%-J%{qEKfqngj7iN3x*OO_b2htQoBnM{8r9XMg*X9S-R*j1fc#!#p_^ zhM}A at ZV-mUJZ3#Fi-Kk%lZRoiB5%-M1|jk=T*&2N*vsTT=4J49>tz(eu%GK~Lj_rU zCoRb0?byrWvC7Nv!*G!0h2bzSrh7jO2ete#9AtW7ILwQZi;Kp?um=}}VJ|NT!(N^j zhILMb2uwwUFzjK6Vc5^~!myX+g<(G@2*ZA+_fAJIi-%z^gNI=+gNH{yLk`1InJ^4{ zWrQ&7<%eNdX9m&ni%u1yEFaan!7k2acupeF>Y^BHB{x+r$>L#2dFIF7I8m&o{oOTN zv6RFXBg4m7tiEQPwQrWms{3s at Qby!ZQGoh8yqz!vSAaK7slaX-!fq15Ti_(iyRH-Y zOS8W#W=FN2&QLNJ+hRfLpgFSqphf;h21cj=2tIbmRMKR1oRW;8J>R!#qC9I1g(h35 zrodT$s-w^kAOkVn_ORK22GZ;ph^^*tWZW2-_|cQS&iTdgbgk%P-wD+0!f6R$%d7K zCL3l4O;%?Ix~}@DWR{z(M_6dGIzMQ#Uvz3lCrUeH)mkJKjWq(LVXqTSmXEhcp_&5s zT9i;K>I|AUxxUWyTBHxINx&^EW=x*Enw>hEmA1px2Ix(phXG=k_cXlELQefWHH-o zkv2Q3^>l_(iqs-4vbK!Bw4k at O&<%qYJ3rPFROQ=R5Yu}mc?0Rl%Nw8$f$BblPd#v zE~9NP*VmarljY#5M6t;VW&9?q3)uRFCR->FHn^}rp~)5sBoTrp8&(dQY?vK1S)J|F zob{Jdiri#9!i7%MbW at Yb*(QmRp>-<*9~?(7n9lT at LFw?+Fh1Ujc;)e_1lfcx3EPD zzeu-@Mjz{lo2DDFJgpX8mv&jbnXax#8Bo^s-q_N4Ep>bbIJ&*N|F-cr%+_qekd=A zzdcrQw97Vl at lh??YIeo^BFk7T#x>@p7{3ed&u~uW*mP9j0-z<z=F{;b{(EzxVb1X zPCXFQsuCR4jSy+Z&6y>o^dD}4dvc`0Ci at lbp-bEBnn(1R$*ns76l?_pE9T^r-K_Qw zQqdN<!9i{206oHycy}f%fV#|s8gVFSISs=U2#2jnPXQa74Ys<@%aN<Fg3WkAFbyl% z;sv$-l+IlXR?lu43XMax-S!4&R4H$x(ezS@m~B*#z$iFm%N22I_i9>!cvbXeuc}dV zP*sbleTpBO)1s+XGplrBj*i8da~6Bw;rTfK_{rv<8gMcMG=e8V)aeti&PdgH^iR<= zRV|P+Qf;EEjl44|EmQ4MRntdQzK0KxJ7+}CxSrg;UwjxWhL_iq|7vaTm~HMhhPMj; zw6I+CpYNNPt^Tb5Mn$4vl<^hus~%IHPF-h?eS}yS#6u)V_Ary&vXn8dW(nKSktm zWZW2i7|t4h;G+x(yKtHaQ=r4Zqlh{@d%^eav)aIQ0L<A{>36&y(v$uit5?vxN_{ zi9S_m#xr!9TMwso+Rfeg;d(OHXO}jy2fCgv7T1&SC%5D2 at D_Rp3iOzP{0!#PUniKT z27}OZ>t5abp+}Ol4byXIsa1EOM)COf_6|bcKHR90-&_-Vv9-~-yPwR4x8pfgX+uXn z9bFIS^9dzvZSP?T9H`AT6HsC{d4DwpIk3vfo8v+MqI1#hZ-6F-3tNsde(IlhUt!KK zbEsq>J~fUz?*{#|?m at 3}G=LHtl<=nCJ;x^)Jit(X6X>a71Po2Uu9Ml-aAeUT_v+zx z^yYTDKveXB-~Ao at TuyHv7SrqbAE&pY>xc2=k89w06MlBLw|_^!cecFWm<B(;YqqvF zx0;)~%~tz&o6W7Qoz34hw%5Q*0rCNSWY%c>?tex%KVSaka#Sdw6Uy>q^}g`*g8fxs z_#RH8UQOTs at L?6~qk(s}e7o;zKiJ%C!hdbBe;Z5fwsv;G{<~Y7t=}~^S3$fC<2P=9 z2*U5^qEACv{9y)ngYZ=PWC4fJ-p_x4h}t-~yZ>c2eg6SYdmnt)Xo1aO0=2mbffxR5 z)4ve6;qPtwcZdGnrGNLZ{>#~9(&*n^Ej|us6PW8g+>VLL1{{PRX$rTC+4S;Z0sZ0S zFOBX%f?%XO2EkT%e%TKGNU+&v10}!<xtca7nqaRIlJrf}YE_@?Kaq(d~Z{xB z-p__N4fyj4NzOINKQ(^2duWWHJDW|$Q|KOvQe(PkKtJ=xyIBLe!Rgg6hy!WB-DK8S ze3&#K#NW&tcUScA>f}x1)#MiXrt8Mp!zGYz98E{S#iTI=(wH*;K<pz9R*#AOr^aLo zLo8)li3V4T=ONoY1t=M1_xGy%=mhPS^ouAvXJWo2odP-Ezsi1-KSM&S>@1d%|0 z*Nw|b<6%Czdbr+bfTEGfx4nzkr*AGAaLcdpwsU^oIl1hPf&RA;qGD4fboQan&QDi zkPNH9rNNB&<NH(?w%jKhAN%?-cj%3Clujj@8YD}?>Anao;Ny;v(EWN at 8Hc*=e%+D z=KSom--Q85AMAq40d*osM58dO0Hc7jj3<jB7+;C~6IgK$yj_nQABI0qz?!4U^k?8~ z2;O^-d>QBnE>av-&0^A)&Bynm^(7wA(vazxp_vE`Y~7!t!j0)w%a>H^Iik+rM0c z&if1SxJBc8H~@aN_|SNHeRnt807srL?rw23(b#M?o15P^+t_&C^gDWN_K(vmaJQ?* zyNm8gzcV;EJ$c!CHF*8(A0csiJ1L~&?U4&m-_39|yPJc0uoS3c0=j}*BBKw$^&Pk* z8j%E;4{s)oTli;gJVUj2lx1{xa}UF&?-x at j^SX1?c>a1g8&f0gTtYJ$sv9at!(S$| z?||X6>&XzXXOk;zAfzCK(E+6Y%X~4paqavZi@|Enq;WjFeSlVjMjhXc9&RSLcmoj} zUm0vZK@=sCQ42Og&<Z%%(cpFG$L?Ui>vY0X;l9h}vuFQUD1Qk01h14T>8x+QX-XBr z1pSNVj#N=+MJRUm%)!H1|CIHaMkFYSOwB!b>P0#xl{+!{W^Wr9SmUyz^O!n~UxM znrZjEbHvz;m*HBaQe=gT?z at XYzk6eJ3WcP#S1o?IOy*~Gl8~-5paTdVUAqcQb+J z{tF~Rz#3j(-+i1nF7LpFX+;*IG)_w}^qM8yqQQ?l2eQ>DBVqw~$ylTkX2dJCTapa zt=&ph8ochkVr|>G1a8ph;tqGew1laMua9r6p2kp_C1C1(K~^ekW}fIaw3HK;1*IP zOplSm7d0?XbUaW-gwVxnxVU+Eb|E$an;EHm-aYDepgr_|IysQI<@pf^xMg_I>`9eX zPNdrY=_!yt5ydrm5yQVclc>Es1GS2A at 8#J5TtcpcIq_=eF#C-VgGn&t#jE!J<6N{q zFoRj~isy-%lozRb2*|_HXmTwHYBNbk#YpkCcXD|8wtFbmHF-rt;_^WU7Y~AJHXW!z z6BW9mx4lE?zhHEA@VXn;reNt6kj;8_-aYIcTyzhUK*dss=Cjm0=l~yse(yiS9+l;Q z_&e>rt)S{*v?|Myt70{9*hs8lufRnNKL?$2y77K3iTO%(Dp?bgv0D_zS)*#M+PJS z#sOtV0ebzx+jHoL_d5swE=$2n;JCpzA34nN at tdHoNfx3l6dpkI9-P4l;H>jXG(2n zn<lukK>e0|K^oMpEBf@)7!@z_dz9WIx6FvZ^D*?d55t|Dx+A57&z+w*gXm;xr}eV z*$IWhwZ9$=p(~|agE at hQju@kfpQRI at UnYx@OmJ*NSOW2H_*PUdTERWQz at Hpfx|aQ z04x)(^dQ&f(0kpSqy_?f;GHewYTFq_2#hh-%{NRgfopfd#o#L(yZxVFoSoFWh*RS z^S at vXydRC$vE=JXjO%}S>%XF_;vl)Q{tK)(Ee*&X{dQ?cZ+iw7=SaO(yqXx&7C$ z^l$B-xBkD=-rWAW{_h!TO%Kqge_j9oy8i!l{r~Iw|JU_ at nnZtH|EE0yz6|ws{omV) zqQ!bQV|FXoU)TR>%hD<2>-xXmy!^WUZZY)cfcC{*Y$tg+lJLbw?V)IuhUg=WnT(F z#Zq6_|J50SaDhM2UYH$SzW=)Z-yM8i|EJxvuj~JV*I(EF*R(G4RIu;ImtWWaf5Yd$ z(f;f9fokjjJ3DYDe7oJ+f%D(3ZMX*T_5A-61Oa1z_&uM@;6U;kqCqwL}aS#cfZ>I z3C#byqW$$Q&?B5 at hU5Ry!E^Iq5b3gKb!6C_D<pc2ipJZ{fVK*DMPAKL>CH=I#dW z^^F^J%^OZ)-~UC54bR}_&9+(0DpluaKP0<<q>dr7mwq<I^2hI;P2rw1snw*4M!g) z>WDtODgqbQ;Y!Hv_bs^K<F0F{D<62^wVVZOy_g~0!{(rX<)ed0rxlHX5APr)8PdU zI3JF;Bi~Op at VGf%hJd?)cq=Y60QZ@0+R^DPyf?-VtvsBGkvuccUrXpcn^7&*{Ek z<2jr{Mu>0C?UZl7BU0lDoLAR3DNL5V7%jR6%sldj~4;)-kj#dT%EX{-c0oocf9LB zcW34(0$jk at pt}kidd~@dPe?v}fdp?bHr#a%xTr{1P4Jq at hPkaWpTKPnxbQHAGyVF? zgW-|N03k#HRRI at TV?_Pqhr1iP6kv+eO__(;t-84a{EhG6I5rXepUG&Ufl!32J3N$) zUIF)n#_)n__(ssb=$kii0p{`!u4CXG40TNi?oq(i7;+SK$HJLfXU#vrDQ~=zq7NU8 zkz-IerW(;^C_G%xyIoAd8uxcIq8f^<Z^XRrHu|S8FW?$W7cRjz&d%YRL5JPL#<!h5 zJi{9w%w-pI(WP<vk}kgdI~=bft#{wS@(EmCfx9cc<Flh)_Ym$Uog5s!IqaRhYV5;3 znUm9t#!>GWPVXHyE>0U4KvSdjx=;W$IU&fj3l?+=&4u4gvY3ck=Qa2z8I)+j~DC zQtt$k8*rHI<f4Hq@JB?j^9JthoD-J^r)NK%!-4XP#_Q9g!!9K5cY(jo{!v%mz&ZH| zaSo0;z2l9>VdoeQ|53$L;QX9Q(#;*v&Fd~D0m%;hkB-5ieqb-;;v61HKNqLx7pNSn z{kGTdZZtaQy*?E<@qU4z^g=13H5h^RZrAC0n$A3j?7paKGQ9+)uEWjl*sS)>mGE z!A>aC6xNqQo-Ka4pWw9+XnyeV6#Co(zN4bifL?3>(Fm>+(}!DZntI{2OS{KAEtA3M zeh|qClkvK<s}7DiyMvdkpr<0)@ujASK?-g&!!4U<fBKvGauzT|@pQ0&SDCx>b#%|C zd-QVf?gCB|tCfV--m_=WuH09*T-^qPgTSoc#9>~;0pS~^-gtj^HQyNB<G=WSU>lw z6oVTL;tZ$i_(q~eV+*eAHFx3CS)&El_S8S{2fPLVJ^{1Y+8n{_bmn+B2yW{&?F)gR z9u#Ws!tFkMv#<V#)oViHw{R%?i|FuD}l{DDvq=o_z$lGG_lTyDX#-0ntN0nE_*i z_z$boLOM5_yaL=cZ0=#PCQ3#B at Cr!e#*+lfHeXO#6sL**@CuOg?M;hQc!3qL7*bdN z@Cu;OZ*SVR0^Ad)mjKl4l%KGg8UKO9>6qkp8(Vt|HDl1>-hgE+(58DxWe~p67U0D z(_H}*CFB3i-FCAu{)c6NujBs}=)MdB>cOa)_yj5gzgot+5OA?Xak0N<GYWSaNSe? ziLXgmJZrZg6aR(xf2v<i^{b_RwbidJ^=n)G+EKrD)vrDE>xKH&G%y+mt{f10QzJDs zR8wQYZ9SE*(V7~rsqtDGuVwhscrA_B(s(V6*V1?jR!q3;kPtiTjR9}@A79oTv zEMxjTg1hXbmHBXn2~KV9$!bpBu%C_z(mW9E{Tz!gKFlV=F^p00!FIs-K)tH|<HHpH zxFLms(nK;-jIY~L!h^qR6Uh%+P|LlE3Q^D>vx)ZvXA=CcXcIum5dtwPF45>-^v8 za9w}l{GVR+VP5=zm$Y%h_fEYPVmO1b*#hQ*@H!#7zzq|Bm?1*}d>_Jia{2K7{bUxI z?qoKzx8$QzxX=$r)8e6bN}Fd7+>f9W<8;7?jOvbVRZrDlkp=gdcd0qVA{Ham!b7q zQsY}#B$)s3;aisC_is|xVm!IWI9KQ@pw4@3#=K!SeTYL^=k(d3NAGaZlJ)xekB_g zsxV<wyUIo*;_c7-e_z!{)TTxg>Kc&?fsfm4d1_pFFe)w1Vs0k!*S-akgEFWK$+d zFMKT{+44v>aV}knW=p0??~W~_+4g9{L>y{W&}>^K*{-75EsrG3_Nz&C6feCC^zP| zM-rDMs)@NR)7-8?bH}3z#;oSEJ2J_gDkOIuNl+^^lQxKnuhoH|AoiBO19l44q&Oq zZ#BDBIM}lsynv;f%0lnSLIc0$wtZnqZsRMnK=5i}zL06Ys6w;p0umBMhpI*tc5K9u z1nCt-ZMvX at WI??Zsm7vGrLfd=acLX0iyE%hVw;h1nE_Tb)kvKg8x<|8wpO$O3|t5 z!V{9M9xGr#E}OPeglf7FwT*9ktFGiojA~X2QcV}7h-HwN8(hoQlM(ONQGoGl&peN zp-XR8icU=zp0)v^1u+gA9(rTRNTL~uP>>FlX=HP5c5PudL2azKzL&;2FsgwM&finG zdiDwS3}83}KhyCeYwv2nWl~Tudq)Co5i#Dw|9-k)%EcGyfM0O!1fI6-`+jktNjMG z;Xu0_&()5><_5mb6<lU(12!69r-6QL?reMy$uIB$mI5|l^$F>zA1Gq}!x!QiG|&ow za5Sumpc<{I9$Fi)Q03q()&{+M-Jk(=2vR<p22i{)G^Cv74Fhc}Kx;*KL&|A1)wX@! z+7UFMY<?n=Vw3f)(A-qUDC!L;o1X|8j!!}>Y)5zl%H}76hA)f^t*{e81Ip$nf(D%q zD9zW~ZUhY|o1X|8Z2z=(0<^sd8c;SrG8%4_ZG~1K_ZPeuD4U-M8h9k^%=wZIBfKGL z{S!gM1{zx7GKS_FLj(;xayzubD2C=5Lj(;xayzubIELmLLj(;xawoLHB!=c1Lj(;x zawoLHRSeBFh6oyX<W67(Fr6IVuvbdk6g(2Pdp!?nM&p}n3=!VIBViNRM~lTboE#>3 z!|hbq9?~<@vZ3^gUnkC91=E;eY9A7L(*y9z#(B**++}THzb#1BZkyXCEyV->}P1 zqk%)hezcDki*K#6w$R$%!2Z)mi^Vq_^QC#)0kqHxvG at k0OVD-!Ewn-zO~BQ0xG= zuy=08;#;e%Ewo+$T4;q>d;*HN!yzn&9HZF#^M{0E<tMoT4;q>d;)YXe~estq_ZE z?XtGeZfWf*|@*KQ9&NxFrdKuayK_{%dL#JEkN_F0Q(Ly8f at H^p+Q>+dgm6r>YBw~ z#~W?X*@Y10blSodx+*Z=vCw17Q8ZBLW3<t%NneL*#FqLw+(FpdT03Xjzfdz5Dj0= z?RFvo)M9z#-Zr!a=$&c#!|=A{wNsMRq0vqzuF%;3IB(Dvg5J4x2?cRX-l7q{M%&y_ zyNs|Ait<`4k2kPDGw7XLP(Fo5P8UIgwg9~|_8-;?6EF5!o8Hfz5n{YSTL^mR_QZ?5 zWMFXL4ZEeAkQCZN&^zN1EMrrU%JOFSgcE2WWzajf*vNsS(WbHyHljCZ3wU@7T+Zr^ zjT{2B57QDfXbVB_+=6%~NqXbrQPe}AEd;%D3p!yDja)+qxQL|C7J}Zn1)Z>n=KAI+ zZ_pNk-nj*xu!!dR<~-c<_1Pb9xdC(dnX%sY|r|e+5RU($dbZ}LM!N<Td+z;yzTn! z^nNk<c{m=cuoOXS0h-@0w6=8&8T)8AHB7%3w*SK-nq4{}%;l*>LXQBD$@+Rg@! zFs%1(>%Klfn=Y;|M_0O|iJ)z7ptt&Hx}64S;|gfN7Y?Mrmn?4(?<6ZsFX33oUnaNs z2{spby=b|;3uw?tcvgg+jIzL{YMM<1_1s<B;DI+g}pPxJBc^r94WLHfEM)55K|;H zCFxMLeVI4V5qv4eYYVMC-Rc7?Xf)OKBWTbTg1K|+h0NQStdQmn+CngQZoQCs(ZTF zpe+P*=N6Ec^rp~8NxeZ^2z%#YinmdcH)soC?|dnvP3|>P+~0PfEd+Dt)}@ZUflUF; zMc;@p)CZxbL&!W3xMXLZv+k6LfAWB>KSEH)zWGCxQlTA?%$m^^CHJRyH%*g|-mP zom-cBR8vGNn;GpwTL^pSOFgP7qLs~zKxeJ6cLoO)y%)?-qPJaW3(z}z<2P^w32kye zFY}OHXbaFg`)Dx_nU{IU?)C<Jx+p-4dC0uXL(n^*clLRUdC0ufLv{fTM>edN8O1zg zUg{yx&qMF*qs2UAUg{w)04?Yj#*rBEIGV%vUQ!W>+Ck7Sj3XYR(3F?R?G$>Hb})Bt zjUyhS(3F=%&~T<3jFH9>4^e2!OCo6Pjds{Ok0TzU(3F=%&|rli?48FE4^e2!OCo5{ z7Q)_n9Pto^ro1GA2Ht^lXFmIwKvA4g1%m=ug6F6US<#40$(fvIdx>{?<f$$fZA0 zrH}i~9_|+ymLj}?J)w6N(SmU=py79~RmTuPgSG&@vyZ0zt%x>)&+yC$Pey|gOdH2Z zo}{wBp>bH8I=@9Fzv8+HnZKp3ORqbYh%DjqnC-0eWX|q&ktumXpWPXh;_(<Gevz zfSv||60@nEeYAa>(ot1|7vT-sLfAV^z7rxM;n!|{Jem+5cbX!J^KiFyPvtKOvK-C zHW~KL6FvI~c$-$>4cY?Um!gJX+Jatb3~Z{<=;NZXm7f>T7Q(snM6WakXkgQ_8RZLT z3*p at P3Jiv=K9CfwK$p~L;49hR}i;?xpV7E_c9SQ>SiKnO+fS4R9ja%hD6Z7H6t;k z3Cm(z;oSL3ZlcjSY8zXzh)yaPE91_X~)oI at 37X7NGgPGw5GgLG6iCqecDdIT1j z(Y80Xf|YIjh#=WCM6-;=(RKjMw*oFPifE*M;w)-~T|o1DXZ)z4h~~zEQMA2{t)O?_ z1dkEXp!M0Gh+r6w9pFLrlH>4STM#LtOITZy)$k&i at dq9U=$77LNIs6ZdpWgW5FmI zw1r^qya{bXM1#O(e`LKip)CY+=gm!TW!rhL+eeA=25ljjJ8y1!J5UY{bX>+8w1r^q zyt(P^KruAd7$TBFTL^mRO}2Ur?$6LzV~C(ZTL|XPo15Ma6hmW;A%X^NA(%UFZhAXV z42?C02pY77pm)X&LG+L&YYZ|PM58U}ommeEORU6>IfH=>1HVnXaX*JqlIj5A1d{tf z;NR=BQ*?@3EzY?uktQrhZ$YPxC%dVq-FyTho*ObEaEm($58)F3<M7aCuow5>J-=k| zAMYk<d<dW+KC~j}*V!5+u<v;)!=J&sA<_gOriKKdVL?~#3*fdsfHWfjLx&O#L6{8* zY;SBs59LeX7<Lhf_G2A4T7~5PU-#J3xcX%Z%)KIimqrD%1E-HpJfrd}v7^294Or zi9Elz_^_jsMu+emqVH{NLqG4egQnMCS#)~aK^h+#P>BCxV;kBUo5R7 at tk;8Cd|c3P zr}3ff1o*IVy^ZVWW-yD|0eM(d at bFt{eB3Du2{eHKpnC+oZq6gnEFn;A#V}fcx1RZp z0FKQ_5=M1$^HBJuTz+zr(;F2F~gQSyk{vOBgY~~X1jz;u}QbLHn!1KK_DCQnsQ8X zWVTAk6dQIM8a6Hs at X+TU<FHnNJM6=1N-MT)P}nw%N_;YMfO2HYlm?uIJ_b!3H{v~| z$zjToDN|b5)(72_LwYF%UX;3uj_i>9LCR+!PlI7or~@>|0cC=Q*AX#!l!T>62j3 zs$Mf**Y(w}xJzmP?|)xjjaUED55^Zv95cWF)!N$qu<0z!S(%V?61bL-{0JgAFd~> zdFKN8tor@|6jAcwY%Nk3f}**y|dN)UE}Nhf2+c^{Q-A7-l?1Z>QI(4Z!#F^ji} zH66jb(>n0BEA?(5c<I~MoBj>^9>A|}TP2ozkU4%y{~Wi!}lw$;w^vf7XR=TWvW zwRe;M|LUG<Iv at V<;ah4{2~2&+P}LUQpIQgfY<r^zs%v%zPo(4BwCgp-r#d%qeeR zDmB#eTwT|NY1XI4w@3TkSMUl+nAgBHJe;gx8jPnQ4Q3!L?cnsy$pxgsNZzG(4i1h^ zu_#Qxywuk{Oohc!mwLPjNjM#3Nli?G)i##Y!X%jgu%tF7!Mc}Af)76b*f~5rhm1YH zf(3g--D%3S6UUsgZnH|y=S3!h+NUD|6F;Kh1}s0KvtFa?w3Me{)8fz$5vt7Gxb9 zbvwvY3y;^koCB*nU$C=tVz%YW)^nvjd_XxqgLi-;!+224CqP-mFuk9_+S1fQwYIiA z?f=+4*zfean1RRI9lzbP14L@>dQw0tf;4wMg+MBrr at 8BC98$M171tp>+-*t?sqIjz z#~dK+QmSX(?z at 9Nd{#yo#;2%qNK9O*W>i%Ua at m3tzQr8m6whWBbCBB>thg6*kmDAt zCKYp#>lUukG7irAq4P<LjN04t7)hvZOg&JoFGqb1wpm^htBDOX-&-&B1OXPkncA z(1BNyB6ofxJOoukD!nw4QG9nT38EC(=#OX*=_APun1nrg30zdwhuVk#Pa&oGQ6a- zK5^q&>$ulHP#*3n3zL<1d)mV0c!F<*MIc<uassFisduP(<9bS%Lsak}ej%qr&QC9F zu+2!Jsb;aIg$FxyQ1TBpmPWf at 3c4$RF37x3y~j^r?4Jk7siFK#enr_S?EpW+D| zlHjy1jj~;VvL954lMo9rF%9!IJ11wF<!@YUk4y15Xb6VoE{%s93c%)&WqRQ-Ol0J z#W@KA<l*%Jx{rZZ5&*yD1QWoA%~W5%-e8I-W(75KlR}~vi-)c-nS!t-gQOJ?Oy~ z<RK42+O~ZGE#rTpQ{Xbt)1#1&)~(j6L?oPymJ{}9~bE<F^hGSRMP7wO;q+94>cV> z$;NL#S#?5wn%|pnjoL25ukh}o|I-PzR$iC|a?g~|u+dgN1SDcGDkNeoDkNekDkNeg zDkNecDkNeY3KCra7c&IbT=*7i2rQ}^0-GvBU{z%Z?CQwv1)Z)A++iZc?J$wTc9=*} zJ4~dY?I*gJ?ezv{@Mh@6Ck|McGiD$3_AB3dR<&DK@hp5#PuSsh-1}!B-6r3IMu; zC}`jG4}Qj5dcEd8yj~NH&)rnz^zm(*kmUvIv;G0R1sq;UUgYTX?LH)WQtC0QPgf6G z{Y2I2c*^53$uDfWo?>dT6~Vw4x$-0J?diec@!c2&_mu7TQd}jhlk%zR{swz5Pf at x; zks;PWc@<dq<Wpe1la%2)0nV at AH+e?!dL~cfhx-uBLmQfLDN5+mH#tQaO-?aLV9$pE z%o80Gv1lO?k-bFR1~_}w|IgkbwM<W9n?)^I&cc@OHKfDNMJEF2vI>AMs{nX*p$A<4 z*p_wHo<O{-_O<J}YR^WjJI3;QmxOxgL9ai6?9+4nHh|DcV=oSU^v<(q6L?>{oqDPc zbxg0aS2#!1g<}7&p3e^4-^#JvGxV13!FH1_N%fEJS#^x=S$Byp0sBJliS|nsBalbC zv-XKLpzIUvdf6x1pRZA3{!O?oQg}lvE0*rcyXXmBOj26i!*CaO%)gF<zjH@}4;U zS)XH{^*QcYpJVF&$050%ho`+c=1<Vu at JH-t_%rq}?iu?Q_XK&=skju^n}li9kGMqJ zgYYEiJKQ7o8te(yINTHT6YjzG5H5+j2LF-S89D=(*E78UOER+*mt+Eem~yZgrgRt~ z6XabP6W$9ctQMbbuyWKIX%yiST@Yt!7{1-33Brs~lf-D6B<7P8qa6-KXaAAaXA#+z zaf!@<T_W>w7fG3OyF^yqC9>)&+B(7}%(@gCU|oqtS-UCRGQb&THVX(<Ql%#Gr58f z{LmL)^yfeHs@(&u3ckOcjGs}t!D7(AzFWYgWWE@@hmR9I_uh~N$+wpeSFnRIzx|G0 zW@V~37Sjp5>FUpoP5hpRd3dh=_m<RvGrZ!uZ!=vEqMi{&xdXT9EXw{|fIYVMQ% zCh$t+TUGH-&;ItzEGqtdH<eg}8vu>xdcl!1wb6Khg-3Y*;m^Zs&7gWFMm*M_1hKKF z*}zQ0-k%$m)89A#ck}UTlh|j{a2|~gv<l}>r$S&WONE at ZCs$#hL$tfIbD+c7lj*Rz zlc___+SBVWP-3%{(&F8H>&f(Jno-r(?DO^+6uB9wvbC93W%J2Y2}aFp)_3=uxzC|X zKRiO4O0?~}^_g)CG;-2s^rW)wJLozCLQv2O*#bM3p;8RA=}7KrH-1jwmJ<0eKcj8 z1{kr98VdpY)jH~%r&FOC>r_EXYGkqI0{slY|C at r8?JY}=y%l0!Z1!_rY<<H@|fx) zOi!BCsoe&l^bj-9yBZf;In8j@jG9ZZ0<iQr0mk}IHtP3mVx>!2(MVi1{CLtlxfP4? zhfRkvjp$<~2h8wY(Ds^)*e>=6+9WTknk3+Eg+_Uyu7*9<}e8w!**(PvRIcIn=v)E zo0Zkbd0U+lfdT4Sn<*vk1xnmaD)IVmP0qN2;mN{dZiQ-8p>2f&l#frQ#HJc2S0A8o z)}CC2;nXeNyUlp3S>+g|*rN3qrFx6 at cw3<!tFEY9+Q!A_F?*T{+K)G@R?hoCaW~+ z5uC{P|9RaDm>2Hi#tAJU!_wDy|ogdRk^ng*;}19fdt7mvq;GGLiA<N};!!(A*iW zd)0cW1qI}9h1xW{r26eE-!YSG3TztC+__x0CUeL20e4TW$G|C*4V=x2*RM!_Vq9S( zCE)JK6<G+DC5zZ>MQ;7tw3GF!gYqB%U4F?8{8!h3uUeDE!BA^kPb;cwGT?4?epzXP zvlTS(<hmCd2|a-#RivywstmY$Vnt@n6zA*nNYGlilC4KVmA9M&?pCKr8)cGRcNi$s zD?nV6Yaa$J)p<YtASh_t$<F)oa=PVoxzbTkF-SJmh4&&4!B#LOI8Y!@Pe{HmFc-R zaQm55xt676U!2wHzG67=hw|ve!rJm~g~hyFGfr=An(I1BfV<s6oYwQ2${UU$dn+I z?lF>^j#pP#nau(i-dj_<0Nu&jRPIt?dJr(TLS^bsV=LL|p)SK1lN^hAo%Gr}KJ5_o zh7g~j;|o-o970e#x?GcEmJP>>0edB+-z}yz7%H;<j<DWa9{1MyWY>)?gwbP(eV zWS|7q;!KmXw>sPC6_MsnQkN9A{Vp}B&bzBCU~yggj5#~4Bv;aBfxi_hR7LJ)N#wq| z$~rvatwXIla4)w?_BjG~5V_L>?fLKt=PYJ-scK92nOmJ(R-UqiVKaT!b3U9rp)zw< z$pY>^hc^A7NfAG~KLhNpDXaWpr)tG;((%T2vVWb^2J%5 at +-~&gP5R3p;l0Hyr}9F zFhDCa<n_}T(u*)wKJ~|HZj;Q1T%0F2q~C;=oXY2hx7qu(4P%OJGT)SDBwW3F@dbKv zV+QSL*;X0Am33D0r|Ya*CbCpFjmO>UEK{-TFE+D8N5vKr*1YQL>#<UN%Wo81oYg7* zGjvorM*NI(iuIT=5a<gvq+Z$EOHR0p>w3wJe|{Q&)tjuvk)S_6d;(iO{Xv0nm=Niw z)?!OG;CO;VT3)cMWJ at D-<&G^7=*in<F(?XaibkrEX6a)k7s2@DiuE^282Yg5drx4< z&(J7+<ws@$t2ZR9^{;E(2+Rgc!+vnBFwG9Qd-B#5hRXEfo6qg~<J*$z{2ZrHGyDEf zqw7A5y0k_=L*U5s(Hnj%ca;aui)15%^vzPNik{*HFA&pd(x~fI^gx;T6c_vzE>S$ zNZ$s^+Ad)yX;vL#iszDy4J+SG3%FaMP0RvPY7mok<9C*4!;AoYHhBj|0}S#I+a$P z!$WI;j$AchSamJ!1Ot}8#GqYZ@$W#Z{NB~7eRTz~7@Jeb;_9?oJ0wRJilIn)=}4@ z(p8Qx)}qqgFF&FdSXZ#t}CJjEU(s4SJOwSo}NCY8b9oIUW+V5)8D>K8B}LhXhu zu28F0E at AEleLt>Cq#|m-?j=&Eh=4QM6GnMHA|)5U8vQbjS>d?-noei%QFFYtMkoD z+j at C7wP1AO&MiFk at ToZYT}{vpL|UBzmg&fZNwAsMr{-=r9O2W9vQXp6zS=-jHgtOu zbFMTnsa1$posGFCGUx94T4!0muY84B7L!~(~L_}tuw3F!hs7n=W1K$7h%pXxOJ}F zoU_a6Vr|#Hikn2ahl at h?R at crd4nqnn@X4-g at ub?!zI9E_vG62M*+zzU%$8 at v+k2x zxkF>l+Lx at t$0t)^Gq+uH)}CC2d2RY}G5B~nYi<vq=UbOT!2^TsbTz00y<*2*VY(LK za&@}ZCT{MgMiOw}Y7%NUD!Q4_TD;`yZp7Q2$w5VE=(C=Q*y<Zub?x6k7iAHTU+HS zn6StI!#CVpRXd7RhThp<h!A92of#_5jQw6La-7FR#8h*EJNiCW@?2I?^i?l)d?6M^ zv3|=&UG0?Wi!thFm{$3%>&aSb at OH&jH&bDf3~>YkZ}sg5fx{KHxGK93dE<lvzpHH{ z>(J;*-F*cbrOzz&ZtkzAqv>LxJ_QxCd82c2ao*d1bI~2VIe~BA!Y9qXKAFs?$b+! zBI;XA at a6c!yT<Juybk>Kz4{E5u%{HTFR9d%<&@B^uQQi-BN|f)>1^^Vtf at MdrJ|4 zMcgVx;7vX0kz86|%~lmMH&0=en^|)?QL0I at oW3fmtG$#YZIXn4>+%Xe>o%CGZ(Y9Z zb&n1Q3;Yb6V-$0<~_Lwn5n{d=WR)N+;dNJ_a~LR^q=X&c8bD{%ei%bs&PZ=X?5O zpQ-|%DdIVdiJ41>cLnf=iT}j2uK5Gp0OgN!uNsqT&PlN<_=N%o0J1ZH8z$h?D+H&> z{O1pTKAes4@?n?UJ^$+d1bR%h at I)WPR9c%czG%hMRfCsayN3lUM{9X3i?i|3rT^mo zd}M#JHH|_lO~zfSnRd7o>Wtmv0K&KT#PkYz%=O at j{e*4466vCz<XlO10~z+bB7PN zBmB%EeBJK>K6og9dHo6sy at 6c!@pY3j*WXvfajC<)A?dDYg|pQ?T6fXOPo#KW0q-) z@P+u7y`%0xecjVM9iJ1T{^+9qa-pqx3;4*fPB2U~8lM{9cFy5LzuykwAA<$R^!Z}= z%%S<R{V^4~VTF!$p)LLST>2Jd4+&ij;nVc~M<DH&6m_=K3w%9M*We$f?;W4L?VaNX zzUf21@PXou#y?H}Nt5ErvGt95=)1ZvI|to?1|hvXgQ3B}9ei|hc)MsUhL=v$kU^iI zv>A=zbZgZ3!ynBTBGm^f&G!Qv2dD7y<iW-M(E!U0HZ9xm6-WJpj<oqm{<Qf>j<oqm zjc4<bymRxBzSX(;NNsZSks9OXBl+s);|o=NsD4p^+<Y9Vr?L7qQNOO}7s*$Y;<B0$ zP;3n{Xy!H7@Ofv_NK5~QFO1Xkp8gFh5hap5RIvw$^5Ds2bV$=C43*D{xjPiOUR<z z#C$P(pqSCPyPwR4x8tC7fDb=ARXP31&EW3-b_1pH-qEz!RBB*8Ntr8_)IN_Yd$6 zj(auQr9T0{O1OY5bQFoHyTX>Pi|wtP^~eU&F*H1OMk$3SD!yu^yqt~FlG5a at FZ9 z;o{1%$pB~nuJLC~$BHWT&-(Z88}#)TJ!aPEZnPQWbgnx5$E}1OY}0gw?;aKddZnU} zH@#I^t~92Agiee$He{5+l_5m@{Osda<DWrh{M78?J63=|@DRIMP5q9({_3eBfXg+T zs~)#qLSP}w>d8SHK}j3F4z!-0KMzZPk7ki0N*u!4-Zy>#tB>vqkd`j6!U at y8Y@2T zRdE7a*2-q(wpoS;FTwKwZGT(9XvHQNbHl*dxw_4 at v};LO!Mc``6-9q$879d%{svuH z9{dy|Ch~1_NE&S8HbnH>*>m(pb*cMZ9&68j-+$ov096!f=&6qyjLc-IEcHoKUr3 zhX9$T)lwn}jUS5UXPB(Rx_a5ol&V%RqT#4;R|PlR;83ZbdbX0t}@ES3t<EFjpfSb z%F;O(+gy5vU#SlQ<hY9D9!S~dU;hk)LcTLuxibNha(}uSaW+4PK+QGUr};SqYOPVA z*5?qYy+(oBpF<!ya<8ThZ9Ta_5Ugj_hL^ge4a|02p)*W(#2$<N5eK0T>A9UZ(tr_$ zQGabP1T~7pux)xKj*uJ9b=R2jmZ?ITP1LAjI_uV6M at 9^%HeL29#(jR3RWpsvgSD ztC|^gNh^UBO=lQ0vPUDB8&+ at -$mL~mM8WOFiJB?g1s0ANF)@>O3S%1VqpbVpX}w8 zik1+%9RX<B)ei{RFhjPfGTMD57LdXR4E$K at rm579Ru#F@i58u{Q37dfn#+*K)6W& zbJXwf-$EXokfJ=wg_Rwg9>RE-+9n*e_$v*@c41LV%8nz4Oq_|A at 3$)VMGl<veg>n zgd3e{K#w7fns5xcTO33>8FPfexx!8rTdRVWYb%XPH|ljyMiy$9ZL&3kfLuFUhouT= zm-J3?SKW&}tYWS&tEv?msUz*R(SS62Gy+m_(xP^8nyBq)pVrfFHSxxx#sPhLIVQuk zO<XRmVlW~XgHf?Z098y>BxL!J)2EXkY8ABwIxUqG}ZZUF0#$H%+wOQf-x;6Bb#+s zn3$KQ;gim_x$5 at G5XMW?w9xua$s?u{v8eH6P(fMpMRnCX|j#>h0Q-TE at zYBUl6X* z(8ZfVxyPndvL%&lNhRA-$+lE-ODee~mE4v}Zc8P1q>?*Q$z7 at Bu2gbQD!C_>d?A&5 zA(b3TC5KYUOR40gRB|Mh97!d|QpvGYaw3(ScqPY^tKq}-LMnLW75p2xo(VeElTEwG zX at IbXUp4HQqPCIQ_GfYo1N_;vJr{FKZZYIQ4(unGd}?jQfMc>P8+F935N-?|BUC|J z%YZ3q1R}%mSmPB)h8k0nWQXq5GrEg3VX<hSDHM#wnL@!>m?;#DMVUguSdb|cjK!Ej z!B~hX6ci&2#En8hF~C4DC=?XqOLJ2wDaMzUR8ovDTT)3ezU)aQBkpmPdvQvqUh8$ zn%hH_QHeaz}C^t0<Fz5ZP81JMi>p{jcTAK?pgW((ICT^sU>#xF!Nw1Ghv)zJXo&F zB8{#igc{tUwN9#tf_~&UgL}9_*|K2cP#;U84J%m^Zdl2Zc*9DT1RPefB;v4=B_W5E zEQvX+WJ%CrCCj1?D_RzISkbb$!-|##9#%9Rd04^H(4)%c#vYuDRo=klyLTq)C;$_3 z+>;+~>?Bx2K&~r_Jey&fO0|QAoOq(DRtP3OWgAHX((KX5f{eP#kV^AiBND|&e{sSU zu4R;dDkIWiXtLV)GE!F2y#5@=w~C78gV-N7$9RIQyk9_6bxkw*OjiSu{0B;f6wta z1D+m?cvJ;_+{l5ut$s;ZWrO=5G3znX+0IyP<yUdD6}81U_bS21T5H316lj&;^F#l zfodJ;D%+3A;M<RjO=fcJ+X;eURS)-#{Y*)=3 at o%huz_*^TnV=x;X{4#gHB#Eqq1@f zq%6Y&%3>3I8yZ)2P}+vBJQ$I_MaQG1D_*A+QtgUnw0soWq0fVrumF$Ii4w9ZM?7p zTTRp!3(KG$5ar~dUB;cP8BR#QKcIbx+mX$6hj#V<g$YuaDo`mb73>oXOcWivU<5@ zR8=e3&@t{AFd)qyjeJ<#RYtjZAt7?Q!nK5XY;9L+ctnN@M{GuUp51JUk&VUA0FLaZ z&(o<M1h^^~kyh~OJwv8Z1~BzCP}QVXrlMJW<pi7=6<G6HAQC++4Q&&SB*m<4>(-GM zzgAlz&>}}zRJJzea9f*aBc^8EHdBj4(yDWlnt-*kzC%cdHo1Lm-MZ3Nw5^e$U|Ej= zPcKGXV^srzQu+mzDg8dvlrW0SiL*EGak=|;r7^21TC}9eF%0l$BN|z<Nrp7p1O)kT z*mtw>eZwRh6k|J+Zt2#MuY&Ci9Yf!a6-<U@z)LU!qU}ruLZIye$p}C-N2Q5SL_<19 z!n^y{y?k^lm~*ItRtPJeN;jn4lMzg{K@^W6Kqf2s&tOAurol>L#e8x*vrvJ5j2Y zOvZ^3$cbX?#0%jTsF_<}Nn<0QT#iK7!^_EarNN9YX_>b|=?r5e_GpCCkrFxPD3EP; zt|?sds(fJM4c#~bBG!<$f&m#TNF)^2YJqcO#AR|CBYMTyMz%VCZ_F4F&5Uu*R9a& znW9z(E1bzOrsU5?IA%+eO+eh3>KFpO6ULN5NY9KW!*Wqa+6sm=bgWEvzQ}DtHs%RN zT%KW!X&{x{QEQrFhH{R8#0uO%u3%16)GE at N)8rTi__L8uo0IxJlV7l>Yn;FmX#rcO z8OwNP^)OI*b)>FfRzt_gRuI~%!;~~qQDdB)CdF}qF>N6E2+n8rMh0Og!+O=6}y_E zRuC(q$uY9?XV0$oeu^n!bl_wlWQ#N?)IQ~Mr>2c@{?m(Q at Mg=O;ICVL2S!_DQTp# zmNgk95Drt-^(r;ahtV8e<H6CYRZu9TA)X^6E=DwWs;|*eSu2bc)4~Yyadm_cvc2Y zWJ?%Lz|lT+l!j)L_*JIAx<ZIc>E8KGA0yYVZS4vMwq>n=HY6JjI<0sqMtDzVM1c%- zrw7%ql)zW<{9d*|KgY=MMt~}f7mGO|jC`1Cgf@R0nJ5sek+-dkV$l*0y}QoT;EmE2 z%{3TStY9ln(|V{!)IJzNkP}l41#kth#Wnrup(&Wl{=AA2=7I_4)&S}+!?o%MkquqT z>Yk3OyJ|L4IPe_*nOD)eqh at u^WN{3-fTwz840YQ5X)f;d%nme%U$~qrjX_p$4FZtk z4p?$CO1))D%Tf7a6i}2WqpOi-iF-t~<&j5-tC44kYeco>S=%ilu>BIZh-%BTwo61H z&k~o2YRj{|#%Qqp)bRku7LtZQ at LVqPRXV_w-3b*#ZwqTMoM#)0emsx&0v3jE7O% zeRyR3R4bU{!pMN!*qVlUHN2w!r67aRMotg2xUY0U28&r%tpu2Ah?>6*_pVE~bs@^ z!gWD<(XO$AEtP8otXRPYhBCr?0$8yu2Sx-eYN|onb5{T-F>oiRU<Ok<R|flTW10nv ztvpz=4Qf~+tY|?2V<sWlh)d$^>PbydPPtvUVi*)c8n8DU!?4ffP%u7;~Z}dFe;cm zsA1F)Q<LQ?sAuH2W4<7tL<biMl2tV}<u&RxULTY<?3L(bpr_O at -5M_LX8wCyHejxK zyMWg!-H(*dC|chGclRT(@&Cfan+#K($ZT;ptV9If6O%~<r-M6LQrwR!w61}|&0)M6 zE;Z1-H88A!SI@Co2+i@7YPvAUtLND)2CklGgS>j4%(^Oc{a$a=h-gC<S_jloA^Jg zceYdxCYDl;5Va@;AvH&YHlA8$Pp-uz}|qIbq%pbOJE4BMgsl%J^l7E7#Hf-0h-s5 z*>~8%>i}*41ux&zuhqP|f>-r!G?@*d-!1B)o8rC=$aDgVVF_dFSMC(CZJ*4$iwr zor~U&T~$JQpP7Z$gTjqQx|CX9@$iD~)grKTQki*gA^A4E4aoveHy$4lFOn+l2|dd zll<C3oLzWd;ii3gA|CbFvK+wMJ}Z)^dP&-<M3nGwHnUB{(#2?Szsc;U$p0{zdoP zQ@i(CI{W4xtNk!L!O+|?H2)G9onOB%YQ#l=TmqmWNqGH7opfBdM7{jn~<5M2lET zl?%%*G*15R&d+7rP0J9yl{Js2B~)l$ycG3E^VTQj(_Y&g&RojuD3EZxdhi{RW!=A zS&|jGbg!<a{FYuHfx_zuFb-$$aS;DT?7MhmftR+ZLK1<=ZT<ihSed#A5b~Wqzfx z%Pdz$Su<;;0&CE-z}t%~Ul8P3FP-SwRJ~;1qKiahxqA6aK56~Z7_~qk%dCq;Nn^LS zYboPHRk^8VQfyTsN*a6n9Zq3BVFtTstk+>G|81J!MW1o6+N5Ap|sT{pJAJUkhzs_ zS@#EY30E;Sll<92oJB9t>dT^*eq~qH6_eymnKJ4RwaGtJp>Hl03k?+w=wdcLcz%=6 zKh;c9S0$pdQ}&~ayxGLzW>%TYJ9yk8k3zxseA^~AyP4rh>}<UFSS_f!?DmD_0xrz zG8Isvq!DUG>J^2{dcKFja4%_mRU#@jW#f$ntNI+{+uG$U(5;9h8*n_IGXalPT>#m@ z!~H1_FlC}F=u_sF1vtWAmA*Nko}zEcMCsE>XiGh#0jML?DcY(;l(JerwWJFUP_NHa zs7agXBAhYPYw9e&+ti8v0)k3hHTPzHHl<cmM&jS(2v_!PXZEv4ZO*jJ=a^p0C3tf zC4#2ybq$^gpuR7Hso{yB7mlnE^jBcSht=GX8ATHgDE4K!Q}Zem{d;&?1S)NqZNXl zS6~MNoHT?jBuQa2eKBmZCkGr%vm(IXo&bqa44!98X&Li5Z{FB(K4eQX!^soTWJ^^; znDAAbSS=|hd}hdMcRs|A4m}B7N3$wDb6n3(I=nSNa|%%y4Bk9iVvlb6k6)81UA7XZ z|8GwI{p9rRiJ~Me;@abMGOLgs^}8E4<NxKUcug;60k?_8tecNkw;wb4P3kYbR0TXG zma5=0OO`46=8|3Vsc-WNE33d%x@)2Wam&w|oNL(mFbh@d<~qGl1zaZ<s%~a(mIu0q zInGmYot~fp*NNE~d|r#|y8U!qn}c=H$Y4(O32_X%Zx^a7hiR;p><6hp)GZ;G^-5J^ z^^!#4<dn5fWkK<{RjR+o{HU1zHm)UZlR+R)_IiUq3rAzlB)36P&bS%Q21Wd#RFLTn zsC1s*@ePGl-^1gBfO^83F=@&src6RSvo9@*XEHtU%oqHuU?#z{;JQYRLKDSr$+d8 zO<EYZxv at Du82(sczNrg77@JhZYsjlG@$&ICi$oo7t)*$#rz17+n||hto7&AHC2ws> zyMrAmspe<4xIbNs)wy@$ggf}EXPOuI)Teo&wiGbcKsq-G{~bv&eRhI#Lq8C2Gs! zcSX}&z$}IrhcAzomA__cC{$V%bcUb2TDuOotW^=(vq?Z$H=0jEPm+JmZq<srm>+N zIll3s1pmglp*u+t(TSU>+IecMB<$*3-&wwa5B&6MDd#&M7zwBY-%Bm61K(rbnp|d z<#l{I_?g#qonI}9UrS1&sJ1XZl$UqI0Vr>-XfZ1gFE=rY?^EO{H$e0eT=rG22%v ztu|eH!925!7y87l<wbq)wgjCSc2R0oZ>px&79tw-CZWla-qbo>l6~M3Ta0vVAc{% z+Cd8x4eNVDmWWLB6<=FXebYChUHZN$|K#hPc$U*;Hx==rbjR86RReX*0A9G7Y^V} z8ZOn-cUVmV9FyYta3qL7!ubkzM2P1MXAA$4MllXGAmTA$K1S?H>oW!%5g3I%Bc7sm zgLn!Lm!YeNGLLWSk@$%y;)vMZ<q>64?GRAJhmx8ebd&!t0a$0Ov3H35GoJS at +N> z0e5nEMNGua8fHPg*};=&4}vGqpx#5*tK)@2>Z{O39PLKD6pDjOw>%9-i2M=ycK^|H zA+?gn1n_ci9(mOpe?S{=7zqeZJ*R9tKB0lnYl;$wyk at lZw{MBkYT~;z_Z5%Ovre) zjRmAfAx97Pd5#^~Gf6#~G^}QsWLb^?37*NQfM<G4@!W&H6K{m152>36J?v!ka9rs< zdiukWA<Ok*g8pi}fySX6FN>Rbtm=HIz7KDU`&gb%%!lDkSrE{JRv(AAxtt6X)gOqr z*^r{X+0Ih*N8)*kUxq#u&$2!J0uj$K)aT+&Y5T!=o8UvMkH(u!``LJ#pgtUL9zAFG z+JV<ZtZxEuTpzqs;_1}AP&cAJ$UM3p&gbeY;NoY>Vcp%Gk?v9H0boznU$d*p06()n z>CE2q52=4@^e;LW-N9M^ym#^n=9TJ;<;ch<_|If^-yIxN<_&z#+|TTu9W-q{;@AJ2 zdl_HjGR7=z{FJ&+JIVDSa8{qO(eU~j_xVC~8LQil+mbM>nG)DpQs$lc1bmKSH2t*A z4mw9iy%Qy6Z7Oj2Xc-~*mXmR>#4T4MB3x@*M#Qb<MBI75g${|3WLElx+#)=0zZYX zLr1Nc7H~-y1;S4uUcyP!;w|Z(aOrc+;?XhWr14-K8%>dkIq??ccC=yzckK;$&z*O z>^?}bS6v5EKa}jG-kx?Xcczz6J?q=)?fCBF{t!NvhFx#5cU1-Y3z)Up64?UY-2FVi zPw8J_V-I53lQdtGZc4F%{6)=%@?(i?K4y1|k8$yFs-~JyeejfwXZ at seB*tBVcF;TW zWuK&E2d%JW0_&vpsHBu2h+<rgw*=qO{Sqa5<c%z!|ErI856Lj-4RfQ66&rAJhJK3 zoW9+!Z@BArYZ7l7ChC+$2BQxXHK0Yos>zaErQE5+7rZu=?F{ouI^nU($erq^m(>Yz z_1SbXo6iOxsk6F-&Z?TnWGg-(vMOPXck)1EyWCna|6^$Rzc)Rv{7pkIxDVTK!l+ z<Vmzqi&5vqz~gMO_NJn!tWzI-JNjJGk1Hx<B~+e9AxpNGiVCUahpxdWDo>-3TC5Jo z<H2pJq0DF~kvj@8qnBF#1UyaG!j%3-dHuoB<*)F5qu6p*Y6OBa<(>L;ukVKAX>yUG z+BDL1$7ax^b_eV81+&|<p{lW!Jz4>}B_5&{EhM+aIp=PDk>O2SiS2Cv64yM9Ioe1 zs#qKwSZLLhBi6I{>|r)oe1LDpkM9?=R10v?qM}WG<W!)%czxdO9G+dA=i2ULRpynm zWrysxjOT;x-N=}iQrSMsfE5mJLtI@b$eUD)Xg;I5KC}{}#|9Hh;KGvF3a=R7$D= zE!DHZhWD4o(R^BSZC{@Vu@(xIsLoT^?27Tgxz;6cmb71dT^f!JSi0+A>mg;t1Y299 zyW9EVVU4^kY8sP!_3AbDE9_DwB3E2v<U@KZHzO`PC&I1V%{c8UJIVN3uEsyr3fV~g zF+n~ZXO<v5d0Zr;aw_z>UNCe7IK&clT{=!>bF&-!|2*6zc1g6EmV<wcy8*XDHtW~T zork2d>ve%RV}MU1*OwXintzdewOearYikL0wOh%NZQP3HwBHi6_tvG6C3w2KOSDMd zV!|+?k4-K~IyIU;+V8$1cs{>VOUy^zlfzin!Recm3!9nW&_N@=Rtq9)QOU2#O|s9U z6Pk!8y7qXh(Wi9ldkK(ET0}5xF{A{Bjvn&Ae8MPx0ClN|ESjMW>Zz~{*DudoYkyJ zG<Pb5soVvLrTaP9oLdPOY|qe)@^e7qMAk>buG2OJFn8$)ZuE0Q$TRsJ?_4|wPv>s zL{9Z2{myy)4gtUuo(E^T>jyW2ULWHhrdNx3O693gwTxJba23I7P50)6|D~<57_QbU zc5SI$Aj)rEsP9Fk7FN%m*Vl;_2G_7<IU;g^=+UfTIXz7n=Pm9kY#A|?_F-bEoSv~ z<;WJ8T0%>|+>Vm2@$RDklRiOT%R6TC>2)fIDXI7z!R&i25yFUQswJQGEfX-Pc=I^ z>+>9yq7ik{6tw;*E?DjX1-CEL?q1Q8OYwr#ZmXi?h)C!))q3Jy11U)j;om>+pjHr zO6hjmSId#Oi?unmV>V(L9LZWJaJG>f?6iF at RcN}MS{#cx_hy_G7L|*YhJqASs1g zC8%%gigGMVASDM2t~>(jRT3v;eRr!UWG!zXhbuQ$RUvEfKpuISp3*Ptj|iW#qFvRg z?<$ofSPs6D1oa)Qk_5F(Om0@$2DM0_7vU_l(jr-{poZuv3z#>Z5vl&e<}1T>=&b0 z(E78Lht{toTP?#I^eVE|B7mNCGr1WpDh`6P^@GErssw78A5~P9Ky4LWPZw)EH%~*y zsuXG~sj>{UwFD;<uBPv&<K%AjlD(ayk!llby<dXna%_~w<XQ&vX?!+OF+3Pin``WT z9F5N^>V0xOb4kwy at U(D$zf=C&E?!09%Yau?cyUzVudzt^W{pM4vui9ENh514Qa!uI zBGvQOSg>|>SByPn6@}M|{~ElS!X^3mqL!3z6fWgeQMgpEy27zw!$%bPVPtR44ed? zR=O1u8&c?vR&&Kn at 5XGl?AU=-lf8EPehS%ZH?(T9*K#XtYEL11E#}DQA4ly&y%(K zy&<tC-+y<|@BG+Z;>Aeh|Axu+jS(k?#1rVDep at h1mg=FF%TaqUB%VMIwV2d>LGldq zk^@YL39XVL<R8DtNtdQ?h7i&zD!@RcG>IuKN at C@zW)SvukZ7!VOEg8mU>xtvoyy zzF=AZudIjqZNQLNYYbF+sAVhs4MtGEtm61Jb at l+F{%54c6m&wrDhAiCi%|}+DrEZ z6=bj94(><o_4R{F_F9I~1NRED*K#Whzh=AFVvYss3i8)duSa4{I#7MVvi3Ebp<t zZv%$J6X>Cqu~?w4pody6=aF~<J=9S2kWi%_623Hh+JYu(fnwP(k+k?cjd2cG>Iu zKQg!0dBNIcukZ6JKvj^xmU>xVur?j2zF=AZudIjqZNQLNYYbF+sAVhs4MtGEtm61 zJb at l+F{%54?edsVOU)L3P4b@|Y%kpxRFJ)XJGdWhuWw$UWUplya!zD!t$o4TWv}n^ zDnM0zm|GgU$8bEsJ>uX|F5ivfb3FSW^t(dZ=YA7N{%uLoJu{NIZcaYB8yUb at Ekl z%kLNLtS=re@!BQ5Ur<5zt9I;w07C+#&<b*1llvve)-{6(4}UrW8LFIbxnR193! z|10aEej6|()*1tq9%>nj1?md^P|M{!5>KFqT1 at JV7ELb)KasBUz7Z22TQyvQ}+cG zWUt>2?nk at p>j#zWwG2bfiOj9FFIc<m^?hCis0#AeQZMTZ)}{m17cA@lmGw}+4Hyz@ ziUC{?wT#6Abp?N@<#Ha0C(uJJCRMPWSJ*$VrDhAiCi&0$%bugSuOfT>c7X6}mc5o? zR9{d<_F8Ub;nysCE#|aSR@f)3rCJNWHrbcmFTS5wkbN1SU*CC&{?g|qs>oi;t+dat zUGecX{W5PAF_<kuWfJatiSBO*!{eM?92H4+GVe0810l5WUu87JhB9PT9Q{bK2)C ztozndt%YBk?8~nI-_I+^zKqYWZU5t}zx4iB71?XKmG=3y%U+8)?UWVPx0dnwwXJoY z^_N}eyq{N)eHou$yX>_Lqn)yX?6us=!mlmXDZAHVPWya?d3-I^TKKiezU+F={k($g z%lQ1-*0av~ORr~Ek-e5%Xf%a?6sI9r+gg!3?I9hm9OX4_j^NPO}_u;K$D4;rWv1 zd<>JN>)Q3(fFbb&dZ=YAa#q7+sUB*%oJZmb^iYdQY!_p=xwytQLGbI5{}3+8FV_~T z$zHo1JcaDF{lA**wcHAQ|0!gz#hmU7M#G1-eu^3HhW~%;y=+FN0K!<Ustg|0<j;S zXFTDt2|^<2n3#x5QMAon>Sal3?AeJ81_*#6W&jX_21VN1xxf8pW>t4rb!TRERW)SI z^?G(Cp)>oO%2Qb{U0vO6D0Y+k at XWx;@w>~@D*yd=OE at o9OU~XZf?x-kPw@#vN^U6K zbx6ubJ5YSGWJxL{Hk#$UnC$Z9VgRVneg)L^2B_ND>+v?hM$SQ>+q9XLC5fuvJ0EQ zr>Xs<;+4t2%U7yk_@CD^4nWe3^<V-tGp1PZNGt@^5Hr0gn_fA_VYR6I=n^=7y zcf%8WUmaicyRtCA53|V*-!SSj^cAK*-TTw&$@61pG8ioaZuILcLh=w-GVET2<d$9* zG1%25H70E9CByDTh%4gq9=<oJEd*@nS_73Wldt?3hx>u2w#_^!5tlSjn31~6>QfeG zK3R;5;%Ygbpg?0yqoQ>^R%?^Lz7xdn&T6*8j_UzHaNALmxEjWRK*?L^;FC|j%}( z-14z1e?R%_)f+JHIyR-=l-TmCZ93g?Xi#ZNz4hPmxDj-U1~0_qis+qRi}lQU3U;& zx5~?j?iXux<ExIXE-N~v?snPiAh?}Z-2w#^XF<yc>M*s*01DgeOchbGKHExT$e4<} z<Ms+1TBY|cOMWw_67N=(E9LtY9Wy0*+CYmk9hW0pX}HN<3+zCQ6JCipX^KV*1s#al zhG!#A>gDC4$B{0Z?N3tt~_-h=A|~o=~8zf=A|~o=~Al~KISTdmpb$5j%5d8UTQ;} zE_DZDUTQ;}E_H{U{k+tf4;3ss5c5)J?&$AA%u8*ElcgR{CW||HLQxL?NjZcal)>*Z z&YZ+!woKwbqpaBze@;7wSePC#}G2{cNT)J=v(#My>$;6UCT9omk at F)x=RR|_+3KC zspu{tWa95Egw2hTLiIXVd;$TkR_OZE!tStAemdCw3JYg1zrw=Vs&9#)<mJ4x1h$_R z=FY2LKFOWes|Gl?0ux9WvXW*EmJ*uwoFgy!V*)zWvU<WXqoDL@GVolUASp-o!9i z<Ptj1R<+KOOX%#>Z=EHT at ND(^<i*Ro>5L>vYDy2|BoluGZLME^-Qlat6iCIE~|9q zjIFebZ-+3}%~#vmW^=z*1jwFs)Ev9f0+cwtxOn&GZPhBGrNEgB6tkFh&>?xmu>vj z!P(5#?!kP8(i(|TXtJ1fO0gKMuy^_QzemVY;uz*Nd6lr}WaK499MC!i0Hs{QSJ$ zI+ at y}x=N9gF_z;~NP%rDS_-_Vh{%eh_UUtc3MrCdA*s9|0Xw#Eps0x8)q5ygLj= zbJ>!VD~35k7;nJMD8i~^_|a)*B3uRL*6NHSKSt~Ur&N-0hh^BL=HyXiRH!n&dhz_? z^!PuHGgrX7>yVUAIBBUUK7kJHc|~K=5uLHvX;l%3_tDDHGO5GyC_aHmSje*DGFO(l zBGu>)1Bp}9)Mz(BIWKcuL>DVmdqCQX>{0Si|UdrnJwzmh_uTVHSTc#DtC<9)t+TL zMrGbQwB2t99Wq-KNWIIR<+#3+*>Csj3?Lmu%4|eMx<S~sGWXG+IIiD&7|DNK&nFS ze2n@eI_z|e+I@@K*#kqS?blkn-(?S{dH7Dv75g6te5Mks*t;DQ5D4}&>?9;LF+r6 z^C5W{jk2(6_Qq1jSd|;k0hx*ik;>|=G at IzRtFuD=WZ3nC(t3OvYd9&L5HN2^C&)n z4oQWqleX)Mdy?EOnqBJA%Pk1%E4pfu*-mzQBZ9_KN0X!qtdqHCQ0eoqWMI5l2lks z>gnwI{{61scjA!jMvoV#&)<Egz4PS7^H+ACOLD3^LF{fm=8$|6rLZme>jt$_$?ePu zBB)eS;$kavNIr>DSWro+q#$TWncUs4I_$kjstSi-HwvAdyngp8clSw01(KWX+z{+W zfyO-!KR+CKlIoAfl8*8uWuQaw%gU2f`Z~QAvkx=nDWmc}T2du6S#~3oNtN@{Kb at Xu zZswwV=_p8Mn=&k)Mv$bstMj{~AW3=HWcf6LBo!5tdADylMfBYWko|7cPJt&kiQNUR zjxnVw$?c<)DoM$P?cx_!C8^vCC^WoZWG!!3Dj&VigWpXvQM1M0G>*CM&seguso1S< z75r{=>ncrB2eG-CDv!5$oByKs5)rnhi60r}tY7Kypoa8>#3y(n1v at UkJZ~<$Jdwhk z=k4NaJDg^H5&?A9->cBpIl3-!XWMew<$Y>NX;{H)>GI}M-6^ST9&B_y(b41VWYY0^ zCuzKM2zH~uNe>sqT@^^q086kN1sXZvw@nAr24}dMOS%}#%71$mz5}^ftYh>+xo z%RR_Y1(stsB0-wGd~<wpnz;+PE@p5MGN&zlLMhrq8a}U5KLVDNH8$tFW=#(qpCW6p zn11KegH&z<>u}RGsgLtHb}LopZTPZ*b&w*vf$eISJ~G{yC{3e8n=OUkSe=@eHy8D z-oQG%_9eT4?dpTVWmeTsxkpciajsrAuntmWH?U75#m+~t4pL<|uumh^P8!&JGM?P3 z59rE|A>P9}#nEH^3Wn&Ew&aVuiSi_5xweK0T at K*ogOFH)r;o#WwIZtseT}WDg_y5C zgqIj48TzOQEWj@&!eTyo)WSDUyt at 5GnFVf!L~Bp9zgW;kr=Yny&kCAof3cvazhs|d z$>%HO#hk9T{dYM|34ZA+_~m+>Nzmq$C<8gv<_#71D}olmmK)qBK%@$SWG7!_B!?7 z{UPly7WAT1(ESf|zi7~S^|Id1I(}0XYdm at +_bB?R-Lm_)??!uDeK^IfpZ*?i?=BJY zM at xijNfpJ;C34%XkqB-iWqy+u*G{Skg3GwcS9TS}&P8fp)wM+ObFgtkBF6s<D$zw z#pE0__A{W10(<2rdN&|F@lAXsef4eBIENxxU#^w&dOEL)@U{Rq=<)Yh7|yR}+V z-c~P^MyDb+=8l>sx8%=2({>ZDHRWwa)1;WOi=S^7*OQy~+T^yrnvSkDmti+e{Or} z+c)1`{@2-ydS%B?_1Z&viDvDQu|S1Wiq2vtH~W%76LUumzgEd8-EQKwhf!MdFiN9G zbW&kgQ0lO|VZCJd43us+{HD^HhfzAYgP88TgD4p^rPIf&7sqdp^$w!;kUEIkBeR1j zLk*^FatBc|XkzZDgQ!)KI*8gs>L6;5%nqW|A*ggx!@w at 6WcUn}Za4p0N29dnk<mfS zQ3P%7P%n%{ck>2YQ#ZX+XtaRnvTZ_fZ|SPT9RPc|17Udk(j+?Uhi+lJ7hAoAZFu_% z+n*lhrotR23cG3ogxy!%(bc^Pg|@3K|7F8|=oWVWS^mq0y_mvEmcG<oFKN2L_qASk z#{R;-!yHlctvM5&|o*VYZ}^%x9<ABh@=Z4kD{+$!tWhV-Z<~hNS>5VI_r>6 at d<QD zsw|ucGn?!R$5Vf0v(bH37@=Ps*lHQI!&F*G%e>B+jaf1ljtsCIbSWu>W-4MLX{7X zCuQ}jP(G7dBKJPSEOsD6R^7no+Q-T#mAVSi%$Mv9X~k%N)1h4MKw0K$XwOL2{wyfh zWZ0o#?iJyuEST0WUD}5?>U%FwY6 at Wy1E);{d|;00-2<KA_TJw{_Au;B&;O5giaN zN=F2g)KB>w-2+Ne4 at c36fRaWipQC#~No1G~<L%vYvfbrNNJ<7RnDo_@<F~J0p1jR zAAvB;DTLpl9mj+7r`BsTRm5D-k0SMDwLFnnDr&Y?iF%JpMDgY&ea{!zrX};GXq68 z?~A|u_u!9%k52}JkMO^GsNL1#39$B6fAQl at myq3|yOtwkrTF2~hrGGpT+JTWB(zq^ zb=q~*(gW7&@$|<x)Nq9DEvXmo4;=$D*&ERpd%&FoYxkt7fz9E<vna0M6Gbns&R)Lx z;q2m6tGK##cC0uKUkkHK9QggS&CPf+8=RTab0pw&bL@6A^w{CI$0w&{oN*Ccp1ys4 zRc4ng(e-=_8{=n>RsQ9$XhM}mA)@xU(M3n-h0RAhSK~!P%9HbpPY|uo^2<g0!^O+X z|L9P;<yCc0UA0Zy2K$a>u%y(6u-?t at nL8ZseL2`0eEqw@<MzsW&mJcagWr9Pmz{$F zn$7<~?$P+&K4Eh+tNce_mdRBEg1sJ&!(i}9-jbb1n?}GDKNXYlVo at Qs<Jo6QjHe9E zqmV|1q3l#up&yw9dqmxdj(Q}?C4oNe0Qxi*^s$oy=oKl!V;2p;DHgVi3Xh@;T&~Sl z+s#jow$GR}Fg_7wUEX~t%<8Yn0<Kbxj{wRg<K}Mr;1rY#hFoGGXCCBJCiV at w2#{Pq z@o;xvwZsDs?*=?1KrSX&88uJi%2JYxP(}_C77s&^<RU<_l>^t64=_>d$=AKE;z at J zt09ha1P!i2IcMT^myv~|X*fsF;8k*Gnuc=(O|1i*v at y>;$>B7;BZz7xx)3$JBZz7( zx)3$J1tP9)$MB{#^R-wbSbNYD&YA~K<GQNrpAVdlr%l!F2j+{#)vD?T+GlWuTilJO zbGL(UpT-pqq6}t;H;1m?Wk6FYb_|YUzly<tEt%DZDs)}YBIc*-rmB;lVN9rS&A_! zA$bT{R=eXhtPbdV2!LE2L)w~~Hj!DoOggK$H(Qos$l!uc&2=uS>tgQCciMR?os>{K zpt?^e;8rgn*RZaOpNH-Qxg8dF7S5~9o7E)MrL!LO)40jW>~X6nM!O9|&!qHAbt9;+ zZT@<1@8nAXNhdu<*VAHnaIXi%WfGiKB%C$c*H7Z=31(Vu7t>A&wtPnkM0a=Y1e%3K z7oqQA%MSiOJ5?fK{u~2J<48RX>m~@C<QAlT5?B1y%sjp%WnnwjVYrG+b(rkmZ}jo1 zO;gO5f$MKh>0)@GX9aswC})L}RDHe5lC9D(HCR4aY!CQ$_nnTNTQ1X$)!<oJHOc$ zPBUOZjgtV&icDv?L#K@EylEi3phD&Cge$_b<y|aXW!pVJ!xb2=tymlKPkY}Zc)qG zGH!Ve#=*D~=EYB|iPAZ=%jBKF)-52$^qiYwZuSBgF%P-50(23QkShXSAueY2JvIhb zb&G(;Yr+oDm0JWfUIli5uG}J^Ns#(=(E&+}V+1@!+l1#j9mg>Oo+9o7?>I)llQGj zs48X)x<x=!ykY3dEdrWi4MSIM5zr_|cnB-KB7iYYA6QBf^ojt+D1BhA21~C9U<?v^ z;c~l@)ZcS#7;NIHSkS~%DVgWn#^PgpSd&V;NIaMFEb&|{^W<)IGk-syy4QYOa?Ux zHHp>HmBjarAaP4)c2t^-2}R<(ht{77an*z*Yj at _x51Hf?QFaVE2y2}pU@<X*u+}L8 z7Dbq?;mhsyH5WJOs@x)=F~$zim0JWf#@PY7a*KebNFOJ~_|G|D5Yxz1w~w*r|a&y zMo>X-6%ZQ2nw4L?uwR at Ir}lgkWGmYbmbONYMT-v=*leu+R2;{yyqH0;iN-|!gGzF zaMB?};kiao*vuJq>vKj4nG=GxnG*$VQz8Uixy1@%T5Aa2$(*RtJLwRj at LVIJaMB?} z;kiao*vxTnYAJn=xNm*4cL?jL04OrM4*%g09>mpq+FG!F#R|6izyXC_L8)3MU;x z6rO7Yh0UC2-TIto34Klo+Gb7^vvW+bmbN+i0N}e at J{ALmEK8*5QXO&5rvZuAqvkm zg2HBwd&gesa}E+RCj at OXCkoo8L<qWaixtFVP6*z~oT$<}=@6puTqB}z(ji3Qxkgaf z%sK4V=Nu+vP6*m&P876Fi4b(<7AuI!oDjT|IZ>r|(ji3Qxkg0cq(g|pbB&-dnNx%& z;FVhhvL8|bmbNSZBil#UAaX-+ekz6%E~PQ+D00JuG}J^ZKNUS$}IxgMjDzfRc;Z zHqsDu<rV>LBMmUZV}Kn($FlRa*Kerk%pivw+Lt(X$ZP<i-5L~h6cCFEdts`8iKCe zBA{)gA?V620@_9z>a#1i2xuE=2)c5MfVPo_pewfsXo~c4Qok|ZEV7HU+tM|Hf+8-@ z>$KEqN)tgrk$0o;Tq7t at s41*BcbLeLTLd%;)B(D3i-5*xJ3v=%5zsbsCgXc=Z$7uB z&~uHTu$j}O;F8mGji9jU(1pTtjiA8jm-Axc-j3r!sQn_qG43wlwO<4{M%)Fw_KN^7 z!|ig11q%^%U#|=|1YY|^l)MZ#1YY|^fTJwyjs0$de#evCBB4LbCXM^qQYx075d^4a zd0M!mFFhj&P|@-<oxt@J2)w|T_psyF>D$|PJ3(|_sXp8&fTV7jweWBUe0CemRp9d z+=PNF(B^YvLFlQp&LBfiyOkQ;qDu{r-PDyS3j%Jj&{=1#U{T5 at J<B>@RX8w6MTG? zpg5e=vE;Jm+&E8(J6>RsI#j4}6jWE?yA>YF5wH7|yMMA<tEPd>9o)N}Mng~hX*8(B zpGJjr2ds!f#-B!oj6aPE8Q-mvlJTceA>&V at Lb}U25lY6NMupT*<9bXi<ajb!+yxq9 z?I*ND4jlFF0$%$?fMdX2z-zw<a2xKeyG@;ou=a}px8VlCYrhC^8*UK1_KND+_-}5 zvx<OA1meTkd*siXJK6VTkV^z4)(O3lV{^aWI%&;e@Rt*ST{gY%v=U;EOH#<;U|lk z_f(5QU|b_8%FtKi>qVDm=224P8$n{DcV1B~FB|#35hR$(b?NE}1y|v|uRy|0Zm;1P zU-MaTC7~P2%ubJF(<gse96?Sm}Z5QJ0<k7I|bkr at mwRyj@89bNGV#mMo?g7Rp-_9 z%29Z(5fpXwot9lpX}~ptq87@d;G*zcBPi<VgA|@?1Vt^>*qyHhGAep4##XmWp$i42 ziHM?(-iv~x at LVG(YN0x9l(rca6@-~-Gz!<7ptT9qR at qkqd=kN-TSD at HKHz1sOr4B z1L2a^bB&-tp*m7{tQWDP;PZ|QFyKq6i)OZ3ePoy!ihda;kiao)X{gEaJ1YbsA?5D zQMKG7sA@GjQMKG7s8EsV?E3zF^EL<9?i<b#G^j>rnuc=(4Jy%@rr{hxLuu4}QcT3 zNzZxCoA6wHP>w~zQ at V74cN~+%S<F7n+%+>@A>$oER7c;1sOcR+RO@%sOcR+MD1$| ziyZ2E#!9aUU}{kwu#?y at QMJ&VDXf?#2j$x6#={eRJe_ at c96MO1y*hm&_x at XD|F=+ z0lm4Iddq6C{&!~Hv0K02hI|A}Trc!r9SYvl>cs)v1tmJf)EK71a_QYf<l1HBCX|#d z3P4Yq9SaAJ8EhRR;IT+8c&_Fg#|U^#(oXP>V+6d7dAS~MW?e4Op(xfjg2YDNB2iR| zC$aH&BJq7AB5~ykO&)#U2ohH=mn0-t)TNs%L5RfnjfljRVBhI8mDWe~7yaC2nU*d| zNUkUnSAr0U?<>f~t*^}|<H at bN1lsLJjXiB~Hwmo^x}Ndnny)@Mb*Kb@juG&SNVxm z8V5+5s*a~l3XGnr)iaAPlK1j2DEb=<4YB;nhHLuYNqQOrX-n(K2;NN7pkV=3+W= zZ+39LM{=Ii!da)2$0;g1AB4!$Y^t)s?;l0tQX2y;kSxb6w9hf&%+8hJu^)dae-^ zShUT!@aBFTe(e_lj<wJP=Uzx%$d3b#9hE^zX)&)7eA6axpCk4Ckaz}Mi5}g<!N>D zNaB>95d;^d74h(dPWeSMEH5zZW5KA5d<hvd72)9>ls0Sfp;TtJtGL}kJiigI~yOL z_uoOo^{(|7;pJP9jjy+dLF at 0W%O!1m8{G%xI^p_*<#IlkDw_VJ|?v@EXqC+p!J8i z<&qj70knOQP9M3huF|<uHa>&x>)8e at KU!U3a*~%$(hQJ=#WpYw!IF~%%M}Ithw2-_ zb^8^sKFTjQ3kq`-*zP-0c&-r?*z!A4c&-8k7k&MmVv~IBi5_>B^Ce;FG%o4NZ~aQ= za8&k7y)mcM-_ngatNzk$<XPo+Xw7MC4CZ6CLbY(oh574$0Mwv|eIrOPExVHVz7Zst zm|aPH-v|<vtNf~CxV4v_5d;{1d0I^%&FD+d2m%bfJWVHXJp}?T2g?sfO3BT&*YeYj z<{ZgGC<Nz@pD?VWlRN~#I_S=2Xc6xLlDmUW*-OVIRxSCp25~9_?j)4^K-!Ka5+cV zY(}5MD?i!Q@@{|Mu33u~)^~IYK*P2DB3KLF|I~NnuYfr1^7A>>{*R(s44gj&lUlF zuWz=xU&80lW;g&@hWV5}R(fFetda(Ro at N4PotqyEdzYwOgKK}4feZa>CV9W1{Iu zv^*6p at RcsvCIde5i1f)T77t!tU#wXRetn8Jz&E6L1AYvOwcsb6SOb2Ti8bIDP=B+C zb-Xd;DWttz@;XFWZP^5OtMc+CHv54epm+jlFEuT!RLC|<MdG;)?z-r!<wMFuXq~z z^Z{?e59P3E at PPr|U_W|oaBAh#yReNd&W6lH(``UGAu<4d@P1N2|ftJABQiohz0=) zKi(povz5SpR@(I*3x=JBX7bFrm*KgZmGk<0qowk+slAOe9Oe(?fF?4I3WoNH_t$ z^1+{gpZ{Pjn8=cWKLftS!JYtl&mK45)nHBb>lwTazLCKjB)On>T=BUF-?QMM#=O4p zT5aJ3qBfBWj+ES+xV7Lz_%FqbKrXmf<ZU~zns9HfnP{q4fGh)DL=U=8@?0>NP3 z<j)#$@WI#ovql^XL?aG33);rOo=d>8nV at Aefy4XcWoXGrz>*PRA%#R#$%dek4KdB@ z(M4FrjL3?abTBV67t!rY(pfvHp4HS)qBWU1guBh!^Ie~80fL4PeQiluLv)gu<U{f z0rAb%EE__KMg$d&1Z&=ra)^B1g|;RlJk>dTXNoLOU at gelJgD(Z3 at OaI3?#DY{^HO z=Dg9CoHsfp=N+7q^A1kQc?Vl^{*uCK&KqsXd81Qu-oYt3 at 8Fc2cd#XYrfJR_ZOM6~ zQ*z$HDLL=pl$>|4CFiI7R&(BHOU at gelJgEu$$1B-<h+9|JtvcZ?q-njZVpV2dCt zgHv+e!IZq<o3GJaFq)DJMhnZgEep#VEi7-euzccMSl(!1d838pv(m!yMhnXuEi9ih z7M3?!Sl(!1TDf5ywSq)MuN3(^OEyeb0B!l0V(jkSR%Y=L}<}yOHPkjh|sVaCOg=Y z%MM6E?_?73Wh;Wq))HBsJkV>HSl$wuKNpelWku|%XteM2VeOblnjNWGJH67!hlE2T zzJn>>x#RoWbxmvJ%WsU+v2x~AITK$!BcF=zj?t_dExzSNITv5kqMMboujGrhCBI67 z)hL)KdHAy^C;6lzK;A at vyomt$6d*v}M1ZB0QoV30C^Ju at +JhN7htfJgP5vVP&gD zzU8m~EwW&>$buDKAi<XwUIW1zuqgO!{{~;?z<OYDzysdIpqc6Q2&_ZNK<_qSJuHKH zi}L$psP0!upacBt85Wgd9iHe1Muw0STxlEOQt&16cfH>)f9q5O(8hc6l1=v)f9q5 zO(8hc6w1|dKUFkWKAI;AVvA0FN;8FVxMPb9gspra42M<ECTP~Q1A{lg_6#7B#Ki_ zr8rT&R1cK0s!-+YE>t(V3&kZbv{6K|nPQR6H8?%;Cx&4j)0BN8rg>wn{Gr7cwCLO zkw${8d at hbXv3#<PHR9uGl7S!fQE7alj6VyE=BX;yjOQw53{f$oa^(Xla#yB%SPJtr z6I(?g>Pau3c}z$To&HLW#Ok2E(`DBvhW_}xfC``=aCi74i7-EW_)mjHQ?hPtie2# zpqOBQ<&&y@#DYJ2eZwC&50>Eb609AcWnc~XL;ETDk(SZvkq9RssmP;>VOEe^_|7X z0?1Ybm#v6wca4kKnjO(KJL20d*CMVM|{mryQxZ+7iuLXkRmHq0PyxWrIPo7TPAv zT4=v7Ybkf_N=Djy%NkM7a(gQ4KplkLTFW}1qACJyPi0RvTTodO?DAoc7ksm)?V|h% zqkZWnDDCKEPeN6y4Uen%A$LqF1iP@*!_Ychh|3x%?{fISzOo>$R3BCea>-r|DAK# z-ACsfwksFzhPk%Y+oskwd)v&~WCC$?FswWCtv?=FnGP5+)ZbL*$V!euih754PY<& zlP9>1Y(5!$xSLO(7?&&D7<P5JxZA=gP;9U0jM?C~<*u?-vAVv$85H0Ee}D1hBkUow zKmM}!--AC6_8#~5jsfW<R2_L>@Ld#AMNca;L}|6eHq>EbIU9KGo|=uvs at nj=$WKE zq95gf at 2lWX^T3BHIPCh%gTE28hPDx9Dl^m3Go_h|=(K$?PngkxlrgjeG7o&Hq&se- z%tL<)9gW;xVKY)D{x_oTguSXuKRmcj=_zmahEqxX4eS}M2~yBUPZe=)9_};Ip(~Th zj=Ng((7%C-72$DjY##hm6(1)Z_2$?-rqNT#QAsD9A@xNxRGDxd)ECpiP>ZP+kGA{f zss|MnR<8#pkWZni<?De8^i!y4D|D^e@L-(M_Q#TFW<PZ{{<VaEJ^TC5SNT2T(L^Lz z&H5mihy=8K+!ZLXYd;XXcH9N*Ym*SN0LOempwZIvG^~d^WyV0kFH+S0}LoMq&go zeD}hzCo;eg)khV7BUQ2Y)IePoDP6^Ev^P7HJK6iq)%F(N$UR+eH+e)iBj6E<sAI~y z?wsuH?Mr$Af{FE{HYF~2aXe2SsQp}BM%;=QQ$$G$IQzsnontU<QtRG!90Pc?ox| z5<m^)N(A>|49jo1ep at ef&fo-KYd(cmY&a^AezS)jYj-Un886!gbjcwCo~3lFoR z%-&~TyiC7d%&kMWbF63*fSY>vCS;^SjN7dWMUue?Hx*O_4>NVM2Ds-qracsXTsme z!YsDA;MX$v?C;q<fGo=@^O_%qC>i{HCO8aFGWcSfCku34GB{*Q9y$zsGCHJ79y;k zGWvM+Qyw}@nHFWU2e+A*sz$MS8aJlhIe%@G#+%;jbroWrvkN1-!@uhiQ at wj*AO< za}2rj!gYl#>}N9e&{g)jJ?=qmirqK8*h#5WrvVqIBCO6MQ00r{Ou++;I+Cs63&= zMWUQ!kyQC>7V4u|lYf2810IV?(_>?;4twQFWdn>cdWozYLG-G&vOsce_>e%&V56 zlqid%-29dfj0=X>zo8C}!dU(6hVRZvq7GbNj at xLO|=ESvdo<MNxe~&mQHD=xS6- z9bm|>fDl9Ws5A~SWRI!WDg(UxBCip^6{IqNjIT52NdOQ1rc}qchMtw8+M?^30ywU z0+;s(+1G^R!9P=kDd1frndnO6rDgvtXougu7Tcql393KsFkt?UY?Q%4|68D^l%G0 zOB$Mxi5XuMc{8%drVnp0-IT0j@!c+85)a%vJuUd)T8X1lhHVRUqPLPKh7KsJ{%q z$-HVk3czR9?l%GWabEIY>+tYup*(yY9$rwC2frV{&n^B_6(3)hlv(~g^;$C<UEbnH zFK)^$yxgod1+?@_@UTpXMMo$i}2Gv;71}nz5y#w8=M469VYIS!k1y?F^sfnAZ{?r zrx>anxHl at F<6x-8K~m9EgSleC5G>UPiPZxM$fdB5Ts^RWU<wNf1}`nkl}kxqk}I16 z#8Nm&tZWXDO5s4M;8kq7N<kc2Vr4UcPznVKl}!OUDHN!ad9hrkR9GFFRDF;PM;Z&N z)d$PLP-CGsXkL|<so0*f*P5DPA1shy3JtZyK4?HOg$6aNUJjV48t&-P@~kJG;YcHL z0~%%qggc0&fRJaMxui6j!E{9;z&y((7^)1IVz~?lLoEgr3E$P2Sr2$Erpc5~0Xd~ zpiuc72Sbg6q_Xdw%#>@Ygo0TGPaGEG53|f#8ICj_lB^e=gQ3P_Gi*OovTJ2(N0O~4 znG}#=3Wv?GOb*B}g~Q3POrFtHp>Z-SlLj(O;c+r7lLs<P;jtMu%FQrkrexOlL9hK z;jkH&$pIOra5x#3$upWNG){(P(m;kOJWhsX@<4_uJT}8JcO#FkVX-(cN@h|(hAA92 z!!kJ_!xRoD!!mhBQ-#LKuuK}rFonm-uuLAvFonlv*t6U|Ou3M-eOM+1WSGKXGc1z> zGECucGAxs4G*xJv49lc}3{!ZV49nz!3{!Y)h8^T)Sm1&PX5pC>kYNgk&9F=k$S{S& z$*@eG(Nv*vGAxq at GECudGAxq^GECvI8FrYPVag+MwhzmsfDBVOY=&iWK!zzCPKIUj zjHU{WlVO=OkYNgslVO=WkYNgs$*>~xYGO1|E+$Nd<x&h)4wGTI90x-!4l7mWw0Ja8 zX2n*jObU=n;jmI=a)49{hm|UGem9yZ(>p6wCIv{Pa9F7_IY26f!%CGoQ5j8?d5V=P zlLDktIIL8e93Yj#VWr9(aYqwnz_n6kQh-znhm|Um1Ef+otW=pp$7rIA99F7K3Xn?S zuu^4mfK&<xNoBtokvY$r!6TRIYD6zIaDzkPA<25-f!iDk56Xt$!^o5jUmBoEmQMj0 zrf{HK5cg83Wv=wnE@=T(iK7p2}~G<k3KeDLgjAdI$$HOyNP<=&L1p!HjN{(HA?h z9yo?72@2K&$-z*Iq*N>O4%g^L8GuW*GC4pkg``v~lLXXKNKh^OGEHV&ET%Q)O#U? z{XRDi!yp)mGr^_ZC;_lO6i3Ln!G|opYFNOlWPKZg5_Evh9Zvv at 6D<Vnfp19;9^?E zhffDx<!*#OgkEv)sg%4R6O!C!Msf&EFi5hv&8v<>m<I<*ZgWW>Yh{vqt5<fV07;l7 zyH+rN#j3Aj$yE%qILMM+FR%(Bvrx56v)c;3<TOZ<TPve*TY*S2DgaJE7PmoIvJ^L z1?yy*-+vth>jX%0>*OF<Cm2a)og4(~1S82M3D-$}JJ}D{31nC1n6e+Pll*qFAFh-9 zcCsI;6Z}SCcIR~nmso1&MJ&0sa){4-ioHFwc at s-!79ZjphqOEZRHU6+G;FCFZF^; z20@nWdcpm?L6+Pu><|;!YtYKg6{^@V!^LwX1AA7hxU@+i;X(8m;7#Q)S<oP_hYm- zU8@&pFFn*thxXD#y>w_VJ=9Bw_R>SWgxgCW6R~i6>0>4qZZCaI#lr2SkGWWQeCeZJ z!tJGxdI6eKI$dhUizq)4(%nsAKUNHUh?~~{SNIVzaQK0&|dQUvHcG1rH6Xy&|Z3| zmk#ZvhkEJIUV5mP4()}mU*LnKv&<WX&pNak%Qeq^*8qNbBrwl3J!c<rb!exwj<JAG zs%2_OAEeRdY4GKETF&Srt`0qe<;st%6Bk^4^buF6FCq<zD?hFdT-5LN5ZACn&ReeR zxH?h6g>N5Wb!cAHsrS&lI#I!ub{}DN$aoq>dI+l%RX>eu*eT)rX<RB*4^@QOAP*uv z)C;yEnSizfWWM=!gm-YHJA||sAd_IIGSEhVOooG@76XZtxzAvPZ=F&_$|L}h6b2G0 zlL16h7)Yet{o(si4XQ|)1R#>aKq6%_fJh1hiIlmedbF?XsHWzYNdO#3?xz}1Bj$B zph)A%WRd&HNxXfnB~uR^!;waUQuRPFw{t_TDO at m#Ty|>K&@O3P)i}PYUPrES_;YL zCRZnTHJB*Vc%J(i8NAge!DCI&SKHZUbHCo^?S&c5luio!5a20t->eH;#lkF;#Vq%I zSHKhKO;EMf_<E7~VU^JgZd^;XV^!;e2Le)vu$}Z25bUy3h_2yFdw<KzGrZ9+31;B) zKhJryw=aJB5Sz at Dh{l;SM7j|tg at Se856w{J!K&|v=U|8z9#TBDY?EBs@Ul>%sb$Nh z8PXk0iKmt=m*-%p#Z${R&YWtG at D09FIJIoKG>~lyPc2(64iFdQ_Gh9HY|K?b6B=q z8pt+<r<N_32eM7!LD}a0^li9Cpvl$&5*WCNIWQ8KRgGtNGb6+vgI~Xe2ce4L(>6M zJDD^fo5JJBmdOLMDLl1oeavuZe#2{KB(aBn at V=q^7X+5 at 8DFpsGpl%- at otSk*LuO z#&1o)X-Bj7gd<3uj2kCZh@y<zEl4Djv<?{;ek5yay5xO<|#&>wyIXQ&?)j7PAkt z%+0i;8QhN!tJVV(NT*QM()B<EYBY@TBn=5>z~m946T}O(_9AV-V_RIpScv!t0@$4 z4egizgp)Bb+|VZbt-ydP(C7bGtFFVycyzF3aO?yHB~V2oYadc!Igpa+&*>;&AjV z&;d_+=(R>OxP+2~!dX)vB+!c}EZ8dgV1W)qVZjarSeEPYW|n&ujXP)pn)Sg0Puwa* zR<=Hf;HgM$W<<LQaid)=Cn53D4<LpP);FomCGao<rE at Uxy&0qnp6uZJFDdJfNIH z<SLg*1j;Ey^Yu;c2sRNvH#X0sR6^I48Fd}oZTJnO=a}k%;&7(=_Lhyo{0|65Nha| zH+v5EZbV at g^GW7S7;MOLw+{FZc^P at 5ZfYocC_e@u4NHKZU4FQ&BjQhQA2L5tcewXd ztX)LUPM&8n{5-etPY?HwRQSx&KU4AZ?CY3@R>zF+&h%P*EgA$ba01OL(k0l!@Z$~ zzRA2yIo#XV;2*N#M;d(gFr{RC55ts#-or2 at qZiZskpwQ>#GZ1|1AgcZ!FoIUFz#V7 z<5}QNem^TjRvQj{m>i?H6EO+Z^lLLRr~0fat(@CI6ZK{%78+Gg7rWGYAGbB)_l9T zp4{YqNA4MH>6Ioebl0X27Enx~LB)Cr1~gM>P_t<t(Ttuc3(crmFD#&$LW7$1LIav9 zG;$0n|D8h@3YD&w(f%fpAM69c!LC)3r^4WaNoPikhzZW48G|uGd%PmlC~l{$L5z? z&D!p!bsq%y3KOvskRZF7wJWR*GGte?wxjW(50SK6u8S#*<ayP6qb^n6K2QvqAJl$^ z-<uU{8aS{yWOHb9L>ww6>pt#*kF;h-E3UoJzzV-284ecxgad2*3eRLQUgmx#aD;78 zto-HN*&%r~TTSk!v%zm4VLxjzhHaq5>iYg>P%Q4Y at b?!_K0X<gKmM}!--AC6_8y<= z at Z-n4=7BR at we*<_d<Q!I_%RdzP{l`)FF{;XdYhy^+}D)l0r<?~KUIg(V)mH1Mv2d9 z$mL&*_Q#ovH89T*mkf&0{w5P1CK($1WSEH$wJYLdpIX=(fSJSS2&a_NOaMF8o_OH9 zy9yEZsyz|Gmv<E+RBpVzTTZr_OGYE?J~Z8WVSzmu3Jt2(3k~eUP-y;sf0x;p;73hl zwE#c&eYh(AX12^MKR#_Dmmlym%a6AYHT=wl<)?evO!i at x4X@3_H~0AM+jX%W=gybm zSseK6vDoH%<GE44-wcngOt0q4^}~FVIseD;TMP%Dk-F|nH|-K&ve@*;18FQ)&t_Tt zt*?Nvxe$?^t=_G1@@i*MS2wG{YkS}k?i8AtEgUWWg7a3K$hzj{B<#z<9{k^vfBfOe zlK}eW#-VJ1qcsQHjfVjTb2 at tQQ!yFCtD<FTN{@67BpB{16xJb+;V3|Gl%Wz9@M!?Q z{bi=^`Gfe6L5a{KPou|>NZ^pk5R&OJN2l3pyZK3}2V+l<V0rhUSS$F(o{qn{+iJZK znKRI5Iy#y&(N~-}*h_v{_M{tRah4N?2QaA6ibA)J6mAd8ebMHIxqIBbnZfDzI(mC{ z*c}}%RJBon%<1yOb*hF==5%zt7<!nmrgsn5<3i(UIHoh=1!X73hGRM-UL$p4Y&fPf z)?&e&cT=wIaPyC*XF6vsSBSIena)`Y7UFDrrgOqZ0O)3zuA=UWj7vo^JQ!PlXwzLf zBRGHFfdhTgNv>yq|5+rdW3g at yPfWLZy_$6*F>Z+ at bC^a-HBtv+yb>v(4-M9c^>G*? zs~raU4sjSShb5*y;AA<DS}W_8NV2+HcZkDyB~rj(-+{t-B~rk^CQD_n-mH(q5LxB8 zGO@kI>-qH-)+lJY!gkZ1U&U8<D;;~52M<T)^ZnBKs3((Y$ee|~oGYpUJlM1Fb at UAE z;=XLRTz#W8tK5&;WiRLg_B?#;atrZuuD0-e?Sj$R)5{O)s?mv9=@gz;^*jt=WF^H zdwTiDtEravU@xq)4Dk at rXxS9&}dD^hFOr-(U3U<eKk|j(VT()UPniB2KoZt3MTjP z*J#c_zn-Y*XwE?|baXIhpueBptMFvcz+Y^2e6nZY&;G7eELbzJSK75cTs7oizgMxr zno;hBb}<dfoVhfpb3uVtdgtfkSsaq<CV5NdX46cvajv}GWQgeEmkmHJUTfR{?mk zXW(B?w6p<h4tAkpw{JRkU$&%1!d&G^@)s<<C21cj^+&X_c}V7GtdXwdn4N5^|U zdx|v1o?S!A^?YU2H5zej(o<Rj*m-4a_XQp9s92e@?UdsA2s0iKFIFvbTK?o)i(BY zMc{mO8fNSn__&ZGS0^poWua?VG=QFS-LW{*rAKo{+3#SbPEiKUdFXm4ya0l{ei#wn ztDR-(ksb#vhRQ0DISU;JIu$=}B!mL$)nFa6V$eq{V8|P at 06-sctwVYYtJ!;{6408C zJ-*gvQD{xa#$|LldC;1UjqB$!Hd@oMi}?~K8VY{tk-;%M(0cv?%^B$WxI*^^vd~xR z3h`(k>>2n+sx)BDz=j*%a^4hR&B0c4rpTF_6~*{SM at M^3*~dp}odSPWofh!Gf+jrk zJVW<+V4=6xtXXlf(XL_9nxXnety8e(V3#-i*t<BJ_5(IidaJd$SY)-)jh-uL&d~)5 zr)1(LtL)3!Qrpc&=Jc||)uV<^=5+LV at e_Q)P?pBn)A2U}d}B|?p9S!ZJsp1<z&G}E z{7o^}x&t!jpl_}gGxhcv?zkeCbQat|6=11c(phlJRDh*&NoOHB%$qmmM&UT6Gm#`A zCdVnAiDU^eIZo+JB+RvX=~B6*vydn{OXZTzLW1Zll}kDc%2B{adGusMk8}<cL+2<x z(m7BHoul+f=RmDsFvSNIb-AolIuq&<WOAI+nNXD=ljD@mL=A7g?Xa(TVZGA1P?{1& zt}53noeRYYbGcsWT&UsXZgn$%Kc8y16nwvQK2)d+pYNB>=azdIXk=x%+D}_|zotMw zc%_4!BGw^2B2-3Yuny at Am{}@=bx3DG5oT-nz>TgGxumn85CN9TC7lJu2(VNx=`5t! z<D?jWm<3fU-O|}emJ&v;BhM|JjpPZld2Z=!Huv_!xwoG=LxHT&SZwa)u-L@XSSpuH z#Z3KZOiqgC#N;HE#^$-D$L1uJ#^$-Dv)SAmg>!F|pL-gM&Al8Jn^+o4<&vqG$vut9 z$-SJIoTSp&Jh$}NoTSp&JhyZ<n|s=}>B=RY#U_@<Qn{qF*u>IUDwlK?C#f_h&n=zJ zNh*!ab4zD)l1gLq+|t=>Vm%A at d(ZOwJ&ncYUJi>*ERCgd$yChrdm59IdpR*VNu{xQ zZt1Z(Nu{xQZs}|`_YT6jcaWcZ8jH=n92T2c8cXGpshG(<jmgQqoS2-X(%3w=^w^xF z(%3w=bT*rNhvD2i%+EcI#pYfPi%l$zrE<ws%;cWN<m6sXOiog1Y@S<sY)(>XY at S;> zo5{UGyQ-;N(pgMmsVtRCI*Umxm8Eh?XR&f<bMeY0oyE$bu~aVUELIMUrE*DUv2tiL z$jT+1#mb?vR4(Z(Rt}A&a!F^ga%l6O$|aq}%Av7TF6k^*4vnR9NoTQgXrp!IlFnk~ z&{!&$bQUXz#!|VYvsgK_F{W}!XR&f<ER{<-i<LuTsa(=oNRG#e38-=-tD=ivym)e zHqR}cjpPZld2Z=!DA5!az5_E}a!F at FX#y;jOF9cm5@4xZ(phX$nXkGBbC3V{d-wa3 zHmO2vo?CisHmO2vo?AK_D!H5&lhA!^<CD&V;)Hl=pL8CSCB#$vr1O-zg>EcjS#s; zmzroiwNH9Hr6w9r?UT-fx~(_x1unhSl1m=ThuNgVE|=0PoeR}3QRJXpuXHY~fiRcr zmCm)i$7d*&da at 3g3K|=Q$)OqP9zn%vt5X8jr6+6xJu3=Qa=u at _<h^&*E0E5{l<G zpXas%5BQ|Va}V_!tRTlJpGmEvk}0c>N)WY at 9H$;)(yFOs%Bm--rfG+EL_X;eSst~L zYM*Q#wTjA^bMm_^t5!j^PhLFJ4*i_*$>s^x5AbBQA=CuR8q&@9<j2#2C%gT?(K0O zknzckXNua(^BmHae6o4M^#d{Iwja<WI1U+~ta!%3aRJfo${GNRYXj=ZO9ZikldwH z4>5IN%56tQmwGClvSK2TP(77SAnh4WMax}O{TbkdMcf=VuG{^cX*{!K2xZkh^dG6 zL>-#ixtf?V>&X;1P*0^(mU>Xx;d&~a@|i;QL=E$WQrS5uXO4mrY=mm{oa at +M1g_5 zbjpf}KtlCYI^{EkaKg<c6-7pXr4=OqonYmwGClveYAxP(77SAngDGBNdUZ|c- zOqonj+2MY#bjnhXKtlCYI^{Ek>dC~^hkBuUGBITL1l;QsdUOxk3d58R66A|h3d(~ z)Q5VZdNMI(GC^h20>olEooV+;=_<-~%~G;vovW|M@L16pA|BtYpj)PPpsWyCDwjo zg<S0#Yvr0BD?xROwQ|j8h1SwF*2=Xf)^4#9YajJW{c5*Z9oO7gEmW6S9oKx;su2dR z-f%6cY}!4sc8j&Q_6o9f&0)tiKh~-dh83<{^I5A#7-p?pdt&WauUHv*?KRX$jXgao zQ$AV1-15_2jNk^AoOe6Z4hxOJI;3kvdn+^s>yXYsDrwt0tV22jiJ&o9hja!KL1VBE z=?o-7X#f8*_gQTKkedUkl*2$GXbjdNQzdPmJjs~*RPj<{AeC|$NCb_+I^?M|o=g_% zH(X&ykMT+8KBB!wNE+^3KHU}ebRX_d4T6uds$=clg?uQF&^gbRMgT%2WHK^K5QZ z#lV5{V<-ZpHwpTbbPGOD#1cZ0^@vrE~QC()qAnfv-?sCha(7GffsV^#yO1%ebYp zmHMp4*9+~7L%v at +pDp$*#OM2^^I<!|JPGmne(8MI@EOd%DfwvZx%lA^#Tp*()4JtL zo4b6x7pr?p7-Mac>A9rg_Yfb&2vj<!>aDU=DDS_)e;5w%$qiTRK}Uk;>+|rL)x% zscfEGI$N#eSew#&Zs}~bL at Jx-md;j7q_TN#>1?$`!PmptoXmYBp at PvbV=A}w*lLN? z*gUs%HdJ!nt)Hyi(%CTCDi~eK$}OD at C8}U#HqR}c%~3Mcx^1CybFzYwV{-)0VRIzX zV)NYkP%=2{sYSQ0>8!O>LDrUQI%_RikhSHS&Px5~?E3zF=%KrYV>%;BHtoXLa7<@J zxjHd69Mc&o8AC4|cbw9hC;>xEj#D}lC0&TgaY|>Zg;~r#%(R_ZP0wBTA~nV(=(m3 z7AwTr^i1bO#irAZa#>e;q;sGI!Eb|&Vh>P9HmD(2i*MGjP|eAiddCPI!h5|sa(=o zHaAmsEf&pL=;~vwH*oJa9UZe}xl|vVtz6PsFz+X!{>^bpXTrh;nH;BdCTs&iCdVnA z$qKVvk2kZ>G7FT*la((d4hbtUpk)^DahyhrSrLZY7=eWFP+cTN#pbV()nDSG(O)i zozK-tyFcjrrSrKuX?(t4I-jeP#^?K^Uc>c%CLym3~cpw(HyK9*y|f at LJ0-Wd5nC1 ztGzV<tr;bstJq-8!Pah{&F49aFXj{Nt?coOAe<$D2Yhsbo4?mJDIc4wXy^HLq?rW zZy(CrB;2<U$(&wxJYCBfW6!{!>!n9?9=ck3fX~VKsoH~~HK*))$+NK6H=A)6wMhW zU*Bl?4(M6=4u#V$aj at _?*Em?b06y5W)X_#JpwAhZrs~Lq){K&?Bhxf%WGbfW=t1W6 zk}q_0GN+^C+-|*{g<ccrxuvt=%(VlX=a$Zf^T-Zto?AK_7J4%-)Fpu0C!GhYBE(bs zr1PLGA)eYNod-3UZx`2-oA=5j$@NO-LS4dKu2(u2Y7^#iz0$c*ooOcxORsb;RHsDI zZ{?L<>0GEzi6V2kUg=zOBvLZa*wgXX0eoXm$KN2nx~yd!G8wdm5Gq2>o!f_iM#i2V z!5kZ;R>x#d$6p8VjXfQIgZOG48;48=wT_V?tBwO2J&-*;g2fcZe5H<!Jstn{fl4 at 5 zC@PmM7HkUv7UPo6g5$<y9lV$Cxuvt=$kBn#b4zE#QK18y=a$YkS&WzJ2S%+!I>U0# zZbN;&p4?4m at KRl8^QleE?ypc at jvtkDMr&5NwM9WFc+PblluboPb9&iVh1LMknuV>E z9Kdr*Ud$e~6-_dymwhqXA8RW-#-5H}jP^GgzOiTFPlf>kbVz5wF0-)r5Y^$-^GoN$ zPO}T2 at 0ZSp-DVd)-!GjH^&D^SI(%2Y^h)PKjY<^xs>Ah4=R$qLT&C-*Wd5&v>u1d zS?Jo!q5(bURneQ-QY$-|)5{L0Yh@>M4!X8ry_w~#S3khnN{(h>Z|(v6ab0Z3>V(>J zOIPWk8=L2r&IZp7O|Rz5^}~FlTYKR>1^;E8(emVrS$#M6i1^CqCaVo$q0 at EZ{M$ zaDWX*h4EjXeEqwDncNPx__W+tgTe2<e)0sfaXuM5!ZT(t{kk)=UwSlgHC_zN@8U22 zJ^16<CDSQ<KW+BkCTUg*Lu0a(;Yyc?GkgIZVY1Xzp<QOK=$s_RL>)CXL6PCS at kk zgMXk8plxnu92gunAV0o6eRX+!_4>p>lde2XO~z1{_f=)4<B4L_^E(DjUa&Qfx1s< z1W^1OvZ}^7lbvL()yxUlMIWP!+j3bSOj%Wj?d3Mb&R*pb0pCm#jqUdBu^!hr!ge% zrH-4fssDSl7T6P2;B8}9!1q2qhxyw==LZI_ZX$zqaxjGwcY&0)ejkrY<~WdK^ACv z_n}yGfMnnR$shx6?zU{FgU2~IJg%V41T;7<BuTs50biZrs}-lfCYHlprD&x52JTL? z9B}-;b0GdL?l#4J9~ACnvq1qDw?Dc$GN)2<FfK_Da)eaaSjcS%V=<!^wq<BHNAVl zkL$2Pzy(L!7<>aR_!5k!39u&3onssB#z7Xkh$OjD8Pl6NIIAAA#>Fl!dzps)kP#1 zF0xuha*^q38AZBUC6TV-BGc7MigdM5B3;8prW;SEe7^#Qs}(048C1Zzh&UG^!6IW z&;I^1k9qyfhl8aUibXs_|?hx#%O1b2&2-hX1&k=j7BqGEcjr+!0ST>Ssv)X1j!e7 z<LTTE>;8a?=V*n5 at slqk82CbxKtbig+ii5gj5T;x?A&w1OuD9a9j%-#!?;+3>L4I zXWT%palrT>=um9$HZ#7q at FWcsF7dzG-r~jZdb_DRM7;8^4s&hUbCBx}uIV{=ywq3W zJqH;cdX#xx==ur}k8EQ<0{%xf?G;>OC3-sU2%Uclus at moD+uzC&*|Z#Up!F2L!x zkIJ<OBC?kVI-+tlfQanHjgF{X$3SGUQPU~1j%bdInoiLXBcnz{CF=2N%4N>=e9I= z%6*!yF-5*}I*Gcy2}pPD3T6Z7F$xL1Wx-%{W}EGGF_$iY7vH;%Gaw|9~^+9#PPlt z4nR>j7TZ4J02GDedLnYzZm%^MauotF8cER)NuiOvpWTZr(seBt3gRfSEVlj7AdW&a z#akW6x+CFqA;x3E7R*ZhLv&|eEq%;hW8r7g1s<|jA7y4qi=M55CglC5lI0kN=-m2 z^ibJ=qHv5?>{?x99Dt&5tnT{BDS%N}gmv at SNW3orHftU3Vz7(zkt7JCL~=dpq1vzA zPdzl_xGwr&aPPC8Q^N0r}$Z1I_ElFyl5BimcW4C3khDb%OvmnApsbLWU=if5d9O z at SesVS1DvL)5zAK&fWuZH at P+{o^G6oERS{_q8rVl!UH>~0*AD>~$WUAd3U5ESxlO zn44eYnv9q+f8~JwdcRx?61Nr+{;FU<O5l&3(H~a{AxKnSt0|c1Q}F7evSv{6>L3 zK>>ut5KaPI(qhYpizi}L!CCCZ5FQuMl#7_fks#g?Uo>!6igtI$-t=0)aiOZuU%!51 zOm at u^eRT$*2gMVAj$u)|P(*vrcW}}fFnnQi-}xv;Bl at xY4K4^4zLQN7+9=2wm-9a zn={n%34$w#s<d#PFmx!0>L>x{2_v3 at s19zc*?X>1;4oJwa99>_%uiedDDak{U^SR6 zRoS}yn#HwaF;QTFn1h1D_nWAdW09elFL7YySgeVY(wgLg7sCU#z2I>c5RNNoLf4Gz z*DRXaHN#mecCnNU0^UklEiI1tSozKwyp>1cGMw?4VJ=%}=>z3%*t*C}rMJ6yu{f zF!0w(Ha_AjKq?#ft8l#j;|-r3g|~^lG0iN5#&A2o*%oYaXfw8A!(MR}gvKtg!Wl}a z8@?J4PC(P at VKZjiy@KXG7tt1uuZG2fuLd}-MLOouHe((Qj%#QO0Zk~|Ml0KLwq$qt z;BhWP at VHzyxO`yI at HmHt$7Qs6 at zaV;IWll~WRL+j5+EMu at aO~?Zx)M3C&+lySUfsG z#@iHgwvFL&KHRy|#Bfu|V#eQL!L1 at _<57)GE+_6Ek&tm$h=g3)WMtebA|c}j5DB@o z$;hMzy~mL2cSsMiii$Mff!OGRND~pCA{X&%t6Y9kM#QK1Mf}<-<C8wu{G^uD0h_1| z*koi<MnI;>1?18uBa<cqGQ}()mo^z0)qshQlq$lU2z3IJ42x0-uo$fXYfUmN>L9>k zr~<4t$*?E_j31M&&?&*|N69Lsg|W)sD_M>QOo$XRmMkIWPA)?#;>h1KI*fWZ?$cY z)+{Mx%yc_q)?y=3WZ~qDNrSa0)<d09J5S;LQU>gH}m)NDZ7e_4X1LD#Ht)*B9yCg z;~Fn2QaNx$oX!}Ml|Gz+=zx8k>{Wjt=an;2(V_a3XDa at M3s0<jGo6d78w(>h{wbX z;W3Rx#)LS&nyn|IzG#!AMVpL_3P{Kpsf1kGWMtGqLdJL{<kBW1lNyhcV*FtyDM at U zD%LKukTMDjDWI^pcA14#Qdme0g~heYEH;1krS=JRVIO$$m&LICpiM?5mB52TCItlK z(k3I5G6FJ1Eg+XR8QIAnw%io8(Og!=+GQ3}#(IhBC at iE<kcCuISV#?p#kI?^*!&rB zao8Lgi7jnC8Og|5_oXPHb+?G(k3I5G6FJ14K}XKrA<b5@o+AlRqqjYnNF_8B=pC z3n^gjTpX@lW+9an7E(iDaqTh-DYl-ln=nZYuyHYzHW`^z5|Bv&0lBov$fS&bOi>HS zrA<aAHH at aRBGxXdV(l^uDWkBE0t$<3msv<9g@x2mSX{fzV)N%2*Gt$Oc_u2go;;J0 zNhR>$kVyfsamb}jMkZwhWQtlqE^RWhlRs>^NfDztTXxqjvyd_tMN~&&A%(16W+9an z7E(iDaqTh-DYl**aB+|tVB>1Jw8_Y%l7MV;gheiGGBPP6AXC&rnM<3DOllZSWksxA zRK?n57E(rGAq5l*DkY=N(u|9p|H4inZ at SMp^sqEhS0p^Qu_fd_|73V@A6E^RV0 zDI*|L)B<v8laZbLVarXe#%Ru#-L=asq>M!o)lpbTA#0aeNF{}Z)KFMlyUb$pr;x8U z)fhf0X7+#R00oCApzOskA_Uj2*?z*fLz+-GFvs+SuN$px{&A1V3U!p8Z5Gnm_;sa zGO|^JMYa*M$fZq2wra>T!F8d`jSJ=3EUN~KY$IloOPgF~s|Jf~BW96Hn~ZGLkmoh) zLY~urO-8nAu*f!I7P+*^$W{#&*+$GFmo^#Msv(ck>w=wK*j98PBU?3CWE(MyT-s!0 zs|Jf~BW96Hn~ZGLkjI>LA&)m;laZ|&EV7N5MJ{bJvQ>jcwh^<)rA<aAH6ADQ@c^#( zryQ_$ZU*7nWfoFKVIc(+7S}GbkV*;*siCmAc9{hgo5FIYq!!vFrO+lLqe>DoDj*@3 zHW?X}k&rQJ3Awb%$TolIv%Zod at H#HCORAK1nFW<8y*L(BptN%=u3ct9l}Z$j1=T3+ z9E)q0Sx~X%yqJhL?#RgDV_PGm430vH;HZKKUKwR@)JFuz;6?DtD1(=>i1%U;T)aI+ zMj5=6g#|AoXTd9 at 3|8 at f|rrA;FVDZM_JaJIr~^Q<^$TKTtS<T{9!iH?zUUAgm29< z1<I~aptcHyW0omUe1!rPRwx{^OtHMj$5*@#fevx97~cR^5rL)bO$RQ2BMBTBu@{o zsg~)h@%XC-n0>|Kay%IxT#d&<uwc3BfPL#1v^(}~hjQO~a(2gF+y*tdO~t-du<xNd z(gepdLyDK^@sgM5n&u_?B3hUdT~ob8kC(kf*K{Y at r+S{VeJQCv4d?mvD^+w2ThqKO zw<fuUttoD?Rlzmvkls_hUzv*i$~4 at s0Jf&LiXGA$%dP0GVu$pa;IVk_15!yD%K^u z$}QB7!)xGFy*2Eh-cW8$6Ae44H<UXSJD~SC(2tMhkrPcJ$q8Q3JOm$5-IQLICIlZ4 z-jqHaKA?S(u6 at x#dxB5Xp5O!8o6;wVV at j_~FrZU6rB8<sXb)AZb~KPVQj0}XhrCz& znh<<IdsBK<9KH0q_5o=IKk5E@KCj>+C%09wI_Hz?<H{vKA^oReUkR3^c}=W)83R zhaZ2XPiV$h;>-X|;k?)9G$Hta_NMfj_JPuO5J%NshY$2QMY{Gy2ki-7&3m!*1Rv1e zls-v&Q+i!{Q~GrHfcB6%fj&o^SwhYRy7JTwU_!Ff)8kKO0SBe!UyL$I5SR%4>fn zo2orzPEdP-Pt%^@1KOL?Cy8T9AI$qy?M>-*c++DpzFJJDGxmlLEsu>C;clN0)b*yC zYtBFQ8^Hw#VXoWkxS;Mk#zkCNaS>OixE8nB^>y1dF5=3H3p$s at v{PKS*>OQn)3v^k zD=RMI>JS(9Z5@M at 1Q&8q2&t273S&SEu%+a&>KAc(K%>zQSCc;_B4CR4&SS=uty z6x3IjJPdPnimOxmQn|XeFC4P6>nqrA=!4c3v!zS_nL)5~Qj=-S?I6h1(~|+7Fa1 zmDm2^ea9t>iT4zjET*x at 8HqO<c}%>C$YUCdj7hPxw~g`E?vlM{Y%DS+#m-_<ge<19 z$e0v6i%Ai(n8qSwQta%8Q;Lwik7+D2CdJNTQiLp~vB;PdJBvvXvY5sqV^ZwwCQyoy z-2!SXGA6~&Vp4=Grm@JF6g!Ja5we)ZB4c9g<H=;fe?<z?o{Ze>W>kQTGB}DLf at 8EI zcx9BqQ4J9s!xq6SqYQ3kxn*B%WFx<2-<DJvWpFDC4{jsp!7HN-Ze)YZR9+7Wt71; zH@qM>R*KduVq33C1q2!XVLa#Gl8**12k8VE4{MP=WVyLtZ at Fy=SXq?=N8mZgL|CJM z10NgZSg_WNm7}PwLHx;L#=o at 1Vvt?oAiK;%C*9egK~kCYLElR<2lGgR<4;yWaBXo z9FgZB6JcY(`W1;V=PL(}$a9d1uHj2Qf8!)00|!io03iQqBXcJEwIpkjVX=y*<TYj| zWLSZvoh!9#mszlWOB7BNti96CvAA}b1uM5i;aIThN;}8m+GUnnF?oxqVVSTK*;=tl zV2WI#aIw^i@GP!fj-^(NkEK?GXL0Q^ORd<Lout-^jM=HGYnNFd;<ENxmRb>>#kI>U zwPJiMwIV!=YnNGS#pJia*z5=>7J4g8i4w>$mZerqW2qJ6W2qJ4w-38^U9owfA1m!# z+s7O$?J^7ISmAxR at ylhRIIeiET~xN#j&6wrJZAO?J^7Im_=dRi=zlz>tJPaTH@& z97R|b*DkX-im at z?A}ot*msx7X<oQFbiab|opAs6dNO0Jkj&Whkr_xWyV@9nX&03 zGoq@~+4cQ<^%<4ggUfhSwDyp>P|w<rYg?#P?ZI*R9x at jyStD^=s8Q{~arquH7iu^c zUzSPvCcZ4Qw#xXZn~aZ&7%LY;ZI$s+D;XbEknwA)j9=@sn0=VBo84;}$c2lf;Ud%3 za*1@cDk5FOMW(CO6X|M^M7oBHOow7lryDM#Q6Vr%;(<wqMbQLUR6>BYCK(pR5nwT5 z0oIyiSXhYPjP}1;b1E3y)tZx`w8_YYf^2L&a%q#1H#bv$RS%AvvUXXnnck at k{F6{O z<^GdS49Zhcm?g_4|GX9E0@^s;OPf-5K%S_5sIhYBnD at pi<73HXd@P@gUt48-OmrC^ z6I#Zvtuj6~dq7yO$D5hBR8To6Dj5Ws$O<JBSv8CUN8~xkL{>4G$jTxUc at 8p>D;+yO zwfRFt>;%<wkcnLBSRz*$mdJCEiCpPeB3Buf$a9d1T<O@mJgzeA%^uG|CUT?iCkq^ zBF{l4a;0O5TxD1y&p{@duWz~X+9ZGZf9JxffE!o{sw}AcB?Gx0~I?9GjLanyUE{# z5-JZI&TsvvK<%T3A<SFl%bN3f669QkWN(?+QqET&*udwCn2Y&@z0Cl}?f2yT+w<rz zS2S23xV%x&ly77dLfPOrTQ>BU%LZ1qYzmrEw(0Ey)Qo1*h26OxpZh{>sAL;YIZu; zN(eV9*trg#rIZq^N+~r^t)zVSU?K-hHmj#v7crgdrQ{K{b~0VxuvaZoNIIFuE at B) zVN+2C(=rjL*r~aUwo#_xaMnX4+=C9scGk9XrOp~kp>)<$zOxQtYMu3z at 2o?RT4!BM zK}d@b2)>@<(ydvXn34M!{ag<&REvlnfPiToR5@t4&AlOEI0uxQMh3Nr&pz&V{z>= z3r>nk6pjU_Jf)puaqTh-#<Cd~{M92Cl#CpHWt73OIz({PS_H3*GC1lZf@AO^cx9Bq zQI33aXq<VKk<mMTeBpMHOmwzjzWP7C=xara*}l3e-WNaLh6V3N_V*vSvvrYnCZc zD1!*P$(R;Oo2iv6sUwk;h1HLIRbF)m<*gaWRL;Z65s|693Y(1JZf?GKPdP6<G= z7sFy9$)J6=LkjyrDkK@?GS0CHuoZ&_PDeUJ23$*k8wrrkkOApDzG5Uqb4mbuNW0l zs~9Ql2MLi3av2v>7~Z&wAp=)2WRL-GABd6t>SSp%u&pK8=NHGXPQEur%UEX43!Ua zQsN^U7X~1cO-9CEce0jmN8<QY+BpW-F0)|ATcU9FfL&{8=U803%z}MyiNdj9?^@b9 z7S}GbOcvuM|8XL+aKPpi8FD#aapi@>%Q1T)4;BS&{1}NgR=#%+RO~8^S~z8e1|o{Z zgEQo4R|VTD;4oJca9D+6izZ_!<tpIwrd%}?Y=xq?TrhaE8UGPkGHK{K?Z~mL~qyy z05WiZWKaPoLkSTq0wh>uOzfHpdryQPV4yu$4jcn^PL+d9guPSc#?={iKa~SV<T=Ph z*g;h|91-?Fl><lQImkpP-FSPaeQnX2ITDo3nq>+UO$+V6bi>IQ=nW51!|#CIA)pR z at Ar3Xlb_Dn6)<#H!Th%y+BI?+OnJfKX10te8M@0Q18Ypl&|L##7y33cerv)^S?7D0 zu~2ZB%S$+{l<FSeU%M{0V|S{zxrbBiQ4Z3z%h(SrHXK#4UAv48TiK^q^X2+szHz3g zHghgck6&D!y?pb-*~KYaeCK4D0v?orCF_<pmgDmD?enYCAKzTQJ$}oQc&E!Olf_11 zIXS=3S-jI_mWR!<_?sNe4;L>l|3i(&2VjVv{NoQ#p3GMF%fTZ&$^i3)yY=L5I=h-r z2Opmd2Cv_oynb;C6emAmjo6<T-;#9IuNUsm%RgV99G{;%?)Y;^w;$~pc;KkvK(GII z>_4{7__2A)kM23Auijq#*};7IcIc{oZlC(-+CdOwtil{a^1iE;kEzso%8d2wC{!N z|Gc=oxccGj)r;3ZJU_m4{eF-PKT3ug3KI6>ty6>=t7)mhnwH}iFT5b(_nCL#RRZD zmw({Zsej<?{M>T at C430b-E)B7zQe26Z#;*K)3 at I5%O>K*yNj#0-(%<S=Iw>6fN&h6 za@^qO%f at fVdin0T^9y``bQ2YSyGe$>-7JK&J%9Y|r~ic|M=AlhwZf+&5zzMs0g>r z&tIK-Kfm*Tp1<|1&rkfHm)_6sPTzUI&)@pLPyf>?ArX3zVm*ayZQJWa9vkb$=ee zavSIKSFe3wzr%Rs`2~ziHr68()|S~>;8m<b$@>6|2%)|TCpFZ``K>4;~qHu(H94@ z-vR%3_uoG{KhB2-o~H2Is{?E_uKQ@;&4lwK|K!)N-G1yGe)=)uk?*{?u+2I6 at Y5Fw z4)_poz*hzi_{zOH{mwx=_No9{v}1$z?EJbsd)XKbE{6wh;jp>8{-ga at Zi~D;@~oGx zP?wi(ZCqX+A2ok_NSDVRlvkCP7jA}KUU)zk$8G7&pnt6AN9hszC3;D4myxd?$5K! zKfiKmFB-p38^2#PeqUUkx#h&M;{4R>VQRW9Kz9|afnVldHwE{TXA%1^B|qvJV>WM z_ws{I_7Bmi{vkZ^^4P6WJkLLZr};<lEYS7jts6U@*gA;kwhmHh&)za4^LgtimAQ2k z5l&veu6O*vlnh>fo0&1yZ*F)t(-T3{~Na}Ljdmp at _Ppm>h#Tti-IRL4&iByLv-Sg zCzr>6I&GcYK1=}Z!<K#DX$_X$J!IM4Lk_!pm*k{?qP@BJ#5+OO$1g!%kCbs?Cv3l z-97BEyN4Zi_poJm2Y1Wv9<uE2A&1>P?6A9s9dGyWv7oqLVl)EW3NiVRsKZ?CxQQ z-92pC58Cza9<uE2A&1>P?6A9s9dGyWj}1QyN4{hd&psT4?FDcVTav4Y}hZ|L?nPW z-XX*89kM67Ib=_C57slL-s_st6DCA$y{G$e!rdoITM!WKVPt*%MvS?TPLod!l>D zp6KdjPjnC26Wv2};*TePg8B4CvtHYW37~x#L0&*V*8pf7!jl_^Ec?mvyVlhiT<A6r zTlVH*1bKOOdD0vKn#b_;=CShJW><U?y>S*_ZXi0=Hkq~j=)2IIz3^AwDwViY#)93 z4yUY+kaXbEKj4nHV81#(zVhZ!_SpBFAKe19Jy+ at H9(%_DmIpn=^58jl`uFZZf_%Z0 z at x_&gSo$&Nw(wpsF~hMI9{M%$(64ojDIZ*<xADM_Ik$;-%vA~<Y$6)Z2Bh(99K7T( z>0lGncygyR<!lEI?Cr?uU^8^%*(PdZLXp~-bg+qOJR6wDS4@S|!Dj5nlRLc``z41- z2b-A2vw>+m8wY{C9XlOtVj55Gbf%nbOkn5qMD_-z at oXG4DxFQzj$%#_S?_|Ytxx zQB<0~m(L;-f7bc;G8dZov%Z(lA^EOY9(-46MvQ%7wRmO5Y?8sq__Z3K8uN~SxHT zXcTJ=f9?SqzuW_KiaVO&bm66YfKG7_&?(L7*Gu;Ro#Gy#Q{*PvA7556!!q0a(r at f z?ymXbS<Pd3V)K|i_j9)z@F<Jv*&upF2427IzIDO@(}s#)!WmHi+69{I)gEy!*RHm z(LQ)e(GIPml&^(pP##{cNXKcc^pfLoXz9UVFC6(96I{#E!-m03p#x4);SU}hmnUl zT!XYR>s>qT!VOrYmj3%m7J2ehieeey9V**WHpF)xCZeKBgh%A33Chn8OZ;TW+dB zgY6!6K-|MMNULgVpq8lyYne!&)93HLYtD>GA<jS=aRw?|b6JT>)jUY$X&$UkKR^A zsXP6wFAYdsA-|NT9+mMg$hOD9NoRG1|X+<Ft^=_MwY!U${LC{B-B>SlX8_TT}a! zX1wUvI*3JT9mH7R;LA717pKiO$sM;KEq at osO)6Uw@^_EBIPP&5$L+CQ9QU}3;~qbI z^Q|NFnb)O)%}s%@7?Q~vorsf+xwoMow)re{QSWox%92@)3v_%{s(uh8GpLaFV1{3 z{PfIT058rw+naAMoMOCq^R34VRyU*2-1zN^@xl}1g(t at 43qO4SC)UuLx2Mf3cC1k5 zFxDG$7-o!FTD&$;N~$ry?G4JJ$rlp{N!8rMg*SSK8okJk0Qbg7NLC<5!y%3 at Q_m( zZyLWZ@VDE}=z!Y*erTL=hQ)Ld8^15w}*%aJjBKs=Wv(Q9p}IQ;Rp0^Z(+b8EQWgs zwK;jy>f@<hwhyB^jQ7d;@k?*HsJB>Oa0}sdyfokZc_xK}5VMTRQmV8ZY5KilZ6a zP4n-;!0j}*1;HJrlc9S6gT1u9q9>(r9K+ at O5$E{rYvxu&zT_xkN)So*KT0&(_M49 zIDP3_;iqqP-LA)-Cuai+}-3-t{L-(oBM98cWbMRJ>J^fQlfjiQD|eyzdrf;cZ18t z-S+pzdN!Hg%qIi0zhnTfgokY=gPZ%+WIMlG6<-Yozx(>h6WqQPVm~yCwLk>?OAN$ z#YW&+X?t>%Y7<fSzXXfNQb(;tB3mncob4|W(Tn8F^Gy{r24_p|Nbx8yeX;~xim zUx4d?Hn-s4?ny)Kq<{JN<X?REebwENz$y4&&9YHXLK2T<DZ3B;&;KE3#5Z9VG0rR5 z3sA?nQiYkt8&v1-247R=hE$$7$zWJg8=ov_GmG+3<D+86tNZ<cByEilBk=??09p z|LCm5s6Qp}M*5F?Wf9!0k?8|Ae^UhIGh}Wa}<X|ax`QmoZ)^6gxbRYV|BYR$}NXt z^pghmFI>I>!0sRv;KxR_DlJN@)~(*Q8sXD6fHHVDVi|_3RoXoe2g6k=Z90g9;p&w3 zD#XDYG3^#N9>$>zxu9?#MkEXu6z<=Mgn7mU1^Z=6l;~WiVts6+shlV<+TnnL<DL22 z&96XqH_{X~eU_!}2EtVYT=7PtJY@vDfQy{CvT)S^DDO&?W8a#N=*+H^*bC$V05C zev3l$VQ4uAfRMmdS?>HOvX6~~P-?b4ZIENFvd1r^-QjDrtEV<H>97w{vym)X<O9qf zzx=pwDoW$SvixSA6%foPvKQ<<Jhpo9~(6)a}FtuFkO7&azzRib5lt{qFibtl?z#j zWD}hJs;mBPEl-BA!L%9CoGB54FkK9Hpc6V2ng&r+YqqpHUa~cMvRZ<FIQE$f$n7_ z&*h~l9+K8d$y-KOGs4MO-WL8<=W4R3-)S8v5hj>o=34gZLr<WNBWeZ+fs5HLl5X zoz!Vu)gMAHu^bO6NrlX$d6j?&uLunL&nD|qR33Q<%7UFPaFnySS<3)iH}BIw=Ig zQ$EJDZ05S7Ty2XAgXVO86lUEo3Z<E|F$qh{kWp-m@^5gRF$#o9ds?iF0$~!L)Eh>j zeA8||<uYj$&X7q8vn(73lheD>GIbmslY+Fk9f!h9XlbQ64uwfAvyN_IBAPWOn9!F zdN+9bfr&weV3GhHnTRhxUJ_&Z{mub)O%hZ+BhcnwnAt4GkNXiQL+tZ;7+gtmrzcur zsCn=(xRBHthMy3^<5n>s{FIQM>573VXN7(x(W787Fy#=hCyZiL95ojKJt1s=HJIs z&T3Iyo}=##{^x&8^+Mg0Yv{83 at C!B>F5%IbD&h{T*Exzffb&>saV5h7itTh+lc_t zW1P0&P<!|w$M2|6+_(EF6uT7&-+XFFqrOzfZ*YuI3QZ0@e_KXvaYu6f=S#6g;~V zhr{&#R3!5lP8^n53v9<%-OP)GW9BPZHrfyt3B}A>EY$bhrGt_TBcT#s;++Casg6lC z5^C at zH<8lH!^{FOw3lYM>0TZo6JCzu;yM)cshk}#1nKfc=X719N>vSZ<(*L;FVP zWoSP|B$Uw4;5;9;VMKxn)qpz@;=zQLXg1H8Z48mc6B?v>elQY?xtO5FZT1SpferVB z_5{1jB9Zp#4okZEVmrS!U<toxX5l}_*9D1Zl8=S-BY3auzOBpOLrhNt8!CnWa$os zre)zOLr(_FFpktS+YYRNdPLc10Nm=2?9&efaQ5kRPDT<wxgXWq2e=4^Yn{wK@{| zG=MsYg%Sn<fI5tXbH=fJ_Q#GCA7&?c>FOIN@$M&6Ks-2)#c*#U{fyV#B$NO@?p8 zhI1L44Bv<i=Q1)G_V*+x*?R;E$-7YKx3I1hc>uRkI$AzCdEFtTIRq-CdR%r-?ycU zOpg7b)Fw@^kqNTTt#~ZMkdMrP-;-7bg_xDFEsUXpJ!yEh;xnd(UM5KkuU(fxr_x8 zx_|pnY%H44*Ot!_$HEC2_o8}gA{J1p)r2ej{gKeo+W_^J+A?yhcaSgl{#Si=y)XD zQz7H3=O$wDgv2ZHA}4D5PlePg at nZX8Y5q+QugAtJ^iA}DyTyuF#>a}q37&uH0Kf0 zsCvmvTY3J5Zf+t<xxy(g-($_AUz5+=vhKz=H23xrX-YiUI>J=<JMii(E=QroBu9h ze1zuyYsUyN0g=v^2_D#mcL_w)3=Ojaj_KVymIsp#aXy;AT;b%kRHl{VgFrS(yJ0Xb z8y^>n!eCl6K7ka4!HgdGoKh49(}|wLqd-v@%$yUSE{eh!=G at Q5=j?XG#?&=F#uvxN zbdU7hjzxj4G46g3CeKIAfe?S?@yuOMs;v}^T$V8D2#4J5gI=}2@{Y)0}n}f)CKd zpp+em-=X1iH-HjXBiIx_cCV3g0H9MakXk)ush#P&@R_7uZYU8 at A2*Z;C}D=kbY=+E z#|<SaQeQWes8Hq8WRz{4>u<<Rs1dHG8%h?cj~hw|)yEAb!ik*ej+kp0!ik*Wj+kDT za7J;p#@$dtoIY<T)p$MKP(r}|ZYUvIPdAhhs<#_T2-e#TBO)+eCX?j5+e3>LkY3$ z1Eq24%id5T;d;5DRI7Fzc>{X5&&(SgxX5mUye;L_IE?cfr~92cSEU$JBihfyP at R3 z#g^_+7 at 4Z~n?~jwcY_Lx2e%}mi^g1Sg6PWfxSUxp(4iw_6C)OdK#$}cZ148MJ_oH zxf at g#Dss7b$n8?FP?1ZL+%C at LiKcm%9N^?8&no5HW|1ZR2C{W8Mqr%7AiIwxEoX! zDmEFo8&no5G8y*wgyvlKG?Co{d&7&0*53^;2QIS5VQ+XjaFL0|-tcnZB9o21;pM<Z zCLDXi%YlnbI)Q_0~eck+zl^;OTFPGjF{E?+u}xneeMPt7O#3YTO=NL0}b(dxq*g2 z{oO!Av>tDuAzZIF&=3&rvcUWDW9vY;0>$_F#zINymQ*h0UK|G5 at 4Yx%t at H}1$Y{BH zakduByUJqmxK&(JtL9y1v3Shty<5K6VS>9Chj at M6iz~6p!8PJu94dzkTp!I}=_{4^ zZmC{YDha5Ml}Z9iXg|zKB|PFQb|SXYo(G3)!#}b!u7OLX%X9sYIwgRw at anY#$x7 zoLi|RoXGaityB_D<ou9ZsYIMUS1N0~o>nRmFm0vsh*>(+2Ea;aUD9hi5)9TJuDx z-qt)3thY5!Dp{{<o~4jnkQoQx8_O0^|Iz!tJce!rvn$+0kLbI6lZ^Ho(^1W>9{q| z8m^Z$PX{ixbljRJ!j&r#u}iYtnkVA*wB~7{B8Ls&C^0fjxOw)r-h1Kd0;o?Td2rY z2X at WVLPf4Puxp+cDsrfUGqe!p4L1~sd!Sv{13hz^!>&sMuuS);uj#Y%*|bo)#)L z8Mrl13l*6R>>4FO^|wapz(w{D>>8y57nvCB8l?jlnH=mIr2k4AnY2Y0~eVj>>8y5 z7n>;D8YRN at xJHR^=35eRQ{?@9X3 at xk(Kje!;h6gX7B1!X#!hciFm!NcOp=K>z#<! z<9a8;^}61PfNATU%pxU%_4dF(4c6BK1BeK9(bpoSm9Do%N*6D3e#<^E;Nr!O6Wk&t z;OyiSz?uOMl4eDTT}79@zg8Tn=7>q^|-8uE1mvsQ1g=e2pE2AD!l$a0)yX}3h&I1 zz(ZH4hLVu9|3}WJ_7<T?~ecxwja}1sv}@<wTCGSecL($MtHN46PA>PPsDf=ZpE0 zb_CLFdt2L-rA%52njpjx!(bxBA{M%_QSjNrB}@CkGNYT at cn?d-{a>3-n_lAcoD6V zo>;^ZaFNMRXt0s};C#w}i%f%KB11SPGI!5+^+F^0wM$RS7aEnXA(CC6;meHtOo86% z9lZMm1#&CtZYr=6Cg3I at Nl#a+kT!3*XPccQX5&(kF4>FI;OM>b+W_zn#~Uf~<O zT-lA3a&?xESs6d&i6{H~S6MZ3fIgxoKRwaw>)?J%qg|JB80EuTHjL5sPOkN40e2LN z_x+Du#p1UCU2txWqpx at xECS6NBdWBCN%&dT?L_w5u at Kx_qWyOzIc0v#Im8Ga^0 zvxYvpD+J7#5aJ{K>7FE~EcPZ1$|J4=lM%2ZZXm#;gG?VNL*PuW0WsQ-LcspaN4PwS z0>Hkk0Wds>Lcpn610ga9oR>8Q0(orbhXMF>m>JXSoRcB2=GrNTUmt6XBr*g)N5 at i_ zNB6oEgP)?)N6<Q#gCEcE3vQhu_|c3$0 at oRXpPs+4x5T@M!OzX%YjT~-P)^K0wr8H& zFvvWH235el-&;e$d}y=+_*@;89W$*~Km%d6V!&7KB0(@Cnk9iR_C=y#QZOi{Hd-&I zmfH!v)TG_k;4_C*pjsCNqHHH0vnv+At{5o<Q?c+-#z+vRV&Pkk7Nl_vq6on^cKCoK zA$8J{Z|rB(%wi_4ICu9ueRyvEGHTqQOIIHQE;r*Km@yc?rx!Cvq73zm0k0^IgTVT2 zLA;E^UBHK^j}mg%xI3^6Eqmzr({qTY_sk8lsbh35k5Ar#N>Idd0#)$l=IW=NW5$- zFB%-@#a)E=MuCQ6BdlM4=ELpvx6d0bOzXwl at 9Ov*11mqz9uXM#QV>Pg)+<Z4pQy_0 zC*)%yD=*}n{Q3+dD?f7&k+u73t!ZL6SJgkP4mTR!zappYu=DG~)vMXKI>}k^Kj zO%qvM)5Q5 at MAJ0ymBDVR95suGVelcsR~s_hU3+i6r8F8}y}-dZqECO;D&((7sqbTy zI}m!b^d)sPMJ^X{YqQk_c2PfXZOF7)^{A;QMD%}zb2odMaj^J~&7s;QBqhf0a z_$Qt!P!o*mt%l|vR~b_>N2{!8k&z;{t5>{(kiaMqfU?O<u*!7>2*v3A at QF)GF at M z5m%kFE*<3?)69D7DB{{tUFj3A at Q$;u@IJqQqPmOrh1lm8P}CfxeZBPg1r#+=XkXTR zUI86n#Wte$)yHQTQB*5pE)qV&kfPcVGnfAiLyBri%#{1{3h6SsDKRtS&oHF8w$z@$ zeug2%wWanv^D_*I+EUzf5H}D+Ob3~vOqt?IlQy{4K8AJqtMeCUuk!B1Y4;mc_I~bU zC)1zza=SU1KKY(7ZWZ|j(<SaMATvuzO;$>mICgGEkxEbL5=q~_1)7&GDfcOHhi62( zw8xDi;*_##Yd^%FrC&Py6=c+j~Sm^I8noT$F?3nywwZ(nA9Zs9~tjoTyh=M;_| z at go{fyYv3+;)!ZK%y9781r*hOn9Ix0E}*Cu#9Ul{P65G!FHV{xnh<koPl^&*M>gt z34*Dif5Or(u{!O1P+G9?jDBKDX~1DA(3(S>M6V>#O6~=Fz%+ok|;(#O=GrskBku zb^8WvDs5D!+HSG2v?*2Fo_Qy-M%8S4f}F at 2Rk7`PY$9t^y|$;D39NAAA+pW3XN9S> zQ8mj<-cos^>Xw;frSeAAE;AKM;DyET$m(TgEUCP4_1jA~W#Y{o|C8g5-wJ at wzDBIh zw1;W=sl&GK=5{Wx<*<W#xjG!Tpv}G?M1HuVUC><z<*uV)X!R4AcWe252e9ypo2S|j z*R51l{pZt8j?d5Gm9AzNR?RCzw4anj2zY;CcL;np<Rlj7>M?Rl30o%yu1sG(OpAW zjl>f^MwGt&!iRs4DLL~9)l#i5ET6B|^V9$Quf{c>41s(M#H-Wp5LjOf#QEFq5LjOf z#CKGRc59Z?k9o{Rj-7wS1IPytvO;m{beADSMNh@^yz0<wJ-VIxO<a_qc(r?1{# z{5e{kEZ@z(dA){c?stE>(_6H6tk$VI2i*w{YEc?7-imfgtPb8JzEI^0!LAj>J{ z0lw>{V>*h7Ko}+yy7zu?QI0yadp}v$cJKH6)$3RA(kle&Rx|Ap1X^Sa01DaY5zpb3 zhTThmDz*UNH45Dk+7H=3hw&!{q5XvY^XG8myDox#)0$ir2mX83WXHqyTh at RJlCCBT zy<ZGlWJ9szSIS|M*w3;dx}*Fsb)lT;egA_uXk!y)!R)c>XG~=ILYa4Kbfzx>^RS ze%N@&o?Q3vw!wDQJuhFdfn9|y2}}b2@#IOd9dGB8!F;uSQoR##cyN6+olWkhv%zmC zcdKGMc-+ob#rSHzDpuFH{e~YzIgHxu<DN4o46vv``LEzTk;(I@s9)45pxGm!vE?M zolAoDY3&riH+@{eOGKk!Fb-zs%d|&=U_Z75;Q6ereR3!b=@kCIGHdw!S1_VGR!3 zSzAXZCEBO4I&w0qDD)=FhK|mq5>MOK@#6GtOGXujml0roh{F*EWO#Yuf5ZW`7gC*@ zDqUrG_4-X5YkO at mf%OdbTwxB^x!0jT7-#nf<3@h~<4Zd+;N5+;ZP)Fz(XTXdV3cX& zzza2Fad6t#27>qbpjd8q6)4XTa+Srg1 at grH*C${9Zg2)2?B;&5o!_kn#o}&Td^H&S z?(3>&{%|*+ny&eA|LN7YcbnySiyiUyYR^b2_RwF#e3-7m8of7?Kre1OaQovgd;dN7 zqv@{kpZ{mD_jp79ec_H0T3HJ0?i)<l&Xr4%juN-CG6uf2)!V{%7!8r?}xV4iCnz zVED6>X8+O%!z-jy0!A=NF19GDWdD+<*B63XasjV>t*(DTt(c<x;#%39fLYDe&3v|) zUfrzf856d|>TvNFY)d#mn at P4aw4vXZmErn&{<NNjv}}@TzFZFX72}a)b4ClFj1aG- z)6jY#85>u>b#RRpo!W4Ba|4wr;d$MwU&_|)V+V6B3gS#?e7IsPieHRpnoTNuF<!~ z&3iHCVq7S6VyzW&Xd>12c0Q8I2=y!$W64zK9_ruW4|}O8@@}r at Te<q0w+!k^Z@wJO zv1o{M-1!p8oNhp!%vcCkD_6F^>DozKDz={13pKZ4 at 5FwO=luc(SBt%7W-_uUd$)+ z?UfOKyrF at QwLC4GMeCd+(E|OC?a3M^Ek&ZW+<KqmA&KC;#|EH660uF!mr!H|!qP zx?%9EE4R at NH*HSsc_!*K6{Fh?dndXL+A|QM+YPs@Za3^1-5m1_ZoBmit!~)2dbgn( zCihNS!{oMO&*b)1p26>i8z!$CZrUX6{cgB%mfsCGj9xd~w25?bXl^&!8N*J&(RM zJ)74JTT6!?m|U1{*u!pi!@kk$hCP$l4f~cxH|!g|cRG3|w;T2hZa3^1-0smg at ZB)y z)9i*lAEq1j?9Fc28XLXiXML3EW!+hAJ=w);8P}q8wAK~-S}sjZN;>^vz~9MZZ=T4W zX7jynwyYOdEQiLOV>##Bf;;WoF*>LFZCUVPOK2G2`~$b0I0&_a+cY_c!w|xuir_79 zQq9*xCzeky{vm4?Ro4wB=5||bMcrtQj=j+$e<c$m6aYG(YRVL7vbLY%D#K>JU#p70 z(->M!wso2Tcg9m&ZmIuh6wsE9Ki?V~P1Y at f@n|<$#)l2RI=|IqEkf<kY;aA7R+DWx zs0fWF+dR3^WSizjleOlC)?I&^nE58_5i?EJ+8a&wvpyOzh|(RhZY2rrAA;B_6AYa zUv81iX$IVDQH+<E47P0iPS&QNFUsIG+QL=<F?4kp*p|OA{ht2J+&PgEs}9i5xf@J zKG|!LZL-RE3>G&ZZM*7EwVzkHRCTW*xOo|hK&~as~JSEyAPt|8r5V&{j8~!#vsbj z7{5l73xU at uW9yzj-x?cD)&(~n?Iz3k_)XS2ROh#vY|Ek9;F=DtCfjmQ5gJXld2*x4 zHqDJDYt6OHQU5Zc at J-euZVjSUel(h_J?ry4$_%1-*A4D^ZfBd-cwugnR(DxG4*mA zq5j*KgMWitr0^GMI~ZKzIqXf-FD09m#hy!dS-mS=dm<UYw;sK*rMqXD?K4oK)!q8v z2LC{_EhbE9sifv_uc$cNb#CzDPqS=mi_6;EMMgKN)M(QRjphT&4ORsg5%$ff-sQ zpaYTICOY{;mt*^;4}gs+z!2ZiLVaUhY{kqJOo5(o-U}ZnEFdJ#_9iyDcN;%xq=$ zKQ(RzLs80|Pu0z8ZzC1mA}?J%^09Z*b-mw$!b7d$3ab8C}=r@vQQ8lwkCTCIM^FF ztLv^GrHbP?lpUdJ9LIgv(duV3uUoMBU0;Sm<1lS^^rc%+Bi@&Tp?8$Xsz&t)1%-s% zuU%@{y)&zT+*2^y;Dn>8>iY3ZBDt{=4@!D)oeQLn4 at iR<vxp}FK~aHzxzI4+Gd4 z0*c^H5VQNlJ7;3fdGvSD49!^(r*PWLo;LCJsO*=gU7OSF7M0(_2gvJW#LQUCR0jB zSKIORV)mE)X9wkN?h$rx9sbxyKk<*>57BJ?>;OhCA{ZI|7x8~})H3sbv!~r2|F_Nb z+h*LkEcBsIY#-VfE$&yv{QYV+9ZYV=o5AngSq5~wu$u^vz<_~U5pDPEb;b*@KwnK$ zows-E-!En#W{bhu<?+DmExg~%?5 at IcK0~{??R456Ti#9Y7qi0dUE0GDXffYz7qj2b zR@3=-1)~FX^k~5HTov=5XL!&|24Up3qk8!dJCodeS&kewYBOAzSv>yx*#SbX?w4lf zS6HHNo_;yFThBJ*)wG~fMlev%CyQ}W%;><=XGiFP6Scw?0z5Xe_cwEh15bJN?&a0x z+vB&VmtTSs<89?fhCg3koPLLvp9(msg!njkdHmzm<(t!!v*YtC at c5Dryt_QTz+W(V zfT{c*@R?}@OiiF(XPcYxq(TSl&HZZfZZ+QD(1j%{t5njKfV5XzM3rVr?anjRop%J z@9^2P-_YL&PrbkK82tB};rRTr^CI&;r{41d&AM_VDy{8vt1R)#l43d*$f81Rio) z;rega6W8YcJ7jl#|B3$X*1zc!eh-^aZ|3j6y6r6rtl)#Ee!U;sJlNYC!v984|0DD| z+&?&kac-$J^RgIueTB?K)>?(hferMdeCQJs{MWg&j#VH^w}0Rp}jA at f*y5na<~3z zGk<>zyS-1o80<rx!3EUb9(26$=ZOA<ejEP%jQ%{JKM(28BRv1x&1^Qfyt~;xj5jm5 z*1KO#iRDY!2tTn5tL<ifeZPhA@cO60^SkT85A#I<1^Mmu-St-w^zZ*?JXwBqw|W1? zV7wi?g{PC|u-|R)f1$6dpj=%>&@N!&3HM0f8HQvVJZJG04IFoEH0Gn>v~cqFF5 zd^><~=Igu70EWT&%}<B}$Dnkx&0u>w8$cJoECzQs^y9l%?*w^Rxma#25;KfqHO0 zpFk;QgE3I!k>Zw$k2rX6!sqmvpLu|gAcP!fntM at P>A0R8Y<h3~yKkbiFoS{WMs> z7*_f6(bhptVPqomTNp;+AAkuVfqsj@^=xoo%x>-%Uk*TMEaVSoZ at +*2?(G1c@*Dhc zd~tF7>g}KZ0M6UnyZh|<`V{LjvEUhGN?Tmn72QHB6#-8(~Fbu;gsX&Xa8S2SJT at z z4n)t&uTYUo7uWz%ybTuUNtWoCsBEjEoR7T-iX(4~wXMK%TjbyO4P{xfJj``3y!61~ zn;E{Dp at vN9NTyG;gpo|ALMeANOI+WL{UnvaJn|Dao+t542{a at MaUpU*Cn+&7imn1d zL9)CQy9cqm;Hn&R6~8;=blT3q*5KtbW3?9NGIuel@BMddXtGF1P>cMPhQBG+*g? z+P1{~)vw)Z4<Add>m-H*?H284>8WS|E<Bf+9Tuk?iKz6_;Ua1j at D(lxA*=?aM87 z6Ylkm=UrcU11g@m@(;b)<!Xs^Te^>_m?}RDX48?p%f=U%7+h_OvvGPol7hZXzSxx& z=%HDlqX1WUC9-&h*CkStf~Xfz<(tCY;-9L?jJn=wEsJvVhPLTyzrvicAGx2$R+v* zssD^J$?F#?QT|@+{(!^ry2zn>S1hSOG(n{1uz{%eYF}*HI!|aCZgUEEl5c;YYAC2L z<>JSt*wPCBz_&Rsvs@(iW*v|2*C;xEXv0Iy~u{5<)k}_b%5L7nf)AL-2{L<Uj|J z<9HkpAyBDz%K;A}gGGO+I1q;6BWnszjUHJD#!VQ!mr6Jcjh|u^afcQ*g9o!{o{9* zDiS~HxMl#WmV78QAovOnkf;aayB)oGf#9qYWfw*1hqyxU_o1TRU-Q~1<L&$gV?b0 z^}763xz8n1SlHEm!@M0ZN1GE?s>oe!xdf3k(s!kBk{WBrt;pH(U&$ZE*7uC>zVW zPHne&tdUx3NUl)c^ES1>U=uqE=O%_vGo|B)oZ=+JfhJmFFr<(c9EiqErs#(nI+ at t| zpalj)=@<_;!#HJ2;3zbJ6A=j?^M@n0q1R3Zcu?&hJhzJa4j*whO-$=Pub-*GDF}; zF=uTQgI0Fm8^sw?g2#}=3=nOH5kJo7&0?deNWi<!x<8pfyoC*Ei*tvXwDalV$Ch| zDAXLC?-UPm8qOX>$YC4Vc_8Wfz^BWD9_%;{Yba6XQ}iH1e813L1!Ki>&^0H0w2~m z5uprH5q_xXd=_atbx8(3{K%C2r~gImNU;3d!QX%NprH}kk?_!i?nt6PG+J(?43P%| z&5T|QdQt}8u at AP>{wCZPJI)t=?c at NbpyPoS8x=^EJtX)J5B=a9zl!b*>KjhOrxRu} znfI{GFtgiYa)#YIi_rnZ{v8{7c8=pAof+$)7|!oF&z(PjvUg9yPl&rxrL)zj8<x znn1PS9HbqH#Jz}mmRf=1-1ZkmcYhL1Uox-z8YV%xDbAor4(Z57A`QkFmm+<!<DkBd z^y(f9N2%jLO6?m4psU%g4o&V+qJP(|U1_5NIq-O#)1r?jioRmnW83paBh|_e=|q>o zOX}S|_0B2u*TWAkSFFe~U>UFsSOzQumI2FvWxz6E8L$jk1}p=X0n318z%pPNunbrR I{x1f81K1yh+yDRo

configs/qemu_xtensa_lx60_defconfig +1 -1
index f17aa48..b21d3fc 100644
@@ -1,7 +1,7 @@
 # Architecture
 BR2_xtensa=y
 BR2_XTENSA_CUSTOM=y
-BR2_XTENSA_OVERLAY_FILE="board/qemu/xtensa-lx60/xtensa_dc233c.tar"
+BR2_XTENSA_OVERLAY_FILE="https://github.com/jcmvbkbc/xtensa-toolchain-build/raw/95291b7c39e6f790d0b2f062c945a630290f2c81/overlays/xtensa_dc233c.tar.gz"
 
 # Patches
 BR2_GLOBAL_PATCH_DIR="board/qemu/xtensa-lx60"
configs/qemu_xtensa_lx60_nommu_defconfig +1 -1
index 68af710..5cca8d2 100644
@@ -1,7 +1,7 @@
 # Architecture
 BR2_xtensa=y
 BR2_XTENSA_CUSTOM=y
-BR2_XTENSA_OVERLAY_FILE="board/qemu/xtensa-lx60/xtensa_dc233c.tar"
+BR2_XTENSA_OVERLAY_FILE="https://github.com/jcmvbkbc/xtensa-toolchain-build/raw/95291b7c39e6f790d0b2f062c945a630290f2c81/overlays/xtensa_dc233c.tar.gz"
 
 # Toolchain
 BR2_PACKAGE_HOST_ELF2FLT=y
Signature · 1 line
2.1.4
#24 lore raw

PATCH 21/23 linux: apply xtensa overlay

In reply to Max Filippov

Xtensa core configuration must be added to linux before it can be built for that xtensa CPU variant. Extract configuration files from the xtensa overlay as is done for other packages that need to be configured for a specific xtensa core.

---
 arch/arch.mk.xtensa | 5 +++--
 linux/linux.mk      | 3 +++
 2 files changed, 6 insertions(+), 2 deletions(-)
arch/arch.mk.xtensa +3 -2
index 9edbcfb..e09d487 100644
@@ -23,7 +23,7 @@ endif
 # arch-xtensa-overlay-extract -- extract an extensa overlay
 #
 # argument 1 is the path in which to extract
-# argument 2 is the component to extract, one of: gcc, binutils, gdb
+# argument 2 is the component to extract, one of: gcc, binutils, gdb, linux
 #
 # Example:
 #   $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc)
@@ -42,7 +42,8 @@ endef
 #            for host packages
 #
 # Packages that call that macro shall define FOO_ARCH_XTENSA_OVERLAY_COMPONENT
-# and set it to one of the component to extract, one of: binutils, gcc, gdb.
+# and set it to one of the component to extract, one of: binutils, gcc, gdb,
+# linux
 #
 ################################################################################
 define arch-xtensa-overlay-inner
linux/linux.mk +3 -0
index 7f4432e..81f3d7e 100644
@@ -82,6 +82,9 @@ ifeq ($(BR2_LINUX_KERNEL_UBOOT_IMAGE),y)
 LINUX_DEPENDENCIES += host-uboot-tools
 endif
 
+LINUX_ARCH_XTENSA_OVERLAY_COMPONENT = linux
+$(eval $(arch-xtensa-overlay))
+
 LINUX_MAKE_FLAGS = \
 	HOSTCC="$(HOSTCC)" \
 	HOSTCFLAGS="$(HOSTCFLAGS)" \
Signature · 1 line
2.1.4
#25 lore raw

PATCH 22/23 uboot: apply xtensa overlay

In reply to Max Filippov

Xtensa core configuration must be added to U-Boot before it can be built for that xtensa CPU variant. Extract configuration files from the xtensa overlay as is done for other packages that need to be configured for a specific xtensa core.

---
 arch/arch.mk.xtensa | 5 +++--
 boot/uboot/uboot.mk | 3 +++
 2 files changed, 6 insertions(+), 2 deletions(-)
arch/arch.mk.xtensa +3 -2
index e09d487..4e9d33a 100644
@@ -23,7 +23,8 @@ endif
 # arch-xtensa-overlay-extract -- extract an extensa overlay
 #
 # argument 1 is the path in which to extract
-# argument 2 is the component to extract, one of: gcc, binutils, gdb, linux
+# argument 2 is the component to extract, one of: gcc, binutils, gdb, linux,
+#            u-boot
 #
 # Example:
 #   $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc)
@@ -43,7 +44,7 @@ endef
 #
 # Packages that call that macro shall define FOO_ARCH_XTENSA_OVERLAY_COMPONENT
 # and set it to one of the component to extract, one of: binutils, gcc, gdb,
-# linux
+# linux, u-boot
 #
 ################################################################################
 define arch-xtensa-overlay-inner
boot/uboot/uboot.mk +3 -0
index 1e22eaa..8cabc17 100644
@@ -153,6 +153,9 @@ endef
 UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 
+UBOOT_ARCH_XTENSA_OVERLAY_COMPONENT = u-boot
+$(eval $(arch-xtensa-overlay))
+
 # Analogous code exists in linux/linux.mk. Basically, the generic
 # package infrastructure handles downloading and applying remote
 # patches. Local patches are handled depending on whether they are
Signature · 1 line
2.1.4
#26 lore raw

PATCH 23/23 linux: enable uBoot image type for xtensa kernel

In reply to Max Filippov

Starting with the release 2016.09 xtensa architecture is supported by the U-Boot. Enable uimage target in xtensa linux kernel.

---
 linux/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
linux/Config.in +1 -1
index 1707f7d..2248f09 100644
@@ -179,7 +179,7 @@ config BR2_LINUX_KERNEL_UIMAGE
 	depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
 		   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
 		   BR2_sh || BR2_mips || BR2_mipsel || \
-		   BR2_mips64 || BR2_mips64el
+		   BR2_mips64 || BR2_mips64el || BR2_xtensa
 	select BR2_LINUX_KERNEL_UBOOT_IMAGE
 
 config BR2_LINUX_KERNEL_APPENDED_UIMAGE
Signature · 1 line
2.1.4
#27 lore raw

PATCH 23/23 linux: enable uBoot image type for xtensa kernel

Hello,

Quoted 7 lines · Max Filippov

Starting with the release 2016.09 xtensa architecture is supported by the U-Boot. Enable uimage target in xtensa linux kernel.

---
 linux/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#28 lore raw

cover xtensa overlay application rework

In reply to Max Filippov

Hello,

Quoted 7 lines · Max Filippov

This series cleans up xtensa overlay application code, making it uniform across its users in the toolchain, reducing the number of configuration variables and making it possible to use compressed overlays and download overlays from network.
This is a subset of a series initially submitted by Yann E. MORIN in 2015, I've forward-ported the original submission, addressed the posted comments and added overlay application to linux and U-Boot.

A big question is: why do we have this weird overlay mechanism, specifically for this CPU architecture? Why don't they use patches like everybody else?

It has always bothered me that we had this mechanism, and I'd like to challenge the fact that we need this, and see if a better solution is possible.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#29 lore raw

cover xtensa overlay application rework

Hi Thomas,

Quoted 10 lines · Thomas Petazzoni
Quoted 7 lines · Max Filippov

This series cleans up xtensa overlay application code, making it uniform across its users in the toolchain, reducing the number of configuration variables and making it possible to use compressed overlays and download overlays from network.
This is a subset of a series initially submitted by Yann E. MORIN in 2015, I've forward-ported the original submission, addressed the posted comments and added overlay application to linux and U-Boot.

Quoted 3 lines

A big question is: why do we have this weird overlay mechanism, specifically for this CPU architecture? Why don't they use patches like everybody else?

Primarily for historical reasons. There are two parts of the problem: both toolchain and user code need to be adjusted for the specific xtensa core. Toolchain needs to be able to generate code for it. User code needs a way to know core characteristics at compile time.

So the part of a toolchain source that deals with xtensa ISA is isolated from the rest of the code by a stable API and its code is generated. Having a default code for this part in every toolchain component is good for toolchain testing. Copying this part over the toolchain source is a future-proof way of configuring the toolchain, because the default code present in the toolchain may change (and have changed) over time. A possible better way to configure the toolchain is moving configuration-specific part into a shared library loaded as plugin into the toolchain components. We're currently looking into this approach.

For the user code we have a library, part of which is also generated. So far open source projects like linux kernel or U-Boot use parts of that library copied into their code. Configuration-specific parts of that code still need to be copied over from the generated source. The hardware itself does not provide any information about the configured features.
A possible way to isolate software running on xtensa from the configuration specific properties is distribution of that library with the toolchain and removal of its copies from the projects that have them. That will replace the requirement of adjusting the software for specific xtensa core with the requirement of building it with additional external library.

Quoted 3 lines

It has always bothered me that we had this mechanism, and I'd like to challenge the fact that we need this, and see if a better solution is possible.

Toolchain plugins and hardware abstraction library are the ways we're exploring. Do you have any suggestions?

Signature · 2 lines
Thanks.
-- Max
#30 lore raw

cover xtensa overlay application rework

In reply to Max Filippov

Hello,

Quoted 11 lines · Max Filippov

core: include arch-specific definitions arch/xtensa: add definitions for the Xtensa overlay package/binutils: use the Xtensa variables package/gdb: use the Xtensa variables
package/gcc: use the Xtensa variables
arch/xtensa: add macro to extract the overlay package/binutils: use macro to extract Xtensa overlay package/gdb: use macro to extract Xtensa overlay package/gcc: use macro to extract Xtensa overlay package/binutils: extract Xtensa overlay as post-extract hook package/gdb: extract Xtensa overlay as post-extract hook

I've applied the first 11 patches of this series. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com