From 97c85e2d312c873f9044eef369089ce5bb96af3b Mon Sep 17 00:00:00 2001 From: Sebastian Jeltsch Date: Fri, 22 Nov 2024 14:35:24 +0100 Subject: [PATCH] Improve coffee search documentation. --- docs/astro.config.mjs | 4 +- .../docs/getting-started/first-cli-app.mdx | 2 +- .../docs/getting-started/first-ui-app.mdx | 257 ++++++------------ examples/coffeesearch/assets/screenshot.png | Bin 115973 -> 78487 bytes examples/coffeesearch/src/App.tsx | 56 ++-- .../coffeesearch/traildepot/scripts/index.ts | 35 --- .../coffeesearch/traildepot/scripts/main.ts | 32 +++ .../coffeesearch/traildepot/trailbase.d.ts | 1 + examples/coffeesearch/traildepot/trailbase.js | 24 +- 9 files changed, 169 insertions(+), 242 deletions(-) delete mode 100644 examples/coffeesearch/traildepot/scripts/index.ts create mode 100644 examples/coffeesearch/traildepot/scripts/main.ts diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 1efe6943..59a5f2b1 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -37,11 +37,11 @@ export default defineConfig({ slug: "getting-started/starting-up", }, { - label: "First UI+TS App", + label: "First App", slug: "getting-started/first-ui-app", }, { - label: "First CLI App", + label: "A CRUD App", slug: "getting-started/first-cli-app", }, { diff --git a/docs/src/content/docs/getting-started/first-cli-app.mdx b/docs/src/content/docs/getting-started/first-cli-app.mdx index f1051758..47e8f8a4 100644 --- a/docs/src/content/docs/getting-started/first-cli-app.mdx +++ b/docs/src/content/docs/getting-started/first-cli-app.mdx @@ -1,5 +1,5 @@ --- -title: First CLI App +title: A CRUD App --- import { Code } from "@astrojs/starlight/components"; diff --git a/docs/src/content/docs/getting-started/first-ui-app.mdx b/docs/src/content/docs/getting-started/first-ui-app.mdx index b293a0a8..86dfc448 100644 --- a/docs/src/content/docs/getting-started/first-ui-app.mdx +++ b/docs/src/content/docs/getting-started/first-ui-app.mdx @@ -1,8 +1,9 @@ --- -title: First UI + TypeScript App +title: > + First App: UI & Custom Endpoints --- -import screenshot from "../../../../../examples/coffeesearch/assets/screenshot.png"; +import { Code } from "@astrojs/starlight/components"; In this tutorial, we'll set up a database with coffee data, implement a custom handler for vector search in TypeScript, and a simple web UI all in ~100 lines @@ -77,71 +78,41 @@ $ cat import.sql | sqlite3 traildepot/data/main.db - ``` Now with the initial import, let's start TrailBase for the first time. This -will will apply the following migration under -`/examples/coffeesearch/traildepot/migrations`, which is basically: +will apply the migrations under `/examples/coffeesearch/traildepot/migrations`, +basically: ```sql -UPDATE coffee SET embedding = VECTOR(FORMAT("[%f, %f, %f, %f]", Aroma, Flavor, Acidity, Sweetness)) +UPDATE coffee SET embedding = VECTOR(FORMAT("[%f, %f, %f, %f]", Aroma, Flavor, Acidity, Sweetness)); ``` -to initialize the vector embeddings from our different coffee notes. So we run: +late-initializing `coffee.embedding`s for all records. So we run: ```bash -$ trail run --dev +$ trail run ``` -If the server comes up successfully you've done everything correctly. +If the server comes up successfully, you've done everything right. # A JS/TS Vector Search Handler -Now we need a custom API endpoint our UI can call later to look up with coffee -most closely resembles our requested combination of notes. -For that we place the following definition into -`/examples/coffeesearch/traildepot/scripts/index.ts`: +Let's have a quick look at the custom TS/JS HTTP endpoint defined in +`/examples/coffeesearch/traildepot/scripts/main.ts` that our UI will use to +find the coffee that most closely matches our desired notes: -```ts -import { - addRoute, - jsonHandler, - parsePath, - query -} from "../trailbase.js"; +import handlerCode from "../../../../../examples/coffeesearch/traildepot/scripts/main.ts?raw"; -addRoute( - "GET", - "/search", - jsonHandler(async (req) => { - const searchParams = parsePath(req.uri).query; + - const aroma = searchParams?.get("aroma") ?? 8; - const flavor = searchParams?.get("flavor") ?? 8; - const acidity = searchParams?.get("acidity") ?? 8; - const sweetness = searchParams?.get("sweetness") ?? 8; +The above script installs an `get('/search')` HTTP endpoint that reads notes +from the query parameters and looks up coffees in the database ordered by +vector distance, i.e. how well they match. - return await query(` - SELECT - Owner, - Aroma, - Flavor, - Acidity, - Sweetness, - vector_distance_cos( - embedding, - '[${aroma}, ${flavor}, ${acidity}, ${sweetness}]' - ) AS distance - FROM - coffee - WHERE - embedding IS NOT NULL AND distance < 0.2 - ORDER BY - distance - LIMIT 100`, []); - }), -); -``` - -This custom handler will let us query the coffees that most closely resemble -our desired combination of notes, e.g.: +This is a public API. While `trail` is up, we can simply test it by running: ```bash $ curl "http://localhost:4000/search?aroma=8&flavor=8&acidity=8&sweetness=8" @@ -152,134 +123,86 @@ $ curl "http://localhost:4000/search?aroma=8&flavor=8&acidity=8&sweetness=8" ] ``` -If we're only interested in the API, we're basically done. Otherwise, the -following section will implement a simple React web App. +We're done with the server side. This is already enough to build a simple UI. +With a few simple commands we've ingested CSV data and built a custom HTTP +endpoint using vector search. +If you're not interested in a UI, the same approach setup could also be used to +identify relevant documents for AI applications. ## A simple Web UI -We recommend [vite](https://vite.dev/guide/) for setting up a simple SPA, e.g.: +After setting up our database, vector search and APIs, we should probably use +them for good measure. We could build a mobile app, have an LLM answer coffee +prompts, or to keep it simple: build a small web UI. +Moreover, a web UI also lets us touch more generally on bundling and deploying +web applications with TrailBase. + +The specifics of the UI are not the focus of this tutorial that's why we +chose React as the most well-known option and kept the implementation to less +than 80 lines of code. In case you want to build your own, we recommend +[vite](https://vite.dev/guide/) to quickly set up an SPA with your favorite JS +framework, e.g.: `pnpm create vite@latest my-project -- --template react`. + +Our reference implementation, renders 4 numeric input fields to search for +coffee with a given aroma, flavor, acidity and sweetness score: + +import uiCode from "../../../../../examples/coffeesearch/src/App.tsx?raw"; + + + +We can run the UI in a vite dev-server by running: ```bash -$ pnpm create vite@latest my-project -- --template react +pnpm install && pnpm dev ``` -We can then swap out the template with `my-project/src/App.tsx`: +## Deployment: Putting Everything Together -```tsx -import { useState, useEffect } from "react"; -import "./App.css"; - -type Data = Array>; - -async function fetchData(v: { - aroma: number; - flavor: number; - acidity: number; - sweetness: number; -}): Promise { - const URL = import.meta.env.DEV ? "http://localhost:4000" : ""; - const params = Object.entries(v).map(([k, v]) => `${k}=${v}`).join("&"); - const response = await fetch(`${URL}/search?${params}`); - return await response.json(); -} - -const Input = (props: { - label: string; - value: number; - update: (v: number) => void; -}) => ( - <> - - props.update(el.target.valueAsNumber)} - /> - -); - -const Row = (props: { row: Array }) => ( - - {props.row.map((d) => ( - {`${d}`} - ))} - -); - -function Table() { - const [aroma, setAroma] = useState(8); - const [flavor, setFlavor] = useState(8); - const [acidity, setAcidity] = useState(8); - const [sweetness, setSweetness] = useState(8); - - const [data, setData] = useState(); - useEffect(() => { - setData(undefined); - fetchData({ aroma, flavor, acidity, sweetness }).then(setData); - }, [aroma, flavor, acidity, sweetness]); - - return ( - <> -
- - - - -
- -
- - - - - - - - - - - - - {(data ?? []).map((row) => ( - - ))} - -
OwnerAromaFlavorAciditySweetness
-
- - ); -} - -export const App = () => ( - <> -

Coffee Search

- - -); -``` - -Lastly we need to compile our `JSX/TSX` down into pure HTML, JS, and CSS our -browser can understand. Running +Whether you've followed along or skipped to here, we can now put everything +together. +Let's start by compiling our `JSX/TSX` web UI down to pure HTML, JS, and CSS +artifacts the browser can understand by running: ```bash -pnpm build +pnpm install && pnpm build ``` -the resulting built artifacts can be found under `my-project/dist/`. - -### Putting Everything Together - -Whether you've followed along or skipped to here, you can now start TrailBase: - -* Pointing out our prepared database -* Providing our custom `/search` endpoint -* And serving our web artifacts in `dist/` (if you haven't built the website yet - run `pnpm build`) +These artifacts, found in `./dist`, can then be served alongside our data and +custom API simply by running: ```bash -trail run --public-dir /dist +trail run --public-dir dist ``` -You can now browse to [new custom UI](http://localhost:4000/) check out the -[admin dashboard](http://localhost:4000/_/admin). +You can now check out your fuly self-contained app under +[http://localhost:4000/](http://localhost:4000/) or browse the coffee data in +the [admin dashboard](http://localhost:4000/_/admin). + +All we need to serve our application in production is[^1]: + +- the static `trail` binary, +- the `traildepot` folder containing the data and endpoints, +- the `dist` folder containing our web app. + +At the end of the day it's just a bunch of hermetic files without transitively +depending on a pyramid of shared libraries or other services including +databases. +This makes it very easy to just copy the files over to your server or bundle +everything in a single container. +`examples/coffeesearch/Dockerfile` is an example of how you can both build and +bundle using Docker. + +
+ +---- + +[^1]: + To serve HTTPS you'll either need a reverse proxy in front to terminate TLS + or if you don't require end-to-end encryption (e.g. you're not using auth + or handling sensitive data) you can fall back to TLS termination via a CDN + like cloudflare. diff --git a/examples/coffeesearch/assets/screenshot.png b/examples/coffeesearch/assets/screenshot.png index b51deb3d850e09f42fbfb2662732596ac371aad7..1adf0f68d88127eed7ce8e859b298815ada84573 100644 GIT binary patch literal 78487 zcmeFZWl)@Jv?kgF4I11bG!O{xE(spog1ZJMIKh(O9ui!GyIXJzkl^l4a1ZYH?Y-}u zx>I%M%&)0aQ#1XCue+L0URi5BvN}{*Q5pl41Qh~-V7!r$P=!F?c_5G{3Mfe6ll8@w zOYjH5S?rBE3V3;=n1z7%#4eIrE@}=IF7C!o<`7GJ2Rn0SXHzG0b9?7^4lYOVZ6e@H z%&;$sJDD51SUK1~SGTe=he$bDJ?G$fuIS+QoP&*n>p2^T06Vt;8~1Z%h3Ddu>XhYQ z93YVAkT(*q)jd-87hSdRtsaq%Zy~ZW{)t2(VPT)bO1BxpP>~pr+)R#iN*2o+Hx4S{`d#&5{h@gt9CPceuXofvz&Y$aToUYlm}Hrb{U%rSWyn7- z1bMk}#An#B*9M+H#yE`U_q~+MP#i}9AR%?s!~!AxZsQPO=P|O#QBHI zIwpm%XVkm*=wmcEiA1EGodbB?;W}B#Y0L{cf*ng`CKSG6;38vqG3pG1*Bh!(C?dG> z$=00ROykyb)$y^|I?-B7VTQN#bk2(%xLfR&vjRVV_Ank;P6c3Z?~T4*bP5d#k@@J+ z8$=)7jCKQAw(<2FLZah6F1<^y@2Xz7rsC=~FBzQ|tIp>uKlD??UFz3saL3Jmbz)s^?k)9t__6hf zz-rLen?J+n9TqBStwRFNYHVT~P?an9T`|(SK)0HKtVr{d49%F!Y^=1NSM<+sgyrUC zq+?BtFQSQ4d-1VVUUwOZpTYaQQS2%6>8)^HR%ynw9?pDzhX>*$yxv@- zRHnkl9(^>epz1RZeUri7>BaJ5*zi+D$S<->*sU7iZmmr3pv9!7enrFIO!JFQl}eV# zn&OG7twKsEu0NvU;}Yt<|FR2KpxAWB`tkncJlW+r71xvdUit2u1Ca)0Vr=XfTe2{z z*l@8fQIlU++D^SmTR&sQ39;{A68Jsx1X{=U!PV;GIOy)}wW8%`*x=lvwT z#XEeL!-BoZTl~E!#@^J=oEUhO(L5$qRkahAWB*R=NtsH092^Euc*a~o~zs8qyp_y4)n8gBNMZb8vY&lDYM(lv(t+84jo-9HAXYlUbl{8qS9S65?U+9T^6O-eEUZQEN9bdFL zHMu~c3@b#oAx<4U8C`s?t3_jO=5h(I9x2jR7D}kV|H~StzleEG!}P?G#h^DR?QzvK zR?Ap4T+`uof8M!Do_Z+R^h37y85(?u*;{ zg7%V3V58X4CuK9T;zNgeLnacWFP7m`pqgKIyTKvqt$^EwiJL496#6yX9X$2B-q!4A zy+8Z(S#d%u9CypNr!pgD?{{_xdcYF;^7ZTI!6vLQhD5{!D#c63(JHX8 z$g=pu|2tM@NCXb`t{OTz2D*`zeOOlfX2F&+IWvi1=TcdgEF2A(%xpalHA@m zM&@d*A-VpccJ#X&M$$0lMqYx$5~H4|g^WX7{zy891qxVzF6RFqydr=P!_f zdtvtJP0tl#Pd)Ne-(OB2eXdx|@bS3Y$6rE1qTV^3UQOS6m`6yd%8fhR>)vxeZaEB2 zai@TCL2*<@GoFE`%Z4JcvGa)0rc@QYUBqNgnMkFIUslF-S4ecM+xI9M!-!JfXA&#rN%uL!%3Wt*Z z4$F`3uPGfj$6T2VS`fja=$h$Bf2Z2!rYJZ3=XE=$yzUR#O$o-=RL0DD`=yZAv z9+18g>%HOK4h4&jGwrpXhz6|H6Ngt?P5YK;^D!HWj%P#VT_N$@;?rGK7bZ}I zAP9K{f|ysluv}vpY%*6a?yUYTFKXIq+2+di2I~DrQNu=XWiQn0D5fo2JY`dh%SW#a zVU%{S&bVvH$J&7q4C8hon&bMAcx`>l?J@gJRQi+pslk)p2}9%W<@s)u%T4buse+<1 z0t0^1L(>oQW7Y1`57IFy^}YzWmy$K29cw=;T&NPYtJ4o%R7Q9Ij1K%|>?bZgZZ!;gHU2JE?KV zpz+f+BTvD^#pa?k5$Aa{Sq2llVX%JWS$c5$$_UwIT#PBRSKyvc`J&WgrP|5eWRu=v zITLsw!3W{bJK-8z+hVVzz&Q1+aqBuw^eziNs(GdSddChPFk)ronC##-MOw+g=qwiT zi%gX}`zwYxlZ!Fe*@vSB*CVQh)}xG4yU>D_6(9X9+px&+UNl6kSDH01(VRKIH8XAt zGV<&z^G|?S{@TRk>saM2*ses^w?bqyjU3|@c-Ru!OLE`7el0qd_*v&ojK^plW8M%K z$j>yOz{%Wn^oR$FAM*>fiB9x5hS>h9W|vSC?fBB!M(G{)(a|ZXYmQta{UU_V;$0^^ zY+9@OVRjP< zFr)6Pk>+$7oFn^cYjHIkX0wlT9(vM(-_7@qlV3@%jp z?%X2qc4BHwY|uJR1!RZqogFA24f^GMMxN+T*8ZuM;FZ~K{Ehxt)tP!GU#ut3sJ9xR zo?t6QB;6o`IyigYD}-FT@>}8dJpEht8YRuzUAT|V2@Y%eBgnP&{qGie zC?}i?(z8WEwzqnW#A6k(Rl<}=$o3EZ7JMyPLJl+nUkJ48(@FUG!`NrE>WvQ((KfXL z^wZ-v!kOkIy`ahUK?n?ZnHsOFq)BKRf`|WIRx98bf&CJI8 zmzA-Yn5-T1usxz7Kg5QSWM^|oy< z<_e>upH1G75sNE;TlrD*4!tRiXJni?!m@m6wKFcoBhyTyRgU*?#Wa>kl6hcaju#uB z3?#)_nui>ZW>0%Xw34#gc^^E31Gf_M=u*Zl^Txfb(%e9hIkakxP_%o#n#;}h{1^RVc(&^q6?@f?XsCm1@} zO*LAzVRVfrIK;LVaAsG8$dG}kBt5K$aC|OVGo%4G8+yJR7Qlao+-8-1MD zl$})zwYwW&Dt#%btCc|M&6FbiR4KhpY6W?=Yq4ypF{9Mzn@YmPP@<4UMWO_Yu^ zdl41d-GTd83H{u~wbE^rE0B}y{AfvKb)*Pv=NUh}i%=zBJi?5RKGMU#^dE1xJ7kYI zCdyRs{e?E#T>j1^$#EncT^$uHWZF*AhMNLJjH+~3TU*2C_m`;Qi17m@-jm1tzvUIh z{jUtMbTxn_GI_UA;0!{&+ir9;Phf3TzXv`$It zrJxkX{!>j$I*(|QoCbG!B79p3}4+XHNav`?G{cUi3F8_KT+pwex(OA9k9Xv?m>_f$r56Pn1xrD0>sCp`EO0&Ml zt+i^@XZs~{XpXFl%6BbfW4hOZ#x7`tLp7q#oVc*E`jfDr>B-r9BF-7LT%A^4n>Cc& zTMFKi^3L-$r7%`{Y?Y3G;$2mlfJN*V`di~m%7ey?wczzz_oD(;QSRcmQU|+l|CF`4 z9>wUWk=uODGF4s94C)il4a2Yfa;tHjGi-Rga#Ahd58@nZIU8e>K$?ob0QaA=rqzU7 zHBneGwX+!{hg=VP$^s4kTUHvx)}_jAVJ8lrBa!Fzk;>8234hE$IfxUiblqo19VbgA zdGT2x!`_~u{_UB=V&9nFhOwT$URtH|Ipq%@Yplc6iw;p60+Tt1u93-7*Lcembz@tz z5C(j^*t%k!SqYdq5Y3owBzE1V!^n3esJb+b*ic)-#c4b5y#XJIHhxwrzM0#GLE zn~hfi5+DR;rqfT9*GQ^Sb7F20(wof@aodcSmoO$X7k1GGJS3T$QDo@3|KU zWoz3u-w6g#b~;(g8ft@BHkzM8dgJ0O4$y7cLUXW<@8$cg*ANk@-x-1O1fU!QHNz_< zCBpQ>gX)su;odztCyu3NtR7JGqF_WzNSNV?QA1B|?4HBWvVgy?qIz}p+hQqCuy`SM zc6M<$9PAte9OK4{>P&`Gxo&_hpa<*duqixews}ud0ukOHLxtxh=^jP0e*)@eKvpIR zZMg1leY$F&$}H4r>2Om7Y+F2GtaBbVA_w@54D_P<45cJLO%B`5ySS8ws%3iGVXqB> zy|3M){Vn7l8vMxf&P3=De6c9krxvAuc%Me~y|#S#i@}i}I^@v1x4OPHQ~OACDCGSa z;JStjds0_Wa(n_9S=KI2;hk#LkF}%I=$xU6OGyN-mrt=bSYe?%$F^_u_F)*W>`?_T zttL(xN4+(l2}RP^9hzadG5O=J;OHWIUqZP4CmjuxpPzP|Ytl2b#Ptn;WT9ncLtkWb zJ#PMDV5ah6Wr)+^x9UHfCa`K%zPF6GYCP>f5dcveET@kUME9G&VO5r@9I6B}vIJ^J zol^EVRPGiB)KJxc;hAUV-vAR~i;rIJaq$;p4HxIMBC8w^V?$+&=1r~7hPAt>ynSweV97YKy|cS1Wi^|(-J~R;{_GgAAedZkF705VIi_>-a#vSEPpyToZd?BR!Q=Bn zf9;*M|ItisisaEwFWD+7FsX2%cmr^4)(3{#UUJ+)3Gcop6+Znsakt;lu`t0me3?W^ zL`rP3n6(f{4r zTz8^epBzrf&}1nLL-dF2HB+oNrFiG*gWxNP*aR3w^8LLqvhCw##lpGZgWzX_!vl3+ zqf4)RRs(5enZ$*2{M4#eo6dm=twXsdlNdadu{D}JpTvBP?X97g)n4c4?Kvv&egnSv zsqd_9>}}Ay56HyO(`0Xk3&eQNNte|4xw*bSLVthd#7Ii zLLRR<Q6-S-jVF_!}jT<*g8 zCA^tZZt2rpxnEd?qiaNZEu~lYGF5tNe-(4rGzgM>r~jOM_$&6X7=KZkoGEv!A$zO5 zmDLeF#<%Xhz8o47(NkHSpuW5HD=8eXc;o<@Wh>fXO*qWs`ba7CG~<)1ANq&Tm&1Va z2*_u6ttFh?%oxgD$^Ffv1O0U zxJnIm4;v#N_cgDruMTb>66;OiFUW=c0Wf;b{?gqLGG9@4hid{M;&g>eZ~Kt%mvk{Q?{8m!l&!s&QHb+q<$b88#GyUtQF}Dd8|;Ah4RQ38oID&qLmn0@Jq9%z>;R}3&~C&8 zY_zdawBl8+m5-L0hlnIY9269abgX*afI*~!a_FpzFb~MHo4mqG+8Y>@AIVfe`==_q zVg3CZU@>o7eSR!3OdRw3SC=S?sclgAN2wr5^~TR>hOrFBft!)!?@y952G0HL<^n-g zr_9*pzh7m$=!HV+W`XG~iGHT?JCBKBKE8K9lv<@gc~i7FU0?46uy`D|;SmI;yPa(n z)(>WZ!^WYeCac2k#7oGJkJV~`aRgOZwrXJ2_R=UKa|%OxpnQ_XAj$WTPpu1~bS5V2 zqc%Tj(D&9qQKab^+0uBSSO8`fLGS!RIP9j0TZT~@fBOScZ~;63^*@=O16 zurE^ZM1)?#s)@4n?f4D7T2a8l)_!`kM`X;mE#qr4hwUALp(+D_V&^D}kJkph8g3n} z=~Kf=B-AU|z^eLe>?7<5W@iC+%K=O!+L32J6;7y;xfLcFr&>-<&humOM4j>Tp>vAd z<6NJvTld~fHNrnp*Oy+;Ak$0K?7kkNHMVn*4~>CTak3|XhOnKhrIc2@WmxcgJR~WtQIL;*^G+<`GrI_jy?#dI}FOqj6t_9t)*y^58D++l=8pwkq+N(p^d zcgFEwyXRSP%`TO1?&k{hvx_=;ib%F5vA`CSO#E!D4f&FIMhxhm!3*F01BNW={5q#; zn>7z^CztljZ-i#{-_EYlKA@+4bORC3crlsY+Bj$=M5fu7G(?TC49Y~hyiQq|qH6;- zB_`lu;^#Mg+c`ZjFTw2+L`0%fMXA_@WN3*M5gj%UU*(jAY~PP8Gdy_sK=wsBoO)%RTSzrdt8bWvY-LV*TMY zqwpJEcAlSizfEH=ii@B~H(Kn|x|`Ly4c#-pp7{+CVc9WXKVD{su20StW_A)|s*R61 z{;6SwDOVlq7A7~HZ)Y~0`P2#u&D1ok20dSc+*`b<1lZ=Ju{tZ9(7wz(KvkjdPSWOY zU}N92ffB8uK)w)Xrp+8Nnb&Dx(%03+h0SW>)xfP!P2W6NVaAJV#P77~Ey^a00B%v} z-~4VO!tdFS3DDO}jcwGJV>Tv0Wb(v<>Q;jFQ;J}_{OH8};EKmS(i@L|YNTJ~QFeBz zARN3qb1{8KiDNJ*A5m#@00nYlevO?0C95g5xI9tjQquvi`y@3z^W`X>}xmvsjA*w&%$5-%?l8^xaY+Ez20gG zrPsamEu;G8`N>}whiIynrlQ3*0L?X66O$R2FBi-%+m1?2OG}QLRD+AFaox)G5jfS> z^@<`wwtHb1Mf4+BeK7o>SwA&%=#0{YmHNuDV86bxU#))$v+LGXy4V842~XAqOv$tt z9$13mfc1Tuw(>lCj5f@8e?(+^p>9LTHCF?W8;qMDvdg8BOJ*u?H60e!JaswMOwYC_ z2wIwcWJy$JSsyilVoy)x2gbZNrs;Uu{S`nW8;&<+u1Q|B_?$)3?KjzPr|fU=bhd# zl`h?2n0l!?oNoNEB*<5K&4 zxf&je9=-G}H`_>W2%Iq6uW@o1iyNow{(kuJB{aMBpSi$%e}U~{{G?4bD~UNcYNa+cHzcSi`To^Dq3_53~W5SoE<0n44{)h89ojS z3_u_zm0DeK&#=w09-~GtuOj~OA#D`S%*@z2*x1^phR2Nz2UKVM<4%fM0SLjo>kgmP zNNpHVZrX0zH)4%+7tIt=Hg$h(XE| zkd{Wypjj3{%xUrK{<2h27YcprgT{@{8%qxE-MZ2B5gRDR>>%&~N#Om_D6T?+M679O zXsDyJbJw5W-%j>tITu=eNWCuhJK~vvtP&q0^L9CyIEYl0&>tfv8PMT@{w?G%6Hrkc z!^+6ZWhOhJps3!nz~Tz?OE^B)-RR13g1qv1_kAXTb4vf+LBX!lVHr@M%jDT5lrBeU zEFyJ1?x3BWC5Ip#d@u$j9pq!SB}?Ys_hsemK*8o0L$A$THj|8CAjPdEsH-fLbhqIQ zrttxtJ-PJ(usuV1jZs$tKNo~(&Tu^*AB0UzOjg#`o|<+4-#O4%f>tt#-mNIM0DJ<4Xv)?ggw`@_4uruG{DT2pEV3ERP^K zVS!b<6=d5bA4v6sUihS+JR;<-`iRJa$pGWht(488g3h1~t1~F=_IV&)^@|7ygbcts zAaAyV@XhWfbJWadM)Rz$uCAi8vSX@Lm)&-TEg&dp?dE(>tIgLZY7Pgx(B#%lq*|6A zM3S5!z`Z^r%m@K^6b>R#WA#aN+P(`|K}M>q{N?RvRi9ow+|vO96A2Omis$oqVIuAd zI$zQ$LI|ur1(H?NbwBTScS23T3q6H|00cYmv`ZyRYqY%0FQO9|J$^WOAj`&8+|0E} zdPMCX-CWji@DCuhvE3J-=!C6R%F!H&Cm)qH#iz`&05Brznw|0D^>O&C6b&}%QCV(d<|8xwbplI<7g z1d~8K&dv~FVL4lT^P6ZiCX38B8OQ0z$BfBJE?zk-Zita)rO?^A%eeSpy-#m9-E-h` zfGE$_ku}yh1OmOM+541&uxzPwz8wqY?pbmxOdAwjqO>QpnFhs zG?s|(UC8mVE=KZzqOo1P8is1zwfD3@sDPn719GVuvNa$xy5Q|q{iyZH#$Bk z35cRFqV0Uv@zK$ti5I~30#RP*gN{4-2WUI06T5S{GU7O( z*Ng-_8~?b;2IY;cEQ)&Qaz5{O2BOjH)X=AE2w~^6C zL;Zq9#K*@iGFgby;fa5xcNy0q++H;B@aB;3ar2f7Ol&d882v9STT zbc*dA9dM9mWMru#dr4Jw5)!i~J|V^hRIVT>6>k5sG6c$A6we@OCa{g{hz==Yj2754 zlZm*#UcHz+U=RZp(<8a?H>>N1bxW!z%K1`pw$m?SWKRBE+o11{5+CSt`vcApvND;{ z&Sckyp-KL zs`3{f4N-?V9BSt;***84CGDl9kr?-^O@hU%==ZScwQ2DJEONs5vgN3sIW!ZcR?#qr zhFc2O&G~kK(^PJienxyeO5H~P%AY_+m<5M6OnYshdvC^_$vLFaV-TzB#bA%#(dhB^ z$cy>g>Q?n>AOJ?2uM>=wn21Yzk%LTw_O+jf1h>?W_669HU zx2z5h_J-1(pwu#q&dZR=6cZ>=9hDk4hnZeC_%S7^!HJ;I4q(Uw$p~a8ILPJU;mCki~NIIV=Mua|TKx&4dey5d-hd{i& zy`NE1makfegiM&edlv$}lK;p|{e+K^d+j-dbH0dP8=D2~=yCZ3`ey2iSs%W(0;YC_^F`uc}NXUS6(3O~LUhF@ZaQm0e1f@Nkl3< z>czHbmia-+EdKPu0Z zlNN-Pl@$RADeL`uPepZgSNkV;?z5*MAqC&pbGfsGo?Wn`wkaA02n*0h&egQru+KhAi;vs%#6|AR4L@+$cVCDo3F6&wwalg zRniVilonG@u3W;({(h?EIdF#hM1vhvwR&=@$>;T(Z@h{j&Q`fmqLRr@5{lj9c`gn! zTmVZbvo= z-aYgfWue1!bjiNGvBV;$3o@CD^)1@Ra`E3!{KbLUPZ#oPC0H5qQDJrr=3k9UZAhfB zjY@9_X{;^El;6RDeAKZa>K63NSNI6J-MG$M*JD zE{6-mA|fJ=Zf;WQ>Uax_i|o#u@&oC@x|=-Fl%hdRO@gpw;NWm1RF(*;1x`Rs*ebg- zY=H^{<`WADkbEUAjU2}qE14;l)aI){CusT*h9M&(FQ%hI0<&9c<4Wa}V?7Oj_3Z`@dFYplkh3jE$k2$?ZjDPP>LP&R6-mAa*wMqDu9S97zS z(51|mB1HG<*3)H?04*4;w129otqp8x5iTh$tpp(w^6J$qNDwADDg>1Bcm{307)nY? zz$ujbSYwmmO8){Fa1B;H@UtjOs_Z<0Ilima)N*xy;u&_#Xkv>Qv&63t!MSo?mhy@B zbUCU<8_mm{rKh{opkVr#4vO#4U;wu7u$=Zay5em2x?+Bc(p*pgo#4kObUS9cFoYbI20+ufR zX+hA^PVNF~`oDShK9=uA;D44mu<@0bmX?xPK84Ur^Sy_d|NIXgAoJZn%m9rC3|WHL zf6;+JGRw!15U#HIdEIf^XV@FRvLwT~^q*`{{|k8Q>v@$>LS&Aw>LWPTl)3&XDR6`U z5{13~yMrvD_!luNfTso`v$b6U5CVX+)K~c}?Aba2bDk3f94`eEzwqCtxV`cgGpW0o zab7`~J12=k({y-g>%PBFJ2T<@8o2c#?Oul*eD0*5XMT7u?2JYWO+9LyM>nntqP zlZK4)NEDZ=4{N0WEd`d*R2A;K0YmUTYx}vRJA1%L_fbKZ5CJJTk5x`yzH>tKL5zBO zsbG8#p7T);cs*<6?^$%)$RqW<;30XedVvq7U_&Ik?S~7L3PT`mgIW<5QwJPPT?|9$B`=6;!IDqnrsw)+PZ#t~Q;8 z#`<{dZ0$h5tg0auFeY$25Jif{w5u@c(~70nz%%%^xl;2v)5b?y3C5cdfi9O#d6GaN zFltqsmoHqvq$GeG;Q)C&)Ct@qParT51|ZMEBTEec2XN;$n!&EW*B~F^O!G6RkKf2B zDyrP_jSRnGB7lcTMN>p_nD>2G&6Q2$wjlsrLEL(<9uI3!mdQv0{VB_**a9^71l85? z%sq@D1S{#ce>XVXv12i~grVIEn*%Z6H9~^`Pd0xZt4<(TU>vu??$<94uSL6C75bH% zq~1baHN`88dbVpd)W$N|2mUpeg@^3h+9?+W;6uL0WW$H)YOftzEuXc*RF;c-2va&c zi_dMP_y+)@C<4(4`#P{QGu~v11+sY@8~tc%GVP5b_jtJD*VEU}EG`cJ{f*A1Q3&jX zTo4>&5X+YkVamkzNTcKp2dGA#9q;3V;$7a*?KWLhHi15#!Wsgas*IP8Oh;O>!v|WA zM7$%arfA3gf7RRRrKL@jsR6sUqMhyrh#%`Vf#LfbpT85q|@^Fy&tr}sQG!Dpug)6^a8bUtyj+|5!Zaqo)zyfnS zKvs_5ET6eic0!e#6LWQZf&-+#7X)g@Z^UnEClqD@aXW;dcV+kB_ObZr2^e%dK>p6| zMx%oA7zMCHpsM}z#|&fzs{&X6IEUeRRM<@dXVoZZWlD;tggN#UZ%u#>0QsoeU3z?c z;#_-ES5?#Q|FL8~K-wZL@fAK${j)7<`}lk>aKNAh0l%V2&(-SeZa8WbC=;0DL;(Vg1oix_8d!qk!Zp`D#rTI(dkEpH-iFjuYfxd zu=8CFjJzt1670a}Aw2#8G|HJzaWl;9PL+lartq2$B(k${a|ad|GfG7eeTt!$w*HT? ze)%2*56~*cDGYzA0E#|ibE_zSI#viInb%EX{HAu5`#omep>V+Z7KPG;A z?UE}5__(NW%n$obfAQ7q^CYeYah#l;{rpC!bi6Z8*X(;w0&}dIqw1jA2Cawh)4-1^vXl`mIH2mOmGsF^p%o#5~4AHdE+{m zAp~yg)v39s2fBriEM%}XNd@ZKo6vVQHpab0h-^GO0d@@>$t=Mj%+n8pU2!h~6kzkA zB`L6&&Z^h{zyVq}w!XeTPwqLi4_lG!6)_+@V2Czm<-Nv#mhWKK`tLK~|Ef>^>CTi$ zUOhM{-N6Y7aWWgtk^~jSUu=*Gv!48#pHHDf0OiA-t`zZm`hU^*e~Q8Bu)aTmMYp}W zgKl8IdIqu^Hy=buTx~SE%I!C4GB=4qWAa#2S{?C8>MrFU?}0Q5h9PKtLEl~ZY))1s^t+qwvj?7gMM?V8c20SDl(Ahk~L92&dz1y7D9M(0C z!8S)RKMpTnl|H~d2aI$0w5{ZLl#fcS74nY@icr8aTkNhcWz%hQd*c-G9-;U02(Jh` z@B{E_c~b%?#sL>0nJd6%e~FJrQd3h?NDu=cgc+Sj{rN%I;f`b;0S_WdcWk9N zo6iDUvo~(Yp*Y=h_8sRN9^h5)jYVV}EqP5|lDZX15J|@Fx#R>qU}TUAw^c3|t0Qzq zIcKujO4OxnBtU=Tk_PklPj!{LIuB$BA%SV>dNCvwd-bjF9=^TvZA!)E%2V|1QQ|#< z;a5OR1ARIoA^}nmNGB9J>VEc*gbcha5ulwd!C|2z>ut*TtyYB-H3)c!ZOCx^k67Z@ zL0U{mkO&H467#;;*SWHBY&KIR-kkE^fPh1cDVhBwQ*qGxm_isuZpya%)B4s(b0syX zw6cIsM?}Cb<1n4|#;0Vd3i#*SB+eP)96{?AXbSt3oAeT<7lKco;o$_euPDpkx)MQ* zK)cV#=xEQOYj`G*O;`5PzHg=>8%;l$!s;B6?jGZf9zV8wUe>e2T~r8Q`rsf&C&|p) zJ4=}Oc70g|x%{Yv3Q+T*}{fc>)DNF1@JLSzxf z80?F>5p1z6w+Cp;!J18p*Mnia1LR}!TgEP+{sKu`8a6=Z7e25igU!4bVDUl>fQ{&U zN*M47C_u=Dg8;Ag$GOSk75$N5`P*VMH3BfMNRTU0pHHCk2{clN=d&*7)K}KN^oQAh zeNYBD}!# zL2VZ!;-2x}yZ}9edJ&&m7Dg)+F@U8Zp^%_g=fbhXynHB=4vt>Gk&DNEA@RX$vgj?l z+rHNRQcDVqxI_5V5ri81kB0wciAXSqH@)RUcpRyl$yjPGyIXQ&~WbYaBk*;)F7lk=xfb)~xTA3BN zJu*RCrmZ$RGVq~A#Ux+73Vm|4)FR&U;e0HCmX1ywKyLrH zU@i-zz!NbE&i~bFaU|Il@LK7d)GaV~KwjB%=J~eC1X_YRP%s`tkU$ClN(l@2(qM8n zXlZ1#IDS+jQwEj{JzuNOfDZY!s0s8BNc$q^BXFMbO^b#X-4g;Y$=Q2@#EW?l4o)c^ zDflDfNFP5n6g~y!33v!F4k9b;O~a5F=$#18-K)=jOf3B2yH5#{>eh#YSWy_cs9kOG z*t?`3ELqzONA}3V%zz3thCX+5&onXSbu(t%t!*m1X>!x6#3ya4Y$Aon$3y(tE|u%- z=T}lv_C3pF#Yc45IfK!8XdsC=e(^Ltw7aXze|NHY9TWnf!170?BWFUR3V7B=IxF<* zj?U#!G^o)I2bm%!MnytG67=DfD^|1Weoma>({PxRT)p%B^)8k|SXjR=p1!kAIM|c; zF1ZMQS#*-+ZO!vwrF3fO-+O`BA6Fh4_6wiNmwh0pn}d<9=@d;^X(K-#Hf(rjE001x ze5wO_z7|y5DFiD4?)EGAinNS0HRz_xD#??K)dxpW6#s)1HWlV$EoSmJg#%_1@)Q zpNWM`yq2>4=_e-MTXe_$0kw;6FwgTo`OlzT9aKc_;&{yrn^+NYTGTB| zU@&p98dpy zZO^C4_a-;GUFu>oY)dmB*ERV%8X`_NbaH3THhJ)t6r=gWeZ19a0`4)8p7;CTgKlpP z`K!v@VJ zhaB!a`!o59!!eUzuhpbXZQ{h&y@SKde>ird-Bum7)l@q*e2qxs!3svre%CT_-&ICp3C_#bv33$xTT?$oKj^`jm*fqPvavXzB^sixnhtuvBgz% z&_3Hgoyg%%9Qb#(((U1oSv@=d25SoUr#IDvoTjU&Sy@??gK_@X-=quov=>{M#(OZ$ zekU{UFSz5aM@Xr^Gz@z!ENETBYl@UjGkuQ&oI6T`<>pAFk+ zZ3vu8oXz4~snNX!XO&A$ zhz06wBjV%NG&Pk%M5lgghdb)lV?e?OlK2iPkpiKvkAwI{V~G{VAvDqa>P%f@N$W|~ zW*E-#B^^Bsg2=oq*T1>%+(4C)d%JS7n}KDg6XrT(Yp6doR;!!H+QLm}MWe`IoUb%DY?f|CfFoLpQhpr|d9lgP&>`|HZVUawHS zt6r09ie`tyuk^{U)^U9!E&9$8WBGD1HaP*u$0%7QCL@!hRQftyhWg|ul+@HbVs}A# zL%NFd23>p}cT8CR>3=uv=q*|GP1p9j`CQ4{Q@)HC>Pu2R$jIh?ZIM15A51cL{TpvHSeqs_R>e!HV8${DG(Q#xeZ3_;Q4|Mc({XIz}ms$RG}B zA`{JDl4nX_(Cw4DUF9`;?=NiZaqW*J2nQ?urQasTj!{`?AcRF25RurxyO&OBv250T zda@IaYvrSAzOHY7`hAI*K{-j`cU}4h$|8tzuJ_Bv8Y|fwmmo4B-*`k|=HJ;EJoD^N zVk;SDEh~KHm(IxRjq>4!4Bp2_mVmjv@HE|nOh~aX3(?PYQuXJrw#Lyy^K3)?NIYC} z@~+iyTaW^k1~M=?=9eAoXFCfw#r;LfjYO7i<@dYZc`tg%W-6|VPkkaE2esvGZJ9J? zt2xYF{G2v^^~IoX|#mv*U;<$*s9{gBD=u3XMX4N(Q= z*kMd?JFr;Pc;K}&miKZ_U~ZT0b9i24uGEGTB(`)s*^<>@w9U)w9ND}7(7(a4JDg!d zZk5OD$y6>m+)SM}=KLjv@%&O35y|#=dnE(Bmy3kv<^6mYcswSphEKZghcQzlU&gvo zIVN&BHV&Od03gotAG0K6fQ3m z)mbz-R32jdT;bb&_9)KITz1AAxND0v+Fg?by)e^OB#&)KCQAB3eDx>&zF|>_8c$`t z1;0EK$?G8gJH9*hg=^7ht-f=lKwbc=ez8Tk{lYm`j*1?X6J^rn1I z>TC-EkOGDbT6@51_gFp=H#CffBK~EY=q4`S*Pgt_SxSf>AnJ`@4CZsYfgYmeDc2Y+ z(d@aeEtrdSb&gJtXKVJx!xoF6@8!vPlM+aVBwM~7K0x9K!|&@iT%3zp9zuHlyU+tX z+nul}oV1dmgq++b=e-x9yN*la;Tpn7@Q%jI0-H<*U0_V$P|%{=8*8W!(nyr^w5UE{ zWgxW2F!xU!M1@3TnJLhL4rthblIwC!&>I%2JKY*UAm=t38pyMX7}l8(@Z&O)7fb{~ z=pSwdGmyb90|a-K>!tDCp=kS<5NBC*(@8Hx>o(73z8f@w-V=HY@Zq{#qOEdugTBvD%bGOP*ZK z{CKWXUH$A9!y-97Zy~v9d*kBX*Azm&vW+!CvGiXv{vY1nDy+-4Yxf0FP!UimX%mp{ zZUmHWq`OO`8v_s!5b5sjZV(ZW?oR3M&Ncq;_sx0CwK3<~T66C?9)aVI>l)V>zw;d9 zhHgb2^Y9nrE8qBoB}K63*&pMQ1omorB2BPb|1j}?>zauQSq&K3_V)K)#inysR4ZEd zC1_P5Ro%=n!s&cVRwmgmAfUPP0yBy5&UxSOaH99sHfYwuLe3C7pjE}Fe_d*QLH&d{ zMR+y@u>`uJCGUD%`E0oc%NAN%f1a%yrra1mPFrB zU&RdrP?JMd>cQ)JMO-EyH^`ERiLT5b98OU8V69t zyD(4i+)KvPKY_nE)v(bE6AGd@Y#$+_@+kk0xlwCXxJGyw$a6=N4`b}NdynhI?qZ;~ zQMux6-{H|&uUmrrVE|_r*uSq+GqWc%@Mju4{0ewo_sot-I7JMGRx;mjapuK1D5t#jxW7`_JoM)YQt+2H z)}D*q^I{vDx_kGQ`uuFmR@v@qH(n&tG}_)US{!ry?VKBZBPzl?JRFG9*6UFrtxD7N z*US_(E8`ls!&nT@mN{oK@CQ{y1Rp={o zwu8lSbYP2FB0JLgS@Ow4j_#xnVp(GM2Jz=?M}zb5jNn23ty|hyWzzXxL)zcZ$g({Y zytGkyu-QT_$xL9|+!pz1A%oE|nj5J)-!^A5iceGR{!;0SFZ~xs{EWpm4@mjHV6V_& zlRonEoD)V3PV9lBb!g>fCLQx~p-#t?;VBwliU28*on6_u=OGJi4TikTuyhaSeD4d$ zC>kH#{1OABCCba{Q&vqi;Vwxjq^b?FyGb7R-Og&(ztH?c5t5KV@7<{U77)BL67Ras zIYx%YcCyWH5PWe9(?TQfT2?YDm6Y^Rdzxy1991|pN<^a&;o0iWy7=S#ZHC9#WviYk zr#zSXRE@=M@vvZ6l63gyg8R+4#MSlgNgj{=2VVZ^0lMblUo0Y)k(`JnU8Y;NTu-7o zJ?^d?R}H2lzX&y=SLRLcjSjSRovL>G@Pd|T7*)qVm*`otF5wvpDUaUhx-;=a8IA(B zeo9KJYNI>7`jnCF$2O`Xg)4nyx?8)KE!1Wzxo@`2!Z{k-;(52xpY)~jB5@y+p6L-~ zcB@PGn{~5X*B)50%;~pRE2FgKz?Op&;p5C8y4NpX!F47gF0O}<2wMI)?z}iMQ*1q$ zBd6QemiffPwi84vZnrhZ{>!pqIbe99VF0HzlzM>CD&a?Z@AC`QuVjZ^8bedDvHq{%yrK(ReNb3KJ4p8AdrTby4 z-iQIYaTl}k{9;fz@$`J_)J-6g&dk1j-2;#A%l6bPdBGzBg&Y$>hrG+kkFNr9Ht>mv z0umDFj2#ON%QyH}SF=Q)oe;|hhLKm&xd!LlYCe|67%Q_QZ>!8tk_xS{v*`a;sOy{XKP?wl)#gjTiEEur6&`> zrCIuGlr5)qaLx*a1iE@I@p@)q@aKeEA1<`KTolP^XyTxst_1E_lF0~ZZXJUxu;e>4 zA!D62K20}sZf5qq5VcKb{61r*p0~-D4oHfX^ypa$MQtrDuR0W6Gu$;#N!90@Z2g->2}{cC68~ho zei5okx^rCj% zM`8Ukv?TROqcAG9hX>%2%n)*4{ZlQmF3|sP`a*}*b@-4P5p8Qy*Eg^VcOZ*^7zv4M zvD5i`OiQ(nKf3OrG_#$P__Fn+6RhS)0;KBH>xz{(Z+1LXOI=uJ!`*$w1bg9lof|V% z>YJ$Z=$2WgmP!_&B)kRk|@61uVG~ zp*6iQTDd1)Vls+}obCAm005CVscbzJi4Ou?Af~)+<|ZZ#3`K zCVP8}$<{mLBMAvB$vAwOty?;5$sLQNO%9y?GY(C9Sl+ne-_pYT^zo@cwHPVA6|xiS0>>D|6sl@KCpX>ECQxOr#1^nF(Ft4t}f zZJ!bMT_;&emRm1_zfk?aC*%Tcu_5HEs z`D0B_Ok(~o+3!RlOfvSy`H7R&SMV7bnSBnhrPhd3e{^|HJ9$iM1eFkk_ZTq|w z_AueFL*HE-Wy=|F`Rq5zva$??v`BEShEc121+-zaJfO4b+(RGVNCBc(h+7ie#!Kr9rF_>q!YWH=ghgoVKo^uRImi9FAvPjwqx$QLSE38o4WJ zepFxi1J56FOI)%p;l%ZI(ZokL`lFu~65DCttcUC#&N2idSIW4~IqD{!H?m1>AQ##?&e_C7R>pplK-IXMr)Ocd7m`^fZq))cDC;q$n#aQ(XWs(|L zvgp3I+w5N&933P()nuCTKEG2pWpeG3$xjN<2$X?4}8OR zf5xgfj&^pBr;(1rT6+6OMo^zpQK|9zMpe)SYcYvcR%G6j-P68tmd&VIztNg$SZC!7k?TJs-e(7!^YS^Z(o@9> zr$++i|3rQdu|u*}w#EA0uM{sk^J1;e{9+@RE%IH^;?OH{@`y%Jnbu+@EVrwj!8|Pt zqbuGwyoC68q|teB?!FVXfY%A3OYr2lTeZ%G*;hJl(243^4uz_)MjY$FV=Jm#WOuSV z-=5z5WQ|3p)Xp*aDf5b-0+Npx=l1%$r)!ehMW4G#(O~Z^t{p_0n3`r+p5i<&pLBhL zI~GQ-#L_S2Q0{N|zP9B{<+EgH=_CL|$fw%#*JHZMX$ke@7O8B812v3Rbh=`@?e&bV zXZ8wX4@zPE-hZK++#mfb>V2Tn4W-{EK4vZ$&T?SIjOWPI(hg<7z);+Ik$Sz}le9ND zUVZbVtw-ZIoFZ_ZLY+pyo7AQG!jGAhPb7s;};6DBsFbOshzHeL8!uQotCHE^B z7ix34`3fSnUtr)XI8wPPtzs5ga}+5>ia$G7e{A+eAVx^AA)#C>?+#y-wj%3@N)JGL+BMQHh?qN-@TISXIB`25wvaVlRB+={Zt=Ia-W1gGeTlXG_ zuC2}#oL#thF0BXxL^RQAB#(6ut_ezWMWSbr8vTHW3K{p? zVe%e>UcIJiFEm)Lj~@~E*`N*|Hn};l{SxGk(+4K+bInTNyd)VEL8bNIyJ&+I$6(NJ&b4 zmrF^rD;BEijuD6@w{NU1AW>sWk%-NJZTjn?fXsV;$>{iN@~r0eiB_&!I#Zg2`8SCB zVq(5r!&Iik)*6|F=F3;YXFo;yM+Tm!%5j+~(**-uCfo@5`GSotLU^YktW-Ywv0uiA zbeYHq`4+|5qY@Zw6((+&vO$zCBT+7HsM=`46?6UFHBZHDzWdK%y8v#`Jt$FKXJvG8sj*P!^OdG0 z(lt#WfUWyJCVHUUl3BU>I#tVesKS&tj*v?amcrN=M}o)DG5tGfO{4Ebl8ptH?IE=2 z4IZDMFjFY~=sZFnlX2}%zCygWB1g$T<@4@8^!HNso;GR>UH-Ebhr)30O`)`h|IL{9 zu=B<@o4$Kf-*v8>oQXo_eVO&>`JMkJ#e3LrdOf4zd0Z;l%E4-vHg4QdD|&bD$bc&5 zf8yo;Pul(eABuiHybG8}(eALYzz1V`&!)a`=HxVt_CQ;-f9l1bYI+nzlay(CP zUhjxONP5mi?(<-6FniF5PNUr@_)Fa0`_TDObdQ6GGSh*i%uKLIdp<2!bI1g+^!+kd z-CtYg+oH(|Q`{ha!AoZ_^VV6|#Ku!zDeV$vblENdL3|@3qL3%c=X1O!xvjy;($lG( z{S49xzkO@_SgHQc&I%dGiT~D?0&`=zRqE>6fAI0z=S(8tT{8=6V%K2yEM-t)eHf+t zw*Y2-^hr3bl->A}v+ z)8Ny0ej#-O21CP5DB zt?mu;nLo=F9%N;Ac%0qj6WL&SCRJ_?-GAyVbcH zpdN83e~Uo^gL=Nt@Ynl@9^%41t*|(FGPLm2)(#>D3!L5K)<+i?on?Ha;#!~>22_2X zn@e%6kI-Av?t}Nv&U*9`w4Td0T>3bExd{N!K*HGCW2;_d_AJzk+7wA<&Y zg@|KJmU>)hU9XQ|LT!@Jz^(l0v$O5ZFT9tQ=a)-EdGeoBJ+b66asTQ!f4k}a=hLfs zf4N+WX?7vA*K{TckCiI&!eD&zm{?R@J$A{K9Ar>5fpn&p*D945zA|yCs#h_uC!=1v zNnB_(Vl)B6C4aCX3^5WpOS_b*sc^Q$>By-27dgSzE`9I)s4==#Ja$YYmt0KCszfcwcKl^5HDh6_I zdQYkIDDryQ_PZJXqt{zw{(!w8H_o-0h8H>T=ZyZolBwjCL;c?2zH|wHL%IhPn72Nh zO-M}~6N)BN1-@2HXXHh_=}t{DPTaa#U44?#tu3AIv(>JUOo}PRU20V7d+vmhSwN#v z{mEBQrkHN)?asf@hHPS_Oe+)uZc9=khs{*M3qG8JiLcUEq6n6b#DhsnVcl|$1mKJW z`0eTWGzA?Wg5+9ERcoi#!EtOlBzJV-0Cz5u%l?S0@Y2GS9}hd#CVe! z+W&%2r;geNJ7YnvHA!R7)ehx0cJyS*a=v2w3KACm$hd$unJ|jGy)4R)CQ4qIl1;c{ z&fig4LC?f=AH-9|LPg~l(?Cf{QR{D}UsaM_zkwx24%{wgI5#8JPwEpt)Yd-I*P~~+X;gHTH z{enIH5bN3%75-v0!yj)A&XN+_VGWStKV-f4iO*e@htdhjoXwTN;I|~GdJGpk$#y3F zUiq$=jHW$$_NtK5r2%$*A7gCPv5L%MXQwk)WeW1O=t9h_TB9U6!QSyvs#0$3we?HfP8{PdMHN85cYXo7GEu8U1uwv+ z25V$8q@0S5{(+z|onA`oy6~)%^Vqbu@?hKjX=Z;&$7}5|2qzPzAa^XQ#GDP7+4`3*{qv zNM4yg-|GMZNWpYnV1Vt$%iu^VwI6)(tieDUdZ28<>A3MQSeENk0EiJ)YCvmfR+&_E?K?l{D_K>nPx~5r@A`AFqzk&@2li?_^B}*M-a_wq{u@_1 zuKrH}>%m{Za9)JROC}T5{DUinI^%hbQ2Q9IM}0!bi}k)T9|1Q)?(<+{P$V@EU_SwW z6+2*4)Fg*;@vmZUm@H>L+CSWHHb2MUrh$lv}S@YpJOB9X97ef)$%2 zHR!UQD8*#-)RGWIl8Mk%692VQSyHRZL+BROve`Tod6IVS-1-?8ao{-Ld{<1=k7p** zMEyQ&(tI*RPem2Oh~mU3T0u*-l0MRAXGD@w z_4bjdcE9>h~c94&0r@5K8`@!=@wFKN>e$LZ)@MV_wyXB+8kwc)h8dT+1| zL!3$5>8n}T{CKCzx~Y>nyX)ML{ZsYGUb*0}i+_#U=hqfi`y6khD_bD_g2J2#zxUVB z%e|Vk*>v}J(Y0Oizym*A&0d`BEgm-~uC|xr^LU)cS$%08%rMoA8OiTyNX=Yhp7#WI z?sb@{kC5BjTSR-E@zr+W7OJ$eRN?E72)%xvZLws8EP-g*izzJ`RsKz-aJJ|}$CH6{ z)*(s>Nc1Nl(NAM7&YP9G{n=iP$q_VB5X{&-!v z5XSc>RZ()*INIy`tGC^KcfY-jBjhkkbF}E+&0T+hpi{1xi7#{0IfIm_^^8Lg0&JHQ za(dsa+aK?-#5&fEnv@O+c{6>Hm`Rk z5`Sy*qymQ`CkR|AvDHzA?38XfL-yWloKa>A_n{7VQ73VPQ0*h3kQmXJ} zF!-!;tv{=?XLo{H)ovLdN`))_iffePi`mSvFOxA7@>5U;2M99+vlaEutSC~jRHLHF zV_ec=yUv=x>%io&&Lf>rD`}xYOx{Ysz}l0=2f{TcNCBFWx9@x3QV9LC;%0H*7L$!R_OO+- z-$xmq|BlvX(={POux}uW%QULOpk$X>$>T@%NujmdkCmXBi+GcF=*>0;fi39+9UP z3+nk$zHVaw2<%25nklKkS($PXR@gu#>TA&b!pj!;9YckUV>UV*3dvG3fWsHr#|L3Ty{qx5C z)WGw1mp2Z~BW-Sz8MB{zpHhObGttpWzo1hN#J1d3_Z{dh};VOmtlTS>nkH#wU&`- zG=jcV6bi?@`PRLyt|#oLrOq>7zYaM6dIDh>tXT$D@l#EEThx>x--!yznNOjuwXvE+;PvVqGFj=P$;S3^vwsd%Vk<*EYerv zqx~M*D_{_`nnh0%v|uLRlZu|UMrT(J3AiE ztKH0!@}B4{ZDhR#MfcqFACr=Mw(Zo?mmp~2%q4g}t=vI1N!#K2ps^6JdrZpLKJy|o zilGb(c&NeVkh7nanf}83E{BuG3(Ls_;l(Z^KS=flo~$ZRYFkw}5f7dI+B?Ep1VuB9 zPI)!pNQn~Xjc3uMs$1Pp^~#-pQzeY{xs##&l)OleSGR^&fONctvU05E;)kdzT2TBm zp6Bvc2PY%FfQVsR4HkgFBTOdQE2@{K zOv;M0J%qvj89DiK=n76pY%DBEiwS#y7t@y0Y^Z^;37h?)S*s=y)z&Tl0oI@5194N& zp%ZNAYc2B51}Vu^1D*EZ2-blge_Nx(sGf0rXpB;ac^bvh1s}M61Q(3^a`h$R)Y;#a z)Kzy*nU174ie4k4?vne8uP3MRnY;)iE2B|!kUQa8tRsm4Ap110c&@GH^LQRd0^f{y zR)^g00RanO09fZTH#ZF#{{0=w2lFrzvcf-buW^ZEPoT}V(j8QTH(0GeUj%*mUQp^7 zcgFcOhY~kQN%LQ36OQDhsL8l2r-+{81*1eo$7J#QemzwMVsW};rbs6?{!;{Tj`4C= zJk9my#4m6v20LgyS4A3VOLg}>npd+6VEacR^t;lYcCefh>@{){Y8ONRJApzO>TT-0 zj|RHE$=Jl)wjtFwM9F-{fX5J^RZEznudg30Yg!BI%hI2CDp;;{t~xT`8}@dr1*nX< zp1!ZE2Z?X4)RdeLPw(Yc zI_ZR{+ENWejuIS*3+Kn;=8`#1k8#_PdS&!x&1R`{o~@BE9F6vq$9+JHpa({^%m18XcZTLO)UIJ?D*|Ccn*6zH#@atXsN0V#A#jnT- z0y*sFi6MuuHP$Yzm#}@y zmtQW~&0(le^$z6ut0M)R;Oj!bM$AN>Hdw44_DBC=G4qv07R$3;syQ*|2XlK0C2BE@ zDcUMWbV~XeH7S{?sWV3JA(OlbT=i9`6of)KYetwK>bGS{;-0^r%O6JhA8y2rNAo*} zwbCiUd(>zGoAekaDd86E|~1lGlO(N(FXw%7yf?K)roAYWPGOF^~q47^=O4g zt#d3JukS4#FcJ!Da53v_4#_MdHui5>{Og2bFI*yrq|{X57i~F1*~)VIZ}LFkK$yb9 zsyiv;dV^RGC_EK7+ga@oky<6~(|f<&6q`)E?+B-gS&d5|QUAdi%9zWxrFWE}8D-e> zM_Y4pAbs>5&+Q>~rZ7IH8FH>1)VrlgLIN#)Ki0n3+k&V2mdCw5W7hRqljJtr$Pzj zVXXR7PXQsohp%+C>K>3=TbWN8Nxl6@lJ}55M(8Y41_}3ufEmBQptMb}$0_gZ)o3ty zORNN*Mt^6{86CQ$f&=jpK7MeZ(y_tHyRqp`F0qQ82{pF#j(4w>V(n5qx~ZVe=UGeV z_4EW47=Kx& z7y7?AlmAz?{C~r`d>uMJzpz)m5iFm5Ijrj9Hh85ow=KvP zOZtbqF3&3g>}oB}?`#k0W@_oc6}lv))2@AYP=Lbk?AFp4T12n@T<&~X6K$->mY=V| z14=)^%!t4bX0ia+3N$qJ7UqA_l#2P{Jy@GwyP&=yIEX0JZ~Yve$g^#0h7Xl6q3Njg zwC?fGVc2Ixmb8}QxYU1T@r^$k47=@2+Rt%VZNNxZ{vVR91ld~E#8?)#Podtps;$ga?EjqDz4E_d&q!sq1U+l$DnGl_^K`T-s=B53DlSdv zweB#R9zX7J)uLcy3))ZjXQ+x~R;BIci`|iMKg!i!neU}Qc>Z&g(r@YNJ_@6epHop0 zxf|j?w%E}G`UiG;BF|2HOn2>HgE+?iV&GzoFiB>DwJ=!WDkcv8smQO?i3mD`*`$!8 z_zmq+9xXzV&g9}xok8x`DQRk-Gp=uJ8BXaQeW8q?8|q@}FRmuKCjs|H37y#vX4)dg z6pU}${D_!FEjFGO0uv6JPKytTWK{K!n&BPLY?2G}L!5N|T+)uJ zDkuAi1&ZFVYVl!ttBGpuc;y0V^QG0-1%%F(+k9zVN;wfsyK;TOxtC(VB=fp7D}n|_ zZyLC0L5fxd>xyBe-~wNCVfKM`2k687Zzs!a8<`x(xy0$MXJwYT?dJ2CRI=4N&{gUh z8u$6fhn%fC%(}U#n}7cvHiZH){EV7amQKBPDfFzN{J(Bn)!>ilB}F_KV?lH%SaNoOc zI+)f}ZI2BUJBx37$nxnpO*gpyzHxO=jt19Qx)cvvvWcKC-%%XYg0ckRszT0^&3OW* znbS=>1m7(#?Rn?-`_6mFj=%wWxIXq%w45ZW-iZ}jg%HM4!qI}(q6W>r5qaA3fS@4V zo&na)DbFy(MGpTaUQrG-oy-f!=rC!tA`60k-+XoW!_|kZ-HfO2wlFe{|I|^MBe!KpddDqIKr1) zZ0=J}aVYx+?~Ac!)*^15!Bhz_D`B`?ry0Aa=O$UFkV1zbmgwr9H?^s{w;k9_-+G0HX%NcddKc zq$miA?-Wn*!hgM6-_h#R(ziM<{%}vD1~x;v0KnOxm_h%he-L6y)92Tz*^o#eg|5&U zP9`*0*;xe!Dmn0A61N$izC5m>AG*udDs7*xmRv_a&0s%>RnFtZD5sT>h^;>Ky#W@h{#Lh-9E z|14LRrNps2o%{5+7YB+}^UBQ({Qyz$W=5_${YDA74Yox_=WTglB^edM=`VW&z_<-- z{q?~VrFIFW0~@EO1`6NDiy8Mg!XX2wsSqp03oRJo3w(4{^K-U`yqyO)E$Ep6a_4r3 zBxhLAJn}-5OPG+8tFKl;!p`nzgEyDWHq)rpj1d?!`AgpM|2c>(ybC%gPlYm~+{Ps3 zhX>6O-hpRq&}aoZ{9C5k%H!cekN5!oU{Df~fWfeEj3p_^;yufJzGFU>HDJy;xo1I+}Wbz1ir9`-TC8yoxrpg^QNKz0lJ7&1h z?^6RQ5<%d=AXH4B6ZqN&cn&BIe0;o_Z7&~|mEjBlyAE$9;k3VI@@210PESwL3haQM zgvG_P&h=ld*~tjcZ-!pMi6?!C?}#C{PnQ#yYW?uDIn17!GyuKWDe&43tufoh=GxpRze^Nn}g5>0hcu+9=Xh9^=;;hRA}6Z11ktlmw9JGGex_ZX^{S~|JeAVV(_wC zmgJt$x+fIyy2h3*shPbEInp4jlvyfcL2o5kyGi*xI>2_0bl2^0vGkJ^IHT8JKUY&j zv}1l#X*HK5YS+^hoojAePsGj$^!D+_hD`GMQ}DguZ;MT-PXkK=aJw=e4Iyc7Mjj++ z4duvdEi`uml0KjamcMZW*I$WYxj?q!{MJUMG=1D`5Oi30+Vgs!5-ii%X3Fx_zH}5q zaXMi8T6_J8CWcMYnrqhtcYxE_Ux{OWcO0*Fzy)+XT+D8 zs_lfLw_qb|H$Mp$oSz&J{Aq zM8w)265x7+-5%3QAam1A>2mZaes9En1H-L8c@t@p zvs2wQ$R4BS*IU7A2-gH_#4jLNMtNL&Jra?F?xD-jlilH6y8hC(p4mti;2#9vm!ls) z!kHJVh0ZC+BYsZ3q7{UGTc{tU50TPr;?1C4?I)apFvga$HJ%!#Or2frpR{JYgOVM>zOuR2?-D{Dw_2 zUzW>|XfHHPCK3-R)2Ez;Z*YHN`FUbIE5uA`rlPZnhI0}vNQa>X_Mrf@c@)f4fiDDL z&-wz=fAdYzqn#jVOlI4j>V@ac&>r=yo&7>aF6k+q^nno%lQ{Ekbh!zxx+9sv2Ww-q zvB(#>=>!OT)119A%C-~m-z>EQkG^Z-EcCS&2miT?3nG|9lJ3cP6M6nBz&pBzp1*~s z^fhz|Bx>@9{a1Ezss*$vw2cjac&pQ6pICh(ZmI$Q2PNSyuMglfoJ1s-|>fJRVz?&qp2@8R?4LeJZji=L{}J#Nmu5 zNpNSwbLD?{0pcGkUB9x(FG-c9e4L+r>sw&p;FF`#zbE1UU1)@#hExCXlwH&FzUzkb z$D3LU(4oUN1vEFQ(lCJyq#JA?kjA9SW@R`AuFsM%D`0Pga}%{Z{49Iij-=8V$j!CU>OBJZqpq&v_+Z^Ii~;T=%5o zATbj7Et1_69})BC*4(247xBp@O0_$?K8g(;rEl)<@fJ+&{)1Dailb7T zC7gzfOY~~Tr#xpDx^jZztFvr+{tHE#Sa3at&KrpTF{6dv&dZYg708K2E`!oANn>?H z`oM>oPwU+jns(lp`Pdr(vIRDX1QL>)u|>sv6+|*@6|0pukyRb5+&8!ajcK0)l`6=F z{QnSgaeaX4$_b5bH%KqxUAl`&%Yh%se!{o07V0-WGrcY!k_(oO3Fv>k@BR7tolTa3 z8_gO#?u|G&m9Npt=i4MeT~MM9GlD|)Pg|qs&EbASGfCqG4(;ic`w@3tPfMZ%xI&Q- zKFIWvSF4Pt*05_2tW?Sr5E~X+y_01r!LzUbziBbYE-XEZgSOWa+Z#F5z(mAp0qgNs zGPW^mPrJT;3mhVxu4jba2jezZBbMZ~bQ0}GxvDE&K0!f2E|XI5nK$_M@!xtcv@n{V zhxntf-byzfuJ(Nf2h?Cr+e5BOQz7snfqw>={6&dq0Z}nNq#vF3EXNl5rcJK{*4$ zkPL}oIH*N>OUUhoEE(Gv2b-YOy`>S%m+$^h{ElV6V0=^X?RySz zYh86^WQn{HEgo{G1{=0ynNM%_29g$P<8og{I<(*pmI|YT$4CU4Rraxz>$kjM4IrA?yF_xG_tsfk?k_EXT{iE1BMG!8sj=i-4Ni^h=>$vHt*D;yt#uTQY6P%TwCk9)hd902W6<-vj$uam3q3*pC=`S{W`n)=W^sC zD0i>_z=t_`4iy(Zd#r;!k-;f$-d&m=VvE?PT@o)TXF`^ zCDf^Uhuj4HQr&)*oLJ8>SsiF1g0EBmtnQrt=I@^oW%Dee=ZSFsjl-&V-g4l^?y4XE z_T4&`(m)c|N1>&u0FQ6qN{b=TehU?p81MQh82dbQo`RX6Xjah{@*oC#)%5yaTOM` z!X~TcE_Op2C;J{9(IcJ;E5sHw?Pf{6W{&i&y;}YS1(-|X(Iu8gJROm*ld0HkyPk^2 z; ziwi+}0xk79nWf2`$>{AXnrPMKI*7qV1mTpgdnf?z2Di^SgV4RSyz= z6~|kdp*woM@d!?MNJNCcq=Um-1~kOZ`_txsPa4xViH0}2sh})*w8HZDV5?~ zq;zCmHH)LrML*7&b&j(5-=C^jr9WE~Hm@3#)ch0>HrCf-sPGGejzcWhj`P~6C!23- z?Dld0V?{kB_^ZgW*IDhbL5F%C?Romz>2#ep$7+xod07S1B(pm|CRsz_VUp_ zQ<#D=JrrtRhA>4CH_`ZXdI(eCTNsP=nG262+2Z21R5pqDPnSo;pS{Desf~g&<>Jl! z=vMmN8SZ@FXRw|x+Htvg;dvuGD>n#J(NlaxMA+yOt~HO`bAPBL8}x+v!DQ9+jtlg? zZ2YEYz;qH|M=l)2eh`n1VMuZn%Tc6?ok-4BEwMtkjm($XJ?(CEXK7H0EW9Yu85V_I z;~i9ixs2QWWP8F}=qzw(|BRTUb%J)X+Vk?(TU+Bdz5D*e=mbw{+C< zUo#dL??r5lXJa&_oNDa8-k+RGdf$RPB$h-myGZ$O zUu0k?yh44(hevW1A?+@PeSD5lA5YS5loZ^1ooctr{Fz_5D?`3|Ae$t`-~P))R18l4 zTkTS3?gq!JzW!l334~l9#OotpVP|vhU?~RkSQBco=EvOcx>nLq#D3yKvLdaG;<4tG zA{xoCL^rpZcJ&(FMwvQr{WEbVR3XLmSMO{?8qO0Op$)4qup)yKNJyM;j|pWGQ8|D zcC{>aCD4vfl6!bCf!EZn5?}Bci=|>LPxZ$%2TGw!22k2s11C>*)oQ)`jb0&}$T#8z zPF58;U(Ar1>F8@v^0#{L=ceEBu1mXlqU~aD^(Cm{yvv?FSQF=USR#K!FMP`i9jTW5 zD7(K7#WyHEMd_dw+KY?A9ge%BSn`5%EC>cu9wactipeC(F=)>iSdDY@yI%bK8QUfe z1Kq}IK4QAuOxu@O$)d*w6>N^#extKgZ&kPI8L($5P=}E!d|gPC3MrJS8ML5ab4P{K zh&E3sv35vl7ClC}qTv{OPcHN24?Vou`AEBsAhOUE+Le6_?fXmYdWxR-Ik76ToeR|$ zPh)x9t2R!)J->6%UsL^xgv3Iz4T@g~MHJCoC1mKzmh&)lV^(Q2QS932a!#vDYh6@e z4qbX@n%H{NKc&bl6kn?rYnSEe!vlY#2W!KsFSI2k9~>xKEY1~&-oA}0H&I3ji_G)5 zO;JGS;h?8>_uk;j-QaI&W!d+H&p8zGKb|=q1jiTOJ=tH_DOLl$W+Om%zk&)kUYydaR##K(qpIC&?xnjoiovRGnLf$XjQ$H}J#}Np9=& zyX{@4xTM-J^9B6Rd+KLQU8L+$YD%8^9hbP0nnm*Y1(C_Rk};K^;b``7)D&!@k7j|r zv_7h%=oxu?A+dfaa9m`8(O?cgeRN5VA|W&<;)x-JNjvlE$p)ie|XoY=O#g z{G0D=sSnDS~B8xrIBo`ThyE8?1 zjm2tj>jxu_Nl__vfvucyRR(8{BeN*xj~#AP^~YID-0sJZ`7VM7;9WMK+x^?O*FF!9 zMi$7=3E$J;#qzqQ+uEBc`X+SedqXza*SA!--Qx1Fa6*^qR*F55tbf0F-)N6N>b^5j zU^qC0xl<~n0v!ho`Wp4l zvC(kvSC#jp@Mz;MG2Z>^ooTSfeS#zTH&<31hx+&7tct>H12vwqG-5l>{ZP3VaZtY@ zc7C|V(AO)}*gwcvX_uDZj*nL`@do1T=OyK8SHN8&nQRs9{lt6J@?THAVZcJhlUQ{s z2zQF69$1N#t;-Squ#5atD8)bgrB0W$R5zU2KQc3%=5e5E$yK9-*}Hx#IQH1ND)_=wA9WUEy4S2j)A0o8_d_Dl#}akf8>yIwYhbnj9)mT z_`RDpe3?Wee1z^xm?a-tm{Ke>DF%{+ogZsrTa4~wsE2<%Qlqk0=c4}7)~oEW#hrrK z1+TS+)d+Yz9O?|Ue0*LT*>AGIjMjPAza(IBWb85%unEOd8Mu$%<*SwPoyQ&T?yn`H z2H0%#I{N9#Jx#6t&>GmIS)D**ztm;*w)nX>AJIiPQKg@MP{tBPz=9>sMovAS^D&qk zS48A+tfm^;V5?L)ukbC2$9|kXv8uB-?ubH$h|fqDmiQ~_VUK1_>-9}M(%e7no8H!= z{DP^f?%3VC{;@d9EzS$aypWGCLwZ2!e%OH9CI0i7yUXy#Kn6KdPD4;{<>8ly?_ND+ zxLezE1+0R%v=zgsWpl5r%u3*fk$J56!>qnX6!xf9=TA?^!k@Hl??5e_H)6kY%G>QamfyIVr z7BHLpO{K%Jg&NZrFkH?Tn`>V#327q^dJHpVT?hhW???3E=xD{*ZaJ>^-L2oqlrx%+ zAc4-e{&LHJMT?)OEq@8&QMdniRxcU@8NQ7;v6tC|(#+I4`afpFE&(f=sEF_| z`!$aeY8khgn{PLECsA?Z7{glpdsuT#shKR6quettU??0$y|+{Cys1}Si!YPNE2g3n z`B(%!lumQsGXC;(jTtG<1vBvE^h?_{&g)aFChJz2b2XKd>BPdSs;b)?HzOVopTC9< z=0IqA0g|dD<>=B#auIe$T~wSG5Y!Xdc=EctTOYr_-+FDN=Q_Z-)LrDI zZ64s!f5zYl{?8|z9a8uz35NJCr@~1cFfjv%(E+!h1&I6 z!i z;Imh+M8<@&pmuo1Cs$!$!(`a?i!BkwY)#7*GvyAHf>cWDw-~5ZiD4oqBm(jhvu7)h z%10Z+>6@o7u&V9bWN4>Xelbd4x;~q!p`YDtVTeUW^n)wfU_(>yJxphj-OjK0-#vol z5;W@Wdc4z-{YJF~@9T|68Bv&O`@F&1!~|a7Yk6wd?EzMZC;Q_fnTalqUME|VSSXqQ zd0yhlm!eZO8)62EWoqZ?=9OPR0`1!@v4B#*iL7jaCaOO00LEmEe~!S|2X@ zHMoLgV?&m}ZoA||-*7@I+qBu-s7j`tmSd&$3HAwVMvn72v4Dg`z`miRk|~TQ$eXVF zGSW@E^a%NRdpikYF-UV-Sp?$678>aH#g!J6d4^jxHvkbLCF(X zBZ0%byp+oTB~uy{NIag8y8duV_}!dOMGoi5Lk%?0ufO^R(lZK{O;*y{<7`q3v>(*I zU^C%hG;F$mnTQ4kPgBU^^rBCX0HtXrbk-*{$jJlswX1^&As ziZvYN1}9DW2wPtTZC-m`q#uYp#fEKK(8-p%mv%9P2URN=I8BH1iYG{nkkBFpAyr!J zs~BEgUG2+NAQF{~mI+SAF1C^lsI=CHkIj13o{%vaR#ES6?}TfHo_DDihu}BSXTPt& zLH;CIbyXY+PuWy|^v%Qx3gQ2OqKtII{!4Bv@{=T;!AB#KIAk(3knIin9#ionvha5n zye*jHRHB>9E=?Pgl}|RkSRGr${?APP8a+f2O5ry=kVOeYs`CF3_m)vrhT9q_76=Fi z4FZZvDcw>k(j{F20@5YjVIa~X-Q6YKAT8Y;OQmy3E}A>nK6{_D&$#D|d&eE)-aCdr zkg-_bx4!kh^PTf~p7~6O-ydtosc=YscC1`twzoYzW?~2{VfI!ydkqeC-kWYWi{VY+ zd6YOG)2~&$Q|+!antMoGIM-@aBq-oY{>(FNCU6b;f+XvZ#EcsR$=nsHH9wd@ z?{TaT&Xh2Vxbf4yvTHU9qHKluwaRZsj;@G}BBXR@Z@zdK0TZHsRT~N6s#?A6W9OOs zB>v`gHpZ~{en*2wbN_(^lU4=tKIa~n;8U|gTo>U-($ed*FK@zQDj{Dfoth2UE{#eB z^<%YSriGSZ2n-F#?&`hE@ntAe6di|{_z%9duu_cnJZ8-n?_gn`kvBtEM*gOQG#mCO z2|2rJ>^6PuC1fkZ`3l;f_ia=QEJudBB@Qe!1}|17IUsI9`5I$rMRjSB8%ofCG*y2mb zjei+DnkHIM-TS9&uxNLOa{y}pfJ37e&2>F=-XSQ z+vb?ITtaPY99S*pDWx-2A_ea;K7Cr=g2rlw2+;t@DXCmywZw_g1Kt`BN*^533`bt! zPfXJ&cB?Uc)!u|>A2n4j@j@25N68fg1{h}Q%5UfYtfH6L*#&=7^+zqXf&QIdBngbd z*!3=sKSW)|m{#r0usvdz93tMH$8jN&T9S#805l8(vfb99Vl3_Hinn{-TRC?V4wbRS zLvxWUS&Xp}t>&ATgZ75XEg+BU~AO>*|45`Z+!}1 zuwF)T-1};Lt$h%rhy(PevAY6bbBTdQ^$H<4#Ebsiy?k9PiSnD~AS%2=y1Ezg8L zw014yemP6PMvqQD%722Wo3kl>_VA@tD9}dOCdyglDSAb0MQ<{twCWsjMFR-+M`y5C zj5}{U8+Sa2R^vP=e2(|SkAsA78+pwrm`oxJv;1fLWnrV2YySTYC%ME5004B;DmEHL zC$u?S|H80~jprr{*&N1`1U}XILewtF^T32^$h5fDWtd?zDJtn7OMVHb zf$ZbXS2{I(xRKn9`s+9;rfE|Poe?4ts)P9tiG*v`jtg|IHeOAxHWXwxlDL@N_bZbG znKKooW|ku<&83L0h%pI%_fyXMEF$w~w^0ik7#OPiW^YtWoImVa%`AyPEf~X{+sMcS z`2%KPLMPDB^wBKVcU~raM?;voO0o|;24j1bFA6RjN)f6^dl4PP!m*^^_0zMgxcqW* zdC()Wp)BL0&jt2Y1_6*$;+dPNfc1?+AU;6ApRtCoktE@x)q{ZvH)0MZ$eEKiS_ zN}~$XA}z(GMoh#!P6{n{X3i#^=f*uw=C0J-jCnR$!(=j1LlH1$LCY+6<{y*Qe<^?Z zAoXqUlDaw{8$_hJh9EfeNeP?1i#f9A$|#8_DpIGDx53pYYuocC^$CY#JB`efeCG}7 zAO3jLti|8;kCAzoqAT46N8`#ba%+SSXn3!}-F=pezw&HVlRH{n{WjHY?7FxYgAJ(b zU1OHd;TBf-?C;2*CYiUofO_@mK7}kO{GjXuQ#l)W{cpQp^c=(mnVQ3nWvfD;z`4W) zp6Gpor8jzuFDYyL&_&_{<|08~<>jfa96G?@aIG1 zXvu$s?6X|etl%_9_yUx9GLv)d*Pqe2G9Fn{@L{fm3&phD8Ec+_ulBO1S<=2dqBPe*tA~klRoDpg{L*{fjSH59 zTJWh+C^53bfX|(FY|$uetyPaAAjx`_=7RNEHa73}I6TiB%V|jmxdy^4388>-s}!k> z5;G?!gxm4PEFWuE*m|kM+n(t678-aXLnX%DIM3duFL73cqd9@Xxw;_p@e1+|#|=T5 z$R5`+voQ%KkAuUe_*rD=uaL=qqA3Knzc+!8>_;|2C?;k^5`U>7>|@ctghOQ%@{_hjuf?} zj&8|Bmnu8Bhb>!umQ55l9Zr1`%^5FeX))1&x}`+o`DIsS!aTMd+1opff`*?5B5qE< zMc-Y=pT*i;S>*^qZH!jq%~24C@*6vD#Bn#fwa~;v{PrpdGb1oYCsT`p+D*kHzu{)y_n| zTOvQh*&c-XqB0E3Dex(UWyQxsTie^(5Jes}fA=)*$xiPtP41H9*4#Pa!}C1yKQ}NM zO83Mw3Zak*{cr?>AlTjT&oa8u^=k#Cw#(m%B!x3=QvPf#I0KVqQTKD-8^1Wa$goq( zGcy!W>%WrRDD76q^JGXJky%jS1DWB*2?D#k_bRxP@_Tl$ue(k3gJc8A+q9XIUp%A`y)LQ%)y{J?-a;kdn!CZjQ>j>&TV66}5Vhv~?~v2t%zr^n*`uX;d6kUv zG8XxY!P&j13>2t^Z34&>^3sl-FG%>tr~w;G!G2J?{!R(pZ%nLt8GV z0+rCV8vNI4uA#_zODH?icqYG13Ia>+ID{S5u2J)xPjxsd<_1N-!y>#`UJtH>q0o4b z5wlL7Dr&~iN~%0_vmtlu5dFt!zzmR|+%oSU_YCK`sUOj>OGQ+m26WMA)6U+cT{$n0 z%W?K72?0eO`n4@tJ!%<(&U?yi#oratkwFS3B`eD0@u-Yh%oPGOg}!vp+5`hdWzIN{ z!Jt_NgnlXbtbmXWO&NYgf8;x4L>ZAqp&tX-p;Kmby{d|L@yB48+1WM&AT5L)R3hQ< zE0rnXWtPWh9X+oS1-(*SFXT_Spw}yBF28>543=9$ZI3Maxx3@vRq0-4cdnaSe%q(W zlaVQl^$1=U0b%?lTb@A{;19A2;h#=~*_N3>*^B;@lez|BYp9AC0DE&fqhbIct*haI zSKbb!s<{V~GBWWrE@h5n>1FS>l74Li>_vq8SlnXz)pH`BBykl%4thj%yi*bsprotD%hc3J9adO^Zq98TPUjG!`;E6cwByp z&#fvGTN`huR){7jRa_&a3{@_Q(h7odByT5Pb+6LD@I=LoTQ_gJ?R`4AnFQ!$XByqP zZeVe>p?3K=Q$7W}vlO!~DgzKJn1l8Ss)@e`mN$T={0mWROW3`+C1mY<`IP9%x+;)E z4UD}|&Py8y9{oA-l2jZ^fao?=Y4$mlUcmiN|9sY^cnBEYzVeAVver48)$Vl;;Y|B_ zI$kN4#a0ZvBnD}GlugMv(&@x2@^iU_)F3aBb-vmri(>~MoJxa!yAMEOFh%i{L6KD$ z1F+}N`}N1J_ki<+UNPRIpq)1=MYNfsxE=hJXZ1iD!;Kq`RW+gAw1$`%BimB{`1UKf zgExo)rUlb_P9eT$@3J!BRkV0!Ig93l>6c)j&m;PUM?m7)tZj%gMlcl=CsgK0>J`q` zCZpWF>=z6P^2uFhcv=WZn)-{tMHChE%G`s*$mPqP~T)X5KQ28xZ&)35H@ zn;RDuA7ttTF(NZ1T#pAz!E0A~%u??+qf!~?3{{} zXVNTCaQG%awBEXFwi*K+|L{GvbEXB7v1ixIW##2@M=Z5A zl0;WKGXeY{27tw7F&AZ};D(3Bj{6C|H%iHp^U~5{gZCzcy|+sv-+^uuQ0Gpo=!p2F z4d-3h{Gcn489DJNNYCeId>YHJt5#x;xD6d;;w(yH0G;~tSl3)#V(*A5EI8{F=A=Gr z**$DrwUra}ZP!A4?4ZWv2Fo7u4!WDj06o`v^cYP)(sXo($=bmcywzoD{~}vAy983gNC?Pa1Mx`{|3) zE0vG};d}WO;m$XNS}n(qjQXk1kD&87HS{B{7l;U=Dwx7J5BiT#%|z$*?;g!*x6Tbi zEsI8em^I73Tm6`8>2TSgPOkXfw9fOp%4H+fQhMFl>7KMCIuRZkKM1?kDGOw7@1DY$ z3k5-UG+E=WmJfSbnP=rS%Z9q@OHk#iZ%Wzy3u2^e2L#xjk~26rqU(2qJtiddv?9lQ zP=zD_iLLwO;#8ECmfA9m9GF)Kq>Rktp-SkC@+iz#sU?+W^2VMGqQMuE$DFQ(?zlK_ z`K2nli1d6nm>X+>u=|?gQ8NIxa6m~fK>V?yhfTzChJ|CV7nG}e! zo<60SY6|rY%#s^9X{h zLvEM=v^+8?{Una>p!DeU%4M*^P@R^%JvYmyd_H~n8_;dYe?76jbH9 zE;odEaSf9H%$IEQ&Q7PUMbVOaRxicSheB_S5rN z)#y-G5W7+^%+-vgmZcV5~DRIs{fi#NDNj9JY+UtfwOzfu=|P+G~7;UO!G9eQUWIOxlGS?F1n<2pW6JnfKS zmrxkBl}l?aG3&}Zzr5NQ!7~ql8*>SJ{39H0;%I>K!$!!xHy1)w^2iNatY(hF=GmgC7t~(fc_|S0nkw38>^7lOY%&^Unsdhgj z<{&OQDm-j>2sQYzy^Vg?2ckpao9VXILo@qst?WEE{mDt1$8tSC7;>b`_xB0kEZqu8 z*xT9wKn?Tm@jB;w5Ju!D{Cye+3A72q?JBs%w2$Qqd4?pR@y*W~c*;)lLYrz}qsncy zd!KUy@1v{Z)x+F=Q>eC{z?b9wZdLPcB^nv7gQ$7$M8tm)8O~xO#O;wl#@zeU? z4x~36AD5=l^$i$IyrhK#fC< zpp%kCN9C#Uy|7yh&oQ}abX;9y)Y&~anc`14EOrFYin^jcOCVXk;!V51LrsbNzI;R~ z_`^pIU$?Tr@PARvDH-679QKg&L_b=uU^O{?0;4tLl9=Vp`tL_`=L*-0%cMw7Ct@hG zK9;057B^zj$m$B~eMX%WB#l0$N~7{0(6IYMoS84S4Q`LD)qTvczO_7*2*&<{h2!rq zc9y!DSjP)*kPENZ>Yv^jXO<&f>};czrv_w2Ot_S)mua27ta6v6yD&yL#uQhL-Km-a za(F@x=GGxHgKU)y#Sey0ASp5!eZ9o&V9+{p4Xl|HG0St=)18b*m5U*jhGs^%KAYFh zyK)92zq5Fw&isyMh6iMV9`_+BX-$9k93IR^m9yAf0a#oU^`_Wp-AKHlRh>JL6i{vX ziTvB8o9|nbYBdb7(53WoaBMrkVmU@S_ven+R4?#Aoe8W@&VJ{I<$o-Y|5Vb&;vdeP zaCvK9$Tl&k%zR?%HfA%9p#V|!gHjz@w2<*7!s>0;p&rwpz`-ls3VIBS}Zh* zvrXE)wos2Ly{E%|S^S&UCHSBF*= zbE_mvMiR&yjB=9>i+@%V00yl1`QKq}##jjsaOt`3Mj!{GvEJqH*SCqF{{7;45}ALj zp~z2&ZWDfZ8)T#C9{@oX_^$~`{~v+ktvpp8$V&=?gE^F+CA{OQ;YR+9r)ALlf17%K zJv4Hr;o?>|_w4Fa#Uph0%|c878m>y49#_crRxtC$@)kig5dsxb=hvdhA5Mr`J-SU( z?eLDW)6a{g)h$0&L$Yp+c|d|iyBmy%=!5n)%}HK0<-h&baR@$6mU>$y``A>CN0m2$ z2vw5C#dm4zd1TJ#d3+bPfbtV9e>CblQ}tD|fjXrCw*I%NfM2&Vnbq5%oCGdV+F^I+ z#^$WgsaUnJ*4AkR#S@*{7-)d{s-jE1{<+)+co@jlF``w?p=ha2C-`vEXR%s9fas_SfA9ic>$fC|4$?#F%8C>n)62Tj4}TX8AzMZ^y=0YAk(F;g^&I z1k0fm1Zq%`qiG3j^e58Hu+88a!lxFN{n`Brn8b13gMR~-OFE)RL3#%YyhcsUS3jkX zL$)*2mbq6<^7>y3LjgQfXP0zEOHDEVXDvS|fYFNG6%V{NPQxzE@?!|gX?YzSJbJ_v zlCZM2_T6Fe?%p2zr8l$5#N3qHlf}!ow5KWpD`(;})=gelV(!v;L^Hg~e5nAcrk}9s zfqxGCT%KnZ9tV*W^H}5E_hOkuOg~-!e6Z{#fMfCoDgVdZF-x>w2td?BtgE@f9qny; z`g(1u$TRFQ7#9wp>bl9ouNT#>Og0;A;n3%2zOXxGhn9KJYgJxTl@kO4?A4}OB&^fG zr24BN+9%&vC!#>@@@K~DMo6O2NiO#_-#T=;P@s)TaQn!rt981PTK|bIf(pP3K8J(U z+@2pcrP%I~f8d8B}riVp-ro8}n6#6)wP#EijIv zcylBK+b;65AHVR6hm~#Sm9H`sHF_RLo8CpEvj~DTfojF4`9&pWVRTTD+1q{}K<|q}0iC@*484}A-$<>oD1;(>egSgPl zAwkFuJLyb(b+Yrlo=45QqZ$^#i4JqQ9oBgK1IdO;9nT+vcmd-X>OKLS=s}Pw42$j4 zIrVMWzoTqxGRVUCZaww2h1Blpz>EIHAdR{-PCKp@};z#hD=EdvP+!374|uBNIhfl)U8 z`*&OLT_J;%IKDZQ_Q`?@{g#f~%EFs~_nyQ-^GifME7L0V9)R4Vl@OCd)LXAlvn|g+ z4O4LW;|FZu`k=^-K0h&o_0rbd<<~@DL~wV9vB?&6acBw(iyk;E_^fGt9L8 z;^!y%eTLDA1%2h0oj-LTPLh?T*XSYj7Aw!wLpa>Ci>v{R%6GLKdhHtVQ%AOo-mrOvM=(yz#wBPVrQhpaTgyHrP9;HeqGcQBprVl zb~~eZNDAV(R5LFA`Aq`mdFcm8r8=Y81VQ8Na>N+ENKpX}d`#yvbutEF*Dx-YS$=|f zG6a9cY70}a(r$w2s9xfT8X%VgnEgL zk_-R_Uoy>(q_d8LBa$*D4C_jNc3uYvuA^_}Yf~kl@2+C}7fzSA$YAt38t_Dyz1Ad} zYlvQ~qBp9FT-lfCEzK_1#a-U6elM%Mr{#+0#=~TBGIfpA=;ZsaUBs>${hM%cu56d0 zpaP;k@%CTTw>O#R3N!YTJ+d~mFNB>lSlWg!`jJm5Dl&~h$F#!%EkfQ^0w2=Nk>|4UN^ z{E(lkb7jAG`uH%W`JN|XR-ZPE3pCG<5oTx-n4Ow5&#%u>OT+2q-_!e;bra;x51pcu zh{z9O@uurcjS)|peEuZGR=jz1p;Ohol)*9T*>mybAKOe29xNtW{sXCN9`kp!;$~^{ ziPxYQ6>q|jo9N)1pATZE}Bfi*_5)aplJO+iB!sAk_ZhUB|Uy1$M zlyS@NK3aUX0|*>+3;eSCmEB(4x)pHVDh&PWi9==DNN2QvAi!$-3}{#_Zn9KPhNZpFLCZQ>I$cqswXGbRVjQ~OcTza z5eUU$7(+>`-R^{_{ob@QkI)yiP8m3n;x{{gop}@wmCY*mjja(VXD>BG)0m>Ah|jmS zKn6pzX3%*3p`0Ln>*8e7nd4KgSp&slU|e}LyyGY)_y4Tq`$nfGm%ldtw)yKJ)+4`y zmNJvu2bLO%ZxT^jK8gI_RW{|M6xjhzaloY=E<|02S$IA8l?avL^_|7e-nP6-&aSJc zJS+mbiBA2D^qT4S7Q4gW^fwuxQ&y0WlkrqVF3wq)NWTbNCuK9sRCAI2YB@dYq_;G@`(O5mQlaUN%zyDf3fK&2+-u=6bt} zabHMZC*=mnOjS4UVj|C3ix4#dFtG7qZZM)N>i5g&zy44 zRG)M0Zyks`7vhVE zI0|a;l%>7)_Q(Lv$vnP7$z!#VE}EPwXJufPDMFJ}u){$3#8xKFS=R9kBBq1N!s z|*}!wwHS4I~-s>yo!Ux z9C8)*D|hT6ZP7`X{tB!VJTxBw{f28xA8cKV4HcvQ!yYzU~ZaWcW`}GnYB-FFg~<}pd~<_k1zDrI=;>&*iiCC zyq`B3On)wWIT5SabG`6w?fRpa`q~X!=(@8pxM*1EKP|2c(i^?L zjuq!bL3dZs<}+0bExU`eE;JMlLdFYIkJ%xq(`mp-t8ux;tW)3lxnPdB+$6Qa^58$v zBYC^^ke5^U&;eRMdenP1E|T>OHQJ-G)ZVR@68^-fXRVqbXCGmu?N|K2=mBpAJk+k` zMI+|W<1+!RqGvs>oR#_A19MPOGJ_Tm(hHx?-AJWEWt*-@cEizl>>l0fOHM_zkp0Qz z{Gqi_=L}j~TBE>uJKFyOWMD_Te{DcI_lke4KSK~E+@@+5{l%O!W$d zo7k81V(3*vEAt&%rp#7X?H$lW&|PXlm3k2HRy;{+1N28GzBaJOH746sA@sIKZBAxD z=4X(p-6B7ZrK04bes|)Tc896Ji9iro*?HjiK#PzC;u|v;T#}xSi@LGP!m9tM{fIz^ zJ+XSgue4nB_D{UwTaJM&jWqDRp3m2u&-qU*r=974QxR@Cii(M%>jUC306vd=B&0N@ zG~=%_ev(j_^_95?@TXUPG$qoeQCuGQpfr=v4~Tssq|-|d2IYHAmWuO#2!mYaM&l~d z3`@nJVd|)MP8W@)m_|Vn`Qjn{f+0Ox!4=wgk&)n0dUcnGA^M^gi|elyWe~`evGL8& zEvv0LSU_RWu``lGb={*`5^Vhb`AC_>DJ2&gmpOGud$-Z(Kn0g$I2{U5HiT>GVfoC7 z^v@uo<%1bd__My*6}5eO(LoFkjupynt3juRzKa~m%v9`ayjl+b(gNK7LqtK*4JRQh z>(A7Rzq{hMb{NCy&M&=%pm-@wAlC(f)=3^ZbpEGB+)^j`zb0(Q(!uim2T=6#|IHt_ zMRsmpf5^L_V&=Oo5)c$Hzm#x-#)DE$Ux6_77ivY)%r`WB;RG$;bdQOoY4m@|7+vz_ z(Mj;B?05xJr`cB@cNbfwa$CMp8#`%nI8s{OTK*^p?p*QR`Ur=GuM2_iqZ79T0lUxx z53zUlCr@#RSfyAIuu;+JfQlX6K(gxS+mOcv?;tAun<`S5P$FPV&hn*#LtsC8heL;g2FmMkiT3{oq8F0^ZYTBMx{@6_ZXe?=@LRHT|P;U zslc8|3(OBWcdT@4y>W~lg$cB`9!KT+-=;UsA3un-Nb8F*{5&U^yCA5-KX}jy4?N?+=$O9;c z>YR|o1(P!S2u3uxRKBOCS9IhtN}CzDAx@$77(;Vf9o-BRX+0se%v}LE)zJ5fCGByL znCT}cJsRDrAtUJuu}L{KGX>kuZ zAO@**%UFcnz;O3fZ-0Lrqk?mwsw()X*RRuJxP0dMj|nHM9DzI282Ce zp2bNejjbV~V-xAO(Yhpn2$f9+`~lt~<2Ses)Z(2Ubk`j8=slp>X$kiZGiKHYpbL=d zJt{UIXx2h^K|mXe-To3Kpn~Gib2j0y)v>tVkZb#2T16$2{MMPFQ1rWkehgU4QGH&g zRdN_~oDABX@Pg?Ni6V5{tryi|H_!ncGFfG-jc1nAazK46=5?f;ya5-B3|C6%N}iM+ zR{*H*kr`)NgNGWo%htJmWBos5jA+E|g9atPCNFCFSFsZI62pI@Wq(N4K; z|DPnDgV`6q4ZKuh|3{rCWfI6XRf7f5cT4$NT(M9`8jXi_a;$CQUB99KVF*Qg*_ZKi5@O%FHkM40~`uz6Mg>QahQolz*kZxFv-Dwt| z*AXU6Hg8E2$Exl}k8P}oq_x!I43$jcF(u`Z-*~CPcXkr+`?kWygje7ebHTvaP*13% zaobdZ+bdPo)I2-s>i*NqA1<*zdHvUz=dtv8`fj8K1H+y3xr>|H36vSn@t!fv-w~*D zW^GAc+TK;0IXFnstvp~~wWN&Q*;`ZS(u&Q{VlE1a`n!Jny)4zc`K>GQZa2k6v=dCz zFb6WUrR8*M#7IKe9%iNgT#ONN#YmW{`1Q9Fx2h)OYc(lm^m_GskZ%q&);@Nk7BD)^ z&j^euz8*I52JNb0;?G~I`G?b^RL0SSOBJ)EVv0on3GlW7)+KF zzxeF#I+!c#{dp}PoOFiDGZ=R}d|R<8_`yzE%P5%gliu$SaQ!YnyC{wxrJv7|`lt*R zFDD1~Ny-JGewyMkC}!W=rNiqe)Dw&>m~LMq7rHb+kvlPOR`0wMX`54u@rl3GuAOl`C42xHi!r9lEY-72XwO|J}o%)a2>cczBov*aq?Bm0lQF?D$+ zf`ZdrooALEq*A|N30r8f#c6t}T>g=ggGaFB?m88rleiRAASoqh1m8AiMIi%azjZ>` z1{IP#q9FQdi7-Y5-db{$yf6B><%JP|njzF&sa$F?hR3w3r}*QGW?qOPH^gZz1D2ok z$Vy*+l@iE@7e7dAM z0-o_P4E6DRDW$k65DR|QRl_1k8`;NCJH}S9V_BP*E)|c<$s+)dkevO#It_5MfIphH;4Hlbo6BA8>L#S2Mz} zc|Zt;tHv)V=%JGNP()6*KOdZk1+KV`CV#iw%{f`Y5rKy=WGi?Zy0VZNbEmRa2KiMx6Pm zdUI36{6vh9eIQF|npooDow+*Ha)RzXo-HAaU%e+7F+VcJh#s#tMi3GevvMtYylHpx zA9l?1JGvEsoJQ5T&Wl^jh|e{k`oH(=PtOtZJb8kres4eZ-SNtM-QFt$bH!w{{lOi= ztkJ2WZ&?Jq#+>;lrhcBzOf|3#lN9}iVQQRQBTugwuI0UM2;|JZRE69PpQsAqt+b#G>#sKCKoi7FNO3YuZp2z?Wk1Isf;%R= zlP*_GOwC(rEZsOZ?8M;Qvf1c)rx0@M4)5gkIez z-H_`Ro;DCt;5)s6OZJvQKJ*2qt&+6zPz=TCQDo_=UP{|Slz^oHc7~ppp3^^mtW={csjR$!9P&VJpI!cttyN$0dXmNm=jS!< zF5Qi)aPHn*iImIitFRIl#z&9V2y?CX`Ivqj*{UV(HSET)K{v?W&T5HazaAVGQcag# z?M;U7hEP#15Wn_fs7H23mDv948)PU%Y%d*CBJG`~rP9(0eBL)Cz8;u>*bD}*e-gZs zdxHFzAmPh>u(~x80gY-@5AWYsV19QLIb_rxUdk!$M5$+Wgx=jlgJYL}Ob)6p zp}aFtqQhb~Cwo>_i4&5`_QZ#t-ACO#Xzfx3cR62;8DCHor`oZvjH zb3yj+^UtxbKFDHzvpFWH+gl3rF#IWq<#;5HH0C}29%{rSp{N9dzNOL-b!q-wl$8wq zyV8j}^ICJbuDIO3VP`iAA$*SVNKB2=jlve0WiYVvhu7-;4*ewh_OAQegTqCpUOtE4 zxjkDp3WIE~8$6feHcLu4A;}JckIoKB4>X_oq=d)6-bju3dW~MaJPNL5)MUvOB}$ATX3T^oX|8 ziZql=gHKquONQc73?5U-F8=|4)$T7gn3LYr(yOwSv%WmPWMUpxgTLB^7b5_Uqv>DY zH}sI_K@f(%sw7AJ3PNW3leg?VmXjV|Zra%FZ9Q?j9s7+Y^eFDT#hK&O!Cji+i%QQ+ z&L;xBqfvIATk=n>HB!pHA?QdY zz^sG-Pep}Suafnv<-ICBv;MKm7&WO_9bd7a+xHq3hTmC?-9k8dTFg0IuXnE@JVU-% z?-sbPcN?9hRu37Ko$Jp&Q)OUa9P;>k^|jXIZE~tkShjFJ(P-l;)`YX6qr+N(n=-ut z_=3tuZ&siChL~%X@OE`|q3bAEr>W`bt!urt&c9D08ySsGN7^&xxYkDV{ZGE++*p}} zD13ZZ_=E-CM}M-Xcy)Hz1AZWc(}arC|9kb`TO@vbp5(|{h?v2Bc~1-y)s~xX4D_51eQDj$zNGB zdvu>4KiKx@Kq6)%u3W@t7&I!_pIDQ`!{8hvv#zKH9U+04r{CX<(n4$VVV=GVm4IhE zPEmrrgQ<^=pFSf0!2=&$;^Y83>Bz#_u8u=z#weB+$ZV<{E<$A*?zG)t<6+aEYF2sK z;r>iqD*&>iv?Spq&XCw#MyzwbmiES*14VJT$43r)9^2$iDZe=@yKg|ZXfu2o&4#3vY!Lfk~~#n0iqbuRI)$K%A|3(_VfPRq2+>! zFXIR--e2W}cEjJ)BZ|>kE|r1NK&>4=9Dufad!kVIw0~PoGwiaOwfnSkv$%0YGrTHf zJAb+%q=G57OOVNNiz^&1BZt)S{r2rn!ZhEzUrD9*JETG8kKN!*{qEXrDQ*2Ap6vaO*C4U#=`a8wXo+wc%PO zwr+4#=I5u7sIodP-2pLQj&{Kvbn&`dC{k5X5vHMbTpJYi*Bo6Azp5`G;vZ*z(}cq! z)~_B|6U!L1Hu~1N(TbjdAtO$lB?;dVZ=EgG3uWE6+MjR5T=3W9BoW(AP(e|-wMJEi z7JvP5f!CWNxf!>^PcUZS(yR10mmvB4>T)5bO1iSnW*Lr!#(T_{pTj{5jt!R%g4R6k zC~*?j<0+BSvPY#LW^XxoH-`o{usPL`_{&QimCu zBD8%eZ!UQp*H&kqH282r;hYNS(1e482enMbPUIePt9fRTqH(=Sc6~gx-hczG;rf|# zr;L+}ba7DRST2H^&y%g?#m011GwPVF46+(%?QWFkV z&|No`y~VC6cUl;_u!2_JN4=GvgPc&2qQnYO#OPasB zf5=LL{*;F)53mP*)n3DMDVEG9>VA=#m=1YrMtk0gCfRwN5f_sUj&qz`ql5iPHxv3Z z?UxpJ4<0})w)-^$S7e1vWld9|H!r#taQX-DG zBi>Y1)t;`XUL-G+xT4Q@9?QBDc}jLNfK`5(@xkH!7*~$(kib8r%X-yS^|GSkfu%U7 zQre%!k&2YYZ_t&Hc+!yKt>X#7|KgSQ^ZR;NeLowR8a=^FE}cIF45&K5A2`*WJ{IrU zb>j0^aTgEaP?)^W-)QjR-t`Y(6IuxOY`?@#(NPR=2Z z`S17Ki$0r{)k|M5O>J(vG> zz5jlRPr_ohQaB+=jW1|I7aW!T}W8MiC^yodqz{`q9u9Z2C)8t zVyg$F+;*qxpx(()x)_W{RNhYe^O?`HZsraZnNQ?rOn^SBX9>yv>ucw&EbHA|x<2`Y zk1yt09=F{A;^H^St(Pv+9G~}AU%-PM?rn6R$0yF83D@%oxeyG@&BcKcoce{!nAQF3 zcU?E2ZT<|cW+PaeN6$Ffo2w0HN9ons5X6mhM&nWF61wuN^YO-sQX|h(& zrUJF7R=WIG(vj*Z6dWuJI%U^qwKe?^9xn=Sy$|}^fi{SQga>i@fOY{78{1FW@=s5l zWQ&d29B*aZgVXyD?_i@_C!c{zqhR>t1-AoFpuMyi;vnxixI?^Xl4Ic60Rm`oAv6-{6=-{{dLh zcYcr8eReCTz9MXK%pT`|eeQ_>C~H~|jR<)k& zU2_Rr=!zyKYH7`mmeDkEzWT9UI0Hg0Jws+6ju(>pON`%bPzQA#1-t8=`v-BB=d`5e zBqh>EJ=XRw=7{?HYuoN0Fm4|UYqTSiW#iP+Sw~+oBslGlI9{nKU4tmpb)av=^+t?D+h@75HSVtf zeq7FRI)iRx14wt+9V8##F{@l@{h5P{fj+KegU>t)jKl zl2y%mHY`$7PO_=Yl>>&^^@D68+i3lT>B84T=fiiopCjz=HzePtsj9dQ6 zu<>*+!$MFT{=UR&S_dN--ri6f3j=(WLQMCK1l*1^HLW0hhevShaoiZEor5v@uM&JK(tbKM)dx&x8IBL-72mVkgM+s#NOQv6Iu{*2j*(r1EeWe5a>W zOAaG?A3UWcMujR#N=UR;y<~#{2i++I%Wu~X5ti1MKfHKnw!K=Y3zKq`ND7+^^(X=N zkJu{qNUU!yN7CO3`xebRl2H87b$bSdC-_hdxfq@7ov%hr}TP&vTs0rg_uB5izUS(65yOF5Bdf zr8%I&l7lszGm_1ea2&D(w-i(OK!Dxf(k*0Ybn><~rKRby+r_iFqiX{-C--2V%@0%y zyM-k7`C0vRK5iyaQ6aK-C<7Nw;!z82lV1z%P*_PyNp*dHJrxwX8)c2g=5g?*22zj` zTi|FJR^(z}4iE#Yb(h2GlX zb|Ht}Pcf3%PY)=1fg=hprx%S|3X0+F2>Uhg4(FW5>FC#XDV(-4`&~&}fub)(OU-95 z$JE;CGA2hQ`H9S$t`8`?(y=ub;)6Q<$3*~t7Gk=u$nS&{ZHDG2FY$JH?FiaPFC`}@ z|9FKeRDPnS`P4GQ)$p+y5Ax@QmD@1niekEe?s`$t!DCtHmxM}Uds(7k#~2e_xo9XBSR9Gn_Av~Y z6ry8gDf3E#beRR={X0ikx5hCp)dv^kcJlWe)}%)L4H;C^Zyni}F<6`8Kif_fO}_~K z;&0SBRUkw9M=q;^2_v0Cv`4$)(m40Q5Sw&p`d`$VOLmTDO+ftr!P{F$RoQp@-b+vs z2?+_MLF!ceX%Ok|l9rA$*Zn+a@3F_b_Zj1iamG8w z{fD=@WUXsm*Zj@-`F`h|!=X$mWvo0*=uh6WFLT=1K?|mPxyj3`x?cPYVbjfdw%FR= zd8{z79XJd-S7>t)-Gj$|`o@>koPzI=^>I#mZ|qcn$pUx$7Y$WNKU;Y=MvFZ~@IGFz z!Y;@(rC7iRFxevV*pK@#gf1;LHEM;0L$A{V2|WuM^h5vt6nT7|OGQOk0Xw`v;|wqm-}F6k}2OdY=d-d`qL({jT8`igeTXqD~9gOC0%Y{iGWQ{_f{ z^k1)4;3FE&Yd6))5U3ZaWjCq+2~qPkx&kqs8ZWcmmXfw!6=K}F{T+_J>6YyNfgC=C z9uoWWNkf>eB%?Xmk;>ll97hG;{6N8i2pU@D~saNA5D0Oq3yEHg+`oQ(U z3n%#0xIkoh_zw}|tIRrCh6D^LRL_Q@n_P(Z;8Y)~yn*-8k7xVBb%p3hNZlQT%f9fF zWxXr+iG+w_KZ(;&xnz_|>lVF(J#Tf+y!1jEtdw`+Ew1~$cT$auF3rQ5V!ucvF)efDigpbRc;wVRTYdMwIqWU+Gb`t|F3 zby9x~_R1^GC1BR+Ev&FK$oiip-ctfK4axwInMQzOh@$EGxV3DRd-f1Xn&Ff+85xWX zG?Z1!GixitVwo21JH{ais4s=IUOGb20r}yvkMOo?}V7554H^OR+uwM-oA&J zg&>vn$GybnuTgB@{iEOfkPnU4pW%=ttN&p9q^hd4v^o8k-8K0Wj}ce_7&R+CDk${W zTc|4NzWu1C5+rkZE+mX*fk8n-s1fA7b}*w(mhkn?N{ z8(e(O;TzA^f#I5*eL4-gf9qui9bbj^+@EJNx>+VPvM}`dV|4=6xiaMcb}`TRy}yby z9iQzHeGaW8gyd_!|D(Nw`Sy<*2A&V0Cr=VtoZ4PqTF0dqLFhm#MzA+97D%*-*;jp| zNH5ldhCkhKBQd8JX8A`(KBUlFSQI`QcMXT4bDjvtue6jsQ#JD-i2jGo11>{q>J;q@&K_Bo)KIzp8_$d13L`Fk zDDU=n^$A=(q3O};&4lrr&lIF|SSW6~l?sSd*qc0qKvTIX+?_&|-Tz#*1ypXBQ_F;p zk(Zjm<>ESdBmMey!rhw3aOB11W?9I5={d% zElYWXrp829Mpdc#kJg%$N$&&BUme5GRlm66n>&#SQpzWmxM2Ne&?qsR&YmHwyOTt zJ|d2?)}lDxM(+i)<@ejGu~NRlRS8Y0ee$<+sq7%geqg<4Q@||{_hQOKPb)~z|2-1> z(e$nr{rrhdm>E1)?Q);&EF^2@tLf&EdZ53X*#q0lJuFb6WSrw(fv^}TNv9uummp`l zTct2%wx6}8{B0VJnX0V!y13Kdig;a0ZEcau--3`wKcc1ml5s$1vvb8VOMf~OMH$A% z@gX==ccA>mP>y!Oc`d)igmX05L}a=^pn*t91wjW7=Wg@I{kVjt=Ai21W6bTqY_0N1 z{u+js*%fKeK36mSnfR^30@DfoTlg!C`dh8Ke1kM|E5P-{UcB&fHM6s051gs~zDvoC zUDR}EcCb@{KZd)fP#Z($8QYK%Dt*fWQ z_?ESvcbuKiItP3BBb8pd>@~-|aI#`|g|GYTi%b+4g4!1=>>>LK1eDOOKWAY`U72A; z?nfxi3c67iwd-E9DzgwBpJVV{g4UN-b1Qf=yp(-8s%7*LHi3H6!_gl(#yRT_l(Z#F z!4ZmyjCkF3<cPJ}7ZI=9!wkx-??g{M@-SKJjzL z*QaVOk92V(?EWHmCc+WC)^|iMJO|3KatVFZmaVsuPE=$RpWXU9x$#T=Y`WKzIGzn2 z85vJq4i;|!lrx_((zLGr{WX5Szkijewiwlm-4lr2OpD|cS5EAA?5 zKcuX(1k*%okHP^fc{zT!HiGXUSGz6HE>o5b63RnTzP3Vf+QFO`KV(T0xfUmvHh{ax z{t|9&w>{r%Qoh{0(s3jCXz{hNU!q0FzHJutiP(-*EYNz6J8N9cKxizlR46 z#!mlSzZsxwp&YHB&0+@=HK5-DBST@1gM)28wJZ+F4qKXUCJB1K7t+z}pMsG|J$2YX zK>R=`hnj}hb}P`~c35B_J4~dU|0ZHgXON}{LJp8gX>T6YEEeq$@8_(rGHU7lwg%v~ zjOdTJ5a%y#t{PVaGm%gV6)9K(12I~d zLHiJR@{RSV@X5MTgD_P#a*EyB#K?khdzsalFpNU@v~~Cc$=)*yu%NW24HiLQ1`@i!m)Y0fK7Kphu>$R*V{Koh3) ziqpQINcb%aKf#|luK2?iW8!eYnwXgx_$~XLZuA>L1+B0axbQF0dD=F^7p|>^rEs#zAwmyTux4tHOKy28eUaN-P5<3 z2lu~hR+#Q&KDD6t-{En!JP)40qDKW-2+LRQn$XSNBsQI%o7;Q|^B^is2;k_W;-h{KA|kw} zdWSAsd3nc!{S|R(StWI=e{CHrV|H8 zH4xkZtBJpU{jroVbF@+~wA+Z9k1lV8iDLmJM<6{0vb3`+C$IA;#{UjS#_rKVvW3r+S5G>r>OO5Hg| zwVICrB5?O9V@nCMFt?`O-&e_RRA+`cC2K(=HYcZKc=-4^C#sS(n6}a^O;(jdsajq~ zmxfj0#WqHa+Fe&xGqiMc3FE)%**~X}v|(a+R!mx2QwZ`{tb|tGIdO0RcT-3}A_EwP z5Nbna3NP*KY7M9ADvb@Uw#KH3=K3C@kj#ZSt$f$t5^)n#HSUa?cg-l8HPDgQoJ za_@`a=u~T? zIWG<`q`|M*xft_6w>!A)T&08*A_mHv`N<_@&<1&^fQ)9*D%5Nq~0tAtO`hAS(c;&K~q&g2R zng;DI=E$+G;iZ>(*D25V91g=BHU;RFTorZd>Dh9O7;3yaG(IhJyS&Tj2>;0UyS}K_ zZXvWa<5R(6WmOm_6Ca=C;8)8#KZ|Ad*%_;@M(=%mjV17N!MG^H)cOMDk>N%~G^}zy z3fSmlZgRgWod7ZMQONjVxW_RLgS`9YdPs&vLu};V)W2u43Rb?yDG83Mwey#Oc z4XqO^ul<*@Sk#$vM*C&($oA(tNLbEyqwNKX@%$#sp*J0wR>e?hT(j8{3LeaAS1wQs zZ8NXL!6lGyv&+0EQq2PgWabjoov<#9AwVIC>hYssJ;~b(%j2IEEH$3)^B$2Sh0#v+ zXuXN)FUO6ZieME@;P3PW5##ATH8nLS8^qY9Hj-%iYiOdEzCbr@5prdB3QxNb+NL>wG zuC|79)pzq2@IYk_Zp*9jnno-5&{Zpqrb~j2kS$zFkcL%_-NG>YPeR6nX0=SjB0n zfsiWwDeLRkx7xy5^YaTFj8%}InyKVH+ILT{*3|{;tKLyMK8z_@4p{%!Eur)*(68y} zs%3UMd0=QLJS&c!`Fl$c8VBRi@d<;K`x&eG-y0pgr5iOy-OW5x_=Lf)tL97gbUOG`)Xe z)3>+bdactwd4OV4M?)S5)mfeG)qoN-LNG;T_kGCO6tasf>r`%VJ(mlBZjR{Av2@=c+*Y8wev#$Z@0lM{MW6QU= z)HFnV<#JQVjX(Pn;}<(uS>$uI{!XQS|IVVg1!)zTkMLa8x@^DX&UCS zA2;rw&7GEYZBI9C-X*;+Vp84zPo#Nr+|nKC z4>EUWBh&mr4q3$mkGZA9BhAq!+?M7W*Gz_snYjz@2;|6U z5DWR7mu~jlAC4I&xS)&`*AUE9ybZecJq~>~INiW_VGBnXvd46;psR$FL#CjsmQX>+ zpVj+4(FT!x%&_6hQeLXlOy>OjS0$uirA8Wd;WFO%R`^1Qp4*}&hQt|OCi)-FYEH=7 z5m2@SLfi3P)5J8pqLXly*)Ij);yXv5P8LVx8&FM0ikTOTSg3)rLPWBGst1OF|Ewe^ z%TzS^#8XK_$Ct1c^y=4WEe!;^fuW}j3&wiNNqe!&gZgl?Jnw&^^NA3bpa*Dt0&A<* z=}_K_2AF~IFZBDEj-K6o%lhwp45pjwuw z_7(Ichq-R{=7jTr5iMY1TG)jtIRY67DwT5TsUd@i&GHOZ{PslW&Q%)D_$W`-TQ4ur z`n%!I`Uv2winMW6>G|_-=4%c~?pPh;Y=4hFe*XLrviU5hif3!FGBOc3q(UG0WlDo7xJcXkb_zbF(!>nwLEhzjoKe(Iqh<^A9p>3K(`t8Px&b16&h0 zoP1R7VSso1`Kygia#JYa`2IrUSQF=EP#?y-? zcc-FFe93GWegV}HWbvP)l+H;ShuyJ`MUJCO@|P$o|p;G7~YUm(zOlF{af! z581#+)Y2P$`7;gPV|48NH=knNbk6@25UID`no`S^JKLWlB5;R18#*9P>|U^ewJa@J zTnT#qP@l+7+(cSipe4u6*(wOQSpqw3qo?KLdrwZ*>VHk_5Em>J9+V9N4mU7X7bu7s zFHRsO?cSaI2DIflJoIp~0EJrY%*p#%xc0P;SLTFe8}useroUfYJG|B^sf8&;)upJD zF-X8>H+KETSZae4xxrLr0~818`T25dFR5R=h-jKP&#fhM~Jv`4rT3~c;-A0d*1#u*6)mzaP#JN>Ahlel|=?z$sm2;jGf;w|E zG*R-Y+Oab@e??J|_9c&wT+ICpB38rpe_M>f&;gzSI-sQBY0Gfq7%7Tn057BurLIn& zQZ)`JcoDLS465Ze%f9#DKD@diQKhgI=`JGi3GAv59RKvL{JI!aDv}~t|NT`AG~COJ z8B4 z=iuCd!E)+bTH1fjUKv7NT7Pt>`D=B$W=&)p7IaEb#d&p{v4J-&#_BZU_rFgg10zio zaLXp7(a67iS$f`6UT#N|leqDi?q{s**;(d}q$l!7)AtZ;;IHTjHNtooJu3JFr_p9( znkpd#1?I!>dTp`CTuo$d{@hoE%7ER<#@g&cMTYQfA9p?BkrcTE$so|O89z}_2|j^ePpAR-Q0T5)t=h!a)SumU|rEuo~zd( zawwHQ6>XIM7nkI7JN+zo3WXgXv;e?O1gz#c$kNgZTH!yz7}yTRyA0=7)-&F%&x(?v zr2vYMVsmA1){lb+QbGA3VB0M2fx%+0ZwJJFv^zYi30h|l97kGNnEnGAG9A4Jfh1(& zufb776#JUAqK<@yY}Cv4wz8^S9b|GGMbzjKtQaoSbhLv`Pv1F6a_7NBRV8+%W{p<> z7zJg20d?l}+@%NOr9sYRQux?HcE(e%XD>y#W_pjwfCUxw?(D`Ynk6NPKY#Y4L8e#A zInVC7D}2QaeC+>g66V7&RR<{pI(ZZY&@{kQ6Ykr9dnxfxR*){iCJtUE#nj$EP!Jkk z9D264d1iP!6Cvbe2|>_!T`QRh86ITS^S}ZxbB{e)^vnTPa$V&<1$l98qCg0SSU`h; z^|1AfG&Cl%V+1#;0$%`I=$QTDU3h38LY)ETkMPTjO2tViQLjokp!YFDx`X=>O&@i7 z#Q*jJ(3I@Y+G-y+wq;1H(_9Dh`HLbWl}Twi!zX>AFqiTJ{>tSNfYtnX4(%0A8KAst7kM0?OVGL3e8j}i;PkSy^;U;bj`@3trsB|d2@5z$>ZFDxV2?XA4MJvT zGTnOrZSjZ4%iy%#77&3mfBvt42sd;HrM$NfjQX3WP8it(^<8GQx3QJn-J13Ov*E1I?vdE;uFD^i3$+~#pxQfl zV!cf?Cjo!UlYmC5wf=E(CV8yF$@-4ai;mTaiiQKa!FmFc-P1D!T79gZl{#Jk&EGL- z0nJ|x-CLi24>l)Y&GKM*t%miriOyur6%}MgsRd|LwJWysGB6esaHvqst3!w z=9FXeCpr%sq+K_No`MxNm~3bxVCLK8{{T6sRJ)c&e$PSc1@vh81IxoZVoQOqvedrE zBVp|>tW`IHO+FSA?h>cui9KCLMy^B;;GsiS7#k@qNOLX~~mjQbV8VqJ-&{IdN0UTFB`bvP$=J8>+@(F%dFnua-A?{+fL!cy%) ztAchDN**q0B_*n-icXiuL#LpGh!U^>Q)c|0onyW(^;IIK$l`0;Yir6Ety%XZQo_0C{P^LTb|YJevu z1FilM7j?3}n+J_6%mthM1H*ctJAhLw>;;>+6xON_+-jyNVY}$anrHYhB%|)tZ84{p z;ZN<{4htVFlJzzOyqGLz#mEjmH<~Ud8;}bL?5h8)Zb{j>ZSl+)9Pa_HE?nc^07xxqmUg@c-f) z1*_`+wO922AwBfNgzjr(CHe^OqnsPqNuc#^X{>7m;qf7)<>=3ug}@f5S}>5E9J0yM z0tHHI*TX%oU3Bz+tcL(Fm7?wIt~D3Ub%xYAtc!fwKjYR@o@A{`+?O3K*(SzcaVvHD zZUCYJ`nNIfs}9&LgtWyZug8qd^C5>m+QEVYtK{+bg`rNdVR6yX5|FG{dt6{6>PDE; z%-Zb628rfI2>!#&iV$@Fds8D$7|4J>K(!US4Zot2ufLNr78e~v?6=2LkoST2;T=q) z+3MGmwO1cPEkAKs9w1=D`O`Y>7WVuZ^EJ$T^H)8GPTpPHqeV+3&c$z*vM@!w&$o5g zuD){`Zty|3kv8*oBUVt3^7PBo{oS%Fq)`zWexHblAbU@XrKLH!xJrvqMP5Hu;|1UO zl6Td1RCKi5A2Wh`P^5zh+^D`)S#<}V6Z?*d01tltQJ%{7mL38yKFppqYP<_4K*kbG zWShp5E!w>QTb$v} z)r-6Aw9sypE1v{?y1ZaYL49MU9Q*>+t-shRMAIsHhlycXF5LYy$z8loKfV;=)s?uc zCP~)U26(Us{IC|PoW_>z@5l=8trP0DD&2m6c3`OmN?I69v|J2NpyF_EyMPASw~ z;NCKvYNmU#+yqxi<)5pBJV?Bzv#fNcTbE4+3+04t-pI8TxYgcrVR2LWsW>dpT=2rpHh6P^>Di# zr=to7i}}yr$a>%GN(E-P%Pz^aG|f40#(jLjCKnv|GvmF#Gz|V$g4HZxk)Joa&yTM8 zAUMsR2SE9JZ@A9zNEdD=aQul5mP7X`v7jzC0L{lQ%Aax{&ado@yCT3q=~R%w;<;`x z^OYRB-HWeQO(*%wWvV7&w4AA#Qh=nA^s`@`G0bgnguCn<^MQ$n{bCBwFCWj`!Vl9D zLizruLuA$XsS+Hb>W(BIV&u(9`Hzf2fnqmAT2+wNP_N5C7}52jB8Ou*R0~q}=QKKE zVh>?Ad`5~s(X$a#QILDVZn&8DM<(wK9`FNl;d@96sntl7;YL+d`5=tDND(}W5tvSNzLbk^!2Gq|;{r{dpfsF# zyC0E_{5tBmcK$cVB#q4QRp4iwXHrs9EsrH-B@8l(EGRj?So;}BP=0y(I;Qb(8yK!25a4V@aX02MIif)Sb4kVKIQ`5cSa#8T z#g~?4mQ|mP^Axiqv5Mlkn(}pcg+x-#EyWqc0V)5@;i#4QfwH*c$P}NNt`YIRQNoMv zjs>+L*G4BYKG#s8k@iX@Tte4a`|KXGJyOQqgSM^NFRRAFZjnUxQsjg+g)`Y?eM~!mZRhzg5N@ zYvE(v)Zm-j-8YHn>wf!6#6CVO^?S{5*Ot=E5O%E;w~gbGgl2R0voLSN73RH7YLkO| z*ogQlJt23?xTLC({3R!|l%~@= z&J;qv`!41Rr(fs9clJ(YOiaI`GpbHkNd7qb9EydzYBI#7#2E?8?h0Q634o#y4hJ$}^sRW?imii5hmo9M16f>D3dpM}F_$vyHf->|xwy zwSLcI#PavuOO6|iNo?o^>W}paVD%PEG4g9XohtsRf9>YMa9gtq39iH9 zBjeOK>q*hpG1+*|cD!Mub_4=$Xi|Q{_vqYIB~#|;oWE7(N^Q8ZIbIDHoQ3IfxiYu5 zwa%8z-U%iVLRl%C{Kgyi{xKsxo`+_(z(ej!eE(2eDGxn74ONw*UyDO5HjY>LH2w`G zR%@h>tIR@8F$8V)CJnh2-K1!`+iPb31n@H2IW|X*DdAi!Gv(9v849E*Qgo1x}IU3lt951y)o&jPw8!jGV~I*DG=J}un`NC3vqi_j!+RIzjpG(S zDh7`$JclsqWqGlTo1-136X7^s-YzY*hqq<98$xzr^<33*zpOcjEmfG7YDxC~cpjbp zpJfEGx`JOy3DYv8PQYR`%Tg?8r8luixZfH?wa1sZFgb)+uznlF6~06ReDvI^X0MP* ztdT_gRtvNQOzSHnA7?UFr_~l}~7(q#gb9lTIf-)UziZ%gdc_2}L}VWBoKs zuDdQQ$?cE~+j#%(T|#zGsbIs&5i6r#%vw!7nl-ioN^uc?4U8H){GUyz)sp+`#%qa6 z6IYPaz{_kgTUfjISFhrWf0QK&$~IK8LRczG74k%lS3qTqk7hAVBF<*od1E#0-s&v( zj5wIMo_rDvgES8$SSYhU% zua%Os@OYS=jMn^+_b&mwJ@}pOcPb=f!-^XPP$B$cBF{AdV zLk8B3dpGYa4X><`e1mZN6Zz5L-F`_n;y`{vJ3D*66NqYT5TcDmhzJPSjG46;NW)6I zJNn*OWOW+`1_q9ndxLvYb4n=Txb>0Km0_6qD<|w<=J7&xO}X0H(-WxwyzlvLNd@6- zzAoO8pQn~Sa;dob3Hh6(+)Q+Q@BeuZlN6n-awi>4^efEp5nl{&&1)7>uP`mP()sHW zFFSU-OG%D=0J|6kw_mQlEPXj2EVQL1m$KLMgFdXQk3#T~&`*yi+UjjKE5XLtAf zBGxVb=C7;wORgAcs`r+1ShhsGdg1@sS~_a~xh(0p#>7{sx^h*NuY%K;BzkAE2hR`5 zjQFvN-<)d5y;)||=t$yq^mz?|?@OU|C&(%aZxV8~HT;y(dP*os;|gcmq1kk&BZG}t zb$$1|#h4``CK)vkw>|0n6;*J_;KUtgav{mYS3P3~B+h5!ZaRr`Z}c# z6{L&^^`^aBy|?w?b-qUw3-p!?HeW82`l#g5bbn_hyBr@-t8=MJxN{knt13x(d0j*P z^|Miz^P?@Q>6qNJnYyqyLrp{()QQEW?1Pb`%WK+emkdf#jyy4O?=QaUz9GK3E!;jQ zZh>Mo<&BAOftr;=POM48*vHYt+>3-_x;7KB7IsG+gvcyc*F5S%ual|Tvb~7EhxI14RC$G;02kNi=Mz+g z#t0fzHqSXT4+WX`Nx__jGmT+|<7CIN`&QZGHx;$(mos97E`Rem6TGneg_kT)DSey} zwE64T2M(fv23hGtbVbK;8M6*Jd7i7O`F(VvYO2GY(fZy$Y@tfakRG$*9L&HZgnA~{ z!q#r5R)arB8&cAm!4{iTeyzd%?j1|4pl?IAuMmN%8vDC%7fZhM7Z$K*%gJkM_(e;Sku;Yyy9>YxbKJh%(N5(2>~3PG z?OM(thQ?|5{2N z?_qQErcK5jTXePM3Ib>&5*5{@G%(C~pkqXkGI}g=0NZ^BFLU!~HhO!yT5>}KZ0BJW zje(JZ>IDQEVhe_{^Fx?#5-Z0R@v8%F`6s@E3(=7FskyO%5 z*nKnlev9ltG)3)Oo1;&;nNukA1qP#|tgQ4tWNK^d?5xQubY#)Msd7C%6l+ec?gzoi zjrTT3lfheB{LRhfF6iUSfojE-i3$b7~hafJCz>Ri%!gwI^g=T&;po_7sJ zYxs05px2|TJb(VfTPZ&y>DjKwLtR~~nn;q^diKA+TPq|#JScZT%&iVo;BPX@A#={j zk<(HJS5xz^;+k@IA*}PBge3`LkiWG`=FF=PBPzNS*VYy$>`MwxnW`%mPxyT0u9~?= ztDrUOA$;EvyID+Zbts)IFpyXf1|x)WQ?VgG=ICG^&t&ai2hcm_RWdw1H?a{prfbAU z9S?gSqRo7v+3-4Gyno@op<7>Z?@X^;RYg!?Mpjmw>@yaL9nAo08-qtOuVZ@i$Fv$( z*HHqGyO4yVhIK%;+i8=^bwhs1aF<@nrVbwd^n#pFD#KS=b^EjEG}X0b7|gf$3*kk# zL@sy)3<~(6Sk$F_*rz?eC_w0lZK+N#`U=*3Q%y0GAyYPkIQ6No#b0l^-${LPkXW@u zj+SP&QfRQM<>lq|-cd%D+ebH*91JHqn$>$O{s-G_)2}ZEoFXZr;K-T!-offtjXM)J zTVEg8Xa3PWEEU;1WMf;tgxQfV+hneJCf*W}kR0+;zeeY4P$2Q$SU1~@?ZP*~pE!f? zH{c`^bUTdnAj{Bxh)4cDPxISpw_8EHEw3#Ppqz6# zS!Sv=@jN3_KOH?7{Db29`kr4BZ(9xv<2)wZrToqo9a$<4mbiOgRzG6ln)Ec^bJ?3G z$YR=g0%`q^&Zpno2C%2S+~K$k*-Eb1f#6tq!~fg&_9U`T$^^NV>S7WS*U`cxzyI{Q z3sJUYVM8Oa&Ux#(=?Qeb>5kPFtbQ3G2uo@3o0)DYzGoU3`>Y3nfPlC=@}8mp*MR>^ z4p-QwilrMd$x^FCmT$|rE@+Y6+tJEK_@j^I$&ZgpE@b=U^uIqyhJVVh^VBeuNN#$! z;Y^+uWh5Zzaf*_n;dJr*jQ-05THm$MO0^18w0S&{bd79md#rt1na&-q|bulrF z7gL5_Ig-0$lLhR%koYu_wbncq(-}@DdaH5#5CBzFkk|H4DT24MiX{>t}u|s#SvmlXbebP{~-U*}8oUp_- zOJMxr`GMr9TtWak_p(Xvk^mLkX3ukA{YnmXC)s@qM4e8Ye%BI%j8*{6` zgJ8MMQHtA=H(Y~Bv;?opYxI=j6N&Xg!bJ4&h12aj4xgST1q%g)ezB!OAB|5Ol8hIz zxI9277Vf>F5B~z61*@>9g3rt}&exoB|KA@d5ywTS=(cR#Dg4+$!^aQ)%JRFdIeowA z=quT_;kA(d^rT>@z86_In4vgYe0YL~H$PhI#3rR+)8-L|1sPPR=|Vv|e1o3pxVQN2 z@GRB2JLVGIQI*+ce9*>}`t-^EN%;KK3r@Zm#N9&*GlAJ601!Mm;IYoq{laLVFb zMMV_|f00@8ZA+<@{UGSI%6p^7LxAX)ltukTJNnIhgPc1IV!p)Y3`|{j(wiC<`qBGS zvPyvrr_^3(CbI6gN|a-tO=$-p5>}&e6vW%l??{*HB<8 z%*@$vnm+QGle%E*a}~=pbhbSBc0VrS|8I#=3Lln)QYh?M<@7QQ2lu{!$Qk*=bETA>!8DfGvz`*KR;qX8T}cN z&i2S&R~Whb?r6_-348x!%xk0?n_TE)c{!%sy^brC$;g^SLG9fqgz}CmqzC)Wr+<9Z z<{HRC9<>fgE23F>%e|`}t>Vi_2{IN{(jt&nNNJf4UkHzgeU}nSXrw@{VVx>fZk`vs z;FDP5wxE!&)RIB{tR0xi#wR2P@tGhiJ@a$#@~{j zu-*@*udTe5gD#kLFnUMK>vJT*fU-u_V*RarL9liPTsZJ(3f5*1Vv9kluH9De3)#=7 z&aPqQs13R9v#`gEjA9x~uNEGxOAO*n%BFg0$3OiR{oy3KK<05EGzAB z@?|z02oXtpnT3hF;lO#J6(?|BDx^jERHlqU8UJ)#^oNgu)lxU*5q zhja*7i2 z=n-pL9P=`7SU|Z!l={ca@&b44X7{scyDE_@S`^?9vl;R>jvbjBRVRDB&bF;kGiA4Y(a+hz0yG>H{+lQoeOH>_Ehu$>=+)E*cErQx+TB*IrF>MCBb~2EKGaZnQkOP z@*$}F_{){rx_>V8f5~&w;t4sYz{}aV8GfY$$VJvj@q*5~-2B(9mrz7(%C#wGb;qf@ zVo#Y8xm+3BL&(3&=zn`Nw=N$Z7d6*)wb*7JoHTnIi;JM!kv!}mnDLn6Rttm<8^L}w z_{R`CTjHcril0K5$+(IwLOB3q2gg`J=U$ym7cx$KmKeKvrLt{%=NrG_;oqFw(Hi1&a)}v9h6MeAEy!pM?JLoD+Asy$W7KC-4d#E zENuIVh#6)|8?3!S`^Wwnz2=mT-nff740Rm!QzRB@zU6!Nm$7R4A{}=%ZwAYpu%^`X zwjFys(98O;5b3<-KrSMQ8@VJi9rWG`aR>yipNxd4^6_=V+ugU*{e#b0s-|_Q8*A-W z=I{lBynLzZctlq=lo;{FQ87!L#C8TAuaAbOhAzW1Zn(ya568r{$0>QAbB%+67xTFu zlJaBs2u})R=;9i`G2_9y@9B?(-VD&43Bjb!(|1OjctY-bGMXYQ+~$BNzOkOI!5&_( zig9BuSL}&KyuQyfNCJOEA%cd`taGFQNbhn)8QNoiG^aEwpLhrGd%C%SFHD(v$iq_9 z?5RSiWXiTJA_lL4Fu9Pyf$6K=vdQM1=^V2$HCsjGTadKV*W|3b%!+!N<@DQ32|}1n zQpI(CU#aikEJ$Zg7;LY0?MD@z#p8UwyfNX!WoW3P5(w~)mo|MBwekkwx)U0Oq{#j* z(DL))${%H{6e6hO7t(siqidtiyh%!xi;#7?q8V4Ita7*BhGTMv8ZzY6rsmeyvIArN zc*_gMvryV4m4cgRXS@~--cY~k+Z({DkmCTy{!ovsmwer~(P%)|LJN_C3ygT;by-!K zjK!qOVMty$Q#kD?y&ebSVLnT%S~g}^Vz$g)F02si4yAH*%T&nAuCAFZ9P6x%asI(x zj~B2Mq}BNuf<`S*>0UTLqdAJ@E@W>!}$bW!$Q#u)iPx<9{5f8E>Q?JHf zz3>2JfJoEsIO6ya7>I%}$Y>0y$HAKym3oFZhT^}A`*Px|zW91Fs%}L5cF8re@rt&r z7>wCBLMYN-dUY%M6cieV${q42i&0ww4m#G~7Xr3XS}ypu5Hl?w|TN7l9 zllkvRN)jmU*TLwahrQa(fJ}iHsNWbw<=`0DG^CJHM=C1)P?xLu7CeiebLtt}YZ;pXB{Kv^ z4Jkqt{f^X-=1pjA1X@^e2$w0^+wQU<3yia|W(S-Z{LQ8-7`EF#$awWp)Kcao(m#!g zcJ7Vg&7U+OCzam8veyyN3W9;kNHzdB)n-O*6l3yel=SHmpWSdO?7=e!#-Bv7kW zUTig{spfUDhm8O@Q0?-Ukd-K@{6b^6)LWC^G*|y^CRO2#*IQlRv)}4xTY?^e-T4;P zeV+mepUGcC@T-49p-qqdY9^QY8j~#85YjC^Y63gj!1mn$)haLP zEEd<2wf;ih%VBGs$A0hqAl|xhp7OtNdO{&Y9BlK}EXQ`$+~a(pAd1GRP^Z0@ZZ&h_ zhIj|>!l=#)-`V554|L7xWE&5lU_m^f=EBl&qVNm)!ek_W4-LV}z3FRoyHu^gmUfdV zAYDFh*}@f);W3ur$Pg0U#*Ul$I>JPRS#4*^N~Z7GdaaPE3-aa%yDsz}(o`1hy7!-1#jvmmKzjtzSBsCkoQF&u^4Ca}{kpVZOf z)+rcl>*O1gfE%gQ_@<-rdAW67@Zu1skD=ZE9;@Z$vkxCWys4N79yjx<864y&X5l2& zXABU{>SoQugD1>}OHYKh2O>dmK5dJ;`-8*de3a+)_Y**&qCsB4quvi8SJ#_71CSaV z_L;l5m}dU)0$m>cuKa!dpFGB9PqxY1TC`gpj;hRfwH=qp~%yalqufJ4sZS)9~ zUmBxiTB4f()ws3DaEW(qUhi{wtVOe`4l3@Yj=h-J48NLTY8t5V-zJVqi22)Jzj22P z`(Ur4x74wN=8;&*J?|vy67OKejL;rygRa6i4i+r$=0n5EOXZ2tVPn)$F5W^3czFTTb;_^!!iB!mVz~4C{6<+?T6k27hS9CKuIArJ z6F~?$M!$w48Wejt4hN57U53x=Y+Pp3i^C^yJAW3q;3CqF?<9(b6+Z3z(JFE^{l02O zJ2hdH)UnQor=k8+o&Kif#SnEqu zxa{8-b~}4i-F~R6L_1)@geyLLcYC{i$ZZw^1hC=n4uB${Kz6{uqo^A(+iSaTBoBEM zM&p5B(ZZf=3U2s4` zxqRvs&zl#Bip+%HK2zputoBm`n zG?{vt6RHlOYheD`VjSh8R&kCSe2wViSJR%YmrY+kdIND#s8J~UdpQxKg zfpjhy=H)xMU2<`>)pEOQ()0K(fUs|@n4dVUu1ERYj5jg%QA|||k4^a*cO|X24v9A$ zWW2DY>$1@egHRl8|wIFwC^vGLKt=9#aq;S=G%ugu~Pl}K44?O45< zp1X`9>i?B9EjwAxHAKlw6WITOBk6#Ow(lKUng(r;*>BZXN4;dbr%lc-yY&81tQ|DL`^`35^%DOqLwp*YUYXpZn3>+Yb5;8u)FTO>&iJ9RGl~6WC``i@5v75hp zchLa41K(j>O@d3MijPf9Oc3B$yADy|6Gdr~XFZFy%kx}*k|{Z9!xW}r!p(|TAvFxc zEiO+e>Rrfu?c*48>qZsR)Lpm-1P)F-M{_F%gJ1Mbv#erxK>c+Q(hnt3pD^(GIh)XzS|d`f_D;Yg`Ms7xad|ADNLMdHphtf6~zxQbEES zAf~W#a9>Bg>8;c7(@M!KYe$I?2g&T7?7RrR&+TWOpwEy!cAOL$XrF!!hmf%S399GU zax3)zHK2Khsc$koJUW!09Ek^x<8sem&z)rwp2Jlv?7ZgVNB5jV>Lu@P$a&76yz%*k zLX$idM(N_oQT;EgA4^+TSpY|f8Ncb}Z7?-=1upL>d&A$lsLAGc)3tcreY+lHWH+AJ zJUziY*Y1tmtVI)BEY{tvYiK^c$l&b3S(|Gt744Zzb57`|HlB8Q^6Z)NhYN)so~DhR z3mK0^&ODfWczdEFuuXmFX0E8un`KN4yD~Bpez8bbJ6G9^q4!*-^!eZ6{oS8DOYdIg?`%m20YY*E?0rJ%A-MeX#$<_*?AGI0e@KTjmD?1w>xesR6bL%$sIUHF=x3naFm(jL7Fs-m@6~C~d<7+@NJ-5TC+lW+ zo2^)H_h;|)!{y-y*M9t1T*|F#akIY(*tlK(26#^@0|Rh+=s;(%xW(-?XL~l5eLNG@ z^=x*tyT6jIE_3j)-eDkAg_pIcQ zjrjSdWxKTc=Ge6FRXnb!tjlUEt9xdS&9wX(;km2*YG%D!1*}S2zusmBO$|$Vb}a6n z$9L!73>M&Q`L;XjMdD+D4ZWTXvC_aj0d;Hc%XI*I0>HG@xwShc(K5#)*1Z3Z{3FAq zz~Q}5lY1qeH#=wL<3csy$l;0i zouI+S&%l*YaeMj>Ixzpunx1>XVaXlQW3N`<>U!z^>aT3SF=&jj&L23{woT-MK0!*EY?(cDJ|CS{n{9&IYWJqyUvy~ZWj1oAqS=HaR p2sCmD5-T%2bybE<+#?DpeH) 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 diff --git a/examples/coffeesearch/src/App.tsx b/examples/coffeesearch/src/App.tsx index 83aa1dc3..8cb9c8bf 100644 --- a/examples/coffeesearch/src/App.tsx +++ b/examples/coffeesearch/src/App.tsx @@ -1,22 +1,6 @@ import { useState, useEffect } from "react"; import "./App.css"; -type Data = Array>; - -async function fetchData(v: { - aroma: number; - flavor: number; - acidity: number; - sweetness: number; -}): Promise { - const URL = import.meta.env.DEV ? "http://localhost:4000" : ""; - const params = Object.entries(v) - .map(([k, v]) => `${k}=${v}`) - .join("&"); - const response = await fetch(`${URL}/search?${params}`); - return await response.json(); -} - const Input = (props: { label: string; value: number; @@ -26,31 +10,29 @@ const Input = (props: { props.update(el.target.valueAsNumber)} + onChange={(e) => props.update(e.target.valueAsNumber)} /> ); -const Row = (props: { row: Array }) => ( -
- {props.row.map((d) => ( - - ))} - -); - function Table() { const [aroma, setAroma] = useState(8); const [flavor, setFlavor] = useState(8); const [acidity, setAcidity] = useState(8); const [sweetness, setSweetness] = useState(8); - const [data, setData] = useState(); + const [data, setData] = useState> | undefined>(); useEffect(() => { - setData(undefined); - fetchData({ aroma, flavor, acidity, sweetness }).then(setData); + const URL = import.meta.env.DEV ? "http://localhost:4000" : ""; + const params = Object.entries({ aroma, flavor, acidity, sweetness }) + .map(([k, v]) => `${k}=${v}`) + .join("&"); + + fetch(`${URL}/search?${params}`).then(async (r) => setData(await r.json())); }, [aroma, flavor, acidity, sweetness]); return ( @@ -66,17 +48,21 @@ function Table() {
{`${typeof d === "number" ? (d as number).toPrecision(3) : d}`}
- - - - - + + + + + {(data ?? []).map((row) => ( - + + {row.map((d) => ( + + ))} + ))}
OwnerAromaFlavorAciditySweetnessOwnerAromaFlavorAciditySweetness
{d.toString()}
diff --git a/examples/coffeesearch/traildepot/scripts/index.ts b/examples/coffeesearch/traildepot/scripts/index.ts deleted file mode 100644 index 372974da..00000000 --- a/examples/coffeesearch/traildepot/scripts/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { addRoute, jsonHandler, parsePath, query } from "../trailbase.js"; -import type { JsonRequestType } from "../trailbase.js"; - -addRoute( - "GET", - "/search", - jsonHandler(async (req: JsonRequestType) => { - const searchParams = parsePath(req.uri).query; - - const aroma = searchParams?.get("aroma") ?? 8; - const flavor = searchParams?.get("flavor") ?? 8; - const acidity = searchParams?.get("acidity") ?? 8; - const sweetness = searchParams?.get("sweetness") ?? 8; - - return await query( - ` - SELECT - Owner, - Aroma, - Flavor, - Acidity, - Sweetness, - vector_distance_cos(embedding, '[${aroma}, ${flavor}, ${acidity}, ${sweetness}]') AS distance - FROM - coffee - WHERE - embedding IS NOT NULL AND distance < 0.2 - ORDER BY - distance - LIMIT 100 - `, - [], - ); - }), -); diff --git a/examples/coffeesearch/traildepot/scripts/main.ts b/examples/coffeesearch/traildepot/scripts/main.ts new file mode 100644 index 00000000..b5bf646a --- /dev/null +++ b/examples/coffeesearch/traildepot/scripts/main.ts @@ -0,0 +1,32 @@ +import { addRoute, jsonHandler, parsePath, query } from "../trailbase.js"; +import type { JsonRequestType } from "../trailbase.js"; + +addRoute( + "GET", + "/search", + jsonHandler(async (req: JsonRequestType) => { + const searchParams = parsePath(req.uri).query; + + const aroma = searchParams.get("aroma") ?? 8; + const flavor = searchParams.get("flavor") ?? 8; + const acidity = searchParams.get("acidity") ?? 8; + const sweetness = searchParams.get("sweetness") ?? 8; + + return await query( + `SELECT + Owner, + Aroma, + Flavor, + Acidity, + Sweetness + FROM + coffee + WHERE + embedding IS NOT NULL + ORDER BY + vector_distance_cos(embedding, '[${aroma}, ${flavor}, ${acidity}, ${sweetness}]') + LIMIT 100`, + [], + ); + }), +); diff --git a/examples/coffeesearch/traildepot/trailbase.d.ts b/examples/coffeesearch/traildepot/trailbase.d.ts index f6c61098..a7c705ca 100644 --- a/examples/coffeesearch/traildepot/trailbase.d.ts +++ b/examples/coffeesearch/traildepot/trailbase.d.ts @@ -125,6 +125,7 @@ export interface JsonResponseType { export declare function jsonHandler(f: (req: JsonRequestType) => MaybeResponse): CallbackType; export declare function addRoute(method: Method, route: string, callback: CallbackType): void; export declare function dispatch(method: Method, route: string, uri: string, pathParams: [string, string][], headers: [string, string][], user: UserType | undefined, body: Uint8Array): Promise; +export declare function addPeriodicCallback(milliseconds: number, cb: (cancel: () => void) => void): () => void; export declare function query(queryStr: string, params: unknown[]): Promise; export declare function execute(queryStr: string, params: unknown[]): Promise; export type ParsedPath = { diff --git a/examples/coffeesearch/traildepot/trailbase.js b/examples/coffeesearch/traildepot/trailbase.js index 58d7004c..ab42490a 100644 --- a/examples/coffeesearch/traildepot/trailbase.js +++ b/examples/coffeesearch/traildepot/trailbase.js @@ -485,10 +485,16 @@ export function jsonHandler(f) { }; } const callbacks = new Map(); +function isolateId() { + return rustyscript.functions.isolate_id(); +} export function addRoute(method, route, callback) { - rustyscript.functions.route(method, route); + const id = isolateId(); + if (id === 0) { + rustyscript.functions.install_route(method, route); + console.debug("JS: Added route:", method, route); + } callbacks.set(`${method}:${route}`, callback); - console.debug("JS: Added route:", method, route); } export async function dispatch(method, route, uri, pathParams, headers, user, body) { const key = `${method}:${route}`; @@ -505,6 +511,20 @@ export async function dispatch(method, route, uri, pathParams, headers, user, bo })) ?? { status: StatusCodes.OK }); } globalThis.__dispatch = dispatch; +export function addPeriodicCallback(milliseconds, cb) { + // Note: right now we run periodic tasks only on the first isolate. This is + // very simple but doesn't use other workers. This has nice properties in + // terms of state management and hopefully work-stealing will alleviate the + // issue, i.e. workers will pick up the slack in terms of incoming requests. + const id = isolateId(); + if (id !== 0) { + return () => { }; + } + const handle = setInterval(() => { + cb(() => clearInterval(handle)); + }, milliseconds); + return () => clearInterval(handle); +} export async function query(queryStr, params) { return await rustyscript.async_functions.query(queryStr, params); }