From 525423708920437723d1b453e595397456206f42 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?O=C4=9Fuzhan=20A=C4=9F=C4=B1r?=
<90545225+oguzhanagir@users.noreply.github.com>
Date: Fri, 21 Aug 2026 10:47:33 +0300
Subject: [PATCH 1/3] Add Power Tools Custom Code Documentation
---
docs/en/Power-Tools-Custom-Code-Angular.md | 215 ++++++++++++++
docs/en/Power-Tools-Custom-Code-Mvc.md | 216 ++++++++++++++
docs/en/Power-Tools-Custom-Code-React.md | 273 ++++++++++++++++++
...ower-tools-generate-overridable-entity.png | Bin 0 -> 187342 bytes
docs/en/nav-aspnet-core-angular.json | 4 +
docs/en/nav-aspnet-core-mvc.json | 4 +
docs/en/nav-aspnet-core-react.json | 4 +
7 files changed, 716 insertions(+)
create mode 100644 docs/en/Power-Tools-Custom-Code-Angular.md
create mode 100644 docs/en/Power-Tools-Custom-Code-Mvc.md
create mode 100644 docs/en/Power-Tools-Custom-Code-React.md
create mode 100644 docs/en/images/aspnet-zero-power-tools-generate-overridable-entity.png
diff --git a/docs/en/Power-Tools-Custom-Code-Angular.md b/docs/en/Power-Tools-Custom-Code-Angular.md
new file mode 100644
index 00000000..4323a284
--- /dev/null
+++ b/docs/en/Power-Tools-Custom-Code-Angular.md
@@ -0,0 +1,215 @@
+# Power Tools Custom Code - Angular
+
+ASP.NET Zero Power Tools generates code that can be fully regenerated whenever you change an entity. The **Custom Code** feature lets you add your own code to the generated pages and classes so that your additions survive regeneration.
+
+This page covers how Custom Code works in **Angular** projects. For other UI frameworks.
+
+## Enabling Custom Code
+
+Open Power Tools, select your entity, and turn on the **Generate Overridable Entity** switch in the Entity Information section.
+
+
+
+When this switch is on, Power Tools generates additional extension files that you own. These files are created once and never overwritten, even when you regenerate the entity.
+
+> The switch affects both the server side and the client side.
+
+## How It Works
+
+Angular uses two complementary mechanisms to preserve your code during regeneration:
+
+| Mechanism | How It Works | Applies To |
+|---|---|---|
+| **Extension files** (SkipIfExists) | A base class is regenerated every time. A developer-owned subclass is generated once and never overwritten. You override methods or add logic in the subclass. | Server-side C# files and Angular TypeScript components |
+| **Preserved region slots** (`az:begin` / `az:end`) | Named regions inside regenerated HTML templates. Power Tools preserves any markup you place between the markers. | Angular component HTML templates |
+
+## Server Side
+
+When **Generate Overridable Entity** is enabled, the following server-side extension files are generated. These are shared across all UI frameworks.
+
+| File | Base Class | Purpose |
+|---|---|---|
+| `AppService.Extended.cs` | `AppServiceBase` | Override application service methods |
+| `AppServiceInterface.Extended.cs` | - | Extend the service interface |
+| `Entity.Extended.cs` | `EntityBase` | Add custom properties or methods to the entity |
+| `CreateOrEditDto.Extended.cs` | `CreateOrEditDtoBase` | Extend the input DTO |
+| `EntityDto.Extended.cs` | `EntityDtoBase` | Extend the list DTO |
+| `GetAllInput.Extended.cs` | `GetAllInputBase` | Add custom filter parameters |
+| `GetAllForExcelInput.Extended.cs` | `GetAllForExcelInputBase` | Add custom Excel export filter parameters |
+| `GetAllOutput.Extended.cs` | `GetAllOutputBase` | Extend the output DTO |
+| `GetForEditOutput.Extended.cs` | `GetForEditOutputBase` | Extend the edit output DTO |
+| `LookupDto.Extended.cs` | `LookupDtoBase` | Extend the lookup DTO |
+| `HostController.Extended.cs` | `HostControllerBase` | Extend the API controller |
+
+Each `.Extended.cs` file contains:
+
+```csharp
+// Write your custom code here.
+// ASP.NET Zero Power Tools will not overwrite this class
+// when you regenerate the related entity.
+```
+
+The base files (without `.Extended`) are fully regenerated on every run. New entity properties automatically flow into them. Your customizations in the extension files are preserved because Power Tools never touches them after the first generation.
+
+## Angular TypeScript - Extension Files
+
+When you enable **Generate Overridable Entity**, each Angular component is split into two TypeScript files:
+
+| Generated File | Description |
+|---|---|
+| `*.component.base.ts` | Abstract base class with all generated logic. **Regenerated every time.** |
+| `*.component.ts` | Your subclass that extends the base. **Generated once, never overwritten.** |
+
+This pattern applies to all component types:
+
+- **Page component** -- the list page
+- **Create/edit component** -- modal, full page, or offcanvas variant
+- **Detail/view component** -- modal or full page variant
+
+### Example for a `Product` Entity
+
+```
+products.component.base.ts ← regenerated (abstract base)
+products.component.ts ← yours (extends ProductsComponentBase)
+
+create-or-edit-product-modal.component.base.ts ← regenerated
+create-or-edit-product-modal.component.ts ← yours
+
+view-product-modal.component.base.ts ← regenerated
+view-product-modal.component.ts ← yours
+```
+
+### Customizing in the Subclass
+
+Your `.component.ts` extends the base class. Override any method to customize behavior:
+
+```typescript
+import { ProductsComponentBase } from "./products.component.base";
+
+@Component({
+ // ...
+})
+export class ProductsComponent extends ProductsComponentBase {
+ // Write your custom code here.
+ // ASP.NET Zero Power Tools will not overwrite this class
+ // when you regenerate the related entity.
+}
+```
+
+Because the concrete class sits at the standard `.component.ts` path, routing, lazy-loading, and module imports remain untouched. When you regenerate, the base class picks up new entity properties and the subclass keeps your code.
+
+**Key points about the base class:**
+
+- The class is declared `abstract` so it cannot be instantiated directly.
+- Members use `protected` access (instead of `private`) so your subclass can reach them.
+- The standalone imports array is exported as a named constant (e.g. `ProductsComponentImports`) so the subclass can use it in its `@Component` decorator.
+- The `@Component` decorator on the base has `{ template: '' }` -- just a stub. The real template belongs to the concrete class.
+
+## Angular HTML - Preserved Region Slots
+
+Angular HTML templates contain named `az:begin` / `az:end` markers. You can place custom markup between these markers and it will be preserved on regeneration. The rest of the template is fully regenerated.
+
+### List Page Slots
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+### Create/Edit Page Slots
+
+```html
+
+
+
+```
+
+### Detail/View Page Slots
+
+```html
+
+
+
+```
+
+### Slot Reference
+
+| Slot Name | File | Purpose |
+|---|---|---|
+| `filters` | List page HTML | Custom advanced filter controls |
+| `column-headers` | List page HTML | Custom table column headers (`
+
+When this switch is on, Power Tools generates additional extension files that you own. These files are created once and never overwritten, even when you regenerate the entity.
+
+> The switch affects both the server side and the client side.
+
+## How It Works
+
+MVC uses two complementary mechanisms to preserve your code during regeneration:
+
+| Mechanism | How It Works | Applies To |
+|---|---|---|
+| **Extension files** (SkipIfExists) | A base class is regenerated every time. A developer-owned subclass is generated once and never overwritten. | Server-side C# files and MVC Controller / ViewModel classes |
+| **Preserved region slots** (`az:begin` / `az:end`) | Named regions inside regenerated files. Power Tools preserves any code you place between the markers. | Razor views (`.cshtml`) and JavaScript files (`.js`) |
+
+> Razor views and JavaScript files cannot use the base/subclass pattern, so they rely entirely on preserved region slots.
+
+## Server Side
+
+When **Generate Overridable Entity** is enabled, the following server-side extension files are generated. These are shared across all UI frameworks.
+
+| File | Base Class | Purpose |
+|---|---|---|
+| `AppService.Extended.cs` | `AppServiceBase` | Override application service methods |
+| `AppServiceInterface.Extended.cs` | - | Extend the service interface |
+| `Entity.Extended.cs` | `EntityBase` | Add custom properties or methods to the entity |
+| `CreateOrEditDto.Extended.cs` | `CreateOrEditDtoBase` | Extend the input DTO |
+| `EntityDto.Extended.cs` | `EntityDtoBase` | Extend the list DTO |
+| `GetAllInput.Extended.cs` | `GetAllInputBase` | Add custom filter parameters |
+| `GetAllForExcelInput.Extended.cs` | `GetAllForExcelInputBase` | Add custom Excel export filter parameters |
+| `GetAllOutput.Extended.cs` | `GetAllOutputBase` | Extend the output DTO |
+| `GetForEditOutput.Extended.cs` | `GetForEditOutputBase` | Extend the edit output DTO |
+| `LookupDto.Extended.cs` | `LookupDtoBase` | Extend the lookup DTO |
+| `HostController.Extended.cs` | `HostControllerBase` | Extend the API controller |
+
+Each `.Extended.cs` file contains:
+
+```csharp
+// Write your custom code here.
+// ASP.NET Zero Power Tools will not overwrite this class
+// when you regenerate the related entity.
+```
+
+The base files (without `.Extended`) are fully regenerated on every run. New entity properties automatically flow into them. Your customizations in the extension files are preserved because Power Tools never touches them after the first generation.
+
+## MVC C# - Extension Files
+
+When you enable **Generate Overridable Entity**, the MVC Controller and ViewModel classes are split into base and extension files:
+
+| Generated File | Description |
+|---|---|
+| `*Controller.cs` (base) | Abstract base controller with all generated logic. **Regenerated every time.** |
+| `*Controller.Extended.cs` | Your controller subclass. **Generated once, never overwritten.** |
+| `*ViewModel.cs` (base) | Abstract base view model. **Regenerated every time.** |
+| `*ViewModel.Extended.cs` | Your view model subclass. **Generated once, never overwritten.** |
+
+If the entity has a view-only page enabled, a `*ViewEntityViewModel.Extended.cs` is also generated.
+
+### Example for a `Product` Entity
+
+```
+ProductsController.cs ← regenerated (abstract base)
+ProductsController.Extended.cs ← yours (extends base)
+
+ProductsViewModel.cs ← regenerated (abstract base)
+ProductsViewModel.Extended.cs ← yours (extends base)
+```
+
+Override any method in the extension file:
+
+```csharp
+public class ProductsController : ProductsControllerBase
+{
+ // Write your custom code here.
+ // ASP.NET Zero Power Tools will not overwrite this class
+ // when you regenerate the related entity.
+}
+```
+
+## MVC Razor & JavaScript - Preserved Region Slots
+
+Razor views and JavaScript files use named `az:begin` / `az:end` markers. You can place custom markup or code between these markers and it will be preserved on regeneration.
+
+### Index Page - Razor Slots
+
+```html
+
+
+
+
+
+
+
+```
+
+### Index Page Toolbar - Razor Slot
+
+```html
+
+
+
+```
+
+### Index Page - JavaScript Slot
+
+```javascript
+// az:begin(columns)
+// Add custom DataTables columnDefs entries here
+// az:end(columns)
+```
+
+### Create/Edit Modal - Razor Slot
+
+```html
+
+
+
+```
+
+### View Entity Modal - Razor Slot
+
+```html
+
+
+
+```
+
+### Slot Reference
+
+| Slot Name | File | Comment Style | Purpose |
+|---|---|---|---|
+| `filters` | Index Razor (`.cshtml`) | HTML | Custom advanced filter controls |
+| `column-headers` | Index Razor (`.cshtml`) | HTML | Custom table column headers |
+| `toolbar-actions` | Index Razor (`.cshtml`) | HTML | Custom toolbar buttons |
+| `columns` | Index JavaScript (`.js`) | JS | Custom DataTables column definitions |
+| `form-fields` | Create/edit Razor (`.cshtml`) | HTML | Custom form fields |
+| `detail-fields` | View entity Razor (`.cshtml`) | HTML | Custom detail display fields |
+
+> The `column-headers` slot in the Razor file and the `columns` slot in the JavaScript file are **paired**. Adding a custom column requires entries in both files.
+
+### Example - Adding a Custom Column
+
+In the Razor file (`.cshtml`):
+
+```html
+
+
+
+When this switch is on, Power Tools generates additional customization files that you own. These files are created once and never overwritten, even when you regenerate the entity.
+
+> The switch affects both the server side and the client side.
+
+## How It Works
+
+React uses a different approach than Angular and MVC. Instead of inline region markers or base/subclass patterns for UI files, React generates **separate customization files** with typed hook functions that the generated page imports and calls at fixed extension points.
+
+| Mechanism | How It Works | Applies To |
+|---|---|---|
+| **Extension files** (SkipIfExists) | A base class is regenerated every time. A developer-owned subclass is generated once and never overwritten. | Server-side C# files only |
+| **Customization files** | Separate `.tsx` files with hook functions. Never overwritten. The generated page imports and calls them. | React pages, forms, and detail views |
+| **Regenerated type definitions** | A `customizations.types.ts` file that is regenerated to keep TypeScript types in sync with the entity. | React customization contexts |
+
+## Server Side
+
+When **Generate Overridable Entity** is enabled, the following server-side extension files are generated. These are shared across all UI frameworks.
+
+| File | Base Class | Purpose |
+|---|---|---|
+| `AppService.Extended.cs` | `AppServiceBase` | Override application service methods |
+| `AppServiceInterface.Extended.cs` | - | Extend the service interface |
+| `Entity.Extended.cs` | `EntityBase` | Add custom properties or methods to the entity |
+| `CreateOrEditDto.Extended.cs` | `CreateOrEditDtoBase` | Extend the input DTO |
+| `EntityDto.Extended.cs` | `EntityDtoBase` | Extend the list DTO |
+| `GetAllInput.Extended.cs` | `GetAllInputBase` | Add custom filter parameters |
+| `GetAllForExcelInput.Extended.cs` | `GetAllForExcelInputBase` | Add custom Excel export filter parameters |
+| `GetAllOutput.Extended.cs` | `GetAllOutputBase` | Extend the output DTO |
+| `GetForEditOutput.Extended.cs` | `GetForEditOutputBase` | Extend the edit output DTO |
+| `LookupDto.Extended.cs` | `LookupDtoBase` | Extend the lookup DTO |
+| `HostController.Extended.cs` | `HostControllerBase` | Extend the API controller |
+
+Each `.Extended.cs` file contains:
+
+```csharp
+// Write your custom code here.
+// ASP.NET Zero Power Tools will not overwrite this class
+// when you regenerate the related entity.
+```
+
+The base files (without `.Extended`) are fully regenerated on every run. New entity properties automatically flow into them. Your customizations in the extension files are preserved because Power Tools never touches them after the first generation.
+
+## React Customization Files
+
+When you enable **Generate Overridable Entity**, Power Tools generates the following files alongside the main page:
+
+| Generated File | Overwritten? | Purpose |
+|---|---|---|
+| `customizations.tsx` | **Never** | Hook functions for the list page: extra columns, row actions, toolbar actions |
+| `customizations.types.ts` | **Yes** (regenerated) | TypeScript types for the customization context |
+| `CreateOrEdit*Modal.custom.tsx` | **Never** | Hook functions for the form: extra fields, before/after save |
+| `View*Modal.custom.tsx` | **Never** | Hook functions for the detail view: extra detail items |
+
+> `customizations.types.ts` is the only customization-related file that gets regenerated. This is intentional, when the entity shape changes, the type definitions update and any stale code in your customization files produces a compile error rather than breaking silently.
+
+### File Layout Example for a `Product` Entity
+
+```
+pages/admin/inventory/products/
+├── index.tsx ← regenerated (main page)
+├── customizations.tsx ← yours (list page hooks)
+├── customizations.types.ts ← regenerated (types)
+├── components/
+│ ├── CreateOrEditProductModal.tsx ← regenerated
+│ ├── CreateOrEditProductModal.custom.tsx ← yours (form hooks)
+│ ├── ViewProductModal.tsx ← regenerated
+│ └── ViewProductModal.custom.tsx ← yours (detail hooks)
+```
+
+## List Page Hooks
+
+The `customizations.tsx` file provides three hook functions for the list page:
+
+```tsx
+import type { ReactNode } from "react";
+import type {
+ ProductColumn,
+ ProductRowAction,
+ ProductsPageContext,
+} from "./customizations.types";
+
+/** Columns appended after the generated ones. */
+export const extraColumns = (ctx: ProductsPageContext): ProductColumn[] => [];
+
+/** Extra entries for a row's action menu, appended after the generated ones. */
+export const extraRowActions = (
+ ctx: ProductsPageContext,
+ record: Parameters~m9YcnI?giY_?oQ2-?Q-4%=6e(Y} zPOiugI0V*UGXEG0puPUBeCTj=$>+&xR-#QxU6S`1<}fU2JaN~j_f%V~B{Wc^J>J%^ z2*Dt-L3=-W;{F!kD7459d6Zi-Ma&2SjQG`^j>-yVXqAC!hDV}<{v)XWzhu(y#!syXe)jlhH zcbQ${FzWpbQ{LQ{=<)ky)xT`35$~a3h>;!oCGtuE7_|+y)E4M}0nQmvVdWjlh@D32 zzi_3;+Sp~cc9xgvdY)!0LCgpb*N6*7+%9ik7JOLu(a`s4<#FV=ZhMi!tM-b(BKlr> z6%w0%27b1K 0dPd(rZ!+B`mWUi!!B6>B%k~0tJPs;m&C_S~MDC*W%*h@4yD7jxC z_*!euc`JV=e8=f_=|N{GHm>G-^>r|!cY+Jg-XGG_ ej>o=!ssa-b2M6h-l*;K`V&Fv$7#<{r#XD|RxNa_{E#t1hMsGjjP$ K1zuANuu(9-WtSlOOk7m^HcS%W=_j 3~nRrZP!bB-h31krq=X9 zc^7wZ|I8jRLTYkeqbnz;PK;oKt>w0D_qtJIwsNE-@2F2$yCRa;dLZZn3^|UI7sRfN z2_EhmvE iO;1ER)qCPqJ_sALQQ9iAjriW`QWnlplwL33)9xq zk&U-PD|wc31}IbQoBXSIZW`}p)}6P{kQI_%y^3H9kcQVmw(sg!hSt7yrT5iNZu2|V zUPmu>%?Okm$0U56MuL7V>l$3}#zxsyE87Nh5wFe1WS3r^Yat}oZQn!Jmlwt+mtA6y z=-2gCQph&@bbm{q49Eu2ob;QyW`ZYZ6TYp~hhV`_neiS9Fzg@_eK1ff;-dkVbJMlG z`V9et-?I*!Ep6o)9Y{lC$9w!w<;~^-0w{U12zlBaX2N^0nD7?5kVDfMQFwEc^b!n1 z@4UWA_;%0P+QFW%GWj_&@uRWbw;yBc`7Y~4g@*Wrg&ckR$0LrF;M?OW!gI6`YSj%t zXPa(fjxhiG?e;FBh0j>bcfR=;?r8Ifsl0>F$RU0;f4Jg^gtA-p`vA5Nnht(jhoiSm zT 7f3uuRlz_If 2pgoCymCTl@@~O0~2vfAA)OfYWnZP8lk7_S5@VP%?nW ^9IS?drNc`c;81k0l^C__^ms$_J;K%k~8E=5_hMNFtBh`z;Iy#9lM;|71` zX?vQ^{Wed8ZP66yGpEdu>4$cH)|@`V$a1uBJC}IJB5ZxKf9QU3m`OEf_H$}PHsewL zli<_mDEzjS!yFf}W<_FQ3u&ikY;9@M4OVi7iYqMaHbhT@R&M~-y}vCOqZgitG7*Xj zma`Ldb-&gZ;&ZVqTel`$6p?05)RrH*qX5m^i{-I6(Lfq{Foi8s%IO|MN6(&k@UO%k zc%;x7bI0hMDg5X{A?>qXJXB3eQb|5{hjx@u 9AFZ0 zP$7Z^@DRSLN}zs>_VAW8K)c|?8mSrfS7Wc(n)EJL(7q12I<8!hwtIlplFx~?l-B7k zr8E8`jzrAqm;Ql&jmlUoqOn`NR~X9j_*qfdXVR`&akBKVZ|)eO?Tz(&6~BLH7{Nx4 zt>3>3SHDal?XVs) ~M*03Z! z4O{`A1|{38sZ#rH-;H61^{I`M6Ey%2ZL2^1Ms_6~2xqw%K_3@B0SD%6r~S f=6jnczxYz-&j8bo7|duE!fW3UUwzQFmuWDOlbu1lE0;+CjK@w+sJz3rI-_jk z%)f$7W8 gEf8QL)1po643^ z0o^TKKkG^)MJv-MG}f`yr+Mdt{JAJs+z-B%ou7Yo^1=La9ageM1m7}@&4wa#C}ww8K~34=e>JT8~j|@IS?2x5U#MUf0$sD zZpidmbk9fqjB1ZaT2<8sX)xd-#CrTG;tIoCea9w&I%Hjv5CRg@(*2qceaC>Lp!tMj zofN#fJ4c)o+HM(hq^-W8pFCF8h u$(k3Q*Bghn*au>ELl(=cevB8oSdNGg1w$vsseJWWr z|0-F7R?H!df*>pNr9*9b1g}!vLk59VpLLn(3`rrG8>&0_{>z`J&!7J=Ld}O3N=oOO zpbj-_b-fx{T5(YDqs;S)u(S$|k(_V#`pp24al(%r4T7?y^GNsW&fbE~Bn2*lL(GL= zT!sAk3LNgdkNFgMmMo4X;h)I>+~{)&D~>quGjg_28OTA2+V`22Pq*8$DQW|`UzclX z!-ckidc})Yf|<-fkU*w`<@^9XmdKToBPxrTTW<60uMEe-<07msM%ej*A{fgVqjwS| zy9a)D$ldzp s|PZih44>%k#dbb5P8Jr=nkr!G^s5!RS z)6oZWR_6IT^T^ChsAZLA`R7`tS-l(lbJ3Eby`E-(7Hr3a&&1{8xsOGF>fwOiTg(^{ z5t}+cPSj>5d#G<%D1QhJ4tBo+le-yHyJh!%uGj5|$sP7e!2 z5??$^Lgo~g(sB&h2AI3`JaTZqD%yY9M545p58Z$IJG4=oX4Khu>z4ORy|H6il!$w8 zLF_k3i+$az!aRJcNg*^KMMY=Ek#EswT+)C*MUR}{D*c8daVfxX8@50=R{qg1Rbu M3NGJJuY-NAy>x#8{PgM5=x}|ifva15{M!K5kSbp4>D{**9Df``sG_Zu zS&G@mGW4h4@yVXxY!{f%_j*I8%R6wQBL #Q2< x57k!3 z+^c(A3!h_t{;KXF?|dn407rYZAI=JII_UI3B-*i`+U)t& vyXs z{c7Hhm|l6&ia!1CBA(p_l=-!!s%(mT5jUSvb>(b|vpA4qy>QYGaDy(_B9v(NTyl$S zfjSs`JPdK+jeDP XfFNUcrJ#UMh~O +;z|`FgXVq<7eimQRD+S z>}Ny^-6SV~W5i`<(EZ6baLMHf?fW9tHB+^Q(i`yYf(&k+Puk@l9FjjYQ-e;6*;vMo ztF%pLcHCQ&IaYxI(Ow0LLux=`sYvteodV;LwJy4uWyp 6KQB?7E27c?(7o>0#W@F?Am_E&8dZ<5}+Q}&swULhOh-CuS7 zY8fo%LRr7sYD|zmZv#oMk;##EtB2iFIr10*0I9zQN_UY23cvU7#?8*1Ss5-6Y!)c+ z=CU@fNdhVjztH;XfRLEQ6re|AHXCvE55A<97gAFg{#A3Z1}Ga{)ddAs%GaJhUg*%S zzRYHrVP`3oUL_Nc25B35=O<*s6X<^ZHp3M+u;cbE3$|xpDR)+AKX?)pzh8L67Nyw; zm7Iv_Vx>Dat=cz!z_gISv X9uPEp$>=2T>G!?$+@`e%ZV6tAD0_#UTH{M490!C_bi||EJ;N(I2$EmpW14L zU`KqI{{_6b&iZDt%ZXxM!HzFTL8v*{_+J$Uz3NCH7sEvvKDg^h4UP)jv4Fa4`MB+7 z^Uy7uX?GSO%gyrb8*!dg6nYrX&c-T{d?VG3SA{wq1wK_n05ogYe*zfPDLly2Gpdu! zyzj66ZJOsrx$er{1*)V3Ae+5&CPAE*BNC^t(0slCAhhilUKII2NpYfU3;>M{*@|Q; z>2WQYu@tguUX#$vX4-`rr rl|I+qTRTm5(&zpPDL9avuJsb}y6BXwow7fzg@Sd3S)989UR>yFh)PQ~Dw$%8 zVcgP+`CzNrs8&R#(jl_xl3S}Eo&bb-*T#47*Y>GqM~+)M4Ki$FhB3zkcK;DjRjjz` zc3<~IEx_Vq@!O+75*pw{3QmL9`2s-ZrD+%$_?(==>bp|yb7T!yl_QybF=-`pD4-Ys zfKh?_S)edXb7GenzT)ywj!(hlAzWt_`DVu@ V@dKWd0CNEn zKUy8tZ^-3sas)+Ya)1%rVjcp&&w*})mj4xAPB+F4jp =O3?of$h=ybqzcl4YRR`bcB-b+_+hyJams=)c2()XSR z7nZw`*Eft`1`)BZmwQ`f9`k8S=!r=%j!@%=4URDz&@&F8Y-phVup;C qpe&z zW5NKU4*{$Uz_}08o@diy7i~8o^5T^CI@Szk6#!#GUdSt@+{=x3moOkh8uo}~N6VIh zftO{c0H;|JfALQ ({&7SOfR>h1PWW$NuL|@Oc()^Qw?$PQ$dQZeot1$&!mZ8E! zIo4HO&Z;4U@I_frwQi2a#!cFL)rZH_1eE>c?4972c@Q~~PPZI%=DO)O1ionXx#hWR zh@Bbr7Na;`z1VXOKc{A(UAJn;YbTu*rC^dyx{(V64A?}aFCFkq6&m~7zdm}sNqbPE zLFIx;IU2Ri9uJu&6D^99p`(npldWGIrjC!g?GM1pM@9;=dl!p2VOGYpI69^;S!_79 z{T)Ky82QE-c#?-Uz^2W%J5wX1>2DaxIeivjg BW@VcIDhW@!+~J%Fw87 zB>g0+pRcozwbMwpeu`~)Dbb#qN-yRsmiE_ Y@Qa3;ry0bL zf`F!xB(Lvn{Ouk_;n2BsvO6dm-u92)U(B3n3GJ17@>>4boI#EMK|X*G--%g~0(5Bh z@|s%tRks0y7B@2XEL{{O_Cql4_n9_gJnLPe&0YQiC`KFc#;Sm7rh!}4ZxYSfQM}7? zTC6oM*2~S}{=zej{gjdCa}$|A5AsetvPTpMN+f9Ib{LUCOED+XaKt_9pz+*S7qZiD ztj3%8!~gJ=$ F2NWIX>TP1)w!(<%UMU@0~``Cyx<6;QH&t z|Jzh_Tx|cpXuEREIq*X1I9&o=wEvlKd-n2g3%GqB$R$4mHXr#4h@H!S>mlRRfBrnA z{G)}=g<~NV@a_L)Q`B$l5%}8ws*eqvaNpspfg)1lM0ila>G!9f6dwE?%lhy z>J$|&%iUYc!}Rp@T$YxWggkw1ER1kZRmtyoZjZcJv(FO~#`+*N 8za`s!tvi7bf*V#2$UccXC|lwupL}lo_=W@{`CK7 z&jZc1Cq^bGCzsny%*|yw&9%qk#Z<7#_VjQ;3eb-oI~`-eV|)z+YQ9QGXDSFrW~e5k ziT#*({JAT))E*>CBJRa-N&a`I-=UbzKtwK(?S %PO5 z?5&Nwmu*i#52VLws9S+f-hW@$2VcH?*~;~%CsUO;QTImDbtU2J*RRt*etbc4DJ>Q> zvT4NLGjHvo0h%&vp%;Ja!>p}(#(S#F=fGomyk^{>BwG)g!z2nb6CC~@0$`l5JMjQK zRO4IIhcU7j9RB@20Q4p%%6jjjPdq>!>}?Y_7kXw3AO9{{kl&{3+QdVr+u-+YJpZk^ zl2X8|%Ri=lo2C10g5(>&d-pC@39M*St+70(-w+qPUBB5p&KIvChFFrVRYMu1RGJt% zvPgP7N*rT16Fgb#Jy~J$`u_ _YC+{$>Cmwi^q5=kCDWj5fqX)UBNce`Jh57hNfBHK Fv??L6 zSB$A1v}IGx0`9X29fnwH`JhTtX+H&?NW1&HnM@dVp1V`^4%#2vGk4jJ0Uc|}ZA6rf z6JOOnkXWbhslDetfWt0UT3rBDf5BwzSdIF35XP$ct+zf4=Jc#7Q~3S6`M|rih?}S8 zn`TB~!{zq=dHDIZ+1O_7k`P4(2S~eF%?~ckl; ihi6c0UqarHM_5c5c>fwT z!d-7*@9{eO4%VL*wpd>4m|HnloNHp_eRH9Qk$N+z)V dvl)-4J&j}w9pvNC%da%i`aOq$FhZO zQOC@nM80{E7Dgt64|&B!Wte|Md-a*w8L;{bEc?N`UGdwgUM87X+q@Ys1I5L6wAG#8 zO8PcF4282~A7Z3=x0`~8unt99tM@agKcIOHD?d;E@!J;owF-;^X{)qKb4^IRNIt@d zwC|X3nnXmE&ar5uB|s*##UV<_VndB;=FE vllz%g4cnmYdCZEa0m5YYKGt^Fh~0<5RaVHiT$kac0fgua-Sp>N zP?j+ogy0YlH2CKZ20z!qb`*U>4PrH$j< D z!NT(e4K-7n+t%QBii-=ET}Vsrkb%Pj6*wv2n|#2335N#|j;`VWB2mJ-y*N=kfXKPf z_k{IXXPc1brMt-WtD4puo!%Pq=`x%%d0)oPeGR7Wt*+!O&soy|Wai6$F3O-K>tMPd zZeW$3aPRGj-)&r%lH-Ab;HuVeySMW2GiC7(yof;*Uqu?KvDjmI_Hn6gCf5SeVten= z&Hkhw 13wmKJE>KlW ntB>ONht#ZI`u5iUc7j*YcgU+J~;@L-t3c-xpLXDUYh1VQ*blBNby|g?(8GI zT~!9Oq9b31o@kpXSR#)ywMKJz+Y;6 }{Rd_!l}RUVpITs9lJx>Bne1<;*&6 zWS83wdz8WDj^%L*mmLi2N;%Ct(!FL=PKgm$Q~SB-2|etU$;P_lRIIZ7pQ`&5ROjCX zJPD<1Pws2eN51^x+;bnusI7G}-}UfMkslu|xs=NDiPoXxYyHhDSDd@lDxBuRF6_Gw zs42l?CxAKqKb=h?Caenfipq?I$qU zSaHF*QioL{<;KYL?slc%w`UT3HCgWC+g;mJPZ#(4X2Dw}#OD#5F$x5aA!BdSPHEf@ zfo~QphUXUOL8H`FR-ZBz*&w~DS5q;vM+O_SZG=`8h^BNV!h*F*$_y#i!HjyJyxpap zd_KA(A)Hhh= D5!gjwSr_ wSfIq*~sBTSW$oi6Qe0Hmlk++vjh2JMqv zqr;`BO%U!V?Q9*N#RH`+_c)3-g0L s`x;@=bG3NGyF(0ohAWF&A)Z5e-<{y1RDfat3?a+3Kdej=Z1nq8Gz!&q~Qru~g zPGLy$*4%lCj^$~Ps(CK67t&)>qlAks%F5~Wc`78W|D*x>2;rO;E?XpOBAs!dfZ_X^ zmj(l_GqhTN%R3#~4Y-fRLHk(2YvEKtknp^=xfz^%VOK5B$esi2=+K;Z_hw+W-Ev%j zd%ygn-V$%^ncHfLs&d26Yue+sYn^ME_oh@Gw{x=`>64!qqV((MlDqy`m5mHmvIBR= z+Zt())8b+?x%S**!B+FO2=Akt*wtUvf@h5G(#mNb9$E&&`mD|LZ%CosBaVsZFaahv z&f8~j3iNGb^g;M@klUxwYcda$&+iPW@%=E=DR-K?*PAQL*r~9JShf=6xqWB;%c7{; zU}smJ{GM3cr103CRlDxR`&tVQ%grQ}n6Wrf&+6p@ApK@LyqPI26T~>nrLD)l>O+05 zJVkumM-|n-4;1s%Eo#ucI+f1pV@sVf4R{vcZPG=W`F^}X`$cPS%s+W-zg8h`?(YWO zpYEErrdRB))zh}6Zxa8cZqjGhryaUl%$*Rkzt{qY52)(QPt$H-Ez +&>Sq3xqq}I<*;5XJ1;e00?Kzt zwIt1TOHgedseUMJ=bK&!C(29$6?KaoWukUeBiAId^B=_m(fXg6D}6{lTmuaiZTo!> zNq#AannATWuQ#c9-}@ZScH2nHeFMkqxwXWr_YE2@r}ZNF{CuihOgp6D%ahg$3vgFg z7nAIw0_AC_Nbd%)9Hg8N!3gi$Pp! `I&0wv@INkwBd$ieID6Wr?1z{~6L{Z&|zgtNHm3IIB|g&)K5_O#szw z?yI1^xUlB&7!x_ZjlC%-IzT1)XAI{7*5gfOixzpdGFnyDTPsH$m7ZT-nwpB5&KitX zvsz?{dmS<=?^%aX(eoQ;jkifbJ($~zOnRbm2tG}py$kaTmhrbMf&)in_^bf)2e;Qa zOl3Shywl|ZZAUkdydwM0ubSxSlyN_g%P6FW4Q>hPr$mzv^7CI+6e%X%R8Y0*`VkeN zS7I}`Ni1e3eA%IPbacEI!qu?vGs9=_wBleZK9dV>Xk(M><+}0$Kyh14Ac7AN+2OVY z!_Lac&Gfn|rfbeGjLtJ>FRIE4S@!=Z*;z@V-|XhIU+jPoSp>O0SByj|geUe^jP4Gs zGy?!n0+0&_Ow{(sY3?K;PeE?RRS2~dy sNS>0J8y0u zKvhYPr8IYj<~q2&w{m*|O(*<_XjO4YfQx-{CHqeDYa->ZFtRM1EJFB}R}@B5Khif2 z=wE+hYf7F1vpu5ck1jcGzO$bQz$lCTx*M8#eNMYh1j%6}n(WSjcQPAZ)XM`imSY0) z)6G*~w(Lv9dcUNmVtwi@ BHckz@GH(gk%q7?E$?0LoT9@yo4q8GT&C=SEMz=9 z@V-H}_-)@qtO|gY=dnjvk0%%r-!3&JRSpjE-j(H*oc;;(wtd^`Wl}!Xd0f^LB`qsJ z>H!{#0Jne-l%_%opNrD$xfBEbTgP?fo3DjI1=|-<_>op{|G4_HhtT|hLt~w!FmX-; ztJkpr2+L-b469^c-67@!nQK1-I|xwD(b|wuj+X_V8!6?&dsdUiSz()BiF%d2*V=(< zhxe?I4s2LE+UXF{Ck;Vw6<6>0JTI(fBky5w+c0b=h)_Zd4+;`f{l}vJ-Nvgz&}`QV zlJdQYdk*VDlD-_B20jxuL+cn1606x+p}`8a%U`P5y>lWWm}gVY|6ErJg?uT?Oet~b z(Hh0k!?F@3m_I{ZCZF)|@F2WUp^no{DN~KAO#aD8=O5G7z^BGpT(g^uzKJ!)=c8pH znbA4YTFq)oK*Hvc==8?w<+sGkbb$CJD|_S>!jkULf} DhHj9MgC;Y+ 27Xc6^z5vxTciWGKdP^Z zbxTiojvX8=#Lnqk^(T1)WUSA2Ak9u@muq*Y_^6hH#Jm 2i3z3-bX8$*txY#)&`D z@c|ysnrN^-MNWl=$sN@!=mNRJ1T%%YPoJd7exFqi=%e{3HCHPi{^vuR5fr8Nf!Quq z83E?JZFq zi8Ns`4d^?Ncu-4`==1X;QBP>&<%cWMl5veCGR9&DyrM zJ6k|Yj)-qq_-x0|u4#4!?rW;=KN?ir^vxUl3~;;6C1KTUe1-i&K?{AWM)9zH%>@=| zelYLEY(}$OSns}stjFwvWPm&6$jD~Tw-+UF)Qi+0laUV}*)Yzxg{pRg3h*P<2Z5JQ z{Svd^(bmR5OJ&fSKQ94n3X0rpx;dj+{71#8P4;tZdjMYTfPLD 3Q4U zP+MLA3t(-j03@D;Y}xN4Ga)sGtO)mQ0SIQd%spspSuV?0%q|LG1_u}dAB<2~4& L~*8S7at b>;RpC)d66+oF&P-Hc zAI@Wxof56LtR%m69k;gp6sgV? 1H~T`|oJsoNr@cg9dqeV*SBFA|CxLjv|XfRoshN{gW{@ZHNYBRtI(w@B>{E&q`4~nf_lT_?(j?7$TQZJ&a z^432wCwL78jGJ9%c~@RQ1`41Xv$#DIOsHz$S%)-KA&ISFdf~ ;u`ka&=^sK^ zD %x!OAq$Ov(Ddr0(RWZAO>SF6)U%AJ}4>dvL)#tTr)S!*O`_{%4M+K7y&OY=Hg z$sH($vx-oSh4tr{cml(j=0J((>JvN>%N~CSLhlJ;6OyQ|zS21K`rf}#acQa-paHB> zKKGi_Z6k?IT~m@SBfosMR|pW&qO5gRIc~PAk)5QOB<;X@#(d|zA`EN+h8?a`dt~@P zho{uXxFDG>%JnP&(9`VxI$2&mQz~QEwf~OuWP|56>m7av!z|+yRYO0x>Z?`&35mir zu` i`O{8L*;nYhYUi4-xuYe+EIKN(9CLumMGDfE7zR6u0E>NW@`w_ArS>yXC6oK zPiFg5QeT6OjTr{4#c~qdyRZGi$M-`F4Y|%^KfY>< keuCOfC~3Fv2!ner!g(9{aEHDF_6zv92pt8*pIUPWD04iNK=eizt_8R zH7jq;N}^t7VR||(2g1uddxcN$vHA1S6EZSE*=lwEK(EpiPYA0T#;^k22$zmDX8gJO zG(@;n%9lfp9Dj reg-QIbv#e ^EZRq)O7|uT$tR>Ta)t1&%rUpqpmSzpawGH0p$Wl?zffYLmQ-nxbKhE9IYtk zw>rZls7PE51kvz>$V*@Exi$d+gv(ru2I6vhae*BcW@Z!@UOOG!Sk>F~;bx%EwVfy? z*`pBmXGmv>UqPq6C7*|DqEn%sTd{$W4J;W>K-@|3zS5}NX{Jy>D$(FQ!mBt&IMc}= zQ@1o&blY?5n{UD^AP{i6tqZt$I&ZnDXkV3UUrzsn$bZ&${Pu1DK~77eR7}cMCXeAx z0=2IEg1VsxDe9Mb2$yw3G8}RED8kEisf3_-Wm_}ydk5p}C<=HO2$E4;n&KkE`B*L_ zJ{RB!@-m`G=0&`fii!%%7-&l+gv8ds8wKT@cF+llJ+pB#LG*tHNb65(7MkM-ZS_c? z+d-RT*FT1HmY7jukW;S?nREbHKia6mE=yN}ip}yPk}Kr3vM%mSoYWt2r7s(TxOLb@ zT3%ec^v?>u{Z+*pITMC+WR>)Ktc^Al?&VyV@1nz9bn7yB$~_5ahKqf%dV4~9$&kx9 zbZBkcf>p+)TMIst_0WGtXEn-m@)7J{mv6SvCs9=OjqHJ*iOJ+_${8*4LM87hb}tW` zz=qMmE-Pd3tnpCy*cpICIM)?B+W~IEWd*nAP-NMGjxmDeF6$q56F!^n&dfQiiwSsp z0fJ|}|Eft%DeT6R5gOJjrhsAqPm$HLpfoZ&7DwDo&*nR(7wgAKa<%p+1HL?3FfQuz zn=JQuDPku7r~v)nYxE0w^k*rgjCOq%0g2*`qQL^;Pt#n?_!XeAhN6U4rU?avK8w8Y z8mMZu#P<`__Eu}^FT4rV4ULa?80@Bg&4AdPKPNB1rS4I=2x0Gc>gX$#sdkpok*(Rc z(8u)xaA>PvvzQ+|XoM1PLfIgI2(;6bK!mRz9<^#9dkf_CqXaZs4EhGxebvd4sbzAk zB+*v|u-`?GXMd2BJ-{w|i@!`Tv>MZT{ZRL&G1Fy7dHb4SB_NoaS<*9j6X;_)@1leI z7~|o*YBr#Nq-ck#jqVENn9k7_+wQ4AaV)uOYiFUA&bpQd9oBVUW;~|y?3lzSEr(^p zqPY)kS19T?fS@h4rY~2#wZL_vrao@J=e+#Io;HCRNf#^Bj#DNht`CTem}a@Q4ZYL6 zbfbi{ht!zmOkn;ifk0HTIT%w<&&cR|DB&bYWIQuU*CS7sWXd3!5f*i{iYyrZ=Q*#- zf3*Rm)slC9t0kWIpo#86sU>q2On A<0@XE9{G*rMPUb^r4|j zLjN5etbyZPbfCgr`8NCU6Efq|qE-DHrd4AZk%ERen?Jdzr=GCuKyX-?7G7+1K2flW zG;|~hYa6PenR1Qno+>Y!?vr928e$6sf*oSbPu4+LUslc#7CywL4`{A>B5teiUG4Se z%cs06G&-(SsiZ5pTmLGRr}Gj3lY{!IqdHJjo|=-~la}m!1xg^sS5}qTKn8dnCWf&p zNe_G)JP)K`+mb3CxUP(JB}%!9c=d+wntx{*E&~vDY;`M)3^^upsPWnT6w4%g4%OAh z8NK|EK`}XBfLJ`+b`QO4I(hHO i H3`Y_rKX5+7RxqW`4cfEsb;*{bgSCj^f#aVgP;IojURb=?Di`ewu-nBnWH!o?0f zVn7_Bs1$?go=N>I%*~&!PMeNJQK_=Nn9pFs_4R-e7J`j8F!~`_@Y6XVw5tr>A1I zSa=m3nb~f&i*X_~el@3}rq)i97QArM@b=7NoC47Gc{c{J*7;&*e?5MGYo#9$S!?}m z 0J>s#8 Y>1=9Uf5W#j1X`nCbD(DFHddx=dh(9(P(@$pwZ55M-;yMSZ2fd zD`w-PTbftwDGt%WQ9itOZZs#vy%OoJNU`;>6-Y{F>*dXfn9i;SNC?#o=s=dkqL7~0 z4XI_)qn^1o4XndP4Vm*F6ugQ>2fn@bot)UZS-oe_-u@l)bMptlD&%E%o>7j3Y=5hh zS0JEPuZwz3A|Scys+iJ+G(+z*3(2ASG{=QWJ8K^S2ouPG4i4(xtUhQp@oQ|Udd1PU zg9uWLUK62BSDaH>h7gL+|9mq606m#qwa#cNwfzjD7x)5jQQ;U!ZJRPc<;7#Tz~R#B zDo=vTm|-*cC~)WdHM@j_1Ty3-50k=^a&+ZXU z@hRCC%4eEB$d7x=JP!XT1ZOK`JX}_*8r(uSNi^tH4?U0M33>hs-CU(TI xJK*0;?P&@04M7wd#vqopFYzl zzJWzF+P$}2!*h8HiqXS%3-&?^-)4%T^>Yr{Ng{7M44@lXgLvhSLiUFB`?)t1!dRH3 z7Kx`YrsPc3rUn**HejsZuK+Lq)Wg~&eXh`59#Z9Ga?Sy0jB>K1VS~(6w7++*Bc<{- zBj)Qns<=#Ur5VNW#ql OAKG+XDMTVI>UbL3p4E;%ncQrluIk)+by)@ z&-kVRc^@rcu<50xT-DQ?F9NrYgjFN?6K8jQdo{Ev!eO&QbY!A`+4-fji;LDf1$;Jq z?!qp7XLUD!+cV%Nz)4BlLk+w6uCBwLaRT~cqFF}T!(s>7w4Sap06>_qdq(le<}k|2 zEt2} -yI
ounZwCw(xywl$g z$3?Id6cog5>^+hP --0WmW3fKQLp4B_RE(a6(A2_Npi&KEU)r= z0SEsX2qgSh7n+|l&?S=^8h;ekAyi{M`GX#K00-Da5uaA^Q=osCJt$)GuYZm8fXWOX zt!%2`ofnM}6F$~$un_iVgazV!Q&dzmRO|!Ub2&&&TCL#&0*s9-{~7iA=->ZP>r9;Z z|Do Bj zZ(fpuLg>oh!SMfm5hxq(%fJ4wU%|`&PnA#q|Louu^ZV|%ICH0>>=0YX{4rgS^J>Pp z?`m8761h*_fBpM*uT|moR3l9LjJUXm5nzr+noYR=Tkt^stf95{9|MdO{xw=2t+sOi z2Q>c-bG>`}pF8)TQJ*o(zg}G=x=qv}0`(EZWS@mp(Nm{bu@VdRG#B%w^v^c+wrTjj zb73)SV(O5w(t$bD(5dLZlkLC9d41{H-AC{Gca4zpOnsO{pJTYGm#DzY)T{qF3V8LX zy=(i=S-^fMtNhti$*SsAE3kGr7!}L^=#6E`u76W~kUDENjZa_HaE}M$1BXQYQ(41M zHMaGZwXYy3DiM&o6#uj$wo(qS74@_ay;~U2`=4Cu?*m;Dl0N^};_@m@D*_O{BH-1M z`|%$WIRY}rhBbIxdm*!kXNPE4c7{1AFV@FXk~>$4msV#wS)%VhYmGe6>tNlWU To7{5e;abX6sg>h+pbxN%;oSHiBMbt>mI-4-Nj% zAyBNuHD8Int2j2uIMr@(45b{&7$Bp;G* dTWp_*Ex4G19PCx}>@a_*8r2{{qbxf*>dnHN z8<1YJ (r**PcFR7O`zu6(yEerasX4H)Z $5H*14o(@*d2ygOT67=_!VoshcP7LCrj9 zl+9Op;AEKI7J^?bU=O_T_W(`af%L8t4${eQ;wHl4Gaja_=j--EB ?~AWR}Ta z*1-`ilYQeAyd$HhR9lg2MO+mG2srx0{*0*N5>9){g($k8f9Md3OwO>}Ea(yzdW0bv zr?)ZTSDmaM$Ly-#MD(r_16#ICRgVNVhUVHZ&~5juUEeY7@Y0LC^;mm#te}XqrUxC( zcxg iq{?Zrx*0;DHQJZ+&qN5rJRl~&fg$Q~bYQxjq(c?C01 0(Loi4d0ZbxY1 zW|aCJUGhwOLD4z+fua@H^9Yp1nVihF9!z?8!w6qq=Zz5bJi32v2TdEAvRy2@F`_SH z%RE?|yg1_d$jfA4Am=&1j4!ll!t+>Hf$RC;fGqQf*P^0wn{KU*a8FjOqkiRA+6q;x znU%~pY`OLu25D=XV^a1jZ{L6asa@T(`s*t5NCm1EoP`O_+p0`IHBL7#HnCa^ aJv2pqZzIs&=XSj-cuRoG&U{gnw!{H74KBM=0V1+d zs@d3mO>N@Z9qwF8zsX{gm&u(9yduzXQH9OX=^f)HaqVssbC^XHtDC;8_`F-`)>Lj~ z5ZLqouYcBXU?{!Ucj<@O=(>%>1nDTpxzYrj(N^u(8kKSTdBN ee!#cM_2{ObOrl)JvtGMg^-d*bIvXQ9$8Z`l(kmgiAGcg~aru{gk z#FdefazI5#Iags`{!O5?u0dqg)Aa-MC{vz-j@~ZD>Ee79j%%J*q#HVKMn*$
QPj1<8>c{B;Jxhz~_+Gt@AqZ1B0RTM^U71>UAQQi6 i zUCji5jw XSw< zXdbarv-+MW`_#wc#1Kh(XmoDcp`c-rQu*#<$ri6rv6L{X&g|61Nf)zWmc1`+IbRDS z-Fb2)niy^@K5(+5Er?O@h5V|BYDgSYg<%dxdlmOY_9|n2d!_ZXtv|yVzKzt=#g?^x zWve|smQO(%rO)3j;lb&uQpd|`@WL+^I& ~uW24YAqwIys5b zA 4VOJb6|>=nG~@urHGJ&gPj0(K zUtf$g2X!>h%#f*&X-9eW(! zQKEt^W >~^^bP0qX!q~(i#iNihaMF*9v_h8Wh<8*+|rD9q0x(# zMwv27Y}xm4A{%%u#?ivYpwRdtA67lRCtu2iUnHkUB4oAQ^K)vssP$(~XY7Z**6qDo z*jVT?_7@S_nv7K+&O$X5x|V)t6o$ug!t(N(47?mRxb~nuO;#1s#Vnc24vQOZjMFpj zlL?t4Mem_7JR`rDhQ_%!TrT-rc1ZiB58u}?g|$J1-l43~#c1K(Ec)=2oXS`qR0}Co zUm%4ut<(>Uzr`r_GLci1m(y&jGzLHa^M7vDopaaDKCjX2Blt(qJXHx?^BNe)WuG$6 zOgEE_K_SmHEY4+fr8<|y3XW=X$C*ghIYnQ5F2>qw{+g5eW_FuWsd6As!DFxur}_BU zbz=5O!(L#w-4LHM{;J+IC2nN5&9R%wqfff4|C-v`piyfqv(}5}k7W*=JgS|HG&H=Q z*@^cL1*fzObdPXQaBL2zk_6iM15aK~y0M~|y!ujti lj_zU@P 5pZj{LrLj8L z=H%cnH(2gZa#0A$uWY_DYj8IccL_=i*5(M1HK5}+eQlwCF5yqS6h+omSyvFhzg{5o z`?o%T+~`hr3y~OWTSO%ur&nO_i7xq~5FXQ=UcoZ1SM^A&e#tYEJus+aZ3rhNNk^Oc z&d#c8-afkDT;=fU8!yJ?(OL1`#GXg7QNQ4k^x(SKmwvSIHux_#)Pr^=DKUbsEQ??- zWwJgwW_a9aywWa;z3u0umbGs554H@b6rZWMf-CR6d)@wj&~ckSY73zwO9cPi@}hXg z>OW2PrCnr+nb4niA5lDVXO>~e)X13`39!qg#>J)e=F`L6^Ho-(VO&zLIE{PYZ2QaV zR&iAws*3|&DZBadT^m7?U+CC9)3QXjZcrTj_`yc^>USjgaRn!TVK-m%%?bCG(2d%W zDQdH3#IUAUSBk26TSzyDm%0M;qvPL*ORx98FY|+w_~QP5v(MfU`%Y_3W--Vmur0uE zYSzsThWM_yD2?TR4;6awbXY&wVK`uiWZ-Ykz!i#3wZO4@i1l6&5>~=@5r4wZK8kb+ z3R->s=*!k*y;WiTBC7D^)`f*gsW?j)P=lki@^Tvnx(3-4lC2@TSvnepZhOG+jo9&D zmH^wb`{O|gRt%iiYh8@{1C^AH_c!0F5lxl{Yq1N>%Ru83v)5bVI@48nTD N&6_%=c7(jg{;p364vc@FWw^m+0X>Gf+Z=J$ZJQg&M zhB$QVULabVsx-lm7(p}nehK$qj^KS-dKQQHOS7l5|8+Zj{$W|RzH<$`PDmz!qYSN- z9O+g+Ke?JWY>XC?5NUw;|GBMiSR|W(7?!5))ZM^Fef|bNE1i5+z_bFE=hh#gVACY? z_d+vHbnA;U0lzsR^IAZu75IdZMymq5 !VMhqrd+_-#c0G35jX zV8vi5$B@_CsT7m5--%vumC-5QrQ64L%z$}!f`#NIW;}C>=y`Cdldl)A{Pef%85RKs z0dp-w@AsQ-`69-tTP|Q1L_0sS%_+R~2OAU+TCKOG5AS8XgbMSi)UsvJ-GVDU^xC>F zCgw93393HZz+LQIk!oPR#=!FVLq?LbHh?a6PBDGT@Xw=tm SJgOj!i;L zzu^W`VP3ox_;Y!0NKI(#hkxM5gYED7(ySi -B~zKWy$S@{ZB@O6~d6&z*k!++szw$sxY)B@TGS8cj=Uk(4ui ze_w-; hl_%_fSP#cQ+>hCK~HYM9)}A;Fn4 zRv|w`;h{Uh=r;yfd(_AKY8E$2z~3W_9?TZPJo3NK_t$hBET6Z&n6Lv85>CDGx(e2{ z#W3P>v{&%z`$^EwKG{a=7sIg=kN|b>2Z2iM{J)d*f6G;Z`NnwMVF56!1nvke%dM!j zFoYZPd8?J5j=}#- }VL z9%g+vwcqhV9Ojs4k{VdSy}ib)@NA%gL~5ZfmvX#KSU&Z$U^nak;t-FG>U~Q%?_Cx+ zO*0mnlwQ-(Hc54}eK?BfF;jO-r8e=BVZ6=w%>JLiKrFAF$Z!JN{rKU7O5?V vF0f7U&lsvEUnLSj?1`WH6Xi%r(Y|82i;ejnIt hkl&)M~ 0D=Q47b<0H F>C|Mw00~QHAzks+j z`^XwP5qtn9m*qJ7%~2DXP_4N5H*xxivUq~dlHd^{sZ81?G# OR)@#aL)#pPR|x}PeDZPN_t)^o5de_<#fK~k9DQ6?uo z*;uyy2X&f=fx^@0I@{>?Q<1|8*83^Ybqf2~2vmyED`al?Y~fu-p_hq48i|Ev+n 2on345ix7{g^U((PSu;qH;U@Q1T-iRRo$(`9fdZWj-#{`fq-^u)^x>@^0 z&-eQPatNyd`5EJS*-)B2+9U_a4<}{{(#;J{lzbQI0CSt7%JU*LOJ(&okDf@0>TGeD zp|eDM!>f wHHe9X@nY0(Gi@M?Kp>{qYxuNvx)E?DTQ z^E8LrZAt&}Ge`^M`F67OvjtYsL4uAc@@ub)R?X1Tv=(guYhp>&(o>h;woVX^6Bn z`4?Y6aZ(JMk|&50(kw=8#n=Mk^T^*G_)-c3JO6tRhQ9R;JeaD#!SJa&rpKtn$2}=` zQV)b}OZ)^AA~H3@<=oRk% H2I{lKef?5H4OR+`Gd17W)PJYF*Jt|-y>k_rddTe$7hBUv(ZEsBBBwD ze7ufjUb19bZ*pxXKK*s~ogvB0id26x{cZ3VS{E)xU>Qh}%0CP_mrs9 {acio7NNsF6QiR=L3J?pARB z$AlJ6m#)F@&Y-81vWharK!IoA;e$C4NC!R4N&^<%7f*_7e@ iR1k!)@%O#IQzj2!Wj9g_|!U!ZJe=0uXhde9uTj`}{j zZJ%gI(Cgy+>#T)16cVwt+7&72dQ$%@&B~Fy%R|@WSE!GsEYPcdt3vBB_EC6Q)PKm- z8G}pnIX?HDbix6bvkZ$Z9=FYFT HVxn4A )*HJ}&R!oq@eD#F0w$cI-s?rrHhin;~Q|I8P;0PRmN zi0K}eeMechh)zA%f!jPBm-OUWd~;AV`z=D}*l7g1IqCIN6ZHXE+N c}8xP SE61>1l+;2XqxXvyTH z5aL$#r3m<+cf(cJ8b)Y4(=;p&*0ThUn=|o}RRadB$U>ln(gtCQBy^+5$G75FT8IQ+ zgm!=bI8J5Q*SA!Gs(CCuP tQQ9ivM=NuHzD8Q3JW-al6p PqJqrZKr!RGt2YU?kNwQ5~HJ~QSa^*%euDm1(2%!iX)yC VGCWalCw{HgxxuifnGs1zagge+I&;F}81ITYHQhj6>-+ 3{Fud_Y%%R1DIzC$_I^J4AwutE 9rcTt{gZ*S+3T>4FQHm8l~0$VcuqED*S0T9*0Z_zF3os_*u zH2;zLp+H98{1Q#t5NI>g*V_3Lqyi(V)a#v~& !aj$N%N9cGyp&4JN )>e()HjP216;(g0?NkqE{)SnhwnVGa<+w2 zG*n|nfsp;*3^&NmzghfMRZ!T8qSOJ4a@juW=PlKdfM2v`&8gd$mY2#u3dh>dip#AZ zhnh%w2s~>JKFtI3&f)8FwZf0cc!fF~-3Dp5k~ZfFc3*~SI~7G= n9|H<49hKoG23y;M0-cVvN?1j@6{;%5>jn^AWy$e-<&Hr4@UTy#J `> zX>^9 z#W{6!0Vy1iW04hDDN?S|N`z&L2LBjN^;1P3s+du>nDrGPIsqs4cC-2~#9XxO8YyA3 zI^cNRR?_n%i`@aVsnxAL4e8#Ry9-obYtx0u67xnEZ?fQl@wg4o1Egk~O+el@_OlCl zzkA52)i<=X24NDp02+L8^ysQ?BaBd8O}g8mOyZ(I`Lw%_m^`>`!#gtcUU`_7-qv)E zo1>K2%E`lXitS47#~-LVDmQp=>2sk>2MUm002Ty9{TqUORLHjK^JGKC-IUg!&*2{_##jdV*mhA*ZH@=%l6?Yo zl2<~olX^9nu~Ht~-P}TFT3mE9)r^lAq`I*m<(1LwYKGAr 0!wgWxttEdE2Ks<=UhC|d8;Pn&xS;EFi@Xg6(fH=FmTpJ*{)J?zt%sK(~epVoJI zmQJwZU1l&QX}qHNW}NWy@NZdP*I9e=>SaYd)Cwp%>==F1+kNV>JUb|S>_2h^V>j_v zT3~~(jLZ0tpH`EhC7FR;7oVFJU#|}k-V!I@NaV?B?ljY1#!+?xm77r$kiY!4GJ--= zvhf$&;iHJ7)>29D5w}Y}DwhQue`d`%V;>_+IUVMa1Zc+=(?-@QO+5zbL(YOc%@2w! z;)pGYS>Qg7o3Hm6e4g=ARO+xNE=|>x&X9*AP6Y5vT#xDvxTEX0aSi5MS--h+Lyvc5 z=aUWWBr6~z#dwng@593Gu;ar-&l0hLDqB$LL76D?tecslWc17cnN_tj17G_6MB*6X z`0JNZ4K`HXHF!OQ)pjKco3m#8><21#J{Ofg_Qfr+**?YRKDxpVm7~oe4G5-elXSP4 zVfF*!sB$Ce_qStW6poOAzZ5z+HgC&esQ>G9Zv)_zag$@^u|GZDXkfXL6^HpzeOb0L z`r-_e%VdiNIjJi^!a0 `Nvwa-XC}on zeWkfrp#xPg$2QHQ&%PCKr^2_wSdn@Y^O&y3XJ!w7OCQ*aUa`9bv&?GREU{eDb1gY6 zb$={MkC$_zZEvGKgi+$i3xhiVmOH#mjF}}?l4`#J_uv2^RU$dyuny@6j0m7 zURIuHCdHFcdXo?iXk)$Fr#2VNn=-zI81xRGp?Ji@eiF(KQkK_G0)yH}v^}C;b8=0U zR}Uqw1NzBVqdxyzp;sj6y{G+!`^w@6B00p@_nhmMAns$_6`wpUP>jkQX|b`Q^AOCE z8zVTj9oG%$pjB-20FA>eixB&M)raj~CUka%+lQVv>(gR0hw}2dceur?NJmWnJ06RM z_mWkP1)S85+|tt8vL5=5T^32qr(cC67-ja}8;b|%` pV&s;LCGu#cBp-1YcPyhaW$>(~$zNaP~X zrM`Yi@B1Z{;U=g4JX({(qYk}5($J(rA6IM8^(3xO%`vTmM^CelQIA8paO~81#gGo< z&e=VrNOn=b`j4Ode1ElTTlF_7I!+XYhNXR=VtAsc=rH*{O>`jyOAAC0K)nDSxs~;) zj-h5#2MGSa&<4NdFK{T61)_7f+WmHuDJUq(CG*dKtv3MTPO_3ybX{bqL?$fYmN+&% zdugy;#c73-V{ z?e5cNRH_V4Znxr8=%D#cCXV=1qI*74l@$ibq+D$3)ro2&hky_H%^KZw0Nvb)MjukO zti<2!Gc7X?);Q!96B`}nX0Hxlb(w){4lk3)4rQfyEGZAf)8r8CsrsoISATMCUr1<7 zY{_)S41KZQ 1Ln6etwt6zJzC3z)a$bT&foDZ4BQfW!IF2^Nqe%^=i>&{fcH zl2wka*1sgkW}fT;l)8O-NGFQHZ_ZRMq=w7v5n~5URI=NMEX>TAGxQ~T-;Pv$ae=vd zS!FwZ+au4`3C)HPZ$ZI)$=lNDfixz6=IJ pV> zGlxbE)>2KfOM%U< KybYVt7@9f=fM zpP34VE~^)9t}mFESSF+7=>QG6X(FaYoX~?VPEf1Gw-{pZw}pCTe1#s#ok&|4lmxCU zK82AF&ZBz=xx{Cbn_XDTet7J@@Ab^_wC@I(xLbRtLx9oN8*Qv3Lx!)0Y)%yDAiJ-z z2iw^d?Ha0Hi}NWI322i8E`^LILPEv{r5r?~n}ybsw_^v=j0W!o(z*-lT3++Qp2kit zm)o5-^{nt`56$h3^4z zU3f6utU8sgH`qVEe`_qLjAY8rYdVQ$V{!&_g_ZGdq%IG*#0Tv2RiN~9` z8=EzDbkNlTuzb?H!=o#RjeCef!V?=%rfz29#r$mhh?$Akc?$MOpxz^YH#7To(5q7O za6;pp_BM
bQfC94h7C>cM{{Z0h|*> z q?^B-6MC+Tb=GE#P$f^*Mo@GUWi;nqg9Qx&No z!86waC;!lUb8@6x0(HA!-V*thDuQ$rBFW%wq{kZ@1xcO!^x^YRGRHa{%eDL#Gn2w) zsZ#RXIZkaD!Oer}f?Z>~cPB2#8mr*o)2Z;lPVpG?Y5saxFHgeq?#~RMNvgyu?hp z GU}||HT4F87(y> z8YdmYXOq<$DJSnLY e7$l`iki2+5<}rNJBFas?f{(OTvP3@MUKc_2U< z>=O2}NEBsz4>orCo0S%0XY@FvKc_LAVG!Wv;d$D6j4aG&lN((Zl#5zJUS+$N0p0#} z3l~75hB*=<8Apl>$n2EgW)g7NPXkKu)x?Td*zfbkNSkmnQl9f|%3og7Gg!Ap6 I;_fiFw^n%TW|u0yxb@j@u;sL73%txT}$v;n)ZZ=X=NZFBjm7um2<3yh4wNk80x z&|SNgoj^6(DXQTDM |3X&*iMHF7Sw}GrLv^} zoF+=_USSWq)5KRfEV1zc!-*ekL)Y`Mey+bHPZ9!ymDUcG1HdME(u**=!5^PKd>E;= zhO(<}9o+%7<78rK^9UQCC~Kk$bJP{n=n_dSIEv?ynJac~Bn=Phc#&k$&0mr(;+%59 zx>>LHMWZvibbRrlakK!c)iCpCae*UNgz f*BGPABsEF!%yI|Cqyu$GMSA)l0aQ zp~smd?6oO4hFbE~eRHIMfaKKrL_G8H*t=#lX*#u`-h)X-?(ngwtEt8%nl?J7QSQP? zQ-{qQW))P~1oE@)og?Tcn%n9FAtZ!hn)=QBfU9*T4X>BWeCNfe{Z~8*em*2WzqO;g z*LJsG4ZpR4Y<&N&)5U#!931F)oiRf^l@zzNGN>%m03D!GVAVF<3;JZvoT;D`F5%Qz zhx)R2lw{YHwq6YzL&y-l>sk>s%&+3KhlWH2<<5ge9O=0sn-{CbX#eYL)65Lv7>Z63 zyrNrZOZ_ xMOw+)VD`II)|0P}7xc$QQ!YinlGbvu1)Xt+9(CpFRQr*}1^-aip3Ar1 zob-D}y@q!8PARx_SdfSWjDWOXA1KsGM$VBwkssou$tM^tPlp#$X*s9)fcll2-pSi@ z$@_yZT>btm<2&=sgS$yE5MRzy$a=jfsl=6oE4LEW(SgwsEhKRB@|x7#PI}I{8bnhZ zofK8bk3j`_Mw3E)?YOwAA?Rn3Rf1ybz>@QI2=s~t5 6g=Qu_=T30UE&4s*YT5IAm zR6NxH+B9Luz0Bz_-5HR${@pzs*%4M*b&P+K2EB6iH@>$vlqi_M>}T37Q}%Xxhc)u- z!cDA&5*8L0^M7l|aYuD!{mf!d`D@i%IO8v+`8nK-YfBt^=q+OMRttF6F|KvAI1$pF zRcj-Zus>E%JyBI}f8i4W+pKer1+H1rHW~jg$qcu&F3A0DMuRg-xfZu!Tl(c!m9hdg zV)tQvLqm6Kt64ZM{0n$m&h;pD?i$V4Tj)5Ywb&%rs$h PzH2O9_#+^hP#Ae7hF14XX|tB$ z-awBdcj?=L`0i3pXv Z+@k&~z}5Rh0&ere}6Q;f=Ptcvz8iLQG6Cf#3P@|Mr<&WuBRu_uv7(&y2{Bk+&~;t5M{4p4(2XaN>S=ENa`;{7STnq#GxPm7Q=^TL zP@Rq6-T>~t-+f>$q&!yRz;o5B@_@d;@V@fuYFJDfUn+~c8+XfD$eT}ynG&O3YAZPl z*ZTSxz*43WAF{Z{`Er+1$xIuR5R^hP#<;;EoEpsZ2-MrGzuD0k5>mOf1 a2xS4M##Ju@6wVnnQlrRbV{I$(oC#97c;9y2{OHJ7g*q$xKz69^ z@rT6sk{4%m+dT+-5s9(sXr@~3zseGQJ)1{=&kR{dHh4N_8b3x?IeQiL-~91$tlD9z zj3gk??>O9)USu?`!jn#kt!GbDMo-SfLI7gI)Si7!6fapG2;dYo^TIVfP9Gboz^(^M z2aEAD7Wm9VZcoTNqIC)Sp|CmYim;!{DY-wLW(tM59muO#!LYrp%_wD}R?{~~FL?g8 z!s|A8P_)5!56DEBc?8i(Q``^+xv=)^ O_!|{fiP?98Iv2FL|p!)`)7NJ ziBwsqoxS42mKn3P>?VPIqW+OZ*-eSVGeo~{Q;cFO=FM`pc>w+t1p52if E^1Z zQR7*q-Jf@8Bx@IPQmb4kk5TfhQS&=s9qh0;%^J2Ff_mhNDb|=w9_jZUG)qRr7fnx< z2wuNg$TC~FWj3)6RWXhb{NU|dw|d~h%*@i-)sckb28!YCE$(@{R3MedacZrXR zGO^|{brnQiSJ=5Q7tYbu=M;-9wZe^sbd8Ub9hj!?)0|OPPia?+dY8hAib|O3at#M! z6*V(vQak1E9D#b@P<=MWxsrR>c)usE*`=lbx7SaATA@rMT2FKIa`%vBV=XYNBSYzG z%Mhy-TpEDT$jFj)jF`tE^DE(Hy&~zTNPYG{K>bE{>3$`-)P{n_@i0{;P}Z|xfok^q z86WZR027mwX!#3|zj;!dp>9#| NST zHCpG12Bp=61j&SGFRK#JBe6hh3T3G>`_^?Nc(kzii?NR$_sj5~yqH*>4K-zD%7RtF zkhtKmpJ}r{<}Va{nEC!FfJ=?VNh`d@c5&gETyggZQcj&))Zc`Kp&=Zm;JChhdUJee zezPYbim-X6@&{v(`TPUAlE%iQ0)rmH(aPXo+4MU6x%Whzhcs((O^WsP^~W~T^4xOw zuOIceMrJi)8_Zf-!eZ|B2k%G_jtE@<#a35useJHiN-#~%bh`|;4c<#jPr`co#2FjW z4KS*}k^Jn94JT%4?_a-)TWaxSz$-V3q@^{~85@!E^N@3G7->q98}qc!{gx=Y0k3}h zPPf^3T5apc@EMGgSn*7qkyS@??)IgNc`o)Qur2q-p<&glmeFl;nB4-aD#);L=-#>4 z7oKxQxvV2X*jKkB{^H @7JH;o88#R z@~wUsZCTC3ee_vddzdajTI&)`$9lp;(%=mg5?fYejO>%GDQm|me45M?DE-B@(_Llj zuvCkr^O MK4aaG^ul@jOH)UqKox(%u~a3GI-^l zTsM??l#9yZS&g2De!#6?lsMs2X4&$wtUR>x!P410B!we4v7&4<@i~Em5Of~GSq9gc za dERYeS+Py-!^Loa@<^8xt$&YTf$jQ zl&Kgn0qb2_Vc`VqU=)a2EK_8oaz6JyNB^;{6E*NBIe5XUk< <`XxNyzONg0q)DfEjh=Lq_mY*jTQr2+t|6VMHxZy%0kH+XLD Ykb4FOc6}!Y;)?yG%4he> zh5SzzH55T>`YsYI-nhQ(?W)(9%d{ma@{#uLt>Vz}->+nf*vH4k+MK2`O9KqEc1Q`u z*Gl0<7kWnT3kw%^ifn-34^1iQXO{UoxG|}9SuNBNQD7o9Kn54VTjxjj1-0*v0qC?f z7;6$dpKLb(9`%q6v-FYyxc0iRSM-e?Z|g>gV7;+o=}Eq-_@)#S`@?Rkv%qD72jnn> z409+uE2y>{8hKk#Vy%46ANuw56)$w;IYGoW2liamhnGDN!_&VqDT}sBF%6!YQxjol z&I@XInPD38!#I-%-Y8s-%pwNQK~H{i2Uh=49bhHJzNb(qG|C*Idr2yyaqhWY|=< zZFr_1?^RZ2z_LFA3pI;Qj40$r=0G+Acn{9{D{jm$_P4budQA<2*4@51Nsbhi(ZM=z z{*Y5uL`zFUv%&O8d7QEQ$;0eiyH0DNl*&&Xzu6RXm-co9B(gMFSXj1%m|TQ7xY9 !^E?`z+w(c+( P5?13+$4yOIM&3cmEbJci gLu_`!|Ml_63E?sCdx`At6VbFH gy904OIRtd}OnUT3nD1 z_X3lBbnGp`H%+f0A&~$gUF)6wFX6Sh$ r9ist(~^%i@JOA9Jlz$zJ=)P1dpnXq{D6m z;v2NcnHO8C|D!VqMSK@3cZIMUD1B+ZMkO-Uk{rowtz)V?2`|47frzA4^4}rQ6kk>6 zJRRRP&@Q|5gs14-J>PsVQLE1;FRLAITx#AP WZZ+N;YZw4Q26@Gb3fWrT(j*A7uV*r=jzjurHU@L9ubs2E+r-IU8S?; zi6G4R#V+y$C42N5crN=>R>=NI(y$1wFb!b;Zp#<9b+ye;8#Bx@QZauqmnV(ukt4(( z|X`Gjj6;rKROypjIwa9n^nE2rm#-W qn78?-6Es? zp8{~zeE|yq@#cqVU&}8+(!Oyn$ZD%{@nK_8$Q=U%27)3gzSwVZelvTtuiv~0bl%X` zk5%K&Z!^GF7+1z5rry=isJ$*&mf=Ln%C$Uy0O@la8&Dh A&9`Fpr%%Hu_Rk-G8#MxEG(?t+88&|z#$b#zT2Kt z-e$Z<-f1ZlMSKG7%fIu7?G~b07y7976G1zYESln^m3D{;osnd<>(&Df6Gb;L4K;l^ z4b>2O00P+#>69Nt3yvHPzY_KjR5kKEg6Sop`*pJMr^xH)^e-fLzdBbX9mXsu3CHIz z2zU4LVI-^-u^M`>(mM#RFZr$#A1d6AH3*Wq#~Km`;&^I6 VGBjZYkV0p(eJ{ZsJS&14`zYE_zxUuzcpT8s|y1J}+aIW#7uUF?rr1;cq z+dz(@f()8OL;gQS&Mz*PXgM9`urtg{u&2nfMR8-B4UfVjl9CF8#zq8oTMWy<15 LrwqHE)V-=eI#S3`~v zyvoeR;#z>psuHlxt=XD%-H2u9H>pUt0sqg9eaXE-P|5kT* zzrY^s>st?H9Yk3RPYTm$;f*}dKK8j)kX(Vj8q voEYXVDMeauMoc6Kj&O zxD;V=bnd+ ?UDq%ow_2b%)Bu&cqlS5*%pD7;+XW{}zfWLhYdk zFV_-NID#qOol6#xyjLpJ4!r;7 FuCWJ=rx!rqcWT!nmlHmpqrusfw#7Cgz3PjTslw5>C96F}o zNnQ_-CkJ*toH%A4Nm|`o 7ppf#8=vY!=g2 P)>YFCFK>t&A _=Y1DgSvvB3DI+M9sM?Bkj6C&ikxPSCm!HXzN?$4eYkEFD4rjw zR1MxMFm=lrh@M%lL?}w7p%g$k=+9oV0`1IqxFzYmAAjQCtXJ8P)+9Zp*EeIprOwHa zFuLiVT&Qhp34>hfwia>#G-!K?_JzYE`)}u(_Xo_TqGKcS B3;4a@$1%=#4nG~ltm@{Qh4rzS8qXhr`b`{hceOw(M@7^%{Xn6MPOsu zb4aY`rkC`^9zPe0)cKYMWGSC{D!35Catx1m`0mb5ba?hg3>EJ%U`b>yh5bLw{dH7S z-5Wm)4=M%<+y tn}Ztd^A>Y)_Z@Zg=F~1_SS0We0ZYP JP z)e~hUg3D_<0*!5L*^T%te#(=fAbgsh)!zUZH Y-pGRWN zE;Ns|xj$#V-;8f6?|?s#Nim$#02gWtE!u`~S4@W&P=!~QT_*kR^V zc&-|{_DL|xyx}t}*uS^XAy)Q&P8sH`|LYU!%PA3IXoc|zJ7Q{R=f}P4IP08y=@K)- zbqcfsh-7Eim)V?(H!B&=LcEijJ=1XcQXU8t*@V^ITVJwT;fgMzWOU`pc`%|#hB05r zD)~k!%5yAR`pVn(y-=B#d;Zil``+9{)cGCO(y7|;vqOHO;Z84yru4c4*`%vY;n!%a zIWQJ5UE2ovrQ!)Vi^#}E686izhC-8lVSpwr|BzesXX4r~tnC#s7g+5*@sZ?^6%i3( z0+v)hMz%lR%UV_1ENU2Iw!)caTKf+!7De@2v)SPZiq>Xj(6JaI990^2jH@F@6Rg;P zONCjC7bQB(1E!jYn$7iW&U1pg)@)Wovg?gy8aKq`+kK<`XAGKAg_Dy;$cXakDLt`M z%jGk{A^uGU+)YAW!x@GxaAvw$3rqkq)G$^IfEGh5S?gX$>f*=ubus4n%Vp+UY4^)0 zwUjs>?~eDtk-Sz%7Y-I9CRSe7w`mqFE>3bV2?)T8cb9Ve_Y+H-i#!hHsl-1Ds7%FG z9%7GV&=kH;_mwzhx V5YbvEcd RtU|*K?e`uj0042z>$H4u zps{vL&QgO{`6%zPB--zze}R2wm=D2g9VMB*BaiL*s5WWAxS7skb|d4w$p>N6qgD4C zD$&6axBv{iBZkp6r*_BQK6ODQ`bLBejB13RgYO?(ChbOhHL?Pw!xvP#wS5#triW{4 zd}fMI_)z;Y`$``*?u!;aABwtrYGe%SE_B{^^)2cSowue2eVQ*zS97D`8pdG%;BJTI z@tn4wXw2>*2v;yP68OLn&(0Zz ~nk)EDvyr>_%JFny9eZA92wD zliv3_(zbZBMW1+Qa|^T3!5590uX)C2t*kJvL!x_}TQQ8WVD-|qZaY0*zq?M%a4iHB z(^ZA|hl*N3fvz9S^B?=kd<@aNE0{j~w0@+^%F}BP6lKz??3L<$Dg0u%AHdjAs<*kQ z?7Pbt0?nFR57AY@Y!49uW5z51CnBk1Q9A4ooCUZBfEb!brZNGNP40VRS=KB{LS-V> zjhM+ub5Zv#6YBFEVc190zRhZVT%E6K@UipPM7q;ULepW&)m9(!z=Hc2-=z2=T!bOr zS6(}`q+WfZy(!u79l}t#?VS#|rj>^^fo?KHgrs|xIepX+) dnXrfgk*RySfw zmDum(Syal}z~FQ?=t`LlHOn0s^rH`4CUxn=5X(k{GnN~@x 9ujy_|4z;dFNWOV#l4Y;O#`C)Yv36 Q~uQ- zbGdVS(i~;RMzK<>gQZUZY2`Q&Tj?NI*_@LBCkKR99{N7os(3V|u+U+QVuPdf@O7g_ zW=_$7V^7s_o>^DLd-{swC@ufU<{vMXJT%979hUjOF{V7E=*y%@OUn^PsTb7O$zK>v zflBn{l4OsLYK^&Ad#Rtv?K-@kPVPI@m;FqeM=X+7Tvs<| g=#KO=M6ce!9!%4}(G($%xkCkxJicGYnq z8TZYXPekO!cFZSkqPX`D)V9}pt+BNgCOF^wdYUH+^gZBh+#W-0VRrIxA$B6x%yeun z)^*i~V|%2#Pou&;7Ke+37`f}_N UR49s;(%-ObPgl&+sb+0}Nwgz}DlE*h zXC_j7DMY>6Y=5aO3Ojwba<4yKqf)QjV`-JnD|f&it YJjJ6HEkEyEMFi zRDDG$yrJ}(_QIj1Vj!gQsP$gdPWwfVo$;q~ZpN>5s6GmeE$zF &x$!fp=CeLP6a_8~^zV%20gsK5n=h*^ zJo(l{druFCLjMFsk;t~TENJP)+!0~GSw+>$9cbvbMxsf~i%t52{kQvPPL~{{&GH6b znyK#gRQcGtIxQ9BYS>e|LfTsPNE(pd%l#C?nUj3R;xa6oqnw}LR)hHP2F4+blwA|G z?s-!AjlgGCNZ@FFv<_4W1Fp-dW{)MIt93JIJpENGg ){(_*`jJ9lx74FAi8p4^gp;1fn?vuDLT%J1GuMe zyab7&Id?&DG5O2*&h77~aw5rx4GhaU>oDxda0Nvr@C*+ub5wZ9QkPFQn#jc&I3C=f z{GPJ@ ?=n_$~AGbtr-P)hzg1 zEIg#s?-Fqxl}IL7tw^daPfOnd+yH>3rAG;rNohJ!cNU9t^yP)5Z@1RCDKiY(5=5QB zC+p?m&H*YDy*#op3W1E|u8wUbHGjp`L3_mlPpy iCUW8LR)A@+zll1E*4o`(OPUK@1~3RU4imAcQ-+j~Yb~r# z)j0^Qk2GGDzycKkZs8W#{cY1`SJ1fcrG3uy 76{)U{%Zv;RPxzzduuJ`2BG!Rje&R{WXsbm59rm|}Yo!wL?nhN-%ILIg;J+Fh zn{QsQHtn@nAUh=QuTIM~@(@yyi=I)@X>2WQZYkKlz3WId%xrYbP3T?`Ur}-25MzYf zz(K&FOuoAP7=6NH>z?XMgUa`Qq?Aq{C#;l4aEDCB^{xJc^dD8)X0yllLun&Z#EKEU zgabvr!0YZ`X`} ClVG-%&I0Xx?vAVl?NJ^i-@%%)V6WZ$_YNw!} zJwlJ>mQ~+7bX`s?w+<_gNS|X<&jCSVgt=#5+mr(sd>mIio?_0ROndr8an>Yfs6;}J z{Ov;1lY{1aUd-Eba!XCXd1M)|>VuzZW-O?1nNeyy=@7+wpD~|NX=e@`N}bs%*tBsH zF#n;y`xNAhb}Nf>TfLVvQmEZ=f1^go`g_)y-DKvnsNmiHwnu$MDqWw=YR%2eze{+4 z3B403KEPu4g#Z_w-U%L8dEuRfP;_+bEVcBPG9;S870~B!LeDE(sQT!RxoQ#aRn0C4 z#i1j10gm0^@x`q@R#b$A?ViNM6UpVn3=_I|`5u7(^j<$cXs%1$-pZ6&b&s#bT1Nl0 zixcZbYr+YiNfXKWw(t1vas$c }2QBYN`C6ADZ5KD%U_p7t0Tjd;)ueQ=%9nWC+jnb >1Nmz?MspDiF6FuPPjuIj73fGl(KiEz8OWk-W86%jdu*M^Z#9+-2=<;I4|hp3znUp? z9 |7dOkcC#9x0Rc$jh)$n!i8ZQ`yVpeL3KSTe9V} z2^C`_^GQAaNVm>iznHnXEzHPMKtTjS)7$vvDnXXZ8Z&)K2>_`h{83oJedpnM*SVpt zvXfy%)akO*CbsfG=d70K4vpWyB9F^US6v$aT%itTPqL+&$#bA%ecVi!$fkigrkCK_ z_`qZKJRybix{J!wa#$?1BOe}IdIPZD6{3E`2yHgOaSnxeuia>V>xp#Zc=rd6<^#Nl z rd?!; zaeUbXbyE2-l^`X$DgHPE_yO?vHLAcdc&dwxDqu_D%Zm-`&kCd*1IG@G8$3OP58 l4EXIHx7>gnxj3eYLKthsv;%(& z;}p@Vk!f7DbxuMj@;X6>4tY4*ZpGT`1MOIU0R`Rztqn6(5zS0KAc&Nw5Azx>yX*+` zg2(4ER}NpZ_(q#IsTecYrg|Q=;58i1G5~((LNIkmaB;-ZvGi%u4aJY6TH4K8P5BkF zX%(xwZO+yB(r`55Lz#m`&Mbf O;dkWgZIS@$e8KM`K8pibOc*0Y7QACo21(sC@CbmM*>K=@c| z+psD=kTK`f&h$-@FH$>(eaN9AVl$6}fpR?}A|^(QZBIWCpy0~UbA+?2j#!WVGZFGS zitAIalgG4T(FfIBE}%|~xuK%vIxM<09Jt|cXiS##!=7*Gvth)wAiB&g44a>_e`{M9 z=~12(K%^HF%dOZDWo{6Njb{lAhcU&ZcM)s!=8q3O=t3313I*1tbZ15=jC)W8?Vg8~ zhN5JFo V?1MuwQwCg{HRn%4~VAJlU?ieN?r#vG^N^Ms2FTFE@e%WRJMi> zyYBaGfL)NfN35%|KL}$2Bwn(>a%#+o1fpLMGcbxKZ)a7K+yM=h=X-rc+^wWMQ}sEY zFIP!^2_P+(v`Qn?v}4h0OiY1-<1D(MmdE2y#4E**z5HTM({b)s *q5S|8J>f+`3b)H z2yx!|0deJGc{xXmfl)y)gmD;S<#G3Qg6v7_6#%o7CD@@AaqbrUQ!&kMc-=iTZO!|h zQrEQt9>c7Q&Q-WxVILpc1 4cx5Fw3fHb&SYeZd&J7qr`q!`=Y=83vd=pu}55 zowD@;=?N{Acx+6rHohd7K)b|XREvfEqT0uiGT0B#%L%*`r$afw3(W*Tva9O@=a0 @C%k<`PYNw>-0LfEs=m#LKk;bOMHBCqqIL7v0aTPj?~`fq(_^DM=p4=23Lk9K^o- zT0_}GLd~uDOajGI;;XXsN}haK&6g-tB`Mb-1O-MTn-d{{qVuYp7)}z1f5RazTb#{_ zMNtxupWJ_}TGP-N%p*JRD#WJW|6V*lKOW?Jf|Z;xhS0IE`z9)TUlIbhYUz$k=GVTy zkPTVCT&`X&(4MyICEHWn(k@@1zrksGaC+6^QQxysTf02l7>Er|d2>sTM3XUW^-FdS zlWB8fD-w{px%(tM9dOVQfyk?OBP4yr5;RAauD~aXUicm3^ooQy+S!;V3n_y5li~^j zWI`g^Wm#n^cnu=nUt?lpHYMCk^TVd)hE}F%6$Id=ih5O#D<*JR_~y|i9KpFdmBYYH z#|k@g^Q&0V)g&Z5AavfogRROb&qG}V0Hk`s{DMEaiVK1FAT{aQZAd~kg1Trim7{$j zUajGE&+0&wV*}R8%u#Ni{k65whaBD0_FilA9HLdW< zMYE0J_hx72NZmdT0Nn;)5RnBTGgB*%FV5b#sW{8o92Od88PXO`cCl3@*Uo;6`6Lqe z3ut>geQBAXe~IJJh9@qsW9UR(_Bpl8J2g<6Ao$4V{`xssT?2#3pnWn4P5kqfGv3k< zL25!po#|?st_T_KfVM1nkNN EyV*Z8*-@VIn|2-LbsvE2L_giG5TxtQ$s5ur z;L*%$@H@G~nNVIXC2qpSe^x~v+5nXVJyH>wd?`r9ke~$c%p)yIanx&ePWE9#eJbty zlPu9}PXOr!G^k8$q7ndH3^i@zwt56uU7ShM=kb<#Jxv8+zOeo?LEn%z*PR-n0%K-I zM#b7V4`}p@qMPNbNfA=eeLP&dz4C^zGl8^O-dlNk) e(;gPv1Qt?42R5zkcqV4HTEJPwO3_TLE_3?@F6)L}uvrW-I_QWtYaj z$nB0V$Y)%F &;IYBZgfAz@Jax)2U zZR=GOcpKl_&mUL6te<3jkzmA12v44IBzNjiW8*@cWhBGBq+k9E^YH%lrtTu2A>j|t zdp2e$Q|B(kRos`&np{pXKNH)>`c0jRJknABGJKlen}xdJlDEvHtXUbXhdVUxV ?g|v3z*2yj*+q6>BBtpf%2$CgP!s~wKIk@nWmyv5NXl2 6}^_SR;O~fQ~#a0BgNv^(E9!NJL*W}=N4SDJJD~%$!=+{9u_2MlgHh?g~Cy*;T z^@#KNb~j^Nq^Q!vhcA&Sabwn80l7EdUnn-;ZLc(r*i(kWq}>yXV%;!qUKO@|EU?Ox zWGr^qo=^W>9!`k==ddX)VU_T{Om<>Le1=>|M1&%m`P*BC2D8piJ>v)x7rp8dk~hO| ziFy*8=5E0&@A8>lOLN6D(&zbe2k_}Tx1IW1$UKKu(qu=F>VW2 6yW>5!+^O(^vLusR8 HTS20)6-# zcPI}La~@o(SKBBB>=7cc2gP5aHjYOh1&hc{-;E+yWqe5|d#oFq)|gRnNOio$TdC=M zOs&snZ5mqdunE>am!Y4p7!ZnzNaKxB?uxjcu(sVq6r3Rl{0MG;%(vk$q*0Oay|hDR z#_N1mtRCfG1y49)_y6a4^k-FoVmcjmfXXHk*VU=$oo@@~ooi3qlpji*1xrwi&Csy> zk4R27pSTvob)0iKWl$Tg0u{N}2A-IXXGutZtk$@HUt{__QGZIrVV2GTqRn3`rSDM5 zFmnVXmA;i3R3G@1dw>cR$+4q?nQ4n6yOlb-Ox(0Yk;JYLG!Vcb5m4*Da57~=xI}(; zYvU$cZ~)9;n}{w-qIaVyf-m>UNrET~*k~(t_Am#T@=flUUjX>Q47X(?&5K1oRUX|n z6lwSk%fKMm%qz#?*p*Z%r=Z?e0k>w@4{uQ^^Zw K#{@7G2X6sH_HTII<*Na7@%D`SF zr9UPeZYOFR3ccMV(?=dhrCU?RCav!YwKI_!+WvS~K%GuT!f|D`Q{@}dNvHqy1mW`O zX9Zhit5L0dM8bGYbl=yQEJFJ gocdhP!zWXP?g(CUuE&9oHJ@l | z5w;}E8A0&~)@DjnM^7Y!2&IvIK-T=BXw7Nmy`0n2ej&k9uSoqLoD(skzMHRnuz{kI z_*!JSiRh}-TT1Cn+-A9?90c%t(5$OT`LZ>msd@>t9FFdJ3tPd|oytbgzE` hHNxbu}GWZ1mZ_bgQmRB+jq>bIh-U`oH|Gfrf{li7_LMmWln&mqEu%>IVEW!qmx) zjTzS>X5AHr{UPlQbcA?S zJbL-GnY)%_*gbvXkr5iN6+H~0IUDp~6J@=+8bLU(Z25^>JH$`h$TTjoY@)88{k9jg zZgk!}Ym4_oKa;i8P;AeQ@hxiXqQGOHw^i9(N;``wwl=1lH1`bsH(cVijaUUKRArAm z%Fd5Xz$dLG&9EoRK%dgzNjw2R&2JL}>HPk4FxG)G)#F^00uCtB6 p({E;+dt65*wNzV-2xc4W6C8c z>~#1LRdPSB&xns7id3b6ewaZ^tx5!Fr%E4rr0Lw;=8#hhVUCQ>S{`a;_)j6gL~&oc z`=10_OTVEcy^gAsVg}j#VnVl_)D}(%Ba};{g6$zJ!L>qAk?l$)o>Nd?$;-F(1O`?; z@M)`UI}>v*gOr2buxvL~vvwhtf6AK65tG 9LuZ^_fKIbBcItA-~|^!@qu-g@h0oe0I R^RaZp@0( z^0RY=&b~wJi=Iklw35P`U6UNM_x`+dnPI}Flq^sbz4?n79XjC)S=#8TCD@3HF)cJR zYIpc~;HOggJf_^N0WmM#B~1q-x6t}Z?w+dmgwY7b_BpgvtSj^V3Upav{z9wxGjaik z?77q%u75iYH7;DZV2+Pphc!fu5?!R16WBJ(?KOF=QpsfLJL>C)Cci2U<#MkD)I%~Z zgNq5yP}_Owp}&SBUBQq=J^g YradAd$TInfVjHthTiw^YcIF!6)x~ z!1es=P=59k-uchDjHF-bcK@7G{6F^dO7Q!YDDBU0a1Z@^e;sdTzyJFtS1LDtCPDsl z6(sBb*kJ7cg$1IoPDm@Qmx9!&Lv2R_!A6rYN>=RYL;t>p4IOu+Y&|^$(%xiLa4VYE zcIvTyk5J%EuCIeQSGxTTsD y}Fq$U+tzt0V>9L>(nkshADAsP5R{z{HW$d-5_Wr^-Q z(7*k;#1Wt_0-%{~F5v>48;tA=U?aa|Ky`z)F`fvwYI^T4^1o^UHw ku5`1`cnQ4 F-p)>tH7B?Cdxy2>^WgFXvvE5FqAN3$)$r=Ma}ecgKZo1{ zt^m9T=BnZHsRm6wwb>9F;%S?Ip9-Oc;)zjjZgVaxONRsHF|KOJsD6%=nuPCnWgkL1 zjS3cJqvS{x1ooXvZ~316UEG?67Tn2LXaVSYLq6Wj4us?&vi!A!Fr(BL0d7nFX!&$? zL;muAe%Bo&G%`3M8VIIi +#M>3rIZlw6I9EQDNo1b&xKks6dQ zf0l7w!#?r$ZM_GO2a>;r{|t}(*%;8d9L$4`DlS2Oo2vHU_+sDg9G8KZNYa}S8?N7X z-#c$4FCWy+Q!qO<#Y!vyp9a}6e;v)=YTH!6>Qm{C)*@dB?oQ0t{;h!9=RQS-u~;h< z *^Bqy{#(fMyLfqZ}DTvE#Xq`7>jHM9oe zO@L5;{nJxktlfy>aZ8(PjmyNrD2j>+wqU6c#O4`^?3WKfq}|F2kimZ+_TbHijlGId zc-y1~FIY%0nST+lO3>`n@LP;3xbD@fGkyHo7<#V<|KN;YgcNu`3n2h{)eZjMR D*`^A@dnpsIN&Sc&Cks>hu@3TX5U}r{-oshJ_|6rQg1GMjDVO6-#?sLOza_mQcUz)Nqxnpg~4Stb#@4X^C2;@ z>`ni k~9tkCKGga)@{+=50k@4Q)kH=`s) zM27moLElA8!OaF;Nme}quM-as0Vk`E1IFXg0u)cqLLkbf?q`4RS!R=G0~$lIi#g{S z4$Xje14P91 5=ox_0(3&p zt%@O$6Gp0-w|59^!X4aG>93HZUGTM4lmY0$x7JRSf8rT@UXEvnw6 0Xw^Siv`cf$cR};G(sBJGjNAD zfg|G`^(tz5puWZp*<5b;W4f9%6k8Hr8ylB)AkU}k3HdxnZ?YX&=8_)s!>1bppMg`U zM_JzZDrYYDvt?Xy?)rxAO-QWWjJQLvE(9wmN|ojlMxFNP)px1LC)4X?kv-? 9U#93%eWjR=9l>lyU&4a3pKb1?@f`43&Nz{*NaIW zX0w%>WxP`L6@yykSo{!PT?|vHxOf)=c@SyS^?MBcuff>P39giO;hF*rKGz8Zs?y`Z zsqf63QU4LXjKjPr@p8KxHSRO+l=lhoP(!7lSqT`dRqvGW;%iUZ{N%z7E-5A-rL9@F zKilpWaxM0aD7!DJzC|j@