Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 0/7] xtensa overlay application rework
@ 2017-07-09 12:21 Max Filippov
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 1/7] arch/xtensa: get rid of an intermediate blind kconfig option Max Filippov
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Max Filippov @ 2017-07-09 12:21 UTC (permalink / raw)
  To: buildroot

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.

Changes v1->v2:
- drop arch-xtensa-overlay and host-arch-xtensa-overlay macros, use
  arch-xtensa-overlay-extract directly in package makefiles.

Max Filippov (2):
  linux: apply xtensa overlay
  uboot: apply xtensa overlay

Yann E. MORIN (5):
  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 +++++++++++++++++++++++
 arch/Config.in.xtensa                    |  27 ++++++++++-----------------
 arch/arch.mk.xtensa                      |  30 +++++++++++++++++++-----------
 board/qemu/xtensa-lx60/xtensa_dc233c.tar | Bin 808960 -> 0 bytes
 boot/uboot/uboot.mk                      |   8 ++++++++
 configs/qemu_xtensa_lx60_defconfig       |   4 +---
 configs/qemu_xtensa_lx60_nommu_defconfig |   4 +---
 linux/linux.mk                           |   8 ++++++++
 package/binutils/binutils.mk             |   4 +++-
 package/gcc/gcc-final/gcc-final.mk       |   3 ++-
 package/gcc/gcc-initial/gcc-initial.mk   |   3 ++-
 package/gdb/gdb.mk                       |   4 +++-
 12 files changed, 80 insertions(+), 38 deletions(-)
 delete mode 100644 board/qemu/xtensa-lx60/xtensa_dc233c.tar

-- 
2.1.4

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 1/7] arch/xtensa: get rid of an intermediate blind kconfig option
  2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
@ 2017-07-09 12:21 ` Max Filippov
  2017-07-09 13:45   ` Thomas Petazzoni
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 2/7] arch/xtensa: allow specifying path to tarball file Max Filippov
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 15+ messages in thread
From: Max Filippov @ 2017-07-09 12:21 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
 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(-)

diff --git a/Config.in.legacy b/Config.in.legacy
index 12362da6f2ca..f05b63eb1c54 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -336,6 +336,17 @@ config BR2_GCC_VERSION_4_8_X
 	  Support for gcc version 4.8.x has been removed. The current
 	  default version (5.x or later) 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.05"
 
diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa
index 88dbe18feeee..00b1f6853c94 100644
--- a/arch/Config.in.xtensa
+++ b/arch/Config.in.xtensa
@@ -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
diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig
index 3e98222b6555..ec0c1bac51be 100644
--- a/configs/qemu_xtensa_lx60_defconfig
+++ b/configs/qemu_xtensa_lx60_defconfig
@@ -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"
 
 # System
diff --git a/configs/qemu_xtensa_lx60_nommu_defconfig b/configs/qemu_xtensa_lx60_nommu_defconfig
index 998cd2aa6bf3..d19bc5431b39 100644
--- a/configs/qemu_xtensa_lx60_nommu_defconfig
+++ b/configs/qemu_xtensa_lx60_nommu_defconfig
@@ -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
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 2/7] arch/xtensa: allow specifying path to tarball file
  2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 1/7] arch/xtensa: get rid of an intermediate blind kconfig option Max Filippov
@ 2017-07-09 12:21 ` Max Filippov
  2017-07-09 13:45   ` Thomas Petazzoni
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 3/7] arch/xtensa: accept the overlay to be compressed Max Filippov
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 15+ messages in thread
From: Max Filippov @ 2017-07-09 12:21 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Changes v1->v2:
- replace ARCH_XTENSA_CORE_NAME with ARCH_XTENSA_OVERLAY_FILE in overlay
  application conditions in package makefiles.

 Config.in.legacy                         | 18 +++++++++++++++---
 arch/Config.in.xtensa                    | 19 ++++++++-----------
 arch/arch.mk.xtensa                      | 17 +++++++----------
 configs/qemu_xtensa_lx60_defconfig       |  3 +--
 configs/qemu_xtensa_lx60_nommu_defconfig |  3 +--
 package/binutils/binutils.mk             |  2 +-
 package/gcc/gcc-final/gcc-final.mk       |  2 +-
 package/gcc/gcc-initial/gcc-initial.mk   |  2 +-
 package/gdb/gdb.mk                       |  2 +-
 9 files changed, 36 insertions(+), 32 deletions(-)

diff --git a/Config.in.legacy b/Config.in.legacy
index f05b63eb1c54..66fa240f3899 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -336,11 +336,23 @@ config BR2_GCC_VERSION_4_8_X
 	  Support for gcc version 4.8.x has been removed. The current
 	  default version (5.x or later) 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
diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa
index 00b1f6853c94..5d5bcb48f99f 100644
--- a/arch/Config.in.xtensa
+++ b/arch/Config.in.xtensa
@@ -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
diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
index 2843333b5800..6d9fd63d124a 100644
--- a/arch/arch.mk.xtensa
+++ b/arch/arch.mk.xtensa
@@ -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,5 +21,5 @@ 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
diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig
index ec0c1bac51be..778c31aba01e 100644
--- a/configs/qemu_xtensa_lx60_defconfig
+++ b/configs/qemu_xtensa_lx60_defconfig
@@ -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"
 
 # System
 BR2_SYSTEM_DHCP="eth0"
diff --git a/configs/qemu_xtensa_lx60_nommu_defconfig b/configs/qemu_xtensa_lx60_nommu_defconfig
index d19bc5431b39..63e0194fefeb 100644
--- a/configs/qemu_xtensa_lx60_nommu_defconfig
+++ b/configs/qemu_xtensa_lx60_nommu_defconfig
@@ -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
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index c64ec47292ec..8e26394fbf51 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -122,7 +122,7 @@ define BINUTILS_INSTALL_TARGET_CMDS
 endef
 endif
 
-ifneq ($(ARCH_XTENSA_CORE_NAME),)
+ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
 define BINUTILS_XTENSA_OVERLAY_EXTRACT
 	$(call arch-xtensa-overlay-extract,$(@D),binutils)
 endef
diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
index 78466fa4da40..f3bc72efc719 100644
--- a/package/gcc/gcc-final/gcc-final.mk
+++ b/package/gcc/gcc-final/gcc-final.mk
@@ -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 ($(ARCH_XTENSA_CORE_NAME),)
+ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
 HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
 endif
 
diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk
index e1a224164a20..dc7dff922818 100644
--- a/package/gcc/gcc-initial/gcc-initial.mk
+++ b/package/gcc/gcc-initial/gcc-initial.mk
@@ -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 ($(ARCH_XTENSA_CORE_NAME),)
+ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
 HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
 endif
 
diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk
index 9b4d50e9d803..8ef01d6c12ea 100644
--- a/package/gdb/gdb.mk
+++ b/package/gdb/gdb.mk
@@ -44,7 +44,7 @@ HOST_GDB_MAKE_OPTS += MAKEINFO=true
 HOST_GDB_INSTALL_OPTS += MAKEINFO=true install
 
 # Apply the Xtensa specific patches
-ifneq ($(ARCH_XTENSA_CORE_NAME),)
+ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
 define GDB_XTENSA_OVERLAY_EXTRACT
 	$(call arch-xtensa-overlay-extract,$(@D),gdb)
 endef
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 3/7] arch/xtensa: accept the overlay to be compressed
  2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 1/7] arch/xtensa: get rid of an intermediate blind kconfig option Max Filippov
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 2/7] arch/xtensa: allow specifying path to tarball file Max Filippov
@ 2017-07-09 12:21 ` Max Filippov
  2017-07-09 13:45   ` Thomas Petazzoni
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 4/7] arch/xtensa: accept the overlay to be an URL Max Filippov
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 15+ messages in thread
From: Max Filippov @ 2017-07-09 12:21 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
 arch/arch.mk.xtensa | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
index 6d9fd63d124a..ecb9c1086a70 100644
--- a/arch/arch.mk.xtensa
+++ b/arch/arch.mk.xtensa
@@ -21,5 +21,7 @@ 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
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 4/7] arch/xtensa: accept the overlay to be an URL
  2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
                   ` (2 preceding siblings ...)
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 3/7] arch/xtensa: accept the overlay to be compressed Max Filippov
@ 2017-07-09 12:21 ` Max Filippov
  2017-07-09 13:48   ` Thomas Petazzoni
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 5/7] configs/qemu-xtensa: use overlay from the github repository Max Filippov
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 15+ messages in thread
From: Max Filippov @ 2017-07-09 12:21 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Changes v1->v2:
- add ARCH_XTENSA_OVERLAY_URL to EXTRA_DOWNLOADS in package makefiles.

 arch/arch.mk.xtensa                    | 10 +++++++++-
 package/binutils/binutils.mk           |  2 ++
 package/gcc/gcc-final/gcc-final.mk     |  1 +
 package/gcc/gcc-initial/gcc-initial.mk |  1 +
 package/gdb/gdb.mk                     |  2 ++
 5 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
index ecb9c1086a70..ba3e3025b7d0 100644
--- a/arch/arch.mk.xtensa
+++ b/arch/arch.mk.xtensa
@@ -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
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index 8e26394fbf51..ec85ad69cbc0 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -127,7 +127,9 @@ define BINUTILS_XTENSA_OVERLAY_EXTRACT
 	$(call arch-xtensa-overlay-extract,$(@D),binutils)
 endef
 BINUTILS_POST_EXTRACT_HOOKS += BINUTILS_XTENSA_OVERLAY_EXTRACT
+BINUTILS_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
 HOST_BINUTILS_POST_EXTRACT_HOOKS += BINUTILS_XTENSA_OVERLAY_EXTRACT
+HOST_BINUTILS_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
 endif
 
 ifeq ($(BR2_BINUTILS_ENABLE_LTO),y)
diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk
index f3bc72efc719..8ca9847ed9d8 100644
--- a/package/gcc/gcc-final/gcc-final.mk
+++ b/package/gcc/gcc-final/gcc-final.mk
@@ -17,6 +17,7 @@ HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE
 
 ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
 HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
+HOST_GCC_FINAL_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
 endif
 
 HOST_GCC_FINAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk
index dc7dff922818..c476b2faeb46 100644
--- a/package/gcc/gcc-initial/gcc-initial.mk
+++ b/package/gcc/gcc-initial/gcc-initial.mk
@@ -15,6 +15,7 @@ HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE
 
 ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
 HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
+HOST_GCC_INITIAL_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
 endif
 
 HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES
diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk
index 8ef01d6c12ea..73b0ea09d97d 100644
--- a/package/gdb/gdb.mk
+++ b/package/gdb/gdb.mk
@@ -49,7 +49,9 @@ define GDB_XTENSA_OVERLAY_EXTRACT
 	$(call arch-xtensa-overlay-extract,$(@D),gdb)
 endef
 GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT
+GDB_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
 HOST_GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT
+HOST_GDB_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
 endif
 
 ifeq ($(GDB_FROM_GIT),y)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 5/7] configs/qemu-xtensa: use overlay from the github repository
  2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
                   ` (3 preceding siblings ...)
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 4/7] arch/xtensa: accept the overlay to be an URL Max Filippov
@ 2017-07-09 12:21 ` Max Filippov
  2017-07-09 12:22 ` [Buildroot] [PATCH v2 6/7] linux: apply xtensa overlay Max Filippov
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: Max Filippov @ 2017-07-09 12:21 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
 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

