From d4ad93508b94fe883b4116fa88c62e2f45732dbc Mon Sep 17 00:00:00 2001
From: qyx <565485304@qq.com>
Date: Tue, 3 Sep 2024 18:17:37 +0800
Subject: [PATCH 1/6] feat(master):Hystrix1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
后备1 + 合并
---
.../NetflixHystrix.md | 4 +-
.../dev-protocol-springcloud-hystrix/pom.xml | 21 +++
.../example/controller/HystrixController.java | 153 ++++++++++++++++++
.../NacosClientBatchCommand.java | 50 ++++++
.../NacosClientCollapseCommand.java | 85 ++++++++++
.../AuthorityFeignClientHystrixDemo.java | 30 ++++
.../NacosClientService4HystrixDemo.java | 47 ++++++
.../bak/AuthorityFeignClientFallback.java | 21 +++
.../AuthorityFeignClientFallbackFactory.java | 27 ++++
9 files changed, 436 insertions(+), 2 deletions(-)
create mode 100644 dev-protocol-springcloud/dev-protocol-springcloud-hystrix/src/main/java/org/example/hystrix/request_merge/NacosClientBatchCommand.java
create mode 100644 dev-protocol-springcloud/dev-protocol-springcloud-hystrix/src/main/java/org/example/hystrix/request_merge/NacosClientCollapseCommand.java
create mode 100644 dev-protocol-springcloud/dev-protocol-springcloud-hystrix/src/main/java/org/example/service/AuthorityFeignClientHystrixDemo.java
create mode 100644 dev-protocol-springcloud/dev-protocol-springcloud-hystrix/src/main/java/org/example/service/hystrix/bak/AuthorityFeignClientFallback.java
create mode 100644 dev-protocol-springcloud/dev-protocol-springcloud-hystrix/src/main/java/org/example/service/hystrix/bak/AuthorityFeignClientFallbackFactory.java
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/NetflixHystrix.md b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/NetflixHystrix.md
index ff18d86..11924a2 100644
--- a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/NetflixHystrix.md
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/NetflixHystrix.md
@@ -33,10 +33,10 @@
### 编程方式应用 Hystrix 请求合并
-
+-
### 注解方式应用 Hystrix 请求合并
-
+- 使用注解的方式比较多
### OpenFeign 集成 Hystrix 开启后备模式
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/pom.xml b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/pom.xml
index 3c5d3cb..deb2130 100644
--- a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/pom.xml
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/pom.xml
@@ -49,6 +49,27 @@
fastjson
1.2.51
+
+
+
+ io.github.openfeign
+ feign-micrometer
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+ io.github.openfeign
+ feign-okhttp
+
+
+
+ io.github.openfeign
+ feign-gson
+ 12.1
+
+ dev-protocol-springcloud-hystrix-dashboard
+ Hystrix Dashboard
+
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-hystrix
+
+
+ org.springframework.cloud
+ spring-cloud-starter-netflix-hystrix-dashboard
+
+
+
+
+
+ ${artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/java/org/example/HystrixDashboardApplication.java b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/java/org/example/HystrixDashboardApplication.java
new file mode 100644
index 0000000..ce530dc
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/java/org/example/HystrixDashboardApplication.java
@@ -0,0 +1,21 @@
+package org.example;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
+
+/**
+ *
hystrix dashboard 入口
+ * 控制台页面 http://127.0.0.1:9999/dev-protocol-springcloud-hystrix-dashboard/hystrix/
+ * 需要监控的服务 stream 拼接: http://127.0.0.1:8111/dev-protocol-springcloud-hystrix/actuator/hystrix.stream
+ * */
+@EnableDiscoveryClient
+@SpringBootApplication
+@EnableHystrixDashboard // 开启 Hystrix Dashboard
+public class HystrixDashboardApplication {
+ public static void main(String[] args) {
+
+ SpringApplication.run(HystrixDashboardApplication.class, args);
+ }
+}
\ No newline at end of file
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/resources/bootstrap.yml b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..976837d
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/resources/bootstrap.yml
@@ -0,0 +1,33 @@
+server:
+ port: 9999
+ servlet:
+ context-path: /dev-protocol-springcloud-hystrix-dashboard
+
+spring:
+ application:
+ name: dev-protocol-springcloud-hystrix-dashboard
+ cloud:
+ nacos:
+ # 服务注册发现
+ discovery:
+ enabled: true # 如果不想使用 Nacos 进行服务注册和发现, 设置为 false 即可
+ server-addr: 127.0.0.1:8848
+ # server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 # Nacos 服务器地址
+ namespace: 1ccc74ae-9398-4dbe-b9d7-4f9addf9f40c
+ metadata:
+ management:
+ context-path: ${server.servlet.context-path}/actuator
+
+hystrix:
+ dashboard:
+ proxy-stream-allow-list: "127.0.0.1"
+
+# 暴露端点
+management:
+ endpoints:
+ web:
+ exposure:
+ include: '*'
+ endpoint:
+ health:
+ show-details: always
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/resources/http/dashboard.http b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/resources/http/dashboard.http
new file mode 100644
index 0000000..2395cb6
--- /dev/null
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix-dashboard/src/main/resources/http/dashboard.http
@@ -0,0 +1,31 @@
+### 获取 Token
+POST http://127.0.0.1:9001/dev-protocol-springcloud-gateway/dev-protocol-springcloud-hystrix/communication/token-by-feign
+Content-Type: application/json
+e-commerce-user: eyJhbGciOiJSUzI1NiJ9.eyJlLWNvbW1lcmNlLXVzZXIiOiJ7XCJpZFwiOjEwLFwidXNlcm5hbWVcIjpcIlFpbnlpQGltb29jLmNvbVwifSIsImp0aSI6IjJlMTgwYzA2LWIwZGQtNDJjYy1iNzk5LTZiNGI4N2Q3NTM3NCIsImV4cCI6MTYyNTQxNDQwMH0.P8gKWcwiibEmq80idCl9QzUaqJnQ7FVQ5yxzlMLfRNcG3nWMYh0o1kBO2vKvDGG8BofQ4__xn210R2P7zjH-uEn7hic0jbBt97vLkzvATnFegxaDSjUp9At9BIGl9Ecu7RPCwSQJFdw6NBMBz02Uom8yvHpUJEfv8_jZRurBp94tzES6IAACKC6NFq-3_mQfT4o_zA51U4hBbIBw6qNXvMSqK-VtaqkTNFfJsP_8Y0nmQck0jxmgdtLfRVfZCCp3rhcLNDBX37THQI6U7lvNFETceAKyJ5NFaA8p68lw_3D2IiZER1jEU3M2QIMQGeU0pmQ6IPwGDdA0MP5IKKzj8A
+token: imooc
+
+{
+ "username": "Qinyi@imooc.com",
+ "password": "25d55ad283aa400af464c76d713c07ad"
+}
+
+
+### 根据提供的 serviceId 获取实例信息
+GET http://127.0.0.1:9001/dev-protocol-springcloud-gateway/ecommerce-nacos-client/hystrix/hystrix-command-annotation?serviceId=e-commerce-nacos-client
+Content-Type: application/json
+e-commerce-user: eyJhbGciOiJSUzI1NiJ9.eyJlLWNvbW1lcmNlLXVzZXIiOiJ7XCJpZFwiOjEwLFwidXNlcm5hbWVcIjpcIlFpbnlpQGltb29jLmNvbVwifSIsImp0aSI6IjJlMTgwYzA2LWIwZGQtNDJjYy1iNzk5LTZiNGI4N2Q3NTM3NCIsImV4cCI6MTYyNTQxNDQwMH0.P8gKWcwiibEmq80idCl9QzUaqJnQ7FVQ5yxzlMLfRNcG3nWMYh0o1kBO2vKvDGG8BofQ4__xn210R2P7zjH-uEn7hic0jbBt97vLkzvATnFegxaDSjUp9At9BIGl9Ecu7RPCwSQJFdw6NBMBz02Uom8yvHpUJEfv8_jZRurBp94tzES6IAACKC6NFq-3_mQfT4o_zA51U4hBbIBw6qNXvMSqK-VtaqkTNFfJsP_8Y0nmQck0jxmgdtLfRVfZCCp3rhcLNDBX37THQI6U7lvNFETceAKyJ5NFaA8p68lw_3D2IiZER1jEU3M2QIMQGeU0pmQ6IPwGDdA0MP5IKKzj8A
+token: imooc
+
+
+### 根据提供的 serviceId 获取实例信息
+GET http://127.0.0.1:9001/dev-protocol-springcloud-gateway/ecommerce-nacos-client/hystrix/simple-hystrix-command?serviceId=e-commerce-nacos-client
+Content-Type: application/json
+e-commerce-user: eyJhbGciOiJSUzI1NiJ9.eyJlLWNvbW1lcmNlLXVzZXIiOiJ7XCJpZFwiOjEwLFwidXNlcm5hbWVcIjpcIlFpbnlpQGltb29jLmNvbVwifSIsImp0aSI6IjJlMTgwYzA2LWIwZGQtNDJjYy1iNzk5LTZiNGI4N2Q3NTM3NCIsImV4cCI6MTYyNTQxNDQwMH0.P8gKWcwiibEmq80idCl9QzUaqJnQ7FVQ5yxzlMLfRNcG3nWMYh0o1kBO2vKvDGG8BofQ4__xn210R2P7zjH-uEn7hic0jbBt97vLkzvATnFegxaDSjUp9At9BIGl9Ecu7RPCwSQJFdw6NBMBz02Uom8yvHpUJEfv8_jZRurBp94tzES6IAACKC6NFq-3_mQfT4o_zA51U4hBbIBw6qNXvMSqK-VtaqkTNFfJsP_8Y0nmQck0jxmgdtLfRVfZCCp3rhcLNDBX37THQI6U7lvNFETceAKyJ5NFaA8p68lw_3D2IiZER1jEU3M2QIMQGeU0pmQ6IPwGDdA0MP5IKKzj8A
+token: imooc
+
+
+### 根据提供的 serviceId 获取实例信息
+GET http://127.0.0.1:9001/dev-protocol-springcloud-gateway/ecommerce-nacos-client/hystrix/hystrix-observable-command?serviceId=e-commerce-nacos-client
+Content-Type: application/json
+e-commerce-user: eyJhbGciOiJSUzI1NiJ9.eyJlLWNvbW1lcmNlLXVzZXIiOiJ7XCJpZFwiOjEwLFwidXNlcm5hbWVcIjpcIlFpbnlpQGltb29jLmNvbVwifSIsImp0aSI6IjJlMTgwYzA2LWIwZGQtNDJjYy1iNzk5LTZiNGI4N2Q3NTM3NCIsImV4cCI6MTYyNTQxNDQwMH0.P8gKWcwiibEmq80idCl9QzUaqJnQ7FVQ5yxzlMLfRNcG3nWMYh0o1kBO2vKvDGG8BofQ4__xn210R2P7zjH-uEn7hic0jbBt97vLkzvATnFegxaDSjUp9At9BIGl9Ecu7RPCwSQJFdw6NBMBz02Uom8yvHpUJEfv8_jZRurBp94tzES6IAACKC6NFq-3_mQfT4o_zA51U4hBbIBw6qNXvMSqK-VtaqkTNFfJsP_8Y0nmQck0jxmgdtLfRVfZCCp3rhcLNDBX37THQI6U7lvNFETceAKyJ5NFaA8p68lw_3D2IiZER1jEU3M2QIMQGeU0pmQ6IPwGDdA0MP5IKKzj8A
+token: imooc
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/NetflixHystrix.md b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/NetflixHystrix.md
index 11924a2..ac687ef 100644
--- a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/NetflixHystrix.md
+++ b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/NetflixHystrix.md
@@ -21,25 +21,72 @@
- 请求依赖项失败后,可以选择出错或者是兜底回退
### 使用注解方式实现服务的容错、降级
-
+---
+- SpringCloud Netflix Hystrix 的三种模式
+ - Hystrix 的断路器模式和后备策略模式
+ - 断路器模式:设置超时或者失败等熔断策略
+ - 后备策略模式:断路器模式触发之后,如果存在后备策略,则执行后备
+ - Hystrix 的舱壁模式:Hystrix 舱壁模式的启发:货船为了进行防止漏水和火灾的扩散,会将货仓分隔为多个当发生灾害时,将所在货仓进行隔离就可以降低整艘船的风险
+ - 舱壁模式功能就是:我们可以通过为各个服务分别指定线程池
+ - 每一个远程资源调用都被放置在自己的线程池中,每一个线程池只有一定数量的线程来处理远程调用
+ - 一个性能低下的服务,只会影响到同一个线程池中的其他服务调用。所以降低了会产生的负面影响
### 使用编程方式实现服务的容错、降级
- [NacosClientHystrixCommand.java] - [NacosClientHystrixObservableCommand.java]
### 编程方式开启 Hystrix 请求缓存
-
+- Hystrix 的结果缓存指的是在一次 Hystrix 的请求上下文中
+- Hystrix 请求缓存的两种实现方式
+ - 编程(继承 HystrixCommand)方式,重写 getCacheKey 方法即可
+ - 注解方式
+ - @CacheResult:该注解用来标记请求命令返回的结果应该被缓存,它必须与@HystrixCommand注解结合使用, 属性: cacheKeyMethod
+ - @CacheRemove: 该注解用来让请求命令的缓存失效,失效的缓存根据commandKey进行查找。属性: commandKey,cacheKeyMethod
+ - @CacheKey: 该注解用来在请求命令的参数上标记,使其作为cacheKey,如果没有使用此注解则会使用所有参数列表中的参数作为cacheKey, 属性: value
### 注解方式开启 Hystrix 请求缓存
-
-
+-
### 编程方式应用 Hystrix 请求合并
--
-
+- 默认情况下,每一个请求都会占用一个线程和一次网络请求,高并发场景下效率不高\
+- 使用 Hystrix 的请求合并,将多个请求 merge 为一个,提高服务的并发能力
+---
+- 请求合并的适用场景与注意事项
+ - 适用场景:单个对象的查询并发数很高,服务提供方负载较高,就可以考虑使用请求合并
+ - 注意事项
+ - 请求在代码中人为的设置了延迟时间,会降低请求的响应速度
+ - 可能会提高服务提供方的负载,因为返回 List 结果数据量偏大
+ - 实现请求合并比较复杂
### 注解方式应用 Hystrix 请求合并
- 使用注解的方式比较多
### OpenFeign 集成 Hystrix 开启后备模式
-
-
+- OpenFeign 集成 Hystrix 的步骤
+ - 在配置文件中开启 Hystrix 的熔断功能:feign.hystrix.enabled: true
+ - @FeignClient 注解的 fallback 和 fallbackFactory 属性
+ - fallback 和 fallbackFactory 都是用于配置响应回退,但是不可以同时使用
+ - fallbackFactory 能够获取到 OpenFeign 调用抛出的异常
### 使用 Hystrix 监控面板监测客户端容错
-
-### SpringCloud Netflix Hystrix 容错组件总结
\ No newline at end of file
+- Hystrix Dashboard 是一个单独的应用,用来实时的对 Hystrix 的『使用情况』进行实时的监控
+### SpringCloud Netflix Hystrix 容错组件总结
+- ![Hystrix工作流程图.png](pic/Hystrix工作流程图.png)
+---
+- Hystrix 完整的工作流程
+ - 构造-个 HystrixCommand 或者 HystrixObservableCommand 对象
+ - 表示对一个对依赖项请求的包装
+ - 执行命令获取响应
+ - execute():阻塞,直到收到响应或者抛出异常, 同步执行的, 调用的是 queue().get()
+ - queue():返回一个 Future, 异步执行的, 调用的是 observable.toBlocking().toFuture()
+ - observe():订阅代表响应的 Observable
+ - toObservable():返回一个 Observable,当你订阅它以后,将会执行Hystrix 命令并且推送它的响应
+ - 总结: 最终每一个 HystrixCommand, 都是 Observable 的实现
+ - 响应是否已经被缓存
+ - 如果请求在缓存中的结果是存在的, 该请求在缓存中对应的结果是可用的, 缓存就会立即以一个 Observable 的形式被返回
+ - 断路器是否打开
+ - 缓存不存在的时候, 当你执行命令的时候, Hystrix 检查断路器是否打开, 如果打开, 不会执行任何命令, 执行回退逻辑, 如果是关闭, 检查容量是否可用
+ - 线程池、信号量是否已经使用率 100%
+ - 判断, 线程池和信号量是否已经满了, 如果满了, 不会执行命令, 立马执行回退逻辑
+ - HystrixObservableCommand.construct() or HystrixCommand.run()
+ - 对依赖项的调用请求, 真正的逻辑编写在这里, run 会返回一个响应, 或者抛出一个异常, construct 会返回一个 Observable 对象, 会推送一个响应或者一个 ERROR 通知, 会抛出一个 Timeout 异常
+ - 计算电路健康
+ - Hystrix 报告成功, 失败, 拒绝, 超时给断路器, 断路器会维护一组计算统计的计数器, 断路器会用这些统计数据来决定, 什么时候要跳闸, 后续的所有请求都会被短路, 直到一个恢复周期耗尽以后, 在第一次检查健康检查之后, 才会重新打开电路
+ - 回退或返回成功响应
+ - 一, 当你失败以后, HystrixCommand 会回退一个单一的回退值, HystrixObservableCommand 会返回一个或者多个回退值, 通过 fallback, 当 fallback 有异常也会被进一步抛出, 给调用者发送 ERROR 通知, 命令调用者进行处理
+ - 二, 成功会直接抛出响应给调用者, 返回一个 Observable
\ No newline at end of file
diff --git a/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/pic/Hystrix工作流程图.png b/dev-protocol-springcloud/dev-protocol-springcloud-hystrix/pic/Hystrix工作流程图.png
new file mode 100644
index 0000000000000000000000000000000000000000..639892f81be68555a2d9a611e68d2ec8fbbc2def
GIT binary patch
literal 136126
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%0A@|hVTL&HJjB)!
z`0f49;P7yUfEy!~Og>|^x@zvz-5ICMk_?!X$Cf}FpFx_VRT2acxZ&YpIf0&FIF$ay
zI&u@WZj5Q2+)`r)0HKb=$oX`N738Y$Y4cyy)j?g)#)_Sv$bUfHnI}tx46oM$9KqGe
zX<%>=I_KLbpkyGVA=V;B0IcUwD!@PysJ%k*`jhV%k*IpP5bhrzyIBW59*A|QsH&;y
zG}sbmq||e9f<|E_PsBWYHvdFWzYjzOl%-Ha`mzMm;^N}@)jRItRL&wQzlbY<5Zo_0
zbW{Lj0+2euOx6H_H<-kfl$f}V>HqfPF-iZwDJLu-=ykarACEQA_J>oKb^33A-%5)|
z$Lpg_tqnl(DCEsrVA^c4nqZ%7rK%NqD;_
zH_aOZ0LN}0pD;^JCl7^!@CNLAm~t8y12;D=^$j3o!f*)4wY0SO`T05e5irQUi62em
zAx!8H1c>~MC95Okw2(tb%%OU@X#pUf^GLUIiI}g$tai4yw@@5a=MtKXrV1R2x@}|V
zc$kVjz^V=-1YiLEjt-@ZH)OqEm`4EaS?0JL*>o*Q$Z157Q*
z1*#~@_YS>wrOhXW*=siE@3F15HRCUu`!WCq2tcxrm+$ycq+|fHgmT7ZJY1#UR11*W
zu|Kis3DIuZMKkgrwgc|ZDZLsy^=;n?l$De$#Q871ix}r>jeGa73ebRO#4eqN>gw+R
z1@-Wd{4at~-7~o*54^LO?Fa~n4;pWB0Tl!P4*DEUmjF;7#0Y4Iy`3FtSy?vi>OfDd
z`Sh|frU@NRPR?E@@d;Ekw6?ak0pUvOIj~*cs04$C##H5|UbXTsc1k)rS!wCenmVhg
z!mbPdVg)2Ca8fhVJP>zchxiRTpn;E{KAQHTsz($R(YbtN+NUC+LY>&V=B;b?ILrL?
zYd&pM#QWOv=5Qvz6riZ%BLMjjPx&6@f4Abn9(K+HBZaN}(@cfBkq{jE>?lL+hWBV}
zWyNnkh$D|dE8S0ZZ8n}QZrU3amyiJ9-~T_`Be#aQ*GgQMpHNUjNEu0rzQ|T!00!9V
zpwpHBz3>0>7-aA>-hin5ztPzDR!
z*eV0WSnOly_3`oT$&x&eqb6&Lo|cwuD`qJvzw>sPR+SiN04Zs50nq>d@cvsMaW-NB
zPGoCryncGR8fxeSeVw?>jUV=XS$Q~IMo*6zJ(m6eC}XTf?Whsey!7;l(aP5Dvx|!Y
ztgNGBV`sn(h0219$od
z2eG<7)Ca)_jY`0C2rk9B>*qq^=aAS16p({QgJmoAo8p^>jfa1IZ2y|ET@$-K?lW{+uhhlJcc8(gAVA?)`+P8If=Flk&
zWS-kOI7kJ9(LRjsGe;48yidW>Z*mUR_e1egR8*w)5Lf1d#0!*_mU^Eo)&r}h4~RBk
zk*cAZQLW4J^SJ_Ep8-u7cVoG;vtu&6!EnIyKaeV`3+kc-^f|ESr8zlJG3!iKMjgq6
z?*h|eQDvh^oSd9Y@P2;f2waY>HxL|$KHS;)tLTMnwFXByH8}}w3PXIf*75cY37f}$
z+0wz`?RbIHS&5}YRxY4%cyQ2qqdQazVQ)AU8xIe@KB$9C&|NVEzE$;5Pv3Zq887nq
zi-yKff4`i90#M(mT?y3JsF
zK0`j(!Ym*j?UouoQZY-5iM_iTXirTg)Moo7?4(3bKtO;9bE64{1Hl!2iwie6pUsVH
z?;XsUK_BMo3P#yup5in+p{Jpad0kB6f&hwa?k}$=$E+C
zUQ`sUb_sGQ%*wpmfqQrYTu?zjW>viFHZ|X<-rnA*(cZs*>!)=%0;NC&0#kBKExEZL
z{!u{W=lyE|Z(zg^Lae%V`v4UJ_BA&*J}qsr(ZOhv9;(^Q(o!xhOcr3dGN7(YHvQk{
zgl!qKdz(x2v5$h^+4g7{hIv}YD33-t7UYyIT3G&j!Z7JBq75pzn_zE&N09JN($16>W
zi;Lr$_y-4-C%J^Yy}aHN(m)^-%Yd*g)KuS}EZ{_2urS8jc<(DrO%3bXfWq>pQ$_Rz
zRu;-oOiOH$(q)biE
z&VIW6_poW3^qE^gVH?IZ`2k&3_Hk2zl$2EUEEUO
zw~;Nj@X}j{(#JJ)VOOqPI;8`|;JP38JE;CH`$l*r`25ds5{s0@kgN~)@s|Vd=)@`B
z2lVmhDA(^tO$F$GgBEzThUJ3}&oDh7Vpj`g+c(n`EL?;yzQII#VG2z&4AFDWSr9Aw=PXCvqRgzEXCr8Q(@
zxqfw@xS$Thi1Q{cgPG4=Y=r&DD=pSRhl6+zE%Hpn&2{c6G#{4Oak3&9{A`dt>hCPK
zm@qwroThsGI$%S!}7b2g3nP9L=C}41pX=-47Cw=;vqO78ioJ&d
z4q9ohk5s6BG0WLXip%@UnN|NRs?Vv<357gVoTo2C^Te!)iCl}t-a;Q9(}{Cp=e?2i
z5bvg?9nzJ=NQ5}tKYDum{8rnDnE24j8X6jAQCKuLJ3V=YJR*CG9qPP*{};{z|3;Jb
z*N2u{j1$Q+X4l3CK@wy~0g`pZ92sc!eTs-&OuB|B9t#`IKUrplmyM9~24Tybj-%xW
zrP`yyu`K@E+#q{@Lo&bj!Pkydh?6AuEbpgzrVU#HOm8dsUuJJl^5$K#7w=#&Q1AWS
zIu3~aJ8)b}be~^Uo9TmnP2kf#ef;idPw!gAcFCyh(u`l+;_#GvlCDY9+jsf*%v#my;@Mp&(Y(BIt!=UE9ME}_ds)i7x4|+
z4UagFftDMwm&^9NR>yS};k}z*l|7np%iP_u*3{kH4<`r}=*DPiY<$<(&yVHBo8AB>
z*w-3}uO3xalwImHXdK#J>A}kMA`dfC!RVPzrwu2&qo!oET=qSukp~B~Xt*rX1tINC
z%goXGSo)iGOY3e$60?-gdg_#^Sx6d%zXMHK^YyqVJpw4GIVrJp9jdwC3{s`mj67OYGG?K+rsGOAGjT#A
z!Iwe}4ATSOr2Mh)5~t(QIHL3kWL!!)MOPSR%r9?$^O|nxPbE6-+6!J5RT#o(;2e(}sf*~S{DBKhMs)l%&lY9%CFt)+Aiie
zQ`ovC;P2UTS$p5F%ZY?%T9su122Mdq{g1)ElmBc2A_ExrJak%1foagl-hg*a0(6va
z>p|Ij{JC%$BA8@Z9(0tx*N+o^7=D73
zX5GiF3jwXaK2}+-W?i_*WImOQWr*OVFdq>g7DU!VUGDAOy1m(z(K;oR-`5SPBlmOT
zk>kAA>@|+u=KWuujaE^zF
zlRT;88ACY?!EqcpP~YZ?Lo0Ql{+2soZ(UHr63vjMxbOUPqwh;B2+5gwTU{152D*Vk
z6kou2AWy(noRpU4C|7LP3+qC7ToK;*|`C5Dx^Bf@C
zjZ*^J%oa(YM1iVHlxFOwk$08zUA<-fYg-A){jm8-myKp3)=V!KBT07`Kgqgb2Ych{
zB?rp%NAGpX(Mm=3Qp%%|zt{Q@`jeoq)}mQgwL9}MVNs5WH~C&QzZXed
zghdr3inLyz+x+;mCTH~ZgcC(WyW7_X6Z#N?hf^M2mqML)B7AguZ^Cv<#`-qW6aG1<
zC^Y`D_1EjV_Oq6eTtK%1nY2B%H;&fdoI;ob*$L3{bv}{sd-_E@FUFFe$ykhkTzv4R
z!zXfQrJLnNstYe6RwtMY_y#f8iY8MU*7&&8as04q@NrBUf8~Eoq$&*zXJOh#*sXNB
zS<56Ku&lh#&}MB8p=+iT${dqXnsA)yjepne(;x=
z_=6;pAk&ZTaShqJIFv&=_@Udm9XOm+HS`6ShuEsBVo%^oTt0oeRUWfsYtWP%ZyvFU
znKGPa7-B!%Xulm8SgS6H-tmdEWSA?m&3#=dnL%_cZOk0$vf@6w$V)RAT90xL`LaV%
z_>HkgF4h4?Ex|O7q*V7}S}e8?%aJ8C_Giza%6QvJ4d=AptMp)KZ67Vt9L7vdg_vYX
zR-F)vNlp^xG@kO;_R#7;X~CK%c5;8_ijvL5Qr*c^7794sJ*SGy)hXXsv9g-Z%Ak=?
zNW$F_{C~H8U0t#ql(OB>*uJ+LzU7tm3YALylE|pb=xg)3l6^>N
zbkT9Raz1kZ!^w}N{RD5m!ozNiE!4=>_PG_M<7i&Xlx|UJxwutctV%hOB8v}TeXzzt
zF&bFOFZ?3UmrhV~L67MyxBQIsLB_ix(pTES`q)tBb#<#wBbJc-w{ywB&22TA58G*K
z31-)Mfs2?1t#W%@Hp3w9-Km9rB+kc)#LUl}1-?6>q}&O*omhBFY7L*}WQ>Xsb72@I
zdH)oClbII&E|Hu)t%fKfC68)e^LbZ7Q2c>LJc2VzL5T*dtKd=0sEVQCiwlReEFnZr
zrNs4+;R|tF7u-!wVOdGfd!2f7(;7djIrV1-o-Zs}b~;&m7wc&Yys44?0v9gUu$}$C$dL34dW&SAIHCJJd
zcd(*fQMKxCC>?VXsCr!5isj6Jh4ko!nXiaGJ#VBg>M!l76@8kDiqwd5_FkCrcJe*0Ki?ecD(UMkq28hA4Mb8C>@(`n>%Jk=DMbJ
z)gN8s(TX7yDWuWoE{8IQ+|gR}VdU3Xp>;cXb(O#p)}abAKarmj_g4Gu5vY8Uj<)F|
zs5EOy>YhQ$NUdblsdn1X*!6nM$G?2Xm`3*>XfHQnZpLXMyF(rky*an1DO+%#FZ4IQkF7>3E*lur>^DENCz&g*ui`z8yw
zf2OH<;fx)|!@b^NJ^yUe$L5%x=)N^R{Zw5@=CtyO3o#5(PjtBplM
zlDH_AZF?=cX~kSRWn)0}rsQOB&Yf
zqx`)e=dl4`UXDE@pN6j)a=B=0Uc<%uTn347Ca|m%Or<1NPo7$W7ex(a%}Ya87kyG<
z&I}jX`knohXrrQ*QeikH+PJ9f_Ze&na03+f<}>97JjTcuZWNAhu=mi%)E4;`ukSZA
zv>`uT5K^;rom}s5W?1rIPPW~v2wX?x#qIj?IT;~Q(JY97;iQ_*#C+}xK49)}u8x>J
zJW&WIux3`*e%rFU>v@`e&961T#uenZFE1!uhOGyivgz3ec<$Us@4Q`9FPB!`%I@#<
z*wdzGpqhPnp039&wAY-5s=Ysla7S?)@dYknJF(iVM^-s~|_{b$L0DFv;?
z(f8r8>7^dG=tM`DYopM;x{vY%2I4-1`m@8USIjhSG1>^1_tm#YX=cSNJ-HjTV8nD-
zrC)Wb@mi0FY^nLV>8zb}=qGCi1{!*o0(vY4oZ-i3R-;TFr`nRr_R!3r&`J}HeFIAx
z>dQLRfeeo0=LH@my-GyNw&t)&i>w=xHtr)%WoWicl6ty&p-2|2Q2Kv%6x};w`Gj@>bx>uy9kXF
zC?e$>qqUD%ns!^u4pYsA`yMYyD%8Kju)j<
zti&tk2Oe%cLWx=`XFelpt4qFmfj6^=!UP(>~
zNpH^SMY-5kz)hc%nX9h0R^7W(Pl7E@Q$wr5qHy+0!P0oV$qJFTuhvxKQ#~0eug7!L
z%|c`Sn*Zn-tjtpAoSWj``GFLFJtt%7iJ=b%-ntYe5NMIN-Y-U}p?S`mtdnOS`saQr
zmN+!*Kw#mn&0#`WPi2n4qYl2Qr~bMov)r=vk+QGbJ1t234cU;s+hIN*%bcLyA3r18
z1Bk55T)&popB7Gi>PRUNJR;Mty&dbqE8>}Ud>&;Si)bnFIUUb>ZE*e@b8=Vpu(44;
zWl=P%L^jK^a|(wku2Dhr?AutnH;T~sTJGW)blKo^Y(~dYaKPi8-oQpo*J1Ij#LI1D
z^Y`Woo_vY-CBHigu>-pq0o1nP8SX_c65v{sym|dwuc)f2wAz)2$?liqlEKvT_NVYG
zy-X=>dV8WOH{;BP!Caj!Z!5;(MH)`(<)?kZzl2p&6<#EI{xy1pRZL9r``rvCb$3fl
z>ukeh2dKQXvW-3Y>Do(t5?9wX`TE#Fhc$_UHPsZunaDv>Vpgf(
zn9%i7zfci;xk<%{Qehmen^-!w_~4`X%B%cg=zKrJ(Fn~UxizFqQ{iN%y_~dNQ!hc%
z^#+~onro$dZ}E$TPBTFT@01S2YQlr?uAZ20R^{~2R*$ED_jwol6C|ie;F
ze|fEy_P4VM8Vw&pn<0G{eoS&-`^Mq^?}6A$cxX)rrLLmu`?EBDJ-%FxEF_FAo{ozK
zl2jvJ9&BafD2a=_jwF=}X95A9vuIjLJ%V(MwrTFJW7jBsv&Ht{eQRo)?2mIRpZ$k&
zp)&EF+^a~)b}PJgJL{GSOdC=3#z^&DzrGDmf<%7k^{$~zLfteSdhg$_mgHm-Ev2BF
z_JQ%a+Mw9&^V@G6x`wXW9i1CuW9DYZQ9m5)8mUOxq|g}$Pm4&^w6jry}c-JNtmP*#mNT?(L*R4Be9cC?+x
zkk^tCspDs=YY}xaH1vBp3em0`Cw5rN{7LQa%p)t*Q&M48@adoY@^F>h5*D{h0#GU{
z?ut`iO)u|H_i&?B2s+PHd)REOPu^S(&R+bqTc%Elt&fTBghux#4BA*w9=#y9r@F$-AE(9q
z_Nqjf`2&1#rxJ+ka4o{UNJT&J?xdw3vUtoqLFw+zfZ7J!Mk07t_yY0|Z)?05ctDAu
zdqEO`6862Ymga#0+`Sl9j5c3&uOZJ9n5$76<|X!k*s72p7&df*i~1^Fx}U!D@J{Rp
zWjSl+Z#?p^NgK|H6mUt(y1h314N*TcR9$BOFs-2EwDo<7EF707diXoXl-AqTEe$u!
zO%s&6&sgbj6v{^tKV$#mJ+&>An_oSgMW5zn)AUT;&uJ|3
z2HY{Wv$dw@;I5|Z&d&1k@&?5*s_%$0pd!VgpGvIX60tKGN
zV5)F@MaI^nns4}ZOmaA{aNQm`K205hn1z!L8duP#@jbunHd_sxhMjtf0w5VlV|0`!7$1&z}FBjga8?c#E4+CJuBr*wXddPum-}{)IVWtYWSmUGufz-h1|x0!Y8%BbEAJ!
zP=s!@c+{PHp{T*edHAQx`0N$m6DIlicTtK*)$73F
zF>Mc3B!5ISGI3wc7U~}X1!9()zuZ@0zGGK?jU|lzPfriDG&C0v&v$JkC`6&bb2C+D
z%Kfg~$Fm*Q#-J{(6=HAHfE!b`A;T<4`@WHIwVvIW@^h64zCVAl_jq}+PC}!~z(_#H
zC`W9DiaIt(iHyYKh%3fU-iS}(z;@f5zl9TpxqdfPe{o2lo}OwmW6Fz=^lu4+kfp
z#^pz&p}j@q`Q#gZ_fzjpH0)bWD*7F(1zWBYyYKgHWYy0yZn+Eqwq7<^ThGt3HMXcf
zqD6kz=(CA@Rs!A5>r6E`EmuB74rYx22EKozp_^YX&f9a|MYZ$~lt?4I
z`j;>0;;-WW7-O)$?e!&@h27BNIZQ7T{BASM1%kFy%_KH=C`U?MdxmcD7)|;6mepOG
z(;x8jDlCdL=fQd&fBmz<7syt6P%2wWVfjl+PBO5Lz2+~68D|%`mBZ32MwvHud<3)f
zY&`7qf_6E4LhNQibNmL&`{qpy7q>{nE4Y<1Wk=3-nX-p=hUeh$hxQW%_`)#oJFpVU
zoJg&ylun_>{f?xpdlc)CYt77Bt;uQUrmV%-hnthp3J;)^Jj
zXSGAfmg#-0BfMFfaCjlCVb51~sxOd;tzZEf(CXS}8*pN_X)^3XFQ4G|VrFM&=isQ#
z*=V~XFR}oY9hD}IB()U#ai8yGvj$fQT(zJUAFjL3X
z>v49M#1Sv;_Gxg6L*Zcc@sbdw`Iz_9DaPVT`PY(D9QxQ?H}HR}_9cN-9(ZSp!R%w2
zouQlVOT|K+exzRn6NQB?n;8k?J9ApFZp@S=>rR|Y#$z2
zgQ4k6pso=P!`0nCV?Us``r;dAa?XGbL4iaAx|NWuo(VLLt2QClhlfX?VGGd>?}1|d
z?sGYW;Y|e0lKV3`J(dV_Tg2k3Uj*L=BS7TqdU{aXVf#O3>MGhAdO3*@kH<56nTaXS
z&n8mBVf^z0m0ykptlJt0Znp`6V_R?!28+M1Q#SjOq0iwDnck*TzTJ~(koDCb*9^dr
z{}oKR#it=kDX2Mpq!0CBYV-Y?mqnV1wK4%4;7`qy}@h5YCyQh-#We>ecyj$PhAGQ~9E8dN@?L
z;XaHzz53r<3R4Ml(n(9+_HQqOrMCX)$#R|^{nZ!#oMB58aC3gdy!0)dh{mei(P78&
z3?>dLytEdKWpDWzB)HO1{`_HvLqJY=^6gyM;cqFbhDANXAu<{d-%q;}*)lyVjp
z=;s&UJuRTslume4eS8iU5%#%kLQAmfREXLQ=t*@DxDdQ6Jz8M8Nv|RgSULOhX0Nu=
zl6<|db~W-Xc;MyBV-}a7nt>jR!I<;VIpVZktn|Et4Sw|o}p5k8DwqM78$t_^-f3*CpTGlgZ
zl$590lbxQe)VzRPpDR5pg@QpGIh$y#K0mE)zdZ_fEr9B(x9yKMExnqUHpO(n!_8Q1%B~3v=#Ryf~EU7!`AN?y%|+?cY8m3x)Jd=<@_`7e|pr
z_oZzKA#?Q4KuH#6#^J_INEe27;-F)Bs6LZ5A+vRtvYs`i3QxT!o#n@@@&f6xL!>L)
z;u3Ca_YuulhoLQ9l;5-09D3Ih#?z>T_0|k5Dzwv+TGI{YRKh9AZfD;bmW#_<=t6B7
z<8+OK809Lq*|Ldp@wf_Bf~98?Kxp9nCyNn~-o^a%GO^iu%}BAEN(r2l-NU#*J(NK%
z@Sbh{qof@o-}GkTHU3+UZdtF;Qm-$uHF!cuU|%x(Rz0#*9f1k6;+BSonkTZa4QD&I
z-fHG~Xw}fay&Y(IKQpR~6oE5N-*Fh!%8Wg*TlBF!h!G}gKka@iwUKPBe6BQjSZPM_
zzAZfyzMLtp3EG0MAjEmu-;njhs=FvGy*zJsqt)d|BGl|AaWP?S`&Ml!lG(lhYZo4W
zG@-63>&K?*s>MDLkDr_5r?hWcRFGh}7s)WQ>HhmVxBGJ}aSUNxnw6b-sk!|o#bRNb
zW*x^z@K-4WD~XJb1OL`-DRvd@#RuJuW=#o_I^sYnIgwo8lp
z7*m{r$-|l3r`wq8d-wzd+N!GO?GawERuXaskJ6Q3@P)(7f`kC_=Hw;zl)7o2vVo9*
z)6wtOp+}D=h)s;wiflh>%3S;q+YtVEmJYXHIgE^<+Wg7B#BYS=-*;zVo4LtA*kgU84V;^|}rU&3anABh}@rQ!!XOZOt@*TWPuS
z@z+~>D@rl#)h8E}vj09&5Xp@;1AUk*M2`4eV{0iF)lSEB)l#t!OCVN_u!PBb9d*!xu@7`ux#C%$04;
z&*?Q%F0RVG9_d(mK(7G}_J9Uwvwz9;tVE)$nA>WiE*$?@&2tF^GSU8%$>J9=7$bY^
zr6Qdd=;F**feNmR)&@yKAkx_or#iUai3tg`^kB1C)cF460vh$^L^G#|qCb3VE0!ku
zL{dZ7ckm^x>>_Bn6qG*`uBmTV+w^!VZP%K-rf$)c?V~-q&$!NsisyI_g+*`^=Qt#(
zKkA>5_RbWb9}4%)a}iC?`fvo4)~#hW!UO#?QhrJ^CIushKA^;W9i-wUO$G*>F^BqJ
zr;mCe9CC}93_-MA^DJ%Ejd4e+s#Ah7uyw@ts-Iv7s@|p5@N3h`$l`gq|bD^
zd8VEg(hGu41|LK+GlO1(#Dm0vSH{l3SqZ+$_{QhkB
zZ5FciXl8qGLmcu!+nXcKxF3`I#*Pu=Cnq6)elSbY{FyW~1Gb=53YW5mkDqszzd)1XW>
z#JsvUa7U@=6QLwTrpHLOeSbL6uP{9R`Ljm6#&0rL;Z0@Os+=HiFYFcJlxFBWE8o?J
z?!MOKcB-+W5LbtTHz}1hC)Deq-=0SXgiBGbvabkoytf#x8*K0ZX$X2n8}Pc75?7Wn
zzZ>3;g?!PO6>7kBD|vT=)PnnB`5=lqS@~I8V~s0U^mK1eXEFtrE0jJCec<|^E=_w4
zxgB2{1}Hbe5NYA1UAJV@VK-r#1<}Szo$Z4|l6`#4b$m=bJWYd_S0?@R7i5%BUrM$O
zoo>S(VbP(t=eEmi@jn0iv5g$jQxeL&_CYr0?9zs`<}b~$zLJ}gIYogb{22b;y7A4I
zl{Z7QHe}kzW_3ejh67_c^?c*rb;HjoiSf&tHxN-dtQXOO?3Vmvi^^g@$C*O&j+5oq
z<-ujX@i*t}EQi1>BPpprPgSWhm<;RY+7#D!w_x5K40oUssO5$vrmGYGQDq1)kE;Hq
zu4f&R`Z38LXAhr{j)6%n#7rCuZu*#E#?r|}%f9sgW9clz+IpV1UrK@E6n6^6-QC^Y
z3j}C!cZcG|-GaMoaCaxTyA^l$f4;xxx$-twPIhN^W_Hfb{Sn_QRYxtwtmU1Zt|%u5
zCgriRW%`4QaVSkJXbCk7obM&YwZBw%ifB*zC4F22I~FVD-d*M!Y`i}h$x-Ni+crbc
zNumqfS&*eEW{&Eu<6|}sc}(NuHss<*LYzg6FK=P1{iST*sTZ{38Oyqk;^5&6ENwc~
z&{gxPrOgVRqzl_Yt(;`~QUtuu$@&ax?>vwjN*+L8-;zykUk8DoB
z8`oen+1Qm!NjIsN?*JjcXW78<
z#`S;o%hff9g-Xh+%IPlwM1(k&IOZ1^=h^W$doDJGe|&B7UGCSr9x8>g$e5}>mmDi-
z6jrCa7@0hsr6*VE^LR~!rzzArVq?Xx+98jSsZO&xt;#WEx8NHOSf?d9L9StQ-o#ii
zH(RAl25C3tNmK->+J!ZsF|bAavWa*l!MD-^>oz%p7w#hF6Cbp337((a;htVzW>fHj
zfSN~AlV#cX-plgLd}<5E>JQm@!=jYcQ_?tHPlKrE51C{~Xnr)6Q{
zy#q$Q-28pS8PORSNy`DL|BOuo!{e1C_D6o5%u%Mwu8);A$JZSXlXhNglJ0QnBB#ku
z1#*JjW!$Qn|H1P!_}wDWj(EiGnfy-pMx1U>ajGL8P~Q1;^Y=?hIN^735yzsUUQ(DA
zAFj{U0~=u#UK&IP1bI!07VEJV&tB1;G}YD-c?c98kt3`8Lem^^dW{tduL#SD;0*ja
z1p$QgNRUZv2*qnn925N*U6rrKJb$tBa4{1qr5eW0YoW(LH6T%~@JrO|N=O@*7+?=8
zLCfdJQbr(NpddTERSC;{Bj?b)f6509W*&7K_N__em8-l|RCSZD?8Q*rMcSoS;%x$m
z{ZLMW>Qp2I_1~SjexZRmCb+ji5&cs2r|0=Qx_7vHo7HCH!PbGUDg$O+(|74Kk9;jK
z$(>UFA=b^%@c4_z)2l$;C;dD0Kf{;q9RzxcE*E?CcJ@P|SLsJ=k3^Q~L*#rsbo8y7ED
zA%Qi9j!<>I67AGw;I1OLr%~*>@8A@l*+uT7l+sIaE>TM+CVsD3=J2~o=;!Aj)V#nt
z8C32!DW&>pZzhZ#r+IZAfc9gg(}%3R_3)e46O&kbHTg!w_B{JrZ@-2N;O`~9w-pe%*r%)r0
z$ursiV23CaaYLj;5EGP#cdur$i#+rlUFsU@npm4atRR!L6&0gvA$aqzy6m6^_TWFo
zH4}ApET$e8%5JfI#wONB)?=*2PQbSxB6m^NKhyYDS3Oz)2$y#^p?;m6mtP&l^fWzd
ze)_*^$`&fepff9_o4qQh7WEU@pFaiQ3@{lR8$+55T;87VAl>P#-);ey-v+9`z;HAu
z2&{E_b9jRCMm%|Zm^N2ML>3SA{8bA-Lz8Yqt1HSBfPBBoQ)p2K95y>b6ldTbE+7qU
z4Oaq4*B@BZhzw7wddUD)P33Fg&uenZmUj(>wM=PWg}}_Xr}z;z9+uKMvp4vombj4>
zFI3(`e1a0}%bMiq_~+45r@r=T>z}O)x{K0A9TibkafOY(HEmrBonok;?djuRQl9H{n3u
zb{kg*kh<_>RgZ#zCz{2%4foq_8<_88~zhgYo
z_x4&xM1_~{Lq^fW$ir4u(#JzV)7sKRMM80BHvRx+U=q<1pdobIVN;d+^S+&Vu7_##
zrf7(#yuBGIW!7|YT)$e!BZvoZ)plq<)-&{$F`&OFoB%y!$LF46imh9AWGY_t2mDWP
zR2|U9w{oyhd*?;mtUtd|^-51WU|21gc%mUyiAXWh(#nT2;03o@a>8p#kR-GXq_!N;
zYc=s(+w%XgF@qkPjt;
z#K?x6MW!a=Od?)q{rgwApXel8S3>If_9)U@{>qBm7hmxiH#>ler}|nBgpn;um&Q`6
zF;M+|b!;s!k6zK2_hlktk=ZlA(!fAEDyW|2UB^Dx`q)9A5Zz7j)({^9N1dNR>o7^Qe*oBQrWIX90Mg}
z^=u4c?tJdg4k*Y8#1rxhf;H@v(+-sd_))Z
zpl*W;(JIf-gyWO?fHX#DG9pIxYCDChM#JdEEob^JxFw%ATtQ2a$`sl(c5XTl2xUTL?-A^;j3N
zc)azuWqG0f@Wzy$zM{oRJV#C=td!#ZV1ZzSyy^yh3a+=1(6+^W-)~6cY4!Jgg*GQ+
zH5;%2`wYKYY$DX?iLJ5M)#GyLVlO7wMI*OOPGyO!yutF~Oc+6SGWxy!YCMNvV-;=P
z3z$%_(|skIDk6xAOoX`PfETpwqPaUu(y+
zBmPh$Eoiq+KKgLr%Q~{5z9U1B}zoOc`@J^+)&pgH=kq`g)sSXvgv8{MU
ztWY8$etx?FBQ3MK+`00nvGucnsHFSg=5n`&ebnOhFrgYxDQDr-m47}pW3$5>=k+o(
z6T?oULx>5WmulaH
zXZA-PVos{juM=5LqGwTVHea}&225;&j^bqQI2z79lb`TfqVA#$4WGR@WZABD%FIT0
zvI&N*#JylhQk&j^aiEDfCyA@caSg@dP)crd{I$FGX>Cn2hpoAZ2u2iL94iB@8^C;$
zAQQ7dj)|`@--=KWV2qB*v$WWgpMrj2b&h6g@W+#DV%Xqv#vzq%n?{Snkz}Y6)w=K2
zq~l$avm8noE5A27ck
z`(V4m&d6fRvQ(^TT~i9fW?GsTQ;L@e3+>laCaOh~
z`|;E9G!R=Cq`g*wzj?a%W!wcdRPDUY`j@xpeI;Azev%Fzo>@>o$%gHb&-19nYCdN=
zLqPTODeF=!9&VG@)4xYA(on987GuBXf}~l&9~fOXZk*%V-~5EU$MpK7nLgf5;|fS-P}J(om)}2Et-5iM=F@UDQFC!AQTejLg9}ydr5TyH
zs&i^e>gr@^lLUo|Noh(jJiv2V2#yS|OJx)ih?sp}G3#689$l?AX*)$xrv~C+Mh@8uWxL}=VnC1)Kvs<`~HKxn7I_)y`s|@v4|my
zG-d4k=lZXt@NDD_MaYk(cccIMMJd!HyMy)OfhM$3hyKlJVO=e2;U~j+c3Z2%wk&E&
zg5TTaDvMRI!kFgd>}=Dr1QHzHARLr)>YTy!mDeS
z)#OSZo3jjzEZhfXb1;co6_HSvX;u$uf`1QNaWtCx?#HG%D1?+$w2iQfYuXAz58%SKH*WAKQu(d@X~
z_ZR-Za5|nc-+CF6bR+`m%HnU=g7|u5eB-*igRs0?lqpNG!mNTEYvq-7%43Hu>B{!W
z(sIfqY0<=*Yk*7`vQOMKMHRA?iQTn9Oz4XU67!#Vcs26T#;itZ_sMGfl7g5di!Hx!
z_u$Kx2|En1`kFBC4&bP;dgL5ro-mqOgm*eT{_c(X^CzK6Hs8aHfzT&L5B~1*-nH4?
zI8@{oW3Y+nmP&h+i?#Z;UcFSks)3v2I=CVLrn+sNxXM9%
zAZ*f+2}akI6f+_Xjn}14$3+R!Xb^Vl$=|}U4p6+3`0iMnXnsvsCVljKN!*yaLVC2i
zf)YFS7lzCe8T03_wW*(Vs?o<`x?(X?QFN5ZE7{_tLwQyCa43oHlL8H4vPKV0vy`$3t(86J
zWACW0k&cb6v*pr6s8i>M00ZYYrSY8s$|)~<=VY;8Q^z&wIG7RMiIuT+CpOScOZ+A1
z+hBiwb#tgvR1KxV<7#exICgpX-4jpeM#bHv&w(T)PFt7cTghTi!ifMKr;px-x_Z49
z;i6ktm@JjvsxJ)dCiS46r3~eI*G4oSNjg03x##7vdpqW^yZffi+9CImW19%%H^vR_
zdIz)NhL`g;)XL0;y??bg7EmfVzZzU$Z1XGK6b*PihDTP};V4ty`J+xUp41n?^0Z;JQ$=
zDoVkxjm&G-9X?G_SLar?#gl}N*SrqXqvm{vn~HB*qf?jxE}T
zYLuh^6jYwDQrH+xLs@$E=$QnF
zho*j&FvCRp8Ue6XW9-(Ts`9{UpmxTr*+QoQ#Q#ub!VdfEo1~K$G*dRtf5Da#UgvnZ
z_IbqC=>d~4(}rW}pZx?v{Tvcuv;1fk2!6%*rsf(e9|Uyc3OxuIjYhI{x5BC~m0Qvz
z;K=lWv3W%>4eO(WgM9#BB1TErc+6uh&SC`@;v>WH=Fb)AOd_TXqLL)!12Y-=+q(aS
zQpHbzre1#9M=E^_4!A4`_*)PlU4fUSP8jAE6(!%ZNmCN>wM&|TjE0GyC0l$bKuwyw
zSh^0zh}tKSyMQqH?|l5V3VnfQkg6n8Nl)o#%xH9R2U41h(9eW%?L(4Ps((2_y+$$%5lqEBTr7s
zM=JbRo}6Nc{wPuz(wdQ~Elejqf+xf7k^}23Huqg%6C-CFX<>%jysSj^I~=)ZrulvK
z-IwgaNKJLRwI*M$AiGc6A^eQ9OQub!YdCc1K~UL;1Y-tKQamBLTmp}fqo`VfDI=gci1WDDIhk3J>^EIi
z9`o&bP^*AmHZ^sy*|gSRuS%@>xl}nqsoE_1d{zUng+f%i1qfVhBg_S{$ntvKtV~Fu
zlH@*^vmnwdjL^uB3$H0k82>qIIcw}ZbPU&2<3*+`i*Y$!`E5=ytxb!Mzz*|8D=p0o
z8#%s|0a?G?A7n$IM9blu+_UAkFK-}kDXWYbthaBm_p<;0$2L^9yd2BG*-6VgmOBwJ
zT?i_P+JVR?X~LVhMYe5(5;t`S*wT``95=H)HXmRdS%boWS;w&033gnEhvifz>GEb*
zIM`(I2)|UDs&u=&kFE(8ZJ(dWcq6O}eUU0f%yGkMCTOU~M+agO9sa`3Pb<%H*v#f6
ziDRg$2o%mDS@OeFs`0{jdt&Mbb4F4nwMK&j%DV*`JQv7}Tq+$c#6f`&8)U(r_D2H2
zDc#MVLVS)cz??|_Q2+@3w<{S
z+rNHhfCbCVO&dm9V0hF2l5?7zlr@Z{eCK@`eyEKHm*M;MYD+^4tIcUVuz|g-xBdi`
zVP=1BSW!!CxW(71^qSLeDo|HY1PErOHferUfVSL{amiJebi*DKRIoPS+E%7L`1yEn=eie(-vIn_kYSxfeJ4#hj_%
z`pOH;tW+|aCy#rTVdE&oGI^rdtNf8S6-(NXtLYV9mu#?G2Gna5gnVh(0R6w`|COYF
zFKC_00kNOB+#k<$nIh0y;(H%XBW*!!RxGkVggKVHI{*t&<|#KMTw%t=%H(iC+$__z
zo-#}r^zSQ2HDL?+D3zw8mSZx{0M}*VFn#d9zGO^^-$E@FsfaPqE|V*UxeZ&YJKq6B
z>2HyPFUezf4(DuEA|L{k`TPNX<{_HO2E|O-H4bWwf>kGESnbq^|)hRkB0d(od%@ZQ>XB(?lY6!a!isZ~rx^pU_>vq*JdW{pU
z%yR`G|K98)(*(-&?l5kz%PSIuhZSgwKEkpkR`d!T&WO5JA>fNxz#us#g=7W
z3#F-&xjnU!BVvZf$w9x-w~x7!lVXbp_|LeM!gsXVEs^Uxm@TfGeLMJT?hTQ%j^-%L
z?kU8gW{{MoYzv#f-W1OAVvecd>Cd!zPl4e-4}Qu%qH~WV%GHS>9+jxF$n~E+EO9
zfqKzrdv}tYHQ~(70_9RdeC`M0)0~ngfKAqeuO@6bIh$HirkrH0K;2qrXtQyyRKZQd
z!Pi0%b~M3VU{75aM55^YkO2x}
zdGpWe&W+*5ZiF(azn#Z=ezcTGl4{vR=MiT*%_NKW)NmjS&T)i8e96k!sZ+X}t+j?W
zoGK28jxH%5-Rf?y#AF09N~0@ZlpFATsl_QYtP!^T}de@NsY5PR8ebDO(QC{o-8ZFWcMoq2{qSFPy?H*_S9Z9V+0IHDmcRKFv-8R_Q-k0y#v0@v8p+1ECd4W#k>6sXu%lxzl|HTnxiWJD@hDANFdvm63
zBDjqA*W<**esBon6ADpGG?&2*YVw6gMMOl6_yms_@mClQ4J|n_QCtP{@(K2c{zq}J
zM#KDm(&+Lstj%z4hrekxaToV)j7-D6#v=;Z=9-lzWGnW~=A6P#;ef5EU5l*>_G_DE
z!z<%KX@%h>NIm&Ws@cQF7bWNyC8`&Pb+F`RNST)M&Ue{#$C9Zn1G&99n8EO9lQZq8ck6US((bW*{JZUI@VF4h{AjwD&A3ru)^|J{@N^M>S+w)
zBkIM085Q3w?N|YtsB+aFgx~T8Q9En-j&C-;R;aMabX>8Dc^N-FgVE)JZ8=>3RP>
z^d7+_#s9Hq*Xp5(i49%j#^EB@p{%9*KQqDwdO_8x;7sX^?QVyr9}kWS2B0!ZNu
z@}uz0J5hr9|NV9~?G%Q2G`Nw=d}_HF@2Bn1&7-@k=FceTP)#UNlMx{|Mg0!nL5v2g
z3?U&p!%xC2JG8zw7FdD0U(Rj_S1^vJmkFqtCfbmxlj-E+r-_{k5;U0c)ON|9`6w(~z;e0Q3mSSTb#JlxKB*
z9i$HMb+AP=XCiag>u$B^?1u{iC!*z*BBVvV8ghmd$rJk$gssJgh4OQttJb?buF<*p
zR?k&pz(t`{dJY2lE6X`B|Fe=mWu^oGX7|wgGU*D%kPFEd2{IZ-gr+we;A8y!64s{~LMd;<>GEv#hp81fbO#>OV)L21#Y^A$zJ&
zLH|e7(xcWTP1WYX6sL`vwb%2Ar#57u_#0%KbxzQ$2r4vE&!Wj}x
zcL5^@rjWcscPg?#cB_8Fc;3FlrH`um!*q1euDF8eJ*DRo{=5h-Xx`h#2jwnT=08Vt
zPITz>gwnK>vz||!selwI=rRn$#JObvvwImHV5&W5J3p=SiU$K(Wi};874X1JpEd4G
z4Ob^Z?)FyUjq$z5Aw1u^p&kDpDaeE-%=WjvO_Gf7*NcfmaghO5<3J>!(Vo1osHUVi
z*#jO7ic8MYpP#7mTGp5vh`Ql~|C=YM&M*TbjTs#`$U-v?Y(#}+;w;f*P6Z2o<}Eis
z)5z|2gv=%#>gj}V7o#<=IkWlgCbT4eJCEabjtW&1Q2_-)6@wQnGZI6wZRRDn?^IfP
z=DspqID_m6eCO4l_+g#fmRsygB*=<$$H#ref`L_8vE;EjMGrSMqp3nP-Leuc|xtbCmiLm8x;$k5xLlZMQ7}kamh%!gO-0*~z
zv^=l|*_y|~wGaG|O9=q-ihuvj+vw-XPN<|fHtRx25{A|~#?US~7#GcnB5sDq&et}}
z;F)l@TP6vBnWe~|q(KIR^kE3k9$HndTcfEb8AgPZMHyRjEkQA+@Vv!mS%3wTx!4wnB
zS0;^5yyjQ{A8RX6{So^K+X=GG>}cI`^AUU>wuz9Jw|8!g`cqHWANH4|gSjW2O%w#6
zGpqiBji>!wU4PwnPo2W_tK=EjdSea5utolAIsz0q)Ww%!Iqoe*<@p{P#%Jg2cj3f2~^eJ^YokvGn$jfX*R?_H#!!~_u(_>$yH)o
zv#HaHkgSK%b&AeZ3h>Il6Cm1@g{>JkfY21(9$=#u-n20FS&RlYf$5b&Q
zW`Z%9G2P39@!;8m%Q~ma&`)!O@)itWOBdy)PFX)uY6fZpc8`DKLX;_(m_KmD9*SqY
z_d>ae-vN9AC^i_)(^qZ(I!s3JRiZw%eM&pEgd|dp3ZJ;XBLEpnli;Y5^*v)fb~IPQ
z(zR_1v)c8kT()@~uajkMi!(p91n;{(*QQ&9PEw`vgr+VDwVngC8I8gvDvIr@!uodg
zZAGGScB9wj1)_udH4tQJiAE-zrC%Q_>wh&(RTp(@)Qd*1%Z6^=Jg~L*-Kbr|h|=hy
zmsrd5l>9N3(ZOEw;{hbA(aMkX#nZ`yu_!qhNAUB!8WpdDYI$C}3+l#vExgvCC-jIV
zZoc4|)Ct)77b*H?p{fS%$f7%b8QIHwY*j*w&(T$NIuTb>ppzTHFIK$?dcw-njSEnn
zMMimyE~cg>B{f>8(1FNag2AJ;YrlA`z~fVYr`q#g^Xkw$W0j`Yek$U3Pe^;~t*z-e
z$wO4_I$c(0DCF2!*}7#L0#@Sd;$QRHcdm{7mH#ZLID9Wrf>i0jBVgSQ?}7WfbO!nH
zci^LzyE$&5vUI^r-RSk}&TBw?@942?nyA6Y6@IAer|_sNM5kpFhDxm3l1*Fx=YvD*
zaySdi-$?1Y)U~|Cmh}%=VQO2sH({JO=#@<5+JL`JooL0RSKOC0#$Ke;_ulB=+7M;T
zF80@A=)sH$BUhfXhvdNsoGr?pY|UH4QAllw@S#lo(E9@3#J;=gqN3>EpSKZZLjUT0
zkr8wkjQffb1Stqz=iZF8MN8lj-7Z^ueU#amM&Wk(_ba5De>w%wn05p>McG^soVHsU
zx}MnGthUz4i)~Hro6=5Ct4H`hF+d~6rd!>6*zvtSR=An^HW2E`4c4{Hha;laDV)A7
z>UvbyU+UUAc(n{v?*HSeWzT>jJLbpT;;&E+)8u4#ijXZ}OkA$qH(f*_M2wy&iDkd%
z)O~@5BtFf}BMDR_{LX0ZHc>VAGwX7j?>w*TEEm4q?|t8%`?SvW98P*{!sPRaKW`Q1+5KV_n+UCnvkar^nD+=IGe*Ui
z?ZQOMw1Ds1XvfzGt!%C9-V5`xdw3_SzRX~M0ogw;fjxnSIjKhy#tD6bt_MGU)mcV7
zhRebutCGHls?y|@*QiGv;j=I#f>iMZ0x9XPhx;fDdC0;mlUOv2@eAr$;&K2P^nv2N
zb8X2%j6mO;DXxl7r(SrF)VQO2*M;RIC2#
zvBXiy_kM;8E3+owu_uE^4wp^nrKJ&R#DN7WszT8cYA75?a
z+oEET_x65W^8ld|^DArUV
zD1=d|)MHpG{n-f(4px|(T?Gx*m6ag~jpd!gtP@b1=D_ZJj2;|h_fVrpO>56q3opw=R$GGc_7-5U7^`HzXR}a)$)Mmw+)3q!E@#M5spfZtYNj$OsZ?P!+FawA
zV`%(?0ufR(0t_3I45LS^neob+9R|*and>iy=jIQ>E)!d=o!J&Um(&eG@iTvIX)lQ_
zSzqPe#cxU&!IUk*dEb)Je)uRK~4P{19k-244Dw{I=hqa1!WBXp5
z9%GBxAr4Yig|SVC=QIB==3oV~qah?SY}1VsLSKBrLZd9>SE1tV-_wzJVlr+_m8Pz)
zmQ}>ScW_o=qN1JVS2E69h=&?XP|Ig_L+w0Dp;2RxH-sF<*aKViZ7CX71#WG{v?OAB0($b%JH71g+RDc@W8?m~=AFT&wy;8IZ~wt0JFtkI)~=Y-O0O5%vDeW0<+N)PEHxLL))P
z0VTM~$q0DA{CKYZnjrz!z{O@sdzjYfKw35z6ltb!BMn2JnXp$lN{%#vLmz15@CqKE
znfY*(Pa!Ss*sdE`4XlL;{1mzb;;O1M5E6*Bjg17^x0;}IsHPYCvk#929B6Uqm%lHr
zQHSrqJFCn*K9}OQ4#lnoo$05yl?N#S{MnNsLATeA)%*@^?2;u2XvyttMMFbBDh(H(
zX#H#JyqnP`YM#&`-O*y)@toMg?)s=3-S0ZcR&)dj
zYVmNbB~1yZ<=ue|+%(<``%m97ahL>Kw%IaApjqX1>Xl-pl(ysnyke*XWx7Oc?%8F#|D8=uyb-kupN1r
z2>#MFD+`AT>HcD0#9Bw&?vn2P-W-P%?=#=+CO=%t&k>v(q2F|sbS}OH|JY>n+??Bp
z6xp=5WWxSY0Rb1;_5{Fmn-r?jtbCAcGEXhrI&Bh(S+QFVKoU~oXiA{W1`8=a-cb|Oaz)~F`d2O%h=TkD%M+rcst`>gdwVA8neTgzNX~Gpo
z^M!-avxXa_APw*K)&j`MeOVJl)C}>7j^6ev{P8cill`#%5ZNHooWuPXuX{`9K$d4}
z`HR`4d3~3Eqiow}1Bn1P+-5x0*1jtdi%R(x;>uFPD;bZu;YDai~0_GGyw?Y^?Uc0lYTN
z48xD=eGgu`7<>K%`Wj<73UjSAX&be!C7a;j@
z?A)wY9l5c-r_Vd};Tz>?6MK1*jWzA#m?rwuvW`%GDjsNV0=xnUXO5pyx2^2g(@N41ia^cJkR(j)@`hq{l(NJnNI-BI99b~lVe-!9B^6Xl`>r$}cp8c_X
zFw~jRY6O%fE0{*
ze&wliC$l4?s>|y(*`7u9+|J-p{A0dQOJlPtrPXzH^Xx<6qw8J7&h`Fmjiv3En@3EH
zRfw-KmvhoQElgp~G*$EpB7{XXHa@P`>U;zte#ptn)_1_zNQkzqyPh;vUW6uzc@DSU
z#oe9b&z!BpiM6h{op@GyRo4hsQ*~{m9rH^+f>RG`vnM`S1qEvLajP-|O?TgZC=%Ky
zBJ?xN5C1o9(6h_x9GUY5L{jfl-oV%J{Aee!7E82Dg)fjwjVJ()>Ogmk(F5y`9HSR{
zrcFYliYl69%hDe^2q-{Z*!9vp3>K6o{0uGZ?0gGhdZ7|>3oqcB)BZIfOV}Osq4)9|
zma53>I-Ot?)aT=NJ^VKJR+;BdRMoLi*zRR#@loygzUU>AO;Qw-&i+(ATvC#JY+=AD
z-SQ`#f|8O^uXzfxgF9%&bPRT6%~wTC7cC;r|E+_$6L5H?TtHuvwE7rj&kgi4<;{G$D?S1mj0blaEm
zD}P>SNc8!ZU;Mg6ni4`&W%KBi^4Tr-zV=>mB>BePL7@91a0j
zwDSEF(mPOK5hOQF7jxzhE-EgbOk;yWulZFPso;SxQ*Q^Z2v#jl{IhNBV<;
zrVZNS*DRr0KUj$Cltn`=^dFl!^wO7s`3#MCF;12n6cW4eOiG|iJ>jS^rhQ;#fkF(Q
zL?$aKC>L^`fZeL4i()Pd?`I`EUb86nI2auhVYTl_SaNI@x4c4@Ilw5gdm+VaEgdpt
zKY13(nk#=-8r-Ob6CJ%UJIlt!HPlvkyf%~iYXoZsYk`iJ>Ezbn^uY|Y
z;o}%9=@iS^^KP-vzbQJWYki}7g8pt`N6qV!!`CU9PXX%K6WA;#y4JYlS~q)mH=P;g
zLHze`Z?9g!>F6^;YH~8C)4%a30WhTSgYun5c
zMZ2lYR_azHw7ZYItq8YDSU=t)wKoq)pW81i%x56L3c?dG^`}$QDKB}qKPk2g!qyd5!c}7f
z1ta26l9QVkE+h+w5AI$;_*PA}>$(t4fVucy3x9QUzq3m?y3kvvqX%0E4>n0`;~O$D
zJ>jd$h!hE&_wzz@(@-@L2|9`Q64(`d%G1+B>Mp%tYV&vut;HGzXG)J8h)9tsarX6{
zcg87(-F)F;G;<XabjBgCK?~gJubD(L%&CMHLnD
zC((T*uVto(YL^sWU8jdo4u7Evlt+_^w=T{#PB+i5>Zn}O{ggH#q-4gypFaKhBqJ`O
z4qniK#+U3GjvtZC>Z-mYw%hyY1OCZge0(=@w@JHdSu>84v{;qwQPH5JqJjV^eK$LO
z(8I)uv;lHwtWyFb!K~ZwPF`M-Cs%_NiarnbABV%C&~C_wtd%!go0|?Dhy7G~*sGyE
zc5l#f5SEd3x{k}I!eI!LkliA_rNtxgrcSou+3jma^|$$RUZV{^(XPb<*VB%!NiSQm
zjWxcU*+?$fciySxSq*wIw`9>=W;V9j#l=YoD9JFoUEz~;Qg*fw1pj-s+7uy9b~YRJ
z=@D&!+MBE+l;OQ>_rlJ3b>T#Ri1cEmb9S~yD#c+P8=nbGJ^lq6L4xcj!D<)=m5J$h
z=;H;%&=h17HGenl@)AZr%;&?$fnQRSBrP9HZ54IuA|oRNc`MUdSnPBR`#AlkxfdRJ
zbAQ?CAW0x?&z4UG0!-r5(eLkEKeVKxw29bE751vFylofe<;Svp62C4_tyOEsw}kgn=X>%a
zcO?BqG((SVytkgXl|;9{2_tflFd@5`_#-e?6>5=$ziyzt^23e_TDmMf57&k04MV`X99+_tTfUl_+`xR8xX}WY5f#^z(~pgthxUmZ%~ONzo$ZWR
z?3l@2)USpw%7|m{2gUKxlw{%=tZuKbc}-sAb=fe|~QW
za6@P5qKLIpESrfNc$^pZi@JmOm008;V{U#4h(8!X%#}J%Ip%VBtcC
z_t$WGfdq#3FbXEvzjcY42%jGQ_Kd-HwH#0Q)4_Fg-M-cO#njqwB*kaSZUpyJNSvN@Y@U5E1++RaZLt5yT#WUzpH&ZfUc%0N?&j$-raUm){7W$(&B2!IH
zak32ZZ(tbo|A`k6WHELcDApFlgg2u856NhynJj>0VY^&Ze{G^C*
zmA^AS$3xu(3lQ*V6^x$pi*vcCtLr@k2@e6>B4)_E=wS%c%X4>)dNv>RYO4K2Mc;%V
zn;<;Cnc3NNb(+dATd+DhI*=FyMGz7kEK_KngztcQ2j$;7cPs>dCUNp$(F(!O)s
zenP9i-G;!eSC^I!kBwc*<-Y
zp3=eXC?JPZ8fqi0RjKxzx23*x7#)_(vj|n)f^MX%zMUu<9v96C$G1{t6>n4e1QZ?W
zWSt*1_QLgq&<(
zH^-nT@~CXXH%pSzzqKa4q1FYxW|%U7_oF!w2pTAlseWu?xYhMvdpdzC@q?gZ*HtSk
zDuxANkJav62)-IQ!~_RVeJ%Lo5qylAsU0h*x4+dB2mv@pMn=x*?jg
zgBCR=q)7Gj^kg5Kk^+YSf$c(Qd)>RF;*<%6hTRSx|3}g}M#tH9Q8>05+iGmvw%ypa
zZL_i3#9@{_TSRw7TH
z_=^Hx331q3TZ=;4&zL`hjEG1f8hmr(7`eTUxXOltY_0SO>Wb#&9c*;mA6*2CcmJAs
z|HgOF(AV$bE$!_Fh-akN+p5dQ{GZUpEW@1+kA0D73mK-O|J9!Tq
zLro&CtRD?xdC2&=et!#OA1KWoE%feV1Ba+;czfc%!
zhvpcf!Ywhr!4gs|kFJqzWAs!azk5|(@5yG0K=Hdc9Bwbw%G!jRGdDtvGyGbkEqveM
z2#qx)FgnXqqZ2~92}P}-j&~*$M_VsvM2wXnZ2Wb)7HBM^^{AX>SuXwjQ~{1qDN;ZF
z`=kR`UOv!oh(FYq_6H!30i;ZD)BV}1KEj$NMP`xDpeTS4?XcCp
zG&Ux!sK_WFU_ggy*ycPmJL?Dl0|Ce%AaX+1^ZLI(0~mV%m)X0q!AnPnpvCCuP23IO
z-r%tqHaoo<8e%5q4o1@H^xJLM>L)a-LF^!N0SKRdm$%ziyPIq}U0cAHK%)L^=xtzG
z*(tzXlX<`7wz*uA?8=j`Sn-)7eq02Lc~x28%QCrM@)MZCURT`gNvL$lj~3_}_i;~l
zyAtYJPVzPhJgG{uDt^Vg-*Gp})}r$yW1^p11-uXxg_nNVGy(G%
zzC?@sy^`&4;Z@1Z44hs8RZl!VjG7{Q>a=l&;;ik<1k2csDL!CIJmp=*c|ZT)wu(89
zC~H}|4HIik*G7f?V|V{1`}iDYu}I2LVGAP_uKom%>a0(yQ^NM^cR^!B{h*>yuKrm_
zs#afpr?q#C?7kjakL2x=sonbB0b~|b$sA%rTn$KX^ScViXlNL@)%!2Ng8}*7S+LXCF4w#Q5+KV0d_V#MFCxduKOCVtyuj
zxI$k>B@PgYcDtg97Q`7s%!X3UOKY>Ea{P%E07N${I~yFHJccdrt9=G>>ivw+#v&mV
zEHNt!j(iDNnUt2otiAv!H_2FRr_*@~>^95)(V96q
zvFMruzWiHBPekc<`+B{9pg+N3->elhe*cUx1uCD&h>zLW7e{!?%HtcAYC2ZJZ5CJ1>=b@IfJ?cCYBJ_ZYqgR+n_RJD%Kl|Fa=DUHP1PuP82B7-7#x==r>4r1hU3
zn;8CW&6B%y!<_Y>xy9yy5=}~p8PB;V0};5ofkc)7x(_rYR5%25SU5yz_%kO%kQ?d+
z5#|L^e86p4;OuTe?=E#hhm%AHB@KipNVDDQ|zQDHrjPv$l980-XmX#lXakr6I^+MIXnAq`Aildv2R&u8j%~0S6Z`
zncj}nZaSEJcuQ)%2zs{7O;oA)#Sk`3j?YV_z(-8Y1z;h#C^;l3Q}`p;l@xC(T{(b7
zIq*f*YZj!P%&QPHT`s!V_^>||^X=O=Oiawfh8A-CXJ{q_?r;FQ>j)nvBCL>PgMo<&
za9-0pV~Sx*S$KJQ`T4s5>S9wp(qfpk9B8qXPF86R(pS-~r-^I2DHlDx-FWJEAzHT{
zhTD43m0;yTVEO~zWx9HLa{r2}7AuwTkTVqqu5<#*MVN_?|C&Bo`KX_QKqtj&@`zK^$!4on9CZ&7(1bBYl4Uf~k
zB@?4Hpjt8hYXp#te+D3;JbiKdysu1jBSpd4PrBfOW?BvutVU=8=CoQBwSf_Mi|o8n
zcyLJzU68{oH}`s?$G;J(0F$izsmDq&**CDn6IPskM8%1%*rB0RodNP_QR6o-Jt-B(osh!TdeQtiOd-Da*0Sq2w&?{j~vE
zF9-k7d9g-NmR9tYxV^E|v3|RzC;r2G7$PSKmK=E;;RKFhlxfODkAdsce0)$@wd9?{
zqOx2gQt#`3SH7
z{hbhE3+mC))g|KhZtU#D7wI1u;I!ZTnU&>zIGV)o^GHrbC0Yq^P62$pw~r6FK8OT-
zB^cPAA`2pv>+-FnwX
zLD~`U^_firtWu!C`l$Mp`*MlDKl|P6f-;$72ZF+eH<+feCa#A-BZK{h;06oJ1{nhKz{R`cOWY{4~m_YjGJ#MZ3r><+IJ-P-kHt;`G0}_shbQ2i&{Yp3H!U)JJ@EuCu$Qd>{Vqu$3nM
zOOBclsNCOc!M`p7X}96(=B>CD7W{!e@Dqt{6;qLpZqhe$
zV(YY-wEtWzP7Esve~^G)46v|sK2NJhFXHTlFY@~gkETiKNZ)*WikF#t>8Wj
zWp(`aJy0VxIJ~ivI^gl}HX{KigFJ^WPB5B$Pf9vi*D3g%HQL9izivPDKr0@z7@cjX
z>l=4bI%?u`F$MM2T+yJa2Osjs=Ur)ku&I@zoVrSC
z;4h|aLDLBu)G;Z=mmh=BK?V_yl=`x$da`JnyBU$@AHlMgc`7n|$*=ai
z;b+R)4Wl!4tr_I4fs2Z@r$zB68mI|Z1^t5!9*o+I`b=G&l^5JS!%^-0?{oD<)?**D
z7Z)mJ=wH&_uooWV+hC)!z*JJ05V4(GOS+o@3JTf_)%|wGTYv=2sQ>9CfaxHJbhE<)
z*>m_mFB}0um(>C#aak`7u&dwP+6s8PY&jT7*x1+r@1v-rqoWH<0@>kl+J|tA2LyO1
zhwNJWEuL0o`Mi)A(G7F>{855jA)}2`uXnhoB6E8UpTm?dNOcR^n7$;4+R3gZcrgSU68n5Mfx
z{LvB)#XJ5=cAyWoTZFD-4R#C&%Or{lZz`K1M`krGj7(RZHv$wm_4
z*X_GvevBVa?#X;f(GFgdgX=HeN7N^LRkqi=rTi`UR#^kP*)DlJAd5npUHimuU!B=4
zr8Z=dl$Q0gKL!Fg!(b462FJXoiik>CkiGI!NN1GkU8~88(V^+i1o2RKR$xQN+>E`%
z@U;jC)On<|eshuTS;3Uv;-j}!_w&t!El3j8)&rP#8U_ac^mHBW?;x)3(~ETiSS_rb
z#RxNDL;W{7xZ|kbMRHFL@nw$X;7ZHFAu&3If3SuAC%*W`i%V#kCg
z&bdy7kqLXaGcKly5yigAs=IDdk+`sP-}FjW5j{s;B8AzybOu^3)r*{+=>3p6yy%Q7guRaCxKuKE+CcU$h6KFWx
zmLQ6DL4%MBpxFT4pALte?i4CTLIGcFYFmJzeS@K@x&W-Z09w8Aa4e35goKVOrq<}k
z+tZ#%md_FEPZuE-U=<4w3)_cR!PzgJ52Np!}s)F^|a
z9b1GBxM+a)J3A+5h%c&(6@NKp&%^vM83a86%$)7At4WfOM3ag(t&$(YDM($OfFI8)
zeph*oa^vfWVmpei;mcZ|QFQ_~j44Tl(oao>Wa`?Iq!cYB`S}wQG~jXzF+#jkD}Job
z5&E8DMiV-hoNSG$ahFUUYMCq;Rk&zneP;6^EfUGXq>tSe6afIgIr$_j+Otyw3I)${
z9SD2b!&G=Wgp|nCM!zMA6A*~A!aB_byx*8vm*(bpKxBQxWcQdZ_s4&A-LxnSUs2Dy
z)X2QjOW7kmZj<%`_^;JX+E@GdE$ea_S#+9Q6w~}PqfU(SE@e}W7$e8iB**8sUbH2jaYh&j^HRR~GOceMR!))Q%v4bh?e)Iy
zeMg=;;q#zDc0;M}G!Yi|+0NQI4T&W2BlmlgdF#UAt{vDz`l^4`ydLpu&$)Q5IsZBn
ze)81ia?~4tGQ{)6AjEo%z0yjU)-cDS;Eyi&A@z#zy;BO<$b&asCo`dSQQ{o{^);6jp*g
z_`6X?S(9y4Fjsb5gr)_QWC#NCUxhRH@9(a@P`OLB2nwK?=S*qmS@^p*cPENf?%9Uj
zzTEWmmoJE5-%bBed~m&2k$?HkcC$vZuNTUp&KxFPltHTF9EOfHSo~Xj8GPmWt$~T+
z_3a-t6b*rRjV#>n;f6x5h}xD!6jM@k<;z32?fBF_q(kRj!szz{5)WH*h0n{y(-=($
zerlQum0iX(z6z!1OF8bCX8b7n)G0Q^mmg_6p%4Cem&Fbd>6jWcvlnFI;s?23g^V@T
z)s&%8_pd@0adB}Z_&>
z1^iu54^XiPx|Yl7KzL)q%Gv;Y62UvznVIWaS_IuMe#%i6->Mz~OFbT5UhrJVYJ?mu
z4<+bgTwdM|@fghEq2a_!Dwy9&Xk;?N!gQlld#N`T@^0)!?9X%|MC!?2CsfiOPsB
zStgm0>>i3gEnPjr%yz?|+qf}Um_Nl}Vhk|FX=9IP@-3{|N{WhtZ>rwkefJx!Nq>)(
zjxwTCadBb$H#9Vi?L&-mU@Lu`8o9a3m!^O-GMP%3atPISTe9@`fFl50XJ)
zgWw3IRST6c0`Bwr_Lk4(1O_FJ#h@1%9Svs2e!4Q+HZO}4M*<4kiir@l1eaC9mLMJf
z!x4jsNRg)Q&mXAH4?xg@gM<0CL
zh%kpWxHYpdLf=DC;eN~Gt+nqHQLz2;lYeo-bv@xa&yC4(hx78&3cR4!d3(-=0iI!9
z&f-qriQ^(jMe{KC*=}nDJpK_!jkUC+(?@VG`(pv>UjB@~pxJOH*dSN7!!6?pU+3X;
zR`n~l(cM_tYLB(OIC{D$JJZi|$Y!DQ?+IDUOyd7fX9UR{+gQxl-^{sYceZINk}|eG
z`A)Kt3q!o+#A86#SiG9G3Ke!0Wrh;^s+>lUe}T?N2--1QH4k*Q`O|TwT@z39wm80y
zx=GOT@iX%Kzhj?Nx_9FNQ52SNn(yO4T>aiJK^_4GcMw}GLn(uKCOoW&q|Q9CAlaB?
zgo7*P2HtvE%+V;9m|c&WIw@S6?XtKrWE|`fuAsr=@duC3{%h0ul!V0|4Jk=L#;pu;
zK?5WebFO-Wo!s16DEel+%0IO!RT_CQIH%t>BjR)Cys*l(CU>*86vdU^8H*j}arT?wdC)XkeA-Ueh!@6|d?@R;f7V&L|1L?s87~uvj*tOKgEt
znVE7fHtY(1ADPEKLF6V8Bmr9Kx}WTDl@QtXVzd~RB4$XG7?&4zprPcSV(6yJe14lz
z#%0>aRd*gT>s1)WHX^OJMjMufFP3zarr6TA{BhV}Ct$@Bt3|+Wt{%AUeVrRm^2sa?
zN}`-naza$!tTDr4y^37rh=`1=C?gYWkU!k9nG)qvK=9+o4`ya&KmY?gWPo|&5D+!c
zQ{kD4ii<@>L;_8K2S9CtLVA0JxG2BFhxNzCA}9f-!0<@NN_Iu*#lS~yUhc2k4g({{
zP_^k%^h&k9@xw~|nHMutbG!A%%+50d4UHqO(|_@oybL+KjA^5Xa2li*;?5eSM&fW9
zvErekd2}M&x)nxup_OBG??f75@wyoI=UH#GPtb;UjMQa8rl&uDwrV$65b?O8)aPbp
zp<<(JP1Hb+Lxw?;V&LJyON2}c`9N|c$^0H08&lG%l~7QaemGxYH0b2=dAzu|u%#v_
z1?*ig5->vRfvMm%!6!!6QlOEHUhHsm;P>%b$WS1Tm{&+r9PI2E)l!5VqT)huD5bCc
z!Txf#ojD?lF$h-Z&maM&Aj}St@UMvhnR2*TSXekXBuSC5SVGq2K}ri@bcVt`<%v45
zCYMQq{!0UfalRTC@Ic5#PmLl%Ca6wAMg|ufC7e@<+D#w4m(mE%5xf>$?PM~O)z8l_
z0iWC0%nXtuY%^GU7kxEF3;aUppb5g?-`_M1ausbH@_RnN59XvS9k>8&6L>m=MMxj`
zNiT)7i%VZW02_A14A-?jj+jd-E7QY#DR^r-?ZZUkU$s@g;9pJJo80&TbDAlZb)RfW%mAb(`gxT7^n{k1Q8_!|AZ23
z)tZL(97|B{$R~MR-2R<1pO9>Lkv!#-TueJ$lZ8{zYi}vLPM*FF>s~PAE9fY);4JsC
z5Fb%c8<~z~(ErQ7{jKv&eK(`4fPmFo+z(FAWGiEy39xnxX@t_EYS4>igD$YFZMw=HsvOj4;C9;XQTFCVzXW*Z$kMJ2N
zu>|_On8@u##XkLCZ4UIAYL1scrVkM5!g!oxg79BrUdKVx)$BT-2`6;k2*o+MKx@cx
zuuHYHsk*C%wj8?`WF2Mj1{hwJh5W7UiQb@P8UoauH#r+7Wz
z7tbDlBs7_F5+OC^&(XNqwUiM>JsWo(n;)HUb8Dmk5Z<;rPgnc`PQ9@!_*e_qgkmZ<
zT0#!VzYJfOEesZpyE!ttjO`Yp_s4H}&*h&7$w|nqLHcf;X>@287sOI^>81rQR{K&~
zsjeK~dq0ooMCm=Udn|c)srv$Iz}Rm`Wuuh%B%N@_IbzJ|P?~;w#V5;+T
zmqT;#v`kJ^aCZX-%_qtz(^M6`5fhtppoG(sAQ6f;19yjy{z4_%wPilZs%Pcv-4=EH
z2i!o{?#jNo>#4FHa&XupW@=!n`4j4mbl5HuznjwjIqP|@f-FGqFQ-k#ihT*Mx9ZV#
z-6r%F>*+N6R5f0an~Yxp{FD_Fz2$VZ)t`dQ$|H4ao0pC!{H%f=-~8++Le3ukYJVSn
z!gYeSj5JLgto)nf{D9Zz=Yp^{D#bI!d<--KPKU>S$pkWn9r?}6iXxyX{xOS0c&x;)Y)|hCY3;l
zG216#LJPbWsW*ZsXlDB)4l8@9=8n;jC^#mkNU(fnHbjY_va$s#S0Nq$Ep?OjIBVQB4KfAYqjRIDKx
z&_k)^a2e7B9SmeI%#PIPb?r^9ttFOoO3!g`ZuUfpuYS!3dDySjL&ET2PtDGvNYEu-
znvBE?6R(2C9_;Rd1Tl37AN5a9+b@-?3mFKHOidw5z@WtREi?vvJYYcp>&Tr>FSPyk
z_I8o9KJ`(k79%;MNoXW|Am|N++<0-B8}MP0qn4vfT3wo?uBI`Q#l12<4_6Ka
zup#rG31;FF>U6bzCu9^NM?~Yg%7g|3`)UWlQL80b9*AUEG!9
z=5c^OT$h4fB&VPC*S{jb4}u9^)BxWz;<~JG&LPClW^AO;bo!W9=I)#q!!@D&^OSnb
z3EgZ>xs9ReG=9mdS0Go|ngzc?g@9No^)K<5GssjHTgeDv#fQ|(8LGWRANq%RxsU(@i^8w@ruE
zb-a=Y{Aq~z>%|ZiI(^0BGw1q9fRQVXHg@9d6~89jk#O;vmT!#Q*hB|ee<}Aj|Hd`z
z<7>_5y0kRe&EdJmp~}H;Z~Lk1T4$&0iT`vP*i>;%XJ#I7n@pQb8w&}4Vy*g)
zC`g3S`Pg+sX@+#hEokgrxWPuQICvJ-q`3KF|sK;N@IV8OMof^y`#^i1tmW3pLEZz
zTffq64Lb{e@GgHe6UPt7`p@TljqDAXu&KFAXnDVs<_3|ts=K@lj2R$AHoZ5!?-_>vpkF|V5z>#fwKY)gii!#sM@Oa2f0Zo(Mm>8t
z^aB;`B?E3VVwZww)h;~miQ1(POXpy9Tp-|{OiDa1E-`OUM5!4WxqM#bRW|oIF3HoG
zQu+;21PxM`tjaz!Vpcsd7otB3&$n4Q8>h*uct1SrtZsc%qK7E|PQ)2jv5aq7TvXdF
z29CJPlat!II#8m(*O9@&Kq_E3EpVjXC{fH0*9$C}wF~J6bu_I1L}-Njh51SnjYlam
z2z+i=?3cG1pEmmz3L_Mt!-fwZACb>2&o{^0faD<(0Z{YV45^y7;x
z2M-xuuDEJ8*l@O}eXCuEuk-ehNq|q9eI~AF@0{)J@07c{28NDYUG=BQfrIyEwPEIj
zyNVBnOJ@$lIc=OH`!33Px0>9sqRniH;z?}IiX|kAWrFQnyEU>Wm=*qM3r#&f?v|sd
zkcy$`(B9%8_YK04T#@32$=c0xs%l<`4ENBYQ{A5mLKJk?@WxBf*<97{M9`lzUofwR
zUmyED{LdGb!E+%LAG~J)-L&l7sTza+>n9Kby&>hWU
z&ezOdaMHuLkGt#w9vXEX=*GCt*8f0U>*J6>VZ~3maCJQnZnw>_Ftp|yUVC_*SI}j5
zHoA}?;fdM(FxK$&%R2}w7Iee|n{Ct|bnqQ()R(g``IgJhpP9o39H0W|5AO9ymh?V}
zjtar%=t+Aj7`Oet1k|2V<~RO3@Ob!&HL-VV*FH{eHbEnZoR=Ay%`5y*&j#zhTXs|p
zy#s5;{!8~#H1M#nVI#`xH{L2;&11_3(Av+ubEocp*5$D1BlNo8-0?7PogIHz#&~oZ_zqtu>apCx?
zl(qf9iEKktt)t_>0dca2-aTw}`KH+l(+plO2vT9TVim_G@T
zI60WcrCqNc;@nsc?bor6>jbBr4f}<6I9+X3L*0H4-yZ+Sf?c>@8@}cLP|#t(oG8z4
z^)lQ%^!GQ>84c>=k@&eV-Al{6Ac~B!(`8!DO2sWkwdu96VA_CHW-%}7n)zbi_qb7s
zaKtaqO>|l1;Pq^A4X+z=;jxaxc-y>&a^M1TMV8}H8~sk8$XGt(f>PH{LBPzZ*Rqo!
zKq?FgB`=H8Kz28`x#q@MY*Jr;b$@@aZ2GtzD@Mu-5gKsw?`{e+VbYg&!Qj3L3C`1V
z&0pSb>-K=^1cO_(BDen?)sv={jirEMu!JNL3oVks6Kn;TY=NzLOLKEDK`rvH(2$bG
z`ZZfcMMYwY?(S~W{!(iYIN~H6Lc(riix#^Pq@IGCUz5-^6X&g9%!Z^Gdtv{C&`5}l
z=z+0MF^{jVu5H)o+OzLfMbn~2i4@Z2Kx=qgS%P9dp7}H^GX8G~e0tvaj&+g+mikkx
zb3q0b16_qcfrXKYPhF1#F$X1Ka7AUM_X7D`#NG65z^EaPKax>1MKm1D}0&Tosf?W6mkY3tZ}{DPLYr=Ew?S
zm7Iy=`uh43-Iczl;y=ThAzTS(l8}(hrhq<(EEDm%BP{v@5@}~A--&FmDx5=6
zfOCZaT)G)qcM*!%_L#c9j-^EuZx-X(nvI6;oB3&L34{*HTsJGDVi2u?9{T$3(vG
zLGj|}%L>F~sKB73u#i$BZAR7M};Cw
zn};sJ^$II7tR#Q?y`ZomA0c#F<~8+bx(K!sfKI_|6jl42K=Bf^Vwn7OwtrBv+1LK~
ztDEueA-VQoW5MZZxQ=&GYT{$Nr@nw;6f)sL><5SoEqY^A_X~m+V!$-b$P0sDS1NWt-fXDftsqdHEPx~`jC!b25D{d<_U;cfbO^@w6g3>+it}BKr*dtFhAF76FH9v>2
zZ4f$48+o{e6er<^Xg4vA^?)Z4ld$+wNDqD}_w#s*6Z$@@EiH+jB`9+anmT|~upTUl
zM`nxkRlMgW#d7c~WQ_;@1G0$`Y++!E&(6d4dF0E^#no*fX7?B;{*BWbv>Kr2Z=n
z!)aa3!d}x&?2{h)+ywr;+A^%;>Zzk14S)Nd-@5uqG`1%1?IrD9BRmmjG5NZz>D?o4
zCg;#Au6vz!cCAPM4JemNriXmh61-1yXN
z)^Aw1w7G{b3F>p`!8xpb+aFtc)&1)D%{6)XKD=A;*39^oQt|M(+&?QR&CyJyfqv+n
z$9=D=aF0{$=kkhML`bRgylM|yzwtsnU0-wNo%&YDe)mZ~|1s-!U5ucaTYbiLC)yLp
z!I1s#t@1V^`CXyp@r$1ResQd8#~Dv_PQ+yS!88BklcOTEs!xk#_Aroz|M5}}4UZr<
zH*ITSp*XAg6m04G2HLf`+vOrSz~H@jyPEm?dWEdPttu*82%1z{TN`)6h^mv|_dpRq
z?>qs%-GH#QQ0(qDaK-kdGTj6`6E*rB8hUyN7l`lVJ_mr&u1327$`dLPYPVaD;b}aL
zwioKpv@x7w4rE@J|A#j*ick;02}eak%ao(ElZ^B*45m#aX@z?h;pi~&)uXmqK{w0l
zO&>~a3{dl?s5I}gs_ypN9*9=17NhC44wa;*uR33GaCCdX$KKV-@2R!^TLY-F#F8ao
z>ZJJ-LBtH&^$^%JrI1=!H!FY~5#q0qFCZ^rO+sR7+`HCb5tMieIP=iDhpR?
z>MfBs-y%vK!1a;pup?R2N>F}iYOXv!J_7y^Q3W?w*U>-b`_;iH9zomc5a={IhwBp=
zTvUzKEPl0{C)Lw`OSp$b@#|6<#Z?7)*Lj=mwxGBxw6+0}qEHVsfI_g)GjYq;#o5_@
zyHgt&@6BMPtj*0SPY}_OAQ61Aad3jF=i1%Q15W_YA^6s2iv!UwYBE4V3+nFEKyZXF
zkB^Pj>+)uIB^gyFFeM>FF)o-xVfY@m+t$)DlV!Lfxf7`S~8=(`^dkpC|ec
zS(?>kCm9`WgL<3wN?wj^;A==$`?u;bXKe*X1yq0N0p>j&uc?{@I1
zOnbx7unUH(`&3qaw1`@t$r^%8ooA~4ELkqJRmbVk_X4gHc|BbK6$RZ5ycNS(Tyb{%2m!R
zSR-UCJ=hPxkd@7Amu7?U8W@^%J+}E83lEtjXbFOkZnAoR(M`HVJqhBT{=qwU**v?+
z`Z)hg{N`pqF~8H6vvc6;evr}#Z-MkaYdCaL1=qmSDdllMG(p4*t-myH@P_5Fu>}h%
ziS~}TIa77m0s)^HRP{pWqY0Ml7Fw=q(D!|QjYxni_rvY;y5g=n$}9!({YCzheue<9
z-nJ@Xl6JJNfmMfZ9{)PP%0=Y{7XE|i%&^^E17ZXJjbhNL<}>|^#^>=WXjmJqvJ
zHCAzd30Z70=XNoh@W{>)t=?eMd+2R)_Yz_4!CFPG6~KRrs%UC@0KQ(p7hk|$PWZjJ
zrUscyTV8(Ze5ED`8XUvX(GjHj@%h%|2J{_N22>BilfIUjo}PZ!j)#XwKtNz5o&fw6
ztg?T79q_k%+S*$rGiz^bm8CeI?c8ZpyTEM;i1}a8
zh&VHAmjlKEl$iA&s^7@f)tADZ|=+KNJ&a;*`buut(D)Esgu1!@2j
z$rCC<5v?)eE7WW;AjFV!^byTs!-lmc?(j8z=<$-*OB1D-O)sf5~Zf4dy&=^@eyhk0op*_;;Y!