Signed in as {user.profile?.handle ?? user.did}
- -{:else} - -{/if} -``` - -`@foxui/core` also exports `Avatar`, `Input`, and other UI primitives you can use. - -### `src/routes/user/+page.svelte` (basic only) - -Only if the user chose `basic`. Create this file: - -```svelte - - -Signed in as {user.profile?.handle ?? user.did}
- - {:else} -Signed in as {user.did}
- -{:else} - -{/if} -``` - -### Write operations - -```ts -import { putRecord, deleteRecord, uploadBlob, createTID } from '$lib/atproto'; - -await putRecord({ - collection: 'your.collection.name', - rkey: createTID(), - record: { text: 'hello', createdAt: new Date().toISOString() } -}); - -await deleteRecord({ collection: 'your.collection.name', rkey: 'some-key' }); - -const blob = await uploadBlob({ blob: file }); -// For images, returns: { $type: 'blob', ref: { $link: string }, mimeType: string, size: number, aspectRatio: { width, height } } -// aspectRatio is auto-detected for image/* blobs, or you can pass it explicitly: -// await uploadBlob({ blob: file, aspectRatio: { width: 2000, height: 1144 } }) - -// Store the blob reference in a record -await putRecord({ - collection: 'your.collection.name', - rkey: createTID(), - record: { image: blob, createdAt: new Date().toISOString() } -}); -``` - -### Displaying blobs - -```ts -import { getBlobURL, getCDNImageBlobUrl } from '$lib/atproto'; - -// Option 1: Direct PDS URL (works for any blob type) -const url = await getBlobURL({ did: 'did:plc:...', blob: record.image }); - -// Option 2: Bluesky CDN URL (faster, cached, image-only, returns WebP thumbnails) -const cdnUrl = getCDNImageBlobUrl({ did: 'did:plc:...', blob: record.image }); -``` - -### Image compression helper - -The `image-helper.ts` module provides utilities for working with image blobs: - -```ts -import { compressImage, checkAndUploadImage, getImageFromRecord } from '$lib/atproto/image-helper'; - -// Compress an image before uploading (default: max 900KB, max 2048px dimension, outputs WebP) -const { blob: compressedBlob, aspectRatio } = await compressImage(file); -const uploaded = await uploadBlob({ blob: compressedBlob }); - -// Or use checkAndUploadImage to handle compression + upload in one step -// Works with File objects, string URLs (with an image proxy), or already-uploaded blob refs -const record = { image: someFileOrUrl }; -await checkAndUploadImage(record, 'image', '/api/image-proxy?url='); - -// Get a display URL from a record's blob field (handles blob refs, object URLs, and strings) -const displayUrl = getImageFromRecord(record, did, 'image'); -``` - -### Read operations (no auth needed) - -```ts -import { listRecords, getRecord, getDetailedProfile } from '$lib/atproto'; - -const records = await listRecords({ did: 'did:plc:...', collection: 'your.collection.name' }); -const profile = await getDetailedProfile({ did: 'did:plc:...' }); -``` diff --git a/examples/sveltekit-cloudflare-workers/GETTING_STARTED.md b/examples/sveltekit-cloudflare-workers/GETTING_STARTED.md deleted file mode 100644 index 7795216..0000000 --- a/examples/sveltekit-cloudflare-workers/GETTING_STARTED.md +++ /dev/null @@ -1,125 +0,0 @@ -# Getting Started - -## Prerequisites - -- [Node.js](https://nodejs.org/) v18+ -- [pnpm](https://pnpm.io/) -- A [Cloudflare account](https://dash.cloudflare.com/sign-up) (for production) - -## Local Development - -```sh -pnpm install -pnpm dev -``` - -That's it. In dev mode the app uses a loopback OAuth client — no keys, no Cloudflare setup, no secrets. It binds to `127.0.0.1` on the port defined in `src/lib/atproto/port.ts` (required for AT Protocol loopback OAuth). - -Open the URL shown in the terminal and log in with any Bluesky handle. - -## Configure your app - -Edit `src/lib/atproto/settings.ts` to set the collections your app reads/writes: - -```ts -export const permissions = { - collections: ['xyz.statusphere.status'], - rpc: {}, - blobs: [] -} as const; -``` - -The OAuth scope is auto-generated from this config. - -## Deploy to Production - -### 1. Create KV namespaces - -Prefix namespace names with your project name (the `name` field in `wrangler.jsonc`) so they're easy to identify when you have multiple projects on the same Cloudflare account: - -```sh -npx wrangler kv namespace createSigned in as {user.profile?.handle ?? user.did}
- -{:else} - -{/if} -``` - -### Option B: Simple inline login - -```svelte - - -{#if user.isLoggedIn} -Signed in as {user.did}
- -{:else} - -{/if} -``` - -### Write operations - -```ts -import { putRecord, deleteRecord, uploadBlob } from '$lib/atproto'; - -await putRecord({ - collection: 'your.collection.name', - rkey: 'some-key', - record: { text: 'hello', createdAt: new Date().toISOString() } -}); - -await deleteRecord({ collection: 'your.collection.name', rkey: 'some-key' }); - -const blob = await uploadBlob({ blob: file }); -``` - -### Read operations (no auth needed) - -```ts -import { listRecords, getRecord, getDetailedProfile } from '$lib/atproto'; - -const records = await listRecords({ did: 'did:plc:...', collection: 'your.collection.name' }); -const profile = await getDetailedProfile({ did: 'did:plc:...' }); -``` - -### Server load functions - -```ts -export const load = async ({ locals }) => { - if (!locals.client || !locals.did) return { data: null }; - - const response = await locals.client.get('com.atproto.repo.listRecords', { - params: { repo: locals.did, collection: 'your.collection.name' } - }); - - return { data: response.data }; -}; -``` - -## Dev with tunnel (optional) - -To test the confidential client flow locally: - -1. `pnpm env:setup-dev` -2. Add tunnel URL to `.env`: `OAUTH_PUBLIC_URL=https://your-tunnel.trycloudflare.com` -3. `pnpm tunnel` -4. `pnpm dev` - -Without `OAUTH_PUBLIC_URL`, dev mode uses a loopback public client (no keys needed). diff --git a/examples/sveltekit-cloudflare-workers/screenshot.png b/examples/sveltekit-cloudflare-workers/screenshot.png deleted file mode 100644 index 17218a0562824b839fa19029623f84a3bb83d88e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226348 zcmeAS@N?(olHy`uVBq!ia0y~y;FMutVEw_t#=yXEZS8a=1_l;t``_@eki`QrKRSyw9Gn`FORzj!0pv&`v%cjh}q z-O#nsNNKe_bofw;xBm;#wieDr{i-ta)xy2vvAfxhZ^%zsUAv}1d}Z;QyfvGzJ+u#T zo5rSIv+VJEV`jg+$1Td9_L54ixx1@c-hN$HR_ASdYklLf;*U8ttVuQTH70f<_J<0Z zCGU6d3w-nOO3}+rr}-ZBWX|2Pb=Iq{!zZ6SPU2c`q$S4l^uPj**SlWqmbti$Z|n4o zrwkjajVuo3d;a??e!FsMYVmwFi$Cht-=nr!@;_L^eBpP-X|sm($9vy1tg%~G@hzxA z{YcV%CX1`hhYyDPOPyaW|N3imMV{(Ch8s0|( zGy?;JMQVg+ny)W|76StV2Loe!CIbrt0|O%i1A`O;2rw;Rf{Ad-EMSJQS$}{ejo#bc zWMFV$@N{tusbG9_m%Sn+^wxoo=88)KmS{OTP3{W{Kj`-U#(^%@kT)-0-MZG*@M4#i zScm|3gu@iRuBHVgqKqpqtyb{R_u|z3`Odm-^4zl1K53I?p8RjafB#PPE!*ei?|q)# zuC!HGTwJp=M^UkXfr&$bFd-t*Xn*^jetlWhk^^U^ceaHuxFC77`zvq$^e=71nV=wW zmPvEAnAf3?i;MPzZO)KWOYRP0Wa?Y=<(PpEi+}?IBSAu85|ieBU9}e)lMWQ#F=uoy ztSO!;MU?Xu5>y>7Oq|M>n#RN;GxOwxe&XCL!ob+n$92G$@3RP}1(&hLT_S^Pqng8o zz%_R_{*l#ZbpQGK{8d3>yvNYELO|h#hE|@l4^LCW;u$-9d4vcD3Mkw<_AofQPc-jq z*A^%c;V++PNkoi-lq3o%ywLEOP J1r zRJ3@e8gVH_U=_%7r;esuGxa_Cyw6CRV6p@|M_~;Ui)`yu<7L*$4>XqL%Qw4&g$WX$ z{2CT4-m|&ynYLho$l3DtjYKA~Ku{8!a(6 S$OeaxH|4!L_2au9 zO1j*?ApGsGTy3+Fq@cFU%mWj8iOUxX33>;-+@F~_PW`jhKgjLtv?~kus#xz_krJ9O z6!Q7c3ZDakbt{T}i3~YD77nXZcYS@LEIcpWd!yEBcBZ^^%9gBYbJhh!Z#utj>h3<} zJF|4JD)IPyC#I-UXmGIM-mo_+qul)G=X8~?d#zO;o~T>T7v%Q!qgDSg;V_G?W4jN{ zAgaV+Xp|62Si1N@Uf8Mj@1CFTJY 70%GCar6{5pujU*A$5GmNy!L5-Jg{ zGXw?Pxx9pjC)ayF{F$t)Ek4ie#3q~l+?*Dt-di8|N?cBAv=F?oVDY5KzmJ{FIb`2^ z#J5`|^^x~BS@B!nR;&EmcWYZ*U8uqXjr~t{>Jgdf+nJ8mN%&ouc)r%xVu!a-eYB!x z^6%eMX3SU9os|(c n4pRMGtv zB;+T zZ+ !la+PaiINF1%^;(hIlb zpOiH7CBD?3GgriFamB`c58q7KM_iI&WDzLfR>_an>vZSyNSizD-I^WMzTmXICr;>l zKL6`GCJ!`rr&OLiwL UGZ&6M)#efOKgdC@KOgGc3IW4GHNU3Z8bQT`$tN(1kEV; z)1jjK&r8T$e`4_Stzw>j+)HO~*sl0M $~K*Pge6_EuuM~j+(zoUC+^fa$q2c%UMUzcP^IBxSg z@yB~o-4CZt=QXq=L#5bmTJ5>YX~DH#eJ_zkA4deo5$6kmhZ<#ro;=l7QT)8&sL$c} zDHG +Xj0LI06>|)Y6Ii?c8pL?@ zy_YWf{U<9T qBq-0l^{@8#nsg6MB9o@W6|N(f zyxd!-`S-6%P~N+;wJusq^YFi!%fFjz`mYyzbTsSQ8qLXS^~y)PL_fcJ_ U0;^jNXB1TU$7*4d9R$g zo%)T8=jY~H8r=6g`Ty^SBDTYf#CqWbQ{etf7dw4Cql_${{B+%wc A@$UhQr@yVHw-WBkH0T7BlYyOXEMb^R>2Aax0x==luX%CS{d?K zZH|T7O8GCRCL6lt9tga+$TjuKjgLiTtz3E?`OEz#w#!!qcumom$h^7w`noyEe2{=3 z-1td~SJ>aw*JX3hfy=+vUFCI&!;vGh+04(}gVPqC?N)iYe50Uz&=ocr+dnUogI0&> ziXZ5CzkhP|yIsMXHgA5))8DXot~IAc*AL-Cti)N_Xd`yw^8#gMHPwd~@;oJP`*WR_ zkSf^5S^ti6hJ5bKlaGIUA6n-tC>s{SCNothGAM8F+p_CN!gb>HwwLX9^_&0Cy6Vl9 zlav25d;Yku=uSjU3Rdz_dBSo>cTUbpQv;8;PXF^%TWMzdUj^Y!em|eOCc8aqlnwea zb6L=njck)XC9dBeZo_3T|4xss7IR 7mMz=$%=AI%W3{R!w$=Z{b<3{JOs|?! zKx~02;LlVkSu!Pd*`{v2hc6U0w-mL>CzoBizfq@-HE`C%ih_2LdG>BW?f2A=%B|2^ z*_=1oN&C-p(NiB5>pjpo%3<=V@_FpKooixuhm}~Hp5Idb{y$USsVTazBaavon_TB` zK8d{$Sk@QwsPC)g@psK{jQ{g_6wN<=EBn%<^{TlKcqd(3KUF0!X3FY^?y(0h<{k^n zQuUfr;G6Y8di`(Tyr=8;KYMa@b-4ZW8O+3%CqG0ASY>-Ftrku8zOmnS`Tv&3|DspT zU3W)exy>|wuH4_DU3;#0f+GKu$s)Z6D{^<2tvi{LntF0d{=RRsZ|tl6opN@T>AFAL z-roK_b#fz-b(26n)6r-BlO|2%va+i668ax8yLsB&D4XXuYA4i&iJsJoK3OaEdA+9c z{3%Cty`5&cUtyIAJ#nJIH|6iI(xO*aRyItYWnSK={eP0T-qb5swltKUa3QwL(Qou% zl~v7))8SO_dzz3sef6~BH ^uZcTj2Sn $2zBd8WbJa_+s+s( @|9B;1>eB09tjg!7%#U>SGv9TmR%-Kl^>uY&n@(TnsQhzLwBXDC z)zU9>!qyw{Tbwe=`%=7jeyQ)SijR*zeOqu)k@ Xg>Ni}L`y<4-ttc>NZD`h z5VYz0&f_;bwdKECbniVpSv*c#-P&%#>PC=P)1LkRcF5b)aDSoI !2fk!dKvfaQ>2$&?+%bLGPhJ=|MY`L1V8SLsui)z){G8-87N(Czs9 z8uRPPeXAN4@2&p!#Ak)i%uSZZ)7bm%e|5aMzyEw_&3D`Hr*gM{H(BjvM{EX_;d)~A z;>8tD`>99HdjI)kW9%1m-F=f+dPSP+-;W<(|7ume;h`=S%jjPH-K(r@+iSKtmCt5w zGk?@CYrW*SuKDSclk4yQ_^1EReO}cs$=hWiM8~Rp;~f^+)af4In?0fo4(gxRR<`u* zE3ZGRtsUj>H@|qFOzo#^%bN?sZ?s8-GP+x>zPdVWr&{=aM`!oRG22R3+I(8iUi|7? z)r0w;4qoV2*<15-jt$Y3&!cFCD+?B1Hl20i{^`em&M*IPs52 zHZQWBn^U_S)Lp!m=oWk6;u*>NyVY*2tF89*)_#<+Nm$)yLiVmWRd#-vf~)UutemX# zC$)2r;RoH7)$exp{kq___4SpBZM@Q!>-=4bEw^3>a;U!0*nQ<@(XTz%>Lz>0)~r^^ zi+nYG{*J`PB{iQmi0n0Y4m$Sbqjvwco;91b+G{;HC7+)D$(GsrSLtBMjV&)*jmi$W zgio%1zt4N$ygySPKa-RceL7iCc}d#YsJPs3Z*D3VKR+{V>9H)2)#2-=m}ZCVKK1&F zZTPDzYqfi&Os9FzHl4gF_4KY!@AoZU?lbdKZ@By%qDzIg0}r|LCp2IGd;DWUsp;Y^ zjIn=Sr7stmdZxPl)XS<|7e4t3R}%R>E`7?Z`?|>T@rP(>m#!%suLTzCJ@803&pv0f zGHmZIo!Ctg>vpUuz977BX*K`LuLqceHYP1ya679xfqAaeE{ z?(g;K%tFTF#jEnPJ^v)HRgt?PxWOjM*#GLj5F`270^c5rg1b(M?@g!6zPrCaUT^oG zB2WGJxPLb`I@kRzbq%o9i{IzdR`;WEjmfRK7KKhFPZwXg65?K~6TL0u*VoE(fw5Y| z_6b~;JA8Vtt@`nN?4-(d8?7cbm;AC(UXgKG$@9+UqwBXlQ%(8zbh`XoNp&k*mB>)3 zmf9JCI}c4f_i6Xc%}c`8-YR->LhxnL(bQvR8QDdqKiztzy{oD!H6vFonW7VU>gx4_ z&FoJe{A2#~ GSASMyl<9{r>Ez-&_2D_R~)~+xhY&Bw)4c> z%kL|9eqOgb*0x8+&}rU}@5wt~^ezK8g@_<7stJT#xcD-7lFhRDD)r_nx0VTBsW7VE zqquz5eW4KP |Id7H}qSr==q`uT=o=DkHrMfBrhqPAq|US3|S-OevxW@Uc6N`K#% z_?>&7%dV@c|MzqGox1GulV{Fs$#rKXHYeT? |EjCw3cUKjR7a- @{kiJCVYB&-Ym@R)C8^2Ri{{eXFb_+b8~wCp8TBaW>4-Ow5*gN zwh$DNX*^sSb^2ves_Md!T`BT6RBsl$b (hVR;fraqx(C~m)Ek+MsJz&P1ed|_cz%kIX5@GQ@Wm=mbPq7+*Yq?da+8U zr|Fgcy}coEZ@8=~^Mwgxs?S>s1ON;CaRcEtO|T>t*wJ0;cg(w_4wm5;o4-rM&! z 1T{BfHN$ds8yit!U9@=AvKn;kT~z z_!Qn@k#TKnk0WlNlaYn1$ze%TpWn6}pw`RPIUkM~dj3k?r1JO2PL;Luvg6KcScdLz zp7Y{@_ol4aoJjpktt>LGQ8WG#YkZQE!W~EV$n>zOi}&sq)+}n<{8Rd%d#Cj^&qMcg zC++xc?rAYq^X5rcmDM%AmTMi|D)*Gmy19VU!f3LhJdthP1qV1~?CTEQh|@K`{`s7r zpK(*~zUgm1nHJp*-%>h3B9}SIhKRBoqU6bR2QRNpOO`Hs^6Jyg*5Ic%_PZTV-7xWx z%2TiQV-O`oWTzuD9lTE6XLLVq)X#2fe3$9%jm3{uR^R&RxV?8O8;i`*Q*)E%5NlYa znt<1Zz_MGCZW}IEoLqHD;ry|g^5RMlH0-bJByz^3!Ql!wi*U)5*ez3JY9DEzwA&qa z<-GQGW|apT+ncr!IgcXH5zVOX=pK3W^r?;N`=`ArdVXYW^YbGd7N4#>kRURq7#QUl zd96;J6FX^BcW1ea%4(OL` y1aXEk|oV(-yeeNS)f->+40(9J5JsV}6lh3I_B z+-SmU<>gm)^^9KhMaS+RtDO!6{<#~RMyv?}j*VNkgn0UTPCNAZxXTBvi?>Y~-7i+> zOGpx1pG@IevTT{x#izlGN=hcmiZQxR{JON9*ye(TsK&0cZ6c8-c7EyUcDhV`XL2=& z9Wit`5TbBUL-Xs;$E {xS3L*BJdvMKFcbe6~v~RhKAzC3O*~P2Pb|OI}kY)$iT=V!+j(h6zF~Oj9SFb zX(|ZJaj;>N6)X_BW9*Pibo@36b!-PkRnxA&A#Q{N0TM9^6^#{KR!R>ve*E_5Cf+Ks zj_F{l_I)*hm_vkp3MP#e93ZQ UE2t&X zp^Z%H54fzPe)k*!Cw$g-g{g;#P5Bp<0<_qg`#3DRrY&zTB%&4qD-rQ%jNrCXda%O5 zZkdl1k*Qc=7E6-mi;jlH8C69R+{6|_jiMb>L2 s)*i-iNeB_ArloabCOR%SEk|czQ_LO+XHL$1tEaoJ(LU7o^<&q4_V;6sI zG0-D2X)v JLKOCc66_;O;w$50ET4=)kt9(aAwlHadIJNK)&nl9S-&&qB?}Zx zdHy6ufXF1l(D;F4%B&myUC# F~FijNfZ~^I>xHJ4q7qQwLLO5EiK`Cp+j OM?RG47Sw2(y>GE`Y< zY_pE&0AXOds5W6++O`x`@rlBr{~u;#u*g^@EfOL+DSy=BZ%lmA zn!&gk6cSC#mJmBz&%ng$tPlWl9_! Z*tki~ENJ!|(R7U0=hsAzDYa$HK zFKRgc`PsRta@+5`2{p@pXQLUvZ%_EV_nz~gSDhADcK?-D+{eJA$o1vrb^p9wKgCX8 z+piO)VP5(=4P+xmr$J#oOT rXduP%7fWK~twquU-oI@*2v+C{GPxuw&3=3984GqYP ?#_Oa zR *)%$`qTy$~o8)5Qq#NitNW`SktylW=9QnF4r5ger zi<9@EtALgqvlz5xTA#TgH?xaWC*-WjF{(Tjaxr}Kl4#AlH$R)*+>y9AQuGt3^*H^& zg7Wr=x_Jk1b%
}%p?^SRJ6g+7> zsEF>KjcNhAN-}RNzQ4OWd{%r>XG(hd^D9>uDB~&?1-clbSG6v3lScRSB9{dbA0KT~ zmb9+g624(#F0&RSt}s{Gh%vFqL_P>Wcd5e`ZV|67|Lfm|uZxj Bq7ve7$1quCl3IqFNp|jn9kR%~DrY4gF{JXZf4kyZyhtxu-kZJb#j5 z^05<*e}B&{dAVxxgb4}J*Na!n-9Gg{Uh&RfH7WZ&+q3RQWnEdL`Fu`sU&xw>z*Ey~ zy^W0fPxi^ypSZSm|H)&$(odfMv_JXGclKO9W1X)y&u2YQaB$F{H6g;o=Jrl@p{`Ps z+dG~=ee(6KWAl>K)z_AV-j}uUVB7z>FSD{ve2Q*#m|o^JpH-o&^+H#N8QxnhS#(TN z^~sBi%A1Ox>)qT}JNvceT$98}Z|?8c-`_6%;g_g(*raZ~eG#jq-fuh=y2|6{r cH7+_JvWtRo8?WZEPmdR_f#~C>&u(p-$dV3A6$1n;dgQWbNT1<^~Fsx zm9}PGE1LPj_V3^CxtmfxCe8eR+5gjN{q84MRtCR&wX I`;ir-`QrTKBb<1I^DH PYbo7VMs+gUdmMot>eaWHL)c5o59((?(?B=G*%{g~AIHsMMp{VXR=R=OvmBI~t zzvjdj-z^Q=o)>%l`Chx{*5z-fC^oa5K5u`X|JAL7A={*v?_Qs<=JTVQWkz}T4ci~@ zm0tP&d|o=nD0hcDBU9g_kL!%op{ZS?fT^@ce&f8iccZ1uvQ#oNU1iSxKe>GV#Ms?s zC% gYn=Q2;fDStrL)bJJ$=_CKJUHy;Woa~`M36cdwDw?G!K-!_jdJ{ z2{$*VM_yZ9 VN$EZFFo#`}_VQ^S;*fn^q(onjZfvt$J>D{nb?=-%f3|`dM>D zBeUwEYgp)${6tX7?TtUjFh~^sdv+{PsC4X4AfA7x`^1UQ*dDwysEbj$Q69n;#DP zmUVx2#K$g|{FVIYnC^bdwey1YFQj*h_5I0dvHAVwvgKE$(ttG)hLz85-n(?_M|9D( z$aKqHXKKIS*FWATYudDJ+KFuDxKh@9%ghz$U+wChowK?u=epmuwb9ydZ*8AEJ-*i0 zYnsl>>&y0il(FKp(8|ln{{BI^|J2s&@%mQR9Zr7VTmR!j;!K0OIeR|-dR_G4K%;|i z(bVhrf81VoetGDn^HV>+y0UH6Bdy;lKR7b4?b(^Sx3c)TSATTgwl#}e_v^%pUAVP* z;pO+jOM4c)YL~BcS@-Hv=odK_udA!Wzn{9ce<62|!~DklJ(48{&hLI-s~~Gt_Tkm} z? {9vy>yzAYuAbFe4Z)aWN-au{e5*+>}^p7xs?sdf8Sg=AFzAL{Dr*dtgmyd zv(AY!)t~=%Pu+XBU%xkNYO$ghghx6X{_c8RXcV}t5!Purve@C}rPP!k>B>)EYX llVby}0){tbE)3)$7=vsFdz|Q>1>i=+%~tn_ACrym6@K zxjfbJ%%p!eEJ}ZsfBJjo<~sS_vrWBBTkUU0u)eza{MU(BrLUi^+x?y|L^Y@KXgB*m zMyn~@7C+bj-+Dh{Bj-_tX}4l(&u-n6_13EL@!7^{2i+Q _sH|Q%)F{+k*5 Z>{vBOls!)rd|IvU9e-Z zquMU6&dUkP&Vadi$OTNt!1vs %i{Ky ze}46Q^G#bN^hvA63c-SJ`wtyGoimdiR+9_3Gwu3%xZnQ2&h(h7%ysEgCrwiN`|Er8 z-v!buHv8NEJaX}rO6hr9^MKC{mA{ gVpSI6`#x8s0VYM%B z&?N`1*pr&;>m|O(dha;5k#l;=yI&U-7Be1urMhzE%AKz~>SM0&bL*AVUYVJ>^Og3D zV^wQCC##>{ySJ*7jq8cpOPMdl&zct=PWo3Hwmz;_`NHRD_k;TT(xe;~-)6G=vcCSO z*wMQ?|K-j!EuUxe {M^o}WnbU-t(#^1yj@;~ef> Dtdjwiuue^2ePJLab}*e zW>VhKjOit>9am4S|ML6%A6D+z#*DJsn^UtNoc!TA`N_QB?>4WN3falFF>)=7cu2Zq z$iBaQ^FWIPtg{SDUxidYefpnmjr7~|WqJ2@SN{BKsh~F#Bj-(IV014mF`mf GIsq?a@LR7zfWSoya=Hd$Ej6cPWydY{S4k>H_}rCcxzRsQa)@1!-;!+j^7)e;ox;U`fBt^3UvAnf)2t&( zjf)MlH(dN8Y3vgIk}LfZ!^Obl<6Zw`&*WD9xajW0x8(9${`wy;)mKIs)_h(apy>SU z-;dxM_ll*~>@I&F7riX)?Ci*EFE4CdoVqhTarwFFmGgedZqK=SOaHui^5 !v%BS-vR6glv%S5$fAO(hZ==^& zGp&Ck!F|4L#rwN^{{4INA}s)Y$f{97OyPk>TfUq#bQ-a-N&Cag4#A!OHs1E}-=22) z?c|!vA0E#CmBwoGJ}qbFW0lgKzoKqu?V3Al-MS~UOH`LWkFQV+*Y^7H?WLW+etewW zzbiLm?&dCfDLVVb4(Y>ozdTljtd*L0Fhk*jyI`H$SN0$0-FpkSTn*Bgd?k0QoxG{l zlx08frJeXK-y*Z*k!6MHzXyjG&WkK8{nPoeTq{U>PsWC~N7nB<_4R&3Ky&MtU&{L> zM8B9V^UK@7mep&(RA0P%(Tv|w+~PU~^0W4tW!yNi#fRIf S{@L;G&l@hJz}vsj1S+7;#3FO_WN(TTR3M;$rQ|CEZ&zo^ ztIFqd>+H+={ypM8dFs@ry*b@ty1B12TGf2@Hmu#A_crR{)u}d<|9Pypmw1`IBxtgl z?^Cw+#^8xk&KiG{gu9}C+ `rhMfcS;g(etYZKe0bN^;04`R zSA}}ZRlfP?;2Jo4dGzVImCt4-O2=D-XL8 a z0)t1-7aw=ixpBg_ZC?2u#s3!nYrbdt?0Hq4c x-o`<>GEEtyxH z-tG8nHq#<;&*BA&fA#Ok*Z#R5w@oT%OU}!n^?MxDr>+j!_}6iROQ%rKu9BG!XZL<` ztNS+d`p$Vg6@N?JbGNSRt33JW=(@^!+n?Hz+w %*Gam2YM| z&y47cuY7BI{I85 w|vv1`3KTF}cyv$d4ce>klXH)LF%U4@UT#c4{GJiS~mVW8# zY?B$Mv|gs4Y~y|Xch#P6$E1VS#aQmIS Nk`At=;*m>vT+gKGW6St?AYmWY&E8^!oSat1~p5(WcxKuCY!^s%7et zhsC8v2Gh%@Z@0g?v88ZwOl4)dW!0AqzVpv~XS;6KeEI*+XQT9c{6SkXF3#EHz<#!8 zt!rG}$=xY8E-d_1mi+o{z?b7zck5D5na5X~f3w*A>sGeSIVSn64Hup(?`7`$vj5Th zOJ83d;H@b#J@De=aXI1p@|R0XS3Fd9>&o*^o%)46_;2B>mFn|1ta`TNP3ynEPu4c( zKe=N6xJSsS`re*7#haUt%h!hNn{9V?^^b~%1$`0QKF*5inQwFbedT5O+qKJ=F Y%R^qPAu~&+3x0DT ;9is zRhm<@sNQ>f?rpVQPp5@uU0$}fN80+>dav$jy3J960rxNG-rhQSW$>~eUzbKtyQ%uu z=c8}dvoHDk_t`J2wf3D?_lh%IV99R%*qt8XA(zvS>AigZ;qLc4%J295-4+|_{#2@C zXUa$YO{K5H!UNK(sw!88@82hQWbc{4>eXKF>n+ZF``xoGe7c 1W0|-3Osm>m z>D#=yceBIJ0=Qq;+QYNohPS8U?^*M`buYfHPDy#e-yFv1KG!;4ZpF;-dtIWZ|AsYP zkmvb&+-LWfYX=%XJ$v04e&fc^ hE*`wdcf5G9N|1DUaLl$Q-WV zzhSlV&r*?xJ*U_2x%5%A?$<~5mwA77tUoCCZprGky?=6AVoE-$emeQ#VITA5J8x~{ zZJRw!?QcJ}n)lVF-}Hykl=BMb?dHf_Um1P9EN@qr@9k@AUF`d7C!c%U82A0;@%eny zpXo;Z5c@s%dj182>x}MIXV1yr+RfzjNAJPJg^t#KVZSe4owaM0jlNXJw+r_FHE(ar zn;dtHD?V(c*VR?)ME`z!e?L9+?6#bHcPxu8pWPmD?Q+5b2S)d~R^{7r#8(6~_c61| zY|Xi<6;Qf 55E`ML=XJfzL ze)geY^noph9_|fGqk8T;wDm(fWUSr`a&B(wQ~PtA@4tMZt@OI+?P1^E+ WQGbymUryvB^_Mp|K8 zRttsvWaj^OIk1+OgGVIi$;}^auh&hD-Cb6h#%gm-cXr<1x7!+0FHVWvT_)>(_~L;@ zv-9^{)V^_I^FlV|*z&Wc+iu5HZtGn7Sj~6#ExzxY1(liDq$|zdl)kr}w|v?0=kvnP zZ#m=H$i`sFX?AJf8>W^meQf7S_rFxL-QvR>S9{d#fT#72_y2zD{w@r%$a@oUJL~JK ztNanqo7BF2zr6k7Pqq7uQl^{Y6a#-t8fR_EFE9Gbd-u;Lrqn%uuSGL9_ueTjeSK=% z+UVK)% +kbs{;IfhUm}_}9Pi&;$CmW*Cf~EY z(!BTQ`{oN^c9%CWXv-Y^a5nh`ta0>#<=flhZKn?YmaogmSy?voMV4mT%e2S)@7eD@ zbTjSfGDc7Nx)1wea@NEpO)Xiy{L<3X61O>i_HVEHDm7`=tgNedL^})<|5&WIx;6jq zG=p0YCf3_Nxq9x6OMS(a1$?`6qu%ZOZuj%~-@Rvcb$0!U*j~BpdogJ1-tlRsSywi! zsh+yADSW0;s?O^Qv2$~N?yWH?nUNmmaeNnR|Ku;vUa#NXB=qK$-Pa?+MWNHzP1CNP zQ+Q0W>@G{_y^WLqW~uG!I^oQ3!QE8x=;QGi?W;F M>iPAE`?g}g^yB@d)AN;Mce;c-ZTeju zxX9(jd&b&n>v#Pra&NS^+V@S?>KEVT_kT7&RMz?bt;+1h_2-t7zb+o17g=|FdVFE) zo*Vxw_y0*SGU4!J&RIL}VNch;)l#oawb}%(MC|)>bKQB}uU~zpt`7NV^VRyA=#HBG z=1Z0@xBhke|MmEKOD?l(|4K{E)E#}KE_^-{?Eka(vS%Ax`s-Cr6Fqiy-Ee5Xz1R2O zD{ptbjo)(Ef8XnEdw+gnh1d&WSnUrjs2l%)dJOyDGhBzZ 4F=exyDn#b4c%J2EU??so}zRbgIUl;vv^4*+vuH=jIhp%_@CMY(u|1MqM$Xe!E zFZ1>9!cB8G-tCROB)_8csp#^T!jIeIb~h}3b#=A%TfO_Qj_&d`Pd1&g$hEues{eNO zqFJXT?K9eyADlSJW%27@sZ_+`)#hvB_s3;jTa#%edN(Pce!~5o#mh5gm$Q0$dIs&O zD7^jZ^|f`Sds?r~xw$!(kwr=*ed@V&0S8xE+&?`lu43V0! ~OfRV*4|CY+utm}LMkLE6owvH`+Te_}(SL@|zXQQ7?j~6@H^M3#I%Hroy zdC#BRo&101zm6Nra-;t<_0QpxwPxe7$hx>`sr%Xk?ee_RufhX%2Bq$|xzF?0vG~}U zoBM9=w9*gVRkH5ZbJygYPfj=gNx90f_`dA_cW_Dd`(4giQEUE{yopGQXzDHT30)OZ zYO>|!<>l6^p0C?da8T*xg^kU>O&+X{6-YhcRykwlyts20ui8l)-U+l_yX0VccG&v9 znYq%k{$~ _R_zUE59{!PcaQc_P%nL25y*RH0ja~6wRM2ws6&&g|k@?lcl)obgc zpHEMp_VCMJ!$-!?8}+MnSBJK5v59%#`+nc=b4Cw5)?eKgTP^wXCWmdwQtkD7F4eyH z{%i3@(}c^*#67pZy87po$>XBr)B5Kd7Kg39&9dhCOv|6A*W38V9-pdx`~TbPUCC~@ z*ROf{E~a^MY4lCw^EQ{~iheLPum7Jec`#+7$J0}mzjbcy`&+*A+pBebZ35lr%M9Mf znmd`))R* >-7Y>*j=kyd|L&!| z?b^Q&{QJA ) zO`Vzh{ZVvacsW Jr+srQF6y7xO8&JaKbN_0OKsK9Pn$mX+ppPmYP(VF&!c*CtxCPbbYn8YwL> z{djYDbKWD{m#cKlOLhmY+xaePWz<)h>t5!+zANm%e2CTFTF$9-@&T#)e24y;d;GpG zdY~-l{=4dx3(g(ylhfVhIwSN_Xr~QxpPtD!Aro(5b)SN@=TgK9N*pIIi}Rgrx;?(s zZ~OmGzEicrKb`$#ef>SJw0X{#)7wu)Y%7^5n2;)KA^YlnJ@2P$Zy$a#E`4{wv83Bw zT~loS+k|_&^O`e${CgwEy&hT*!J83Bx*Z;D-S{}Q3?ASD9nOvG_svPkVSHQ@%4W>; zSO0tI)J2W?`*pLg Y(+mBY%^-7t_Ts__I Eo^P9dhPuBdtc2L zMr=$H;yvib_4D)j#{c(NoYu)aOStB6-QYC$@oV#LZ_C~KclTTAKVer>&b@oE>tpiq znY@uT%&k%;IVn-$++}ZXsqX4sl3(=c``Z;~zYE^C`q-oNVK!y`O@Dg7%)9JMYb{ zou@Oec3jmCKKAof&&D4)?4R$ID!U*4p8h?e!WF%X7{|h4(KX%rq>TV16)$k$j7iU# zEO_pJm7Sqs;H>Q#ikJ7#*UaBzdEsLJLF4qA{Oo&gmr3t^Rr0cG>-EY7llkx0+Xrl$ zq8F={P`AW*@zeIg)s;!fODCJB?#k+(ye0d(pZe8LOZ|>^iRP}KJ$J6`m8^_g59Rs7 zbyqzq@HW5g=(fO#Gr3!Tw}{t;!{1`oMJ1ar`=e9;=41WoKds$MIyYYO-BQ;lXFu=d z3=L)F!-aPX!gZprRlU|wyGbgNBZN$)@~)rpf>X)_=cV>+f8V zDIB@2#Pi1U`q1m^jEc|2+?MaSFKct-+pV*+%)hU?{N)h$-gCA7M#jde-`+&-ySeW3 zkt2WZ*Qq}^ut-68_MiQn%QyQy|F2MF$;7Ls^mMJmwkP!oPAX}4mgmQVb~J9&zUBJp z*2GuA&HhQYzH^PP7IC$5i%;w6+0Wd(ZpWtX%)6DJpFNq9duxZ`^BdnEe9~TDk~&o* z(5WOle6>m9pC1iJYjjvsHlDqb`(s}HL)P0>QHpZ&a@~bZwOkK>PhXzAR1P{s3$JZ9 zDhT}k-yNx=VeAGg@D!MsW*+bJyuNzfq`2?*l%o&t@eN+;H8thMarx-Js;{d;L8CFJ ztwgm_I@T2}SXuG$(W2Y0BbLfPJ8P_aZ-4#%%t%N518V>0H~31MTS~d?EPC1Z>Z$wE z`}P0te%rJwsQ0&RZuHOp+7;_&C0$j!vG&%QUtHxk7do@&?$*i55f#fhwIX5fEAI_| zU7i2luKG45I{&>SuQTUsiARa1t2iH@-R@AFyfyd!xzZbV)Dv#Ru3ImB-2a5-T+{5Z za~t0uTsl4O)v2tjyL$5{Uat%bn|8+RW%~brwQ;4)b44_hWY37K@V#mLHoW&zA?vMY zx&ieUXOw@|y?ZoI+gi5V#^(0HAJ4ykf1Ys6D;5?SuspRW_QCu3`bD) -gSJ~^o>Tp&3xi_Jl`C0a|$+ F*O%X0p589SQ2OeM=6RjVj~^ZFnmsL2 z^v&&b`416WG6GlYF-^O=E?PaIPAA>&*Nw-Hyz$}NZg0 t+vmPy7i~_ zxARV(wKa=%&$E-0)l+Y7T56g4_*l=x>UVq1pWpes;Faa`9e%U7e~5c~VRN6{Yq8uk z?KN-j{A|xJ-TzrhanJWlm(PEDecW96O78BO-zV1>|E>OVQGNc2pS@CDZ2mKsR#a>| z`z&qh{Q39iuRZ39v8Q9Bio=0Gox8fn;7b`JIMzgO5Bv4y-Q3{Cfsc<}+Lmj5G55@> z(Diz|mU?b@xv>7P_q?h{oR`zy^GT&h7A)c29aFni`@xFh=cj#sUu;r#@9PMi&@uTx zQ~ldnrk|d@ULP5!F2|jGciDI2^DL#&`~JSGUKzN!EpxV~u==UP{I(fUax0sJ)%`rY zyt-1qPdCd}TfgT|{AsIst)OKyx3->b4l?SOpB`zPUS-Dlv*PeC-o9ILH OE~%H z=%W93JnL<)$mi$3D4V=dD#*8d+tcj3#pk!`Twi;q?ESsBzX~s{Nm}gI8|(V~s`dFb zUE25cGLmLD=RP+1us}gAXVK$z@}^DCnEt+aXSqv??|$_=v-kVHH(ptlyZ2Y{Yq7H_ z-5Z@e@+M!_J$q|gu5`$Oi$9;w&$l*-HC4S*61TUikEu^cSlG8& 0^WEW^`qE8IGycup z8ZBwCU;We5C7sh4-KD0KFWnfsI&zkEdSCp-U!|{I?zcBy5)Ch#*wZE1*j4oDSdZM? z;y2YFZil7M&%GX3-n{3}rTUuL>^Awh`A^9rfS9>Th~=% zT)FAawav>jZDS)}F6!2wxMhpdveGRFvaC&Yujj7+wg1N=xmjwlk&EN@{@RpuwCJ+c zK2|HUSjGc7FZov<%#lyM=D*@6XJ>29Y_SmO=ovQaHe_AZ+WF*?x9<8?jGlL^?`R#i z|9fQ9Jh4}+WYca-Rhr# YaPv&^y*YWnD&&jWjmUpw@c@j$P|28b3AK8-Q m2;OLPvKWAj&Ht}BN@7&v0-9ZOHeA)HCZe{THbxX686n`g7SA5U6 zjmP2=_a3W+hNq=`vQ{ZSn-`m1dpqsR{B?4PQ`w|G=ilAb8aj2(CT{&*5q7`-e4g{! zfnC}xXTrDKD0Zz=llPoDHZ7`b<$_x`c0MWn`TITZMqZ0chJSybRDZfz@UW`3_UWPy zDFx6vv&iS`_y61U_V^~|`G;O!-Zyn!c>LqZuWMH&U;2LYYV4VC$HMIuKSk4{*Y`?& zZQbp8?sZtZ_H2{vdw0wjR&5cqS$Vs*bymq$rN52w%?H*@TDQog ! ztk$d(Je#`o^bPiv@9x(hxG3_=_Wz#6Rh5yM&wAcJ?b2R5|M%>?ovv*Aezv{1Z@PPl zwvw+=Q`y=ux62L(W?enE@%5>~opta2{QGToz53Xii8r-6e#u4TvV{Fw_VHM`@a6`a z)o=B;%JaV3>SbO2uB6vo`LNXt-{#r!H7^t^vmZFDeix(76kG3Xe%k8Yq3!qUPS;A9 zuHUt4iS>#Y=B;hKvRdVLDwn_g5fmK!^s#^Y>95z>{?+uir{CsMl-h3}-8_rE$-AnB2UiME9d-;Y-bWK-k+s3Mi zlb6_M-CC*@y4q|0zS_5|JU>1 *_y9DA^*mT ziF>|$Iz4Urzmg;AN#E~X=PT)6+uzRn`L%bm^qZzlTPCtO^h(;_Gig}lc-YP8@(%N` zdv)Uc6E;>|J;ku|Uu4$jpDO~FUBB$$E}Nfs{Bix$Kj$sQ5=w3F2b%tKPrkiBaPR!r z+0r*2-_DPl!(a7V_V($FfLr3p$E 9##c+ztwzb% zP-Xo5ztwtL+QA4|1T``#865v{@s8fhZwZgpe73AvW^XaK^jhS!(k%sdcWvEPy5&&I zM`4+(#;d=q+jzBo@|T0Z-&?L!+kWp}uv^ccn3B-R4lBK{uTDLv-<=!YeJP>+VDp>$ z1ilj9-8QjXotU-W1kK)->%y$|CdlUIjkBh+PN$!p^E9L4YOn5;XZkTuzCYgaPvPIc z_QNSBe#=|EN cf%KLvD3Ovw!IomaOuYK7K z_KX)|)$u)Y%DZ;;=U+;g+i&+bBya!X<@tdjb6($fQNR84>Z(xhXMauZmxwyX#s=K~ zFK&{VWW9bn+rGqT^&4Et$NM-zk*w4G_H5YtDA}O-$;WQ=r@m;H-@zpOR&T+<_WZq{ z`*`Z!*J_6D+7ez``~UBc&rI&oHd)T }nlHW=@eA7j{5Sibf8zS*x6O3i zQdet^X6V9Buepe@#@|I1#>^+<{R*!a8lro#OX *gkHpL2emsdwG) z+|5($t({+)uh5U(RWdbdYxeDL3q|+MwYnO(H}P11BmbYz^S7-IV|kVH|6lE<#KXTF zTrWoN z;JM%Kyyxw*w@V5h9@@6}+JWxv?7Wk%->(TSIjVj4liPnw-|Fx0MDNNO-g#-SzwZIp zox)4&*`zZsOten$m><47_qfgPt5 IGpLTs?U0v+erQPB4Zg#GdC<(p3Ze4v^ zY0+f+I~*;QUq05~Ugz<6Ut8YfrMGuHP180nkKg!dSKZ&LiwWAhmo%DrhyT$!JzaP5 z+uQZ!tPWRJh2GwJcWUhIKYIV)d+VP(y?$Sob U&=K<3r;0`!=_`StB1#ckO=i cT;9G*sqf$A zC5}@27~N;d` vyovw!ed>Dr@HPK|T}F``G93i2b1ZxBDXg}msU~V$ z&eI(;*{-)tvXlEZQ73xWku59N-Fa&A;KY{62BH}OSF_jeQ}VaJZS7-wEZ)4i_iAe1 z%X^0}9x-8XVGe2H4Jy1+$)epWY3sEs?(Wr#_Y-B^s(yZ2SHF-u>_2` Q%oP{@nNFZ@Dmef {FBAlv6sCT8Q}^9x)9Gt7Z%&)*dGE8$ z>pMH2-zh#{`~Hk?O1 8S-KKOm# z^@WL#+n#6lf3M&FX48$_?fGt8bHue?z8A9pb8%zgJ^5GX=b7%W**1IEzo5Uri-VK5 z_A@Xtv2X||I5dD6Qzkd4UOn|PPf{BytRQTW_T$5y99!Am!Wy&5?%t=qUXQ&z>Dks? z{e3G^y`7dSTu@|}54rM5YpZ(Z(PJN!`Op78eKoA)=8FmGn @IaqU{;ZeUbC)kZweY6?o!|)@luz$|zejla{4%e5!FxV^Iz91F|I(m;->&aJ zrar&sQr_X2R;6CMzlL(j_R85>#br2lED&XO^MNr@QanX0a|;K5ZHvFZzGSqxZ69 zUBBP$-R@euf9Bb^sq2?)NS)QWLiOpn9JUon-m{i|u>Sq-_QU#b@#SYtKmJJW7qeb7 zDXaVf a&X8@ zJsfM~1`Rg{*~TqBmp&--y}uB@>+iQU_qSLW6uNG^6ELfCxvJ{lNB`>o|6ZWl{^XY3 zbk@?k;$!QhYxX7imt4y~*R%WmuH84Dt<5V>+g1|lUGEtEBIR?p@50wQUw?h^zHRb4 z+ ihF2#Q)e9QS_0@cAomL{b{Z37A_pRmW@v|J) zEv>(<@lEBt-DjW4o7u&xYtpyRHpvY7^J2zBS6*dZ+wc9W*XLa+tNW2-zH7x!Yp<{G z&!6qRUIz^;a2gX(2;gI4a(`Mdy=Nj+;DW=0bJp*BocI6V%Qy4oi}2-hrNrY)0-KG+ z>Sot@POX!?G3nF%+j;q(pR02J|C+x42^06xf7$=4*v&tyon7$ZdAEL_{r{DzoApdD z#~!@ uVw1tyzk9x>{hMj=>FeFN(wDzCoV^yk?T7fQ)^qdI z?%jAR9j||7P3)`7Z=4RB-7&bQVX)cL+ke`+#KpYk9VW_NhN`UF&;5HFdDJ9#oA0l6 zZ?~VnclO%$B}!)>d_Ehy|KhU^C#U}3p%mm$P^Z1v{+|Wko&VOkT&+u<|1vMTr QvQ@YtEvY}?W!%voog`~O(}@$H*Il~3b>B7Uv2ey{b)=+dNh>1G>q z;&;|>`y5-N`R}jg{feuCu)GXPtqhGp;sO?0U#(MWpt-y;jpb62Ms&`$%q8^`@5`lL zSrNGLaoO#oOQ*+Ndi8GIu1}}LWPdO3*2@U|-PSw5>eI;^DL347`K(OesPCTxVw(CeMp?pJkZbp1Zws^}0Xqvzhyh)6eyoR7XUK ztz2r%vQ*&7MR(b&j~)wMX_x<}Uv@9Cz2g7hZ_%@KTQ`>7EBq~CpBK~p-gQ@f=Co;( z{jF9WJwEL; i@6yWn5h{ z_x;}Qac}nB&fEC@UiJ2!>yz%rRb{3G`UW%TuukEcT7R#|d!gFaul}|_OWu}wo5x96 z8hw9WTFvt9(xr*NQ=dKm_ioNKzQrlG!vFO eBu|;m!lBoIpeA(gG zD}V13`TsAbyk;AE@xjR e`h^5xB1L8TI$&SCqKAD z@vrwcXFfX(Zs}a<#cq4&{cm8}dOfz<_u|495vGj(c#Y-pKi+RS{B7gYwAn}3{{NG{ zCFR&+kx!nRjg~(Cen0>IqT|MykCreAU0jsl!X=lp|Lyf#surQ;33C&JzyI0xoa0W- z<=&kIAzVC5&qsS7O4U^P{JZ#EU+MLKUVnbaZx?gDb#MOpl1m~JB5S8E{J48_y>uqq z>}gX>oCB@uu1;;=lKE}J?fl>6Is4CEo9I+^lx14b?3C?4)n;F@yS;CQ&CUlGx?|n+ zVy{=dUL$L7{cgviX48I~KLt4(-dXKr2$%BUN)!!VCRVXceDjv;M|5n$ax~Shm{ndn zvghtnd;g%0&;8HmiZ6EWKX= l- YdiBvFZas}(=O@ncyIi{5;O@2P965cP|1oFZReq{^E?X{A zI`4XX_0|<-FVD|OYS#O|>+5{iuQy{BfB8Q5OZogSlDpr{%8oLL4*FGN^Y=>d&eV_B z{+^2ZctluvmbLHVzmxZC{Fyn^EH`WM 5XV&;0{UfVx`+HyYgGSf?k;Ruzs+(Ky zsr-9$UikgHLBD?&Z#H*eh1R5y3RXa)u(8XL`B&)l9}>Lq%69=PllGb&PH%R-&f9qA zK;y l{eH9g&Gd!yj~$n f-M5_a2+ie0h0UeYR?Pmd_ju!?^mtUoAdg-=B4L!l|3fLd9d6*mbx4 zc(n1P+U#Q!6rGcPKAqm**v$5{&hXCa@bx+~K6;udpJ%_BWApy#+U<9wGN*M0=`^$R z_w}~r&Z#{f)^YH(t~fKh-sI|YB`+_j+WmTQI40rA+wJ#GrSVlSd12t^y>4^%^>q`| zo<-F5UQNERAhr1X_L4upZ|WGHPxqeJTk+>(8UF`Ssr$EHuaS=b`>M^bWNK*9`FW9> z)1U6!tZ(z*DbL2={%cC0<4ULJn%94o%r`sjWO`bEzY~wd1^e$h(z9E0=hb{#nX_!) z^4oh{Vl{X2$nNr5v;E+&o#zieI9R+-{^ifRo5RoNgsu7bvGQB`$HzC*zu0fTe{InM zAI;cg%|6vy_Um!gZ_m{Jd~^Qa!HfIr|NlrjC2nZV{h($B>z4b~-|tpvSL-dc|J}{` za_S?~vTrk v)tSo(}KCY8AMokbX#Wh^2(NAc@k|_0q*1B*Z zJdDO75djOW cH(n2TLvvnW>Lsjnkkd7Jf~0 zRTK)Ycz*EnhNgGy-h tLuY8t#mZi;MPTAM=3<;MKHXG7C$e73aN7l=Og0=aj__2LdhcnI@|d z A7fc!PjfPX#(WSRwO%mZ30S2Sc6qLWQw$v0qbp6j2fXR70U4q_6z! z45EBlGO6J};Arwjj^ai?p%Ib19j+J2Y(YtZ3-+>{v;P0*M&a_gpUcYs*M2`P*#1`` zUwSHzM4jL$C}0s4@NUa%6+{3o@N8^kW_R75cX!sB)i*6OE*zNUyB?PTjp7@Y++zAK z$birfP4w6@#)1k)V;Rx>rK+&9#zD4maT|ZX?e}}j&&@kF+uzPmsqgnmf2r^(Kjwid z+1&Cwk}tRJ42q4Fy>I{ILB;E{+h=7b*~7GB q zS5`xz;7a3;T||{S2KzZVWX|T7U-^o+2!{Ga;DrNY<6^!eS50vS08-#L{`7TtkWsgL z@w#@5a6(cBGs=OTtK{v0eWkuIxeJ_3&TVUC?%%2XE@4rSptJKz(8eE+y50NbY?CiN z>HK)}#`#B=4U-?uEx*?%owq~rSna>ci^^+OtXOe<+oDY!Z>q|C4nGc3zk2oR*I!!S z&bmqScCX!jQ;m)1g}k@k&XlrTZ )VGvnfwr%NXWV)DV3|$Tw^yRl`Fjd^ZdXi> zNS|Ap)Tuh{%(2g&dw##${qfi9^~aU@ZDsQJ{dBumyuJKspY>Z2>AW3*I@|vg?R+1T zI$h83*<}Amf4|@Fo*rLixo+>XS1VSn%6fnK*r%I6_wBlPY~!T~iZ{P;-P}3-WbOIm zeX_#;f8YPV>HQDukH=PAf4r~yefH&_+;>;Eeb4-?yRGAG`3=Re*wU>LIUA2Azq+Ei z^LO#9llyx%CLb4jyWw5c>!Y`B+QwxrotpIF!P7
RhyB<7Zd?BM*aCG}(rq;3TC?rftB>82{klr8#hO=r zeHB}hKR@MQNA lc$ZrAO$ zcy!|7#$Qs|BDMcSntt5>Z`X1Ae{J-f;&1ufY (2kT7T&J(U zespAVo#g%B|GvL|oBbp0%W?VRYKP6TcI>|ST|cdHeye!gj+?(i3U94ke&p%&xLMnM zeV^*Z|96uyt*PLNtbF?7*47>M( jPe z$92u`i#-4L@4I2$ogK68#$m7f7c{eW{YZZ)Yr}LG-tgEGrEvDc=l<2}`fk79VQh9U z<+507? &X <+`_3}NR_4gQr#pZ5Zbl7d>{gSoLn tF)t2!+N~+|5w{gI9oP_N#||sv~y{- zRXIn5cQQmS+z@D0zCG`5(s9}H9(MUU74zbd?BkQ2+}8J1Df`(yy|U=Ao9XlWX}5D9 zztj0r^1b%^^E6iNGM>ygtzPq8f4Tf;WPa4Q`(374PRNS>FP6JL_=_L^tQ_Cf%x}5m z#fHFF=B@88ZGJuT`MiGnzdzUep0fyh@#htepnuB5 q z{Pvo&k3EgI&8hnJvhcF*|D59Zw-*o2t9~n6ez!WGN7ib~*}F>vJZ1$x-=w`Rqd5L^ zG<)^iz5aJTt*<}&NqfzOXWrh%4`b>d`+l4}U+(&|eOXo({||L5owW<~*|F-`j9J&8 zPK(wP|Kzz@d26`m{hjP`RT|Mrc^}2fXCAW7oVJXa-)hIv )ebz^u`|V~$=WX1( z&fgw;1$bdg!-2rddf#Bpd9Nr1R{6Z$kNd*@Pujn;JGy-D*GH?e*JZA&n)l{@`u@L< z)@(kX7yM(v%Er8%Ps0i?&i{WY Aw_F%SNbA8`W4?`er$7?1om40k4=ee_XgF>Bq+3D3|e5gaweDjK%L+0xD4}DPC zfKN=;Z})ibW|99C`$F;l|GMRWHvQXUA9vxMv9#%)bIN^Is}7&P_+ie{Z~wy6=Ll;4 zxHR$Unaxr5)j?9x>*My`&aIHH`?`8!-L0TYlQQ0hUMkAJ{eDC3y?5X4mEVu3Z|429 zEz>)dOLpnaGncZ{r*!N6D_$Zw$7&U5@I&w4>3Hi^)qi1$1>En2I?ExUQT)Y?`$jq+ z_AtQ2-|ByOJpa#@6@JV8<_gvC`|-%)4g3A>+->)a_I oBRL# zSbqF!wt4lpH&yR%e@eTxWo0j4eD&PY )djCK7X_Rc;N5%<1d%b72~)4l(AvQJabn%}oMw`%jQo42ypO4@Ex2=etj zZM$~!yIrRFvupl-x$M7r!Kv#~SAFMLY`nP7cHdt2#kIa~cl=(r`*F*BS@Fkq|M$dw zHM^ZB{e0f{ AwbTo*sLF6+<7J;m9-qf;jC`}jb)|H{7nyvNJ!{}qaT z*|9tB>laDmS9|rhn*aU%T|evFs@Zva6fb?fs++%WW|RE?zAbO=O%0EaEhw8ax9pas zIM?di?%CUdJ6>;emp{v-ZhkyEf1hOYv{ )U`fMK039{g=_uQDZyPl!AqatILIz1@c;LHcGLD}ahE4$?zeqD=f|;iyRY89 ze`WT3x$>AhALrkmy=oJD91<-a6%-1tu-UZ3vW1oNg7Wu=ynW|Zozj2Z+WV@{n6>oV zk7wqO&sD!$xqJ7;ZwDNkU%j1eR+_bB{w$-~Ut4CKO^Z)YH=gJ-!(idfU%N!5^CBuv zuFhV!Ps`8dVau-et9kd!-|yXc+q|r^`d#&c2Stg0H(l_(JBdm6Xy4{{h4DV~uB>|e z>YL&E?bl=T|28f6X`J=A{?;F#sDArz88HR_einW)JpSbEYwhgybGPrCaSGHR(Yx7W zAz$;MF88x|T!o!@O;p9h$B*sH?}|3F=|)FS&rkl(%$M=)^W^tCc9ot?`yN}~J5f1) z&E3CuHlIHxTEE|>jW1Sp-QIt{B1$$M&3ZlSw#Vj >yvij*V5}xd1XuA-ZK4m_q}!D)v5n8HqB2eU-tgO z2jzYpiFcAV6$Ltbzg%M7?fc!r(mZsT|9m-nn_n+}JowB1=)}Xrv$KMB=l>K9>oA!d zT `Qzc9+@RF^`)awj&5V}@bre|jb#>>5XT02N|NrG8 zjV(1X8|Pnt#x`Xd>z^pGeJiESR^2vhow)68)oTgkG@rY7&*tUtd>VH4nrQIEb>B}M z=3gsrwyHYjSKQk@kNH?*v-% C=8!|NpDsoN-pRz-61r z0w>hO2``Ja6WSJk`+7wh*1&OQwfnv1 WgL?zd5DTeGKVv-|$f-)^%y8@zmAa{G)}bl%Mz`;|&(Uu{}2ZOfI= zg_EXzw))Qh{OCseUx}N2FBipCr=EWBG iVblT;-jz@U;vUN@DS2HK1F?xCbda4bY(r7aO-#NGZrfU4=n7f;9=GgO| zUf3>suONK!_r-3#T_&eP3{}r^e0yvA{gn0Tix(C;E1%slMJGD=oYm)^AK&-q>At$~ zw*1D%gx#zE6{g-x55LRjXZv${;mOqL*Y94<`2G6kro#Ppf48{(ehcYRL7NTG@M&OZ zyvD7wV}EAm-kHkq1f(`0O~`X$g9zV=@JmKc{x*M0{yhJ7`| 3oFyRDZjlD*q}^pLH$$|0US}sC51wLG9<9YnJwDX=x>`-FmHS`MjD hwQb6K2n1 )oc*%-)T-5DGVxK zX0ft|MP)9HNSoQX@kx;P5ut8 #yZ=Zrx;HaA5FsaSRbl z4bHoMci!XLw^zfvxz;W%{`UI1{w1M^m+60geEgUu_Da$)$>mP@dE1YNxX*8YzCr41 z>3iFs=|Wi*2kP^7>(*7g*~nXNUS(hKU_pgel$?c^_nBUqpGk}V&ARpR-R}2Kr-gbu z&Z}9P-aoH*m3UOeL$}{j?<{`oZa)%N{q}A_`R4b*3>yO?3y)5X61A9Rkmz*LSXp;} z&BMYag>jWvueP>DueXc8p<${ca$(K&ndaETD_}~)fxti?DcDrAm-~Z7-1 NdiCv&kB0865;>E&s+UWXzuSK6 zc)RVk9jF8L;_mM6HWsh{)OMM8U;BG=je+&Mh>FbByM!{+X7QTcG5Bu$=f&dU)3 Vb>ZaK>vnHDap0oSTB+MJ43ncu?rg~nR<3;? z6~)z>9#sFb`r^IRrBlOlLZ`pq_qpuiabC$yL4mp5oF1ZA1LwMBnyu`&`?KMk+-&Tg zz980kYMacP2zaZeQvbvI`n$7qCz`D~s~(s0@o4hw-0f#ur-OzecKqq8PdTk6D$bGd z`6PEq!2?J3 LM$>A9ib*YEumb@8}v_z@p(*YazJ+MGA3J{E!b z0FwA&t?~?e#>U0pHeV5j3Mb6teDibdU1i ;6hRy+l)1*`V&ujvwzD*`K9pX012=^5&-Tx8LXfeLVA7{|F dePsPx{=zD|V1uQmj59>av_g*6SuG2g?6 D2x$C?fAajG!ki{pLw&(lrt*7*?n~w`bPn%)FSDUOXY1E% zh8Y(&t>wzOB6~C}I(P2u+>9^B<*(npt9ZLzt}H@l&xb><-{(%dGs~c^rbpV`PR)0o zgs{3#&&S8dk3PSdW1GEhXV{wk2iaV|hidU^Ye#*{XWUi({+^z*|1|MA^>y#kPwQ^) zvi*L~x-Hj6M=ZXk)9icwA5Qfnq2d1)hyGo&@!718mrhJ{mEV2lK%;BzGkZzfT`%mO zmmW4u?&5a-`*F|bTeTVGcPrg@f4{lmaQVHu %vR=em(B;l}m1ZtFEa&zlldi_e#@&tCPI- zBxN_+Ty5t6XMV|FOY_2(r(w})jN8^9t$MvyzInRzokx-@f;w^@` lG z{r=x?-NKs>1Z_-xU;9mW)ysDIx{#3F=dw(akM+!{-S;`Z^635KH#au^oHZro?(O{j zp#?F)%X~WR|NJXwy`70I6EH9`&DB;YxU%!#IX`GvyfA2dKCjm7lE3fEySvNZ?0s*y z@w?sc)Xj>#Yj4i|Ui#Ja+KK4%c{` z$cS~Sjf>}&-&>kCqcYz9&xiWT*Vem@So65f#%(=5ulm^h|6i7$lgsKpKcA_&)vL JKq$QiKwZ{7$Zaor$mzVkF zUQuI})Z6{!(w+050oXb94_kY0ncUgvB0c@;suPD?T2E=MUKh2(bKO7ocA21%-Cxb` zY* _WZ7i34FV6@AJ6Auc6^$IlmVt|6iXl` iE~PyN$#9~e{OXiD4Wj82`_(MbXqt3d+x>C-uin>#By#~gSysD z$3esOIb!Rla&23^Ze8C*-H2st6WV1jD4Y%Xc6EK;l Hd@zBhTB^V2UcFDHL`a*}nrzs;8mhaYVT_SgK?lWBR awzF&OZF_Q_^3y3c1h>utXg$%pX~PAdO;sl<9~kKc-&3Od*RKB zU1hm{(_c)v?AOcw|F=Vrr17$w3%|U%s{OCxAnVy{*Vq2|vABO0&*Q7Pmv7#l{_pL2 zR%Z8?)|;PBi@vH?AD(e0JhnPkRX)Z_cdKsaUR> GU9VQJbjvK8nKUiu_fh@&n^zuw{kC+0e-zugfXcsHuXCAZZrc~W{$AmG z=KsA1o7v58s?~0LcmCC79=oGc{--@$8l+!-zqEYG%m%Kh-1_@0E(w*lo=S9=2{gzt z$-T9uQpn6JdGCim++4ht-+%5m<31+(Id l+O#U*r1|Ny+3UslCM|hz zdFk~3w)qUJZm6z1XZ8Edoi%#Cy_KM{uln8o{Rul(u1ubNYkHcCrrM0nXSdxxa_jY) z+acm#zlm1&zFbhE>u>+PW=_qkl{+O{w%w|F{o`ff@#C_Q0#C18_U~U8d)v(OOhO*bCj z{{76)H?z(jD}Fd%uP=RGz2Yx^iGbo&P3yyBBP(|9YMOhdnGH0YaB%aInYHi!zi-}o z-Xpj-xZ-Ww?7Y6m^<_@MSHFI{Tl#$N*L&qpW`FSkt-NLR-*`%E^%3R%{){rQZ6?;Y zJC@HoH?8Y;*1>)MD(>xMy`2HeiqKLFmh5zeGj8W=N0sTVh4s8xZfO)e=DmJ2v0XlH z!*tNpR@^Bj$LsOcx!Y8()<53+{az>IX`Zh2YyM9C@yxuuKQt_MYl8er$9)P;8x?1j zUXRw7KE3+mBX0dC(~iBmTfOkd?f8E}{x*h6=4~Hu^0;e02-fhJoMyfAO_#RP* aXa8P#y+ZchlBZulP535T+1fLP z8=uEjAALGKPUyVd@0^~$B|bc7ofNXyZ7q8n+l zvvYQ3zFQt}``N3@&!1flkIP)QYst6yHJ9`^Pq-S!n*PJ{^v${T4_gbLMW&zqTUR^j z_nCD&E=`EYTDg= HIR;tF*Lq@qxfw^~Yt)k9^ NY zE1xdXSy1%ip}Wg0#^nK?js5fg{yE}wcGlYcKbJ`-M+thrH@)p>9VS!! GFSX zbb6Lz&HD`wzquoV*8cVV3Y(yP5zv_2#@}yJ?BhQDaeY TdTBlb7pS$-8gmm z+#;`yzRx3fo2>S)p2n?jvH$L#TSn_dI;>tEnZJE$_o6;u?@NC_EqTOb%xmqFoU{IX z*sI?w)#vws#;YG@dj0x)|KG3c6`4;?@X036n) XSr;Vl=wvr z-PPY#U-r{pl=@I@`@JG>pV?+>3l676{n3tQTc_MCk=eQD{hQtXtJBSA*;bd$DX96I z`f}FJDNVcg|9I4Gq4j&;lw`{X*1w-ld-S?vW52w;-M)>d{bYa1oHT!D^7*PG`BT`N|c{*f0_LKU&{h>xlMoFEIfXc`@DVlipYDvKufIe)Lx%kd0QlU zX4*ulx+j81&Gc8ra{aXVcVn^Z*4%X$pU #1g&fi$MWI~+fG)`f)BhO~%34Om)>%W_? z9yD9NZugr@4~=<5rAmJF BCzTd6R&)Il$*~d4==eL|TaO;&4wa(if8&h>sRrl5V-R!aw^Xq RDo-!;ieZ@>NXH#sXe2+w}KEA+QKXsNo7LuTjtZ(8?nmfsIMuQ%n8S9JbH z*Y4U`(!baH+w0Em%((BtIAz Irptz`5#4gS&`>+fB*I{R@=Iz z=EK3?sj_CPcHVnZb%TGO`0}|`UQ5nbMxT0eax!QhLVh;S?G<;O?bgbMb6v>Y_;Oj{ z?fw6+K0E)l`u$$ lpK iZWZaf8ef3pLcD~f|1b42Pf4&^I@7t0S z5q)~4`usV%U$+$7e0#Cju=v@TJ$IKzcI54Udw=7(@M~S%=j`pTmt9)IS=sM7HS^@U zB=1?A8NYM)i>=@PEox)CNY3 1@g5TgwYBEb*LN^jBQ?&`gW% zx%(KG3Iua4kokXk{xNO+{V^BzB*tgvXl86V8y5Yf$?#=u^|a6bKD6IRS-f7%_ID`P z+&>Sh+mB3}ohx> v&JiE16aGk=zy-u^F_B1)esPE2E}etmX(R+;$M zS;zh@=hpApdOb#Y-R@_z7WH}dc5zzx&M?^c;@>Az8>Cg=86SH>G(S{)33PwTl$JYJ zRrkIG+HMGFFQVbVbSBYewlCTH>(~8F-M A`_B5fu+xA8$Tyce-xo|IC^{7mpV{mn}bXVxs=G-x}BBs^>=J_FheXamqRQr|7hP zSMgY#T_taYrixDecyx;XqsRRAUD=y292WNP(WrRW)z$Ummf7tiTC3Mdoz~l(qo* -Wg~-}7{u$H5~- z+Rp9kgkGmQ9up0VFl6J8(_`a{QTs0Y`sV6%u^bus`RV639p9XOpgwQE?xi!nxW;0l z85 F=bc7fxwmb6(3_A=|a~X;Kan_K13ZJ>z$#~ z2J4?HI5Zrn(JMI2d;NINOyf^+Pt_N@KVKV;V^oKQqhy`K(FKfuS6P>Hz=u1~!X1$S zzya^DlOrN%ZOpqVh0rn;O&%?1H9+;P&<@TvoH2!*iWbDMu=JgJ>L;lVD_+oyLvdT9 zkbr=NR^#jh4*YI_YC7fW@L Zpy7^4*sxJiIk zM~_zdXaNFhe~c!T(WEjsnzfDVR1MgiL1_})#?}yQym`0EHT1e%;N7j&A>}W{u1>wH zysM;h)u~e}R=fyOT5Q6@#68WS^y`}yYgTp5u(j4&mF9Bv&CEc b6mVH@a|gow;tL-0gAH?RX5!XUbM<;wrgsbi)-mN+w`=lIg^xI85;cr zJmL?UT#g7?_99-)Zq=OKb6F>7?fTmDO2@!L`|p=XE3Kd(8Mj(q7^T*PxLE~YUr^4- z^j2S?;L5*cRj}=JQ uAr*z{t6*J)3F* zC##y~uUmJL`HhOhg1sz7mWx;2jQpYhbw;iK>uGOxM^0s(uxj_Wt`lcNt{JD5zLzxq ztuwQ=Pt9ff$@yo0=3TcvW(JN+SQsO^R2hrG{kuP}R`ho8sY63+%B}-v;=GTXah>+d zD8r<-D8y&B%+yRVP$2wtTd*qo`ifK2JbQL}tAwRHF3l4@?y^1e@$=c)C5otB2Ur|j z_zBuKThHGE7f56Zof@0$cE9oFB=5b&&sTUjE?zl#k BzYgpXnQ?V>{+Wm+@n)+7r{`F1 zS+!!$pURMPbHe@ztnzJ%w3#-I<=MgmcT@$tEg!$pDG0e+eX--zsW*lO*1P n^kC#fW7dI;^WUF9?`*b;YXk`zt)c4U)aY%%tR}PE1b|ez<7U zp6hIT8@Noq*5<0UTv7e~FZ}Er!K>Wq3m50vCO=DRUX*p|`NiB%FK(%di3hmC=KxV` zWMs+}5U|K%p684hlr~tLFQ(z)tr>d0uS+N6O6s#K%i3>-WGvja^k#3CW{!Y{XJgEq z52q(y{cC5=As-rczH5ewS=#pqjoEKk zxF$)}* zt*B$?-QQ6vb-m`eG)w<3pZ`j$($03Qa-G(7lUrZTcoSc1->cPC?ogxAe0!8LMC`hc zHq2d(LE 7}$G|HLc#9i9NZJPgi?=-8HkAgGeSw7YBXTQo?zx86@ zo7Ho_UDcnu`SRz)oIJKIB383@UYPV%x&nt~EL{QyhXVyYX2GJ{D^{VEElq#RjX9}T zHW@gkZkrRe_mW0MfO z!az&y**ljkThic|dt!mwj0vIF@~-7932$X+{3N#GbM3mDXJP~9ntz?gDHxmP)7hmt zdDC X(v-Mz~@cZoN@F3$}q_r^2=2+HMi -JXBj6+~XJj=7X{jY1!zTUI)bIl8*TqhT?kTombOllQpKc~;I zt{FY$LP{~K2!{tNnj1^~p^5B;Mq?zmuH40~(IFvc&*&} {E7>%UJumt!i{+jg#aQPHFHo1YhIt=j#)Z{|%QTr1NAG(dxo9v-$Z zkFl_>TI78u#)4ZWb!pP4A1l_(us&g>*i@CcIHq*&hJ$yW#c>GCxX=2m?tS+De_N$* zDkq&QOFh%qwNkiPV6#}H)$Q2jXaAgg{0m1EhB7g^uT3fzfLT|}n)WqPDcWmo_K_aV zK+EhZ;pUmr5-ZN~Udc1LcukLq lzL_Z)yX*Lxd&P%(K5y?_jeY#H zaT^DR%vRU)8)1pkPhiEW7n4|-#7@uMS#+vJ-#x%u+w)<;!RhQbl^hZd3S>On8Swkg z36W)I=044MsJeL7yML_ACql800XlHAu=GVWEY*a$UxX!1cT0uY?!a%?cf6ducvIH5 zIf_@?m}hZ{PC0a-w~?XIPb}lvPlNA2FQz`b(s9#xQ)J(+V{hV$oqFfmBrJ#3Td*t) z3A9EbQ2`6Bi_*yvFh4wFN&Eh4_Ucu0ez_L=K6^J`T2JGGmnkC?_aujZ&z+85IceE5 z>-m``mB&%Af)=V1=FAGl#>J1;Zh=+ZCA$v1$=kd6ru#0}qi<&3^fwds)bc%-H^n~0 z;JL$p?}h_SniFj0v*ZPf&7ax1Yo+;|^jNicm;3q^tKRHN__QMnR>DDzhbB}F4TXY` z2_DQ)S%;S#XI|N+mo1)QW*Hr}c9GwWjCT^*&MZrf)07n*7PzoV+39b(5cuxDf}j7w z#a%N@%gwe5$?i?WF} GOJ^Ccy-iSs>A9a@!-yZEe!ADVC>KUX{CIU>Fdc2r33#xoUpOtX#9MtLvumrsqDX zA*HWFpM0E!Jtz(|sVEd|QMj9X9a_ar+34UJQu@*^{m AsQGe1-7OSdhF()v0* zc=c?N6}w~eu4n9F;V9{IxcmIrowr-o+LYT(YI--WI}+t3oZ;rmSc< z5ZHN7;xO#k0uzxHuV$r5oji3%;lLd8f72NlnPe3VzFP)g-K$n`h4J|XSox0T$SG?Z z4g}u3XT=Q7Hex)DR^F1KB{PdpZce|x|I04nDOc8i1Z@>O%4t&3cjZih$i=niK9 y*B@ !;uePmN$=wC zuF5{dXu4kag>x_y3`D8NXv@+8SS9wd?eqnO8r_EuMsC64XdB6UN5HtZ(~v$3ZMy z;KL$yUMa}1JZtf+>qa{T4y!mU;9=Fuo^S5U+9zc{|I`N|-kI2qx`no73w!c~27bf^ zmR))o;%} B&FxLe tTuHU%$6yZ;!2+c`@~m z`o*W0`4=7k{N3&QM1D8dx0edGuFVlp2
v6U6X^&p?c4Bv;m4m~B70dyp zu<4x$0hU$OU;1`AE}oU0mleNiwrxhnx|3Jde(&zej6b3@eZGM0{2gnbZP-*jciTNa z!MnSz_U%r(HRZ*}Lw~ov7r)ZG>RxTqv8d>4yZ`7V+jZo<-xH7@@4mmV-YTl%-`oA5 zRo$07_xJdk-`0t%d^+{V)tAeU%`lvQZol}OQ&>ai0vGszF4JGzSFL?<9MOGvt90Q= zh+A>F@7wKJ?|5SEewSU#t`>j}2ceLqi-mk3LM}9nBx2F8!-S|2aG3)0IRllu%_5Qvb^ze;i z@b4cpHydVmrWVir^6SY~%ekgMXJi(od;8x@e0x12x%WoOWZ&eo>(_`1AM5Q;pI50S zSNmlmXsOHQ=YJ0J^YuFOTdnZ{u;fUU|7 C=h_b&V&B_H91~TQ&?$lAw@Dh~u8|Fe9$pS{_!gIIKOeMfY3ZI{Cel z+;>Yo-`YvDa0p~{JEW$j#uOZM-FUD~+Qrp1w@d5#Q$OqXbE@as)mDMlWj)?@``_Ic zA=3GKJonbFUcb+6@As!a(ssYy)(<*GrIDH4%=%B} %kR!Co@tsLw)t%cYG#JI zK!KA(=BEry%FAuRKmB9HhqIEx_dcBV;E7VL-v6J|ozK+WjK5mGa)xQb(;55jZM!Ly zV!Ln6?A@l7^Mw~bpS<0Ddf{T}t2Z4R4%mozoS$5Ceon~s7c(zEIag`%;@9%1s+UV2 zzYqVTJT0c^ em$_3@QATl03lTBZHiJl=A3+4aBQ?}qP=?UPpj z_elKX+5C5L1utx?zxCWL`<<4v>t$Nug~s3IFN})H?^oyR+$z6#%P@E6(PyCf`&-}5 zKp_mxhww1hsAX(id}+VC8*J^BhIC_BX1vRL_Vu|%dqQoijxTxt$7osZzVOArG;hmD z)aL!kUHrF9K*3=_MB}>H-N$;(@5}71`j%C4qDRtL>FV;E{ja92um3A;Sa|4rHe+ zufN;(eqZ(Dc6%GOZ#N#_{`f+<|HxVM`ytWcdD7`An=O{!?46}`_3G8$v<9!YK@qQy z&Cc(X-FAE3VJ8RMUEf!fzia!xbmhle*t#tanV^FWul+TUf)rv62WqqfENi`Vie8>i zy7s^{=~~g(=^C@Peat({*0*Z+_nyqdW!)=hzmwZMJ<4vCSftG&@9QgmBn6fH{B!ul zw_6=AYTrM-SbFBS>&?)w?sda_jgkDpshrv|GZQ>wS$_^sC4eAVu<{!Hn5<21eP zRnNAj U-YTFv$rq*?cbSOzZ4n%jJ98SJ-%Q3eScj4-JtyVyXKS2t<}o? zv%ZCfoIPcC|G4YXH8V|jXT`7HJagZ&^}B0T+Dr7)_5M#iarZQ5^7EMMyY*eSo6ql* z)Bm^qn}oEkxW$(XhoxG3-|c+<&f@Qu%UR9F*=x6k&H23h{_#iM>E|czOkEyZwocr_ zYqxy$my37&eP (}4+=X;g=EcTSm=Y>WrYO#JrbcKY;g80RrA77hofGrnRFwke26>)sU!F4PDZc6Y8 z+g11N;2p-)`rg%lXUDufc4t>#{mi{b4oFm=JN(seN|U0u{Kl}owY>Lz;)}Z_{y#qb z`aPt`%=lY-bN9;GZzYBK|CQ<`Tv@T{VBfp*_r+`V|0OO-2rf=N=Jop6k7WJxt+unW zgE!YNte-2-eYYrYujn$nop0XGdUa_1*_hym%*xzOYh@qz|0~wZ30_hA^ag+O#n1fN zMhc-XZtVJ+yK&~mPrnS`JvYDdR_}e;_CWt*kJ8@-uRr_7b$TDC`yazJzQ0*}|N8Em zX=y9A^U04FUytm66}tV~KcD#G&2Nk&?HR6q{usUZeSF{A>-Bfdlh0Qfr0MU?xf{Fj z%Eb82Q!6LGemi^biy*^)?$gb N6AuOFNWOycHjJa #Pe2Pdut3Th~-~MaJ9xrG zyFW_K%&2(zbo!%dv-A31US57(ChE)U*z)_q`Vmw4{=AJ$Kgw$!bALs@h}o{U_Wv_Q zZdm ^!RnT^QT2iTNEU`tL4(aTk)88V%+O#T{;Qh*XF+!jNMgo^6kI+Z||7> zrmZ^j`$ur7tlB-9hm#&oQhBkegOjDqHGuIT>$UR8*3e5zIx9Mwvcp7N1 xsE3?2IhXd*WbsUV*u< zf*QEoOMh-O(1b}ZsAN^rw+Z`I5G8wJ)$1M3e|Hwws@F!f-T%VB^YO_tq2Kaav+cf1 zM}B#kyyeqHZ`Hf(_y3$XDsWoH<$v;|5pQ$8y|>%<%EdZ+e#8p5%{UcfwRqXV?ei3w zkJl}DW%x(+_Niyw^-A6PHZiMhY@@%H{*>Lm%~!(7`uXip*3*Y7-5*~nzZHID71!3g z_0InmU%6VB^qo1SyY+R+zN P~+ulM^^_|pl_d?!t}Z|~PXT=wH(`|16EPDk!6-oNv!dC@<1`x(~T=I;G|FZ$nO z>HAauypH>Q>-tGf^?4fp_Mf-RDZG_g^w3rO={iX{Nj(mkx#joRQ~GU<6oX!GNjocL z`S#0Y?ptgAp3S$5IcM?L$MV0k{G{FQ_nn@#>Q>o}!sC-RT+Gkgxisg-3AQ({Ur*kA z&L()@*SGIQbV|!EdHz> p*?QaDzCOO6A6Uho z+^YKW=e}IoiZ?5Ye=V?c-}!dU=6mzA>k`j$^Tx+&eK&Zc0KY*IiFM%!Q=YKBbblM{ zmKcSAekLhBt=&s6?|k;qT+V*!hQM!5(RHhzzsc_xuamN#cq{FCSE6$CqBB>Qu055j zxz@yF>IeUwhRZHZyYW@@^6vSp1%5j#w6>r6diR!DUG?-Y^L~DPb=Ym^% ``ppf2J7gaG%2~SUkR^L8_tNJjUlV3;Y6z7$b^l)7mq4TXgH3;y z-TBvF_vL=kt<2@m;_820o?rA_?RMmbgoS^On{yv_`+5D%mdAcYN6YumzHjpK-_Gar z!iCIE#icA ^rf4TiI&H6j_>(C+0RPzy+=w)$`S>Okb bCoTgYL}xYP9RVV$wmC)gLDBUt02Kq4|8Jx%+?lt*d;oq5S!`&DQsBEl+(o{h#Na zUi}u|vik?O&yN) YGV}Xk|F&AO+D|h!HgqdT>+Mjp4tZDm@Oj_)x7M9!J~`}c z(<*D@tIzk;PfzGBiT^CwY4@@EquJVtUrx xNymZw*9aetoefXYu z?%6Lc^Lu`~IeB$_sL-rWaW!7gYV-H(no?VLGxtfucFzl8QcGU^y7*l6+ljkEmHz}k z?iN3NA@RS8v-`Yhdv!jqb6hzZ<`~9mqnD8>UY~qt`yS+<%XJ#d^+HSwp__szY#x+~pcgcrs<^R6% zSw3iBF6!krl_)vPYko?0`+dFZF~wW;dcQfmyHir0W4Uehx?QVMUK&d07ZezXb4Bee znyq;^>9_1Q{@>AGRacv(c+a`HchhWL`?7=Xc1q%PUl!k7#(6({{k^>p{&?%}jVOqD z`Cwo5`^o!%?>2w#7rk{+RIcsby_*sbw-xMI>OEbIXLsghwT 3cZo2`drP; |^Hf~SNb)Eg>-0$gM=6_%N zdCA{(uZ!Nsows`V@1wZNg@$t<5?iN6PqN;lBW^M4?Rj rBPn->mCYR;J!QeIfc@_yzmDHOGJP%7~sZsowB4*u(taBR0#&J;vOJ95zPy@Y%lE z@FBHv+Sk|DPyhXXU;X~iZ`%*2p4qf{{kOjtocSlGo}MmVvfq2U)$bGS_A+dJYoso^ z>+dm$;aa;OSd=~d|A(xfpQh_`R!5ba>N>#A0!Uq!z3yjz f->d(|No_EBhhUB+;yRbT^u)cZZkDN@zg+jb{`oDpdmql-sViIV z>n!;*adFOW>nrO;lke$9>;3WErdhLn>D5WM-)aV~?F-KI*1y`N)PFa;;1(xS O` zxo$oCl<=~0{pwd`X6Jv%=S^Cu?5F!;e%y{l4=Q%C7iSv(@A`Z+?rKhM{f|)32Pdwt z^6TBSblTg1vQ>BOce=beYG&LRw{}7Cq5Jas*IyK6zRi8B+8lXwfvD8H%G