From 285b9e835d8707fbb43d3355419c9a4c2aefca24 Mon Sep 17 00:00:00 2001
From: TypoGenie
-
+
@@ -81,7 +81,7 @@ In a world where document formatting tools are increasingly locked behind paywal
- **🎨 150+ Typography Styles** — Curated across 8 aesthetic categories
- **📐 Multiple Paper Sizes** — A4 and Letter formats supported
- **💾 Local Processing** — Your documents never leave your machine
-- **🖥️ Native Desktop Apps** — Built with Tauri for Windows, macOS, and Linux
+- **🖥️ Native Desktop App** — Built with Tauri for Windows (Portable EXE)
- **📥 One-Click Export** — Clean `.docx` files ready for Microsoft Word
### 🏛️ Style Categories
@@ -157,16 +157,13 @@ Every style includes meticulously configured:
Just download and run:
- 🪟 **Windows**: `TypoGenie.exe` — Single executable, runs immediately
-- 🍎 **macOS**: `TypoGenie.app` — Drag and run
-- 🐧 **Linux**: `TypoGenie.AppImage` — Make executable and run
**How it works:**
```
📁 Your Folder/
├── 🚀 TypoGenie.exe ← Run this
-└── 📂 TypoGenie-Data/ ← Auto-created on first run
- ├── config.json ← Your settings
- └── cache/ ← Temporary files
+├── 📂 templates/ ← JSON templates (must be next to EXE)
+└── 📂 TypoGenie-Data/ ← Auto-created on first run (settings/cache)
```
✅ **No installer** — Just double-click the EXE
@@ -211,24 +208,17 @@ npm run desktop
npm run desktop:build
```
-**Build outputs:**
+**Build output:**
| Platform | Output Location | Result |
|----------|----------------|--------|
-| **Windows** | `src-tauri/target/release/typogenie.exe` | ⚡ **Portable EXE** — Run immediately, no install |
-| **Windows** | `src-tauri/target/release/bundle/nsis/*.exe` | 📦 NSIS Installer (optional) |
-| **macOS** | `src-tauri/target/release/bundle/dmg/*.dmg` | 🍎 DMG with App bundle |
-| **Linux** | `src-tauri/target/release/bundle/appimage/*.AppImage` | 🐧 Portable AppImage |
+| **Windows** | `src-tauri/target/release/TypoGenie.exe` | ⚡ **Portable EXE** — Run immediately, no install |
**For the truly portable Windows experience:**
-```bash
-# After building, grab the raw EXE:
-copy src-tauri\target\release\typogenie.exe "C:\Path\To\Your\Portable\Folder\"
-
-# Run it:
-"C:\Path\To\Your\Portable\Folder\typogenie.exe"
-# Creates TypoGenie-Data/ folder next to EXE automatically
-```
+1. Build the release (`npm run tauri build`).
+2. Copy `TypoGenie.exe` from `src-tauri/target/release/` to a new folder.
+3. **CRITICAL**: Copy the `src-tauri/templates/` folder to that SAME folder.
+4. Run `TypoGenie.exe`.
### Usage
@@ -273,42 +263,9 @@ copy src-tauri\target\release\typogenie.exe "C:\Path\To\Your\Portable\Folder\"
### Style System Deep Dive
-Each style in TypoGenie is defined by a comprehensive configuration object:
+Styles in TypoGenie are defined entirely in **JSON**, making them easy to edit and share.
-```typescript
-interface StyleOption {
- id: string; // Unique identifier
- name: string; // Display name
- category: string; // Grouping category
- description: string; // What this style evokes
- vibe: string; // Emotional keywords
- googleFontsImport: string; // Font resources
-
- wordConfig: {
- heading1: DocxStyleConfig; // H1 formatting rules
- heading2: DocxStyleConfig; // H2 formatting rules
- body: DocxStyleConfig; // Body text rules
- accentColor: string; // Theme accent color
- };
-
- previewCss: string; // Web preview styling
-}
-```
-
-**The Dual Rendering Challenge:**
-
-TypoGenie maintains two parallel rendering paths for every style:
-1. **Web Preview** — CSS-based preview in the browser
-2. **DOCX Export** — Programmatic document generation via the `docx` library
-
-This ensures WYSIWYG fidelity: what you see in the preview is what you get in Word.
-
-### Adding Custom Styles
-
-Want to contribute a new style to the collective? Here's how:
-
-1. **Choose a Category** — Find the appropriate file in `/styles/`
-2. **Define Your Style** — Create a complete `StyleOption` object:
+**Template Structure (`.json`):**
```json
{
@@ -317,23 +274,10 @@ Want to contribute a new style to the collective? Here's how:
"category": "Creative",
"description": "A brief description of the aesthetic",
"vibe": "Keywords that capture the feeling",
- "googleFontsImport": "https://fonts.googleapis.com/css2?family=YourFont&display=swap",
+ "googleFontsImport": "https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap",
"typography": {
- "fonts": {
- "heading": "Your Font",
- "body": "Your Body Font",
- "code": "Your Code Font"
- },
- "colors": {
- "text": "1a1a1a",
- "textSecondary": "4a4a4a",
- "background": "ffffff",
- "accent": "6366f1",
- "border": "e5e5e5",
- "codeBg": "f3f4f6",
- "blockquoteBg": "f9fafb",
- "blockquoteBorder": "6366f1"
- }
+ "fonts": { "heading": "Roboto", "body": "Roboto" },
+ "colors": { "text": "1a1a1a", "background": "ffffff", "accent": "6366f1" }
},
"elements": {
"h1": {
@@ -343,26 +287,26 @@ Want to contribute a new style to the collective? Here's how:
"bold": true,
"spacing": { "before": 24, "after": 12, "line": 1.2 }
},
- "p": {
- "font": "body",
- "size": 11,
- "color": "text",
- "spacing": { "before": 0, "after": 10, "line": 1.5 }
- }
- // ... define other elements (h2-h6, blockquote, code, etc.)
- },
- "page": {
- "margins": { "top": 72, "bottom": 72, "left": 72, "right": 72 },
- "columns": 1,
- "header": true,
- "footer": true
+ ...
}
}
```
-3. **Save It** — Save as a `.json` file in `src-tauri/templates/ j
z_A{(^m$l3~DuY!h*PzUtXf s;u~BA>z%;CcI63PulSq$QnGo0qHzSHM|IheSy6#A
z%;lUkHEypXSDIj{3+uqnYXDO)E4^EvyhAoxnYAuMg+vFN|BCIwfE
---
@@ -405,40 +341,24 @@ npm run tauri # Access Tauri CLI directly
```
typogenie/
-├── 📁 src/ # Source code
-│ ├── 📁 components/ # React components
+├── 📁 src/ # Frontend source code (React)
+│ ├── 📁 components/ # UI components
│ │ ├── FileUpload.tsx # Drag-and-drop upload zone
-│ │ ├── StyleSelector.tsx # Style gallery with live preview
-│ │ ├── Preview.tsx # Final preview & DOCX export
-│ │ └── StylePreviewModal.tsx # (Optional) Modal preview
-│ ├── 📁 styles/ # Typography style definitions
-│ ├── 📄 main.tsx # React entry point
-│ ├── 📄 App.tsx # Main application component
-│ ├── 📄 types.ts # TypeScript interfaces
-│ └── 📄 constants.ts # Configuration exports
+│ │ ├── StyleSelector.tsx # Style gallery
+│ │ └── Preview.tsx # Final preview & export
+│ ├── 📁 services/ # Logic
+│ │ ├── templateLoader.ts # Loads JSON templates via Rust
+│ │ └── templateRenderer.ts # Generates CSS/DOCX from JSON
+│ ├── 📁 hooks/ # React hooks
+│ └── 📄 App.tsx # Main application component
├── 📁 src-tauri/ # Tauri desktop app
-│ ├── 📁 src/ # Rust source code
-│ ├── 📁 icons/ # App icons
+│ ├── 📁 src/ # Rust backend code (filesystem access)
+│ ├── 📁 templates/ # DEFAULT TEMPLATES (bundled with app)
+│ │ ├── 📁 minimalist/
+│ │ ├── 📁 tech/
+│ │ └── ...
│ ├── 📄 Cargo.toml # Rust dependencies
│ └── 📄 tauri.conf.json # Tauri configuration
-├── 📁 styles/ # Typography style definitions
-│ ├── index.ts # Aggregates all categories
-│ ├── minimalist.ts # 11 clean styles
-│ ├── corporate.ts # 13 professional styles
-│ ├── editorial.ts # Magazine aesthetics
-│ ├── tech.ts # Modern tech vibes
-│ ├── creative.ts # Artistic expressions
-│ ├── vintage.ts # Historical elegance
-│ ├── lifestyle.ts # Warm & personal
-│ ├── industrial.ts # Technical & mechanical
-│ ├── academic.ts # Scholarly formats
-│ ├── volume1.ts # Legacy collection
-│ └── volume2.ts # Extended collection
-├── 📁 services/ # (Currently empty - local processing!)
-├── 📄 App.tsx # Main application with state machine
-├── 📄 types.ts # TypeScript interfaces
-├── 📄 constants.ts # Configuration exports
-├── 📄 index.html # Entry HTML with Tailwind CDN
└── 📄 vite.config.ts # Build configuration
```
diff --git a/TypoGenie-v1.0.0-Windows-Portable.zip b/TypoGenie-v1.0.0-Windows-Portable.zip
new file mode 100644
index 0000000000000000000000000000000000000000..f064a662b0e1598c3107a393a1a0f090e8c0a742
GIT binary patch
literal 6213043
zcmZ^qQ*>Zqwyk5^NyRoQwr$(CZQHhO+qRuloK$S=pfeEX6ZwB}@+}qyz%o6T7=cSmOFGPSlUmL6
zF!n%LB|7R`zOA6Lxb}L|wH=)dpk=WDX@kH&KON;bkZ#|sMW>xS(X!IxOx$=F7Ib>!
z0NQz3NpU$}a5xM7{f)a+*gr??B$MJ9MSu0V%zr^G)8;u9f3M<9-61mFM%JT0iZ<{E
zg_bsAyFezROg*+=CPGz%HiGq+G^W021fEeHeh7%m&;%QW%P*o>XOt}AqiBKitp!cA
zApB{%uWEn=L`kEEZQ&HuQ>6N{33361QopqVq8E|Q=SNRzWCqD0EqaT)L7c}w^?e5D
zm^Lh1Ebt{Jk;--z^M;`U>#qov^oxc8#`=IMLrY1v^WQPs$X)$krPJF+z>T@G@Xsuh
zu%|Y*mfK`nrztZ@=ScpAtxh8p5<;u&rP(0KryQFC(L;SplUoxZh0m(wY|M{;-mD5R
zj9-H6^J^BThau8iyjTZ82I<6z6Oiopul{ziJ@;)H
#3d-OTu*D_zc-8@eT$_G7NUYEZzEWlaia0*~
z!Z}2p3ARxd0XC)a9v~XTR4+f#1Avquf&k>`E)_I`tiNBmTP@QV)|m7NAzY&yV~x~@
z2#}XqH~1BmBG(PN31mvwvC@#5&@GK*@eA2FM(W$G+Jux=Zf@=4?12ENiBJ@x hVl1+)O%M9<`+%2jh3$@*H_>DC603r)q%YO#
z$FBpwY?pCPH2QI$?}-IPnku05@;)D=So&Y?ph@q3
BIq1n^n_Vqsm=gl4_Q_GLwg#U3e|3mS}dpEM!=|~H)z+Y4}trH zX;5T0GQ2^*%~&pkN;R+!CmLW(EoPp>B1MA82AOicYaWbDc#mH!rkzCY12^UZ$qtDN zK?GVLRADb?SN@mdMWpDD4|Y}91aJry2?8v!!JU8s{{mmNWDca#@wqrvKWhUBiA(Bc zqBFKvxvGWkINL0F&w YV`m ~RUPB@H%9E)ftzPLFVJW9Ep)r@qH9DsqC644Xg@5>GrH*n-M0N+9&>Kl&I=;l zj9@&r12PS@Urj}3pXxPo>{zR2Hqiz8A3B0CAbbwrm|U|A5)hLXzVm7}7Yo0s-GOLL z^&nxWxnt7E^d2+@`^?xj8oDm(ELA3grD1}<0S86xm^UuubM2 N?jGB83j}PJKg |IU08UVX`A1-$MlF9(znrMmJL5eE|w z-f#LYSi&rJDTpb0Y+ySY7-Q_l(i|gK29RG$Mk`CAzqeote+sAbhCHRAg!Q5*K;p!v z&&7o|ec0p-WPBJfFK)4u0pG1E+zp``hVH~4glN*DN+{bByD*5ekR}KflX1?zaO}QF za~#cRWL0y#YCdM!&f2V+A2401fd`s5S5`&Qa<>Z%x(2d->JjM6VPyG7E2usLCrd8s zg_ihal<;(R`n&Mmy)lA0kdwgKzl9C0>95$F)S&P_Je;O`Ngg*O?$^d4-Q&Ign3jHl zrzx-{21ngSi=J&6!sx!qo1`R}cS3_rY0I28ET3vYk@>Ud^jgbpb2zKo-%Y|D;p&xb z)m_~xoR>lt8RLa(u8Re0>z@0e_!ljJu~Fkp|3y(pi5JAZdk%CvW8~W!yLAqe-rqSz zm>6U1g8q(bc1&75H-7_EE&sy8hk{aBFzm9|VNJ{ikvu|fCKysmFu0|CXb{ju2(o?w zIvXn24;5gR5VNr$)2I3*WtFGlg{40mU0v&Rgt0TFNZ4g!2QIsn?m1IO(~v3grg?tm z87e<)2x|&5A(zl @a+#u{L>g_s?11TAk4YjGnM zJ8oMYSsP43X(_NPX Enz l09qSc+=Zio~a5RM)m^1-f(gs zkWLM?Qpdmj*x>FY>)zbV)O6hr4%%DeKGI_NX4?&w%7JSc6X_Gp%F!Mf3>fE3_1Ug+ z1`m9*eaEa4QXdr=vHv|#r3>2*ncZ%jFrVbd18Jhc5@2Q`aZeTM&y=PNXmGI)lMR9o zkefa74hA}~@>gR$^?$a3Bt=B0Kz^jA?0+s@n*BsLwm%up|A@eK9SeU-m%Zula8Y<~ zNMsBxiIc^Si=;8!(}E?8kKTa(AZ3VQ5`^W~q&wXSeIS7#YXm)&co^`VI@Lb!zMr25 z;G#Yv7%?^3@ I2*Yc1;RyD* zdrEp4 *jQ{=$zd|yNnuhEs4(I{q90T005WC{5y&|PA$fy{gMfIP2>DCl zfY2ny7k(fdd<#f5!ND+G`t|d*pfU66 @C0iO9zO`Xs#gfCdu_ zVJ2Sq;|TXje$(h*Fbnf+p{iC2l$S{&6RJHYX_f&YF3;IMcmx3UNR(7tylhZfr2wny zbS)}W?c7k!$Y^ZlvexvkC>FM5I_?h>_X>NdT|vJSbtuJ>;!d}nu4sRmlHXyyGWp}f zN4`3+ JeK!^c%c$T?48YMw?zU?O;rEWwM1uSWpzA=wq*{f zj7;wAvZ&xM`+kuX0qvkMMm1IT8}GHb#UuzYSgP9~cYw8{xIYu4oKjcyJFuM~ZJaDQ zTL3sq9WauJMFQ0VfDnaUf`D@#k>CBv4PvDHb3Ik0*R_5_kuz2#LBj`$jCcQ*hm={8 z-EJJGy)7>96?jkihjU4|ji017ixDA)V`;c+AlP*B(-E3zZ4lQ(+3XVcEf*3W-d`M~ z;mOvd(P{gHuX7hH*LqnwUR24H<+Q3vsHBb^hNX5V%V_4SXv_kg4H0~b#P9#jnFazn zjrSC^fQ_$7&I=z{wD1S)@Iwy&GNwIqD>lZ=Qov$Xv=L4SkN`UF4o-{?F1QJoZE)x< zvyW-y4o!+^fh6soVC())j{01^r`Gez>~Yc1!k>m4rFq?Fy?*H6Itm&aV@^u%PsVtH zJ%U;yOVy7-SsCf0*8Su%7qoC3nt;?kyO$dfrTf(-3HH{_+UW z))gYn=nSJE$iZ<_GoUpyNs8(LB4~-fR9fYOHWk+IH`-T01)2g{!=B-ZNg(ElF|^eR zO7n^LhkD!qzTV&xBtF)V&+3`zMXY;Fc2Vv}Qi{huX{wG8Mrs+A$zT3{cUsfa&DUlO zpYjevO-skh nFGe++PF {G|-% z4OW*&mx2KPujY?ldQkmok;462FJMZ6XS`fk%hUomW^oTwb3%G-5%yt&f7+JJ73s3* z=08jO^di`gZAruH OobMzQTUh$K7*-S_>($sJ#rMtk0C=Act3( z0r#0J8(Y@9+cqm8hoKPyaa+NWk6c!K;g{EgjDaw#{^?xIE n@AMmC&xlu%ecD|2z zZvQQuWVu&I83U+0p|{c2geD~NywTaEdyoJK<9Z`q0%wqg?D#Vi!0@C|3XYhfMGK^a zvIk9Oc~P0AZB}=7vnxv5CG)|(oe9{F SqSXR$tVh zLE~*j<^{l{JD1UsV2qMFV=~rTrm`Y_
7^P*G@BQuk06D);z#BoF?~lU;|TE+91dAZDr3ur z@U95IzzZWUynMqV_1eriRb|0%n~f~M=R0IC@qI!A0ism#Q%jDT{6bKYrDg#vV%iT- zT)b &Ye^rP434{-s47VgF8iN4&cmrGZW`(=E+Q=peW@cULrW9Mx+5p@ zADdznCF9UFcx4$QS=!Xq;z%c^h0#zCDNz^=EH72t9!^Fe1S?Ct>C_(ymeXhqC)50; z3mD9SxP+c6Agas7M{4diqpWb^F86k3!(JB;Z^-q{R$X34NAGSj;kef8m< D`uL((f47uPq>W8{89>lnzM43slHj7IaJI^=h@P zYyt*-S>#?P`^Jjj#j9loM=c1b~q^68T(AZRG zC8rN51}4OUA`fYgzqYecj|YoWF%?0Ck%y`?_rcIM_dXw=(f~FO7BL9HWRwY)iJb{} zue0H~@Z4dRk_~omI{SqJ2JCdX0UU+`X)ZkTn+Y6nh2+|D=~s4U<2SWzh8{_6LnNoW zrgs+<7F-ydO23PZl2K|w5Fu9RRjK~=#7H}_o*|8ID7Xc9Qy~>eji3V9BpDWK*A#z- zZ@R@^vJ3|-n_PutE&9fw)3VN|QdFLec55emsTs68At9B_g?S=sAnQi89*Q^rTNw|g z3oMqF-CW*m97W!y;;0qwS8A?F6{0zYw;;sq%vv5iH}I8pe0G5D?(rGN6EvwMH7t)k zrR}+`347QtmV_AOLaBG}__4Y4Ru-Rr8)l2hC4xj5zDmKI*C{=Gz(%oTtUvM`=$6fd zb8HdvVAY_@)H^-yujv0T@v%(i)%sN7_Q3r)H67sq0HFBa{Z4Crr=K#>Pv&FjNMomO zXYBA#dR}U7|MT<*ukPD_Zcyi#E#-cmHn6@L2MEP1H2-waPal#zJfTgjKxBTpi|}<* zR6f^*`dy5pMo~#5o2iR4!Ic-+-F2zdwwM3T-fUNE437ehAzpWhF2*4X`6|jH0H#zZ zzUy3U?pl(V2aVXkD}T)A)}Bw{thE}D!b`@HU%dq4kCCtpJ7iodpY1L99r%E{pH3rF zF7&`WCmKRd^gQYw6ITS}R~trt7IH3{QIVJ-*6=tG32}jrfZQ0{fOBb>B720G~_7aK17pf@>QCf2TiSybhk-21riQ|W( gCLP)L%Q3AOQ=lKc*EW&=-s0wJfe7+UWGxBsF<%bL3#hd?2J0H zVqS{&QAO^n$CtB=P_Toc#csa|ZZ0_z;vnaGMzQu2l{k-ADFo*RJRyFxH68?I+}y)_ zC5Iq33OKwVk(hGOe8eDLU zNyB+Aend@9xGtWUXYbI0Uo-MqXLq*jmsVWYcJxj#af^W9Le_p*&~s}BBP`}~I|frP z(*(eG8j_umX2=)GEm8*2e|q%0G@Ud-h^rsNHf?m*S`b24_qhDQ`Z*&{E|6YR*p;RS z5kP9;rUN=ip({Mu|8R+m9nAx2yl7f+TX8-uyJY5&)oZiJat~xqA_Lx
c`1wby# z@bee4A24yU-R&56uR*D#EE{O6rDJs>WSLV;QU~cuNZXoX;?jxd!eveR_mqp=Dw0fh zEX(b*0^W=z;_ty$w9HtzDFAtfi!_Y#c &%Y5^CH=Ki$(FS7@ATP3l6_>J+x6I9`3aPIg&BdaTRZ zA xz{8yWl^l1 z9`l_xNS`k1Ysdx}t+XCY_~oBbjNzuWzKQSrM_rAZcR91teH-6M%BW-6Zc(GnTUxUg zLB7$fR`d~IZc{bq{-pUmHAv&0bx2%{ZQM%%X0VFDM^<2)d-j88K&A%mqGGBSrEFs< zfF`jbJBzl{f?T*XVGEckP8>LewJRXmaa~UVOG6AQ2=p!ufm)bah&^Vdhjpa~p$GzO zO3Py+%w$(}1iODp Q?&+o8n3zpI&ak@%N{JtsUa|2%(^c*z{%odrF zPHw*HR{BoM{hRmy4VizOmzFV1Fa4v0RsW;UssF=}F*f>V+278=*2LJ+@uy$#-%ju5 zKMtV0b@jgaZv=JsITGmVS%(X(X+@wf3Whs)`4s=rEKp9cIMe<|vmnAC9Gxos(&hml zA_LLX?Ra9o_4yje9oCMk4F(J|f&t`kG+-WfAA1oyuD{M?oIeC*@g#!cWpM<=|L4e5 zbNJ;KkWdi<{ZgFa5W!$@93DlCWdI)!3 LHv?Pg#xOu?=^_b7)jk!YyzUFHfS)qs$GUD^H6ep4)> z6xJ=sVn}|;4CpV<5}|Tg#h)uucb^{lT2WMJa(X=ejBLS~QC?fVknyJjGW@?JXbNNA z2@$#jd&DrlP@#(6xu@^JJ+nvL3rk{(MAFer%nD0*XQ--8MhMx}d^5A8q1qndm~5RX zo4j)k49B2=o3S6bD1rK*rE6$R`gvl>fnJsLKW!}I_iUeBLWBb@`7$bcyvv2TRi>35 zl|3YKt$^@;(4!iZ)D45Y7B)8nw>ABgsG#4O|A(%3V9$ixvUX$Jwylb7S8Ut1ZQHhO z+erl#+pf6c^SrzJJG=KeU;l_Tt}*8v<6Z yHO+ zU)7cL0q)Snrgg=(m5jmAf>eAu%pv;+!yi?&HgcIRiq}Ka*`u?quI=hLO`DgS$1E%> zL})vox=Mj{S*=!@JRK_W@qgg{sgTC7Ns_{9O=WQ_SY5iJ@3G{O`}Q!YrvJS?u*t}# zIx`s(gs>4UgMFeF!Znnp1FHF`D7J2;OX?J}X2aK-Fd$`<{Iw>Y>M81r6FX*m5M0>< z@*V{v#M(__3uh(KFtP0O!iiD2xDL3QrCGF}rc8X;Iq|jVyFSqi>Wu51L8ZHVz#N9l zA8vB^`5e0cs7kAg-F;G(yRv^*JK7DKZj6$_+!5DNse2Fu(W(N<>AGU}?BpwgE$7=f zzg{+DMypP%n>8YTW``v@!a>_A A)s@{G(Cej;u=vnZ}w+wzhDnlHr2UTf>% SqcNk$N;SR;y z Ah$<#MBeq_^d@D7Ml1E^r?hK#6yIBK*=loFZ~Oe_QY4-E z^sCc8Kf)-#`hrP1ZO0~$x1n{VDxqN D{=5usPkgs~j)!%&NKuGEjZ+U** #K>kIZhCuwU_a&=Nf(?6@iH0`u|DQQu@ltW(aw?=}`l)9*WFFz<5uc>juG z)duDq cR_>DuVB+EGCzsjO;|5X;XJ6M_x5id~wZWY26?gfPW3I4w! zf2(g&rJn%N48sQkBKg0Irh|nEJ;0kgTRQ*Cl5c0~+n2B-4eZiB@o4ZqT6Sx)``5|2 zS~04NU5J!cbut>*fU3cr*d)7nPr29gC42_M2Zn6QNSCaHG3RCO#*7<3PrvLEdyD0W zr&Coqy%kSpo^Wfm1fgKgM1D>AOXMSnf#Ie}wK^Ukf+?#xG@&b%MINN?H@P^yQ%#i= zNaE@!)lf;73a41lrVQGlExIbLeP65hiu$vdwcyuqGFLFX;wxum!z*1m&!W?6SU!>$ zHOYgCbPa_7TF2YYQwl>eR^KAvYS@fVAex~OP&VZh6IF-QBuy11x$_rVcJzIR&>mj& zs)3^*zAa%)uI91b#;`6+8@>2>Qkl?h^tHtPYwIbF^Cx2}Z}&%JuI=fwNIH(aEjT|T zeqZV<>o_!een+M&={p&tZ<}|%+O~4)*7|AE&+R?n@iXo{ op ze-wBSn`bRTl%aS$= y>NfdKEj-|!c0B1n>L zKgvXwAR+#t-GC;1hS(4iu1atk{tAq!*}JE3Kfo0)iKbq2fJwI}p=i%ca)rJ;#9^>U zq8K?j3}_RjnM%QR09IdEr6qFpz4`jU4k2sLx3*kcajW}%#K$tbDj|rBIxBoWLK_d- zqk}{oyjkE1zwn`t8T)sLV_STH4|>FRK9tm4WtP_}$Xo#zkM}Z>5tGod)H}~^wdYo< zIBos@;L5jM4{U_ $cr* z@=idifQ_HEbe#!t6PBZPva;PVUbGd51RYJDy!FyHFWQFl*V_Z_sIY%D819yYar|aT zfm%iz-%C}v+osx!BZMR2sa;3@h8#lHY1=rT8_wAD(*$_69(uYi*=LkP4B3^^CErqr z?AqII9E@dCxN9 tEg;@;o(}UFU-Bs?F7ST^IMM)~3c) zWNZYh2P2_Yjx^^`4bNwe8ISm4GW!1xy6BfH=R3)6*=qY$f|{r=Vqr@z-u*FHMj9Av zC62i9T086rPb8>>-UeMk{l%N0_s}!0ncv%bbs|=w#{UH4SSHLoCpsmZ{pfIkHEN$Z zY0H>#Jlv|VI?t!@b+uhjTV}Vnnpy5b@o+9XW uZ8bVLLcQnw(Z>e+VzQEJfulUqWHd~2NafQm+4{uNuT4k zdMD;E;~vqaN~FX)4bQuTiUr%qFc9}C4cSdkbk?UIAQ@zWX?uAy?Eh~M=b9s+v!`g- zS^|(G3WEQ2$LeJ2Y-;FaZ1F#~1S^>`@c=+b!0kIN7-1BKV^7-0ngnvmWi2|IWB}2o zNL`Dl)QnP*w9-1~;MYr13f(5j>{QTiSDytT5%}<3IP `23mI-*&P_lFe)gPE`+Xt>NLVc$tRw8B1~SzB+v)E zffS;E(^+B6N!0MH<~IT?(hO&m!rl?u37TmRSAQR*|L}ZzfSGJ{a218Z}!q1NGj4*m^|XY|_TEP{*musKK+VVbK4>v#5I zV__pWUlQ3@+F9u1`=yYFoNYZl@%yI=Jir=O99W7GbgZWxSrS>V|CI<*P#U;j3~z5A zu!9vC8=my|c=zB`ozL`|TX~S?)g^aLT~<|6m(r#FEM4^esW>J1d_hY7N%M>hUVj4~ zo3|Vmag0^7+d!FMpK$N`uLUf`9O9FFuR7a{Ugc_PKKTp%oU}ThWS8csCiEDxL6!(e zBMp}*!>>dcyyg4TYXxRFR4XQtv4oE;*KO i#>qTB%8Bq8tmIZ? zwTUo!G$4?M(b#=iC3WzVTnaacQs;4$Ss!(~2C}UwU{CIOz%{iQ(^@#`4U*9?utojC z3`=~+oRCrso9&G&QN=@~l_?Gj8NiX%HMTN^A`~eETqJh#uGX<+BUe)sz4>E$Dq|DP zP1!cXOR&Rlh300`(jEJVa*~&A3}Z_+P#|RT6edtDqlCu(;#9{BKw*eA#PU$)ZgcVB zx_7N&xbLj>a9IXhY+xt4^GBRuh*J2B6KA=KA8jDnUd~HtW}*y)rA8XhT5W`_^srXn zQEO_lu5$& {|%jOeQb=s9lzHaTbGN*4{U)IyGZtkt@ySw$NrJfVgz$XD*+%Q+p z_XI_$D!EAP#G8$uC;A#y>v!Jy8|{+S&V$@aesM$tVwYa_ve$;~Tzt7A=2`~Zy7aG) zY4)3^ae(*|3AHF46XEdWd`m%%q k}TSd72gOwTtWnpRpzBLl*=mF5)L+&!>jB_H=L4xcCABc<7-;a?l B3bQvJD9`{mt)wlGdA zv!!SC>fG4#kPcZLvtd3KNh<8|`w7b0_7`HFf%g5b#xt~dIa}Qdd!z1!=B+xy&ZGVn zoqoxH$1X7ozfnr&mkf!Mvd#}gwraUw3uGO<=GM2=QOQaMk6{JsB~t;pXk}FuS}tHr z!SJWlLf1Q|(Wm~v|EY6p5-8SX0G*@$-wQ*|#)ft-PJjeFfXL_a-}%q~qVdhwBYh~? zR9s5N9dlzx)%F2 cbPfHCI=+i2M%qJVNWMX`ZMRQ z_Qy%#v1y*fLO7dfgf^Is#TdP)LWoh`bKBPUU>?dlZIB@ywmY~4vHvQLIb0wd%fL$$ zL<$7hY-Pv(JXK-LbTRR%)SHWcf6{cX53Hoa2I|4qFx&Na9|$r<_D|F-=9snjeyq3! z)RUlfZm3s6x0k^-|K@JcC)XACiax^8RYesEMSL+=w3WnV_t6y@=n-$|$;_K4$1JEB z{!;4%o7U6p5C}N3!j?mh*0SHJ2c_h#cqeJeNa$JG(hmn++x+owQ_Lv{Q#C9232zlm z#_jvA{pwewDVAjWXZohp=2vrXfcv79E{UWu;Ss^xA0{6cvmeaBKG0aRM(CgquRh%G z8rz_N$&>tiDUp@nw}xlRYeXfLL;3K0>x0s-Mq!(q8Hwic4Nu|y>0Rt&i=OUE1uMjf zZD6|G+TnD13~twi67*CaOtb0+`8)qbh)*FolfX{ia>2TD88WRL(~2mx!N4f@AhlLw zmKx`I>gkN#NVODd#Vfm97&V>2gR=-xGDxY*Cz+PjEE^M$Bo#&vyCLS|9C0sTxrhpQ z>#GNaslviiACZ*$cR@0Seq*#0B8C>-n}rMOVv;LDj (HGHNBGS-xZ$Uf15p6*?J97uz-XLf%dG|6>pOD}; zLPfqIh6huCAt?$7vVe}ifC|(CO4?&m8dc5=@!Eoa*?|{deTnwJIeY0i0f$$&TI?bU zzxNIQ;9kNp{M9ByWUC!L-}h;qdt4uz+Gu1Q2|u`zerQGL5$bgn{d}w9td@;AlJ7^L z0Tpe^65ip}jCnYZ987DKjb}vQ5T$r@1#A=(FO*C+Xa^qC3;TQM0xmW#%>%BI9a+Jq z%j0KOVps2+f^8q=(!tvN>7&=pL_|ha$}DrRuyU>Rqq!3G90_9M0r{8&l0?AS3dvs> z@Q!^4`+!L-EIZJ6*<(;sT|lwmu^@d_FZu!zMEtLGZ`QN;A2V$C1 *cRSLLtFT=lRvKFG6119^MmwqJn#$drGVxXitmrawe4 y=34$D6C4$3AbWkaP%URi1fP`i7{ zKFK0%&DLNSFC@4;k^7w6tz&!hJU<9Fye%)#Na{(nSSr7VNK6tD8z#DQZ0X2-4I9p$ zcvplNw8%~k>^gU>P_j}FIoQaNpp&TknS@=^&>c|~$zw~HSl0Lw&mgi->E^XzIOr-h z5ynDMqCnJ7RMSGU*%CcMPydTxrMJ`&y^+xL;vA@RKBZKTjB+kg{ho-iP$HBz>J}5x zxZgz|GU@PQVLSRk1~iik-KWIJ>sdcec+JT6GL!ntxiF`$WKyP%uSdm9(j>@Xrz-Kz zyBQl&lJ!Yal-j(y7ycMH^$BM3=I sgcj5i= 6!bLGImWFS z z$r&ib8YPrla;6F+)yZBtN8=>aEK&| zM1KI1;tv}l$1?aJFRUUqIID-26Uhe>tey#yBQUQVK}e&Uya-{u`NK cCN}UOW28Z1Uk?mN$IR-Y%)JwGGlS5lqtK|YS#o@ zR9OaX66={+exS}$Mpg@I#RLi^*>c3@*u;ufxf7`LI_306-sH0@L)21U4ke&yfkq_k z*%@(vw#r|5HFGJlZ$?M@x5E|p@t9(kSHhFxTSaV_AWJPAvi0MsADy5j)|lc;3`n}q zVHO8L7TGOv!RSU;94RvIb8&(jLw4{b@JGV|IoFUVQxgPepR0!!brw0De>$&%=6eYF z5B2oSxZ$^H@?dDR*J=}+OuvE?ro2IZWZ@r3 x^fHZsiIUAN@F<8*1vePW{`|{5~9ElRCQ%0yIquuUe#8hLNR03xVHoBpdI852xKa z<1GuL(k*3=Af47))?uX|e{(#?P%5)OF-ki~B4PLgt(D~TsE*II>)DLWk;{Jc$U*O$ zYEHYMt+TJ+iZj`Ce89eKDcE!n3s@j2AGXA_fo8-XFSLn77e!I-hIo)oY^Dyam{CdW zXO2J@9G4QbUE)CHwLGCEUvf!!u6lLmZ`5Cd#$&9(mGY*dDuQAWlV+8E@?w8OR#)%( zNtb?%d0UsghqrqVa8qFDgN4aeS$8>B=FqNdl6M|T-?g#k=wNkECiOL6%o-~8`p;PT zSl~h?7d$cBX-k|^jy!Tkg!MKZ1v=aS8Ksg~ra#v?o>d8cJ;g7nEG#Dtax8^S`d=f? zOGv5Wo4`hv3ORU1qC5sxh>lC;bT~E8;WgLs6xC-n3yN|^Ip zT#90?!W(^%mStYs6I%e+W$kLDUvB&=YH;eYuZ6{-Bp I0^*5;BLPmSOBZa| zHtSWnzB>OOcZh#x*f@u?%sYVOq5kjQ&fWB%Yqt} ni+x~(b&Hq*(`K}>d zNgAZEWod !g3F`hK^eR2YEdSWvL#JsKS6C+vT)d^ns@ z?kAA)=Fq!^Ce1YV8&r()sMk-HRxyzKD5vn!XODzV;xzWD h)(4S7ukm0#VfT1<)(oLZI-X(RK2ea=y7+Rn?(a$7WyeBXYP z{&b(MNj-vTj47IgmFkD0N{q}bae5O9M|!$*FK U5MTo@!@YI-%KY4K7`K+Kf}(hs>00aUV$Ye#;I@ z^YRFQm 2`v-56dRbwzOV%G{JUFE53yo4#ZeGCGCy`Vc#;ZB&Rxvn0#r??+G&W2 z1z~uX!dONwh1V>HUOL%K5ldGLgEobX#+U6=-jEA#qwF5dSuP*m{H2}PFDk Fc~j)+)WhrUYExRO@oGZ z=7|fm$&_)$LaJ||TT)RK^pQF0^f$BUIeitFkCF;iC8^bBfEJOOnAjzD%sV^!Z0X<( zA`l6ADgPPb2mJ=@*${Se5_$uIwP= 8I{8MAwsioD*2=dMoA6bB9M_#vLE1@&k${A>bBfeX!?S~6b zRy*Rt?^*5L oBC&6w?*ZSHQ(z%iJ6!35N8JKr3e~7Jgn8=25UCFJGXmT ztj^$S)sBAFiIv$27^ekOSS#-ue8B~uRjX&`RW+rur|a#m)e%_fMriUo*T58n0->vK zV}(vCqnYgROf8K{WQLBt(l2N(LgsXbZGA%c g;R#CE8Ho(Rj^e)5i5=>*Kr9+eZ9L*D-m&C6BdABde1HTiOY^=h RP0QtH%z+wFfcD~;`)Om&Pcos376Z2Or0(4-TzxLZU2b| zed!edPPPHQ_joe$IYeTOE195hSWE>FZ@DOzkxb-PWaz83_q!5GjBV6PX{zJepc)Q7 z68C?3-N$(@Hs9UzK5z{=y&lDp%@hay_pwOw7OpLHq*xP3$o&_c>`kXgi4 edLm0YVtB&|@jnYf@I@%xlwz52%7 L5oSoJB >jC&<3I+q*q z{Bx<5CF({faJxXNhH76*+%GrYeEvA>;!~aP{>HUB@BRAtuNL?}b@0^3Q>!5XYS8pt zM{t%%q75AjwFpo7fg94@ARjgc=B*|2!FM%~YH*zX!`;VQXb=UKs)97A-#Tmu3BuP_ zFfnONMG8yWx7ID`{RC&ye8QQwj)8qvN#@gg{28j=oJn;GqO4HT{x1UH&F`g^7(o`O ztXd}Ab$R*uglT=1phc3Q5mD8ie~@@vP72^i)Z+9dXXH9J&Pf=Kr^`ocVv}Lg`eA7n ziZZLTE`U<*tz&1QkV}FF1 IE;#S~G1*~AE&>2hgeNj2D;^$Y@GkMb_#gr2~Fgw^N^Npz@%Tw7PjY|`Rsv_9Q z3ULuE0YPTuRikZB?j~BEK<}~MxhTPMxhG6Xg^7IP_AI)LJw6vOo6H~@AaF}E@Q6o$ z73=R#g+z8lQav_fz~Tz*$Ak3e_sN@CemhtX>#N4P1)#zKq?3Et6hM9L9_Yz|CcE^9 zb!kG|$VzVgld1Oylj|TmAxyTVw*FeD` {TW(=Fs=A1AI~ z#k&aNQ#Ia}Tji3gEUpt!HAR7H)wPUqwkJG9YT9fReHe*iX{Fr6B?! g {p*k$?=}|#dUL~*HCD`+jVn&iH@DUivn#IO;^& Cbi 2nNeGEXid(ZcScYORx8 zUp_us8;mrF2r}v~40|j0(}h3WsxVccte^*;QEp(AE>}k08A9dne@H?)T>p}$+wsWs zp50>!6*KQzsPcuiAy(Ke7^tMz)IWxq;mGddu$HVzx242Efz(4 zmvR?B9o;MILr-&J7*Trz->(!KhGoEc)?@* Swo~bwa|$qaKfRH1i#nR6X0$wEI!zTuD!20bqZX z={Z_Q1_LtciB_x#KdE&^Ex=;D JTq9i5Dy1uAE&~@KCpU5 -j9x6s8ct?Rlm0K`YIn)K1*95Y?GC6z-vhN z<_QTCf_S^L+t-U4r$da;&_D0=C9^j!^hbGbe%ZM$5B5nX%Dkeba4`(_OzZ4j#>89R@{qfF3LI^kmGlk|vH@Z7#(Bl#K8 zb=vce>bYP`Q^py8B!P+KB&g(CMvo**QpA1<^;7N)g* pwAW)RZ z3ZafSulV#ubYr#=b d&VHC#T9HMh4)sQI zG|vuc1WP%6tIKifv{tw3!Yh7RImi=*fnOzZPYx4UOm;>Y&$^tli+oEG9EM8O63v!O zaKh3JI%|o5a*Ah4+rznUwde$vaIO4Cv;?^^@kQbh?<0obsS^x?Ri?QNLX#gZ{!`c- zPmF1Ov!Oc|bl&6t=E)WpV)48|hQ*UbCMu6oWJormhH!Kzi4ml3PVCTx#HksfjbW41 z?8rGBy*jpzctbiDoyc@bYS_int$)?Ww~ 8AEz?bit7LD(eWVB3)!rPhOPj zwac`R(N;=>Q?f#^in3$?hn8Pb;%&37;!)D*rb&W&o; !gz_ABmFF_V2* z4s8uo?Sev|I?QzAFl#fr rMIf$&_F%(pV@1ePXa^g~YcB}* z_#PU+N7Zz~v%OVeP*oy$>W(SJ53@!N2l(6~3pH|67j&U`O43$iloxmRQ%>j1Y$ %T)Gte9*hcP{mvUW zY_8h-fOPEYIL1u-XeY-$<-Geza*~VYSC(vY_b%CtgOY9-`$;p(jg@@($wvE?OSte+ zzgf*$bHM8f&eeE}i}cqw5|!tiPWb2L{@hWg3G-5gaf-bpoRWw%eYmXj>gbQJ;&xv& zc`f^n;(1+2>p-r!o4IqDJw30Nwg1Fs0O}=N4t;YyG()XVuah@;D(2Xr*gu}2jk6x& zb nV6Z%mqkgP_;s*zHjUby(iDQf}%l&H$BvMNVp z%cN5my`^=<(7l2E?NZpps}8)7g9)}eqL`QV;sxD*AMXFR{{7=4RY_JA1_1h337EYp z|Nr`DYUgGNIH}kI_Kg7Kuep<{soj5j$$xW&9v9MG@u$<*vc-Pc8JRZ@=mng>QYEHE zD3qiXWj$fMzK~OE{tivS8+F7HzzQ?t&EaxBK6?k?em^>}y42&M&p2kVW0BDVeBii* zm+{f@&_*QhY^r$Y?0@6|L7}nqDf_r<(g2kWjDtn%PJ$@nIOIUhRHQ+4M7WWL-ytdB z#o!4RqB^B10vNrT#c1JZLgv#Q$-l|C@yKJMU5*rpSmJV+hLt=RfWfa0(~L!l*SYx9 z;};z(hd8dRWxjUuJJpL+G7FNpOz6nY(i9WF2&zF>1W1XK9xo1zstMwqF%tG%@EZP- zNG_e9(nm0_`@W$%#t|YRAs?t~fUtW(k=~iIWXVzV%ZfXH_AczEzj;&l|BJ)+FCd%P zr-I}cZLvnf(p1kV-iOOD5qF|S#8ODWcKIVP*$vgW@)Zh(Q-UasWZx-~b kGl(@wD837gn?MzZ4lbw=ifq(0R`J3{Za`Db& zLow3PUBAXWWwUAWEaads!HyR8ty}AB=Ok#5AVqr7Pmbv)n~kJF&J-ZYxBBcSqvIdv zQ_I%yYj0-FeVVO>By=6$l*S;s=|vdPD^HJYFw$Sn@v+fRN?f~wW3jxTDpTp)KVf!% zpiAEQPhmG(Zpxs1R2|b(qJrn_VOu2uC8i30rWVv% JrUpDfrO=sL`V z8`f$h@q u!{$^^&_)L z7ZGZ1ud`dQlH02tN`piE0c-JIctH+yegjDC`mO_w#Ecsjc!^(MSnR&qJi`<&Yu?N* zqjXK@LF55xz&+P;6 `!id$4uc3 zD2cMYOcxBbmh68qcDn4OG$VG;Uz~iy-za&P1x_Zg{=ApxX)@}kwG%xB8FBeeXB2F| zykTmh;$H*!*ZRMnueb@)ZF18K2CL^k%wOGTfDMNwXdHxPW9{!Vq;pFP718L6 go$;sLdKg3+2PcC}HM9#x`GLq4 zQIMllq-gTgkGkUlKfR?%N~@)~JOvwG${%dse&zS|`5jNrgNY^6+9wr}Z3k`Rih`Nw z00C1jMFj!?Lumri7`Jt^C{qH^raYt19I!x@)W}D~|Ime~4)FK6jF|3&aw(P0La~_0 z+z4X%#D$I=Q;-q{GG7#Tk_!FF&1EyoOT34jslHjDNRWtXZZ=2~r(l`G3I!1tHp?Uh ze-8MENJL@^Wq3meCwKru-J*)aqTFfHZ-BzI=(U4Gr}_Z>>_yxICKvq7_FBaPQFEqD zp}^WvBKfPErcA+RC4BU8aX_M$ZcYw6ft(-8)(yp_|A7Ml3vGADBPJXNJkXLIF>jKg z_s^D3zkZ~@x|H@aKD}u9f0On5%02y9Syj 4^V8je-Y2g$Q?*g(bY) zLI6;q8+^co%|d^N)}2EEcU0+=RZl*VRnW-WTUKAb_$Pu4=9w?c`*4{TIM%H+TgpId zIYE45uQe`j(a~woi?>U}$#_aOi0XUMuUH_JpK^Jgse}x~l-CA>qn#t0Vsnrbecq?9 zOLI1xmk5ryGVaZ{*+w9^NwUh5EJ|o!PKlu5>-D}X7PD;sGd&2VgUc(8{}L+o{*)jG zdW0#M9#>9jHz1Xz3?XI8Lk_qD&QVIAexpd{5x)u?jrItP)*u F>dB_Y=or z>&G^~euFMNm`c7|Ut`JG(R#v?YKRi{h2Q_kDN3(kH1NqTz18cVJw8U$c#w$hs4m NlA7I@`x{vaQ@%y+JKm1;e~XDD|M2vxinH z+pYD*(N42JU8_xKBUjce9+2et1%k7+1H-mffL`$Kj_s7*PjH{%Cf2${jrFfGM8D$q zml#E_9(3?Y#;!cfA|9Q;L2zYxr6;|Oq9n*@R!Og4nE-{w4anDY5J^S4u3xtb97-m@ zCMy(lLBvx)ZRg>?{%-e>^LiJZ*o*-r)C?mRkdG#lFqd*yIWha)h6fM7nKfs;5``Xm zgA4-aVW(c27>U*dqw|1L6*f$g3Ixo4{H@qVWp 5Vyx&kcyMjXkS8?TWYr6sd$AB`@F3(-^UBW z8(M3?^o}qki|ti2>nma8S-H$?5Yrf<1tu38#q%3X W3!Unw+t4G~p zHsW40!S{E4$o6O`=3qoPgl`-mG%fHV`;fDqSWSOAo&s~AC&4>?Qr#~14B{7b7d^ek z_?X+g>Dj$Q3OAMi1iOGo29Ha )o0Ku)!~!9K+*6iZ*9t)0M aTIkfYdVRhx$p7@18)-;-XaIS|1`sv=FS|-BS37eXQ+iVm2OGfZ z^8Z|SW|IK_N%YyT^aMwXFif*xg$3p=tD$IAY^czL??ao&tid!LPu$NW)q1|9nivnf z4I&X~BGh5KYu|jm^?zR9 )g?bC g5xnE@6~IO9CHGzZq%gk5SK6)& zvhB R;jGI>VDi+_B_-iO)se5$n9QPAAZa?RUo1BYlQZ{f=6_BFC-2ebNU# zvT-73h~CKl`llqtP~?7JhwK{rZ$sWTo{~8Z`+;rfGQ`H2&cc<{sQ|#A=57Q&FQBxH zI}2G){l;Khk3aYW8BX8bQ?1Ee5>0eaXLv(!)`(BiO|T3cd$HMFPGVdG%pv(`W(7ZU zCRw(NE?XOJArButYI37p4w4M>gA+YnYSC6^FFRt+O>ikx5uwWQJJ{YWz>2~-`>RH$ z=yV(OvFiK`r*Qw~X5$3rxqryCK6o`NR69ft^@sCMAJ=w{IY|t|ywMq@iL_bvd$bXQ z{b-eH)Z}J08)XeUg2zD`Dkz~TaN;?U&HIqAfUHt66e2bHEFu_3kO(<}p!y}YyzICf z+onVhtHL=h0Q)yC?#z3;?%2Xa!?|OS*8+mRJV+UluZ;!i6}b_H{bA=MqezFLbRH4z zMSf7$md~JVI{(B@`OfB{oSA>yHW ~C22ne#u6N+oCRz~36wZ6o z$L3Q}uL%vm`Z}E|XP4jxsCBri&7aY>Ko%E>sRsW ;X(g?Awn|l&R))h&f%=lrQ=m9X&O`$5@9fi?%nxsc zp+X`YW9yIOBK&Lv;Tp o zM%cH)NgEjS@Q35c8$u{Zk|r@dzzbyo60%hqSq`lq$A-;QM^R>K)7a}iBRKcB+ihgv zLGmO9@V7D=)JiqiVxSAOu{4T8voFS!yE;9{9k*!<8BH0+MJYDi0TxQ@su2rzy!i%6 zis~TAF(Jq+d!9#~g0}3jb~xOU$EUp%cuu=@?2x`$^qoPt^ydsHCuoEr!VeDkriFmi z$8wnTG5_sPt~VN8mb~*c^|RaJnpYedfHN%&!x68PCdaA^=`#jC$dba>zBJvBVzK;X zaq!PaWoY926J)8K5-{QWg$~u)5%xlZ^v|n$xyr;AcI*#Gg<<3n(J4E8(xPhTpEk;S zM!~8&4pG%;_13nC{uc>IfIfMXjbSfLcp!O6)30;1UwHSQ)F_ O zMt?<-?R7q8U&gfFX}bmZprbw#lu@ k#oy)C;>M2igrFB#OQcJTGZ4n_ag=x5t})xY9a! z3I|I`Q8! S~mqxb&Ex!>DJsc1e^Ni0Ny4 zd(A4f5)_uTXGtXlh*&Igk=5Rr2hc{2p^>i^kC41L)DKWiW>_f$SjRw{O&H?yOMH1* zaXH&9ihtLlW&yllo;bD3-Xd#F9Go&_J0`>~;pwV9Fzr@Y6A8Ui$qAgJ8Pqgmb9ADi zvL3&*UjdpM?>mot$`$Z+SJ0n@y>MD%MR8w$8pO5Urh9R?n((PQ6%N+gk1K-(yQfq0 zrmvrn;}Aez1~v>+u{+i{6vpOASopcgFVSI6_B$3m2Szfyw+js@5T@iNUqBwl6c=Et zi?`)L
YeD%zHNK`UfW*3vi_W8M6GBcsg6!02ZF~W|lU#|26cxSi0E!pP_&EpCh^- zKtut2jRwOgQfjv>K+KZdx&g$OD$VdVMN~%TpDR!o;0okR_B5R)x#4)-(rO^|CwH>@ zHjXg9{3oM6(CeMUg)V5kagelQ+eiuLaH*iIfl$I}yEHjnf>QUY)t-D+V7qcF7)**{ zn_5+ShbZ`!81(`4aOyyd%Hpn7;&h?|$WVS!K(L`a5OO*TbylE&Lt1c1T96QfkDw+s zB~Su%LQzOiMiUzI4X8$0fzcyj3RDWn`84E6Kn`LdN`$KzD@3&q-(~D;fHB(|Rr&qk z?jlGAF(Dhna}{ XAjIe_<{1#0{Di^)!RjzFe#Z~(ftFB)Z ztq-!4`IWq~We04 U}Y<)(e2VSrWYG0$((OY_CmVxFc^8G6=M;(8KRIciQC`Hv8FLM ?kMAN}{sDtziy}^D=QG^P@J6_EpZc zwY#hhypbXdi=b4TMdpP9N2g5A-$+ K8~_ zn=#yA_-~<`rgw!QN04W>9y$W&!HUVa+?-}ly@r@rI7$Fj$G#dSc08dDDuVqKw=5Xa zqp{kOyc4+*Ls_}B3lauoY((@z;=CxM)SFP^h4iPlaS`QDW7bom`{iMLf6$hc@H*xC z&c`OZctev1Dqjkv^_FAjchhHh 9v=2;B?c{(g~H^j`S>pzrc|?bq{py2|l;8)uCNBqoDPO*ATMl)p)Rt-k%pM z&d)HO_=Jv&9{JR;69jqOr|ju-q^{RnG4v0N)aa$%p$ kYd1=*bagBM z#Z&|1F9 do{f8Utc zvHBPn+>v+ da7sJN4 ze=>j9pX}-I8uw=pz^&?df~uiRt-qTn2jGnYa0^lT3PbKN&-@&FSPmH|UF(s{3Lu)Y zij&CHWN(zx%`Y!V$yj%>l!7T3J4p(Nf8a#oj1YH*g=K-GMuN4n6W!B+wW74C!)(ro z5tyQWxo3EAC4wTRx=@72NexmPY|#=?^CFEqH7M53@@ZAL&cI44b8Rnl6MItkIl3T* z@6`Uarq4kkq3A&;ZR&TbjQlVk^PH?>U`V@vmW&QSX;hTGkIrcP^HN#>VbA{ss(vJ0 z#qA@>`V}q^ LXm3>pdn1CNFy`M7E|@=EH7`OI@92cd@6^A6&f z^Tg&9q!BrILh224Y*3MTl$}(9mXi6HK$xWmPKAMZTltO+22G @O?wJV2xUE)=B)_jX=jFcrvbN9!|&9aI_-Mh8|rd$!rmuV8^SKC_~1)koj zh^q2+Vo|?cC$=D*vjvuU0ysuh3A(C{ikdaefM^Yj4>vnJ`NS^eIumQ!h+|inoMcIW ziYXdg`c_UOSmSekSe=&!6-(SQm5o(NxSo@k64Hi349uzl$dne WDTx&|fsk8pEW zeWhJ!{y&7h<8$SIn=KsMcE{-0Nyq5ewr$(CZFg+jwr#Uxcb?t%{AT8!Ip@? 1&17QbUS=G|%p;RW8+jkI z*!XP>k<+fZwQW!M?i-Dd E~6~ z=Q37*L)CTY5L&F;wy4&YsiG>1uQjf^FsW>`xG ?e;}@?RNjLZEuATX7$$*UYJ3x^ zQTfePzpUZD4lA3;Jdy!OL6(fnMQqKpu#?O%vQEktcQjR4UCZG&1SnGQG~c6Bq0L9Q zWa@Ydb1LoY`CF&=q$Z+st+(-=r5F^hxv{a8$}@fbQe)jrhd(}xU*A6oWnHw_+3;8` z9PJ{{LY1UR`|iTsT2H1Z-9Hyt!87~}CHuA$&$W7;NZX?Ly^U>TF_I&;Y7&K3TWD<+ zl+q1%T)xF{mf(%Z(wvi8P2Pr@&iiUI#;9B8wBEBk!F~A8xPU5%HIIsCrG11-oGCGK z@mk$F2e#} >s8iYa5>aB?}zK zx+wjTPk{-ToXHnfiB$o*dv{CDml$tV8{-Qxwa*;0x)&oQWMY6)x$4A%{ y-O@<$7Xu zt5g4n^!{J2T#io0`qp;NHkJU&>jI#^w*RTb{+nyGwn+$Iv>u;gLe8r800?-Q9(wk_ zY)?ftaeq^k#*(DQ>dH||e(*xB1u-)`&;1J%f2V!n OZK@`$Ln&G?+O} zA<2%-;TVnKSQrV65_)ZRFB6SdagYdo9XSeEw7V59p%-~LixEK%1e5}NG1fpo0hI6n zIZ2~%-jAYD;mOzE2Mpy9l-sF0;=~^bVMrw)%3dFl?omik5Y9Hd_LNQrkPtr(yHC;v zEK?pG$yb9Y42tlE&v*|H`&J1={XV|`gwP?O%elo9`LK26u;1d_+Ee<}Dcwnb>q6@R zbaVbw(wX!}h2|wrP&e(_JRBV1ldfx&!y_QKJ1*#<(aujTqVJg56XHxS?SLvvOb}*X zZ2o`@QXLvCWy$i~W6u}5gWvHYRiTsEpI8Gps?cw)(F=vL=ET$KkN}b^d4 @oVb#k98-GQU<@$I67j17<$TQGJ~D+F zO|SiS(xr{&-1s z0oSTY5iVp}-E+tM`j{@LrvVo-wm!-ia`xI}$}4 zXA$D82b~GwLoDIPmXqvpsSJ~vOQd8Xe2d&a uN(iTtkL9Nz-(#qr58ZW8Tk~ D!6TXC#-FcMs!mELFI~e$k$>U%+T=H8 `LgtZ =G;CK>Q$M?x7RvrPS)?xGA>T5Eyto1 zDNhRJ4;ka;-Qj@;Wjw7eW XRUkS_5)ap3%DK@{d0)g2 zt6qmugm{jAnIBs1;dNR*MPkVRE!Mk)Gk@J-v+8ZtqmGq``_+F >eGxQ>H zW0md$xA3d=_KE=Fb>~jmDC1k4PWd9Vyn&acq|t9Ji+3ICiWIv3*9{D9etE1Tl*mA^ zH1*2K)f)Zs0Xe8e4UnT*1-Z++&yJOUZ=L@O&d+Tx$`Sx@rU7tcfE5eK$=KS?3g9$w z)cOxa!r9=j1HlO(O#H)*|5cLQt!usmd{kh;Y7PN4Ci6?9>As_Uv1@IO*ALK<%$Qau z&HP^-$qZ5^jhU2``&jQ;fGy1KF5i=|8L**5N7MdsJ9xGphoC(p4Mm4I0r3t+mXix! zS`a+)ARE%pZ#V&+`Gavk(a`bYwNPpZ!LcLohW$H_0CmSOoDn9|=plr;KcGpm50xsB zV+%-K<)&eT^)G{PDf;~w1rn&m1Q_-SUB8>)H|yh>SS{my(!-z+JPzkJ _ zV}^3-U&LzLUae;IumVoGatg=e9X6PE8# m+yXef)gr5 aa%I~r?!mS~&-ekX% z{O-^|*`+pG6fLx&@jqw`vPS7878w;Ka}z9?P6rSB9%x~&X$_|uB$4x>S5EZzH0Ev{ zgN|OP#d|*0DYUPcD(VFeV-mMJ%k}_x>T7ib-?;R}kADyo(jOt4db9)k5gaaMutvCl ze=H$k>h2pKNDCXjEs72r)>J@BY`QDmpNsF||1d)d$lWS?n?CMI>tuNx$;{pnC_(mt zeS>Nkup1J^)z(a1TGlLFP{1t&EH76pyp!!^8F`3==*?C(U<;5nOd+9#hPJGKTuXgS z7Ja e0^=`kA|M?1u2oJF(K`tCam(;jI2i%Lsg25 zmvcW3b5vvR BE>l z1A|B23O@c+Y*1m&6sva~z0pvfS+#(k5?ZGLWl1qw#YCpwQ3!ucmBK-x(; DgPB*s4mw?P z_bFv^TF#Hvosd_huJL1)ZK#&{yZQ@McpSPqkv>uJI38&IwE@2I0}I~yaR0>GL9Fkv zfIliy<>^lnzC1Jc^x(K !Jp#165bZuFop%cqWMZPK_yvSC591@k!S+_4B+ihWAFY}A7=kS%@{&+X z?WgzO6ZMgmve_JD^v`^9_;7io@;AmB8G}8##q(aAarCI^>9bAK0e$PHl9kC&UH6qd zwJvJKIEwh^qS+Z*@hv_quCe=6$DF!>;VvIW&uCqHc~Y2}u}hSX!r6s+ta>!OAXVEg zKe;fTqpu|3oRg!sgg61F*k8olq-8`tER-L|I$)UWB@61DE*5i-4t1DCuIJHpJjQiQ z-23@^aU{(AH@TiAe~x5i!`QQWh=WcJLh*Uv)7)#>)F?C|dU}^K?>T5p)I7W92KLWw z@5dW~#3e=Noluf2b?H&hxM8Qj3T2$M6EarMpq#iEVc}p<^it9d4Ee6gGK7g{VL&AE z;qy}fF#PN5-)ctw!f@?-r{px?s&<711cdj0!myLRn>nrFKg;b?YX4DzIire1H=D{4 zL&{|nXE4V`6+kx&Tf4^l5D&;xL6KRATj0CK`_hY#p-|1mTyk_oBa>h&3~(}=(k-Sk z1CfJC+w= $&Fsri^PR9iF%`q?i|1x@`h{vL!* z3hevG5t1!Up&3Gg)=zB|PBLM#*OqjOZjpQ}KaQ}3!5ys9j7?S`Veb(6K20EoAG&z3 z6G;&W77R%|JP7Sj4cdP*iRP$wlC5DqZiaNY%3AR^SHa;_)J`!mvWb&C=Yyw+<8C z $X{Ua?W@Q$eYK*|{9AOce=-$UkNUY)8XO{iH1#au+=d3sx&CA18gkijogU3MG3maaE9 =<6;*RPv;mHxE-+Xv1( z^~S(8_8VBbU8|(f=f#0PkDKgxG2QLLfCPR~@;dJ?%wW|`B_YxC*wN|8@84#c+F~v5 z_l`crG_>E%nrcAfHmTr#;WckJR ^^ zccc^$41Dx;K0GGV$PbN}N4s8368U WwdXTZm3hl`x o%^R*5IX GYeCeCbTc zE;ZZt3*NP4m{o*`IS0-h*5iz0vQZG+rQdb_GWpT*Cbw2k(KP}rDWrtr{bcj!+GLKP zS-8(|P(5Cda;q=4#ByxMq4yh#gf+^rka U+$wmlvunQ2I@otJUQDUopFGOO z%Qhv_ug NZ4Q+$Q1?0Us`(8vm$)m3^j-QR5|cVadoB!6cTTFR8baP+}e0tVo~ z#D(=u3HfvK^A6=C*BlHw4YbNwvSZ;58d3Zb_*liM#Fwi6tQqOH&N&ygP)^Wd00kSM z)ted*v%K$@JqvgHuHW$o3c1_%1?h#aF<`j>EqQD*L;s{1>1u)>9m)_y3$9cfw|%RX zCMm_iOMf~Ut%QG_#*=)>@*_p15RaPAApHZJaQO?$v3X2RjZ8Q?9-WFnZ8;d(#9-;5 zIf?-s9Ig~Qp85L*C@7JX8s5Z4q9tefcuG5Dg7F6Md;F$Y#*_le3|?cXhw)x#N)Uv2 z6k3h2?(lmm-Ebz#aLn%op&&@MkE%x87+7*|$v{L0{VxU04ee9y^-bQJizk=;Rdx8O zk+JOS%3u+ZMVVZDWf*HQorfA+9K+|n%|{Cg(WO-(Cn4u;!KIK5V_66bf*Y6&4Vt)J z$j~V{#*X~uX 5Y&9iIfQ+gt4E6>S$M2<~^`VWrERTcQaGuT!I( zY%Zy^tNe9|TQ@(wSBwUFsI_pYVXEv9=1DS&RTkgCMOnwu@qA);8P4y-OPU2)85|=+ zVJ+-_6E0oznYbo|9Q{ei@l6FU#=@dh<@Yy^jQaEoDgIeM*tsqYXU~r!EQ&EA&*Vj- z7d07^#tECyLC}QUpq2$YE#-kna~NaNraev@I}GT~WnZ1vY0##imHj!w`ygjX+(3Pd zeo5Yi!>_J{VkRz4rXR;c)zIj;F;Dxx-hz2?X&Ghf`qb2i-ZQ%X`-SJ{y-#*mrv}?) z_phy5h<*6pfo}D=E)-w+%1KDlM-Ej*xr|xFid7_PZBX}PxWl!4=8!%W aKFk_sEeWB#rbHOgFWJY=q+dwnv z)GXM0PmVp;mF`Y8gqK<4R8jIUK7#kjr?aYCxoX3m1_P<0>n+q@TTh0J&obJkxmM^O zL8=rhb(*JKE14tKvh0A|>hj1oc7z76!eY3X#m6^b4(AT0q^fegGh&S#&r=W`>ppF1 zT7(2W4CvB18r|7 p$TCeNOw^nQ{bYWi|vLs(S#j;QtVF0k<@O zbfBeg^LLn&*1`DiZSB8LYJfTT8C58s)zlv`N1BOfLpF)k{^0AWM!tRtl;NyD%So3i zTSj|Qi|Cq3Gg8o5?a+FmI2P@WC$rz&_eM>F0_LiiL4u5cbeYl=$VCpag!w_xZxhLX zAhH%9f<;kol*2zKi6>}Lh65k+3Y7t}3U56$2m9jPc((ZbAfcuNn0`=TzXxC8^v{ug z8(z3^1bSV*V1ex0@xPFT!Ua2sccC$&X&E&7%Z%s6wjN#uC2 dW3tC_$zJdtNAN j+pn>+~LTP z_njFGx_={9H*RFNgB8>$5V`HAAi)FL(0S`JjvlNV1HpK8Lb|wDIU0Ng{AXb$5xm9?~_Ia+Z=F zoFRn#qzb<+m9kNm0(6_^3jLoty}dF#y>QI#PcnW;EXX$ M;?3Qq#q2(hChkrAZAbCZbpAo6 zuvw>ir-rX-dt`CPYo^rC75&$K5k4WNXKfT=2((p(8Cr*RToRdcD_V&q-qhUJIMlte zq)~X=G 4a+BN3u)_~|LW5#I|KTAFOV<;$i7cJeh0~|o z${JSFNTKCQ$RSG{XWj;^CGEAS9}PI@dR~YMHW+w9M6zy`q)zXdT~H2@Yg_u0yf>CE z&u>uyt!IIpJM-J*rlprWHv#hn>=MhnZrV{+;nPjz?LRT2Qo0y3vUNcikHb(ZFHmdi zj}e*UDz^FAE~MBAl?OsU?nCFpR6MX~wlE0z%hNNe^ws@;OUFP{S}|V*1+sorQdulj z&BR@`A{S^6tRPkdQcY%^`ZjQ>D|W@J?X@=Urv>C;v1g>$mk#SDP10X2OZDl|ZahH~ z-~2{|WAY!`&G4|m;gnmmBt}0N*(JK$2T88a-(yJmji7hQU6qa-DpvONw5*d;zIKP_ zu>jX{wS@f5^8G77D^e_O=C~? e@wGy*pb=#3J1wGu<5 zMlP5u<{l%ha!7xvj|7l9AndDqy0rVXK3O@esPC!PSfEMWD-yG7gdURwlzvS}oyStz z2I(hH0L*PAHr>-jR6Fx#nheKU;r|Qd{_{ZJwrYi~f#T9)qe(qBPq&<-4C)5@7NS~j zosMmgcEt tEu~7bCVt+MJhW#3NkbaX5N*q z=gfI+0r^Xz9uljg)lo$Vvbp~+YNtL9@pIiS=A>F66Wafxk!68KQPx3*kTDhBw8 zDpZxTiq;;@6gvk>7tI{VB^j#rQ`7w8>~eF(vf~n6&c7Ff{(Z5}Lr!x4EsshD(A57q zVgV3N{{h1P`T~Ruj18Tg%w7INMcq>W9| IiaAjEz54iw?BxScJ?ew8I6#Cf{T)-!abA8LjS}QLnatCtjRNi#YT1VquBly zmroj6*Fv@k3!PUdnvXQLwraU}ua<7?M@*?BflMVaj~Eq5G1^&cM2UIV8D^xOPLiLE zG({dQs4G`0WdVoni7UwLH?qCcXyiqKAo&dM`Bz;9_+q@Li-_-9s7}B;I=Z*VR}v$@ z(ZZw$^H-1!8+Murh1|Z*;*(ecRAb``u9iMzR-;EcNRN7CNBW%JE}XbkXM#QGmhMHk z|1)MF?=AjWOo4lN`JJQYbjF>OfdtFWj=Yc203707)(SFWt~DU#1~x$s5K3|CR(7Kf z2xxkj>5?T1lg|-DR2ue#QM2{=tula};I?CeiskM ysa $2AhW5@3P l2h%lBXl z-6wRtQ{A(~wW{j&-+mv)(E&DGDXaDxg7EA#77-s*A)23|l|b_7$~@ZCb#h9?W%3O8 zxTAU#=wg5Rg@+2z#P^Ms$#^sITL7W)$;weAIGk>LfM_b;$jHz=^8MlGVkBLjBTvhG z-qBq8K;icjn(K$FYq*lW<3fT9+pFod%`+KP2l{Kcm{wH14 ROM01z{6{3du%(pWi%3a0}P0>Hl z`(bCr!-mANB5L}vqE-EJgLybEX!@bat!5AiO7Fi^hZB9*+8$}iYL1qo7WFbek5xCC z(s)SGNJHO%H17e9Isj!1v~f9bDtP5ZXfi!~*Y0Comu4>kV3t=SG4U-s&NQMz1IxYe zPjP$SI#o{VB)ceM z(_e!`K zR}+rILAcppD+Fs*B^MiypC;xv!{y!TGCL^!j?XxK>dITsr0>HPwL%Cmf52NXSM1fE zxY!Lv3Y-hf^yR#*{}@v9&)>(xWq} |MTKk|FQ+lbbfsneIimOmPm^(@F(c3oHdrIQ%kR#FFgJMhQzD2U|=q> z_Bj9IeHSnT+K|gIX~`2tzR~CN-9GWIdwtvD67?Y`&C=pX^gD !O!oivEn#P4JO4L_2s(n(kbdsoLMdflhX*ns5)ArkrfFy?#SQ1>cEp3^3 zJDyeT-Sk%Och!YfB3d!9z+%;}GUvbV{+c7K*KgsCTBVSNMD-v04^D+PvXbaY@m@H! zhb*IxUn}quP+LA)@ejxgu*8tgH-%~+Y>p=lYxK;nz&(;LJb^oicPpS}kP3)J1Y$g7 zpZPfVi5X~);d}ZcUGZjn&$@O -by3-ZuvP&%Q`KP<9iG)@lHugq_d%Ve-uut|P{ z#_d{^R9i^HpTVbO!ODxjOspL(S*)pO7Vfg`SBeoebL(nb `M4}e|8MkGeaB@ z9ZPioUMkkUCCfX`o%(!r$7CH3*zkoR|82~pVthmJ{b&cD169gCfXgRiFb9JANDeA( z+}|41;jYwcKi5?{6%Z}hyk%D&h1S_^hLT4SAm0;CXyGyr2}qEnHJq@&4Y4<#H#oK! zG$R2b)1@vZRgU#g?4j~H&k$3koPdV~f*GPTdbU7sxa_+ mk?Rf|uy> z6}!rHUSSuI>R{u#Nf$kyNzv-+M~i?m z9#elyOroTK)KD-Em^A|DwufGTYPJL z)KN1PjOH&c&K$#_dy->Z>I|^Z;y|lt#uU&pEKWwK<|l=pa0HjmpeZFS(=Zp4Bi2Mw zbZhw9+dp3rQ2T};7H~R7ay(2zC=s*V49AmPOJrJ;W4#M!ISp?5gUjO`LDE&1{tpf> zd23zC<=S3zGffD@1_P(Z*`_zE__5+7^@H>A)t)hfcpmFgvcKVjhBt-UmvQ%%x#TXx z(xFM3qm`uf_P`Z_UFeAL!s!-KUEO(3<}xY)?awRhLeqiY%gVkw+86kF&Raqk*p+HR zt9=x4%h$%+swp8ukvR}~_YrP$%%P<1G`>aN+jX<^Pbh`$ZAceC2s{A~cpJb2K1tMG zH~y_wDV56lXlNBRDVOUxQtDb@H@c$h<8bKB&apalGL6vZeV!`Qees33QoREH-WChB z>~rzx=Y$QHYa_Kwi1%=2;TjvwY?b<4cd=y)mZv5C*Rm}hGg^~ZK`BbS(z^%7wA+uG z8`2-j&gT)krE(OzOY&R&P6`zAG$;&)eDp#jz)+2X1bAiWW;>8Q6}@i%+mJ=>eH~8@ zz+Y(q{{Fw-@P^I~4#qZy?z9HxR#yLd!*8iu|D6;1<1_yW*_d3evbF*A?jT;SxUpqa z{6356{0<3+WoO91O5WC`_{Y JyVKk7HWwL2gnfCG zo-(+s$NPjRO7uV?B>)WOtUN(uLZ}Q8D++3B9687&=nk@p#jj0Pei%u7$ghK?U>6ty zgHlb3(qJR}k @80ZA(nYY9XF3>Se z2;A#yk KB@B+a0u0r`3S3`j2A~lmtKmHgrv 3wa2YIf1HZ}+> s5HN8sl)=1IN)PgRT`!%suWRIQi5kMEsKu6Jp$1@F{a3$sR zwpfN=#XN!LAVA#vr^#i@!1*N5?a};dzEIJ$6l0&IFb9(O%KiM&lf6-1-rEyPNu_{o zbg}kk!DBfC?)9z2f%f_O^GZp*A_|^JSEmMJLi5Tb6{V}A;_>5JV+jQH>(5R==u~}9 zg~kO?%AHH-G?YOa|Bz1M>YN`L9QDC3CL>LMJa3HSG&-dv&W}(A>XKm)P7&Bu4B#l@ zF&Yq_ZVKZmxR+wZrbb$d5Tbm+U+Fx{VFIJ1Qq?LE^51ow$z2p*iq6AS2`AvW;$+YQ z{kS8nSJx;e_I&sGqPc$u@}%^jK9AISwZ6Ys_e G=jCMV|X@J7fS9VUC@ zwJh-3#Cng!z2Tp>l19ZJUMM*x`RDE5 zP=ihlFC28uw|T%X_cADLxtGeiID{-rVO!_25V3gz8<^x+lUF-}{-Rt4s i_m zN)(k7{#klxQR^Nq_^#y(VYi3qPMrQ|ncR8Woe!#D@I&RG3zk8%_mft{=x@nH4X%92 zEg=qdDVh*Wvbt_?u>KZGs!*rp`#DGqtF^s2s5zh&yeT5)a?QAl3puKKaK*9Ul+V)s zlHGmT#Xt82G#=9;XaXPb$)LrgJqJ&v+`Y{l&L(MR1gB~bvg8XE3fZY$7rU*m8EN2I zPu6W}af=J}Reo=ZzkA?k0WSP{OIJ@oP=OL~ZfYZ!6jY{<^QO&$Z8!iQ=2!4_S& zlrYH)_?n~{sC(70T${0(obz#F@0o-&94ShZnR5x_{@*>A5pT%PG^Zb1_qIs0_s9ex z)vod*SaaMmV)8vRGz|C&v#L}0!(-BBoNPETwKOW6*-50`z~xj6oJ4U7PYLSNMBUMz ziyKUI2a@C>4Lw0u#_t0#X>eazo4EQ8gI(KMyNIaC{kHjB$H=p*tFJMrA2XE`_uwi* zgK8T)(r3pi#??LaE-Y#VTmWo$py7h!_q(d JWOJ{pv=VIu8`b3x+SePHuh4Y{kktIS{j?ymZK&XU9V zrYH#z3AX=lEm!|AT`OZ#fLLm13)m3RH~bH|^a`-t1_*og?!Z29LHV3cYz{j7ahi~8 z3=0JUe`Bcp1W6JT|5w<{SR?*M=dNg+O`OW1ib|Xj8wn2o=l18d8@Gb4PB+v;Q=XeW zIt`XMvM2t%AT(OVP(3;ZC56bxTv%W soRL8I>o&R{S%3_%-TEpGx_ zOQr*AsHJRI85r0XG<5-Lh> Z@*-Q5N4G zU=1V@hy7Nw_+SE^;Z&sAsv9eC($5t)vQ8)E6#@oZ5c?GelTj*p f!vs5h7L8nb9)l!GKeTFZg_6V| +}p=&AcJ`!~C%y><=| z)t7_)dS!+osOWD{T@$Zr*Jt;K=1)M>kZuCvtjLuyBe}^+EVmC_2xI4A!JM77Bv!h? z)xGQ<5-0;c`Jo%lE*a2znAXq+cZ~g4daWraWc}8_H^(p4DUW9>_U4+ei>-xf#wC`y za^)EUkMx`inUnUYg 4XA(;U3gl?AHE55i&jg|=Ow|;HlIo- zK7muELTDyPEJoS c-_40;*@C6uMSXy6xs{Z%&<}V%{ -I%xz5nMg6YSfZ%`5U{|>5JEIk+$FYAu+pkznX9pWPYR91$$&QbaEk>