diff --git a/board/qemu/xtensa-lx60/xtensa_dc233c.tar b/board/qemu/xtensa-lx60/xtensa_dc233c.tar
deleted file mode 100644
index 1a97d7a81daf9586b7778c80bcc1fda0c6e75cf1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 808960
zcmeFad2=MkkteEuw{1Q|JwCG;QbSQF6dC|`Mq>t|K?!gAfC1p4mC0arB)UtgOO=I2
zks9r1f9`QdW`xI;S<SIsj%*s0;psp3pL?7cnK7BKo_6y^{o7yl_umoxclPq-uh_q*
zC)U4s4gUMp@c88DWO#HoJRbe(XgE3=z5LbSWq&4V%}@1iyd4aF^_S`L<K(ZCsV=eq
z3YFW^|80IvWc(Mi-ckSqoEZO;(aHaf{~?k{#eeeHTLNUn|K-`y|Be5_<G<fkt9tyK
z<$CtCsOqo0ZDFEe82{4~yWKw%{lIW^a`qA`JGA>Kb#{Du2JQdp+356FgQG;8Eb;%t
z+yCGGdhjEQ`e3?VJ<i`hZO6O$di9%nQ%&cO^XcIF?qV=sJ+8M)R`At}7lXmza=rO!
zJAeOSH~4(|#o+kpX!M)oqv6Tm9`a|tm`}%p>(!Kt-c;M=yskm#U|tVCRNHFu)8PGf
zyxLW>F9(m?sv4{x2h$JZ?fdG>!EQYmuYMYAs%;H7tS7tid^KOaN6ax;xcLc%cOO7g
zy?)$1kGB=b&j#bVUQg#^P&t^br%%gjwPV%}9_NtAgU@##Dpc{=ow(_<FBsIU8ZW>(
zP*@FQ(cpQ$`>=l64YpOi+s>!R#+M*8T|CW%B~oHBU(N*%YG8!a=)zMCuAsGF4xld0
zAMxLc`L}tREavrxFVULW904XzI}on%`V`oMzrms3uD64_S}ah>92{UyYa5vi0HGG3
z3ak)}G4$sT>!s}y(DnGVT>&r<1oq9=KpzABOEujIMd-rgda+nPgPWKQvpM=+|4$b2
zdng at G)*mb87mxjFy#t$B09Z(vDLmAosQxepCnlBPubQF7Ksa8Nu7Rgd6BvZ8c5{fv
zX1!&oO_zBx-T&cgaQE)p`yVcDuOKrAH@EM;zkYS~YVg^`9sK_6%fS!V_kVcz-TeS0
zZZF>6|8el{+rh=#KMwx$`t2*m`qhs&w^w&}gLk)s>o+&AudiNxIk<j%`TDz8*KdD6
z_y%r$`|f`5`uffFJ?OoEH$Y6G?fMGt`xbq8b9H<92he}<&GqZ+`#*j;`1bn#Evo$%
z^j-{ZE^hCyFTZ<zaXYyA?)K*0-4z(|3N*jHe*5h$0A0PgdVBvBYPx<4mj_qh!|%b}
zA1+?MW`Gypfg88X%FA~*f4sf^{U7cJe|Y!$)fHU)<_he)_~!K$M|=B6)N}dz;`+^(
zgI5=CE`E<@-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
zdAz`3A}?^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^44Zupav1`tAXWVe$;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{g0N`J&$?qyEo=9=xxlO*w2{1v4_#Wv2W48pp11Y`ikyNn%7uAqA#i*#JmK3hyIDZ
zhVcv5IP@>*C-e{1L+DGaYp{PBafZ%7mtD(Vz_=u5Df*IZ_?uTQkD6C53?R`f7*}NT
zuJ4lVdh-fz(2c9CHnLHKzNi~<;~F;K`loD!4MXK6!!CKr$Vt{lYdx%WwtpJ;U#n)<
z$WDFHNML=@$Z_408n^3<#_jr|aXW8qwQ;hU)mKylt1pR`RbP;8Dx24^wYqQT)dJS>
zafZWJpzXQH6RZlpU%^r`lY7`b+%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+S`5g at Puj}
z>(Op)&e*$5N=I+aT{w>Jt()d`$0pdorsIL`x<Muy?p-OgRuhJ&<Gxp|ixw2nz7E-x
zwov`{qn()Knu0M67@ki0W-@hL->~k`JT{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@0GUkoJ`5`AybnJJ
zYSeAA^PWuRCz{JnM?vjIa>z%- at pZdlU3V!N)kqH8Gaa(?25UbNmAx!2+wOG7ePnZB
z59Kk59c#;H5sP`LVVp0Q!@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|E4bn`YzJvQArcp&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$Oz`wmy~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?R`lyhSBe)HLU9}CUOCZ8pI^+IfTaL)O-i5Yc{*-|5_$?M``RF9%=)0<h%mIs%x+l
zY?%B at Y_wY@{x@LNeDA93T<xGO#_H5Gu{&0?n`G}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<=>-HtkUW`TG4&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*5`x`i_U{jNIqZ$F%Hb)w{{6H56Yvab
z;TJm)le4xp>|!gP`ZoCJwf?a)<k(uCQDmC&tgrv1|J)mY8fzM@t86l^ugYnMzQQ_V
z{qq5uZ|j%AE0h_j2fxg`e1I0lxDlEH>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=q9Hqv`EKAk|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%j`PPG28<F3uhOHGG3(!$-U9&%wX`ZU7?$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>!;T`wlU6MqWo+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{6b`vt?r!SP
z$-y0h#(En!ycCkEVOHY`Q6Re`<7c}+GL^6n>2o!2WCKPRM*Y{o(7;EL*lf$5$<&bA
zoQr$?4X@9q=5<AaX^r$2tukC-Zd!8qv`7pqtU-lwQ>tf+dVUfYMj@#@P_Bsr8Aju$
zbW9H`OeIii%HoK^jF%~z=~YC$3=0sX>6G%;v_`sxHyHP`cv*73co{dPdWJ)iGiS at l
zC%4K0E~xBpT$jP(Qfx$LPUOzi81Rgbhna7mfBqYsz!~>|gYYH+%u&C<|KBQu9a5}}
zmBPvnP7h%`%<3j=wfHYK7(0VSEk3i9HML=S>InIaXbU|wG%hRF3`@+Q8w`jsq@)SQ
zkZ0{dr1mkz8JsJe#>AQnDyx+@{JNx9|B}A2dO2dTHdH{Vnytf91=LISO>up@)%F-S
zrsgugHKLMgXseDkppBo>K_<>v6e-RoYNsNn#q^s`yirspppBOjGF;ol<<gj_DcN@5
zRFRCGbwPT^!pEYgikT`XZ>_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&ROPsY`O^lAO6DE0<(tNzSUr at zY}G5`44-{{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 sWyTgrqp`A!r3k3g>zk8!TZ2<KId=(*TPH
z=^ncUb6om?Pg`wCSY?CvL446Opp%m^ZsnI-bK;HPNh5yzw{)--KcPs)Plz|ye_N<I
z-bKgH@WGCs={5_KHeXE;q^V-KFXJaAjb&g*?SmM|^iTEhWDf`R`8PUQ)r`ryYalC<
zHlQ!+f*nJds#=wZp_Ydrva{&S)>4b-)IxT5WEhnlt$JwNpnPl%z*LD9N_{uJumg{p
zSY2!_gIe$@vBdS{s6LJhwxh_e%Mj{ccKlcyYN&uxV`B&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}KMllH`lFx;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)M2`j>Q!*Fkj8&;W&o<iA1;t(k@)i8rSE6A>?sj}Q%a
zl$(Yn(jo1NjFTyZk3i+z0wraPY`7GU7UM~^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-`?JW`PW*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;0R`Y%k
z%@B7f?%7s#eVb}2wDOevsbg5zXo_>g7j2+!@OZC`O`S-8HW#;gX00^EUU)gzH3sS6
zH3-n`Pr$&NQT!`Y!jI?|qX5x88STcKg7=8B{c(>FyYZ*sHKJ^PdV7lqVqfqUQMNz5
zy+j256ud-~?a#{|TZ5N}ZVzB=5w-K1$+dfPc3F1k>PNdn(YHgHlEbb>_9a>(wI5`6
z`kPVJeOR#eRppqrLi&K#s5_<ce0atBmzEEbjg%f{w~2Z|2E~-A$^*PALFM1ldfla~
zd!a~4;kqFE(5{Svl1dE%-WU-BiHzzk2b5dN0_g&Z%G==D=UM<KG4M`KD-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@{|E6k`0pVdBjK6A!Z8t;bOy at ST`M5S$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%LYCX`H6-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^P`DQOj#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%=}#e3cICWFJ9SyXKm`o+?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`<~-Wtr`OylQ#C954pnESas;
zD+mDW_M}`8*jCqIg#hliU66NJE{KIA6$Eh#j5*fL^Fc1(Qa(r-R~TfO?Ss5(`G9>8
zZfsOeu-_fTK`JH#p at dvss6yKfb=mR*Hl`^T;BU(TVibe>*(jE=+_cRaJJw at kX=Yp<
z2-8 at q8pDJyZemsFCmb`R*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)OL`w|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)y4L`d64?w2Y2 at u_g4=$cemGXe-HCYequQq@^|<@S$Os1<r`MGgyYQZ!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
zr2Ae`z5^@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@|KQTpWLPK`bb^Ei at _PEZa*NMU`6BqS>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$aD`v7Og&o;X)RReTu5gAikGu2Su|KaxP;?>RlZEEbEV~yv at n$Tp~n&XYn
z>bh8~NHjiiRjrvT><M}*qx#tv7`2>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@0zr`wqV;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)G`7sZ;<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)^x9C`hRI_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?d`3R4F6`|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$Uh`f;^pyKQUfx}Ne^u~dB$ofu$o|HNm4r9|
z5BYUL8X4pvE9F>ykPrvpA<Ib77m$0H3kR6cCL9Nbm<4^oasER*(HBJcUeXuz?t6az
zV_<sB{R6~3Kj(SHjPO5;UZcC|E&jYOD9!(99`fsegy^*m<UC{r%V?-0@*ykbEQkZ}
zkY%Lk3r68KA&X|Ez9;{0E=R?EL4@!5^<Xm{_16z_-?IWE2JR8QXQh==-*eovj58YQ
z2>-L_wIF)pfcFKZ`Oh2b2p;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
z5C`BP%Sh2!lb?z!e_n9fUwc^a*(LG3Aj0?jda#-H?t6azqjA0V1-<*8pYyzdits;+
zUZXGQjRW2Wmgavn5BYUKLiE}OavrjRWi-?g`H+=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)GGD8`ChvIzo{d9FUk4do`2lj6+i!q at jWZ8M9%l_dzNt`DI?amN^-upwa%Nn
z(sj;F9pQUP&iC$nR$xR at M);nUR!V(uZ5 at w$mT at BIBj)j0)GGD8`Chu7v#BF|FUk4d
z*0XNziq|t^e9uZNk at LO#o at E?M%Kh{s9Cot}ujl6Hy at co~_kX<n{^HfE+roW5(#YVt
zc77d@5C`BPD_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>NYKbi36`tFjS#+99`k?t4j at 7w+C
zS`g`eR(4?(I85}j%#+FA=O<Or{b5hfJ~8<VKc>RX>#rj?jQd5&9})em?2^gffAq7=
z!{py==Y4(~o~iGu;Y<Ej7CQK`n)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;$E`OyqK8D-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
z`Z?q^xx2vyvPc&S^~bo76$R`+B3&rd-<t~}&>zUNdvyz$9A&LP#)XnV$GA|aKgNZU
zK*zXHsJ}NCwvR*#>2<F31OmO3(fVj%vs;lz2b-s`xXR@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 r8q`EJYmATz4+#}-a46E
zrDCZl$ryog2r95{B~yWuiiE7ls-HH-A*jeQbF!_*fAv?4`EsfITR8@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>q`wzvI3}+IhK>GbZo&KC{MDC#iX89lc)E6fA7Qq>4%S3
zSKoa1d+M7fufBOJ_PJ!Iy5U5B<1qu|AWUIhveykXQ`z;*a3aW5R^nnUGe8c)6dLMd
zD$5DhrA*gPtBAc9S)nih`eEq$^4)iDOLw0{GLT(u=NzCP1{%*e?EEn3$%-HAOCssX
z%0L6))6$b=y-x2%^|2z}GLp~HvVzb=>4zwuDzC4;zj|G`nTzF1Bq4=$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$zBN2dS`nw8ko|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`%+xN`Z`cpW|e-+J$W#UV|7`<
zBB&^?V27ci_Z}>Qs^SWE7^- at yVDssC`hk2w*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{nbFlG1B`XKE<2vS<Vs?&k{rzxvad-V{1XIDmzqIoU%k&b9%^Q{#u5U)t
zmfd=VX=?=E_AviJt>(1dtZ7c&WqP4BITf)oM{=57lYar6wyU`2)Lq6o&GH$W`1x)z
znLfU!2Df at Pog6h2p`R*#{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)9vc7dE`t}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&ue`8*b8<U?9cnFJP>I-W
zoz)N67-?)IJA{kU2 at YkoQ#MAtLs{%$FPh*`Ru5%k#5<G)hUqZgt(VhXpC2KS2$VDV
zt0@=v@7`SA7k+$1niyQL%T7{>&_4-guiR?6vh!ZrA7m&i5i#o}LjMezy-zm`&F18e
z=ua?!+g8Bn_I>@QKM#I4`1^~&;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=%lBO`AcE1tBBecT&(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~1`YRp~y80hCIlU?0N)2&JlxVPWs3
z!If*(YPbE#;P#~>4Y*8#t;_Ytny>!yEN}&t%XpN!l5xA<JsXC)oM9p<Dl1FniNp6T
zig;AI+KK1&ld6fQE`5(6;Zx}H306k=+qixznTW?mmr7VX45?%y9+l4Ez`XJqMhffa
z$+$L^yYO)}#1Kw^!Br^ZPMmjfT3j#<;RG0*B}c<FgcD#i4{+0#zxU*KrzxEPq?w2T
zYDy;nX)a=bn$jL1S8T`dr8Rz9EGMkp>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{aDdCgwWSJJnIV`QvmhdQa#Te3-KeS2A+GW;V^%LK+lmZ45J~G!`UQOz`Io@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{Ff5J`xXCo6eUr=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|PQPB`O9SBr6=rXgUawlGy^Dp(Y`Y3NZ`z7II=(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;N`zD^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^)6lq5i6y8Oo`zH_u>{q^(~xQ<
zmY`aA8X7Jsu>{q^(~xQ<mY`aA8d9yq5>yLML!$sCmY`aA8d9yq5>yLML#mZnf@<Mu
zsB=?d395ysA=OGOLACHSq*{q3s1}}v+H573pjvnuQmw=iR0~f-s+CxRYUb&Fs=t`e
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(eD`L
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>h08B`DuMnuHuX83B<5jn8B2l|O6jB)*ryL=seDOxPDWwojX#k=8EVwrm0j#s)y@
z%0zJWMTTIy`st#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
zC9lPZaGMY`QD9Ai7utKv3m1eXngF4RirOeGGAhXnBTeFoN?RAx-dkSKM5RF>QS<mV
zN{J@K0*O-h=?27=w3cWB1QHbqVTmR{7(|)jc6nimCO{b8hafD`1PH_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{8idl`a6#LR?22u%%(OJAjTkKLSr4ke`Kr1{(*%+E#p9)lB
z399S1YM0SUEJ5}5ab_*6!TR4d|HiKVz73P{=*0Cx`_rKyJyRbJa7`#tASGg$3d^PS
z5YbgHm6*p;rzxO%+H6={$}xk5V1jxysioc(IYTf(Jtk?CdP6Wlz3_Rt8E>nY2|Ab}
zWD`Jy=PeL|rF0PCe-wx<o8XB_S7`8P%O-%BbeSL_x{{`DCIul7TQ<QHlY(QT%_M3c
zi(m44mohC)kPux-ASMMN5L?zmmur1(J{?a#m`k8>4{F41i}f_LE@(=o+cjT(G-60N
zfPx9?7xSt4ku;ZLCX%4C4y$A$2`XoK!4bE?M_~ip8G`9ng+rs%CxvFVc{I$9OGkke
zk&dQhg3tAAYCi06<qH!@P`L=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(DK`yKJde8Jz;Sr7v`^h04UcUmQ4V`
zw2TF@WfMR!F=Ih&*#r=zOP=Z&uI*AX0RY{Xw`l<1h+ax20HEvgHX6W`^Z>YWP#zrV
zOKw+vl}9`BdwdceBV6KmgrWA%C*e`3bKg2W(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%
z4`y-}U>~5*EOLrqD;^NR)- at oafgstoy8x13Mnm~!*fBp&1a^|j%2@=*^*FDyLwTGf
z{OBEL5rq4}4a1H;a2Mf0IZkbGz<|3z9C>5hWF2c`T({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^IDXkgf46s`nJ3?Vci3h+nRDqM=G}Au9D2GPV56YJ_S^fT^bhgyrr*
zv9R1-C at gmu8kV~Sm}+jATfnf~Eg&o(QJlLAh2`!-!*aKPVYyqtu-q*mEO$>S1n2HT
zVY$1|u-q+RSnd`uEO!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=DrIG`CC=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%3Sh`c0o1^@zB~1!
z0sc}{?k`2nV%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-s42S`940j25d01Egcpx9Pu&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%8`Fe)l+eU81;^vS9!)P3sL{k~Lp<=4H~71}-a>z+&tb)Oy`o%!nOWKtJu
zhpOt={=RxDRR8EFX0a<(KJhEB{#M)q_-R=c&iSE>@+*H|s2sW{zw*Vdj239R{K_F)
z%Ctkr=hqJDQl=f+MZfm(>Zda8Fl_Q`U#&}1#;+R|)5|P}wK>1`Rk3;)@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!X`c62#Q-t&u|QMCE16{zcS4SiMaH`|3%d
z at ob^imo at P5lrr@&X7XDPkD!aFVFNO6#@BV(h-`m?^@&hFJ}(BqHApY__4vGSmH*@j
zTQmZoIJy`Dul~Xz at qUc_`_*p?XRYS}^@Y*>I-q`Bmi!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-3`Z0SvegC3>5xKUb&!85uaL1LVy`u;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
z97b6uIHyAjM`YM>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;Vj0`J;fea&Xj0`Kpfea&XM24M}W*G5G
zoM^)eAt1vD43S}l7?5EEhLK@~IHMT>V`Nw%3}hIAV`Nw%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{9`1o=?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~q`aOS
zhhqZSRoJH-hhtJ+PmaSeDX%BTp_t$qfyIs28BDRr#*3kpM&%6O`SiB-Q0KWXg;{)t
zU+4>>l-89q+-pmr)Sbiymkfd^#c{#?yg`)GChQCrioz(xalvl`Qoi7+nZ@;G6j5Kw
zTd`3 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-Kq0`8L|_{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<Rm`6rjn@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~e`lA+iT?K36dI-M|b<91MLoIHyCLc=-I$
zv`tHC!)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^a5g`frNBSw}!H7A25aTh|d13`PkgmVX_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#^ynpKF`pJbgu#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~45Bpi`F>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}=NQ2WY74z`kC%9eDCD8_Qa@Dw@~wxST%kiz3(e_OPD
zbUZzduV!%j6Ro{HI*iv26IH4gV8!|L!#tJJ&WiK3<7DW0zM8F{C*zvJX$a;c;)F5^
zu_2g`h;yVU#D-u#q9zN*yj!`p;~IZ7CG#;gT_Mb-WIm=QEQHyV%*TX{0MN`hnhM<%
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&
zV0nRl`a#45iwm@`0_s_Lf&R&qN*gFG(Or|e+Yg=Nmo3@K0?~8e`b2@{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+&Uf`N1xgg}uGbdLoH
zWqlSXpnF^)knh8)dQSuaOY?P)C)6kkOY?Q(GP*x`uryycuAlpLV`;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~hZpeT`i
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}ky`wrGNtmdkeo1<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%C`nDhkaK%lFMlDhkaK%SRKrHwx$8
zs66*56p?!+C?c^a6eUu~7|%Tl$;iDDpNyoU&@8ch-;AW9&@8chG?9DMwrM4jk0KI_
zLQx|5C?c^a6eW_6Vk8xXWQpaY8A(N<Sz`HUMp98|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()%;C`zP|F`j!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
z`6!Hz{gj_U<6rN##PZP?EnzfEEFX>06GpSd^3jl at 87zDUM!ZZU9|fripeT`i6r?18
zqD1mhL{jln-GjO3KKwoY`J_my5Sk^H at 0&=f5Sk^HkA_Sx=k+x79GlDJ;~+U994(WN
zgS3Qjv`jvZ<Sq1I5p5}XHZD1#aI{RmKavv)N6X~nAa9#3oWMobS|(D4^0Asm>~fJ(
z`B=!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-3`7?`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-5aw3QJ`a&LPb6?C80P;p>m{9yT^Shu1`254aAB2RESi^#7PPjvB#8z;v|L2
zkwS6eK6SxfC{Em`LL>-wxZRUNMeH#pp*TsQa->k4xKCZM7m5 at 2sSpW*9gdR}Dq at c*
z3B^eYl_Q1X#C__5y-=LEPlZSjY_<Tgn9VBcIVqb(nW9BZYScOTc?=5`MaxkkQ(}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}C`Dn=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+z`q~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&*X`EK4{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*Y3q`5D=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)2`IcBd8ulC!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%?`)STtxa`Be0_T2i*N;(XiTcFJ~ET%w&?u-;ZB>($S2H<6=7y0=fDd%vl7
zV{$-kiRH8O9EWC!<)guSL$inZa`QajQj-NsEFTTtV}ogDm`YnNA8)$YM&a3V`FPLU
zWeu-kg&k}N5{Uow;<vvZ@WJh1hi}V$H5mN*w=Z5`HqNJmJ-lNE!>=_T{jygRSL4Ni
z|E~Y^=fUp=e}6F;{C)6QwVytJ_T}LE^7X~t-2;q@<}ehmp}NEMFF|B5IO6|^ku+X6
zsuUkY5B`BNpl$nDxs<_WuH?u2tG9O-5ASX+- at UqexW0S%|Gs;3W9bJ`O8v~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-qYbWmlBC`2fGmyh)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&WJOvDeTY4pNrmb`Ec5kH(}(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
z`C$cqdY}RGP`+4?XLHf5+Z`_6Lm3JEr`t#<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+QM6cN`w8liQ
zQ6u5?cr|ln&SbuGCgI9_o31fLUK@>su5TVqYjXv&p=h6^38ejmLGSFWwv&49n*h7}
zc%mv#R#g`mpoQ?`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}VTD6D`FBU_!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(<s5`M_H*aEqJM4KeFN1k6!!r>r%gdq{Xiv-S_L)rGEX$&tkr#wmphsA48(p4}laB
z5Xb at nVHEozkR<{Fi69`1Vm|~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~
z`86|UJerx;9?i1Mui3~Sr`^nJ&bglzQSL`!%m^tjI|K at 2D2T#XB2X9`1d3Vy|Fiez
z&21#f-SGZ93V#SZ<A}9p&6y<tUh+QcctH}9VDmCTjWl*R5Fh|b@bY>AaKsty`m?{8
zSyxtdR&`ecptSFZvn#Ue_~ltycXwPC?LTcv4(%iDXiK{vwd2U7B`6^wYabDjO<o+C
zG!sE4sUc6|+2qBMng57<Gyf4O at ccLx(u}g4NQE?@^CdZWew+$vDM5v_k)Xo!<5Wmv
z_apHTCTRomBpFOz9GSEfK_(4EkWF43nKTnYCaELHCNGXm+E6-;YeeTqwW9OmR7f)k
zDx`q~6`mibLRv~tA#Eh6 at ccLx?LXU6l+Zr19o5wRXgiKfT7nW1GHC$vBxI8pM<&fg
zkV)zYvdN1hGyf6!CXFbai@fvvI2F>2Mu}=CL4`D=^W#)VO9?8ZjRX~*AE!bZyC3aH
za*#G4PqMPfizAbkBFNfDL}Zf}M<&fgkV)zY&n7R9OxjR7jcY{bN428!<5Wm92`Z$4
z1Qnhir$SmvP$6w3sPOza741K}3IExRYU+Np8%HKBK?w<&Gyr)LvdN1hlV&2wBy|MY
z<i(Mh|A>53t5G@^dFT0YDx?{W64g$E3Ta5^$ElE(5>!YV2`W54PDT08JU-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{II`A8d|Y!s
zkB?~}FOICWAtGyuMP!o~N7mX9k+sAkvdN1hYi-1P>HE1jy3nm?CyuPOAtGyuMP!o~
zN7mX9k+sAkvdN1hYi-2)ocnpazk$3svet%(tR)taO<o*XYePiV5{t+tFOE#wcpTBk
z1ElCrKA`iZ5d_bVQz6YHsE`H{RCs=z3TY`pg|v~N!t>))P-A0Q&Wvdb^J1F9yf`vy
zDTa(1h#{N2I5KJ`hKy3jkWF43S^E!t);FdRcpVqz$FySd<5W;Hrj$elHDK~3Dm*_<
z1+`>QBr2#4lP^)>`Ee?!v77096y3O^ObH*`8fC`8QBhHF)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<TC`6`sN_)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*`$`UrYCj`wGgbr+dYH8h-dgdO$NAL`MdgRqprcF-;kKiS8Bm
zDczTFUqLxZ-KXJ8V$Qt2?&lSBPw+{<k8)4&CAwGK*V4V>KCOGjeSP>6-Gk?p#GL5J
z5`4Ba<`8^Z_pz8m@Flue+$WWjgfAWE;K;Z>e2MPCv~_h4o>QuOg0H80f-lj%;=Y!0
z6!)cmUsv~v`!u|YnAbmCkH-^n!-tl~hS%j`pAeGkO^()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$MWjT`AsYaqS>p(H${V?qovseRh_jqio)n`FfcWjBe}{^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?6`Ta`te)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#)-(AM6`mibg2pu{5*0L^$(N|`{5Tb-vG@^DMP(!oWSz!FB|~I`
zBFW-3B2(e{aao+kWLca>WGXyAPQ__#C=ODcMuy^0mFLH)fW*f7A{D0*nF`O3Q*j!T
zWpNsjsqp+b6{oTI+hDYJlxVE%tuO|q#K%M`PGc!5PGhnxP9yU1VV<AX*t8^$nS813
zqmP;VI2H6UQ!1u0lP^(0jhXy771Wq1B~d|*n0$!}&yQ0<AJZsedtn+8t<Ur0RG7v@
zDoi6H6`mib!ZapQVHy#s@ccLxr?L3>!D%HvRtd|*DLU=NDLM_sDTZa at 6rCpH6rHx>
z6vHxcim27`<nrNt@{WotA$dG%)Rl<SLVdb&QrkjJxe^jBzeJoCYSJM|v`|N`ghb0P
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%B`v7D!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&4`4&0&zlI
zb>c1$*NnK?;}wV#;;It~am|Q?yaI7TTy-KLt{IV#S0GMkdVeMLPSeqF^kE`38>o;#
zlQ$3&Xde;_`#?$@g(<kf_1)+%5e^d<4yPadTcG-?VHxI!#FsUv(^`<zB&4`yqPd*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~9j`3$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#mK`TC
zMF6QCQ--7*%7_Er#{g%TApug2I3U%NmoZ|9s!9o at I2n#INg1i{cErT~7-Nz$;yg~V
z35bTl3`vhvBMx{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~6`mibg0a`2NK`PontX{0&yQ0XT at P>Mj}uXj1gxsW
zA#bL)62FjqGZZKCkdr_gK4zi~6W_ZBQsOF2lDWhR4M>!W2Q}i--p<8V0m+gjAUO#o
zvKGfm@HL0en@VPwiw4EgamL`yX7Wd5DMONzGU9;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^xY`QYL;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{z`Sg^>
zu_Ji&WyF+Mo?O`G7(P7uN`eF*0up at 9K!UHilkO{q*zrsNEt=&)duC7l-f_?y^qV`J
zIc)B{e7kkRTV#LF%k6VT_50i!{eEXJeD;v~9S_PgW&fOeSpVDuI`41>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
z`0k+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_Q9a`WqoJV{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?eb`OLut(c0C#nj_BIAmptq=deo!24UsA9Okc
zZw#f=UQ6X at 3s6TcQ;w&-kpNAihiDRyr0TDEB0(MsJRS}_L{m<vTfjRMWQMc?9+nI7
zuv{Tc;14G0MLZ}c)D7`El2IrzL{udMNL4aO>`R!G7-FiDQgwmPqToQiC^;pDqN|cc
zLPbnqsfbC5A*L!BV0H$A!6`A6U6quohqCu2OiBzfRmlKTl?)PrdQo;t3^7$nsk*>t
z5fi9O`b6phrYadEDlHuijt&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)NXj4`Ng2dj
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)S4n1Y`4}J0dN3_t{MK_$W
zqd|paw40EOrO!Kk&%+ToOvCD78rJPy9PJ;x<QoxKyO@ggi>ZikC?XV75uupc!z5;m
zv*7t0pLsi at 1l|DN1~q!fCPxgO&+*wq!~_p9sBr|lq`aSh{q`-E;9D4wglzC6)Xl+J
zA;wd?EGDCNgwh8`onvpg`nbop)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!M`d(+;c$yV_fDhG!IFP?_QyXo`qy`h 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(4`xH1t!m`C-LtIwtJwB8Ags;+_8`{K)HdjGZ9VE+E@(%is&p)1<%F^+!;a`oj
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@=`oYCBU`dy$w1P&>I$kxl at hb~B+~M7Y9R
zaJf*CHra*ikGW8h_6Sh9&hR1<{Q)Z18D2yiPCwTfUPK#CKi3&vL>o>&(-~TuF(`e#
zJI{(OS_TM~nXzkweR{lGp6L`VX|;^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{xG`6S;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<-y3gS0`Vp)#GJwHay7Cembv2XVuTSX<qO7lX@;
zIO2vEgUfU@al?zjWjdR<;l<!G9ZuZvVsM#GCvJE#xLn7RHoOq7?uJ*S$F%Qn%j*SN
z(gqr`XWz}1i6?EKA>K+h&=6>K8)%5O!VNTpTj>TG0>Ul}ye~i329X&kzRx!oD&}sr
z_!9QwP{`Hp#c8wBE2J`|mG<Ja71X=Ra`B{9TxC`DF0))bVfCK#m)lK9dvS=js=YXa
zWjfc4y*ShyE^vKPzv{14;=83*vQkMvt5~Tdpc?H*SgAy)RjgDJORHL`B&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|W0BCqk`k%@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);kezCF`9Cw7T_9L|fr{C&I0Cy%PcJt#=BGlnA!63j+>pRTl;j5p1!lMM|x@
zl`T?oyv*^fcwvC!<@OWOA|>LjYLU`l896f+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<0I`7ja^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+&U3jA`Nm`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>^*8`IRjT5yZb>O?#=hJ`VE at 8`WP_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}VG5`7kB{QG72g!=DI at L5WOn&<RWz#(D7GI+ik2!xwO*2oh
zzo({|DcRpq(^Qh>HBB5}W;9LpUKtEirq`Tjbb}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+>?xH`oc1uJYp5Z+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~rhr`7cnUtd=AUxxXxt`q@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(Uo8`pC
zUE{iBv%+<81GX;Nte{$KvAJaHn6^0bu1Ph^vc&;%O{!UjEskSrQq8h!akyE7Dr`Jt
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!9`YJ$GLkPBC5XX5K;A2hlr{VA#&6w9QBIJ
zE~~G5a&i7sw*EdT`*WqoyEWk at m`A6lXG9de$Qdq<fk8irGKgXPzA6k|E*EfKY3DDz
z!XU2Bs2||FUMjj{)DZ|nc|!H*2a|HtLoxcr)mn^x`zNO-@X{*;s%DvD4+1SR2LKfr
zM8qR_rD1grP>Tfsc#T4JgyJRpedvF35Q;bK_xEAr+p(bEv=%qTj{lyuc){J`Th at RU
zIGrO__I@#Jk%7iKClCdyBNSisu%GERg6qA?b3DQGUUjqVF1+Mn|0L7$^s)CqnfraN
z%Tm)fgLmx3Z4Yl7EShfLykG-Eh2{hXfq#4UY`z#SrlZF6cJa)<6S28-IT%kycjHOp
z`RML;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|q8`t?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^{O`t}
zRk+4Kf8W at AyrQ4)crTISWsc!KpoG!iav}2R at q)z*jQp?Vr196rbH;8tkIkJSR~SB4
z(%CnG7#@?113_Uib&0GbRrbwt`uZ-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|AUxxUWyTBHxIN`x&^EW=x*Enw>hEmA1px2Ix(phXG=k_cXlELQefWHH-o
zkv2Q3^>l_(iqs-4vbK!Bw4k at O&<%qY`J3rPFROQ=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%M`bW 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~%IH`PF-h?eS}yS#6u)V_Ary&vXn8dW(nK`Sktm
zWZW2i7|t4h;G+x(yKtHaQ=r4Zqlh{@d%^e`av)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
zFOB`X%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
z`Lo8)li3`V4T=ONo`Y1t=M1_xGy%=mhPS^ouAvXJWo2odP-Ezsi1-KSM&S>@1d%|0
z*Nw|b<6%Czdbr+bfTEGfx4nzkr*AGAaLcdpwsU^oIl1`hPf&RA;qGD4fboQan&QDi
zkPNH`9rNNB&<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 XYzk6`eJ3WcP#S1o?IOy*~Gl8~-5paT`dVUAqcQb+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?|Myt7`0{9*hs8lufRnNKL?$2y77K3iTO%(Dp?bgv0D_zS)*#M+PJS
z#sOtV0ebzx+jHoL_d5swE=$2n;JCpzA34nN at tdHoNfx3l6dpkI9-P4l;H>jXG`(2n
zn<lukK>e`0|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(yZxVFo`SoFWh*RS
z^S at vXydRC$vE=JXjO%}S>%X`F_;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!^WUZ`ZY)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{f`VK*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?-VtvsB`GkvuccUrXpcn^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?7paK`GQ9+)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>6`qkp8(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}@A`7`9`oTv
zEMxjTg1hXbmHBXn2~KV9$!bpBu%C_z(mW9E{Tz!gKFlV=F^p00!FIs-K)tH|<HHpH
zxFL`ms(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!IWI`9KQ@pw4@3#=K!SeTYL^=k(d3NAGaZlJ)xekB_g
zsxV<wy`UIo*;_c7-e_z!{)TTxg>Kc&?fsfm4d1_pFFe)w1`Vs0k!*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+^^lQxKnuh`oH|AoiBO19l44q&Oq
zZ#BDBIM}lsynv;f%0lnSLIc0$wtZnqZsRMnK=5i}zL06Ys6w;p0umBMhpI*tc5K9u
z1nCt-ZMvX at WI??Zsm7vGrLfd=acLX0iyE%hVw;h`1nE_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}KhyCeY`wv2nWl~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~BQ0`xG=
zuy=08;#;e%Ewo+$T4;q>d;`*HN!yzn&9HZF#^M{0E<tMoT4;q>d;`)YXe~estq_ZE
z?XtGeZf`Wf*|@*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)8AH`B7%3w*SK-nq4{`}%;l*>LXQBD`$@+Rg@!
zFs%1(>%Klfn=Y;|M_0O|iJ)z7ptt&Hx}64S;|gfN7Y?Mrmn?4(?<6ZsFX33oUnaNs
z2{spby=b|;3uw?tc`vgg+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>KSE`H)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+HnZKp3O`RqbYh%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;49h`R}i;?xpV7E_c9SQ>SiKnO+fS4R9ja%hD6Z7H6t;k
z3Cm(z;oSL3Zl`cjS`Y8zXzh)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;SBs59LeX`7<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;3`uj_i>9LCR+!PlI7or~@>|0`cC=Q*AX#!l!T>62j3
zs$Mf**Y(w}xJzmP?|)xjjaUED55^Zv95cWF)!N$q`u<0z!S(%V?61bL-{0JgAFd~>
zdF`KN8tor@|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=TW`vW`
zwRe;M|LUG<Iv at V<;a`h4{2~2&+P}LUQpIQgfY<r^zs%v%zP`o(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
z`f(3g--D%3S6UUsgZnH|y=S3!h+NUD|6F;Kh1}s0Kvt`Fa?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#>lUukG7irAq`4P<`LjN04t7)hvZOg&JoFGqb1wpm^htBDOX-&-&B1OXPkncA
z(1BNyB6ofxJOoukD!nw4QG9n`T38EC(=#OX*=_APun1nrg30zdwhuVk#Pa&oGQ6a-
zK5^q&>$ulHP#*3n3zL<1d)mV0c!F<*MIc<uassFisduP(<9bS%Lsak}ej%qr&QC9F
zu+2!Jsb;a`Ig$FxyQ1TBpmPWf at 3c4$RF37`x3y~j^r?4Jk7siFK#en`r_S?EpW+D|
zlHjy1j`j~;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_AB3`dR<&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-XKLpzIUvdf6x1pR`ZA3{!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|o`qtS-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{|fIY`VMQ%
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+_Uy`u7*9<}e8w!**(PvRIcIn=v)E
zo0Zkbd0U+lfdT4Sn<*vk1xnmaD)IVmP0qN2;mN{dZiQ-8p>2f&l#frQ#HJc2S0A8o
z)}CC2;nXeNyUlp3S>+g|*rN3qrFx6 at cw3<!tF`EY9+Q!A_F?*T{+K)G@R?hoCaW~+
z5uC{P`|9RaDm>2Hi#tAJU!_wDy|ogdRk^ng*;}19fd`t7mvq;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-SJmh`4&&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~KLhNpD`XaWpr)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?oJ0wRJ`ilIn)=}4@
z(p8Qx)}qqgFF&FdSX`Z#t}CJjEU(s4SJO`wSo}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!0mu`Y84B7L!~(~L_}tuw3F!hs7n=W1K$7h%pXxOJ}F
zoU_a6Vr|#Hikn2ahl at h?R at crd4nqnn@X4-g at ub?!zI`9E_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%NU`D!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!Y9qX`KAFs?$b+!
zBI;XA at a6c!yT<Juybk>Kz4{E5u%{HTF`R9d%<&@B^uQQi-BN|f)>1^^Vtf at MdrJ|4
zMcgVx;7vX0kz86|%~lmMH&0=en^|)?QL0I at oW3fmtG$#YZIXn4>+%Xe>o%CGZ(Y9Z
zb&n1Q3;Yb6`V-$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*WX`vfajC<)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$^5Ds`2bV$=C43*D{xjPiOUR<z
z#C$P(pqSCPyPwR4x8tC7fDb=ARXP31&EW3-b_`1pH-qEz!RBB*8Nt`r8_)IN_Yd$6
zj(auQr9T`0{O1OY5bQFoHyTX>Pi|wtP^~eU&F*H1OMk$3SD!yu^yqt~FlG5a at F`Z9
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!-0KMzZPk7`ki0N*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&S8Hbn`H>*>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#(jR3RWpsvg`SD
ztC|^gNh^UBO=lQ0vPUDB8&+ at -$mL~mM8WOFi`JB?g1s0ANF)@>O3S%1VqpbVpX}w8
zi`k1+%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<XRmVl`W~XgHf?Z098y>BxL!J)2EXkY8ABwIxUqG}ZZUF0#$H%+wOQf-x;6Bb#+s
zn`3$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)aQBk`pmPdvQvqUh8$
zn%hH_QH`eaz}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}8`1U_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+QtgUnw0soWq0fVru`mF$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#e8`x*vrvJ5`j2Y
zOvZ^3$cbX?#0%jTsF_<}Nn<0QT#iK7!^_EarNN9YX_>b|=?r5e_GpCCkrFxPD3EP;
zt|?sds(fJM4c#~bBG!<$f&m#TNF)^2YJqcO#AR|CBYMTyMz%VCZ_F4F&5`Uu*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~%!;~~qQDd`B)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)bRku7L`tZQ at LVqPRXV_w-3b*#Z`wqTMoM#)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*)c8n`8DU!?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^A4E4ao`veHy$4lFOn+l2|dd
zll<C3oLzWd;ii3gA|CbFvK+wMJ}Z)^dP&-<M3nGwHnU`B{`(#2?Szsc;U$p0{zdoP
zQ@i(CI{W4xtNk!L!O+|?H2)G9`onOB%YQ#l=TmqmWNqGH7opfBdM7{j`n~<5M2lET
zl?%%*G*15R&d+7rP0J9yl{Js2B~)l$ycG3E^VTQj(_Y&g&Roj`uD3EZxdhi{RW!=A
zS&|jGb`g!<a{FYuHfx_zuFb-$$aS;DT?7MhmftR+ZL`K1<=ZT<ihSed#A5b~Wqzfx
z%Pdz$Su<;;0&CE-z}t%~Ul8P3FP-SwRJ~;1qKiahxqA6aK56~Z7_~qk%dCq;Nn^LS
zYboPHRk^8VQfyTsN*a6n9Zq`3BVFtTstk+>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^jBc`Sht=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)Te`o&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#hP`c$U*;Hx==rbjR86RReX*0A9G7Y^V}
z8ZOn-cUVmV9FyYta3qL7!ubkzM2P1MXAA$4MllXGAmTA$K1S?H>oW!%5g3I%Bc7sm
zgLn!`Lm!YeNGLLWSk@$%y;)vMZ<q>64?GRAJhmx8ebd&!t0a$0Ov3H35GoJ`S at +N>
z0e5nEMNGua8fHPg*};=&4}vGqpx#5*tK)@2>Z{O39PLKD6pDjOw>%9-i2M=ycK^|H
zA+?gn1n_ci9(mOp`e?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<MBI7`5g${|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&rAJh`JK3
zoW9+!Z@BArYZ7l7ChC+$2BQxXHK0Yos>zaErQE5+7rZu=?F{ouI^nU($erq^m(>Yz
z_1SbXo6iOxsk6F-&Z?TnWGg-(vMOPXck)1EyWCna|6`^$Rzc)Rv{7pk`IxDVTK!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>O2SiS`2Cv64yM9Ioe1
zs#qKwSZLLhBi6I{>|r)oe1LDpkM9?=R10v?qM}WG<W!)%czxdO9G+dA=i2ULRpynm
zW`rysxjOT;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<Pb5soVvLrTaP9oLd`POY|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&i25yFUQswJQG`EfX-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_h`y_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!3z6fWgeQMgpEy27z`w!$%bPVPtR44ed?
zR=O1u8&c?vR&&Kn at 5XGl?AU=-lf8EPehS%ZH?(T9*K#XtYEL11E#}DQA4l`y&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>xtvo`yy
zzF=AZudIjqZNQLNYYbF+sAVh`s4MtGEtm61Jb at l+F{%54c6m&wrDhAiCi%|}+DrEZ
z6=bj94(><o_4R{F_F9I~1NRED*K#Whzh=AFVvYss3i8)duSa4{I#7MVvi`3Ebp<`t
zZv%$J6X>Cqu~?w4pody6=aF~<J=9`S2kWi%_623Hh+JY`u(fnwP(k+k?cjd2cG>Iu
zKQg!0dBNIcukZ6JKvj^xmU>xVur?j2zF=AZudIjqZNQLNYYbF+sAVh`s4MtGEtm61
zJb at l+F{%54?edsVOU)L3P4b@|Y%kpxRFJ)XJGdWhuWw$UWUplya!zD!t$o4TWv}n^
zDnM0`zm|GgU$8bEsJ>uX|F5iv`fb3FSW^t(dZ=YA7N{%uLoJu{NIZcaYB8yUb at Ekl
z%kLNLtS=re@!BQ5Ur<5z`t9I;w07C+`#&<b*1llvve)-{6`(4}UrW8LFIbxnR193!
z|10aEej6|()*1tq9%>nj1?md^P|M{!5>KFqT1 at J`V7ELb)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
zUG`ecX{W5PAF_<kuWfJatiSBO*!{eM?92H4+GVe0810l5WUu8`7JhB9PT9Q{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%X`f%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$Z9Vg`RVneg)L^2B_ND>+v?hM$SQ>+q9XLC5fuvJ0EQ
zr>Xs<;+4t2%U7yk_`@CD`^4nWe3^<V-tGp1PZNGt@^`5Hr0gn_fA_VYR6I=n^=7`y
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#ZNz4hPmxD`j-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>g`DC4$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&Y`Z+!woKwbqpaBze@;7wSePC#}G2{cNT)J=v(#My>$;6UCT9omk at F)x=RR|_+3KC
zspu{tWa95Egw2hTLiIXVd;$TkR_OZE!tStAemdCw3JYg1zrw=Vs&9#)<mJ4x1h$_R
z=FY2LKFOWe`s|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(|TXtJ1f`O0gKMuy^_Qze`mVY;uz*Nd6lr}WaK499MC!i0Hs{QSJ$
zI+ at y}x=N9gF_z;~NP%rDS_-_Vh{%eh_UUtc3MrC`dA*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!qtdqH`CQ0eoqWMI5l2lks
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$eI`SJ~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+>N`zmq$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+ObFgtkB`F6s<D$zw
z#pE0__`A{W`10(<2rdN&|F@lAXsef4eBIENxxU#^w&dO`EL)@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|u`cGn?!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%F`wY6 at Wy1E);`{d|;00-2<KA_TJw{_Au;B&;O5giaN
zN=F2g)KB>w-2+Ne4 at c36fRaWipQC#~No1G~<L%vYvfbrNNJ<7RnDo_@<F~J0p1jR`
z`AAvB;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-pq`q6}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}R`DHe5lC9D(HCR4aY!CQ$_nnTNTQ1X$)!<oJHOc$
zPBUOZjgtV&icDv?L#K@EylEi3phD&Cge$_b<y|aXW!p`VJ!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)llQ`Gj
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?jL04`OrM4*%g09>mpq+FG!F#R|6izyXC_L8)3MU;x
z6rO7Yh0UC2-TIto34Klo+Gb7^v`vW+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;FVhhv`L8|bmbNSZBil#UAaX-+ekz6%E~PQ+D00JuG}J^ZKNUS$}IxgMjDzfRc;Z`
zHqsDu<rV>LBMm`UZV}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$|P`J3(|_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_KN`D+_-}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-MaT`C7~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{t`QWDP;PZ|QFyKq6i)OZ3ePoy!ihda;kiao)X{gEaJ1YbsA?5D
zQMKG7sA@GjQMKG7s8EsV?E3zF^EL<9?i<b#G^j>rnuc=(4Jy%@rr{hxLuu4}Qc`T3
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&S`NVxm
z8V5`+5s*a~l3XGnr)iaAPlK1j2DEb=<4YB;nhHLuYNqQOr`X-n(K2;NN7pkV=3+W=
zZ+39`LM{=Ii!da)2$0;g1AB4!$Y^t)s?;l0t`QX2y;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_*<#I`lkDw_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(f`Fetda(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=J`BX7bFrm*KgZm`Gk<0qowk+slAOe9Oe(?fF?4I3WoNH_t$
z^1+{gpZ{Pjn8=cWKLftS!JYtl&mK45)nHBb>lwTazLCKjB)On>T=BUF-?QMM#=O4p
zT5aJ3`qBfBWj+ES+xV7Lz_%FqbKrXmf<ZU~zns9HfnP{q4fG`h)`DL=U=8@?0>NP3
z<j)#$@WI#ovql^XL?aG33);rOo=d>8nV at Aefy4XcWoXGrz>*PRA%#R#$%dek4KdB@
z(M4FrjL3?abTBV67t!rY(pfvHp`4HS)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(!1`TDf5ywSq)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}M1Z`B0QoV30C^Ju at +JhN7htfJgP5`vVP&gD
zzU8m~EwW&>$buDKAi<XwUIW1zuqgO!{{~;?z<OYDzysdIpqc6Q2&_ZNK<_qSJuHKH
z`i}L$psP0!upacBt85Wgd9iHe1Muw0STxlEOQt&16cfH>)f9q5O(8hc6l1=v)f9q5
zO(8hc6w1|d`KUFkWKAI;AVvA0FN;8FVxMPb9gspra42M<ECTP~Q1A{lg_6#7B#Ki_
zr8rT&R1cK0s!-+YE>t(V3&kZbv{6K|nPQR6H8?%;Cx&4j)0BN`8rg>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*CM`VM|{mryQx`Z+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&~W`CC$?FswWCtv?=FnGP5+)ZbL*$V!euih754PY<&
zlP9>1Y(5!$xSLO(7?&&D7<P5JxZA=gP;9U0jM?C~<*u?-vAVv$85H0Ee}D1hBkUow
zKmM}!--AC6_8#~5j`sfW<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$A`f{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}@n`HFWU2e+A*sz$MS8`aJlhIe%@G#+%;jbroWrvkN1-!@uhiQ at wj*AO<
za}2rj!gYl#>}N9e`&{g)jJ?=qmirqK8*h#5Wr`vVqIBCO6MQ00r{Ou++;I+Cs63&=
zMWUQ!kyQC>7V4u|lYf2810IV?(_`>?;4twQFWdn>cd`WozYLG-G&vOsce_>e%&V56
zlqid%-29d`fj0=`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=kDd1frndnO6rDgvtX`ougu7Tcql393KsFkt?UY?Q%4|68D^l%G0
zOB$Mxi5XuMc{8%dr`Vnp`0-IT0j@!c+85)a%vJuUd)T8X1lhHVRUqPLPKh7KsJ{%q
z$-HVk3czR9?l%GWabEIY>+tYup*(yY9$rwC2frV{&n^B_6(3)hlv(~g^;$C<UEbnH
zFK)^$yxgod`1+?@_@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%FQrkre`xOlL9hK
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{HK`5cg83Wv=w`nE@=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{XR`Di!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*S2D`gaJE7PmoIvJ^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-!79Zjp`hqOEZRHU6+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!tJGxdI`6eKI$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^!;waUQuRP`Fw{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(64`iFdQ_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<3uj`2kCZh@y<zEl4Djv<?{;ek5yay5xO<|#&>wyIXQ&?)j7PAkt
z%+0i;8QhN!tJVV(NT*QM()B<E`YBY@TBn=5>z~m946T}O(_9AV-V_RIpScv!t0@$4
z4`egizgp)Bb+|VZbt-ydP(C7bGtFFVycyzF3aO?yH`B~V2oYadc!Igpa+&*>;&AjV
z&;d_+=(R>OxP+2~!dX)vB+!c}EZ8dgV1W)qVZjarSeEPYW|n&ujXP)pn)Sg0Puwa*
zR<=Hf;Hg`M$W<<LQaid)=Cn53D4<LpP);FomCGao<rE at Uxy&0`qnp6uZJFDdJfNIH
z<SLg*1j;Ey^Yu;c2sRNvH#X0`sR6^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}<dfo`Vhfpb3uVtdgtfkSsaq<CV5NdX46cvajv}`GWQgeEmkmHJUTfR{?mk
zXW(B?w6p<h4tAkpw{JRkU$&%`1!d&G^@)s<<C21cj^+&X_c}V7Gtd`Xwd`n4N5^|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#e`38-=-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 3g3`K|`=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!%3aR`Jfo${GNRYXj=ZO9ZikldwH
z4>5IN%56tQmwGClvSK2TP(77S`Anh4WMax}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^{Ek`aKg<c6-7pX`r4=OqonYmwGClveYAxP(77S`AngDGBNd`UZ|c-
zOqonj+2MY#bjnhXKtlCYI^{Ek>dC~^hkBuUGBIT`L1l;QsdUOxk3d58R66A|h3d(~
z)Q5VZdNMI(GC^h20>olEooV+;=_<-~%~G;vovW|M@L16`pA|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+8K`BB!wNE+^3KHU}ebRX_d4T6uds$=clg?u`QF&^gbRMgT%2WHK^K5QZ
z#lV`5{V<-ZpHwpTbbPGO`D#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>A9r`g_Yfb&2vj<!>aDU=DDS_)e;5w%$q`iTRK}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_ZP0w`BTA~nV(=(m3
z7AwTr^i1bO#irAZa#>e;q;sG`I!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^}~FlT`YKR>1^;E8(emVrS$#M`6i1^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^1`OvZ}^7lbvL()yxUlMIWP!+j3bSOj%Wj?d3Mb&R*pb0pCm#jqUdBu^!hr!ge%
zr`H-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^1k9qy`fhl8aUibXs_|?hx#%O1b2&2-hX1&k=j7BqGEcjr+!0ST>Ssv)X1j!e7
z<LTTE>;8a?=V*n5 at slqk82CbxK`tbig+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}k8`EQ<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_$iY`7vH;%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&aPP`C8Q^N0r}$Z1I_ElFyl5BimcW4C3khDb%OvmnApsbLWU=if5`d9O
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>1`cGM`w?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$o`X!}Ml|Gz+=zx8k>{Wjt=an;2(V_a3XDa at M3s0<jGo6d78w(>h{wbX
z;W3Rx#)LS&nyn|IzG#!AMVpL_3P{Kpsf1kGWMtGqLdJL{<kBW1lNyhcV*FtyD`M 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^`s`qEhS0p^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$p`a;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_5`o=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^SwhYR`y7JTwU_!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=!4c3`v!zS_n`L)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^7ISm`AxR at ylhRIIeiET~xN#j&6wrJZAO?J^7Im_=dRi=zlz`>tJPaTH@&
z97R|b*DkX-im at z?A}ot*msx7X<oQFbiab|o`pAs6dNO0Jkj&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~0VxuvaZ`oNIIFuE at B)
zVN+2C(=rjL*r~aUwo#_xaMnX4+=C9scGk9XrOp~kp>)<$zOxQtYMu3z at 2o?RT4!BM
z`K}d@b2)>@<(ydvXn34M!{ag<&REvlnfPiToR5@t4&AlOEI0uxQMh3Nr&pz&V{z>=
z3r>nk6pjU_Jf)puaqTh-#<Cd~{M92Cl#CpHWt73OIz({PS_H3*GC1lZf@AO^cx9Bq
zQI`33aXq<VKk<mMTeBpMHOmwzjzWP7C=`xara*}l3e-WNaLh6V3N_V*vSvvrYnCZc
zD1`!*P$(R;Oo2iv6sUwk;h1HLIRbF)m<*gaWRL;Z65s|693Y(`1JZf?GKPd`P6<G=
z7sFy9$)J6=LkjyrDkK@?GS0CHuoZ&_PDeUJ23$*k8wrrkkOApDzG5Uqb4mb`uNW0l
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?TrhaE8UGPkGH`K{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#*};7I`cIc{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>?A`rX3zVm*ayZQJWa9vk`b$=ee
zavSIKSFe3wzr%R`s`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$8G`7&pnt6AN9hszC3;D4myxd?$5K!
zKfiKmFB-p38^2#PeqUUkx#h&M;{4R>VQ`RW9Kz9|afnVldHwE{TXA%1^B|qvJV>WM
z_ws{I_7Bmi{vkZ^^4P6WJkLLZr};<lEYS7jts6U@*gA;kwhmHh&)za4^LgtimAQ2k
z5l&ve`u6O*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?6A9s9d`GyWv7oq`LVl)EW3NiVRsKZ?CxQQ
z-92pC58Cza9<uE2A&1>P?6A9s9d`GyWj}1QyN4{hd&psT4?FDcVTav4Y}hZ|L?nPW
z-XX*89kM67Ib=_C57`slL-s_s`t6DCA$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 oXG4DxF`Qzj$%#_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_j`9)z@F<Jv*&upF2427IzIDO@(}s#)!WmHi+69{I)gEy!*RHm
z(LQ)`e(GIPml&^(pP##{cNXKcc^pfLoXz9UVFC6(96I{#E!-m03p#x4);SU}hmnUl
zT!XY`R>s>qT!VOrYmj3%m7J2ehieeey9V**WHpF)xCZeKBgh%A33C`hn8OZ;TW+dB
zgY6!6K-|MMNULgVpq8lyYne!&)93HLYtD>GA<jS=aRw?|b6JT>)jUY$X&$UkKR^A`
zsXP6wF`AYdsA-|NT9+mMg$hOD`9NoRG1|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^15`w}*%aJjBKs=Wv(Q9p}IQ;Rp0^Z(+b8EQWgs
zwK;jy>f@<hwhyB^jQ7d;@k?*H`sJB>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(>h6Wq`QPVm~yCwLk>?OAN$
z#YW`&+X?t>%Y7<fSzX`XfNQb(;tB3mncob4`|W(Tn8F^Gy{r24_p|Nbx8yeX;~xim
zUx4d?Hn-s4?ny)Kq<{JN<X?REebwENz$y4&&9YHXLK2T<DZ3B;&;KE3#5Z9VG0rR5
z`3sA?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&?W`8a#N=*+H^*bC`$V05C
zev3l$VQ4uAfRMmdS?>HOvX6~~P-?b4ZIENFvd1r^-QjDrtEV<H>97w{vym)X<O9qf
zzx=pwDoW$SvixSA6%foP`vKQ<<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<WNBWe`Z+fs5HLl5X
zoz!Vu)gMA`Hu^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
z`W1P0&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)csh`k}#1nKfc=X719N>`vSZ<(*L;FVP
zWoSP|B$Uw4;5;9;VMKxn)qpz@;=zQLXg1H8Z48mc6B?v>elQY?xtO5FZT1SpferVB
z_5{1jB9Zp#4okZ`EVmrS!U<toxX5l}_*9D1Zl8=S-BY3auzOBpOLrhNt8!CnWa$os
zre)z`OLr(_FFpktS+YYRNdPLc10Nm=2?9`&efaQ5kRPDT<wxgXWq2e=4^Yn{wK@{|
zG=MsYg%Sn<fI5tX`bH=fJ_Q#GCA7&?c>FOIN@$M&6`Ks-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{gKe`o+W_^J+A?yhcaSgl{#Si=y)XD
zQz7H3=O$wDgv2ZHA}4D5PlePg at nZX8Y5q+QugAtJ^iA}DyTyuF#>a}q37&uH0`Kf0
zsCvmvTY3J5Zf+t<xxy(g-($_AUz5+=vhKz=H23`xrX-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
zbdU7hjzxj4G46g3CeKIA`fe?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#TB`O)+eCX?j5+e3>LkY3$
z1Eq24%id5T;d;5DRI7Fzc>{X5&&(SgxX5mUy`e;L_IE?cfr~92cSEU$JBihfyP at R3
z#g^_+7 at 4Z~n?~jwcY_Lx2e%}mi^g1`Sg6PWfxSUxp(4iw_6C)OdK#$}cZ148MJ_oH
zxf at g#Dss7b$n8?FP?1Z`L+%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{B8L`s&C^0fjxOw)r-h1Kd0;o?Td2rY
z2X at WVLPf4Puxp+cDsr`fUGqe!p4L1~sd`!Sv{13hz^!>&sMuuS);uj#Y%*|bo)#)L
z8Mrl13l*6R>>4FO^|wapz(w{D>>8y57nvCB8l?jlnH=mIr2`k4AnY2Y0~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($MtHN4`6PA>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#&CtZY`r=6Cg3`I 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#p1`UCU2txWqp`x at xECS6N`BdWBCN%&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^U`BHK^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!ZL6`SJgkP4mTR`!zappYu=DG~)vMXKI>}k^K`j
zO%qvM)5Q5 at MAJ0ymBDVR95suGVelcsR~s_hU3+i6r8F8}y}-dZqECO;D&((7sqbTy
zI`}m!b^d)sPMJ^X{YqQk_c2PfXZOF7)^{A;QMD%}zb2`odMaj`^J~&7s;`QBqhf0a
z_$Qt!P!o*mt%l`|vR~b_>N2{!8k&z;{t5>{(kiaM`qfU?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<ko`Pl^&*M>gt
z34*Dif5O`r(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;n`p<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{beADS`MN`h@^yz0<wJ-V`IxO<a_qc(r?1{#
z{5e{`kEZ@z(dA){c?stE>(_6H6tk$VI2i*w{YEc?7-imfg`tPb8JzEI^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<ZGlWJ9szSI`S|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#rSHzDpuF`H{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&Z`W+<K`qmA&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|(RhZY`2rrAA;B_6AYa
zUv81iX$IVDQH+<E47P0i`PS&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*m`A
zq5j*KgMWitr0^GMI~ZKzIqXf-FD09m#hy!dS-mS=dm<UYw;sK*rMqXD?K4oK)!q8v
z2LC{_EhbE9sifv_uc$cNb#CzDPqS=mi_6;EMMgKN)M(QRj`phT&4ORsg5%$ff-`sQ
zpa`YTICOY{;mt*^;4}g`s+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~aHzx`zI4+Gd4
z0*c^H5VQNlJ7;3fdGvSD49!^(r*PWLo;LCJsO*=gU7OSF7M0(_2gvJW#LQUCR`0jB
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+Q`D(1j%{t5njKfV5XzM3rVr?anjRop%J
z@9^2P-_YL&PrbkK82tB};r`RTr^CI&;r{41d&AM_VDy{8vt1R)#l43d*$f81`Rio)
z;rega6W8YcJ7jl#|B3$X*1zc!eh-^aZ|3j6y6r6rtl)#Ee!U;sJlNYC!v984|0DD|
z+&?&k`ac-$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!&3HM0f8HQvVJZJG`04I`FoEH0Gn>v~cqFF5
zd^><~=Igu70EWT&%}<B}$Dnkx&0u>w8$cJoECzQs^y9l%?*`w^Rxma#25;`KfqHO0
zpFk;QgE3I!k>Zw$k2rX`6!sqmvpLu|gAcP!fntM at P>A0`R8Y<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)CQ`y9cqm;Hn&R`6~8;=blT3q*5KtbW3?9NGIuel@BMddXtGF1P>cMPhQBG+*g?
z+P1{~)vw)Z4<Add>m-H*?`H284>8WS|E<Bf+9Tuk?iKz6_;Ua1j at D(l`xA*=?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*wPC`Bz_&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~HxM`l#WmV78QAovOnkf;aayB)oGf#9qYWfw*1hqyxU_o1TRU-Q~1<L&$gV?b0
z^}763xz8n1Sl`HEm!@M0ZN1GE?s>o`e!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!K`i>&^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(PjvUg9`yPl&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

diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig
index 778c31aba01e..d8614ef244b9 100644
--- a/configs/qemu_xtensa_lx60_defconfig
+++ b/configs/qemu_xtensa_lx60_defconfig
@@ -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"
 
 # System
 BR2_SYSTEM_DHCP="eth0"
diff --git a/configs/qemu_xtensa_lx60_nommu_defconfig b/configs/qemu_xtensa_lx60_nommu_defconfig
index 63e0194fefeb..174ebd3d5f9f 100644
--- a/configs/qemu_xtensa_lx60_nommu_defconfig
+++ b/configs/qemu_xtensa_lx60_nommu_defconfig
@@ -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
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 6/7] linux: apply xtensa overlay
  2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
                   ` (4 preceding siblings ...)
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 5/7] configs/qemu-xtensa: use overlay from the github repository Max Filippov
@ 2017-07-09 12:22 ` Max Filippov
  2017-07-09 12:22 ` [Buildroot] [PATCH v2 7/7] uboot: " Max Filippov
  2017-07-09 15:22 ` [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Thomas Petazzoni
  7 siblings, 0 replies; 15+ messages in thread
From: Max Filippov @ 2017-07-09 12:22 UTC (permalink / raw)
  To: buildroot

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.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Changes v1->v2:
- replace ARCH_XTENSA_CORE_NAME with ARCH_XTENSA_OVERLAY_FILE in overlay
  application conditions in package makefile;
- add ARCH_XTENSA_OVERLAY_URL to EXTRA_DOWNLOADS in package makefile.

 arch/arch.mk.xtensa | 2 +-
 linux/linux.mk      | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
index ba3e3025b7d0..8841b4f9d363 100644
--- a/arch/arch.mk.xtensa
+++ b/arch/arch.mk.xtensa
@@ -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)
diff --git a/linux/linux.mk b/linux/linux.mk
index b0e974774af9..032d64fc22e3 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -86,6 +86,14 @@ ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
 LINUX_DEPENDENCIES += host-uboot-tools
 endif
 
+ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
+define LINUX_XTENSA_OVERLAY_EXTRACT
+	$(call arch-xtensa-overlay-extract,$(@D),linux)
+endef
+LINUX_POST_EXTRACT_HOOKS += LINUX_XTENSA_OVERLAY_EXTRACT
+LINUX_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
+endif
+
 LINUX_MAKE_FLAGS = \
 	HOSTCC="$(HOSTCC)" \
 	HOSTCFLAGS="$(HOSTCFLAGS)" \
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 7/7] uboot: apply xtensa overlay
  2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
                   ` (5 preceding siblings ...)
  2017-07-09 12:22 ` [Buildroot] [PATCH v2 6/7] linux: apply xtensa overlay Max Filippov
@ 2017-07-09 12:22 ` Max Filippov
  2017-07-09 15:22 ` [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Thomas Petazzoni
  7 siblings, 0 replies; 15+ messages in thread
From: Max Filippov @ 2017-07-09 12:22 UTC (permalink / raw)
  To: buildroot

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.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
Changes v1->v2:
- replace ARCH_XTENSA_CORE_NAME with ARCH_XTENSA_OVERLAY_FILE in overlay
  application conditions in package makefile;
- add ARCH_XTENSA_OVERLAY_URL to EXTRA_DOWNLOADS in package makefile.

 arch/arch.mk.xtensa | 3 ++-
 boot/uboot/uboot.mk | 8 ++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
index 8841b4f9d363..c529902517ea 100644
--- a/arch/arch.mk.xtensa
+++ b/arch/arch.mk.xtensa
@@ -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)
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 605859c90c56..73d72630b23a 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -153,6 +153,14 @@ endef
 UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 
+ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
+define UBOOT_XTENSA_OVERLAY_EXTRACT
+	$(call arch-xtensa-overlay-extract,$(@D),u-boot)
+endef
+UBOOT_POST_EXTRACT_HOOKS += UBOOT_XTENSA_OVERLAY_EXTRACT
+UBOOT_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
+endif
+
 # 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
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 1/7] arch/xtensa: get rid of an intermediate blind kconfig option
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 1/7] arch/xtensa: get rid of an intermediate blind kconfig option Max Filippov
@ 2017-07-09 13:45   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-07-09 13:45 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun,  9 Jul 2017 05:21:55 -0700, Max Filippov wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> 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).
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
>  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(-)

Applied to master, thanks. I've fixed a small typo in the
Config.in.legacy help text.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 2/7] arch/xtensa: allow specifying path to tarball file
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 2/7] arch/xtensa: allow specifying path to tarball file Max Filippov
@ 2017-07-09 13:45   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-07-09 13:45 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun,  9 Jul 2017 05:21:56 -0700, Max Filippov wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> 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.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
> Changes v1->v2:
> - replace ARCH_XTENSA_CORE_NAME with ARCH_XTENSA_OVERLAY_FILE in overlay
>   application conditions in package makefiles.

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 3/7] arch/xtensa: accept the overlay to be compressed
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 3/7] arch/xtensa: accept the overlay to be compressed Max Filippov
@ 2017-07-09 13:45   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-07-09 13:45 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun,  9 Jul 2017 05:21:57 -0700, Max Filippov wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
>  arch/arch.mk.xtensa | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 4/7] arch/xtensa: accept the overlay to be an URL
  2017-07-09 12:21 ` [Buildroot] [PATCH v2 4/7] arch/xtensa: accept the overlay to be an URL Max Filippov
@ 2017-07-09 13:48   ` Thomas Petazzoni
  2017-07-09 13:57     ` Yann E. MORIN
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2017-07-09 13:48 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun,  9 Jul 2017 05:21:58 -0700, Max Filippov wrote:

> diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
> index ecb9c1086a70..ba3e3025b7d0 100644
> --- a/arch/arch.mk.xtensa
> +++ b/arch/arch.mk.xtensa
> @@ -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))

We should be using $(DL_DIR) instead of $(BR2_DL_DIR). Also, an issue
here is that this will not work nicely with the per-package
sub-directory in DL_DIR that Maxime Hadjinlian is working on.

Indeed, we have a single download that is done by a lot of different
packages. Since the downloaded file is quite small, I would advocate
that we simply re-download it for each of gcc, binutils, linux, etc.

Another issue that I have is that we're not checking its hash, even if
the file used in the qemu xtensa defconfigs doesn't have any version
information in its name, making it quite likely that the contents of
the file will change without us knowing.

But indeed, I don't see how it can have a hash, since it's a custom
stuff.

In any case, I'd like to hear about a direction to solve the
per-package DL_DIR issue.

Thanks!

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 4/7] arch/xtensa: accept the overlay to be an URL
  2017-07-09 13:48   ` Thomas Petazzoni
@ 2017-07-09 13:57     ` Yann E. MORIN
  2017-07-09 15:24       ` Thomas Petazzoni
  0 siblings, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2017-07-09 13:57 UTC (permalink / raw)
  To: buildroot

On 2017-07-09 15:48 +0200, Thomas Petazzoni spake thusly:
> Hello,
> 
> On Sun,  9 Jul 2017 05:21:58 -0700, Max Filippov wrote:
> 
> > diff --git a/arch/arch.mk.xtensa b/arch/arch.mk.xtensa
> > index ecb9c1086a70..ba3e3025b7d0 100644
> > --- a/arch/arch.mk.xtensa
> > +++ b/arch/arch.mk.xtensa
> > @@ -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))
> 
> We should be using $(DL_DIR) instead of $(BR2_DL_DIR). Also, an issue
> here is that this will not work nicely with the per-package
> sub-directory in DL_DIR that Maxime Hadjinlian is working on.
> 
> Indeed, we have a single download that is done by a lot of different
> packages. Since the downloaded file is quite small, I would advocate
> that we simply re-download it for each of gcc, binutils, linux, etc.
> 
> Another issue that I have is that we're not checking its hash, even if
> the file used in the qemu xtensa defconfigs doesn't have any version
> information in its name, making it quite likely that the contents of
> the file will change without us knowing.

Hmm... IIRC, in the following patch, we're using the file from a specific
git sha1, aren't we? In this case, we don't really expect it to change...

> But indeed, I don't see how it can have a hash, since it's a custom
> stuff.
> 
> In any case, I'd like to hear about a direction to solve the
> per-package DL_DIR issue.

I think this will be as simple as using:

    ARCH_XTENSA_OVERLAY_FILE = $($(PKG)_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE))

since this will be expanded in the commands for the .stamp_downloaded
stamp file.

But as you say, this means the file will be duplicated for each
component that needs the overlay.

Regards,
Yann E. MORIN.

> Thanks!
> 
> Thomas
> -- 
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 0/7] xtensa overlay application rework
  2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
                   ` (6 preceding siblings ...)
  2017-07-09 12:22 ` [Buildroot] [PATCH v2 7/7] uboot: " Max Filippov
@ 2017-07-09 15:22 ` Thomas Petazzoni
  7 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-07-09 15:22 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun,  9 Jul 2017 05:21:54 -0700, Max Filippov wrote:

> Max Filippov (2):
>   linux: apply xtensa overlay
>   uboot: apply xtensa overlay
> 
> Yann E. MORIN (5):
>   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

Entire series applied. Thanks!

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v2 4/7] arch/xtensa: accept the overlay to be an URL
  2017-07-09 13:57     ` Yann E. MORIN
@ 2017-07-09 15:24       ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-07-09 15:24 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 9 Jul 2017 15:57:18 +0200, Yann E. MORIN wrote:

> > Another issue that I have is that we're not checking its hash, even if
> > the file used in the qemu xtensa defconfigs doesn't have any version
> > information in its name, making it quite likely that the contents of
> > the file will change without us knowing.  
> 
> Hmm... IIRC, in the following patch, we're using the file from a specific
> git sha1, aren't we? In this case, we don't really expect it to change...

Yes, we are fetching from a specific git sha1. And anyway since it's a
custom download, there's no way to store a hash.

> > In any case, I'd like to hear about a direction to solve the
> > per-package DL_DIR issue.  
> 
> I think this will be as simple as using:
> 
>     ARCH_XTENSA_OVERLAY_FILE = $($(PKG)_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE))
> 
> since this will be expanded in the commands for the .stamp_downloaded
> stamp file.

Indeed, so it's fine for me. I've applied the patches.

> But as you say, this means the file will be duplicated for each
> component that needs the overlay.

Not a big deal IMO. It's a 90 KB file, and it's only for the specific
case of Xtensa, so I don't think it's worth extending the infra to
optimize for this.

Best regards,

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-07-09 15:24 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-09 12:21 [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Max Filippov
2017-07-09 12:21 ` [Buildroot] [PATCH v2 1/7] arch/xtensa: get rid of an intermediate blind kconfig option Max Filippov
2017-07-09 13:45   ` Thomas Petazzoni
2017-07-09 12:21 ` [Buildroot] [PATCH v2 2/7] arch/xtensa: allow specifying path to tarball file Max Filippov
2017-07-09 13:45   ` Thomas Petazzoni
2017-07-09 12:21 ` [Buildroot] [PATCH v2 3/7] arch/xtensa: accept the overlay to be compressed Max Filippov
2017-07-09 13:45   ` Thomas Petazzoni
2017-07-09 12:21 ` [Buildroot] [PATCH v2 4/7] arch/xtensa: accept the overlay to be an URL Max Filippov
2017-07-09 13:48   ` Thomas Petazzoni
2017-07-09 13:57     ` Yann E. MORIN
2017-07-09 15:24       ` Thomas Petazzoni
2017-07-09 12:21 ` [Buildroot] [PATCH v2 5/7] configs/qemu-xtensa: use overlay from the github repository Max Filippov
2017-07-09 12:22 ` [Buildroot] [PATCH v2 6/7] linux: apply xtensa overlay Max Filippov
2017-07-09 12:22 ` [Buildroot] [PATCH v2 7/7] uboot: " Max Filippov
2017-07-09 15:22 ` [Buildroot] [PATCH v2 0/7] xtensa overlay application rework Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox