From 5e655725733e19d7980b0aa559f2be00dafd643c Mon Sep 17 00:00:00 2001 From: Salman Paracha Date: Sat, 12 Jul 2025 03:25:09 -0700 Subject: [PATCH 01/13] =?UTF-8?q?updating=20the=20messaging=20to=20call=20?= =?UTF-8?q?ourselves=20the=20edge=20and=20AI=20gateway=20for=20=E2=80=A6?= =?UTF-8?q?=20(#527)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * updating the messaging to call ourselves the edge and AI gateway for agents * updating README to tidy up some language * updating README to tidy up some language * updating README to tidy up some language --------- Co-authored-by: Salman Paracha --- README.md | 11 +++--- docs/source/_static/img/arch-logo.png | Bin 367486 -> 222917 bytes docs/source/concepts/llm_provider.rst | 41 ++++++++++------------ docs/source/get_started/intro_to_arch.rst | 2 +- docs/source/get_started/overview.rst | 2 +- docs/source/index.rst | 2 +- 6 files changed, 25 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 136d48fc..d90fcd52 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@
-_The proxy server and the universal data plane for AI-native apps._

-Arch handles the *pesky low-level work* in building AI agents like clarifying vague user inputs, routing prompts to the right agents, calling tools for simple tasks, and unifying access to large language models (LLMs) - all without locking you into a framework. Move faster by focusing on the high-level logic of your agents. +_Arch is a proxy server designed as a modular edge and AI gateway for agentic apps_

+ Arch handles the *pesky low-level work* in building agentic apps — like applying guardrails, clarifying vague user input, routing prompts to the right agent, and unifying access to any LLM. It’s a language and framework friendly infrastructure layer designed to help you build and ship agentic apps faster. [Quickstart](#Quickstart) • @@ -80,7 +80,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently. > We recommend that developers create a new Python virtual environment to isolate dependencies before installing Arch. This ensures that archgw and its dependencies do not interfere with other packages on your system. ```console -$ python -m venv venv +$ python3.12 -m venv venv $ source venv/bin/activate # On Windows, use: venv\Scripts\activate $ pip install archgw==0.3.4 ``` @@ -148,13 +148,10 @@ endpoints: ```sh $ archgw up arch_config.yaml -2024-12-05 16:56:27,979 - cli.main - INFO - Starting archgw cli version: 0.1.5 -... +2024-12-05 16:56:27,979 - cli.main - INFO - Starting archgw cli version: 0.3.4 2024-12-05 16:56:28,485 - cli.utils - INFO - Schema validation successful! 2024-12-05 16:56:28,485 - cli.main - INFO - Starting arch model server and arch gateway -... 2024-12-05 16:56:51,647 - cli.core - INFO - Container is healthy! - ``` Once the gateway is up you can start interacting with at port 10000 using openai chat completion API. diff --git a/docs/source/_static/img/arch-logo.png b/docs/source/_static/img/arch-logo.png index fa51c69a744d46b2c93391b0ce53160da87ad637..5b6c0b1519754825fb15d87b24a451f54089fb49 100644 GIT binary patch literal 222917 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 literal 367486 zcmeFZc|6qJ`#&zJBzI9aQkK%9tYuAOi%`iHV_yapZ9&=zu*7&c+6wY>%7i&&g*rZbFSriUB?S!L%m

F?Tb|084}WH=TUIGLFtZk3cfPVBh_I*i?gWvWj3( zfaAGfu$MRFX0V#rKU&;mmG`S<#m@bsNr0!Cn5BX7Ic*<*&^aZUYckiw)Va=`JE!XJ z>~izLZQXy7v#!*{+yVl8Z_3IB1qI0j$;s|EOgxPIWF-+5cJS z>Rcn|DqPsuG}-RnzGW7CV38aWCe)rHKHqel{ajVtMZ?z|O(R zb58TG3j7yK>fZZt|9>aAr|H`r|CinVd+1|)JhnDhDx3d({a4S#>KyQQ=l^H&{$|U6 zUCMv6zb=Bm+447A{x&WCHZA@(Eq*Tt{(nkEOS@UO!x#REiI2*ZR1Cml z%By)9<=GzBBX68-$7L`ZH>n!h{mLN)5rN{PFEO#0hNHh9@Bg}dkDESna1i(}fra*C z1i=~{x{jr}BUC1mXPD;)>7I~j~_&4 z%PO&n=)b1Mm`g0yeP2k;GbCiTddGB++S;QRW__w~1d72+EAVB?BXx0C%Fc~1 z-ZL{4uf38?Vc|+zOF#4sY37I?<>z7@yB}fLhl4C9M8EvRx6g!0h@6Qz@mJxR&2jc8 zo*EjF-^xe%(l|~MNcgwZGKVaT^ zWqc*aG_RI*R^z)M#o6uO*LZe05JYP-h=U|n1?4}0;V#Rhw&Iw#03k4*_QVU5(38Ls zLt;p{>$3Dgu+LAXq!1yNuYyHQFPpxnvI1SOJ)e~{{l$~}5;m%_T$7`$M#wze z^_3L6jo?P-l)Um18EkW62@RmuK)!q$`T7DzTL!j2UQ>y{q!jmi>rDd&q5 zs+6ML7y9O`cbpM`Nb_yK)jeZ-U7iI6iNs7@Hfdx|Ch(fHmIusNS`uYfU!4e4sog8T z*(H0*2`voc&Yp#C%R}B5y#>p|bSQxbDl<+&2;FNL(&eQ2Z8#*^%x(;XPJr?;7ZLzV zxo~WPi!Vi0vH}<^ji}IhPg&kVLN_T`=<*`S%o~u!F27@^6G)cy|jE7e^LKCwDgJ5_HIA z9WSTT6GM?~mbL*rW7~M83Ygu2q4}y;H75nsYaEkI#MfkyP?1|X=*)Oq#nc_`xlGoM+={^AEgC`p}u6{qD$GDhl^Ilkzt@-i6^er;WKSL zP%~o^m?Wy^21uf|({m6AINxB+Lz__#fvV28mPMs$=Zny@lBru=*#JpNuqP)%hhLIp zH~m|d$)QEnlkTp(_W>{76aAhR8`3Nn$HKk8*eEt;oFWf)&k>7Nx-p-x40kubCGNO} zUlZ1q_6M}M2wp@kjU+Z%#`FxXieqTDG2Q-qdEHg1Cb6XPBq;Maj0Q6&Y25 zBbQU#bz@1DiR2q^@|~(o9u@(rPU5aU_4s#+)_7J)?sZhy7qf^``4k?Mem9J z(o-Sy2|X}9If>Xa5zA+Y&DD^v!|?0FWb~F74LCB2ARQg30X~i7b5@5jKW7Zzn2{1+ z5nU>}o2*5U^N;$JQrA`Ee65-9oHeBzWIr}OzmG1)T@l#GYgG5AN7T8_gqq!S@!?;=K>MondG z(#L@3WrX~%_SdyyxnEC(e_R0`Zv7dikWhrM6+$Wvd(WSeZcmu7rOM36zpQ>~G*$X; zVL2QTYE#jnV)3j}NCR%8HVSZKl-A9fn7J@EG6X0=do%(iFq}~KQ6;I*$Uvs;?6iiW zBH%yx^`8Lyvi(ucqI!!Ytn>cfj5y}Zhqg7BJLo2Pb^#3YEC;KF_EIC66%qc`I9v7r z#hya%+lpvTAJ84?)ZZ52$&2hjK6so1-*Q}oTmeQ{|M~RyY(cYlM})_a&eO`W--zQ| zAi(oDdvO5)-o>~kvulR%?UxiTi`GEX>^^G1MWm;q!2Ppm(QU!Xxi98qOTpDn6_*lE z=?88L*OyS7mBUByauslF*z_B*O1|tJ^snbD-iCSEJI~5!Ic&jrU5h40bQHRJtuZ)g zpcO3W6n1yTNI2m@O}Ss$-pFG6V0Vx2&Ew<<)w9lrFdg|BngksUR!yVl++Y>XdOHwp zQ(XraR8vjlA>9HbES2w!YP`(OVeQ@FRY0m}eO!|x({^UH(D9Wr{6J;hRt+s;vBUPS ztbitfIBQAvsGU5;5{yl;7mRPAxg9~8SHHLgiG20XE*+Sm_P2xS<@pq9dlE9;`cU1r zujzCWTrT3x*%t9rwkv`Xufe)QlG+{sn5A@*Yiot=22J6~eL-WujreR%WM*sWJ;*Px zR{9NNC7~>U(kImR;d0*M>WyLVjdW&~`2>@&osD?UPwRO_Ezc|ymKpHNr7O_>6DI$cXLzRd=(R`LD7H-CeAFO>(j4sH7 z%0@sxrV}$6wbH3fTPp{O#And^D@bS1jjN5WJaY0WA6PtsxPs9VNYJumDqHt^Jm~57 z<6@sGL^Y~+Tx05bBz97cIk$;N8`nX06jB)=mY_^6Q6Ht?#^ z7KK_KL1OPPd?{Zg-t&{Jbfi-IDpnizdXy zU#CtE?dAsVE_*7pQjL2gnaa0`F5XVx^A^^o=bM?+cQmv#V&}_36X4nt!z#bD&j3E_ zds9DTIBICY3U50ghaIS`#i$#p*my%S?cTe%Ah-4L-2$`JsBbq!i>fDQLpX>%7b>79 zHQM#s(UJU)nCMgnWx-*ulmcUXB!V7OB*tnti|8^jXB#}l{!(CS?c3E~ym(kfT6h(^ zpipP0hoq-x>Do*tW_L3pY?CHSjLwd*#^cSGyeiNI7&wsNF^uDe>-2ivd>t^6+?&~GF7 zE&ZO3L3RV!hqE|v3ng<7o-!c!3L`jPLAf^6vDH>5?_2rnFBe4kXx_X9wI0QWJ*2x` zdkU8`@Z)9oY-9T6T$I=BlzH1%MPgprD5nYq%J2?m&$|pzZaYl4s04>k-`}3t?bz;g zs7#WB1)MHKz9g(?zCqWyubJq7aB=mM687I3MAY*lh~Cquuw;=NMguCcUPn|#k(CkP>en77wJ<}OkCHAAsUk0rLKqaL}6ye z>f9XmwbqtsgLk{t2g+JSX6Dz`9NvfpcCS8Hy2JYQmrEJHU*i8o4l`@m;as~5q4No> zhN2Cc&QIi?Vt&=PD*}5}6vonthEiKwKg6@mET!r4U4zeJf4dNEBeb&sFKx-hn6vYtFGvc3vUNw z={1k7IktWV$DELVZ%)83Q7zOfKcw5LlSXjw$vmT2bE~^ca$lZL;HH32`6o6F5MJTX z3OjA+gp09^Wck!P&(%ID++>6dAT&65z&?CeRiaGi6~$-_)3VzF_46nCyZ0gcX;3~K z)xgX3N7)nKyFxT!jN~kwq5fZ3{d-Gm+4UG_(eALb49l`;N-{ck(8vlX-QuxelR+7E z6|K~BV16Pq*6xx*1B$_;4yLSa7thzi3!`J+gYW@_Pz&oMu#)MB<|=9piW#i=L4075Cc}s`Qr|;;6nKIj z+r3Aj%B$b>xHh6yan{<9{t8TE${AM*jiZT)4C@zRbzL*3u?hBH0T#{Z^7xI*qs`cz z7bTOeeeSg{A+AT-ONFt&wK0d8Cbg#?^3>RizHa%-_VS9q(gs%_el}h@ zu5`#+ghY)Ac zeV6@@E$y8f9A>r*KULSDyDTeP^x`YW%v?@z;q8Z>v{6IS?&RItz1DtCBy1F_9%>B4 zOL&?#XUxhqxE?fv9Ms7c)avZCBb8Q6Q;GMU4XzFuTS=$xg$wH|P}_r8l2=eL?m!HA zJ8QIdYUe(K`f(2FLYHeoi|D^`QABei$;c9-HMaAS0LxqHzNB&C(;IAxNR|VppIa)y z1-Ppt+P^zJqMP7P$5gK;NEn-c&Z~2|+!sI!R2c=gL*6YuTKhb6=7{_|I5u?J=rB!A zp-K>UDRR})KDG6W+)!YIFkipeD=6=nD{s%e=<=ITV9Hbt2r%(vxLG&Wn|ID75UWUj z(b%?B6}97|HRN-DBaGa~{0bmQQN%#&YV^|{p<`-WT%TGY9lgXYM>7|aMq;N|EM;=b z9+1EV7U1nfWpmboGHl~2v|zwO=~2YzkX=R9wOfB`5=8}>YWh;h;W94!ZcXda+uvMN z*sZI%XI;!5gzdy|w+nxUY8_-G`VF}i` z<|Qo=2AV2LF3?QDK5kG~1MBgc18~cRJH_ngeOtEK@&^j5XL}d7(st9AW-T`wPaYvm zWI?uYh>Rs zzY0w?{tTzi6px^c8poE_^JA0!0)~Vd${ic+nk)Juyhp=pbk_k?WLV;g?$nsYjv44n zza>8~IHQ_(qALLa7@jR=_Y6^GWQ9*Ns;4lQAsyJ&`8o+CVX7X4uju9+ z0~t%FDtF)WK>Eq-rA9Tc_1tsU6Yxta{dHjl_;mGA2o8mS9~KntTG|PqUk?ikoToJA z`8XoT^bLguOt$tO-|pIn@^m7PW_+eMV#+Fd>d=;h@KR;%soj;Eeh@pw9;#1bkPR8# zlKX5#xg*|Fz9>zoGbTB6=ngF{mY}ou(=294O!f309ujgYWw7X{it{=;o*ONki7(3$ zXm_Q^G3{k8Ov0P{yfU+QG7nV6=OkO^t(Cc$0!eZ^Y1j%~lIq^&#$x{mb9`fpjicUG zV~f49e{On3iXUi3H=e3<+;@8EJeF|}`~78(RR`vicQ;MKmXnQ0`+A17yLQ*i&L)d% z=YF@3kVN{;*8scqqV<$qOtOBI?rA9`3Ir^UKhMp7;GIS3ue0M@TL#wHw80P0?*gUJg?-VC$n5iRBl+zCz%$e zRD|J$H*h}ccjgtu=S1Dxjs3pMkX&b_!I$;lwAsSe zT3<95LTx)l=FoN(c+pGmSzdt@oUby5$54Y-{kTs$BptODD6Vyr4yo=gc!Uw0a4w(V zYz^n*`(U5_?)Ej5O{iQF!8YRY{lgx4U#vq6V!R&JRYt_n`YyV@X6;_@qDqE|6+d}eW;F)D^_&(&$^pQ{I=?#9k zN<)Rc%f5H0xF$?ETL=dz-Z_vx{+l0dw6v%vBhCnhcR4*1#6;|^S~S{;`zw-(zI#Jvf*1!su7!CsXXs8+Tt_Q)2d@b73b>-BO-m{Ui8q&&L zz?g=IDDqnU--t_o8E1^ zt{V9!R+I%xf0hgjOnd}r@ldRsJ*Vw$_YS!PAX?1lkJYbxss<~3I|tn8I|P3u8?CX` z0d2`Y7n9j_C{TQ6sdPb_Yp7K&+r&iroqTX=$|4Jg($8=yn3eeAW@RE>NbkXkq2LFa zE&a=S0>=wGrCaOd)-b(BBShaw6+%t_4pr%9>WD}pKFEH+L3yjklQB_#9#MC>_M3zw zx{pGSu25#}CJCc9@r~3LxqHXWY1@jAK5yWQtc^yaJiaI4?S`^(#W$ET;hi{wc`6;poVm0x_EIJdA1-3~9#)cZ!0ki6vbzR)2t zKy|d%cW?U7HyeXxZ}-w^)oF?>liOS1+v9uY<8i%%8xyg-W(*W;ElFbu&fcASEY?>a zmh=EHOzQFunw@?aKvw!F0hBqI&NsLUz)j1&3Cri@ihnqSE%*^2I1X1eu^22~{LJWz zt;jn&d3pk8%NRb~7p#~_eo;L_9&$VJaelyC>QFj1db;kom~S#``?bo&2?&PI14QWn zd1t~Smv?@Qj-Bmeu{=hH3obhrI=-_SsB>{?`mnUq6XME;E<_;s`Br~6_#f@HIhDA;Aqmwkm!r zpxvpG-BpRGcAPQ9kk3uKZk|=$t4i!m}>+u-Ia5AQ}HrYL^pa=@2D~R5yIr=%^mpmV} z3({7Fp7IDqwdWTy$=OA%`Yg}SdK zTQmvP&Qn*u%8TAU^9**llxci;u#8BEo?RGi^B_I{aqnM^hKnh;Ohx`I`i{PuQkC%Ik|w_9kC7ggkbm7zjkiK;uNP97>%aPn@) zdBkvEc$}jDSpDUEFkponQjO={oB9o@Con?+nU!KMY2qGj;jp&fulE4=D!V)to(Xxc zg<#Vvg+%Ob45P*$Erxda9a&dfoRRN3Sgr9i#XqQwEQ~vggSOy4!77jxrtRF{LNe^%JiZ_4e9O;m9xx0Rf8FQi*Wn?nhx(JPc88 zCzRDz9TCzOuA9~WCF^z6pZT42vaE>m5;j@Rh~=NIvB1g>5D%gJ`;fROy1kJF1gs`$ zc(S6Wz#rlnz_+u~k7(8TCUIAl2vKX6)?Lm2gsY?@Kg4RV})tqO&#o-6Y zWZU9P2J&@EQU{3Ao}t7I*&brYI_MBS##7vBDr%?e%)|HMd!mYo_ol}NrQ}`INC}w<)oyo$7fuC&C%)t4RA|B;r@c zl#vbxUc>YZ&8*tF3+>;sxuGnRmtjasoOhPIj?1x>qv@Dggu$RJD8N1-yLS0ca8d~BOh9{kGy22QX&+lwM1YC>c;7C*yHF)M0Y94 z(9L$&b%>wuNRezUNJsL==IB`I*+0_)nm=TDSt3V&z?OBwHR=$Tlum)`B`upE>R7_O zhlYFh4yl;PQpVs*@Fmm_V~&`Zojzx4NC%=Ljd(hH^!YhFnbS<|d6V^FLRm5QQ`Qpp zIsRy?QC$dr_49bmI3tfxE$F;(gB<(5#&TeC+wr7bMnh^tzwPmWFmS!v%Q*ieu@Vg5 z`5GkWEsCBoC4^(vUhgqgO#4BIm94x;NS)ftKDzo=`my5f(fd#Hix{28d^4R|HFS+pyGpsxwvBf4fqsZmQSD zdU|}b%a+H?SUIXR(Chy`k8pKhON;V)=RK_OC$b)Vv8elF1`Nd)j-r33!^$Lg=MfjehSo7=-9 z!~aaK@ND*RvM^vb5%k$hnm=HtEE7xGJKJ=h4v17FMQrtNtZ3|gq^O1r={3pGAg5N} zzPJ#0;KNeYILZaXkCmh9URiXMwy8E3{Mf=73k&o8Rm1KfSmLx2mrsI{UQSo+>l&4f z_Sj;_GMG5uP@EG|UlJ?{zYG&{MDGm0tj@HzZGG@woYHE-Q7<;)KRib3ZS{IDB`&XG z0Wb|yB-liI!imYqPh+7h7Yb5ik0Lxa3zBq&vAPHXUKE zUr24GyGtERuTOGS8qIpi&^|Fr^sd>vn|<9k(GHjU#SOMBm6U%gQpzFb?ltM8+>S|0 z3#&o|$^dTEy=*7&0L$gEMU`o#dBX689h*uKBkWs=pEURA0k0zok(+tKuywGMRL{T*uMD1qtPoVVnxTy zhE!PFaqnTWktp-@#>}d|{7ku>h;{tKzIskeSb%FiSmzRIN9guLO2%%>hN_mQc&QgC zLT*H9J#9F9xZBoLz{CRVPNTaxVgF_dZD}ypl~33fB!E47h!78 zlz%#Xf~ig%_BbK7nF2nZgCNo@KPs@4tnMAz36o*HAf2FS?QF9BUYMNbn9IELV%Iy| z06x&{SZ(6t;S333rLk#@-{{xdaLCnOL=nb5WnAQ|8cJtVCRJ7~u8AC<%sG;oSutVB ze?9d`cSjH`Vd)X{37J_a?XC8f;-hl?rrCjV^|k&(YumlUtcZtdZ%HPtixT|Y?zt>x zVkiSiwG_dH1t;Ug4ti97^5RJJul4Fzc3=}_kBrjXg-w=~t%!guDXWte!n%BzdR8=5 zIFf;|``UPvU;-XxWUN zJ>1!3yjMMZCh=>~JBI|#Z)EF}0TDZqsyAFH^MqBKFTS@Cw8#8-ovXf!7YToGIPX3kq`BK;ufSq&jSpJfVK zkN^Nr0iUAPo*D6L{q*o?>NjbNhN+mc-GV^%*c-oP@wFjQPNTl`@S0cFqQ+<0J%^z~ zJ+G{v;)|R#lsXYv+A;k<(+Y2cs=1NtC(s$FF%Bk?eI@9DPhj{ABlrw(Xd{va1nf+d zLsxeKYhOkduP#-F-P$8YFC_gbb9J~li=-crELr%$>7!D5_@Z@AO|{KoS6)j-EOam4 zh{(!*I)s$q<7rpv-j$Wo`o zAo@=dr*8=G#6z@iNJL*CtLB^`+|X3?GP>OVtYPrN+S)bt5Thk>;iX$NVrqLn#Y*aE zji}=r8t0p-OXRo7@t#WZmBXSL-jK6{yjtS;)$xn&1ZxJUTjnD&Su-G-uevF>pS&K2+zAH?ec9 zj&YhhR8rs)+6z@%(K)-R5k+$YLMI*2OxrfG`u*X`vil0k*K zt)&bHRdDt$qp>2E*VZOs3gFq=iGnK9wt7(g(&83Bhs>WQihw{R-P|Z?Ah4vEew>(X zFIv%W`9)6qj`l;(%`8D^89+Vzz~`On#O(9m6tcctS;gCl(raJiM=_PeesU(F0#2an z%r0bbX4SnGN zca^E@h~AyOk7~@M zvMR(Ix8))tMhBMy^g+6B+y-a?&U0Z9Ls&GIjZPp+FXJr5k7K;-%doo{FbwKz2^=g# zSWVxQ+qtf$738H5^|{+igJV!`*$k4IHV|C7pq9#!@WWzcDLJh4q8kTcmB0L+m5kB0 zM1ySE7vk)f6{vF5u$6h9mt5u6hMxojYiz+$R#XJJ+l%CakZs@C^zRz&jVS;Bp1X`CN-rE~WYlPR zRkK)W2C7Yb=-oj3^Wc0PW8dFn%FAi95D`d}t%slV7iYRU%kAE!M|z)#T;1Q2is*~8 z;Vy0xWoEZ>Dz7{LkkIxxp)^R+L%*5wm#*ESFijZ!qYtaXwHVKNn><$2uU;EjOis!*mY?02pS{Q)P>OPSIwMzN zUO#ZC<&NK{rJ3nF-U&xKmHJ(gt-jZ&*OzD#5^|u2V7ajy8bQOp1{z?68Q=}ubtB4bNiL#%#O1- zyC)!scrW-kHcB0!?iDLA1N1ATMtbm1WX_eYc9F6On+RfrehXLbRQzu#IjdHzWX;Cd zYeZkE`#w)R{g!sOxJrTM(phFtm*r5Hx(0h7Lah0;wreA#-0yKy*wt5&q^%_|Gb{!B zyn&gdfvM*#0llTnFRC(SIEF^CM?Am(5kFblOSF!a?0;nMIr-cH_IUnpJgxW4G+0?9 zjj$bDqnptlR+coqOO|>3#_46uT10lY-9@76Lw}s!F{71$JW0E@>rf#39nRsQZ3SM}>SHpN610vU;PrYTo6$ zo7{u--(WMJZQIuDS!mT4YbmGn{u`Oq+KNz#D22&>OUl-1Qg)h~}EpKAwIft+}eOdmT}- z5fD^asAoKX1#uP>OeI;KS=(8a3l+8NPg0z7Ivp1AKEp3Yshs{B?Ikm|+NFFeA|KGB z<&?oY8Cq9P&Kjvbs~=qiTnaP!g*x145*7j_8bW&dytg|S>(V1|#ap@u2|;$2*VDNR zL7ZUD+}4Pg?`1!UCERXrB9NUXeC7+JgqCO3YcuzN=J6oS3ALAszdj3SIL3^9#~3{_ z6#KqG@|Ysm#UAtO_ef|?)F8mrxB#U+!rNjn~Q+i}-lCDNW6x1AEr%r^Lh(&3z7 zW}-I&7=}O_Kmx)8w{e_k5yk+HOSQgedAG zRCZh=@D~=cZJ31{OPgT3%L{lNvx#_#CtD)+x^4>D28XZI2Fab7ge>kIUTqD5!0?7n zTch!ufrc7ybLSTnm@%>+&sZLZ(b9XTzGvBVMtIc*Vi}sp7V}6;HU?$w$nYRkt(un9kzPE|8 z(|xFzo!ppmV%D*i?+;Z0D^K2#r3>oAoG;&h+*Et<)q&sEIbV%1cH9|jjk^f7oz-~O z;R|EKCpzWH6x#Kc@ug#M&@$+fmH^4*?!wBTZrEw;6PMnfKn}--(E70~J>x|Qt^3K> zEGvW~8yfen%=3*WWV|<+hL$CzMQoGNoNXgXxr!QLz8X(FNfbFP72Js=k}|I~DgL41 z;YX{hb4ZA8zusk9x9L`zIt-#g9$xM;wlKGfe{B5Bpyt(R7iDmWe93Rd&tHB-tKjF+Z^w8B&tfj*nx*W*ku}z=AQT=S&Qy&GKfZ<0^_3hOKCcKrU%~x0 zQ}5NH*b{>pmZv1QQCuW5;d4=P$F7n#k$e;C7dmR_q%yL=X_A#4NTCUL&jh56V>U%1 zJ>IQEtw0;(d}8P>ZfUf$iUHU72IsSDsuE1^ZyuPeU}mC^SY^6B-hxZs5eOnd0GjznS#S zburEMR9s&60U7hi;Dm!pm4_|GR0YQ0k}cEM`U^@nR_e(J>Y4<*XXNwck%*_^MP*zA zi&Z&cpKmc3!VNAYTnr%wDu}3!E4eHETIH0C;EA-|saM!>1+%A&i|}jY#Hsu8B^zR2 zJRC%YF}wSw5el@h^6SjB{QZX;Vc~s?tmvLs4z<33$GYxHa~ zb-PpTs={~%5G{eihyc<4S9>il`?opC?IeMncErri6&|b#!O6c%D_RkD5o8^Nx#!wm zOcx7hxwm4R>Fs46L{Oclpeojb71Ya>9IHpAvySkE`^>Aw&t#0P6ya;_YA0N?j_95^ zFB(ZG%d%4Yu1eNuWb)Dl?#Ir}L-VpAV^((RbDx=c$Y`&O$o>$Iw?0qZQ!k9b$IVF89Wua4ZQ2Cva!GZAUp5q4_C|?&>PG4<9`dY(W zISa>%d4S$0#+xG;axK7NnFz6O=8ov#F}U)eLT%Hs>( zr|A0}A1_aij)rdj3b7xpcRfYsN(F=eqeRvPQa4po?+4$Md)H=#Ow?h zcV#T%fmI8N~gkiHfZ&n#KwjHfr`sAjh>*owr5bzPhE*tu;C zmL4sqYyu*ehx@t8Sh<8bwuu1{*IL9q^H+sS2+@Ety1Mryr02&to^@DevqhQG8o3t; z*fuqL7#}3QcNq2u7X3eGd6TrC%}hy1V0oTL#9jeI2QPemjmN8RRYrQy)x#b%C*3V@ z4#?(xahgIdQ-OrKW%CUv<)jZz6c&{6r@Z!0V+GIG=)9I0Hv9nt6x$yXMQ0<+_GA=N zuwa+XFQ-ahA9ZA9FqyR|Ci}Ux3*F36 z_?9pi4S_jxh(BR@X>Kx=r%5z$9^+2=Iwx86`K9|Buo9Ap7Z~^qZNUO^rk6|VZ^q{e zmuG(t8EKH$7?h?o6z8blF&nk;)39=sZY$Qb2HIeqc+=y2@0%Y$g18vFA1Du`7*#@1 zty7$`(?RFV%xB@lJ8s8w9b<|*<&GR1y^d2|bPU?e3PV16)G~uvG_@x*isHT8vgj#C zRz(;_!X22FQfBSwB)8IWgK~p~CqaQy5x)>za#lOlJ;MgVl&FliFZ(L77^KMu>1Z!{ zmb!b8sD>A*bcD(Z8-p3m^@tJk7$@w91v;g+G1gWtU`g2lZLzmdNtqnRBEG>R^Z(o} z-l4Ffa!e>D^s?rUgS-WxTREWwYQ7P1W{=QVq1U+MZj;byFIbcwe)$%h`iern{7jBTg@g6Cz)es#^2kPLEg46tEF{!Rms=F z%2%3{StpIY0lR!oqOcDQ!t>hR1`Hi7jx~*$SC8ikrnAhk)VesHev2av%K8@F!g4`e zVO>#ibRaD)bB0RA3Vjw ze~$j7O8P3uuf|qpD356@jZd$_PD@bjbe^wBN$d*We($!oMMJ!UH&>ugP`@*{Eh(); zLAf}*bZY8_HGxQd^h;N@91~+{KvHQ<%X;l|MxpBPFB(h)C4=8CdYrzvqJC8AT~>Je z3UlC-4*32?o{xsqYNRRQlhLlSP!fM>S~iy!G@~@Ry&cSe3PO=>Fh+zcr#>{5PFNSV z@RhWiP_wsk@X25$aP*LCDb$uDlyQOViX++KBT8Z;HD_l0)B3#U1{SZ{#&iS2OwpDxW)*qX1th1o0EYFj%Ue^U@i_+n`-2}Sy zMcc*%H0v&PbbHMqQt*5NMJAc|R^r`nptt>3TE6Q!#mHAi(kbPShM;E3+iqd<5`|#1 zJ3mPUUK_On#YB5E8|;U&?h)7N-hBzs(WGO()_Kh`=2ISV#DCX?V^zHebW2pj4PZj? z)Od2sLFXYQ|VCr1e^>Qo2z^7@eQ{-6k+HY-^-;?`Lh#TDy3{ zY5;mJa-CsEQpF3OZqRLCn9OEKW-)v_oG%=o43ifU#r)Ky&obmEl&aNijoZup=uD9E zdZl~?4hjQdYMcwcn^R(WY}Qiun$}6~l1E%<YDGxf^$( zWW(>NQIS~Js?--PL2E!xL)7-u1w6Tr+E79hqoVA+?pKa z+dD$2x3642=&6E3TRwnjXc@8;dS$yFMFB2PadIHfYDZ2S-D{#$Gtz5|j`4z;@)5As zdgo==n<)MRAJn^`uwnGV6D>dFN@AfGDi9l`>s$DW@xFJ&ShP3lZj}T|#yl$>5@;7x*A{oz{Jr!jjfnHCJyzqn z`tY4iVq+_rb#f&~Rvk>wQcb+1tKk7KNs~sJ%1E#CEqi>TPY{;Xg?Hyd!dOcnkFp!- zfaWf*f3f`O&;Q{iK zta0HjOlVMq4|3cL2(B^{9v&$Mv zRkRX|RMn^1=aW}6ebfFE6RdmW`!}Q6!cG6ou&q$MP3+dsuztZX5XzD(9g!lJ<5saI ztJDGW#l6zp`2N+1iF~`H6rzO==u}R|SYK`^T(2r@I{tJ~(dXpOIkOC9RwE@vEldxW zWT3W2HMDdjAR8KNybs+aUv+iVqR6#cFy|}3_E~ETvtCzl7;l8_S?uQeK1d;lr@ZW3 zd;^DKo50&1^~l`ag#w4AZ+EK`13`0xQPw%j0}jSQY0(}o60y@i`+WF9JCEmVBn;eD z*s0v4);g{$A1dyao0{3<)DAYji377r+4G$Y;JH~l@SP0b+#A>VMLBmNg8Dbe-`@V2 z=!+K{9WCdZ=>4Tc^qK&iX~A(PGZRL?zv`tG?oM>DTe();l-|$9bbqApbN_IwByo$T zgU737_v?$ucbU}xN16Bf-$2+)z3^RN`=SZ+D_qFJtgYJpRqEb&aSi-z(}Zed6H7@f zM0!IYV?Ya4&|mo>J6nutL#MV0nSFM?HKa3Z5EW@o5qxQkJ=KbwbxhSCsThMR|SPC;wcf!?peFK`1Roaaq;5 zHg;YtFK@}!B`Q;b{!GY$PyAK^*mD8=Df#5!b=a80Ibz8GXY%-x+#u?}o0Nh)iwlod zxk@KjtZ13$F8)h1FXV5lz=#`7|G;`pE{&>$?^RRFJ^C2K<+e6LR3=yJTfc`?NCHd} zL|xEtra8=iUORY5>~et)u5rA7nBR*=t-}}$>Nep$H}19`d2MyqC9kfb^OKWKcCP!U zgUG(A+x)>m-G_90D4hrd)Fz|LUprT!kQj3JYCM~|Vh7U-c|p!chuZKDXnyc00~@wX z-{>AViM;(>-L#(X|2@Qxl7oGEswThls1@?rB3~mqaqm?;?cOo6LQxd01H<>Wcmoy~ z{mdGBum>Jm39cNVJ|FO9RCy#7x& z5EGumlQ+q=b`m~!r)I{PM`?aH#F-X)FBQNF?hUO+ z&wDj*oFNmnc4*qWUKF>lTL3#t8;?p;($?xlzIdIt%-IiI zhzosrrwV-7jTxBIVzw^M17c5K9~$U9&Lk{b!#Sb^@hG`BOb$A{8+p6!*7LAS(2St6 zNc&maXt#l0eTud7Q>vcWTP~f}*4}%LnXYS|$WlP2#u+G2t-JgErRV-t&S1LCxeZFJQ z$b=&O2D1lNv;u7@A>k`tW$=>&cAkj6!AnE`+wtMq{9&1La`a&PWBA%@$3xe#gC&lI zFTQwcIc;{l4;zlCorg;WL_~l@rQl|!*8h)=&_{c@0Z&uA(W~D!n2p49I@lclgrYr@ zQUPr6#sfjF8YZ-GoZeUax^yeB|JDI}L{t^h zQ*5a5-kS8(Ije71K;7j@#}{YjGEC{jr(#|EC6kkD=T6o|epl!f8pBzK9u2uoGTsZ6 z$PJ#hCB%2$Qv#7O&*ULvKMecg?CRfWZ##6bT~jGLl{g3=?tDd|hp6`}@_RbG*0(zPSk{jSkAShM!rF&Vw#K@Xl^6YjEE+UJTaniN0LU z?)g{`OZp^a5_<^^WM@2qb>4wVCMVr@Va5YP z@0bsqEIX$jj%UtuD}En+6WOKda+42IXMT*2^B+F$r61!v?H#O$b#W;KsV_0Sl0E#a zKh=G}GxL`z01S$96(5V`lmBkAAo^W_e{vn@q%1I6Pqs8RAlo)b?41IGwO|d`;8I69 zg)?Va`4+kp!sG-U6l7oP4|rOzf7%MJ>?s?dfMd{WG>QtFdlYh%)3q<)uFKg#E>0gC zpGeaBZS!xRg<0ooU6`k^VSFqdc+I14kAH?^fw9N+hSDb=RfS!@lJ!&>pRz?(uSMY)XIVFXEU>eytDb-tGzd}Qhrsk+ z!Y5|_PVwPC1>vWEZQGtn-O3(oNt)N!_H9J^xuz>7yI211xcL(_)14+(v4EojfD`7W z>>WdDiY`8nUheZfU8L!@?gq|X&31jTwBKpZp`oXPT`658$3X0@P~J{S#W^ymu2_}L zsl#eR_8Ui(v)8j1{=P42-ha{%aq8wT_^&@Y8W&6Joa9TWK_7PheDq&=4iobA8!XO5 z4BoG^S{U5?zSi(pIV|)RPT-ovJ>nh2owVa4Dj6UI5?|UeqTvzmx1)y~gzm0Q#byK6 z?ZN~yZt96mMFOMD*1t#95&^UVWe!az*|21?45-XXsypNmf`XQ=E38n$s=sWpE=CJd z>hOAjxOL9Uk`g&{&Q?3f-Jd;dO&;C^OA_$Y2`%SAY2A89-dZKMjuwV!M^F=TZ%e} z|A*VcY}+gh{aun)i)`h9-h{$FRM_Y*4dZgdu)?k(<3l4NY{0I#HaniSwwNE|x}e>7lExQNY8zRsN}ym-4ZlCtosSyKuSS#-dI z9JrGJHo6(=BQGGZD>bb6&!e?=qWk^%>R#_i$^NnKlZw?#yUkb1Qg0r-fcZ~NMooSVe(CCu^oh5Zh0 zuaMXX_(TC~D#TgDIqUBQI1?UZuZ=B5I5GaX(d#KU=s8vpxs^Vv`s+&ts@a$G`m59f zW^g_!^9w-v*)yz}?)z_2Sb=q}zQ1hi7#sD!bTsUlB|w3LEPfR7Eb1HjQ!h_SMb}_Q z_><-q`G#3pvV|~>Xlpn|xykMxiZl?WY+-FD{j?6)@qXZ={mR&gNp;>SMnovF*^yC^lQ`+Ute-)5d{2DrdEZ>%EoXB5ct^iU@l0YIFyhZul(flu z%$>_T8W~aBT)I27@!VJMTPF>-a)_?3*1h-peH{9M*U#x33Sje$8WK`pbt|YSHL88T zy|&`ge_U}{x&-0+%Q`G%h4DvkI#;4`{;nnZuA)#8u|0!T)mx2G(DCac?17C>h5wR~ z4bi4+qeSkX(IJc)y9tv{1^7r{)RJPp%xSH)Imwl*qp*tnjac`=Z*mb3+59Wv>;<** zQPXkr-5lL6^v`!hNjk<`@F)Kdszf`cQIrZfVJPMUIUzZmCXKolIhp@BJzpdwNev-?^5@e96$S^*;4v9MUkQ) z<&uy5`!jOIst`@b3_*$K3V6)lM}sgBA`*~#=iPO&YpF#PoNCqwihCK^v9-OZ(wRby z%-Fao^oCO^vZ#9uH9ALcYa0@m-UX`TmmXb?bu5_7%7|f9!L7lPPm}mqQWK}f@h3mo z2x%)r<_ta%$BGgCz=%+!R$(UXpx=B`PB8zXmNpJ&EgZ5rek8|0;H|tPE+zhv9oBM2 zGV4|SDLk1~7N=nOQmu`Ww4W*1hHFI!XZj;T#KN>`Y;@vkeMo17iPCNj%h2>8Q8wpxEZfH?C`!|M%xjN&i% zE+&8OwFw>xg%bu)^XdKaMWWhwy!NAkJGM;pQZKv1upw`afJ@sIrr6I+=e0Y(Nc)tX z055yQq9m*~g!L|GE}EvB>p$>;|Mf^_fovdHWXJ2b{l9L3<^}P2L_H$0%m~z9rnagt zKJ_?t_$9@1FSy^nFK>~Cc?;Ht#{jxB=(eZ*9#$uEAP&f=K?VeQ#GA`P3N|bu5+Y@i z@Dkn)!#rVm^HBNK`9n3_9mVxZ8jF|Sd?FwaKoUwChcUc2BVJS9BHwo1fEhR;<~OOJ z!|~O)1UN*}-iMPX%t-P_AaiGBwabG=aCFA3jhiK8Y+#eGrlh5N?i{ClFFSY5GKoez z+yw*)?yCK0vodD!%qGN{pzpCBdxu@knn2yt_AqflMGCzWR=IR@5~bh;SL9%kv1>#qQQ+^Q`2YKundCx@L4UZW4}1{fs2$43Yz);VhsKj-xtlNre}&X*NZq@DO{~?|Kou~2V#Ryj}ybWw4au^4qD2yrBZD`NzL{? z${Ob@yHj6-{d=?OLW!M-di|$ExI7J&0=J=8N!a-9a;Fy zM`BK6rKhYvi9KYYxA(+M*g}`GDokRTZU-CilU45K{yrAF;KSVUYS3ZykTdqq=ui%X zrIfa|G<(Tr%GC-h)Ktkj)g92}+)f~c4Yt&jhNhAcP9~bqJ-BcU!%2?Oc>MBcM>CA41+?k$eXHDoHO>&95IiEsv(2U9jowxvtu?8x)Br5C7-?fQ|p>k^gV;Fn$3r3ncG6 zoJ-=q->L^*9rBpv51seG#6~|VLV|Sc_PY3=;2V$}+l-jY(4IbaLe`!^d}>-PivUgd zycTI;#;DJwaO)rJaVsMzF|!!Ka8Z}|$Gsa-XPD13sA=kMPHKDMKs%-0^K&=XSskxA zR@vBfeglqR{dE?)i;SO)A+D@dQ0K75Cwe~`HBB5v0I{6yY!_A>5X_#s9N8kO-qW*3 z=~Jp0kz$$?bM^cQ=S`EalIv6#;pgj{fd;{!uuCu^JF=k+1b>ck+F`_lfV%D7t!f@X z5QFCsgvpF%cm3&5oZ2n5I=w#P>=TkSAt-LgkHinVWcljw>XFupF;numM&1jemllST zcr?gjg8Rt%SIAtoFEKG`SNdQXHi=~Lgf>X&mVYOc*7k$6-AhwD4{LuaM5YBNT+zoR zv_tB0knq6MbjGMfblC3BI;DDr8h-Y5knX*!S8B7eSN+!(3ZjBJf{PMUAXrbVPwu`z zX7_kS3g;15%6f?hTWYOZ)3~Xz+w&JGp9zBmhxG1B{C!h5KhXI$^Y%ON0^xl+)kPP4 zoe=xso{O4+s1ekjnsf~^{K6hz)?SHfK{M7vfv1(X@-VaJqO%6FbUC5`7)-sKZ+_?6 z%<{48Umf_baueeTnq)E^e(U+F5JaYrA&)5~D(!H*%z(JN8MgN{M+JSU4;~WonYh{K#j=eLiU)DWNAIX_0FjL`dAj$Om|q9OGc6LCvwR~>|f z9D5KEtNT2#TTPnu@o?URa{3;Uv_-$L&A!aaDdxOxcy;B@=EwYjL%)y4#cIFG_Ia2L zQ&G2hfX9f5DqU03sKQaAZhl#irtU>yl>E`%*zcKS_;0Z*lEub_Q-s`R)c?%k{Y!LO>2a~vG|A@K#%p~m*lmeDEee`A~0L+3<_4P%EuqGaX({lE61CJktTvqV zGu%RDJ{MPBO5x5A>H#(A32BvYqY{03inIQ;wnckm$xOX#?9qgIdL$l+3YFX=s{n+k zN>9pn*zfWy=!(~e7~51Ow#q3yG30t9i;d(m-)>@v(;m}&q6~%K&329hoImA+Dc6O$2 zypt6}I=lDvWRTyhd5qD^`3s6~8HM7ZL%_&=S;ONsg<_;u5w~CSzE22ninF5UTiEFt z)Q*Sg39aP;rc9%c{ZlWm56N07j{9VSYlms4EV^CRZ}B64Jg$Wvb^Bm`k7r0=USTsE zaJ6{#oY>tNm)kjXyCBPSwr})jHUM``Vkz->Cc1Qn{xK`nC513%@U8JLi?6kdqV)@{ zjFt#i^>@Zi7>%QCMQuIa7<|Ppe^3E>lThA~_`jrwcFKj&IAF<82Cq_Sq zgp0hc=(Xk0XyUzkZaN_uza4W=3i}qb6CT%T`O-^r#`4wOoXG6RruPQaZdl-Et+h{a zu?%tZVV2rzvw$K=Z;@%S?SG4p`jh>gAN!qbOKLpnq) zGkIXULhI7;dZ`L1%IA1l4@(s4=3vuah*ITSQYf*4w+p-yXe=C_F zsahd|^SL@YmEj}tP*l%6e?P6@d+kcQ4-8UYzL1`s(Fm4ttE%AF=_{>QZXhJ!c%CuU zC4TSAwlSls8xO5gQJ?s6&8dUlg-!tq_(P2QYQpR-Fr)FSzYXj>%>hpbVu3^94urd7 zWwKxuAKbvn(fw9|(xVq6tn?H&v^#4WnV4DlWt<4w96lD|q(~NK1Hglqa0pok3iYfnSAl? zr+njL(y7?oUS-@hx7kd&NX~`Sl}?af$xXV!aekB~?`nzJPk4L+`^x++!cI1+TTLTB zeP^u;_}GtAQAFhS$1!sLXSAN^(F8)m4(bx#;%KT6I1{-2h%z;_yB zQ|zUF3#uCUBE*&aF|)f6--csTFp}$C6sst0UHvRPp>NxVzOA7ZQM4{ zqm-~$6wgdS^aHsJTNEp|DDo-#0e#zku0m9DEiNtp@dV)$};XIuC7 zap9?LoyO98E^YlHnhPUqPNc=N4+R@hyuVat)Tm}mi*E3sbpa8>6g7j{_y!1B_%FeB zTWs0kv_|q_lT_Rz8$#3V1z%8Gqr({J>MMB}pCR2jZyt>C7I=nfx1;#9TlH3vFJu-F z$Ir-Ay|B#EZf`s$DkDf%(9TH15377U)&JNi|D$8dYNsK>r9drg*kxc>ZS#Zia;d<< zu9DBo{2})(zrnk!eReY*1^YRym!(X#6&>N#PS*PFr*wcB3D<|%!GK%YHPy|f%z-Bj z6^_3?Q_WOL#N{Hd1Ek@a7Jn=X+Zz5mU6Kz9c#eZLWIbyFKOFL67nWTs(IjUmz&xm!LkIvYM6A7T*bTOR2eKn5_WfX`nR*n) zROnLDk#=#k2B+OZs69^tL!?=_=^#Hr7BQw4LPQ3O&)(oD7emLpwFT7E%U3{baQ2Q* z-Opq)X#A}z$(jZo1O7)o(4-iE1(St_>(TAk8y9?wu)oy>9#-thwlRl~Ys;kOZHH>6 zB8;|-c;T6*^GYBf-A}`zVs^b4Gotn<6)dy*I*RN(p984?zj^5UXF67>H7X+(>2Jd( z@Gp#>xy~Hjw?d>$tM}HPbbwP+J?{f2PtC&wD{#cO_1?|llyIKtljtZTM>dD8OUUeZ z4YwNuYJ_2yru&M?qp+kq+YQl1ri*;vndr0Q!HQ{$mss?8I>QID6qaJHh%uiWbPvPPnB%DvG|`v@4xBLWszz+ni>2W z_hmsoNi)#pAU!o*S3*P8D^0q%7oSZ$F>kjDO*mQeO>!EGcY)ZqRz}0 z-?xQv2U(r6x^=sgtA@zDB6-1Gf3i>|(Gcb#(WR^SCgsfe=GE_&g(V+8At1V;747rr z%LGcdu<9+kn`B^3H9hz~K~CRW;qi*p<+63VtNsrw&f9+#=j|pn`@f2ljfriZrfqY( z0HG(j{v0!)76m7#9~FvbrA8*Dr5Qn5rs-V{OaOA@3U@#(z&g3~qvt7kY`pc=at-3e>+bJ^;BJxyAvR^!bam=T zi0EgbtEt_ta1@*AA|K~dNDNStBIrGHGGH&ub~t-!^S7XdkYop=_zbGnuidVw_r;4e zf&=D`oa0s>zAmfc23o?$F>gOFzx2WM`9WE=PQEZ(jeNI5$1p{ae|H&UJ_RSWVq6vc zo1S^8NpEYyc_M<5MIS&np=uWWuyxhIv`52rVx58^d~TV}OzSHo(~5A&cf_5hSI?I^ zvy?gOqV^qzF}Q>YcfYs1a`vsHG+4XtS+{~LuY?1G7RUDQ@4<^A_a7XP1m{;M(^mMr zWA5x#N5W2V(Noj^Eva6J=ZX4%Zvp&oANbZDUW)c~nD%R9l0RcI{lLVwzjmVE+;wC^ z?gd=OoB`@y=%+M%!r-4Q5TSdt^3mOfN0%P|F|nHm3bW>f+(-iR#VJ-Su3uBDek^W* z+PHRU4N016XTe`Jy%3ry{Bnwt-qt5n$fkIG2Zv7sjNF5>FQyPdT#k~oZX25okU9FI z(TIy7*Y~vh=5%O3zCNHvGc;V`31#R!C>@4}FnG?1faI`BiP8Pj`NBLmc z2m4pW=C`z9mzK{`$h|3xQVMdpX9yh-DDL(tp>#WS!7&QSIi8%~b1IRwAHh4I$}N?S z3@S?AX*gLHo52m5plWqEmG*7uGxdNII)Siw7YMk;(q60YQG-#lGw_gXG+uh3k$!%} zP8;+->i1rZyNuHa&AP{OiBp;xur-ruvLvJr2l zUxKjWlg1LwN&(qQa!tF?1t$=G;>Ue~wo|)Q+aev|95dV@4w0;zB>dwGe~#Aj8wkug z59IJ-i5PM-t3RtTA*luQpe#2={Rb?t#$Qn@ZQ^Zp*^aqLRBjt~FZ@;U6=4y%!sq`e zz5aa}Ho*a(5u_yd)MjBvNAqV2$$(3kk(1O}STVOXGba;d-$ z2Q1>7)&1{hAV%JLkG&fhi3GNm&Kc`-trl8}ms3`$HDP~)s6!<^xi-ZDpJ6g{J5ysZ zSzXaG(Y7ZP1j+y=v-20D<{5md>%klV1<~BX<&2lHyvfdsI>qI$5aNfJd7rBYrD;@` zjV%{&%B~WEvK%?gvW9|80OIp{0CsHr^=@N5UU!a>H*X<3Yms|gm8ibuZ|4lP7Vc1h z0qa14+LI3o=}R=y;y@sVDURYR_tU|4x?D~8xMGW~GF19?a-s_4^df9b=S(yGB);K( z@J{t@V$bq+gPKL`tp4Iub#7gD!GJ&J_c32l9V6W$z#=E+=b1nhmZU))RiL$pV{Xic z*k=mJvOIIESG%~IT_D>#l21&{QB6lfLiUs14&fw6!lWuQl=qA)v6dy=$Qc=HqgMw_ z*WzjG$Z6_0K7+{q*2%OQ(4sK1S!P+y%6xZ=smk^iJ``{Z$XiHbqWRD#_6^){S>dwh zGpqw)I7D^ypNWc}(&i`-)BJZW?*31UyBqYp{inr=o-m7!6WD->X?pf=cMc${=h4q7 zY{+Fb<7R&>S+$bQr@x7)vw<2h|1DEISHMzn{%x`Fse(SE4$8G?)K1U~=cn3@786 z*rU1zSw(?g;(Eaq0!2c`!8%wiEl>{!6eHIF!E>+bMv$6F{qE!T&t~5RJdd%o)hAroYm}iYm4b zFKxYDBDc^88At?Xp>~TTw(Ic;4?KkK0rV&FOBp&9Uwn}^s{Q*S&m-m_^IKpJNl~!% zk43s&glb?NC=mpN^MUU2dxyg8?frV+zN1cxQJXdL=!ZdViUG#`jz0y(#u5<&1epro{&YaAnLHG6hSB!bx0SEOR= z&%xprFqZT#jyEA_@3Zkz_A=@(;r~F$NDKX=qa!&sWgL$$+aE8<{Jj7~r(Kxq;Dy8YZj#+4B&8{u6YjP# zu<4Q%AKNLciwTUA1;L0cCLZ-A1TwUFamZ7yh}Ik=7R&-=#2ju8ty5qzcb$aP>j|^slD z#lcp`xZiHqfMKy>0r|x3Lh?I%dx4-3PB6{IGv04Hp(A5TM5W!PngGi6 z_l3sutjikhsh*DT`x^MY`ed<38qI41Od8e0HX4evK%vVD^GPFdlIj%_Ez~t56HOo+Sie6ZWzkS4%p#Z z<$Dpw{3MU5gr0au0YgQ2;w@vAX#1OvoB#YCXyU8t9)Fc3+B zU>CxiYQsO0)#jqA2bjw{yF3(Ivw-$S@{+U6V-7HC^DUWG)XAq_=#>ZB6_;kU!zLDb z%hs3lamOD=4X680lJ)#VX8Mi{Me$&VHh44?;goV$a^|Br1t@bEa<>`&VnOu=Z|19% z$j7gq5L(0&^A-qTo-bWA7PU=xTXR6RhcE@INtV+z=!c_LAZOoKp165NFX^pydSo0F zp)}abx*t4y!b!Xj^sU-fhoytZCh9fL{iENBmj8|ON9OYXaeNm%^XKTBD6KnTPxz3Z z+oGIg`@ppO(Y#m8;+J`*6v*BpdNv6*Jm0?k+f+!o681kJ1qViGZL!e!gMtsOE&O4a zW=7%&1jNbeqyAK(Ol#4uG%5d&O<_{p29=X4SV1nCr?jtSN;?Fi;w#IGtSI7xsal24M>31Z|q3slJKA3XyIktE{t>>={C#nSk znC(}VMsn;SNYZs2t{(#Rc7a9}F)FTuTBYl;O+-!@Y3$TE?X>2U9UNPtBVTP}WLYsi z4)sPlq<6LvjXlAS^d!VYYm9fR%Qt$faLr=GAH8L*V{iDdMx0+@Z&xMelyZP1m4Ppt zPtMLy*{tM%kCol)6*_=RwBAc)AN`1E#qo-v#Cc!Sm!Y~-_F&8LSd1mk8wQr|^tD^> z6xS4V@^1Z?uD}5p&Gf(dziUR-0;6}M6#(%*7&wdDyB`sqHZx~)yrKP0mHz6sm=mY> z{fcd;KI&)ao2ykjBG0fKl6`QOsE0d*yMH+nf*u9FNk>krS9MftWIj;$g!Ay|c?6hd zTujQm+3xe$ws9ZVdDsiEf4C|!&iWCZtt*rLe>+nD)sXNkLKA><)wO7|e*~cPNxRI5 z2bMT(TbqsY!?6TiMpr^oAYuF2gjW%J2uK(285JT~UTqyn*@M5St47QzVjX5B1HiJB>7Eo{W$R`WJ<|(6cZIF$y zUH2wpv~|D_{X%miR>3l#eyNj|E^mGeSLXuaz%vz;9NG9 zdeSWwls59@)slLKHE2cSdr06k`;no5zt2;o;0?B|-Fx5ZBmd284%u~_fCoz@!?0mJ zsvm`_q`BIDGwe)wV|r5uO4}Pt8F4ITByCK82D%Y{#hbg~{ZT{={F3|UICWpcla;!m;Yx{b4dCx9L5kq&GN4U%)gLrDDimpn(50hDSO&={$JFES0yyZ4cH=SXM4M=*s|f)oc#=?D{h!y(*X9zo9B|TxD3^-7P>w)jh3b1 z;ZTf*AKQj>FT+dc!IWj%TUjcYYLD^?2i}Ih*Sc7d#i=APz!LiGpJQ3hq(9}29rz{i zXN*6$HlczOuB+6-qAnCxzV<{yO0wH6-kc=xyYxsCMzMCk?|Dp@`tSi(#Vf|cF@#z#F_V?liTG~8 z9OI`%)AQw)Buy(AaotgUs1yCRc7#eB=k~^tYbFzux2<3AQ;~~9j97BxU$+Tj`y0D7 z<-7B~8bw4FeRH?D2M{d4?ACtJ)V0HRrKJB!yWjpdvE3Gqqd@0_^J4y4*MRqfcjpO% z598K_2 z8m26*FB0$gaw2FY%*q^AW`!ifIF=+JAbFOLRG@!zF*?>9`{EAjHK=nznl#VlF)C1! zy#B_PU1e~AWw>gNARwE?^=Z)ap-Qpn%4pZ^rM-t^0}9x6yb{Efx%P98D6i}2=_h&6 z?Y-_@WE!&dbzZPynu8_$e8*tz$DkH@umrwk-}k+lo4UVEW^lA85^9NU{GIl{cZUAA zL)!LAZ8QZmEj2qOLu&`qa#_4sD1BCXRe_AZxhB&h6@4NGUbr%?LIkg^mLTjS7l8uj z*=v~4HlG{D;|$vEo})a4DFWK%K2(ZdeGQ@0t`VO`7cxp%ugINr@afPUePCMb$Jfx@ zZTcE(4(9yP1UUv0aWec*O!{uE7mhKX;1V`e0dkvY+;J{K# zyN-Z0JNRTuV9qo=9ojOes8hL3X%!AgI@|CVirK-#>XJ8LGX5w5+5hd>bSQz;>rS>W zc(Fp)`kb(%=)D9>vDPFanHE+wng_i8L1yeqhc%i_(d@{|18Ev7A3a`9sWbOLseelH2AaUBdtDqzqB5P&V=nafLwQ+(Wx|%9 zLfV)F|48_y9UYB%d*9fvFH2>%hVO!VpL!S{;P*(i-!!3*2Z8X0r%xF-xKEaM`f94D_kcQu>k%0 z*le&ff@5O?bsBMqBTERYDgtMoa|?XR25fG>U8$4(lzc=}_f#NeMF*37z((>bO{4Ip8SRbtWxSC2j zhfh38OA%zbO2`XT1VrH*bS`XeZdX;@oA_SuK9%J&C8lz}quTHzd<*fhBq5)vVK~?W z@hV6FL>Yo7)1*jpRpo61XPBvjYEuU6PCLRgsF+pYt7MlSZbJR^yQO-@T2A|+zpTZc z!tlzV{y~k5$c62&av3l4Sx++0P|n)l1i!Dg$WEpS;B$$C$o6Ds>*6vQqAYp+fJ{cro^6;Y$XxA$qIdWa{4>#cesH8qz1k5gw@j69srk^i78Gar{^gpm8{HrlBD(*gQ zeFvejc>5CPFm7M+sl)DmFgH50-T|gLwE1Efq%xC&@%68+;A3)ji67@CfvSRmwd)C6 z(KNmOfU=X$KTX+KW6zj1TejVcjA$7L7pn4QYD-<@gV1@@su*kDU2^?xPqa?iPRR2-$DGD5pa3fKWiVl7mqb>i}!Z1|8rGZ zy8H&esMfdv-vw^*bn{cWL|YY;^G5H0xblY6JxL~W-MlF{+3x$zQTIGl= z{x}0=_!1BN77JeNO}~i(O3Q#k27cj=(7Z}kjQ_Uzj6^U=XIcsR%VvUq>wTv5gd~RD zPZfirb0e#6;cJoYONhKx*Fq3Rrq5|RyCd(?gSDUIf@s!>Pt&D@3*5s7{BSQq&vZTT zFJm-yA!HOv@;^Y)!cR1cS~SI2_5PvgISwF&uXO0Nh|K;-t*zES&|<*iq?_pethDQ+ zpoKd7#SY$~6P;4X5T=ntdv%uSir(+FJxENZdB$$$fyy~kI#y7arYv|Pcq&v!NH$NX z-XV~hXgu-!s?%pGj+MvMes_i}FgrG3uRL0tu1IHcBC>M&*sVX?Pn3yK*E{nQY?^DsSWR*<^=6UDQvQgRdW7u2zpQyj(3O8%?NU!155&Q%9mb@Kz5@9yV|D_ zPso?~h`LU_ip0$6D{28gPR{Cs8|e4eG3309H5>^74ryB2bSPJgeXLnoze&cq?_*9} z&u?m~iIeZ$XFKO+)2>mQ{8Q70{5erf{_a%_P3surM(P~F+tJUaTt(i&!<*0aVpOZv zYHq)(1xYTi#M8-@V8ce0?(i)N?(6t-;tbY%s?qNltN83q5=)AF;a^mUAs#n8Y#<`Y z^NH7jVXJeItek2MH!0;$jj%8EbZvcwZQOGjk4+9u9 zVkEMb)~M`vRB38Vs3*~xP=L)pVM6qaTA|m|!^5GQaV`foUEDT8xYr9r-!4SW%A)=1~&x0pD+qeL9{r+4pAlME7kux{*xKl%pb;9j;~s)`}SA3TOlNhDkXutw-IG3PcB%gg#x2L)hCo&6CREaEhqTh`66|klk%~6 zAmZ9#HtCv~V&w3@8d)2?_UmA0&%)3S@|O8|C|=-<^~Hf6nQYmCv(V;v47Y@W>0o|5 z-{z!Mbkk2u6WW1k`H0}2WD{}&Fb2m`h}o`87){Jhe7+DJj3JP22Z(k!?G-6T&>e-itrha-j47{){{zhX1cUs+ITk9z7&CCwzOABmlWY3on6)$qTz_84+{B;!#hYbD2Zxm!%S6gM zFj`9HZ>$hP=3HIxoN0<2N)_yB7dP4m_1qF3-~P&FFV^wy?M}8b3ho5Ft(dmTlQ0BN$b3W;hqgat0XHEtV!eK8u15% zD>?CjZ4tJr)DE;J>i6jGGEG;@@E!l^_>m3VwIM9P|LKGY!^|*Evrv$c^-n*{MKmU= zpO!O`L1-j{GA*UHLPPNSX+(_wZTZ)L0;7_`gZIgNa;#v*>45WUO03vo?(=>nrmyjvE4nn!my{G4pB-?|_D608k%WtZD( z{#iI>WXGG{?Nj^_S{D8>Cd=E8RsI(EP4#@>T&V^Ho?oqo`kGdP7@s&vK?D`%ET+l8 z47GVi2f5jm3Ue?ICd_DI%^r5Pm=-{UL&nE&gP%i(^0$(^26^8 z4;q4);F}#o`1QOd1DkEt}7=^yUy?6TYn;6o3@4PkHp z$*}9j?Q*5N7OFuJ)exjT1ZnOcVs~7L?YH~@O#b7HV4E;OH8{6^4iI6;l;mm#cZo4Vp^>K zw&lEo`Jzm@e<_1rGQX{Eq6OXf?SgCElK(HtzA~)o2JCkm-Q5j}bc1vXD5)ad9Rs96 zaXo5`#hiaX}fl9_y4Y6+|pc48u(9nqLtRhh6ndj zp*;#D8-1-2H)`qzFR~GwEsWSJC80_CwfAk04v~ZVN~xo+f@{; zY!t?cf3zXUmOZV$?HOMfMD~G$@l8vPK}E<5Z9krUhQk#5vOy^FA9u?hMF3Cy(N^tf zl%Hd(5ZSHM1r8*0ODChq5y*l2U`l>CCH)%m${Ym4K9xpEjTLTs_~S~~+42COHK zcvF|Se5*%$;t)867wX@5kxsUOYG^yRoB?Q@xKEKS%4w(?Nt@?}w(ta%YC07$WW6|? z&)wDX|882vLOwV|-rYc?XLxh@1p@yO$`ULHdJHU=^wF6|OO5QZG(g#&`l4xqv!ht4 zcE-77bk$@g1ltn+lp+31Cbqj(568*iyNAQIOAJ*qr}XL0=@LQRd)98$lD&gL5&iFR z4$i+gC7=>G)#I`6dD>d1XM^eh`JV*ic@if5M$=fpj^0n8fSf(&%E}=x(y!_e{prkm zE8964{GuGAs!7($uhJY69@=J{b65pyEi4HUNP7MAzbXL$eIlEt-zS|Ft6eK_P$QO` zg3N(nR&B+wVm;GJ0?Gbb;I5)q4?C@&Bmtiw$&a7S;H5P1*S`HGFn0-Z!|^Gg zu)T@U#z(!=96W06HDQeT!nM4M^NWR{E9srTL&F7X2<7hU;+04pn-E;F^UXIL6ey%-T#OBlG6i|A+Vj zF!QUb0n0dkTsXPWH#Byb9Lz~QcFIVN36Uno-N;VuqMud+hbcNUS?W?Sc9jPQHhE4{ zeNENf5(e;7*xGtQEUiCr?H!9PDMKH1Mi>j`%E-2 z&_^fb=(j|R-!;(%l9@$i;{xHv2Ste=jv_ zJ7~WS@BCO34slGE=yhjkE6Ln0zl3?sgz)pl-ro4VkhnLd80j8F?jX7R`P3P30zUP} zwSGDxW2m)$il|W8>m}xG9Oqxsdy~|wtr#;GD{&cqbtYigE?xAKCh89}qhgRT>aVxo zDh8HWKYzuCB@&bje=~qDLuUW-Y)OMkW?$Hvo+0VNv@i}?15gF3{`2dvPGU5M4I~`T zhgb_^4k7Au6qc=r-bVW^5xfq+KV7VP2OV{MA7&oh+CBK?c_E6rPtEG0ew*(G9G{g@ zu=l4QBfLdg_8$&s8w4XzZ$70tPLVX8v}71HJ87v#AzpgmDMzjch;=-9>pZTs%`gA3 zre(tOi4pJqPmxCWPoyysFy|9t`@3KRt{M6G0)xhn?q!~=LVs9>@CQ0(glH^pe<+NP z(6UjT6`GIB6?>uVskVEHh(-Faw{iQP}^zR%Ir8zL&kAKp6nA()ndLQ2dQzc`zj ziwkPM-CU--v$OBOM@nxtl1ge@>j?6HuH`y6C|DP=#)+I2r()_5zFMtHOoFIUzfx!6 zdx!*#pVUu8*6j%Iyht;=wD>qPf~xau#bLEMf1r8Uz!6v17n>M(F0aQON-Jrg{a3BO zdOIau{2N^bEuISBpVSWQkrPa_m7d8R5P}DACCq@cx0>3eho37pmKa=t>Pa-u{40+j zlk0da#T#Spd)X|OJ&{hADX@7lva=Ok)C1N6-q$pl-MbofB1l1u#GA*R1fF)!riR9K z->~~p1L3GeNQ`~w_l>Q@Z6Af_-1O*74t&3G48~KM18|6rzqJunPfZZ>L5k{ccQvvk zO%sdIr0**xlnNTN8lt~-FBnb1ycFO5NSb)mR@18lkL!i{iAKCC-$WYfSL)wMADUje zQ23u|*1fko9ey}ZW2P7ZJ>?AXc4*a8*l{PSW{M`~kg5SW4O~qczdTR;U_$Et!?h|rRL#!y*hNPB>iple+jw|NR+OOS&8(2tX$XueYrULACauNiMGd%i2Pnp zk9o})4ajDhZdu0ifnW&#v0C&j5|b@s92}Y%)pevvL7-wyD@<;lGkpb%J(iT|mLx9w}#t=7( z9eyFvx{Ce`z!B?}Dx)qB@>mdnvL=sc)k5F%n1#Xa$ZPhkGt4i8#3y{m3)b|JMnFmbaW>rm=dI7mf0f=Pb41PL7R&B&S)eL6F z^Vi%L=0TCC%?!QJnD&$b`xq=c&i(LvY7A+8-rEh$hvuPHn6R|Ju}a2Ax#F7k>Uq!K zFFH6VQDNHKVLmt7N3U4rLEd3N-Vq+um;9&|BRoM~CS5w_IRg$kYJa}~iey=Zyx2`J z1QM)ezY3bY3b70uCnoIHD?N*~`NRkXl#(VLOFXV_ctOdM9(D)4HLN?e*amy9MtbvO z#`NhYgJGMhj5tnI8kSr(x<6zN?PiE_PlKg^h0UhBEtjpIxJJe)y3mYQx;f~im%avpX z1FeFaY;y%Cd(?jEe&SDCzv-wdyFY%a&gj)Vlw5_EB*^sqdn%bv)IU2n#dN!W-jY=T zVEXQCMVsd9flLdJW>Q_DAxVMG&w4)XYujUhLy+t&v@$$qzZrL{pUf~X)ON1kqI$pC zRHnNYdo_7#N$PW4ezb(KD&o)wtS?;M>D};nXjRyA2tYK0J;XxK@BI zN$vh`*K#9@I~+C8>)(`a3Ryh&8e_e^-YsYJj`LsaO}7vG19EWc-sdx=VMRAYUV5;1 zrLOUf?406`Q9xdGYBgUQNr;*z+^FyNGl{}B0(KU~bWIL;*}nd;@J3j7&4v|Yn&&mP zMIB`UIlGnaac!zJ+HmW(8kc8K&DbZY2dL~=!jL`Cv1cub!{FJa&!^UA(-}o>p9_Fp zX4grMJHhdMA1y$Hj)~(_4w{+4wYAebw%hvrH)p@n968)G9_`y557HdRqW_lLRyI|Z zAMscPHQ{}8?r4n1`f+zw%+vZ}M|9oyaOKg)&{U?%U3S*U*66>$o1Xv7C!WO&mXRQa zWYE2`Pl$tHmULzK)4uyY6*b$~{OAM5ZPq4ldv_d0OPm@Q1p>+h8Qks7;Yf54rCv~S zN6QYsy&8?%IX#t6L10F~jXvQkgkE;%-g(&uBE0bN(MFtBeMGwNt6UupLN++z@$Yd% zSWtIIG=XEl_v{oFn@C{5rlwT?B$Bj;r;VD<?nqyUwkVLQlYwYNtHV63d+YD-Wat4&FF@3sYG@*rpAX0b)=!)Z-gt-eh)u3 zWvhm~Nc-7Gb~gHT7k~M;sV`)OBPZS)JK?Xf*HFuej5MH^70Cn)_6F2v;{LRkO7zv2 z*lEA`m7Jb*)eqjb$&2g#u5`W=>27WqGExj?w(A+PodDfi>S`8vn)A9IQLV1)5PweU zxqMjm(VXRx{X%D_@$yT`CDX9_h1Dv(w?q>eZ(JyP+&<5d?#V#a+2Dsi8m7L*GMP2Y zX{cZ9%l-~m@y3^Z>qQ}3MyBN{#(f>Ch*# zPid#X^B4TQd-0d<1nv*+)bXP>)AO8iZ71ViP)VNGjq1kvLZpCaFr|p3n7LqID}tat z`R=KhC-wq+4rvE|rn+#w|I({A=y#->c2}?He~3rfe{v=KHE{%TlXLwXn~?7h9bNT} zjK7V$sekmw>@BMJrk>-I*o@}Mj!b9Vy3be>1QGE*A6@}qqyzGuJq}yes^xUcX682# zn8*C+VzGL8wjnodav}E#6|%g8w0;Q9Lt9WFPy1+6K8r12O_cf$RxIuhpGx{%^>PUFDB6n%eK4?hbCBIEuhkp-Xvh3gpWUv530qDEf9crN$k{W<&cG7s| z7{aswjxMoOCM2W^W--d40yU)TUYAz@=ilSmH-*jnW~_V!BRA{kQ(n3=jvM`F$gte* zRWlB&LiNZ~vr81H=@J`K>>KDPcT--(1-q6xUrA(%-8HnBL^Rs9p}uviY;fXSd4!A# z0>M)WuFD=dX}83<`LGak^i0n??D`jb`pS zB8cPgeGAEgdbX7Rejv*RAvwqUAmy}76dM-8=@?6=o6?lSw^53vwB?WwpSP@AYw(S? zypz6B_qwj)9y|M1=<`Znt9yJNmMc9d!F5GNh`v~w3ycSd%$qU|8nM(+B?Zw@00pH# z2g)MO2$CEhH||7)gkv8fHY9$GfF|9Q=VRtsd zTe-;K@ptWDZzmT=wc`VA`;HZo&Z_;O#{rSYeHsajW}V9oZFS}ztp9+ceMg3Ax6VJJ zYtu3SQ{r+w6A(NELtwFed6G44neQ~vjuhFdyI`si2pJOdb{Ly?4Mw=hhHwXBt@b7Q zS5TE$nyj<6X+i7?{`id1vfmK`7-5$*v{K$5%||YQ2~tP|6Wnw+oUQAGi=Sb+X)omM z!ugGa7f{UzaP#%YmfeEMqF+=>883;GpKH;2NxtRJ#3Z745)Z{f8yRp$V-VX z&U=z2$eAhd;h5opc<$NGsDXF~C=lAIVw}+uKSJeDkiauWH)9ImcT4(?oBQxXfYF9K zd0|g33s%1QA(iZ)cZj|biVWW85}?ZxNJuHBg-&Ihm*F@Wz=>Fjyhcq z)PFcCYPsH%SXh~#6yzB#eEF26a61{J>QEe)|?_hM1X-QT>Za@TV=#nJCPA<7KGRqGq#rCBB?} zq7!pH=d^o+P{G4gt;rmitC$yqy-Kg+BA>Fmf|QznO0(r+=)1DWCX;~$#oNL#F0_kb z_o;;9v#Y-A2xV)&$Rb)RiEjSxofr7kL{@pR_fp%LIY-S2KyDxeG=XUd^lEz6$9g>= zCx|hVEXF-YRA6Non$_jttOXSY=!52py%RqPaaa<=atQ)ygz#tH>3_EI7B;1(P#}mQ zSXeJ0@C>t)Sq0M>r^D<)vxP+4x3|JON4}&kF;10Y_0VJ3O(ZyvCr^VeNAb8FP~FBo z+lMRI225}I8Rds8U%eMk{*E+AFROyPNb5M0aZ-!q|FF@PMKV^&X_)@OOcFt1TDLtB zz_I{`v$iKxeQ@J4CUY~jR=`u_^Q}_ z@U&=lb;reP>6^dt8PVJ~BvE=G{;&EJ{`OiaNOA^oCWph%txE^sKsY zgG)RI-thn_(`o7cd~TodWSIIAaE{_zA8Dz=u%!PAk*DETU1hHcD9b=eW?Y?egY(00 zVd7*_0Q^ybSE4ay(I{YuIA$K9Q7&Cz24K1|^0o{||62C7F%4r!Lplo2W_&iyXx0LI zmNxPfX05=1?U6kYoD4=s+-taS0`(hWM#Zl>^7|^Gmw>(VothVHKU?P*B*MgzRHUx? zmzs`SO|}4pS6+^Y?t{6k&k;t?$$@=Lse?(c5q|-0m30O93Mo_`?|e*;dlPiJ?|yY!<)r^VTW}m$H%nU;&xq~gHj%nGs+4IFhp9Svn20J>BuqHVh5(FWgsygnBnowerYA<&x{?S;2?kbhK}mtp9hF9+(2Uk30_k^3L!+X=QFIx2f;@xs6>6%U_0DL$k6hF`>ISBu)0Y zRX-Kr`jmETer6PUh^ikkix5Y*i_UrjB5YlCO}FiH=~+H3U+a*&BkgToLXzh~OC49r zOXqAt5c4;d78;2#C$*mW4`{CeUZUM6**oHUB>2x}Do6bJ9Zf&REwxD@6L?SU@ynOU z9q0lN;O%RY(vUH&No|^vB5vJfK3gCSDj!FCsz5oB4oiA)w93>s_dlJBjjlp=wx$)M zY5Wyy%=PYJxE?g4CbP@)5ds>>YXkTp;IJ}Omn{J~?gXIwCmWcRCV--&6!dd?P)~4! zNILiOYsSDH292;d=vnp2W_Zi>!pqv4TCDmPbXeFcdq{b#ho`7Igj$Y&#L#Q+#I~kTzQ4@DY{==jXZ07vAywu%9W62cQ!=I5+}eqP@jqu-5Eq>aR*zi&`MR z3zwdX`HO#*>jgse47s2Nz0zXDIpc^~LL>b*YVbaksu;s0keI!<((I2<<@>#aiR_W}`kQmq>`x!?tI{ zImBlI94>IV2=SYmMSI`nz3BVqfzbP^LZ7mM$9P7Y1CImfH_Jc#K|rMzmK34SAS8(< zsNn|XBKbO5sU+KZxC#&x$w6wMNQgt2`MrXK2x=_)p>{qTzg=y{^PRGd{z8x7y#M8* z1^_62u*GK}t?{GR3n~y?hUzRHe9b= zddlhP?J9%*+EZHhV)|w4vW}+HsqSam-x3A$X_ll{@9k15dUo5&3#BA{=Zm+fjEtmeYz~*X z{|qn*%VLnw2#BDy(J~}6P;DciGT`){_4KeqpP7x+pYx#rpg-r>pE+OI(4{ZIXg@?2 za>q4fizz7u+$HWcwWN2zsE5`R_xF6Nj-lQZ+t4Um%)C!&;lAmMOYI{#oH$R!(^Q}T zeTcT-JHBuq)9^K_P3Hd4Q|OpDsTcMY zYGdQanc_^Y3KI3RGzj8cUa@5h%cA4XFAh3>8=LQHy6j(4TnJy$<%K#~9?QDF-85MB zeS&`ZskLupy8pVxl2&^_4VP?!i>6KGMvm3#DtwaJ#Ib z-z4o_S?YtqaUXrc8g4rUDxV5eSe5{lA-MzV15JCL#y&lA5V~Hps4Y}$xzBwE|9^si)J0hOtybW6KWBWUTB4x@Dh#nA%(mt%>DS6 z1jQR4XCzx)>gm*Q!N2M&m+x$yU4=<&93Azbi*c(&y-x7VnC>^~V3C9~aUa{3bIW?g z=Kt>npt?Wk)nT7_QOUD{TCx?`$Z|#=3^TD3-HhxFF)O#vH4nJ*UtP`b- ztqVVlye8L)efS+!_f?x;Md~7nA+*5vv4wqD49c9J-CSgO;y};Y>o8L=!5i*8MD#Fl zzqtcE58Tu%3ZiQGr>0kDD#;PK`FjqM$f^pPuup1aS@i|%Ul6mBsRT{kH0#-tm!F-v z2Rjb==i@s0)cLuV+VPt4JQ}%h*$iu;i-hQgRV8=e{nZ}n(-ElXC}(-)E@82iEAQTe z+|k>eJAwg-w@_r|6Nw1h&{awGjf7Lifn%<^(FJ*dn zmLx86?*G(x(fYN+GWy?lqCs|O>xE-MyS)ri1ZaV+$X@jHBzux!g=8@=X!GeNCr~MF zM&xt!%P7k($c(R}HF&f&u=Ra5Jd6CZo>J%p=%egNp-~uO1VE9&I62SRsay2Ci>~x) zW42z|+j&7*6zN3Ry3%Y!21Ae*zB-pbE3BNxfcAF~U1md3%QXOH#=kZ+?MHQwq=m+8 zM{4$_{v}VR23SbBm zZ26LDrR3rsHJdVvARB(R!6IjG+;_i?bVwXUbpf_>FzQY(1E!`hz-ukor9`*uH6Lf+ zmIJ_Crp!O4>0?0wk6SNm?+>*g@x4WwC?Ksee0HzdhM5E+CwvxjZMDF&f|abv zxbFS?gui-(*K(!Py`SeA93|D1ibX5E#%pJi6}Cy+Q?%)#Kk&9*kq-*C{}XPmBvO#> zbN`~cf`5S)xAmBK^>yU^Y4gkrx{j4_5U7$8GY+cUa>~Mo_tpTt--`gSyPk4+aiO0i zt32A?+Zr;nYbZT5u+3M}4yTPIOg+Fd8_Y&NF16YM6&ILxEJNs@xvkAD)rK#mj=2x5 zn*}i>{4R&v9+LiXLG)|8BbA*CxxhWg(a4j&&I%VWz9stUGwQtNT@~6E&xWJZb@z4v zreNlutRC|)SoL$aS74>AhQ!9&zxXnzAM1g>Im-6FmNFG5kT*Z@=}TbsC&yi}SiyXR z>wht6IMxd8tG|?=MZ-hjPmCa9>)v^lhn^;YoDi zGB1oy{H|07QR*!%!+Bk&)<-(bLDq|POD<)WLZd=gOrM|I;k_O2-ctO+dAunU#v&%u z+GfSDVq9(6{@Rpf(mjHt$uOIp_%=V$6!@z>Bm34j`CD$M9t_vVeQl%!t&e|?^yGuf_J8* zqSe4-dyPCH+{#UUea@E?NcTjveo;U~E*H=SIWd}11oQa2kyji3u^Zyp4DZ2CRx&MA zHhg}D{FJ)2*qttdI4sH8d3a*4%+4#Xg}UqeoqS5S^XrBRWqAf~uA^yRj>*Js0UbBz zg%=V9(#5wNsXIG(_lP?~iv}hnHSmvuL^%jGQ7j>(?uDj$i+B*6L-vc}kM%^tJjUbZ zWn?=1K4ZAOO<&RAG=~x7zoPk#`|tW@=M`b~=>?$rpfiIeyp3$2HsXQzGhQ2>7)hF~ zwOTth5~8}%7kiAX$@vj#mnH^g-Xm7YChw!2QT2u_L@ zpSN(8lYeM4_Mu1SK^cYxs#RgByHwK;NXYSDdVtCYd;jAteXP>|8A-xe#U>o;PeJ5M zxAGPM%ijf67G;duZ%W)X9g9}?3T?ZZPs%N;xjq`7%6`<%D2V6zRDJ; zfQw7IhyCs9VWY*A&_-Xwng$}lr^{y*)hqLeNl|G#CrPhWujyA4Rz8*)x=ms~tE#_# z6n%%V#0p6W7|lWp3P-I0 zGLtteE$H)*n7MzBQT}4G+Qt7XOY>#LUdBou4nit=L*Y2^1*-GuhgIKs4glU16Rji%hdu}?@N1W01TY>uehQEe z@A!PLYdricSD_Dvuub!eyc|BWUOuAWv)yT@+vBKtY_z`Y~porSZ(vSE(JtS{ncQ zH@ZsNVPqz?(|EOZMx9A6OUOcnt=0|o$=D{p;J%e~n=~&+|D6~th%rt)79lK}(4%I- zrZtNFTL%L{*(JwwoU|{Q>2Wq!Ep>O?TN``V5bLY{m&O7+!qUh_wWQsCC~&(M(wVuf zcKu?3RytHOWD>Pld!EinVG*^|bN#bIc^l2x3&Fw*W~~o0neUDPX2KAM=oho))!_Qb zMD3U}3)Yu%o`LE1%L~3caQ^bYYmY-Y*YtK*avz}s-t#{kNj87in~dL;NZUJw5d@UY zVU@cunkkNbeo(<}T%C~aO8&ZmyzXWezXL7~HZ9Ff-Tq-*(^I;?^t;KFf#uF*XX*L6 zxXImPXW&oPscl-qg^|Zrb8meavlVCA(#Jp5svaMDgo7Qh%vkD`>|(B*7f<}Y$6+VN zc*#3B?!Vcx+8EDSy57Zncgu%w@iKFvN%zet<}pG#mf+zu=z&U^sA9H7#vi}Z5g~q( zdE=Vn<19*@&>MdG`fZ0J-E1U>pYfJz!i|KyUQAo={cyiDSFTJ@XyM$*>DRz0tO`$4 zIT6*zOt*s+8Oe~(6@ZEWn%;=kyF=1{#JB%4y?zJ9yK>k5+lcd2HLXPc@0ig*p46Qd;xOYF?b7$yV-|KICCqR&6SB|89H|A5EZ!X zS>@qI6z#ZcdM^eB7GLp@boVouSCH#+;N5OcdqVH1?!gU0L;y>Sa8i<^x9qo>Wtj>1 z!s|D4x~rQ{ayFct7x>1K1;31YL=7wbF3@t)3)nCnVW(Cktd`52nA#3s{2J)r8b*Qn zVbf7%pdS4*v#r71KNp#{MZa?yPri9ZY=A>NW%Vwh{3tUs|J5JuoT}U zWo(>kAP0^aLajV@Uz8FM0ES=}mNRRTqO2J-AJNY_oy>|6cdQnCoHHGs83 z0V1*jF)z9tiA+!gw0zOmKGbpOm6bGcdJKY0URI`Zm6&Ve=?z?dg?{Gmu9sK&g~wHW za`0BaXV9RwG@n`VtF@kdks5e$z@VX?%q{UfXLq3a0;!W$Gwnxv7R7@c>aD`*T(SoY zLz@_465lS9+6Vta!MN~p)Hn7)HE~t9*0R*rTb=R#D6ysL5An1IPxIwQRs*-XNMdCX zibt7;B1Oq~nay5Sv4JUA7C?9;q_1_3rV}mulWVyM_sHH!rmEM`^?g^^*(<8Ja-l=f z-el4)c9xMweZJl(oA-=$KNdz$)*noGbU(yCyd3-m)brjA?zuD9JbE?yW`U;z+^j6I zr9{a`Y@CZ$iY4Gr3w!37Dhq527??SjyA#SY1u-X+l-p* z30JyLW3u(E`{1ObC2T2QW%tang-ZfIjZj9~E5llyaiccT6Jrdy_r$ZLTBz-ir zGHR?kY8+4OH8mcY$k$!SzoU?uCE6uhkT#K8a@TW7mVqA)KrK`^(>8j@8w9 zjK)f7ZrxQOQozKQBe^#0ZTf_`(-h}Ey3ZwSrcUFpJri(X;dp=TRZFn<>Yu5Cb(PSE zxOctdvcek@;UELS%3LGm4GvSMcY_Yc7!=+Mpy<8odKH&Ya_%T3NM3SM6#3ZWVCPRrF)|W|?HX&NUVg1u~?jCl0{_I!T zdIo96hByS<6rHtubPHLYsgE!Zoe{f;1$cC}A}Rv68jwwBL>w&KE{p^afEpq1Zhhq= zSJ^_{V;!Sy7;K3w(&2|0mG^F}rOoLgnEVEMQL=>JbiEQk@dP`dXJJtb?CTBK2GM** z7e&p^w?&^SZ9Rqm!DSoxW9<^de}KK6-1PKJ^5JNwvbFFb7{8R^p)e4b3QV#$H8e7p ztrAFva;L{L9IHMVaW;}DZ09Ve3d|_wnG9#l0qr52)R8uYS~P1OLJ=Y+-r<^8`>g3MmQx9=G4*a`T)J#>*>DKAEqVztxUeZSbB@CDI&fz>%fS_KY1 zmmr#-*8M_=iYyu(kNLMHCxljMZA-oKWMk)_CB$za@X-dhz7A9w)kMSXf_5VJXJ>`4NkLK)Y25rcb!m%!6`h)s6*xCG9rh1 zQZzfkLOdKtTii!G;AtIL^uI(5=}TzglD^LprRJ-X>~+Zd?ZPUeDU z^uNDI6QeC^?K4BxJ;wZ}?s z%&oO^qht!0mqkUi>c*h1q0kG8(EvF-i8Mp>sP0!|Len!cj0qa;4LBQXB~5j>)D658 zd6U(b=*h0cToKaBrwiy>Y=s`H*oz74^ixVJ=^<4>2#;m8_|;t5zPW>i(9odb5>jDi zSS{f7E6W1;)Vehmms|32#6s(X#WUGJ(RXx|u+S=dzd?VmQ!`=8Sdj zwKkmdX`^j-&xfQwnYVx7QZ=o%K!>0g_GI*sb^#oTsKM%*bexa- zkK=@+bUV~q8|L(~QV=yS@FCE54>akp(1czH>R*&h|im#8!9vC(`= zX8op&B8t`Wuwgnc2Yt_HP-pdWCn-W7ejD&gX5gm{g4cRpWN*mkdNVu#-{d_leApham@&ZM+wx)_6YC;<}&Y7f8$7MWmq;HZg z)xLrgbUU@Wm6(+kfqqn^X*y7o9#MDrzbE(qm;e9L=(KZ}KSWUUMs8!@w~+GLIlVfP zds-XhJDKAS{gle^5O?#|M1=z_tt)7_*He1gUHjZM(8#O@59oe}akou>KDQ{3ia$>+ zBAPqb6;E*8>-k0oKv<8_J)nQ5NN1MA-mr21gR2bh{EAxi%EOs|3Kj3IOdPz$IhG-9 zMVb;w3ZZUyzi3I-cB<$VWmQ)0q{uQN_+hDFu9S^nku#v#rWg7;Zt@~-t*=JCiRI=Q z<|{y<*zZPa!Wf|ZcqjE3wF{oLIO>20{^cKisoInp4b)RZQ@!utv7L#JU667|{o%}c z1@y8vZ6FmCbk!5w97WkO)T*l5sp+NnJrkDne)xq}eoj(DecZce3=CnziJl97Q#sDS zJYZJQ3T_2ID?+Htj>>{_0w{m@1-cPhd z^ZAN)NLR?Wb*9(fuhZg24KN@=1Xfi}V3#;jw*@;MYK~+KxYP9Iiyq6NEFGv3V;oI1 zy?(enzleC03wErw&^d&H_2evCLKcc!v^&gPpK1!CisomX+HsroIPofK&e0PMc$OuZHOWKFFF-^>$->Z=AI~~26!)SDpq5OsZTjy(< zw(u$}V1c6EAMFE*p5QlbDfeWN@mfkh_uT^GpT?JK-D$d=oQS?>2#R&ZUutPF*MrV9VxT*YW(}Zf*o9pgDrE1TKb<-0 zefrCFu+Me7^{+#H6+1lwgkPQ!@pUHZK*vsC?;rXG_QQOYkKl*oeqsg(yxn;w(((^yjQ4XA)unZPN z7y)B>i+noeJOkBpS*_PXxP#h%x{_+v#t-D}Flj6Kf1M3iDSY&e-afp2;qoaG^5VQ@_(#my}+RhtpT5>@LjDeZeb1Cj&t zvDEoO%=Ep4@QO1~cHkino0Vqv%4yV}N&yL5oka0UYV-uw-RGSS5Ic1tV5l`) z8J^DIpNUp9qaU2Z0>69w_nZ7c+a_TzRvt;A1v@OV346A(Ww<5QIJW2|i5)`OwWzg< zv)ppd4kc_Q{);{!mJ7UdMaDNS#P+q@^U9x8=L~*fsyaCpb1%m0SWgd>mh|6hFYaS0 zsVL9WV+s7sNGJtRzW?+7*Xu8dr7ktmWNdqSb2c_=noi$m7Tt*^<`H!DP0 zOZ|@_ZxOyxMkl_*AFeoO?P+~g|qs%-|rwf~ge74a; z2V=|Olbz#RXalMkM~oCkdrB=fbN9{c>STfwwQH>Fd;PBoN`b0WiWAoRsZnsazH`)t ze5APZD`77pFlbg>p-omYlz%!x|JUHzU}dV=3hQt5DfGU48XQO80woA{h@*`s-mH4I zr5A$%z{z2BwMwW*@=@!P!vQ2ZeU2vRTGA-~0)Es11dCtU`?cYg*dM0e$(!qwTD4Uk zq18jX4p1(`w%`8Q!_H0O4X1~Hgsc~-txm^OdVA@H`9;l|>wqkbD6%2mtNCC7rq*d+hnK&-f?=kO8iS zp_{q~*+@&Kq|^|cZ_Zud2ed!m-19$JS(xKj1w&92mF$Od-HtCKHIMtGcFcS@R6lC& zP{hfC^VW|^QDN=#3q*F@@E(7vUfXJzNdC^yUh!fmPwRvfTf0Kec!`onh!?sNKmn5+ zl-##U4SB6b0($|LpsPNgW~bbc)M*_7UHeSWCXP_nZL)fv{Hdv|s<#5`679a11&4Gp zTR{P}xMI%>hfaydbZYaxOwK^pm4=OVA>jI*519aw(orWK?#Lt=XD~EzaIiTfG?n3z80|Osuz)$=G9fcEe_H4LRhEZ|!}kaG7*XsZJ55j@Cn% zCe`N8ar$=$%{^aBj2A!aSQ8O&f`^iR)><8enx0vFJ}+8mr~QK|8MajtQCf89d=z1< z|GukOk4J$_2%{0Dvs&1~$-{DZ;L_K3&pfG&-Tt0}rqWGJCQ*RyePXi5&`Lc#O`gd1 z0JoAV*8Y;7=|y5r`Vx9E5xV5S1t8W!`j~mb&`dZ=nXP{$d%(*3Ct7_z47Vobf)B!z zu|)n&oxIlzP0zX1Iig#C0^#_A)(;o+{_tIG-*b(YeEyU zWRJDMg~nsbY*fDUa*D#x&z8{G4ack? z8YQ0r%t4sM(HcKk;T<0X%Y;!=9l3ZSx_5Yo6>V#&t;=QLrjQB1@5;s=J)A*@%{+g^ zl@Wf@;OmbixkB8q&he#!#JU#mk;~zA5`F!<{W$Y?ci+p}DG$&keB9o=L&?ey2LNDnbwmgP7Hx!mpfB1FC)gCT2Y%n)n+cHOSkcREFOS=|G zG-&9BUy6+raEcIx8}%r8QvxF zJd%$R`eWWseIZb9<6?-4!2X68Whm>gn64}}yl(K-P>=8(u#8=;AwteX?>WjP@lfKr z9*sz3Ds*ZfXFf@?Czjf+1x2mZ1J(6qU)F0CQrtR`;PefjVM7j zYdBgFunJi8MWyD&UD|c2D zJ-#QOx$Hy?{d_Pw4#RbkbvvP#)#I*0@I*XW|9TG@&P*>Lv|0~ou>_!-r+l8To9*~=(7i)}$Q z#<0kvn17*vhL)C`koK9crVd?@RZ`otk8-)`r(jBVpYj_)z!Ned;BghIZ%l~qCjLP( z&G%bXWpsyBVd%ef7OU}sV+!)372m%~jC$+La`8sV0lpgw z`Pz;2bu54sL4v(R;4|Lf+9YaEE;aK80y;g;BTOvf+KX}jYESsRmCQ~vl#lL*?jqFe zBj>;iH*T5rAIxFr$BDYB{`{lN<Iljd8$!JLF*Du3B^Z@&G8u1d5Xgz;=3p0aN|J$~a|uU?k# zFwUUGK~CeJpOcj6w_6-_b;>$8z=n0BIV~Hf;cfJ6a-dL6txdau#-vvHE3m8sXvy&i znq~Cap#m}VPqX!_36X6rIvm{M{u$owxxdx)vTHc#THt&TPv|aFu*2W+!AT}z9jYNI z9}P1)9dQIu2Ksfwd{R%+GqYrok8!W@6x!G0;ALnL9_;W2W=T&T|ntq2^n9l~QO z@9!1$esqg9#+J*m{IWqz0CSDY%9^ zL0068rwawW6l2&Q5A44{$*yqgFa)YO)~_feK8{&n4T-6jb4;*J-&EByV)O#HUG?vg zLCYJrLdbCJ^+-0ZNo7YlUsS)y}85|qL1g}BAmlpHAF%c=CCPHM1H@(m#(h(D|L+;l*fubcvGLnN+Z zozO$Z0DTSJI;(tN^*TDgZTPS(xHrhY+O!M1yS|Ds%R;9))V#1ADbCm^qPlOQb znk{hY4gC>&^s48{+?`-5BP}VESx9puOJ6>G zf!wOTp_XhrlXo_gE?%*09EZjHt!7P+%|6BGXCn_k}Ucnttpwqj0Y&YkPI4lnW7*84oY^1^t(= zD|n(DWu0`Cj};IbFrH;j+4Q)lOZQnq%7C4$R;-Pgidl)67zYGG&(hPbEugy9%k0m= zr-#=5b!un%VP+alua?uQRxhM%b!Q|;L8^3QC}Pcp$z#yrh1pz+G3&7TZksQY+LZK< zg_Vz8M-!=slY;w`G+zID8n`wib8$HgH8#jf=KO1e{Q-3|da0G3XOLJ;TgM6CfUDqd z_$}o?uHEhCy`?))^nAR9^bN5u0WM=Jcd(iE!N208B3?Jf*(-P;)To2ok0sEE$SbjK9Y+I{SF|E z*djjuKa{;?T+{FS#=TLJ0@6cDL_|6UNFyRD5(*3$qa{aoJ6cH<8Qm$2W-z*>yGA3D zB3&Z{x%YkD_x=3$f4)c8>)Q1>&*OL>=jqC^(2ddA^M zC&={03v(+c4e)qX2@;9vAw>{1lfWzyiR~p(sIn?Z{ta{{7$a*1oA zfZ8$q&+N*^pd{lDvJ1sXvdR1gl+rlkU_FTV2W%o?vdT|G)UaES&OwfYNG3&jBz#VA zvQr7%VTBV2hR;nvBPPi4?EpA-TuBPXFdzo?t}VB2pU;Mg<2+JoU6d9{h`8MTzR>6t z=gqDVGPK))EIAn(ST26A1}8*ij;nCLPrvHQET{O<@lH=;w8ha7G8tqc*B&-aUapvS zWn(L-SeCx|2}hj#!g%61gA+}9{B1(eRA*=-xvaCfaP|_SSTvX5;kK$eu5Y~I=(O_% z+am$ti7uhhazA3$A=-Uz?8YYXWS_G53nXlC1!M)Bum~cWvyfA;jhu4cUL z_<;e2(!mZ-sRrSA8wpM_X3d$_X&o3Vks*aBCpdoRql z?2tk5C|K;vxQ9}-IA$!~vrHE_{K}n;{r(U`conte;DOlX0PY4cn@Dgou?x5m#4ykIs~g(@Ey=&w&5BL@jRY zho$`tU=;cg#Otwrevm%$+Jmly_wVx+(BFUBo<61vcON z{I7IsDNBx@VUSiOMqpnMIU3&{+|o1>5hgcPaQ|#HqKms_G#LT^`SthA=ppG|>M$-H^A+ zqW-Dq%Wl1qsZ(Had0G!E>a$gs6RXpuIW*TthTw?S+5E|{K~pshkcPnIK`rB?nQA2_a$z<~fE7*Z1yd_Z$9_h) zpi?d@AFIRBEyls7Zd4^L_XLy39AvWE!9dvN6Z+X#-VqZ6=An6R3N*SDDC8eIwpVHu zSNkRgW9&YsNgQ3(J&03)AW11%GJocipOjmt?;T^^)(OjbI1AOVly``1EgDMhFvUEX z3>w$3vMy**{ruE(fah@~s8X}2hlrj8Of>P8P;`;8{ztBE$>-JY&jh|cr~-qk201}W zprze}D-&b<7lH~xNJ@aR2q?Vc{=)L~A=O^+jL+*20s{=$pq(7)?V$y%V7Oqp1R=Ta zgAnu!RdBQ-`vbX z_ph-~2)F|CVV1*n?6GNDQ4;n*;O|-8|H0J4CYx++JT?&aa&Ns35Qt%X@9|AL%Q-eU1_@S}UJ z797V^%nPr_KxceeLINbezMkx8IS=kxs9Gl9b%*aj@&oNFGMt@i_sHH<);H1Nh&F++ z!{9dbp1ZkHIs3tY)gt;kMYT*l1H14lyM!{lc1E(dPRN9X*sM<}nBko)i-(9U6^8gX z@ni1rDv;G!s*+47)@1IA&*mjlj}hHU{q?GqK}sh0cO_w|F|>%Xl!b=)p{0^8(JXni z{p-;~oiEne^oP1clh6)uS@^tYu}YxxK;X|oj{V53pNb;0v`pCsrcV$k0vNwC^mVCi zz$S@qpjjZ*dC64S00>%vyJ&Z5Q-B|<#e$0HEaSzV;i8o_LVWB)uDpm*z^l)r(#%G+B23^q&##4>32%D!^nOm}sQ|L#lWOO20Nk@O<>%9uMu_s$Gn+fNU8gjhdR`1@C ze->J*InD1C88t{MB96uYxJ!WF4NbPmJ{C&U)V^SMwad&R;eJc~_|w9Go0H|!&?z@| z?Nr0JL>67upbb(u6;*R*HFT(pAWhkXAUzk)DO9mk7FJ`(M}GNvb9>A*4cQxNaL!yE zH}0bkFScyVJ=`9?F-alqqEp$#)#)I|S7k(d1y=F%DjR+Yh}NerCy1X!n=6SdRl+R2 zyw}{Al2RJ2%*)1C0`BP>lt1G}6}m5Rd1t>C=Xdy)z*BeEOgM2*w;6H=l6VFlsh=0m z)^Jx-6IjdWS)4uhEbFQ{_(0a=W*N9MY8w72O~0(ISxY3h=Y=Bg4qPtp4BV2Rs2K>0 zgf^0|iqY@Q@$UMgewPgor(Lu~Y=E!WZ?DQ>5!kK?Z|Y~p`ypDY#ghvP%U}QZX4}~S zcxNW4D|$`Eop|ImP{5GtjYb&%?Wx{x7FJ2b_H>{!*S9|E?hBs^=jn>pI0)asUDD*H z2kK9^h=6jLhNQwo9QPkz%bceNj7f>)+HPL}Ht@AF(Yyobbo{<;SP&rO(Tf+9&>gzd zLmxjOIa631$BkC{)X~kCc?HRpgj85O!6=Y!T`Y!Y;E}C{lk@=@1jAG63ge$&vr>z03v#0GUoi|#o%gcWQFcV1nG zoW<}IIoJt?*y2kcqAAK3>e}Ce-}Z)yCnG!faGI2AgQn{TgWXFLgDHpWZ9$Y2T1Ad+ zfDB-E3ahq~guo|YF@yPPzM6sHrdl6ysqQAZhpiGL){i*N)875L=p0?$2Q3+?n72}n ztK_v>$b-gp3;O7HwOtMTpqSyz5!16*YcaG;->e<&ZM4P;5a0%af`h2dg+zedX*_m1 zKh&cZBfoa#(Ki9QnxAJ;O0KO3bKX}@BP}ne+yJs1JAJZyZXsPHy5tce5MMlC;HK$} zY`UGj8a@{t8?tP5_6L@V^2}fP=T#YJgyYms<-{M_JBpg zaoVRY0>j5NguyRBJfKjK@iv|=$uP#>NxEdl4zMyjYR2_W$x~enaq%=ArpMRWLvmf= zTh0AZ_kt(hx&BHhf?34OX{(YHb~mu%LP(lvGjlks3?1w87vEUuD>Si{5STcs!A&^^ z7;HUQ2iUpGKT+ro9(;8VBQ9h6ocRmfNe?HLNM~v;#2A`z-^2)E!)g>RBb&@kcdCvD zYsP4HQ{#qN&i)KH{?C$Yz+-Z03@!(iKib9Mqe2V_xe|_v~VQ>`Fmc{H4$)im+bwbF9R1o*p{g z8iK9-fd~3R=R7tMQ_v1{vUNL%ao`)?&<_m7<}PTP3B#Pd3Tz0yQ|EaX(qzrg{`UTw z3r#Y2sa1qE%dqqiRh`{EP1aMuF4me0=DvK}q;oOIzCGb>D#<{<^TE zxn~5ZjSwiFj()n`Os?BCkcxNDoEZ#ncHe70p-5KC@T2-oRg8Dtv@*P5{@8CefV2Tt z(sZUP`OOf8G=iDd+pJsrgM7UCCU6=@IrsFL&;qyI9NqV<^cT8vX&nytKXwrU%O^ra zkd&7aZl~bD^!}PgW>eKRIMeNQK{i;~J>C?=900lTZTjDUx&OpjjySx>94HOn z7I!5!DFtwp`}eAKPH`wwgz6;VM6c0_Q3L^!S`S}-f!t01ToFH?5n@tEq!!y3H8nJ0 zkGZvw*(D2jyprIiqk0i087;<_og3??!P#Ai2%RmDWyElH2;Edy;` z(0S?1;Wn3fMtc8VnG6e*nRgc_vs$i9NH-EcTx#^=3vkFt;*J9jsL zj&hOfm_5nRk>H*B*nEyM93en!ZLZ4@TVy{5MFY5(^9H5Lqhw_TP=a#4*893targc+ zpb6hhW!enP1W`a$v4Gi|c$g0XiV9STT?*5vUA7x+flv zYO7hTq7SZ5YP*OOfxN)gT?cbEmzfpbY;i<$+`gni8BsZY_KbP@@As9U9W$xM-m^Xt z&{a|yD#cSZvC8wU$z^{)n(G6;%w_rCs;$P|p+Ay!$?2`4P_T8Xtiqtdd-)&PHDX@I z($)(UAde{}#X_U=d*#S~xI8J9#!gzW(!Pm4OEo8)B{$PJqcqTI9q}ZZOI=AdwBnXm zc6iEejwY%jb0V-7SHg?0?e<PK9p=3u9UH^?uEaS)zUzM|;C}wEYPZ_I%FHeQa%OgCMyVmkl%#|u3Nj)=F!UnMo zb`|(@Wd*>i%On1)#?0+Bq=cRkqrZ$a0g44fQ2D=}(ZAHuP7A8HN2g|RoCf}kKG!w2 zIr{e@h^Y>O?c}|^@MLZgvpNV4U4Nn*J<=ofn4aIkI#ACxJ~d)JkX_cF-pc57?hg~Fm?my_8XZV2@i-s+pS$aJ2I*J9?)6Sf)uUy+ z499YK&hFxdA0R!(tuCbh?{Y^ZXsa=>9V>OaD#N%h{dG3AJ@N=!DyaOnJtT@;lL{BX zN|$G@2XSo;JbWlnQO28`gB}@|+|Ds9L_h}E_?x);%=`lf9=Ct9YBs19gnwY~4*Z65y zhIn~wwc*w%@W8wZWdwk=nT;&Bnh>tes=?%HqZ&#aSHICoNmvQYkRx9sS0UMtt^5go zlMTM}mjxi3%&GOW8;3&DHz{JQ%ikIjc7nLw>nkT*SfF+75ob-5<)Vs{%k5xJ*0RtT zIRJ!0lE9{6?uKa3{Yp2a%W;;Jp!YleI+C}Y2~l%?8w}>6xu>uE zSJV5yng62SN}q?)Ilt0@!BtI2W_I83!r^MD^6w6HeGy<0!g<8RE*ni29&FB*T)yK+ zFe^#!qj407KcZr>A0&&mR+La3gHah8X2zM*5i4Ol$q6)$I+-%;vR_%>sB-x=A1)#$ zO5gZCh2}7UA5P2jNybn{`Oz@G?Y52G68}nJU<46BS~@kKkofs`eGEE5D9_1}9Eh51 z!XggoD+X6NPx_JTE}x)7S|_4X-z9|ws=6 z72%3bXRH3*ckSq0sXt4H8#2pV?Z3z2>$=33(1ki_9dWQ>ZWiJDSSgiR;|*F#(<6}V zS)Cth3u3L?(svMWhD@se?{0NK%zvemXnEu4<(iI?(#sj8EJJA8)s@a)7e|g;pz3RV zxPVpd!@B1vB_q1maAXcOsw3vyGu&T?&RmV-sx9zBVn|4^K1j|Po-a5*VGYt#4^$Yk zw4-9mN#Uq`Tg=s?od};;a2vkV`WZlrBVq%T4VRavF%&PF1hI!3r=Hj$`?=&N&33BW zRc;MnvhxuFBV;3uu9p@UYc}3P(2<*l1`$CY>cOX~)T*3yrUQ0fvyj4+FVEVkNvcR; zk5Oe-wy{M5E5&cr;TVRhAj-44YThv$hsU9x~YMCQ3*#|m#`Z!CAd z;$Ff)*t`Z!3^5Ovf`MyiBbDviE3b%e7BY~^*way1IDrrF`-V+OOYSt9s0vu|MF>#}A!)m}j^-D+cb-P*Hv?;Z z%J8V-O&EIvEwL_|DNExgQ5D0BJ9MFu1@~i_4oY>EN(}lRER~qO)kaQs`nq$-JfU#N z$dIv_AQl{UgR+g9Lq&4Sy>TxmpQIiq>4g|jV(HWn9|iT&{Qh3kY{>n8O3K*7<4&+pysPg_Sz z5$7+^KGYT0*AL&^4%VAHJJuLXN|o$}{|{jG|MwGxC&V%@UcC5s9&g{HV5q-hsiSnN zriWkkqR_%16nNq*E&MV20uw~Z^1vbg%rEd6tJ&8lhd@(~@jFCKi|O~pnYVcjoBX)= zEd@VQx3EdY&77t!mB>#H~ZN+X=ClE!A5a^hh8MHoiA8`B#tjm?@?$TpoqTk%_InqLF7&gE0vPgB$`Y8 zS=E$iB3UvpxEuek?V$7I;DB|AAgm`9Fr_OIaerTeDFooipe)o#TyOrC$~&75Pfo8+ z82o0^e&*MDyl-o$=GfU>aB}s9x}8`~obx07XA)bg`aCaH+#{*K?4!~TQY{^WUA^kg zJ9`GKXQ2yX?W8VuXQBY^UfyIwlbEsaBT>a;*PMBtcG~kg3@jhD{q6(&kb*e@S&bvPG4DIHJONi{VO7cwfCtRW)oX^9mYb~nrBw0ifn zy^}y_NQRK5&|^|6i*FG&pQ^29g@O^$+6k94j8clO5=a&@A@6)jngLf-WI`gEry?6t z^^)DY|Cw<(IXgsNCPi;*e)Fca>X)K9%V(NzLRrbEx4RP6*Lim#&8F|}RXFXfMd3t2 z?^mX4iT#FC?VVGjExMo9uuQ~^+8$Mv<<^Kgb zyF4mIH zJ249X#3R&dD3p6*F6x~1gEn!{g~#vQS6;H2A&i6FG0g&|4Qzl|b-J}*JO1@n=A}|{ zsivf(5J<>wX3MikH-1q{pD{PIs-Tv;n0|=C>?@?#d=7Y^>P|^$U|Wg5Hm-AI0BYcK zEQg|)Co~az`C=?u*&at^5RJFp-V2mh(|SFT*IUNFYRFj)xk83*=-&ujPiNlNuZ|Db zdhLtqH9c6qmlTgFqT#d#a0Or;W!-p9X+4M}@=oVP_gf%*jif@fTp-ZoCk|5y^>ItQ^wY=LxdReW7qz?O=q4uIkh6s zb3I+MCI1#19IGlv@Yat!|3Qq`TvWEQb(GC->dym8U`{2cm1+VLbU|>Jj=gcl5v7Qe|A+TCWAh#}0f~^`nytsjsXs*E1y@KlgN>9>?07r+ zJbb2>$wj$Qris~pK{m(RR>Y(K8Mo!?M&}2ZudpFhMqjlN7oSm~n+YPR*p@2QaVqs~ z%iQQT@b8Iurm|wDalloB^F^}xE&T62Y@0gqeHh+>NTZ%-@DV4jED>|Nal_z#{$nn= zkypz>FUBZ1BvoLO-QpfS)&mKKNg-e2x)uD`?-Q_l#$Kl*d0Ve7|6df>|3w z)Cm$@?xYBoy{#a$eZ|;SS&M@k$Cz9C@(d{k<)WeDaBHhsz6kDSf;X0*Q`?gWAmW&Z zgc5ulAM*p$Z3tiP@?qW__V4#VeE!vEb#>id8_m*7+$pw3{vaBlZwF;VTN9mDkODFP zfbi562x)rbHkg? zD*0vtcKBHdo}4?F5@e=yOK?i8NVJ2M(3JVW3Uf~lErEAuq+Z<<>51dA`D6S>5cSG0 z9a_*VQe~i&>I!d#h6fAi7fY?}`0rDq3r^^2fK6-^@5( zInt=jTM<8^Sq0&vYJX#AZ5&&@PN&6b1T5G%J(b}9^li{psR#BG_fpPsGfFBcVfqJU zrRb)kp^{Ou3AwuX;FU3XoiJZk2WrwpcjP|Q2@gej8U{T-aN2VfpcFF=wF8$^Qf$gQ zjB&WDcpnQ2XbbL?VmhjQ10UxFVF0tzNe6ya)WvO*ZS<0i`s*ba#na#3Vc=EbybqGp zvie~<&>?QqPae+OklBe{Z)G7%S)xPH_?l*!)3|L~xz_qdT6;gMfyHd>*( zXW^_&JzdobklVxGDTv^V3$B*M_vPOv=T{xab)Vp(H$hwI#Y4#Z35%5TCu8T zj?WPsh?k8}?3>0dpJj%pny#HnVhGc&P(t%JTNTdPGd<}Gvav;HWtXcZUd~0<*l9_? zbDVwM=?`a8Ue>W{Pi=Tdv?;psm>}Hxm4>TXv4d+V*$Y+e z$g@gcac^0QB2g7*LgIYe97mB*qyEmMj9^l|ITjJys1v#qDlhKzk@&I{9FMD#cxdHm z47{Hu#_rln!d&wB#F$|DrMmxv%t@b!;Q8FN@hK;vge?0sKg`BP%x)i)2e5Fw8`Yv# z+MYO{6>~EsJW@7KeBWf|U?MY!8X?`(*hp1EC>{M*db>SS6J*r5!7D$>B2~r^=V=)@ zaBqvbxRf-$W$pd3;k=14^$x*oqm^fw7Lt=fKg*-jV5)U5VMy{OhY0%7CW!u0MZo?#S;@?v#QChlWsU6B=}tfRO75yvIXQ`2q$7 zka@zjPW#C3udr{_=n2dN4a7^KD8oh#_fR*n^~o@EP3O4fiBftq#p)S{wt~REzY1ON zaJsGXPr1pOpKxk-bALo0-$Pm3rK@(YrS{fDbW6%ceya&s>Gt`z`ZN{+6`pw62(!m(v~zdXnpvhgR?{nO4^ zRQ8mGaCZDvb)b0%R{kq^XoE#7&qQ2LcIxh$LXCQ$9`WK4Yh_I>2uFqur z{hxKdm8t*k>{R|~1T6Sx1VKRZ{yhosS)^9ikD~gCI~IXY6-fN-Sw!&(fO2j=-iKy; z6b5!m*+WbGOwW?qLpicqzeVE*UR(MZoiGk_%o`og_q>ZEu%CXv?Vygu0%}t^*6p|& zt(yZ}#je++Oi4$!DHY{>*$b`qh7@L#z>lR;Wt_ESoE!oUEARkyod8aP=rwxk)t8Qc z%ZD2oM!z-_zgIS+S@uT-!>H^mvCB~2`FpbWp5}TBa6RlGz=r`t@#beEu?F7ZtF_)& zj!f{^uIs390lz19zT9|Y;D>u4f&0VTbcdn&YYv*S`P&-F>$imnmv^%(DWnMi z&&?z?lCrW9K^7Xq?8F?fQW*i1?gBW5#A!xRSr`$#d71=?sQym5 zaco>-ilNi+9p|xIv;-uyTkLM*TP}0oplLG^oCM=ya<84~P#G6Id}l{S1sxGoQ$pfG zu#dL2ZhX%v_^;~;8JrYfshg2*2rO~Z1aq`=@YF}r-UZUo(mbG0Tdz5k zou?lChjaHip2_OWgi(VkNoosP#WBdNe9v>wNLoWklZ)qr7|l3l)VtlT35$C}{)K%u z$N5EW0@UU(j=KZXzt?}*GJjKtv}a7V;?U)r_ofhNs*K=>U{xg_k`gin{L@S}OSm}H z&Tc;NoB}RyZBG7?suY5dp?yFg9mV;U#3|V*bH{G9cR`kw_&9Zg*M=vHMOG!fl(L>> z2%-@B&2jl?sG66^!BvxP%Ib6Kyj_T+Xgns^A>BI>9nh&NSLlj$XC>()yQ;?ExZ4cV zLi#sNh580&%QMPK0Fr;w{}cqh;kK*fp7k;oDhQ4a)~Y!Jhk_}}##Fa}fyumDBWgMN zVfwG)?f8WDR-w;*_5$&9;(=G4$DlUV(6u}bpJ9_1kDq_Q&8$cDU&kJlBp3Z8+@mOO z+;rLjHow?pF}9uK&aN-_KHVQ^3~D3F{6E~l!*PE6%nY?QViQ z??GzP(fNAkEH!?jH=tJGT^@d*cnO!%&SDTZY*OuXkg2CLL@AepT~VBwGpN$JbV{ap zO%Yii8~%7-xL#7y%F|j+@NrJToV$5tn{a^dL4wQPv2L;<>@Ibo%`*+p<6fV@5$By0 zYv|;BE<|Cb=ypl4;r+MndR#Q#iMuYm`gc7NJ4Qo)WEP}=XYP#4Kh*xkwk|9PtU7j! z)q2fJOGxhm&a)BlGuyyeE1R2Aw_w9BdS%=T*|rz-gn!(%Afql+jbh>yIj%n@QVrkH ztypD~YexqQhFDWZ{9;jN4t++MO+fRuai6qG)olH~YX=tzrZ06F?*}rQT%V3f^g*zA zHDT4bT2n$~g5!};Y~-sY0~lf9ihcQ89S5w$LCS-l%p99$=Nl=btn{zbyI6c1?+jw;<>bdHmJsFe`GC0PL+>ki2LBPbrXhw;dWX zA&{OU&d=0Q3&Uo96W&jDJ`>PztyyIp^(9%F&58`k)MuROoEWM$oO#dTt;;tfmsgZi zwdaY?p5(woW$s@JP z@z>`qYOj6zsv8JYj>i_E?mlg7WzW-bYu8Q)}y}Wk_>P{8?qE7UOe=5ZT zdR8PhyP=-Z_nZ&M+jO^QC-`V9vkR%W?o=yyx%zM}Hh76T9AG=^so5hLfYw$s$(P)I zgW9jZa93uMx^jzv1z-C)DCziV679=w2+;FYqc4dRXmx0wAChq$|_ zZ(kcNjj8YA2**qg5~{#8wUSf3wq;FI?Q_H|bd3V?A6T%~TOp)TL}mTC zNh^GzFnnA5x_NYP$&6$&)sEJze|y*_L=Ex6Lww8X?ELWOEr>Bwlht871!e&O)DU6J ztOSifte@HG^n1F(`4dPgSeO$YD$iSFypGlqIY@etCG*;bQcsy(MTOAX%8`^GPT;C} zB11zD{aF?{Jgw27y-4XVV}z{$WI7m9X^%Q>l2=-fL2GNR8L>n=XXN(4a&D9M5Ejq` zl-VJ#zi#MAg7;X~VGx^nCcIxvee`p!TfsUoS{A5JB1>znI4d6E>d&$i@u!(jIMg~_ zt)|)9MtWw@Ce?uo3Pm^FvsDNhUpB&3U$Iq<3j@t&N zI)+!P-U7FpZG&>fO)@n!b;MEBaq(gM!3wOQ=x&(9@LIFL>nH-zp`JL`dw1_r4}}=1 z6^N(L1dKYQ!G{lEe-&Od#4Nq)%H{J~8Ec6p+2 zuEaQsKpiJ48f;+#%bZ@sQKR)_j%kg^0wj8ktplB3CC(pobSGuPIS zGb)y^;bgWcnv~)G)ou~d+5*uV9)TfJA1S3`XM~L@KU^JWHaxm{YiR)e8Dl9e=0lGs zvaKC99-jUfScpSlR03B-eceHrZVXm*I!cEai3mjI>#~=t`k{xRU}%rvkrXKNycrk+DgDY->hK(9oylb2#Dn;?2pd%pHsisMuQ|;A1Rj78 z=7(Pq)OH4OH8ZYEvge1dd@eYC;#Czap~WX8_5td}Ekl8xtd-RpC*|JtyQiJg{UQSA z+27!%M992Z|AKJdWc|uMeM13-Gu&wyS;vDl0Jr?~)aJIF!PdNq%HKd)RDb9Eavbc^ zZdtEgZZQOuk6c86iVH9KV|`DEOm_bK`Ra*ws;S2Ej13E*tkj|Q{DkVg&SR4)z0PO` zBmC9_jc8fJz5$y?&s`atbor6ia)ToDj|0J;R-sKHHZe0*C|&!5q031_t5MQUF@*Y7 zg1f=I#ghy&e@3TQXe8pW z3!?-YKaRpR8kQEv4g9Tq%ha42$F)NWNPItaSKbItSh~H5_6JD^n4XmDt|QOBc{*k+ z*8`;UUV{z{iNB7O$HeC^jNhXO^YzEIy%N_+W4 z!NKZfljrO1##h&$ji2DWl)=E-h`}KfWictCfjtXvZyz~%CX*4tL&4Uv(Rz4mK`p3s zaCM|k0CV)VWwBD>lHX4#CYCZ>SfNGGtOyk3i+eCsQ7)AxZQTf|Ky`=`j=UoI-S4&# zCvXU;95+45y*)91e)Y4-SDun|#lNBXo=Nd-AlS?-m^=wCvD0eYw-{RTVKKzoU{4#; z>tgyEgiwvd=E`uMXIH;Gg~MzKYwJ$mVE2glK`RedxD>cOEPfHynRWMbN)SrFWB%Q> z+Rj1yv0sE#>E%h>lYM(OYpd}CycJ6fcNl1dMN|{D7ax$?l0g$n+k$`n6Onm(KjOt5 ztKhP)09whga&H)Yd!@3WB#4deZXgEaI7eNz?R^uSxqGy<*HYQg%4Tn1KzA`gG+Jqr zw8Akwy~5r-K5WKSAgVAxc$Umqn4^>;F>)O+Bl>T1$IjRgYJ?wY)!AL_``KYf*y^`H>sGQ2K3%AQ(H*FVlb1)yV**$+8uhIircsfoezavwF z(8Qz?p$J|W87-0WtCx}}lnoN^U<(1th5_@mVH9#x+VZE0#XA9W{RP{$z=|9+|Cx*TN{Gzv6fV<$DRWZxo|W5GNs)&P0l_Xs0IfIIAM9kqthx!#lig6Lq}EpM4V zl2ks@*qbB6Firxne;VO>1=AMEyxSSuhTAB^=0~5SnsUYOE?yos^;WmnF*^l$$;TM8 zqtAgdZKH<5@YuVNSFvd`L351F0eb_gvbV(aPi$*5l_p+mxUk#YqruY)o!c$>9?Q`T zvNcC7GhY@T5|Tscmv?5TTciJ;8uyI)d;aQ%72n2xpbfy1>YO{-Rd_`Zn!W09tEY_-O57y90v<*3)?@_w{9&wtl$ z|9h13f?hgL_#H>qX9Y|Bm4h4r$6=&1>@Ho_vKZ%YJ&xwH*o!^jN6RPU3Y>G9i`JQw zy@&ndIW9MyKC`;lTSdZM$d!0TGn5AXADhRyf~6mkgUt7NlHLP)%zc;t zgoc~r?#f0q8@sSzB%2|s-^wTzvVKPSdV$kU>6P`_<6!$p0+qYOp~;@?ogqbl9vNa0 z$klrwYH^z-oMjZrS*;ozwJ@=SDj|FJ7)5F&LS?367HO!VGrNc&DELxg^Ja^sOxG&O z59xFX<&rl{Itwp2+^tXyYv>hz^KvDdV3UC6i|Ql9*PNg6%o^TI zAhYkysXoF@k2K}s+s$4Cj8Fr2`dZyd*@umn8h{0M_jqrckeRVg7-8vdxmmS_q4D+p z&mdAAec>>8mI)c*TIlv-ucs_kppU8Jw$%Q=uA*PZ-Tf}x6U4Ic=Cq-x_d)hld2sEK zLWwc|SlOh0>RUWT|Fp1quC?hs2c-vB&3DOl|)pbcr;ZZz7!(blTX4L(lFD zl(CVHfN1;NRUkbG)_ujayA%W|akV4?<0NB%ko$MM(4&cN;0D_T>>bBVNV$8l@LmQ1 zbEO;Za>>YCYpvnd;gJJr`ryWLK8M0INAS#q65utCsD0%w+L-T;p4H{nd_lAut)HL+ z#dF_g3=NjJVEy01mb*i9%P-usf%q{{CCKF^fs=%!J2koVgWowd6|x>Uuin=2Yf9lz zEM$hLtOXAPmH!K#bTKEZ1%`EqN9w>G_o3DTYpOCBwHO|!%fo=I4TyN#I z1q7iMHboA9@rTKULVI{IM3XXQTJ)h$g1pODU2Cq=8c;+eaaU}7a@x!Ff~E5o+q|3x zN9SGUT1XQ3$>Lovz3N2t32|}~5N+!yXixq-Oz%lHAA&c#jsWB+>wX}MZPUMzixrSM z0Ghq4ou_-#SXD=hWWsj-8Spbmn0^F6U#6&bOAVp7g0m%IJ`|c={|kP?V!p{zBA)qU1g(nseb|-GG@bDN$i> z@JrRNu`>68ATYBAp*e@RWaCm95WQ!pnC=-MW1&n<;W+e5dn?1wz>zR$bu}=-SzUTV zvHS0v_2oSe2gg1Gf(x;vdd=V;!l)*b~%QnN0{$0BLLNo-VvGrRIRPo-RV zOL+ZTx!_j$gqS0fifu`sgqloq$ql-ZEq01fTjlx8?<+y^%x_FFOHU|I)WL zIunF!pwum$mQWlK(zr#A?{U@4ru{+736*~@3(ESSWAm?ID>ZT9#_4tD`c1DRz$k2S z?9bw*e89+l{3;{yDQ>z|fBgc|Srz^gyn+U!$a9Y6Zt6PZD2 z|LHXgFeZ*fewSQ=cKN`yuK%DR%D@n=iwpP+8AsAt%ay09MewodlLE=A+B*JH3o0OY zpj)K3`q*rx0DfNZQ>M&e!P#DG1*fEvAIP|e-(;l~h9Y+&1P&d_9RH-CG7{%=vW~ud z`Og#FNUe~)K3!K$W_mLnG_E;#$6Lbo@4xcVGh9_$ajDGI!a`y}{odXxw+sjFWSVcr zN&mg?7DWT8WAQ(gU_FZJp%+`Qmp#(PX`OORr#rajp#?0DY*yb_7YCJYl zy1|KHTdJ`>6g{wZs;jeR>sP;ND|K46TliVQU8hh3qO!+}Jht%X+B6WX3oYo}Y$3HZ zlya!R6pN^=mVD?!rL_+ZZ3>mFn}z&1^zWb(qX3xy4&2|0dc6eU9B|&6dz@Y99u;6C!$- z_67Viy-idfp9#*|($*H0dG~2v>S2eka;+P06zf}eu9Aj>8q>4#*_mZxuX0;Q!1U}n zRfiqG218x82GOw+pyGTh^n52|cJ`;|5;)@^ic=I80m^^TjM0+{m-TiPoag)ODt>*K zr5Je>ZTYKbYo;?BC44OOdhlY|UgTUw!_PWM)M2~+un?6Iw|!n;sk(A>HP$Y5eUYL#7Wo?dztKi=4{d7dt!8VV>wUz##L6up#FQ+;nAqE8FJn zv5sw@SnmI&m5=`~h$9Ez6Ti`>AM0Hc3VzLWduaGO37ka$wG6rfTzmZ>DDK`-d_kza z*MG$#BrbdA8u*%HNBFmifpL=mh+U|<=5_Isq>zGcmhLj(`>;k01`8F6t8c593h?_I zp{zPe6f2*SHe+*>|K{6{NF1EIuZ#3f~g0@+O8MozyaY(aoXL=39 z)Bh|`w5>qwr;`B}3OJP3gRq^x101ebsD84$O}iVW{wmQobnS0usKVbrUm}5i-3+3i zb+}Re8@$LVq?PL4+}ifx@f^xfPh39>k@iGgp0ig-*?tN8QZ865^OH88oey?!C{?1){e`0a4!+a@~p|NT4^6+1+uz91-7NyrAtfCONGs9}lA{|& zx3nVNAR#aqJ-Q?Wq`O19bCmGxbMT!1zW>0^?!E8(ir0llJxz(5`&Y7r?^JX(sO=KT zN+O>sqM6v^nKm;l-qaXMRJDPNFdSDmnSoIFZb7JshUr*zsQLV?|rDgaVF;MN{&0QA+>H;j52O z=2tJ$UNzfo;NRKBzQ!?j~uh5^O9iMk9m5)hnn*zl0QYK|yw*quP4 zCO>%)a14gJxROxd${O*##du?peg(4noP?Ur92p|}eT@6xc+gFn;>LC&L2p8SSIn$L zsPV+b$EHz073Dywf_&b(P%01j4CA8nBklbOd9c8XU|SNM)uTlXxd}GzM+-=uwk0w=Hc?y)W z`fRZ(Wb_HA3VP^kcM#ef{U_fbZ~(YPzOfmgmL68}m|6|%EWUUy*<`VtDn>_*%!gdLYLjW zB2MY0@LtCbhcen`3L6|U?3Z$P%MjT2Vc7o4>@HtQH6t@h-jOI^NX6@N(dSX_e0r=h z+M^p+Kj?}tfZOm0Q_PiKx8O!1PQnDt!6KZxb*vEisn(1bGB_?YcSP!SHlYG;)Q7!zWj7a5raiF? zCt24}b$yi>vzSUQtd9M;HdplMl!j4`@myBO+mR*`8Oh<=jOEjt>&%pfjjys{X7kUd zkcs{iCvFGO&|)ewaPv-kON!heSpj2P$-K8)EUnnd0;Te)MlR9p@`gx}TebiFq6iX>wt@7>SXBAv7VNR^i1_) zu*^xgD^(262X`{%%*sl0BBG?aT1Bem@NWq;8+vT1(80}lC!d=$D?LLK0uiZpas}S_ zNbJ+Nri^7QD_}1rqKJ*RH`1&^!^s3MtTr;H5sr&4$L!G5UB(}G!Y`TQzM5#D0RcH3pvd`c3ciU2vT|3 zRB)td@~MZmA>q7zdA>U8@_r3CV*==cKdUG0)P#h zX_LIOxA*Pcek>oaPn=ZZ=;25DsdgCye`LUn~9tL7~_N$&m4ezx1Dw zin5yl2Gunk>YND_GS7Pt1D#OM@f$86PjT9AM+G|ies~QYUwQ_gGCg`bEC& z-5Jgt8|6h`o?mTumyAom&q&?N2&t!Se1rWsn226jDp9!v%z#7>+=3}- z`<4?)?j{cxZ@`!J5WZ>T(Rhum7X}$;X~ta9UsFl~A;XnM=zE0$M9%p_!4`QFY0dE`U(^#pT^xC!k-KY(w(-8}_#}fk7543@lIB-Ewv;)vSjKKCcHi;uJ9hij z`(hT-mpjx=D3e(@8lZ=c`GghYHv>1d!8pOlU7xCQMu|FXbO+QpOuaB`jJ3Becu4rd zvNqD`wybh}|14?T=BG#R@vCp+M4g+9w<=P<`8hj~pTR^T2M=7!$GSXpg9jj9Ot%u! z-Z5GTvL6`L^V_*3zf}6pal<%{%Mftg=l@V4ef98MhbS5Iq}5L?wOsQK1^``9b-#Z5 zI5d)3UQ>RK44uAZYh6V@sa%tsW7Jqm)h;L`(j%R5mgrasS;5e`mnK8q> zjC!I@31yI1KT@`7tFf>yK}iN8b@>h%p~wYyOCE1-$)J*3sgKkM@=XX#?B@Qrq2ARJ z*4$}g)QN0Md)&j0r288U;WaBxAJeCcD{Xk}+7}?4+Nm(&t!)<2HXOnn$EuVxCUi-( z*h;i+UH|rX!$;~s3wL<@7=}V!&`ZMjhpje>xiIpj+((3T#Sm25A9WZESf3E_qQ4Q4 zJCPOCA8U`tRDmMN{y~>M=S}-AiB;VN(ncJnxqh=99TOrerUZfRB1hE@;f`&*wqO4I z4^N@BDx_fW54o{wb7S}cfH|rLgA4jNzqnG1OHLs4)|3$10lLpH2@LOlZ*3%;S@7iy zpSb~kB{E@FokYb^YT9`59dl1(W765q(>UrtVoyC-4r(%wSzT-X$zw#=hptCp6d%AI zO0Az&BW2t@vAEC+Y3jx2>XO71ZE{aCw6gpcW1SJsnU{Q``3h`!rxSki9$^*{OQ@jdi<#Qx3r%?!H9rMtdSvstJVms}_AQHn z{#IR2yL()FtD=f7k`ZI=Ce;=w#exIQ^6x0dnk6@*A9i$(-g1=DkmzLOz?4nge)hZ$lJM8l#0oB>r z3sG~XY0S!giHEl?YIYH#Av!-M>=!RyRL=b20e5-kwnD{o>#s-^JO=G^iQB1@}usF>;;txq5Rm9lm^7m(BNycHe<3>TDw*ZuO)nM zOq6UEt$W$j-o&s9Lft}jX~hNIe&ZQ+#^VVI@_T%ty58hR%TsJOli>bsNfWLliISdb z6kURNxe|uVN8n>)2_p9RE|aJ~@y9Xfe_sAyx8=;Gml0|5am z;LX)dI6FW`i?iai<|-9o72h7DNlRiJ;^w&4eLpEK2d=N}Cz!O|t|U4+&IAz35dtyD z+Km>u2iyRXvo0ABw(>rP$b&NyIG>z)q3( z#*G(ES_F8+%?)_#|Au6>EgPSP2BX4tr3~Htm44PFeOIkpb$-Y3mwJ(pAauQipzreN zM86)6jJpLmx+GGEJ1Xf(;BBDq5w;zR{LIBaaKp(PqBr$EKkesjI)K>k8HaW$&cCx( z*t1LT)WmUB^oeDp2rb*V28*++QDzHR8&AlPS?Qys!!3xU*m+hDv+N&__F`H!msK$ zC;D!^c@}eTZSVmdk!`$7HP5*;t-KqB9F>(s)!jxT)g(ILek`h| zgDw*`#w!+Mv>g2P78gfH<`FgS$lr6X&8c-}ZvdGuWumGa8yMg>%LJj$x7d8+AC{3g zD-&!eE(O*?+lOf9nfS!=&HaoYUK}*9W6$e6CzP~8 zjn4tc{W)Ost3?+|w8sT}N`YqLKh{6&2+^Pct`eRuB)&>%6ELOUyR}sLB-|*IF&Vi5 zBu!qZr9bR*#_doKh?S+xL7GFW6zK%3cy2Vx6f-_jlZu)KK-J_F0igY>WVuuu+A$Jo z+M@Qfqkx$*x9B2TXtkPT7|mxHhq+Tz9J&BHzp)&FBODfYo+v;;Ub_#D50untl@iAh zmZ_|#n?$|CWtMzUDta(~*(Fi3#b8$R=v(9QvI4J})Qa|cALTnAGh*78r?I)UfrkEh z?YZP1B>p)7sCR=V!xSy_Wp--lU6Tj!7oCwqp|Q(^h?T46ukYgct=0VQ3IV zw5ichbQc{K>GtS)J4gQ8`smY8Pby3>ypmkobm{4Qx$zj2woXYdz8_zLC+-fbE^r2O88HP;ezld|0Q=2y^~4TlgG16v3Odo*1QFl*s}crK?i zbmWO**ZUg^(QLsg-ew3D;&%K~kX0qC7$v96U=;ST8cx9@kT^9o`Hu;Ti0=wz1(#qXqt5?pgg|sJc2lMBSCE5NcmfuNceAGDbI?N{+`-Qy8&;K<0 z^FG>ilKL%f1e_s-pd$7s?$psgv%5P<%VTw?DZXFkvO zyI+tQsd-yUg0flir{whXw~TJTHjXqQY<7f69cwDvMFUS_`>YX zu3&lW*GxXYA~D_)&?bsZBf*><79-fs0edbI^Djp-kDN_v>R335&!9hfn07Jv3Qq@39!^I`xPd{E_0Iu7<1Cy`_wh3t`s#wSZc$0JhQ3 z`k*2wEDsYzoUL-p67t%R_hK)X7MiKyff2fOwz<*Dp`QS#gGf(@q^=F)Hh3LSr69u^ zJ`1vq4*v}{^*aKj-prQqBT0><02wZ{av4oI7j&jdkQ!l?OlFs01d-gA@rYp3E~1nT zEI>M$-U;NPHyPG|{HbF7aRW{+Z2Y(`p}m=qacsRrgQeX2+n;U$OMs7fy>9D#Hy*D6 zjh86&rPu1|(K>w~F#k(`Iq)YuyqyEVrYZ$EtE})e&N^0quV4$>ak$E-p0}C@^;J@_ z9!>!#m&_6sG{H*N=ElcD%S`GT+=G5(SQMkpKe1AaWtu@9vMlz_?)}R|yrK4?3vk8p z#+$E0?)#RKy^313kC%wqJ?279zO!Ek+_E`NNp&`OBLEbMWgN2O)l$arv z#EVtErSF{HW^Jo~KMb0PbzC$FQTg2GnD`lBD7hSY@DIfWkLPV{QktaY`JEh9hzVZQ zO;sV8l9YEj*o9*FGN6MQwq2;D<%{wKiHVM$i>Rhw z#+GacxSjj|Km@ll@bgFrE+_ZdD4NmSNX^O4F6v=WQ{DbfqPkHx&j@SB=>d<2omS;N zEj^E)F5ebGLZdZAWscap!N_{c8gl{xMZU^)Y)cnT?>P|{=Vp#>;##bR>qLZ?c-OxU zh)54nzhC&;PZhSqA{|6w_x2ire0xdexxmlN5$lKB9nNAd1noLm2Ah$2Qj_}NP7 z{T`@Uk0mxQCyQ*DSyZpIq9!0%-(%@_tkZJjLrV`OBSXueKh}8k38AN1&Rm;IoDAC7 zqOYs^1Aqa)FiYKfz8g+ex2u&RqY{Bhr3C}dhICJan zBQ+pg(6ccrvNPmxP+kr^1uMf8{hE)-9YJ*^`zrh#Ekw^2W}u4tmr*p_igI9}l1<-e zoT!`GKcQwU)!feUV4&0-Y=!3}Lt~{~U4;DLV9GHpQwyjaW_`JFCF)`D=zh-$mX{9* zt(borFk-2k!Z+F_HeeonS7BdIsi>mihKJ2Pa*%A7EGsaL@sMq`xbc*dItywIIH3TR z_l6b0c+4D`+5+Fu?UYb#;GZj9{@CW0750zZGQg=fmnfN0+}rVRiMRSmkXNKf;EdKd z@Ky?<@5g1yi_58kr=9kN%fa+K3z3?~Rz{c$Zd1YLk=0jkWnOxLQK&D*U_=fRoK-s~ z9U7vJ1)Ob4ZRykzo_{Y%Vx*B3;$-8)(;UY_PK)5#SBYMb?FR7kq{mymXj7Og2%eji zM9jM;H#3&7R7ETl^Cb#F9@A_#`g6|tTu=Qd>BFq#gKLbW?ZKI@p=7$ymkD%zUgixB z46_}X!2HJgo}989IsY5Z%s0ogvt(k$o{H)EtXr>9IUPK&i(TT{^8?7CsYDhegZ%;h z@KtGy9xQd0JJ7X>yzM&mlFjl^ZG3yqzq6Y(_D5FQh#GOrf`(W?$??~z{(xMMDWUL; z1z)`h@yP9lFXMAdbOxFHC0D9wp-X$Qmx_6KN*bR&XC4$eiGp`6i!3z2>(x&RPO=>(|h{;&wr80@WUnlg6; ztIWC#Q7iGu7wFRoq+M(A^9gnptc$x7mG_?OMd>>fk)@WMs4s(>oa3S*W*TIWT*_cx z+plcK+5t1^mY&~2UW9Mso3+R5*3jLotu9iZ^a$-kk!l51)rU2%>d3H|jyHj=7w5mi z5tx*u4=>H+d=d-HNLnzpsksP*dfl{jA+|rZYc%}nj!&aznww!AFh-fKd?6WIfT?Z4 zAV4^jK~-K4_W3(f?4b+|$O3}H=hA^O`J%&#&ZxN|L?hth zVo_*ah~Oe>StUYAd4N< z)uUZ9S8?>SPr2HdC!?I+*7@+$xpsk#X!K3A(z_Z+B%KEUJaan2Jr|n>K96~0y@R)! zaK!anxGRL~YC|Myb_%ZJ=}Ai-3x*^>lVW`yPg zM7PuMyWD&h1-Mn8-rcH0SCmWEDxH!I{Z>8KK<)DBq@wF`5nUj@nPiF#x9smrBmclz za@}5y=f`KPCz=k(>uFRI`MOyQw617ayt@zHn^c9tS~L~sC`ub}R&MX*mG4&pfBMXG zh|e~{G$Np@rxmB-{|+X2IRK=Z;`4VjxvQ8Hzz7MB)*!`R>g=xzC26|RhGFhMWJ&!Q6Pa4Iiz-`(pTi+Rb=!)C1qp1dVU%Ul^+C81`oB6$j_ zKte9U0R*G55VBE*2nGN&2)_+Z zW~51lf6vd5QnHlB;RQnf-M&4s%`%{t$1(E0AwZxQv=T3_H)_&sNTB3uk%n>v1W0Zy zHf)UJ`NUH+JdejhqI5EZvDDWyHjJ{c%87zQoUp=~xS0PWX$(h9W6G6DtfY9M7=S}) z*4>YG2^Pmq_LFTZqVx9n=rng@fYKh%^x)J{4zs1^G_*c(r_C6n_DN~%tM@4LwEWs=#O^kNt6f->iwlLH*;Im&h!$)uP+bvjVD{BB@l z6sr1jMr1)R0lga&BH zTrd7RAICxT`S&-oGC*8uV}oT9gZ!vFFxrGABwkTe+(Ae#<8;=`P={Y9LWCqO+xQ2Q zi#AM}yrF#`*rc>PyVr$IVlR!3Y#d!#B<|9lsWNMx{>>@OjENtN0b#}oEIr_Pt6TY? zTS9Y^Hl58@7_yi;wfk;poWpL(%$f4`-b-{jwBb|B$*0eyRI7jG0Z~Pb{O7v>{l`XX0!as#O;4$D!YA;|1I@TRQmmeId(4`bEdc}|P zmVHzc`94ZQ3;k8AJkVio8w}dQcthw?#L`);n{0kiYWkvnmUOXo5ioca0fb{ZI)WQL z+sejmlw>rm^Q%STdRCmgHFl|3#*(kqs}Npi5)PG4L*IyGQx#;vfZ6=0Ztyg#fzLPc zaeyXP$EOlHJ|(tF3?Wq7dm~;s9uFaSZ9O^b+6b0jQ3MYUo^b*BobEZO4ph!$^fo#Y zoahnel-}QNX28e+z%(n)g5hEQ?W4SFkKRrf8UJoDA}CYfp7$%6&6F}z-~D9cW-`Ra79~z zO5Wjse`cErcH0F{q%+7OY3?jwFdLf-Svdli8%729njE}WhK71T<3lB`V&Bd%&MifAUh3qo;Fkz!k98i8} zr)y&N4@sgt?htFVaro&i(^;{GUljjmYPsp{!0+gZBcGt%Vy6GAliV&q8#$IKXmiGM}Pphz=(3+8YLb#i<1BIVZSxQ2z z(J0+3UzvJ9hZZwSCz~6-e#G>_JH3nT0>^4yZlocrq-Qfhz*}+Q7u;~~3BNK$TT0rX ztv4JT7F+A5^XE*)&Rdevo=-0+#Ex47xE*@8k1@;^Ei2>y2ie-R10`?IV;{*dv02A{ zgpx55P74W8Ds%)8Qg7JD2csnBA&*SD(O1*2pIlW!QM6sgRLXw*DW zGczd}fG-Jq>fXaa5!&@0GCBRgY`G6~aizavV62+t!?ZmuOD8)eX6$sc6k@h^PWVmE zCdskm@8F;Sp;kswX1W7ikD{fzd*$snYsr@Iw|)L^oJ~|!D5Az!7KrGVo3Yk^vb7l- z;lDmS6#cPV;~&xg^CNj}!G*wwoyzbRuWk|uv7wAuNG1bJA}R9t{sTE1=-UZjcM7?Xsh<}XE!-_%_K<2_SnDY7zP`2xHXQR(u4 z$_1vbL_9tHWU!`;92)$pKz%ZXDWCG!YrR-%v$tkyXvgD225h<9J3&qqdE6%h?d_;Q zup8FB8>>Ta4kz0L=+GylRjw)s%^#OC1|n-090rr=l+qnMRzux861@%ISVzAmR*=nMa;K3a+K8l4-X zk^pV;Lc-HyOFR~^J;#85kNqRFOMmUSR9`dxkYdX!5mzt4D#1G!HJPRNMMEGH&JHcg zIZ2rpq4qH(7R+t^kg!?h;6+f?c}KXUnn)o|or<}+)0@ZZwY+dc@9Kz$wN?D0xvFrl z6XPRi_K2GIaU2t(Ydw8#ujFwY{3GF=AjgZ0mt`q8iUkUP%5G2rf)VooKTNyMVg%9T z*$F=mm|yLbQ7W-M-@0Jc)IV)MOfa%Cs&VQe!HTL0#x(A^SCMBLC9k(e+aX1Y%Ud zGZI+j^UvL-a}b&Sk4BxXYya||A$u6VMr+0=sh>Xt9liMVlOeQ)azKL|F@D}H)sJ^Z zz0LEm+2Q=_srll#-6h)lBB2$x-Qi2S(ow zM_uCaz|@NMTqkERO@Y3|)E<`T`ew*KZQ5_rEkWW(mj1jYJL^@+`+|f=Mz$k(0+mR!gSCcWGq-fv1&wOc3?+5;}yDK z&pqm^T5ALTae}sDlkmcu^~tY1vZlR`f3xQ5%pvZW5A7X*X;$#j+Cfi^y5S;?(Pf1 zIg%j(jx_YI-4-uY&dQ?)5F}G~CuVPODkY{YxKwO9ikVTW6kSupR@o){tgN_qa=PxR zr_d|jMRNlkFe+H`@%9LZ&m}|M?th5(pw+P)f>EZa@r*2~Pie5%GdBmF?VW<($+j^7 zxS!6X8KQJuNFa!fKQ0g5e_W90ba7Z3mX|BH!zgj(S>LBAF_svTx9B&`Q5^{LiE2C@ zazm_rluy=>-InpvRW%ReFQN!tHyi^~0>lsh=d<>R_>@VkV!HjDzJJsOf|8{*xLb<@ z=aK{MWJ~L-)zT=ZxZzg)mrydo8F^FFwV;0%il?aF=z+}Gf(=a(oTh7d@-ABX@o1kIo^F`xTmiS6(d+y3Wgwj4~ zx-Z?HCG9NAKo$OQA<5i7dER}rxqMEQ!%#Y!b@F;F@HCotxd)Mfm1{f$hbNObAoLv3qw1GzS`gA+8w*Fv|5Qn#nhwvfpG=2M0jT<4g4P0}YxCBcHSqvt;YSG#JnlU&Ye^MjceA^vH8W(@CWx8++aa&~ zMD#5^+YmboF!EXQV41Ezl8p;4l!l&!{SX8ooN$mMknfCqeDMHDwfz-X z0r53ejsU#k8CK4S)ztgR)J1L_PHa#Vk;e)Eht3W~Av#8RzK^*cp;8;6lfpaeNYJ2G zd^o^-+ZrXpc%Uqb1IULjF$r`@*{{LxWM^&Xc)p#*ho>UvF}yg7W$XAu+K7q)m;0ET zg8I@I+Z_)b8jlzC^(zxldl`qpF9jyN1jB}R)Us1VsUfR;_}WAcwTU|fwc(bqLu0c$ zb$HG(Yc!~9*S%TvE%KSLYi{X?^Ph4syqg@2`Y6+46zT@O<{uoGoy(_J*HO26Ul&rmof+N2uUtglKfCabLE$79g9u=Lgcv?a-1p>M0R zPuBp%3MYga6 zXF_1z((L-p6ivBxN9b96Sm z%z>8xfT8$mkmE7b$7>|w)nT@u>(81p>o2&+B@gw^4W_rM{odLyJL{vyc{vJ$KB3x{ z8?G`}`Oj{*FPeRTG@`dNIr@6N1M_*=2zuNAyWVAzKTLObNQaFL-}md>ZVcFj60@=P zUqhlle74-oolgIJF|w&z)b~28GlDv?Km7B1{B5GIPs%<~-WLVHsZ$#2lK%Gldue*q zMMrFcr(x-?MI*(s-WDqrEV^@?NI^k`mG8hmNq!$uZW97@qQ;6%DRr4|R@X(mdwD9~ zod7v17sJw4e~Rq=-&+qqNpJntXQXFv+l_VCU+V-%O+Y1G@@~)6ZI2Iv-|@juBnJ9W zw|%7OR1Ux2PiKy>09*mDzzhui3nJCl!B|`J0R;qGNY*2k^Sazc8wJ6yW7z!_btoTS z^@<5(m*@T-Doy?5|T^Y-8=2ZpI)!&_qAJNhIA2*r+-O820yo2h)VHtiE& zb203H!$7PME7?JUX67kwwtuqvE1qw9jiN+Xw^uN~`NwDMI+JqZ+Uyu5lcX)CvJwKp z(rfBarg}IAid@oL60@q3Dlb{{yrVNZd9nFbJaCYE=z?aB`>tU*mD#hSYqjT+}p5gFd#URw>?Fl z^zKzkyxrt0S%v9X*CkH&Dg@Bv-DI+JvR>38Q)c_#RpZAVHXUutF9Eh(abQMa`sD@k zVFZKndHO*L8kswa|osVND-8Zz*o)zjN4jX&kW z4%wY}3wM83fD4GB?TswUxs_+H`SMh~-W{uP?iShyF3UAFH2jWuwV|<{H=#LHN(QgD z;rhGEX_vSCFuNR6>#(@y_uPkMcv2?HbznA^dOAO(?=NrNVprgRZ|OKAzy$sB-a$>1 zH7{)9uKwvCIa73g(8y~Kjp*Ou6Bd5i^vkbmoDE?bvjpE{ZD7jKS*+N<`+)ajpo3pR z();mPp4ePg|G|F@wm<>hY`-5HC;;d48a>mns_xpH@BMOU&S2I<;BpGb zJN(SPhP~f-DJ-wn>xAdSt@ zbetT&{x4uUkTE=y4Ux|lJPVqx`O2!-f}|*qU;sW&?`s)jwg%5yTlbQ$OSlW!!ia&5 zXcoW8nDXO4>&NZ?cFa%tGOnnM8D~Zqtv|!`9S%?dJ3rs!RNfy&RdrPHxmoJX&Vqu9 zIrp<7_?cHqJ(Ur53$+igq|Cq3%UFmw#YLJQ(Iss6@}8vh!Z3y<(dK+6?vpE_vdqnW zFX5@na)s5j2Fz_AF!xG?uC6_M7Z-QYp+vZg3#&NE!SQ>Yo@4d^o z9qKKQ_@R0S=U*54nfiHJIhD9mnu;fq$xe-Vdj?ZCc(P2W;h^o8hdM^9S5gy; z19Y+)_l0dZ zjBbAsZGyr%h&PYab|&DE*WXHH4(wl9hFikPn8fkk}+@4Z-QzYlHH$g#{o zkHj1Fa2M3xyRYIa!gwq_lc*oqlK2D!2|I#3OoJ!uGVWltt(MytvIaqYky;X2ippj9 zSk`}$-Jvdp3UGZrshqrumTgE%D~8_uPlJbp9VyY`@Vn|U-ta%gEcNI3GGFxxm_N$_ zLin(u6~8ZZP)xA%@qkn)T-H{@W~rn$O8HxqI=(t=HXHO;zM_EJdC76QDia3$c3nU8 zNzK@oV1rJsxYsI(pJpx9oKA?#gMah1%dI$^5~mV%WLAG3Kbeaix|qw z)r-n12iwQmmlOzDqE96C(Z22)ptqJ1Ctp=Do8QOpN3@|`TW!~f5bLD?81<_**EfsO z?TR06HOV$J6|>{qa9n5pl$U+`vDG>lqi?PKI3nioVn&*C^dBvaMLgGN%U#r^5FnP1 zYLf^}B`G6URthpcbYVdy6{K1eiG2JFm$ykK>l^5-9q<`1QXG^ArKmVA&DY*&Ey$%W zJC@Yg{+pDLQ9a)D&B!qTsa$e~%q|%KH-)#_S%c#*_RE1J+mi)v4cKrJf#MS{D2>H& z6t*6)^qc!@7UUTJ@bjd|n$N@*081K6Qk@-tA}7RxB3jV8Khn1pJ%`aaFiD?7K*To7&!kOAFn_CC2PueY;;> zTAcmjS3@O7SpWSxG3b^&SX0aA!tdi2quB>f?Hg@ZQ~lh3C#dS z78;BzK`b0+Eil+?Z`2E1Z!A<;9)3YY80qI7M^I^ORV8QVi#I!)u4q>OKc<9O zqn{YFZP0r-yT87|zYhO;s4I7BmI(M34t=RV<@eb<+oVOq@5jTCUp#DeieT7U1Zafc z-RH=GVB(mdUf@|~sOp(q#IJmXHHuQNaA-NLOqjaPg&I1a)=wgDz*H0=WMEJ<^K)#w z&~RKxkIC=+%JKG`SEF}iB-AL6_*Zg@(8y0*J?0++zSaz(8p|a7mBBN$wIjMFXeHQ? z@Uf(YmQ)Hwxuh+8=Gx$m(xCscu^k^`)d4 zL?4$oWS;lTFW8tgw{!~P@0l~EONwKZXLL{nv;HZ7O!K2I7S0H+?%JI%e5O7q7XH|Z zt4&`35Q7#&wJ>VV-{^Ftd|0wg9P`AeU~(H@4%usBFfSzSui6S+~8FmYUo7&;|) zNGa900$#l^Xu>yjR9KX+g4!o7`pg&g_}B){EJp z`SB@9i*5^W;$Szt?TYQ+u*A(7D;F~$;O5w7xoVe@BO=q`waf2)S4HpsH^k%Y{6%`+ zcqN|g1RFR6{O{P(C%`|&D3Im!`NfcJ0&!SHhiV1&jfX?pub(CIVy_%?MXc4Vc}^sw zWnL0p6y5r+v!y+oGuT-1J}n~Ma~=+88h7X0u;((6RV?$f&g?sv>_S?td&L-q$3I`c zANly$w;h>?%^n_EV|Vym(L~3^h0IlX-k>?Dl6jkw2xOKa5`Yu>yN_;h;;Br6mYI=z)JZg!s)opn%pDuEF5h<;yfa%e7|P2w+u8W zznf|~Af2NO(mc2>mY4=(qo@IK;B74_OTGZfSVS{Yh}Bv825Qo~I|P(a8#g7oG#RI% zHHL0xBp%W#8S79dboeg9Mi0Ns)PX=JvwsesHh#S3N0G~qA2<>VKJKzdGfev}j_kMV z#%+=!o_SqDbxBB$IE-ss2VDA4dhHN;b@hzi(74bDeQ@A|_u!ujwaWCVF-Y$3>2D%V zH|3}zCc1oh@FtMdDb8ucf!7W4bTm>8?ReUE_PjRZJvydLAJ!a2Km64Nv$E}`Pw}62 z`zh%}_(|#HM4%gVQ{i-ybWz(NI^R(#9$Jm(h>I&lk*W;6k8z{_{LV;Ef+GFQ5_wVC4R;_R?6+Zvz5Gw^Lby?eQ*QR69>l=WD=4OSHj?_ zBBeLeaQ9>*S>zgqhMVUi zeH?8ZSl-O1!&lb1K~N%89zF+3&SV zu4~+DT%p@!iXM$Vs=$Ewq2^tq{u~nlTjDvTj+pA!MRTgf{HS&NfYooQN}e%<5*KEV zqE$}yXm^k|PA*)_rg-z)$vbA#or?HL1M0OvKaz&eMgtchMY8-*rV!Bm=3REwqT`!S zV%?`A9F@4OV{5%KiFL{KCP1Z*rKK-^K7 zOKLa(e$D>&?7pwZI;K7z)DB9;FyhCL9ZG_M^7?YTBOJ-=44Io2^oD#_Rold|B|F3< z9(OmPr<3((DG#f0tKFW57ysG2Psdzt8W@*5edai8G!Sh_J)<&EsP%ieFb=>ju$;d+ z^7#w$5keXqZN;Z?saJ6+pejNlh5?_HYE>j$!IO~`-Wp=CNt#10dSI}a0~`X!HK?cV zh=3h@>|hrXSpH`HAcifEQq5@LCHgQWh3hz!JsMEtqhIT5uPH9W_9md$VTA(S?~QmL zVWU&##A5#AlomNX*vqO&`MiMI+Bm6U;Tp{z4E_v!if;2ZwQ1Q5N$v~3}5=tw`byGxcTk> zofE_SGDWWFEMXg}$l50sztqB715nh4UC$b~&yL;c0-xev@=w8w8+_@|{!Yl#g6cT9 zaDad7(%|lWuH#BAruZT5pP!a>HSfvulRsKcYL~_NxuL`ZZ5$Xz#@YXnnFHBYJe;$N&tG0#Tlsn=;;bLZHD_AOd{zxDC$ zxDNWtqly}EanTS1MaeVr5It4jn&pdGvwd z3c+7oTw38N|0+hoHIi^1_|krc-SH~#FyZedPDnH-@VG6p7FKEjdt-R>EYQ0$>Qn%LMAb!w@eYs4i#7haj^lDx;BuxvxR)L|Y54(zmJ zFx_Kvs0KmF_Ovf3;-#uHqIz#lpY7bd$$(XFnTHIF7^7@MBs4O)e{`mpp$O4-aiZ!f z=SFs-2Jk}sAx%{jMgIP1=wjtT&^;WQ;7D-bC2|2{5^IvbPkl3W9W- z`wXL2^5~$RXznjMy>-}*<-wK)A~gI?=9d9Z1o(Z67H~lK;!*~-i3dPMw06w`E9jw9}m{kL!8`(XF4X!o)!>7Vmre~#Ch_6(lvH*hV;z@fzh%etfE|AEV*^l!bNbO58XN`)ef z9^0GVEj{KrZUBTEzc|P1U+OlnR*U7$hrn^dB3~L^okpEMDCXj)e5CsQ>d;u``}B=> zgtIc!E8f6u&|n2@rK^qfOwqNtuyf$e-1VTRM};&Q_VWGqI@oC!dd=Mc!81}BM}t(K zrwSTnCW>t6$eG#Zgl~kyow+yE!^LPdzI>>2?=-_cRSjv`^Dy-jZ#6JLW1yHRe$abN zPKbO-Gn7y&?+pIlgj{G@hX^vIU}8W)2nvkXb@A}A4%^QB>@}%+@USe_8Kf1c1Ub?U znT4fD$mqsY;cXzK^LoaZpiOTooWSqP%$Sfkis^Zh^eCuN7KN4w@g1^)^n6wz7>IUfS{UP+XJBou$KD!OO?J{&Oiqp^vP#_Y&z z2Bb_2cIVoxLk|>l7vsKr5oJsI;k&~%y*FvgI2+34 z2j!dahrW$hy+r~Qiob)4e0SN^MBaE0=J_ap2dx`n9>D%ux`xGvTA@<%~m6e z?}_>e62D09TMOPV^HB<^e!&q76KD4LZ9wOXC)M951wl+&&kj(l#yHjVTH35uttS9hzwVAKQ^~wxhkh_eyCFZqV{oRRQ&4(oJx{#JqCh zPJ#a77KF+<;bE29%_Ak#@!tvY?HF&@%KvXpe5cRcDLXrskT>!Du^B4?RndajacYPc z?^iOGZ!PcXj{-*5st)9Gb5T((jv=j`z3dW4+x63-^M0Acu4Fe~%2|1=h2EMY5Z9O;Ji2^RXXiPg8TEf5dggD0& z*wxop)dZo(#7kpDQROBx!D#MOF##Yk!>a_#Lr!|tw8Lw-kp+de3>&{^`P}dxRaAyb zHzHG#QDcmPRZ}GxSU=nq=A1~I+JGxNmIxlD_ObFt4=$Q%aK_@GITn`eL58ThbP?vC zgVh*&&%^nFj*h5p0q>ie7t3!_F^?QCN2||Bmx7Y(1i6aeg6tjaP$g^;NGxzP5Pu=k zn;O2QCpDm(U@kPT@MU~Ufy>zCm-)16#hW@GC9Yw>*E)_O{;t51*;Xz->7EJktB{=4 z;c)g6-k*tYl!?bmJWF;nt$AHH%70kGicH%A*!8Mb4l-y!%T&FXE#BEm~PRRqM!GU!}LqpEu5F4ELzR|ZcAA71HBJ%SA z?t7nZNgh8~#%p&MXM2U-InzzWHqNnUjRR57AHwh?mOT*H$hu!R*?nI2Kc;0EVXQuH z_Bic!jZVx0&%T~(rEL^>o32C@wKCfXArQ3Hx07P6NhFP1uytD8XdP}msQa|7P6V{A zs{M3^GqLI#f&Q?p4vtT$Oib<(C;!^q_eDNNS99d8STk`^&Wcy1)Bl$RFdE|A+Y;tI zlgcZx5he0zd?Z}*wUp;+`t`wZ?{K?iqJMzLMr`rY*-l*wsfb*8eW+7)(ZyTicggZ& zN^Fz)DGr9kqMi;VWCidSMe@1f6&C<+j@=zvE7hip&Aabie9Lmn4%%8jMeG-@fdio#C_=mh)k(v=9PB z7UAC}aY`U%%MA3Glp7@HYT7mmp4NY+zfgfaN&-X4MOP zDpNuUV#hKujD_|e{aG^on|)H@^m?P(SPsM-hacv6b0A6#N%02n@i~g$g!y*yAS$51 zugNNgyhHvxm#ZqYyldLQn6%i|8!y$#2-*dYb65}A*nm+$+h;%Z^!Tdiky8;}a0KAj z6HFL`=V=GSypG@qem(5l=;j!s1n0||THDdQ?|Nq0ZaON*1xz;oS`Matg6aP+aA=SW zi7I+RDQ+!-pw{;vMNro0P&DSPofArxeH6$+?bo)e{(C~4;>sIAq?G;iD=eWPY76%;NB~pie%+O^~u@G^o^<@9;v&9V=(C;L>1;S)| z?AQYQg2*eH8Zx!2qpF^_?|VksJ7sL++VQ0Z#Rua0J3o#4;$#Ik*vl%vR!Tzt|;d$tn+lsC>6A@i9hD0%X_1}*f zO9$&UGF1!O23&u}Kjpjqx$FcUMh&m;cf7Dbx~BA)a$WT_^Yzul%-^T!cmxUDWBb6h z;QE9(QM^2cpOH;*KFehIc~pjv3RYc&-)^>CjTn0?tmOW8v6v+bjOJ*`vJY$NzA{TW z*{rRMP6P)(U}TrDf5xND5~1UwWZxXQjgBh3z(W*tw?4*z7P=1cr*1cNQf}PALT*kD z&|rIbOZ%8JL~O8|iJvytF1rf`&%x`CB*`0f&mxuSg*zAa|KVxhFUj zQw2;8IKUb$1Rh$Yd!uQPDVSHo--yCNnaaz}=5mXQA_s>rOL4@Py~fbz%*AFm5=FgJ z%$qCJO?5LnvRQ2UW@2$--h_mN5~oVD;(mK1wrUt|dHioS3AUeK6=#y;Il7zFp|p?a zqp6pdYQ;_CDtX3;IAa&>8+#Re8MfxC52wGQy2C_tKO#b)ucT5y#Q1ts%j4@|7CpTs z1d2b`g)N!~$xyHn(Y0MnEu?WLsF3@!#3|B|f#O()m#H|XXSnmp@>gH)yBGRsc@p&q z%$=Wsz<{!|_hklTAZZb8LAdmFzLMhjm;s@sPs!}#wy6W^ai~fb0Vo-=Q}8tFeyxx7 z@W<`?g@lkVL~x{#;zOtvT(+vJDha{~d_disnuCLr_{RlAN&#m_Gu4GEf3yjS2D76n zB(3{VUe?NpZ^AkFdggRuz*8m}s{v1@1@VVKW%Dk-iQ4uMpCAWFClZ_O6Q!xA0qqfz zE^IVGrranwX~gy}3;H(}zZZ!acFtBF8R|oy6+L5!77z4N9&bc9v`PDw ziM{%AUjEODllL`O->s(9rn`=*g1_@iBCFja%BF6xsA_FH^xYw_NpuRNC3lzUf_a5O z)7QPhryg;r_ruc60KI1yd4%ximmHfL6}`d7wyZYpOJAfOUu4hYO^(WHzxv0k1>lt- z@ylI!r7ZG_>T>XdwIq?d5)9V@8dDzHm+wo!`ym=l)zi09C*#!i>^}^&Guug>OWTxc zeC>EvhtAQfP@sL6{osjrVL`DUGPGj)sz;^Z=0&{Z5XQFqqJVGu-JXtOBg+Q+WczxZ z!vW|OI3UOJlwV4m`B}h+2!3`H=pJMq9*d6 z{a|QQ5H1CaKZ-3WNGo+Yj5fy{gq$k}7jpg->_!I)#0D>nO8O8&O~EiRe#N}}vM?}2%Jvo z7xW<}Xk){;ZIC(|>)n74T!}rlc9)R2zjNGlAv3&yM82w1#yn~~m^j{w93&&~#wkBk zK<38{3@vlj)?;;Rt^eI5WTM$7!b78t9rP=Ert$^RM?Pg9t{k4*oGec&(28W52kyOc zaVWp8)|&u#14rn>78=26qxlh2Gk#rLcyn|Pv$~Sd1>A0V_y5vl_SrfAd;F1(jB@<6` zW9%V50%xL{6DlL~4w(NQ6!{S5HdkXU`3?MOgiL|r2rDyvXHvgiSdG1NXW-zfrP1naT=e)q~ z@zU_Yj;PxCgav7wQ3gmO%-Cvjlu~%`pLpKS|4@@Q6bgEr4TUXV4`y8VNRR%og9~w; z|3(5+Ek>t)8-1*YO%STzt<iE-fz4)mOz_C5vDg#vXor;rWyt66bPXy>X0nNa9P`#gUWdAdt2Hg#}UU&@4|;!rBQ=IpnR ztzXGR=4Vjrt(!4!ms((x0h$|oJLrBGPmp6Ddv8k!WEdsr7tqYA@z<5L*MBZ>2L0X* zx-3ZM0(gq_KAKbeH~?J~*02LB=~|~hp{2}~IFq^9X4vE$GLZ6^=(Q$BAfelg!3E!N zpMsD7RzV0u*rF3A$l5J8aFRnB0N+5T_JvFaggN>S4XRqm4NVPV6>Z=x<}xze z6C&uF31J$&Tf5KO`ztzncfh(pUbj>r@Xd~fC*-e_|>(?p<$=| ze8XsJH9u|GE|6LXy#pOc@`rS?d8kB_8>UD8^%RH4;xi|a1@LG&oKGp*ta#n;ngC)|g%F^-W(dEEf=(NtK68zH4< zIu>fZtv1%KAb0Z};cNrZrMQkiR(g$Woqxu`&K`@SEo)M4Z(-EW+5t77e{or6-oW5z zHl`4WxRGd`zYmqG>o@+bG^GhbmrBq)N?hj#&SkayLvQ06es5DH(W**lU#g>wj-w9= z1vw6!0vgT!Aa|c|90XAhKpK7j1)Rs0Mva{ z&J>~T{VN5){850DoWBG0?ix;jf*vA2EZs3BS7JlB_BS!dIE3l5(XgsD-5l`=eN--) zVYbz6W)4&W&=nMh0Nwa~)}(USso1WaR=^u?_NqHYqzT_{mhgp5UlLk-1i~6ly2VE? zAv~f2C4hvx@bC;-PvF_#waS^;Q?KJL|Ggkp^3$!Gak1Nq!rt)xd6JI(?p-Ym71K^g zM63f}3l2@5y_QO|M?ZD^Cf9oRQe9UFZCa5VCD^^7F|HyB;MbGeyv!CqRLp-Xk6@*= z+17@Q=+8nmUDbiNm(nJPQqbpDwWN*nCXCgN>(MF{zNNB=^~ySzEMQ2keDj_ zJ6XpzQXiH&Ngb;|^u_~AMp+cJhiYW5Pwnq4hFqoF94Ri{nPMWa8?hohFQkIb@nciw zJ3*M~$e)u|&vr$JLXVtCydJ*R9vvN_tope~Mq^-y5<7nFeh)&kyuP%W zF-XZKYnZuc(GB-IHeFGu8Z5v}u+NO(&yT=vkz+!E!l*C`uG}Y`oga!Igoo=Q*pZYkf%9WETctGa@ksL(^d2S>*pe zB=vH09t|dhPOzYOlL2fOYK6uiA}A3&__!O7a#z74P!jlmijx5oz<) zV}F-<#RLlz>c}BT^Cyy!GSwaa9zdpTDPfw#p^GRozsluE{5B&!y_-_k`|%~C5~i$@zuO*#NF`sq zL~)p-@xxLx#IYx^;TR{o$v3qbxTcr>68a-s+rwB+t?9-Xml+xA8LcV@byglMwc3L& zepDL@)~fFU`6)W_Gk;&FF@pS*u{p+k5tMmJ@OM>|UCQ}tgOE_cxVpBvmi(Q{VpZeP zj6v2&C8%G1oQre=^~8{MbyKZ!1a?xpyNBoU3Y*53gMVXRWwQK){xFT?<73GzlnYE8 zV-XMCN)lPSIAP3A2)jMaT^CN+HsQcRi8~_lBnpYC*dscI{E`4=nnc z0GFl*I1KlhFdmp9n@bLuV$)^teVTUBTiBrbV-RdcRbQcNyk|kJFIr*0=r|)X8ilP; zB(AyHnoL!wmG1YEm`L3(%EG={(N++g(>-scjeOmtDMa0^#end^^#^K{En*T%R~mfr z-O=y$`47%feUr~w$m--L`jJYoH|5$Y5>5Sm6N8@R5`2>Ep_wa-5+#0b3Y3{8?Szyl zkRQ;uwZg+3<2($5ky?Djw8XifEWSXa>m)j?I{spOuFKem-)ePR&4~nlj%o%DlbiZ` z;}T6P)wDy=1m~`+2)KP98_62>?KB1MKiq~%y4e4 zTE8~4hvZ=-rj-|&Wf6Q8H{@9>@mS}*+S;RsAQaicCBY!kb<2SnNA|jD6l4e3SykG_ zenAraWg;@JHgL&#`$-!7L_XF$8Z%}{*{cBpp5u+|m6LtDHpHyeKRBKm!Ed_cwtwv{^e=Obr5EPg3{MsKq^}x&`xy<37q&x{%s-s#vUbZ$36)q304hoA&B* z8?3)-KAR(U?CyuA5?$vcf2KA%bBvkI;LMaBCaP$KAO`6iVFYN7By4%dd_-RBJ65x{2tz!MNmfnI&Ef z=-xJ%Xn?P$#M=weX(`aa1m@5}mYyrq=5HKk&P6O4KkgsUlGGz-^S0kt4B#4E;cCDH zm@=}y+Vk&*cf|)HsWLyqCsG}n;7YKBPk3Rfogsj#IAA&*H1?FqpIPu$@2xCx$V3&d zXGrG|j#23GA^p#Nw;#^mu!S^!R?Dahot^ff>jIt|ZQ~3){>>E%gEmNs+z<|L9alM& z_4u;M&ZWcV#p@!jOprGhzYon&@V{RV36z&}S zin!<8U>l8cU;M2sSLml_zR1%C^=a~-u#ND2-v;|laV>1>#gMs!^CzSJI#l8s#KG_i zj1YkUz>NClgxZGZhMJv$O^80JN?tgZ3IZ43Y5287r zjQ$V`bsz{u*a!AiPD)Ck9s7wRy{~q6H_H&T3}3$Y8%@JXDUzG0{=9eG5fN`+LZcS}sh~`*_apFn3)}N`{{SZy6-ig5$ zABR;Jy;m3I7e+l?TpF97Cdjb1Ee$a_WjIE_U|ib#s0sPTui%qB`C#gJS43vZH%H5tS!ZhnQbwM}@tHbORNHDd_oC2q{Be5+tO60ay?R-Ma3A zpEnqqnbRNTY9P8Sv#R?TON)T+YoJa~%wc{WY3FLV6fj77k1A<`%wTu&TY3Q3h~}cT zKZ$ve@CMB^mBlY3X_&_U=1>ag`c;Up4afiGTrMprO0C=26*;|0s4r9K6N39UuM+-x zxBQg{wY4CqjlW9NkoSp(!TteP{Pj9!La+^?qrlrD1*&NUcg_#Bzo^68@u z--%j^%_XaYl(K)*D)x%lJL0Sfc*cyoP}BgL_jJf!7Zser~`Lx<(DDaz~se>#|>3I4%L{?Yq;r#xvs;zs6`kaFkx0nD}-F6oQEr+YLs++bP@7eAZn(HAfk=z9?N z4torHjm%9D@Tru-Ooxem#LrF8fU*gXkvO&IYLP4;G`%gaE)wgPMpm!G@l>fe)+s8; z@+_Tl!{w)I^#aVem%dMXH4>%~OpLw1q=qA~tO)~klyt-~;l-CLQrZ~F1 z`3qe=cmcy3uLMER7nM8jx^=rjbKUbh6HFYB0yixGkrMr(K$us>IYssVtM?GL{(-Qb z-d=v)Eub)d$Y8%3?)uN8lcR9U#=xa8LXj@R8Ck#AIFtsu zUfv$`(X)fw0{TF1(SHNTDt_&BHTA}UQ}rM}CuSsUIStVPyO&!JX-+E2&hln8g)DDa zZsHj1c?j2{o(VPwne1dDLZKUbSV`3IEbL!H!RD_oS7;wbOGUdBy5q|Oe(k{8^M?nb zl?>z{^rrBUNPvN640}ImE{x@p#D{J@j~dPPcWOTThE}Hkc;$~J(cB*G7cZV@6LK|+;nhYH7V7&*G_RK!F&$*ELY4b{)P1LFJH#ML(LR22X(7QipXh=SGU zlk4fc%+8q>t4BeN&I}P-(dTK=d7J!$$ErwqQWpz8=NGunzRlRi3mjXaCb=Wyre|jW zNX*#m>XMMMgNxNnC5zg(6xR!D6u60E-zj>BuB7R_Ve8fIAK*2-OZAHR``bvRTVA#J z)2G^wm&x@Bg1j{mciUj8*kj6;uRavA_kbDO2id9gY7Z>a;}a7%&CdI9$hzBqSDHw~ z{3~=a!?xKD&9|PNtHNS9^50+Gtos99RU5u6#PyDAvu82q6O<26EgY~epHpt+ zHvE>}YJjtDMxTq)Q9$Y$-fucXfGqZ2%6|*Lk7GV&KH= zzFwn}I1WTRCzr9?HmHuBy%vJRO!sCHC3nr}K6+DjE!Jn#i5iY1x9<6Rc7ku-euC^_ z1d7>BQ1@{kcCWjrL|WNYYm^ON?GzPpyI)7<@;4*A7uhgFQ;*9!ZmU8e{sG}lmf`}i zCTi6PRf1OE*9b|a93Jn#%;xgPet#o1X$}YcoZT7}rP+)Ws>L7Z5ip0>*dKpLKF8@3 zD~zr3De!kh-w^NMjredC&hQymzoua!pDJk?$r41!QA3|Sg;OTU^|S7V3ml1J;khL?_Bc)L|f{6D7d4 z_Sae&Z$k2*j&d~3bdilq;VeI(L>Y=H+)(glY4T1>I%r;;uRvjWN4R=6Nn%WZ1o!1(SX=^7W4#sC4huu?1*9bIg0 zCIL{q=AU4wE2=T)ZN+9TdhgSZq<@xf{_@qp};(B;&j%6)m-&_=6wB53k zwVkHIead1bnx&O1EB=aSM(7mqf%Y6;XcqTQgs)IGp}HPA*HhnWzCCOTRHF6#L8{qU z_4#xeWeF|n`Z;lT$B)Sv=d1XZ7PxS6N|#adR^_jLg0_H;_Gp+lDd%t{+lPJX_7?-A zs`{SK__VS^_?j_bR}B%~QzWEqe^2416dhP}4(9lC0x2mO%Bt_ZjrAOv*spXf)yo^OvIG49z+dkj zv|VV?oy{PlXX-B4C}hK*<^-g5(kG&-#VgPN_gt8}dm>vK?K#K7vtK@iZUO6r&Fus8 z0$9uw4~JY9wx$W9nrB#U`+6ql_naDCZUK9V4YivQ*dJAUFs6vJp*w`~PL!1r>6-Mu z45t<&xb@K~0&&3lLgXsay;plhU>cl_m66c~4YpDkA2;kf)O)*gOF>ZR33Q2gRT=;?V3D zQ=AB(Il84$zcyjJv%3QiXpo$|K=ww9@gvb!ZD?&7WI?odEYbD~<9y`XY@b--IIl2= zB%QMGae{8d<6H6j#M}7&qR%tt^#w2Ua36nGm3RyQ*16 zomE4I;1l**2t?XwR*15Am2_GD?oFT0>M_Z8(b>wG0vZUFQn^>NDc}`4ah(wV!^aB` zj?>1XWWPuw;VUAF!AzmY>b0`zQ55pd^Ffwo*~)CXZo9U>M-EB4qs~e%G*w5=U3l&0 zQ86{PzWz*Yomhc@^Jtg2vU}zz$nfVtpzSs==VzHnmO)r5enDPjt1Orc{0A5m2@D|U?I$p00 zzwHJe>hwTbJ5>){N|evMn*cG}#f#F1MRuwC=Rb`A=iG9Q6Mlxi8Nq2$d2&<%i{7F! zh}uwZ?QOqNKQ}8*(CGM5pX9o9tq%X?dn@|-BfXe<-7tC+Drj_L$}rBSjc@^!z{5*) zQ$Ke=Nc`4wajzURw?&pR_qO+ifmOR+L5XtKAPs+PEJo<#twTs)mxMJMQ&_}vLtCAB zHk4-F;7eLt5CjQJ{$lD$X)^^muwa^NYB5cW4$u9}yf_kiF+03}_UsYYGjo-RY0Lm- z=*}CZ^9IyYKBSN!o4wud$?5`(pgJM7?9jjMm+P4EV`WWjI6 z;18lGX8U5!4oxe_cS7HDNQCgW5`6kR9&Xt-;E}jHW))h>zrltMO1h0a7G7b9he-r- zI8x1g#-*%>?XR1z3yo8Tgw5&wpxS=gZ^lL=Z&a2;8U-ZVthbh_66OF)036mluP6T* zA}eimZNK^H)>qbKKQA`X2>SL9ccW<4aTf2`N2z>x`Hx=bvn?*XsuV)N<$l|=evx$f z8z-?5F0^S4hk~GAXW7(gRpGa^9iy_em2Q!P_Vgc zVchXfU`!8tkKcsEgqja=a zj&mcFQ?4_4C!?dy{>7qQt+GCnq(FJ&d@}EBp$(=nwikao+mf3vXYwvo-u%`@abOSK3 zZ4s%&d)`_nG*F=9qV2Cy65sL5X05@S_4RLP=z8-p)NJS{Kxp%ROytJTjVS9dis(@y z*3rK)4T-CZVmI4P(`2-_l?0Ef0FMc}`EZ;505w3Voy;8O)kP3u-lYxA6^L;Lvz!8~Cvqi*w=&<}v%X!$*n*c#!xH< z;(pC5;GASjc#*chzI@cxOV|}#81>%aj{y#O^Q7WcggHZ?XGMcgC0voL44@%1<)6|K zw67Y%w{_kJpmzd0FFVgAy&nTZG_<5Xf9_B~-1w%j0WE4Z1CUJK_f-`>4`thF-Th&N zSva!r9yz^DhMR6m2IaIBD%`iC_^h8@L?5we$#U}D>Wejf*lS12{AO5=4X@`GI)^u| zhDj4fZ)8uUKJUdBD{peji#B#rt_3>!&ng-cR{+$kzasB2$u(c0TwYafHBuWA? z6WSAG^MB{AW~6I5|Dt-{VGr^69dOo+BhG!`anKmDm-3PUA9T{0td4sHh`dHnARoOd zEuc6pk~dJkqb$Ddy#_23h4M%y=`?eAwTjJr*YW)JUoPzbEAG2vT-dGc*n#BGB?*t9 ziUt;P+Vv)B|2}Qiv+dBX_6#K2fd25aPpUsPq=Xs9Ugoz3t9L8 zer3;$!BxF`ZweA|x21SdM$mloCDDf;V6aitvn9*X4f(&Fzy zD;)9z7=a3NHybABG+%5rB}~G5K0CW9jQG}baduUD!zo;Y6-K9)G!Y$~hd)WPA7i3E#w2_B81!xf4 z@*C-;GSZ4@R_GAJj`Pn((WhNCZNY_F_!taBvS~+1ig>H2WbMZ6M>Mf{hHFq=YFLp# z*y84foV)GXj>oRQb7Mw%5=RA61_MJWQC|5Nibi~o*glOoDUV-oFE)%zBIAHK=nL!< zf>O8q>>d1BzPR5Wwf&u%GV^&~DOok2jdMS;@^0&3+$R()o0U9NTKp+TrTe}34Dqpg zz=KR!R#f!1jo6=qVBQ)=ulU}6JujoB#0K8(F!wzb!3QvlHVcQ57bZ)Fs&kM2;EG{F zx@UvJ1t61J|(_7K* zG*gQ;gKgqy#F4xFJF?yW{cI|AfY~!0V3CUKluGn58(&#`x%upS=YoLvy zvM>2tKegR+u!)zKaa_PUk1S6_sMWtIVN z!;jY6vzOzuq2MJ`z*cy1fED(5=+k(y(UEOH?I$S_9iC-j4b=JQ+JJQUnTr3f_?&E0rbQBhN^ z0)DXyXX#Q9KsR^`xcBZcWk0U|RaNzedrNgV!@8^A;RNMoGm*f zaUN+5H0Lbu%waeHk-P;N3^Kl}Ie1d`E3F$V5XClL-0>*2%#e;@udJ zs1>@m`y(he=Z1J*R!0qYUDIS4ToTiQsrFYgv8pz_d*c_b+s5yckZaLDXI`Q`!V=|h zMOqeRQ&B#SdN*ik`i_&JmH~b#?Nb)W_y1tQ1G#&6aLicUgrqH%dr{E2N4fv9VU`9{ z)%2GL#t>3R3RrwYe{^tBHBu>rsD7{>TMehbTC-1%uL?#R#`r~f!AX-2W*H~45Zy?d ztnrm7sdW#C{;q8v_s}L6drOgHCZn!?9wYvUHq=b_xysY>7|R@`sx~hi=ZlX1iCq0&${HxRkGKcN2AS3$Dv>qz3*8U>Gc+B&&y3Hs|(8* zOK8gJi9?FS76r;=mvP2^wgnXfntZ1AscOHSbG;3r9b;jjT7ftjcT#LURRN1iU_x&{ zp+xE`IL~kenoe-T-W*;!dy)4Unf3rYWWEyFI_O-AJvjs`b+z($rR#o}-vFTT5IRLP zBHAxNS#k@0Mdo-_fZT(vUkh=43h{?8li3=qPSd)UN8iLBbFGB=#0}u~kZUs{|$5>rybX$|Wa}4xRtkG(Dl{&vpDUp0xRf-=~^jf1xl| zy_e-mv}&XmgkNIGqx5gC^iQN=jd9%y(%P!t0&D_pAAM6<)Y(PWaiF_Ueu}1_`C)Tw zq&*7-$SZy3JNbv7rtjHROUv}b%-9(F1x$Y)b8N3!e3J(#QzorzjSd1?1(oJ&3%M(i zy>qZv8z}%Z@p4XRPZxY%VvhA|F*8}sv8$a{>n*}`l|b4XEhaD9>5(SD^j)T40IP(O7dKMq5E(V>X9!{u1wsp?asO55`@uESN*Qi94*c|^`x|r)ocZJ zE0Uq!IvS(9441DD6muP2h#%58S}Xh=b^B;p2mC16+D0l<`6-nbwo{0Wqv+KQ|#5*QZb7iBQ zlob`0%-!rz`cR0r=RV#K4*ckESzZ#XgSNC$){a)c0gScIrr4B} z2usmiK<$2xIpzO{vbTJQa__=Mw}?o0BQM zbf4MpIp_1cpHKH+@VnQwu3A630K1RQhQxJ=}YLeAS-WmbJ+^cQ56RD019wBq=|GcC5_UJpRU*cjXL;s@*K zh8pF$vZQGLQzSFI$XeuQAl7hF-se$IDGDTQ4tZ_;QcWc}WkyM}aO!R=g%fwE8|U_y zhv3sC3#R-~!5M<9Z&jQ{hl!FX5~BIc$I%6{4lhoN^;HO2D=1sJ`m-as4RX0Yc&`cV z`3*|B$wCq`x|yP!%5{!5xx*dP#O6e!!5?tmBaQv`dax?xJ7 zoU&k-M=6MV84%Ah#Pwt7cQ&VUd7j3g;EY0Wv?S?v;ZGZlz8bcmhUA;-_G)4ssmG(! zb6z2mZQ>hJ`?C2(uzW10#ohJmZaFq@a-B(I-{=5uzS=3^}95R$Awj0pi3#x%MP!y*f=)d4#z5BwY?4piqgH966N( zKvJlMXR7EF12*y0L5jKaTL)+(kWk>>hgQ-vp|<6f{x0ek+me> z_iM+?A0>~F|Lcx>j|pGOCrzH$|0D?a7J+!c*#PV-+zf4!RFHWR5{YidA#?CiNL}Ko zZ8fT(w}LxG%>sL#JJm%PG2Zi!3)5rQt)Mh-UF zG55&FB68L`*hL7#H0)!0>T;6q3RoOoQFm?oIe|-et zldU^!5Mq!3raQ2#qcL-3_VlJxpDeCUAJW)PI1`Bb5~Za4qw+pd8P-E|70M7*8W73z zPjKhJJs>51&BmrN@K;&^|AzQUZa?QEN(W#-##dD$HmMY~M&(k1L%0b$AN`8lZF?HU z%E~ZAcg1gWYKwXs9~`an^8+`>vutyXC!4lTjnJ>lg+t%K<+%=gOYFHHCXza z>bhxrpe!Vgel^8y8A-pvhqU~7mnp6wPxh#AVP2YvFLgnPA{M`>8X>$2huGQBcqWsf&txll zx_sa?1z1=j3ozz$dy&n01MX3V1x`vO66X>mw=i#gq*?~bdIwpnXqxCGmSchum3WI# zMLIY@!Ue!;R(q zINKi5rMfRqfX;F@Rz~V$`Ay?7L|Z^Gp?37A3FYDFdRpwL-S8weh{O@QHuT#WR=jO< z8O>-XOdC)r)AXCa&5sq~WS?Zh@LuTsYqU|~1b3BO*uc(L=Hvk2-K-du)#Rl^WRL%0 z_9PRDuFX=6;<;es$dQMz{dV*)LOMaQf&1s`p-yXaijA!&;f}@8^?=BOUXIWlbwiDNUV0Y=eyEul707 zJZ$fR5tzAoIz4tj+#`E0PF4sc+7LuGrs=heu6ye9r!7#Voy{>G(~ZLTEb`zzmZhJ^ zL^h=XPXhyLp)*?LOYYC4Jt<9FN4r;+&Oad=`KewW%#hyQIVRK1vo#Xv77sm}f&GxX z?=fztntPKK>)f3N^SSN$uE+eJejlm|4WuLh<5ad&H7DnRoZDZsiDCN+b;mczjHRt9 z-Sh6-)BNo;fu9%QBSMUq4l}#C*gv4LP9sur{`iG@@}*QyC9~H!BcxqxY~n=qxP`6! zxv34@;$jm@mGN_V;+fmHWXgaN(U&tj1~aRx6X%0A&RvAHrk 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 z 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

4-JMW;f7tK{Vom*REN2!K5Blg2-mTN9o=v!~9 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

_v;`j?BT)w(+t;ggFEgC$jX>u$EN`@FHquq8w<7 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

j>3M-z>kt4K9X1Wp)_R(kCJ*M=ct&Txynl6f)a4 zL51#qvU~KzMjj_PDmyMzM3q-|C;QJ6oaH3@P!-7}8lGCdBq6y`U!*^A{0gwq9Y``k z`Y4}eh4uM_)cfMOiZto8r3%3U5L-?;$BT_%RU@9#RhwQQMz(Rjq3C}f6;gqRPR_LL zIlW-6uK@k=sr!EH@P~Pp2YuL1eW{7coIZZ6umH!>z~3@R+Eil4;VU_SzvK0B-_oUD z%tZLAi+6v>%S=Z+gLS4dh%2?h*k+gL4Le_c^Qf+btv@Mu-^uHTtqzn#>Dy8`GFyo# z9EF2mjhok_Si`s3j92Au1JiJm&8T=!D?l|WN>=S2sm{CMAci4Z&^kswBeKF;$k@`? z{ZRXE)rH!ZG=s42KiTYG<3a!Pvo2!*8@$nbL?r;Pyi0$Dyw6xy)cyn@y1toAi!`B;$8RKfXzR{zd%EH1)cUdD{VslUylzEdm>$u;D#8}8%MHZ&oXXsk z8@YvtwjTS-SIbg4{@8r++zFfeJMO;V{lP8`AIj5u;2ZF5G#Y&jkX>BE@})KO=bY2w z{lt&W=Ph{`Q<0XN39ADOtOS<9RFv=aA9}{jpVT%Ms9BTTMB&9V&BN6 z3^=;&1S_ zg~tmh1hq(#M{O=+@jvfV2Ife$yD9yD^D15FI+Dspet%Vn5g_i$R$bwLp7KAT z&XuHf1f%Tx{g(Ux&1K*C?a!kxc(B2p9RGU`zsUfi3oU-TK|7hhQ0R9#Xjrckj1P_a zr)B&FH2x*i9~km4nf_pl|G%VZEx6L#aLbl0cYn$ccHzA-`_ is a modular edge and AI gateway for AI-native apps - built by the contributors of Envoy Proxy with the belief that: *Prompts are nuanced and opaque user requests, which require the same capabilities as traditional HTTP requests including secure handling, intelligent routing, robust observability, and integration with backend (API) diff --git a/docs/source/get_started/overview.rst b/docs/source/get_started/overview.rst index afa1936e..8ccdb9b8 100644 --- a/docs/source/get_started/overview.rst +++ b/docs/source/get_started/overview.rst @@ -3,7 +3,7 @@ Overview ============ -`Arch `_ is an AI-native proxy server and the universal data plane for AI - one that is natively designed to handle and process AI prompts, not just network traffic. +`Arch `_ is a modular edge and AI gateway for AI-native apps - one that is natively designed to handle and process prompts, not just network traffic. Built by contributors to the widely adopted `Envoy Proxy `_, Arch helps you move faster by handling the pesky *low-level* work in AI agent development—fast input clarification, intelligent agent routing, seamless prompt-to-tool integration, and unified LLM access and observability—all without locking you into a framework. diff --git a/docs/source/index.rst b/docs/source/index.rst index 13231a53..67cf3423 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -14,7 +14,7 @@ Welcome to Arch! Arch - Build fast, hyper-personalized agents with intelligent infra | Product Hunt -`Arch `_ is an AI-native proxy server and the universal data plane for AI - one that is natively designed to handle and process AI prompts, not just network traffic. +`Arch `_ is a modular edge and AI gateway for AI-native apps - one that is natively designed to handle and process prompts, not just network traffic. Built by contributors to the widely adopted `Envoy Proxy `_, Arch helps you move faster by handling the pesky *low-level* work in AI agent development—fast input clarification, intelligent agent routing, seamless prompt-to-tool integration, and unified LLM access and observability—all without locking you into a framework. From 2340a453539190d7ef2ae311bb8b1f445a8fb9bc Mon Sep 17 00:00:00 2001 From: Salman Paracha Date: Mon, 14 Jul 2025 21:20:23 -0700 Subject: [PATCH 02/13] chatgpt.com updated its backend api path. fixing (#530) --- .../chatgpt-preference-model-selector/public/manifest.json | 2 +- .../src/scripts/pageFetchOverride.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/demos/use_cases/chatgpt-preference-model-selector/public/manifest.json b/demos/use_cases/chatgpt-preference-model-selector/public/manifest.json index f116a427..73906406 100644 --- a/demos/use_cases/chatgpt-preference-model-selector/public/manifest.json +++ b/demos/use_cases/chatgpt-preference-model-selector/public/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "RouteGPT", - "version": "0.1.1", + "version": "0.1.2", "description": "RouteGPT: Smart Model Routing for ChatGPT.", "permissions": [ "storage" diff --git a/demos/use_cases/chatgpt-preference-model-selector/src/scripts/pageFetchOverride.js b/demos/use_cases/chatgpt-preference-model-selector/src/scripts/pageFetchOverride.js index 89230cb1..ba58f225 100644 --- a/demos/use_cases/chatgpt-preference-model-selector/src/scripts/pageFetchOverride.js +++ b/demos/use_cases/chatgpt-preference-model-selector/src/scripts/pageFetchOverride.js @@ -17,7 +17,7 @@ } // Only intercept conversation fetches - if (pathname === '/backend-api/conversation') { + if (pathname === '/backend-api/conversation' || pathname === '/backend-api/f/conversation') { console.log(`${TAG} matched → proxy via content script`); const { port1, port2 } = new MessageChannel(); From f819ee3507f90434036e528de45f28d2d3318ac2 Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Thu, 17 Jul 2025 13:41:58 -0700 Subject: [PATCH 03/13] pass model name in header when a route is selected when using usage preferences (#531) --- .../src/handlers/chat_completions.rs | 26 +-- crates/brightstaff/src/router/llm_router.rs | 26 ++- crates/brightstaff/src/router/router_model.rs | 6 +- .../brightstaff/src/router/router_model_v1.rs | 209 ++++++++++-------- 4 files changed, 150 insertions(+), 117 deletions(-) diff --git a/crates/brightstaff/src/handlers/chat_completions.rs b/crates/brightstaff/src/handlers/chat_completions.rs index 89c9ee13..614acb66 100644 --- a/crates/brightstaff/src/handlers/chat_completions.rs +++ b/crates/brightstaff/src/handlers/chat_completions.rs @@ -104,7 +104,7 @@ pub async fn chat_completions( debug!("usage preferences from request: {:?}", usage_preferences); - let mut determined_route = match router_service + let determined_model = match router_service .determine_route( &chat_completion_request.messages, trace_parent.clone(), @@ -121,14 +121,17 @@ pub async fn chat_completions( } }; - if determined_route.is_none() { - debug!("No LLM model selected, using default from request"); - determined_route = Some(chat_completion_request.model.clone()); - } - info!( - "sending request to llm provider: {} with llm model: {:?}", - llm_provider_endpoint, determined_route + "sending request to llm provider: {} determined_model: {:?}, model from request: {}", + llm_provider_endpoint, determined_model, chat_completion_request.model + ); + + request_headers.insert( + ARCH_PROVIDER_HINT_HEADER, + header::HeaderValue::from_str( + &determined_model.unwrap_or(chat_completion_request.model.clone()), + ) + .unwrap(), ); if let Some(trace_parent) = trace_parent { @@ -138,13 +141,6 @@ pub async fn chat_completions( ); } - if let Some(selected_route) = determined_route { - request_headers.insert( - ARCH_PROVIDER_HINT_HEADER, - header::HeaderValue::from_str(&selected_route).unwrap(), - ); - } - let chat_request_parsed_bytes = serde_json::to_string(&chat_request_user_preferences_removed).unwrap(); diff --git a/crates/brightstaff/src/router/llm_router.rs b/crates/brightstaff/src/router/llm_router.rs index c1320c66..a20bf7c4 100644 --- a/crates/brightstaff/src/router/llm_router.rs +++ b/crates/brightstaff/src/router/llm_router.rs @@ -1,4 +1,4 @@ -use std::sync::Arc; +use std::{collections::HashMap, sync::Arc}; use common::{ configuration::{LlmProvider, ModelUsagePreference, RoutingPreference}, @@ -48,9 +48,14 @@ impl RouterService { .cloned() .collect::>(); - let llm_routes: Vec = providers_with_usage + let llm_routes: HashMap> = providers_with_usage .iter() - .flat_map(|provider| provider.routing_preferences.clone().unwrap_or_default()) + .filter_map(|provider| { + provider + .routing_preferences + .as_ref() + .map(|prefs| (provider.name.clone(), prefs.clone())) + }) .collect(); let router_model = Arc::new(router_model_v1::RouterModelV1::new( @@ -151,21 +156,22 @@ impl RouterService { if let Some(ContentType::Text(content)) = &chat_completion_response.choices[0].message.content { - let route_name = self.router_model.parse_response(content)?; + let parsed_response = self + .router_model + .parse_response(content, &usage_preferences)?; info!( "router response: {}, selected_model: {:?}, response time: {}ms", content.replace("\n", "\\n"), - route_name, + parsed_response, router_response_time.as_millis() ); - if let Some(ref route) = route_name { - if route == "other" { - return Ok(None); - } + if let Some(ref route) = parsed_response { + // return model name if route is found + return Ok(Some(route.1.clone())); } - Ok(route_name) + Ok(None) } else { Ok(None) } diff --git a/crates/brightstaff/src/router/router_model.rs b/crates/brightstaff/src/router/router_model.rs index dafa8776..ec0c1a1f 100644 --- a/crates/brightstaff/src/router/router_model.rs +++ b/crates/brightstaff/src/router/router_model.rs @@ -16,6 +16,10 @@ pub trait RouterModel: Send + Sync { messages: &[Message], usage_preferences: &Option>, ) -> ChatCompletionsRequest; - fn parse_response(&self, content: &str) -> Result>; + fn parse_response( + &self, + content: &str, + usage_preferences: &Option>, + ) -> Result>; fn get_model_name(&self) -> String; } diff --git a/crates/brightstaff/src/router/router_model_v1.rs b/crates/brightstaff/src/router/router_model_v1.rs index 0dcefff6..dc0e1563 100644 --- a/crates/brightstaff/src/router/router_model_v1.rs +++ b/crates/brightstaff/src/router/router_model_v1.rs @@ -1,3 +1,5 @@ +use std::collections::HashMap; + use common::{ configuration::{ModelUsagePreference, RoutingPreference}, consts::{SYSTEM_ROLE, TOOL_ROLE, USER_ROLE}, @@ -32,21 +34,30 @@ Based on your analysis, provide your response in the following JSON formats if y pub type Result = std::result::Result; pub struct RouterModelV1 { llm_route_json_str: String, + llm_route_to_model_map: HashMap, routing_model: String, max_token_length: usize, } impl RouterModelV1 { pub fn new( - llm_routes: Vec, + llm_routes: HashMap>, routing_model: String, max_token_length: usize, ) -> Self { + let llm_route_values: Vec = + llm_routes.values().flatten().cloned().collect(); let llm_route_json_str = - serde_json::to_string(&llm_routes).unwrap_or_else(|_| "[]".to_string()); + serde_json::to_string(&llm_route_values).unwrap_or_else(|_| "[]".to_string()); + let llm_route_to_model_map: HashMap = llm_routes + .iter() + .flat_map(|(model, prefs)| prefs.iter().map(|pref| (pref.name.clone(), model.clone()))) + .collect(); + RouterModelV1 { routing_model, max_token_length, llm_route_json_str, + llm_route_to_model_map, } } } @@ -171,20 +182,51 @@ impl RouterModel for RouterModelV1 { } } - fn parse_response(&self, content: &str) -> Result> { + fn parse_response( + &self, + content: &str, + usage_preferences: &Option>, + ) -> Result> { if content.is_empty() { return Ok(None); } let router_resp_fixed = fix_json_response(content); let router_response: LlmRouterResponse = serde_json::from_str(router_resp_fixed.as_str())?; - let selected_llm = router_response.route.unwrap_or_default().to_string(); + let selected_route = router_response.route.unwrap_or_default().to_string(); - if selected_llm.is_empty() { + if selected_route.is_empty() || selected_route == "other" { return Ok(None); } - Ok(Some(selected_llm)) + if let Some(usage_preferences) = usage_preferences { + // If usage preferences are defined, we need to find the model that matches the selected route + let matching_preference = usage_preferences + .iter() + .find(|pref| pref.name == selected_route); + + if let Some(preference) = matching_preference { + return Ok(Some((selected_route, preference.model.clone()))); + } else { + warn!( + "No matching model found for route: {}, usage preferences: {:?}", + selected_route, usage_preferences + ); + return Ok(None); + } + } + + // If no usage preferences are defined, we return the route with the routing model + if let Some(model) = self.llm_route_to_model_map.get(&selected_route).cloned() { + return Ok(Some((selected_route, model))); + } + + warn!( + "No model found for route: {}, router model preferences: {:?}", + selected_route, self.llm_route_to_model_map + ); + + Ok(None) } fn get_model_name(&self) -> String { @@ -235,7 +277,7 @@ mod tests { You are a helpful assistant designed to find the best suited route. You are provided with route description within XML tags: -[{"name":"Image generation","description":"generating image"},{"name":"image conversion","description":"convert images to provided format"},{"name":"image search","description":"search image"},{"name":"Audio Processing","description":"Analyzing and interpreting audio input including speech, music, and environmental sounds"},{"name":"Speech Recognition","description":"Converting spoken language into written text"}] +[{"name":"Image generation","description":"generating image"}] @@ -251,15 +293,13 @@ Based on your analysis, provide your response in the following JSON formats if y {"route": "route_name"} "#; let routes_str = r#" - [ - {"name": "Image generation", "description": "generating image"}, - {"name": "image conversion", "description": "convert images to provided format"}, - {"name": "image search", "description": "search image"}, - {"name": "Audio Processing", "description": "Analyzing and interpreting audio input including speech, music, and environmental sounds"}, - {"name": "Speech Recognition", "description": "Converting spoken language into written text"} - ] + { + "gpt-4o": [ + {"name": "Image generation", "description": "generating image"} + ] + } "#; - let llm_routes = serde_json::from_str::>(routes_str).unwrap(); + let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); @@ -310,15 +350,13 @@ Based on your analysis, provide your response in the following JSON formats if y {"route": "route_name"} "#; let routes_str = r#" - [ - {"name": "Image generation", "description": "generating image"}, - {"name": "image conversion", "description": "convert images to provided format"}, - {"name": "image search", "description": "search image"}, - {"name": "Audio Processing", "description": "Analyzing and interpreting audio input including speech, music, and environmental sounds"}, - {"name": "Speech Recognition", "description": "Converting spoken language into written text"} - ] + { + "gpt-4o": [ + {"name": "Image generation", "description": "generating image"} + ] + } "#; - let llm_routes = serde_json::from_str::>(routes_str).unwrap(); + let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); @@ -358,7 +396,7 @@ Based on your analysis, provide your response in the following JSON formats if y You are a helpful assistant designed to find the best suited route. You are provided with route description within XML tags: -[{"name":"Image generation","description":"generating image"},{"name":"image conversion","description":"convert images to provided format"},{"name":"image search","description":"search image"},{"name":"Audio Processing","description":"Analyzing and interpreting audio input including speech, music, and environmental sounds"},{"name":"Speech Recognition","description":"Converting spoken language into written text"}] +[{"name":"Image generation","description":"generating image"}] @@ -375,15 +413,13 @@ Based on your analysis, provide your response in the following JSON formats if y "#; let routes_str = r#" - [ - {"name": "Image generation", "description": "generating image"}, - {"name": "image conversion", "description": "convert images to provided format"}, - {"name": "image search", "description": "search image"}, - {"name": "Audio Processing", "description": "Analyzing and interpreting audio input including speech, music, and environmental sounds"}, - {"name": "Speech Recognition", "description": "Converting spoken language into written text"} - ] + { + "gpt-4o": [ + {"name": "Image generation", "description": "generating image"} + ] + } "#; - let llm_routes = serde_json::from_str::>(routes_str).unwrap(); + let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), 235); @@ -419,7 +455,7 @@ Based on your analysis, provide your response in the following JSON formats if y You are a helpful assistant designed to find the best suited route. You are provided with route description within XML tags: -[{"name":"Image generation","description":"generating image"},{"name":"image conversion","description":"convert images to provided format"},{"name":"image search","description":"search image"},{"name":"Audio Processing","description":"Analyzing and interpreting audio input including speech, music, and environmental sounds"},{"name":"Speech Recognition","description":"Converting spoken language into written text"}] +[{"name":"Image generation","description":"generating image"}] @@ -436,15 +472,14 @@ Based on your analysis, provide your response in the following JSON formats if y "#; let routes_str = r#" - [ - {"name": "Image generation", "description": "generating image"}, - {"name": "image conversion", "description": "convert images to provided format"}, - {"name": "image search", "description": "search image"}, - {"name": "Audio Processing", "description": "Analyzing and interpreting audio input including speech, music, and environmental sounds"}, - {"name": "Speech Recognition", "description": "Converting spoken language into written text"} - ] + { + "gpt-4o": [ + {"name": "Image generation", "description": "generating image"} + ] + } "#; - let llm_routes = serde_json::from_str::>(routes_str).unwrap(); + let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), 200); @@ -480,7 +515,7 @@ Based on your analysis, provide your response in the following JSON formats if y You are a helpful assistant designed to find the best suited route. You are provided with route description within XML tags: -[{"name":"Image generation","description":"generating image"},{"name":"image conversion","description":"convert images to provided format"},{"name":"image search","description":"search image"},{"name":"Audio Processing","description":"Analyzing and interpreting audio input including speech, music, and environmental sounds"},{"name":"Speech Recognition","description":"Converting spoken language into written text"}] +[{"name":"Image generation","description":"generating image"}] @@ -497,15 +532,13 @@ Based on your analysis, provide your response in the following JSON formats if y "#; let routes_str = r#" - [ - {"name": "Image generation", "description": "generating image"}, - {"name": "image conversion", "description": "convert images to provided format"}, - {"name": "image search", "description": "search image"}, - {"name": "Audio Processing", "description": "Analyzing and interpreting audio input including speech, music, and environmental sounds"}, - {"name": "Speech Recognition", "description": "Converting spoken language into written text"} - ] + { + "gpt-4o": [ + {"name": "Image generation", "description": "generating image"} + ] + } "#; - let llm_routes = serde_json::from_str::>(routes_str).unwrap(); + let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), 230); @@ -549,7 +582,7 @@ Based on your analysis, provide your response in the following JSON formats if y You are a helpful assistant designed to find the best suited route. You are provided with route description within XML tags: -[{"name":"Image generation","description":"generating image"},{"name":"image conversion","description":"convert images to provided format"},{"name":"image search","description":"search image"},{"name":"Audio Processing","description":"Analyzing and interpreting audio input including speech, music, and environmental sounds"},{"name":"Speech Recognition","description":"Converting spoken language into written text"}] +[{"name":"Image generation","description":"generating image"}] @@ -565,15 +598,13 @@ Based on your analysis, provide your response in the following JSON formats if y {"route": "route_name"} "#; let routes_str = r#" - [ - {"name": "Image generation", "description": "generating image"}, - {"name": "image conversion", "description": "convert images to provided format"}, - {"name": "image search", "description": "search image"}, - {"name": "Audio Processing", "description": "Analyzing and interpreting audio input including speech, music, and environmental sounds"}, - {"name": "Speech Recognition", "description": "Converting spoken language into written text"} - ] + { + "gpt-4o": [ + {"name": "Image generation", "description": "generating image"} + ] + } "#; - let llm_routes = serde_json::from_str::>(routes_str).unwrap(); + let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); @@ -619,7 +650,7 @@ Based on your analysis, provide your response in the following JSON formats if y You are a helpful assistant designed to find the best suited route. You are provided with route description within XML tags: -[{"name":"Image generation","description":"generating image"},{"name":"image conversion","description":"convert images to provided format"},{"name":"image search","description":"search image"},{"name":"Audio Processing","description":"Analyzing and interpreting audio input including speech, music, and environmental sounds"},{"name":"Speech Recognition","description":"Converting spoken language into written text"}] +[{"name":"Image generation","description":"generating image"}] @@ -635,15 +666,13 @@ Based on your analysis, provide your response in the following JSON formats if y {"route": "route_name"} "#; let routes_str = r#" - [ - {"name": "Image generation", "description": "generating image"}, - {"name": "image conversion", "description": "convert images to provided format"}, - {"name": "image search", "description": "search image"}, - {"name": "Audio Processing", "description": "Analyzing and interpreting audio input including speech, music, and environmental sounds"}, - {"name": "Speech Recognition", "description": "Converting spoken language into written text"} - ] + { + "gpt-4o": [ + {"name": "Image generation", "description": "generating image"} + ] + } "#; - let llm_routes = serde_json::from_str::>(routes_str).unwrap(); + let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); @@ -712,56 +741,54 @@ Based on your analysis, provide your response in the following JSON formats if y #[test] fn test_parse_response() { let routes_str = r#" -[ - {"name": "Image generation", "description": "generating image"}, - {"name": "image conversion", "description": "convert images to provided format"}, - {"name": "image search", "description": "search image"}, - {"name": "Audio Processing", "description": "Analyzing and interpreting audio input including speech, music, and environmental sounds"}, - {"name": "Speech Recognition", "description": "Converting spoken language into written text"} -] -"#; - let llm_routes = serde_json::from_str::>(routes_str).unwrap(); + { + "gpt-4o": [ + {"name": "Image generation", "description": "generating image"} + ] + } + "#; + let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); let router = RouterModelV1::new(llm_routes, "test-model".to_string(), 2000); // Case 1: Valid JSON with non-empty route - let input = r#"{"route": "route1"}"#; - let result = router.parse_response(input).unwrap(); - assert_eq!(result, Some("route1".to_string())); + let input = r#"{"route": "Image generation"}"#; + let result = router.parse_response(input, &None).unwrap(); + assert_eq!(result, Some(("Image generation".to_string(), "gpt-4o".to_string()))); // Case 2: Valid JSON with empty route let input = r#"{"route": ""}"#; - let result = router.parse_response(input).unwrap(); + let result = router.parse_response(input, &None).unwrap(); assert_eq!(result, None); // Case 3: Valid JSON with null route let input = r#"{"route": null}"#; - let result = router.parse_response(input).unwrap(); + let result = router.parse_response(input, &None).unwrap(); assert_eq!(result, None); // Case 4: JSON missing route field let input = r#"{}"#; - let result = router.parse_response(input).unwrap(); + let result = router.parse_response(input, &None).unwrap(); assert_eq!(result, None); // Case 4.1: empty string let input = r#""#; - let result = router.parse_response(input).unwrap(); + let result = router.parse_response(input, &None).unwrap(); assert_eq!(result, None); // Case 5: Malformed JSON let input = r#"{"route": "route1""#; // missing closing } - let result = router.parse_response(input); + let result = router.parse_response(input, &None); assert!(result.is_err()); // Case 6: Single quotes and \n in JSON - let input = "{'route': 'route2'}\\n"; - let result = router.parse_response(input).unwrap(); - assert_eq!(result, Some("route2".to_string())); + let input = "{'route': 'Image generation'}\\n"; + let result = router.parse_response(input, &None).unwrap(); + assert_eq!(result, Some(("Image generation".to_string(), "gpt-4o".to_string()))); // Case 7: Code block marker - let input = "```json\n{\"route\": \"route1\"}\n```"; - let result = router.parse_response(input).unwrap(); - assert_eq!(result, Some("route1".to_string())); + let input = "```json\n{\"route\": \"Image generation\"}\n```"; + let result = router.parse_response(input, &None).unwrap(); + assert_eq!(result, Some(("Image generation".to_string(), "gpt-4o".to_string()))); } } From 83f4d334345f27e6c796f0a2de762754e11ab1e5 Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Thu, 17 Jul 2025 16:00:04 -0700 Subject: [PATCH 04/13] refactor logging in brightstaff (#532) refactor logs, move unnecessary info log statements to debug and start logging latest chat completion message to log --- .../src/handlers/chat_completions.rs | 60 +++++++++++++------ crates/brightstaff/src/main.rs | 2 +- crates/brightstaff/src/router/llm_router.rs | 11 ++-- 3 files changed, 49 insertions(+), 24 deletions(-) diff --git a/crates/brightstaff/src/handlers/chat_completions.rs b/crates/brightstaff/src/handlers/chat_completions.rs index 614acb66..bd5cab79 100644 --- a/crates/brightstaff/src/handlers/chat_completions.rs +++ b/crates/brightstaff/src/handlers/chat_completions.rs @@ -27,6 +27,7 @@ pub async fn chat_completions( router_service: Arc, llm_provider_endpoint: String, ) -> Result>, hyper::Error> { + let request_path = request.uri().path().to_string(); let mut request_headers = request.headers().clone(); let chat_request_bytes = request.collect().await?.to_bytes(); @@ -61,20 +62,15 @@ pub async fn chat_completions( // remove metadata from the request let mut chat_request_user_preferences_removed = chat_request_parsed; if let Some(metadata) = chat_request_user_preferences_removed.get_mut("metadata") { - info!("Removing metadata from request"); + debug!("Removing metadata from request"); if let Some(m) = metadata.as_object_mut() { m.remove("archgw_preference_config"); - info!("Removed archgw_preference_config from metadata"); + debug!("Removed archgw_preference_config from metadata"); } - // metadata.as_object_mut().map(|m| { - // m.remove("archgw_preference_config"); - // info!("Removed archgw_preference_config from metadata"); - // }); - // if metadata is empty, remove it if metadata.as_object().map_or(false, |m| m.is_empty()) { - info!("Removing empty metadata from request"); + debug!("Removing empty metadata from request"); chat_request_user_preferences_removed .as_object_mut() .map(|m| m.remove("metadata")); @@ -102,9 +98,33 @@ pub async fn chat_completions( .as_ref() .and_then(|s| serde_yaml::from_str(s).ok()); + let latest_message_for_log = + chat_completion_request + .messages + .last() + .map_or("None".to_string(), |msg| { + msg.content.as_ref().map_or("None".to_string(), |content| { + content.to_string().replace('\n', "\\n") + }) + }); + + const MAX_MESSAGE_LENGTH: usize = 50; + let latest_message_for_log = if latest_message_for_log.len() > MAX_MESSAGE_LENGTH { + format!("{}...", &latest_message_for_log[..MAX_MESSAGE_LENGTH]) + } else { + latest_message_for_log + }; + + info!( + "request received, request type: chat_completion, usage preferences from request: {}, request path: {}, latest message: {}", + usage_preferences.is_some(), + request_path, + latest_message_for_log + ); + debug!("usage preferences from request: {:?}", usage_preferences); - let determined_model = match router_service + let model_name = match router_service .determine_route( &chat_completion_request.messages, trace_parent.clone(), @@ -112,7 +132,16 @@ pub async fn chat_completions( ) .await { - Ok(route) => route, + Ok(route) => match route { + Some((_, model_name)) => model_name, + None => { + debug!( + "No route determined, using default model from request: {}", + chat_completion_request.model + ); + chat_completion_request.model.clone() + } + }, Err(err) => { let err_msg = format!("Failed to determine route: {}", err); let mut internal_error = Response::new(full(err_msg)); @@ -121,17 +150,14 @@ pub async fn chat_completions( } }; - info!( - "sending request to llm provider: {} determined_model: {:?}, model from request: {}", - llm_provider_endpoint, determined_model, chat_completion_request.model + debug!( + "sending request to llm provider: {}, with model hint: {}", + llm_provider_endpoint, model_name ); request_headers.insert( ARCH_PROVIDER_HINT_HEADER, - header::HeaderValue::from_str( - &determined_model.unwrap_or(chat_completion_request.model.clone()), - ) - .unwrap(), + header::HeaderValue::from_str(&model_name).unwrap(), ); if let Some(trace_parent) = trace_parent { diff --git a/crates/brightstaff/src/main.rs b/crates/brightstaff/src/main.rs index 4e4f18b7..dbcc9124 100644 --- a/crates/brightstaff/src/main.rs +++ b/crates/brightstaff/src/main.rs @@ -156,7 +156,7 @@ async fn main() -> Result<(), Box> { }); tokio::task::spawn(async move { - info!("Accepted connection from {:?}", peer_addr); + debug!("Accepted connection from {:?}", peer_addr); if let Err(err) = http1::Builder::new() // .serve_connection(io, service_fn(chat_completion)) .serve_connection(io, service) diff --git a/crates/brightstaff/src/router/llm_router.rs b/crates/brightstaff/src/router/llm_router.rs index a20bf7c4..fc6d9365 100644 --- a/crates/brightstaff/src/router/llm_router.rs +++ b/crates/brightstaff/src/router/llm_router.rs @@ -78,7 +78,7 @@ impl RouterService { messages: &[Message], trace_parent: Option, usage_preferences: Option>, - ) -> Result> { + ) -> Result> { if !self.llm_usage_defined { return Ok(None); } @@ -87,7 +87,7 @@ impl RouterService { .router_model .generate_request(messages, &usage_preferences); - info!( + debug!( "sending request to arch-router model: {}, endpoint: {}", self.router_model.get_model_name(), self.router_url @@ -160,15 +160,14 @@ impl RouterService { .router_model .parse_response(content, &usage_preferences)?; info!( - "router response: {}, selected_model: {:?}, response time: {}ms", + "arch-router determined route: {}, selected_model: {:?}, response time: {}ms", content.replace("\n", "\\n"), parsed_response, router_response_time.as_millis() ); - if let Some(ref route) = parsed_response { - // return model name if route is found - return Ok(Some(route.1.clone())); + if let Some(ref parsed_response) = parsed_response { + return Ok(Some(parsed_response.clone())); } Ok(None) From 79a62fffe836676767da03afd1081022071da53b Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Mon, 21 Jul 2025 10:09:22 -0700 Subject: [PATCH 05/13] release 0.3.5 (#534) --- .github/workflows/e2e_archgw.yml | 2 +- .../workflows/e2e_test_currency_convert.yml | 2 +- .../e2e_test_preference_based_routing.yml | 2 +- .github/workflows/validate_arch_config.yml | 2 +- README.md | 4 +- arch/tools/README.md | 2 +- arch/tools/cli/consts.py | 2 +- arch/tools/poetry.lock | 12 ++--- arch/tools/pyproject.toml | 4 +- .../preference_based_routing/README.md | 4 +- docs/source/conf.py | 2 +- docs/source/get_started/quickstart.rst | 2 +- model_server/poetry.lock | 46 ++++++++++++------- model_server/pyproject.toml | 2 +- 14 files changed, 50 insertions(+), 38 deletions(-) diff --git a/.github/workflows/e2e_archgw.yml b/.github/workflows/e2e_archgw.yml index 9f0f1061..633a32d8 100644 --- a/.github/workflows/e2e_archgw.yml +++ b/.github/workflows/e2e_archgw.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.4 -t katanemo/archgw:latest + cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.5 -t katanemo/archgw:latest - name: start archgw env: diff --git a/.github/workflows/e2e_test_currency_convert.yml b/.github/workflows/e2e_test_currency_convert.yml index 6a80760b..de29ed72 100644 --- a/.github/workflows/e2e_test_currency_convert.yml +++ b/.github/workflows/e2e_test_currency_convert.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.4 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.5 - name: install poetry run: | diff --git a/.github/workflows/e2e_test_preference_based_routing.yml b/.github/workflows/e2e_test_preference_based_routing.yml index e9564882..c1ab7050 100644 --- a/.github/workflows/e2e_test_preference_based_routing.yml +++ b/.github/workflows/e2e_test_preference_based_routing.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.4 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.5 - name: install poetry run: | diff --git a/.github/workflows/validate_arch_config.yml b/.github/workflows/validate_arch_config.yml index e5fd6acb..c3dbfeb3 100644 --- a/.github/workflows/validate_arch_config.yml +++ b/.github/workflows/validate_arch_config.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.4 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.5 - name: validate arch config run: | diff --git a/README.md b/README.md index d90fcd52..3f4199a2 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently. ```console $ python3.12 -m venv venv $ source venv/bin/activate # On Windows, use: venv\Scripts\activate -$ pip install archgw==0.3.4 +$ pip install archgw==0.3.5 ``` ### Build Agentic Apps with Arch Gateway @@ -148,7 +148,7 @@ endpoints: ```sh $ archgw up arch_config.yaml -2024-12-05 16:56:27,979 - cli.main - INFO - Starting archgw cli version: 0.3.4 +2024-12-05 16:56:27,979 - cli.main - INFO - Starting archgw cli version: 0.3.5 2024-12-05 16:56:28,485 - cli.utils - INFO - Schema validation successful! 2024-12-05 16:56:28,485 - cli.main - INFO - Starting arch model server and arch gateway 2024-12-05 16:56:51,647 - cli.core - INFO - Container is healthy! diff --git a/arch/tools/README.md b/arch/tools/README.md index 7d098186..e4e45284 100644 --- a/arch/tools/README.md +++ b/arch/tools/README.md @@ -19,7 +19,7 @@ source venv/bin/activate ### Step 3: Run the build script ```bash -pip install archgw==0.3.4 +pip install archgw==0.3.5 ``` ## Uninstall Instructions: archgw CLI diff --git a/arch/tools/cli/consts.py b/arch/tools/cli/consts.py index d0307211..9114f53f 100644 --- a/arch/tools/cli/consts.py +++ b/arch/tools/cli/consts.py @@ -10,4 +10,4 @@ SERVICE_NAME_MODEL_SERVER = "model_server" SERVICE_ALL = "all" MODEL_SERVER_LOG_FILE = "~/archgw_logs/modelserver.log" ARCHGW_DOCKER_NAME = "archgw" -ARCHGW_DOCKER_IMAGE = os.getenv("ARCHGW_DOCKER_IMAGE", "katanemo/archgw:0.3.4") +ARCHGW_DOCKER_IMAGE = os.getenv("ARCHGW_DOCKER_IMAGE", "katanemo/archgw:0.3.5") diff --git a/arch/tools/poetry.lock b/arch/tools/poetry.lock index d66eae75..239f825e 100644 --- a/arch/tools/poetry.lock +++ b/arch/tools/poetry.lock @@ -2,7 +2,7 @@ [[package]] name = "archgw_modelserver" -version = "0.3.4" +version = "0.3.5" description = "A model server for serving models" optional = false python-versions = "*" @@ -104,13 +104,13 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jsonschema" -version = "4.24.0" +version = "4.25.0" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.9" files = [ - {file = "jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d"}, - {file = "jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196"}, + {file = "jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716"}, + {file = "jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f"}, ] [package.dependencies] @@ -121,7 +121,7 @@ rpds-py = ">=0.7.1" [package.extras] format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "rfc3987-syntax (>=1.1.0)", "uri-template", "webcolors (>=24.6.0)"] [[package]] name = "jsonschema-specifications" @@ -576,4 +576,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "d1e256d1bb05fab98731edc11ea15391e9611acf2c3461d00d25c5fa0040de23" +content-hash = "e86085ff732244cb68d2e3f7f4c2903f4a8a50cc7e0963324c2506f0de90df11" diff --git a/arch/tools/pyproject.toml b/arch/tools/pyproject.toml index 179c36d5..cf75165c 100644 --- a/arch/tools/pyproject.toml +++ b/arch/tools/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "archgw" -version = "0.3.4" +version = "0.3.5" description = "Python-based CLI tool to manage Arch Gateway." authors = ["Katanemo Labs, Inc."] packages = [ @@ -10,7 +10,7 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" -archgw_modelserver = "^0.3.4" +archgw_modelserver = "^0.3.5" click = "^8.1.7" jinja2 = "^3.1.4" jsonschema = "^4.23.0" diff --git a/demos/use_cases/preference_based_routing/README.md b/demos/use_cases/preference_based_routing/README.md index 4031069d..7b988bcc 100644 --- a/demos/use_cases/preference_based_routing/README.md +++ b/demos/use_cases/preference_based_routing/README.md @@ -14,9 +14,9 @@ Make sure your machine is up to date with [latest version of archgw]([url](https 2. start archgw in the foreground ```bash (venv) $ archgw up --service archgw --foreground -2025-05-30 18:00:09,953 - cli.main - INFO - Starting archgw cli version: 0.3.4 +2025-05-30 18:00:09,953 - cli.main - INFO - Starting archgw cli version: 0.3.5 2025-05-30 18:00:09,953 - cli.main - INFO - Validating /Users/adilhafeez/src/intelligent-prompt-gateway/demos/use_cases/preference_based_routing/arch_config.yaml -2025-05-30 18:00:10,422 - cli.core - INFO - Starting arch gateway, image name: archgw, tag: katanemo/archgw:0.3.4 +2025-05-30 18:00:10,422 - cli.core - INFO - Starting arch gateway, image name: archgw, tag: katanemo/archgw:0.3.5 2025-05-30 18:00:10,662 - cli.core - INFO - archgw status: running, health status: starting 2025-05-30 18:00:11,712 - cli.core - INFO - archgw status: running, health status: starting 2025-05-30 18:00:12,761 - cli.core - INFO - archgw is running and is healthy! diff --git a/docs/source/conf.py b/docs/source/conf.py index 4790156e..1f78ac50 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -15,7 +15,7 @@ from sphinxawesome_theme.postprocess import Icons project = "Arch Docs" copyright = "2025, Katanemo Labs, Inc" author = "Katanemo Labs, Inc" -release = " v0.3.4" +release = " v0.3.5" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/docs/source/get_started/quickstart.rst b/docs/source/get_started/quickstart.rst index bec37d90..67337e5b 100644 --- a/docs/source/get_started/quickstart.rst +++ b/docs/source/get_started/quickstart.rst @@ -25,7 +25,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently. $ python -m venv venv $ source venv/bin/activate # On Windows, use: venv\Scripts\activate - $ pip install archgw==0.3.4 + $ pip install archgw==0.3.5 Build AI Agent with Arch Gateway diff --git a/model_server/poetry.lock b/model_server/poetry.lock index 2debff66..01e10d8c 100644 --- a/model_server/poetry.lock +++ b/model_server/poetry.lock @@ -2,13 +2,13 @@ [[package]] name = "accelerate" -version = "1.8.1" +version = "1.9.0" description = "Accelerate" optional = false python-versions = ">=3.9.0" files = [ - {file = "accelerate-1.8.1-py3-none-any.whl", hash = "sha256:c47b8994498875a2b1286e945bd4d20e476956056c7941d512334f4eb44ff991"}, - {file = "accelerate-1.8.1.tar.gz", hash = "sha256:f60df931671bc4e75077b852990469d4991ce8bd3a58e72375c3c95132034db9"}, + {file = "accelerate-1.9.0-py3-none-any.whl", hash = "sha256:c24739a97ade1d54af4549a65f8b6b046adc87e2b3e4d6c66516e32c53d5a8f1"}, + {file = "accelerate-1.9.0.tar.gz", hash = "sha256:0e8c61f81af7bf37195b6175a545ed292617dd90563c88f49020aea5b6a0b47f"}, ] [package.dependencies] @@ -29,7 +29,7 @@ sagemaker = ["sagemaker"] test-dev = ["bitsandbytes", "datasets", "diffusers", "evaluate", "scikit-learn", "scipy", "timm", "torchdata (>=0.8.0)", "torchpippy (>=0.2.0)", "tqdm", "transformers"] test-fp8 = ["torchao"] test-prod = ["parameterized", "pytest (>=7.2.0,<=8.0.0)", "pytest-order", "pytest-subtests", "pytest-xdist"] -test-trackers = ["comet-ml", "dvclive", "matplotlib", "mlflow", "swanlab", "tensorboard", "wandb"] +test-trackers = ["comet-ml", "dvclive", "matplotlib", "mlflow", "swanlab", "tensorboard", "trackio", "wandb"] testing = ["bitsandbytes", "datasets", "diffusers", "evaluate", "parameterized", "pytest (>=7.2.0,<=8.0.0)", "pytest-order", "pytest-subtests", "pytest-xdist", "scikit-learn", "scipy", "timm", "torchdata (>=0.8.0)", "torchpippy (>=0.2.0)", "tqdm", "transformers"] [[package]] @@ -82,15 +82,26 @@ typing_extensions = {version = ">=4", markers = "python_version < \"3.11\""} [package.extras] tests = ["mypy (>=1.14.0)", "pytest", "pytest-asyncio"] +[[package]] +name = "backports-asyncio-runner" +version = "1.2.0" +description = "Backport of asyncio.Runner, a context manager that controls event loop life cycle." +optional = false +python-versions = "<3.11,>=3.8" +files = [ + {file = "backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5"}, + {file = "backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162"}, +] + [[package]] name = "certifi" -version = "2025.7.9" +version = "2025.7.14" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.7" files = [ - {file = "certifi-2025.7.9-py3-none-any.whl", hash = "sha256:d842783a14f8fdd646895ac26f719a061408834473cfc10203f6a575beb15d39"}, - {file = "certifi-2025.7.9.tar.gz", hash = "sha256:c1d2ec05395148ee10cf672ffc28cd37ea0ab0d99f9cc74c43e588cbd111b079"}, + {file = "certifi-2025.7.14-py3-none-any.whl", hash = "sha256:6b31f564a415d79ee77df69d757bb49a5bb53bd9f756cbbe24394ffd6fc1f4b2"}, + {file = "certifi-2025.7.14.tar.gz", hash = "sha256:8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995"}, ] [[package]] @@ -324,13 +335,13 @@ typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "fsspec" -version = "2025.5.1" +version = "2025.7.0" description = "File-system specification" optional = false python-versions = ">=3.9" files = [ - {file = "fsspec-2025.5.1-py3-none-any.whl", hash = "sha256:24d3a2e663d5fc735ab256263c4075f374a174c3410c0b25e5bd1970bceaa462"}, - {file = "fsspec-2025.5.1.tar.gz", hash = "sha256:2e55e47a540b91843b755e83ded97c6e897fa0942b11490113f09e9c443c2475"}, + {file = "fsspec-2025.7.0-py3-none-any.whl", hash = "sha256:8b012e39f63c7d5f10474de957f3ab793b47b45ae7d39f2fb735f8bbe25c0e21"}, + {file = "fsspec-2025.7.0.tar.gz", hash = "sha256:786120687ffa54b8283d942929540d8bc5ccfa820deb555a2b5d0ed2b737bf58"}, ] [package.extras] @@ -338,7 +349,7 @@ abfs = ["adlfs"] adl = ["adlfs"] arrow = ["pyarrow (>=1)"] dask = ["dask", "distributed"] -dev = ["pre-commit", "ruff"] +dev = ["pre-commit", "ruff (>=0.5)"] doc = ["numpydoc", "sphinx", "sphinx-design", "sphinx-rtd-theme", "yarl"] dropbox = ["dropbox", "dropboxdrivefs", "requests"] full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] @@ -1023,13 +1034,13 @@ files = [ [[package]] name = "openai" -version = "1.95.1" +version = "1.97.0" description = "The official Python library for the openai API" optional = false python-versions = ">=3.8" files = [ - {file = "openai-1.95.1-py3-none-any.whl", hash = "sha256:8bbdfeceef231b1ddfabbc232b179d79f8b849aab5a7da131178f8d10e0f162f"}, - {file = "openai-1.95.1.tar.gz", hash = "sha256:f089b605282e2a2b6776090b4b46563ac1da77f56402a222597d591e2dcc1086"}, + {file = "openai-1.97.0-py3-none-any.whl", hash = "sha256:a1c24d96f4609f3f7f51c9e1c2606d97cc6e334833438659cfd687e9c972c610"}, + {file = "openai-1.97.0.tar.gz", hash = "sha256:0be349569ccaa4fb54f97bb808423fd29ccaeb1246ee1be762e0c81a47bae0aa"}, ] [package.dependencies] @@ -1498,16 +1509,17 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests [[package]] name = "pytest-asyncio" -version = "1.0.0" +version = "1.1.0" description = "Pytest support for asyncio" optional = false python-versions = ">=3.9" files = [ - {file = "pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3"}, - {file = "pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f"}, + {file = "pytest_asyncio-1.1.0-py3-none-any.whl", hash = "sha256:5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf"}, + {file = "pytest_asyncio-1.1.0.tar.gz", hash = "sha256:796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea"}, ] [package.dependencies] +backports-asyncio-runner = {version = ">=1.1,<2", markers = "python_version < \"3.11\""} pytest = ">=8.2,<9" [package.extras] diff --git a/model_server/pyproject.toml b/model_server/pyproject.toml index 76807337..f85016e6 100644 --- a/model_server/pyproject.toml +++ b/model_server/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "archgw_modelserver" -version = "0.3.4" +version = "0.3.5" description = "A model server for serving models" authors = ["Katanemo Labs, Inc "] license = "Apache 2.0" From d341f4365b1ef79355f5c184a571c5248b7515a0 Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Mon, 21 Jul 2025 18:31:19 -0700 Subject: [PATCH 06/13] In request path use same format for usage preferences as arch_config (#533) --- crates/brightstaff/src/handlers/mod.rs | 1 - .../brightstaff/src/handlers/preferences.rs | 135 ------------------ crates/brightstaff/src/main.rs | 7 - .../brightstaff/src/router/router_model_v1.rs | 122 ++++++++++------ crates/common/src/configuration.rs | 5 +- 5 files changed, 83 insertions(+), 187 deletions(-) delete mode 100644 crates/brightstaff/src/handlers/preferences.rs diff --git a/crates/brightstaff/src/handlers/mod.rs b/crates/brightstaff/src/handlers/mod.rs index febab6c2..6de38b5b 100644 --- a/crates/brightstaff/src/handlers/mod.rs +++ b/crates/brightstaff/src/handlers/mod.rs @@ -1,3 +1,2 @@ pub mod chat_completions; pub mod models; -pub mod preferences; diff --git a/crates/brightstaff/src/handlers/preferences.rs b/crates/brightstaff/src/handlers/preferences.rs deleted file mode 100644 index a9c5a65d..00000000 --- a/crates/brightstaff/src/handlers/preferences.rs +++ /dev/null @@ -1,135 +0,0 @@ -use bytes::Bytes; -use common::configuration::{LlmProvider, ModelUsagePreference}; -use http_body_util::{combinators::BoxBody, BodyExt, Full}; -use hyper::{Request, Response, StatusCode}; -use serde_json; -use std::{collections::HashMap, sync::Arc}; -use tracing::{info, warn}; - -pub async fn list_preferences( - llm_providers: Arc>>, -) -> Response> { - let prov = llm_providers.read().await; - // convert the LlmProvider to UsageBasedProvider - let providers_with_usage = prov - .iter() - .map(|provider| ModelUsagePreference { - name: provider.name.clone(), - model: provider.model.clone().unwrap_or_default(), - usage: provider.usage.clone(), - }) - .collect::>(); - - match serde_json::to_string(&providers_with_usage) { - Ok(json) => { - let body = Full::new(Bytes::from(json)) - .map_err(|never| match never {}) - .boxed(); - Response::builder() - .status(StatusCode::OK) - .header("Content-Type", "application/json") - .body(body) - .unwrap() - } - Err(_) => { - let body = Full::new(Bytes::from_static( - b"{\"error\":\"Failed to serialize models\"}", - )) - .map_err(|never| match never {}) - .boxed(); - Response::builder() - .status(StatusCode::INTERNAL_SERVER_ERROR) - .header("Content-Type", "application/json") - .body(body) - .unwrap() - } - } -} - -pub async fn update_preferences( - request: Request, - llm_providers: Arc>>, -) -> Result>, hyper::Error> { - let request_body = request.collect().await?.to_bytes(); - - let usage: Vec = match serde_json::from_slice(&request_body) { - Ok(usage) => usage, - Err(_) => { - let response_body = Full::new(Bytes::from_static(b"Invalid request body: ")) - .map_err(|never| match never {}) - .boxed(); - return Ok(Response::builder() - .status(StatusCode::BAD_REQUEST) - .header("Content-Type", "text/plain") - .body(response_body) - .unwrap()); - } - }; - - let usage_model_map: HashMap = - usage.into_iter().map(|u| (u.model.clone(), u)).collect(); - - info!( - "Updating usage preferences for models: {:?}", - usage_model_map.keys() - ); - - let mut llm_providers = llm_providers.write().await; - - // ensure that models coming in the request are valid - let llm_provider_names: Vec = llm_providers - .iter() - .map(|provider| provider.name.clone()) - .collect(); - - for model in usage_model_map.keys() { - if !llm_provider_names.contains(model) { - let model_not_found = format!("model not found: {}", model); - warn!("updating preferences: {}", model_not_found); - let response_body = Full::new(model_not_found.into()) - .map_err(|never| match never {}) - .boxed(); - return Ok(Response::builder() - .status(StatusCode::BAD_REQUEST) - .header("Content-Type", "text/plain") - .body(response_body) - .unwrap()); - } - } - - let mut updated_models_list = Vec::new(); - for provider in llm_providers.iter_mut() { - if let Some(usage_provider) = usage_model_map.get(&provider.name) { - provider.usage = usage_provider.usage.clone(); - updated_models_list.push(ModelUsagePreference { - name: provider.name.clone(), - model: provider.model.clone().unwrap_or_default(), - usage: provider.usage.clone(), - }); - } - } - - if !updated_models_list.is_empty() { - // return list of updated models - let response_body = Full::new(Bytes::from(format!( - "{{\"updated_models\": {}}}", - serde_json::to_string(&updated_models_list).unwrap() - ))) - .map_err(|never| match never {}) - .boxed(); - Ok(Response::builder() - .status(StatusCode::OK) - .header("Content-Type", "application/json") - .body(response_body) - .unwrap()) - } else { - let response_body = Full::new(Bytes::from_static(b"Provider not found")) - .map_err(|never| match never {}) - .boxed(); - Ok(Response::builder() - .status(StatusCode::NOT_FOUND) - .header("Content-Type", "text/plain") - .body(response_body) - .unwrap()) - } -} diff --git a/crates/brightstaff/src/main.rs b/crates/brightstaff/src/main.rs index dbcc9124..b5bf0204 100644 --- a/crates/brightstaff/src/main.rs +++ b/crates/brightstaff/src/main.rs @@ -1,6 +1,5 @@ use brightstaff::handlers::chat_completions::chat_completions; use brightstaff::handlers::models::list_models; -use brightstaff::handlers::preferences::{list_preferences, update_preferences}; use brightstaff::router::llm_router::RouterService; use brightstaff::utils::tracing::init_tracer; use bytes::Bytes; @@ -116,12 +115,6 @@ async fn main() -> Result<(), Box> { .with_context(parent_cx) .await } - (&Method::GET, "/v1/router/preferences") => { - Ok(list_preferences(llm_providers).await) - } - (&Method::PUT, "/v1/router/preferences") => { - update_preferences(req, llm_providers).await - } (&Method::GET, "/v1/models") => Ok(list_models(llm_providers).await), (&Method::OPTIONS, "/v1/models") => { let mut response = Response::new(empty()); diff --git a/crates/brightstaff/src/router/router_model_v1.rs b/crates/brightstaff/src/router/router_model_v1.rs index dc0e1563..bd06b525 100644 --- a/crates/brightstaff/src/router/router_model_v1.rs +++ b/crates/brightstaff/src/router/router_model_v1.rs @@ -73,7 +73,7 @@ impl RouterModel for RouterModelV1 { fn generate_request( &self, messages: &[Message], - usage_preferences: &Option>, + usage_preferences_from_request: &Option>, ) -> ChatCompletionsRequest { // remove system prompt, tool calls, tool call response and messages without content // if content is empty its likely a tool call @@ -150,31 +150,17 @@ impl RouterModel for RouterModelV1 { }) .collect::>(); - let llm_route_json = usage_preferences - .as_ref() - .map(|prefs| { - let llm_route: Vec = prefs - .iter() - .map(|pref| RoutingPreference { - name: pref.name.clone(), - description: pref.usage.clone().unwrap_or_default(), - }) - .collect(); - serde_json::to_string(&llm_route).unwrap_or_default() - }) - .unwrap_or_else(|| self.llm_route_json_str.clone()); - - let messages_content = ARCH_ROUTER_V1_SYSTEM_PROMPT - .replace("{routes}", &llm_route_json) - .replace( - "{conversation}", - &serde_json::to_string(&selected_conversation_list).unwrap_or_default(), - ); + // Generate the router request message based on the usage preferences. + // If preferences are passed in request then we use them otherwise we use the default routing model preferences. + let router_message = match convert_to_router_preferences(usage_preferences_from_request) { + Some(prefs) => generate_router_message(&prefs, &selected_conversation_list), + None => generate_router_message(&self.llm_route_json_str, &selected_conversation_list), + }; ChatCompletionsRequest { model: self.routing_model.clone(), messages: vec![Message { - content: Some(ContentType::Text(messages_content)), + content: Some(ContentType::Text(router_message)), role: USER_ROLE.to_string(), }], temperature: Some(0.01), @@ -201,12 +187,18 @@ impl RouterModel for RouterModelV1 { if let Some(usage_preferences) = usage_preferences { // If usage preferences are defined, we need to find the model that matches the selected route - let matching_preference = usage_preferences + let model_name: Option = usage_preferences .iter() - .find(|pref| pref.name == selected_route); + .map(|pref| { + pref.routing_preferences + .iter() + .find(|routing_pref| routing_pref.name == selected_route) + .map(|_| pref.model.clone()) + }) + .find_map(|model| model); - if let Some(preference) = matching_preference { - return Ok(Some((selected_route, preference.model.clone()))); + if let Some(model_name) = model_name { + return Ok(Some((selected_route, model_name))); } else { warn!( "No matching model found for route: {}, usage preferences: {:?}", @@ -216,7 +208,7 @@ impl RouterModel for RouterModelV1 { } } - // If no usage preferences are defined, we return the route with the routing model + // If no usage preferences are passed in request then use the default routing model preferences if let Some(model) = self.llm_route_to_model_map.get(&selected_route).cloned() { return Ok(Some((selected_route, model))); } @@ -234,6 +226,37 @@ impl RouterModel for RouterModelV1 { } } +fn generate_router_message(prefs: &str, selected_conversation_list: &Vec) -> String { + ARCH_ROUTER_V1_SYSTEM_PROMPT + .replace("{routes}", prefs) + .replace( + "{conversation}", + &serde_json::to_string(&selected_conversation_list).unwrap_or_default(), + ) +} + +fn convert_to_router_preferences( + prefs_from_request: &Option>, +) -> Option { + if let Some(usage_preferences) = prefs_from_request { + let routing_preferences = usage_preferences + .iter() + .flat_map(|pref| { + pref.routing_preferences + .iter() + .map(|routing_pref| RoutingPreference { + name: routing_pref.name.clone(), + description: routing_pref.description.clone(), + }) + }) + .collect::>(); + + return Some(serde_json::to_string(&routing_preferences).unwrap_or_default()); + } + + None +} + fn fix_json_response(body: &str) -> String { let mut updated_body = body.to_string(); @@ -299,7 +322,8 @@ Based on your analysis, provide your response in the following JSON formats if y ] } "#; - let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let llm_routes = + serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); @@ -356,7 +380,8 @@ Based on your analysis, provide your response in the following JSON formats if y ] } "#; - let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let llm_routes = + serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); @@ -379,9 +404,11 @@ Based on your analysis, provide your response in the following JSON formats if y let conversation: Vec = serde_json::from_str(conversation_str).unwrap(); let usage_preferences = Some(vec![ModelUsagePreference { - name: "code-generation".to_string(), model: "claude/claude-3-7-sonnet".to_string(), - usage: Some("generating new code snippets, functions, or boilerplate based on user prompts or requirements".to_string()), + routing_preferences: vec![RoutingPreference { + name: "code-generation".to_string(), + description: "generating new code snippets, functions, or boilerplate based on user prompts or requirements".to_string(), + }], }]); let req = router.generate_request(&conversation, &usage_preferences); @@ -419,7 +446,8 @@ Based on your analysis, provide your response in the following JSON formats if y ] } "#; - let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let llm_routes = + serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), 235); @@ -478,7 +506,8 @@ Based on your analysis, provide your response in the following JSON formats if y ] } "#; - let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let llm_routes = + serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), 200); @@ -538,7 +567,8 @@ Based on your analysis, provide your response in the following JSON formats if y ] } "#; - let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let llm_routes = + serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), 230); @@ -604,7 +634,8 @@ Based on your analysis, provide your response in the following JSON formats if y ] } "#; - let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let llm_routes = + serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); @@ -672,7 +703,8 @@ Based on your analysis, provide your response in the following JSON formats if y ] } "#; - let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let llm_routes = + serde_json::from_str::>>(routes_str).unwrap(); let routing_model = "test-model".to_string(); let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); @@ -747,14 +779,18 @@ Based on your analysis, provide your response in the following JSON formats if y ] } "#; - let llm_routes = serde_json::from_str::>>(routes_str).unwrap(); + let llm_routes = + serde_json::from_str::>>(routes_str).unwrap(); let router = RouterModelV1::new(llm_routes, "test-model".to_string(), 2000); // Case 1: Valid JSON with non-empty route let input = r#"{"route": "Image generation"}"#; let result = router.parse_response(input, &None).unwrap(); - assert_eq!(result, Some(("Image generation".to_string(), "gpt-4o".to_string()))); + assert_eq!( + result, + Some(("Image generation".to_string(), "gpt-4o".to_string())) + ); // Case 2: Valid JSON with empty route let input = r#"{"route": ""}"#; @@ -784,11 +820,17 @@ Based on your analysis, provide your response in the following JSON formats if y // Case 6: Single quotes and \n in JSON let input = "{'route': 'Image generation'}\\n"; let result = router.parse_response(input, &None).unwrap(); - assert_eq!(result, Some(("Image generation".to_string(), "gpt-4o".to_string()))); + assert_eq!( + result, + Some(("Image generation".to_string(), "gpt-4o".to_string())) + ); // Case 7: Code block marker let input = "```json\n{\"route\": \"Image generation\"}\n```"; let result = router.parse_response(input, &None).unwrap(); - assert_eq!(result, Some(("Image generation".to_string(), "gpt-4o".to_string()))); + assert_eq!( + result, + Some(("Image generation".to_string(), "gpt-4o".to_string())) + ); } } diff --git a/crates/common/src/configuration.rs b/crates/common/src/configuration.rs index 0693c09b..186691dc 100644 --- a/crates/common/src/configuration.rs +++ b/crates/common/src/configuration.rs @@ -1,6 +1,5 @@ use hermesllm::providers::openai::types::{ModelDetail, ModelObject, Models}; use serde::{Deserialize, Serialize}; -use serde_with::skip_serializing_none; use std::collections::HashMap; use std::fmt::Display; @@ -178,12 +177,10 @@ impl Display for LlmProviderType { } } -#[skip_serializing_none] #[derive(Serialize, Deserialize, Debug)] pub struct ModelUsagePreference { - pub name: String, pub model: String, - pub usage: Option, + pub routing_preferences: Vec, } #[derive(Debug, Clone, Serialize, Deserialize)] From 92a425facd2dc8d4f4c63f7165a31f167d151cde Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Tue, 22 Jul 2025 12:48:20 -0700 Subject: [PATCH 07/13] release 0.3.6 (#536) --- .github/workflows/e2e_archgw.yml | 2 +- .github/workflows/e2e_test_currency_convert.yml | 2 +- .../workflows/e2e_test_preference_based_routing.yml | 2 +- .github/workflows/validate_arch_config.yml | 2 +- README.md | 4 ++-- arch/tools/README.md | 2 +- arch/tools/cli/consts.py | 2 +- arch/tools/poetry.lock | 4 ++-- arch/tools/pyproject.toml | 4 ++-- demos/use_cases/preference_based_routing/README.md | 4 ++-- docs/source/conf.py | 2 +- docs/source/get_started/quickstart.rst | 2 +- model_server/poetry.lock | 12 ++++++------ model_server/pyproject.toml | 2 +- 14 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/e2e_archgw.yml b/.github/workflows/e2e_archgw.yml index 633a32d8..dccb196e 100644 --- a/.github/workflows/e2e_archgw.yml +++ b/.github/workflows/e2e_archgw.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.5 -t katanemo/archgw:latest + cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.6 -t katanemo/archgw:latest - name: start archgw env: diff --git a/.github/workflows/e2e_test_currency_convert.yml b/.github/workflows/e2e_test_currency_convert.yml index de29ed72..3e0500f6 100644 --- a/.github/workflows/e2e_test_currency_convert.yml +++ b/.github/workflows/e2e_test_currency_convert.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.5 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.6 - name: install poetry run: | diff --git a/.github/workflows/e2e_test_preference_based_routing.yml b/.github/workflows/e2e_test_preference_based_routing.yml index c1ab7050..3719449a 100644 --- a/.github/workflows/e2e_test_preference_based_routing.yml +++ b/.github/workflows/e2e_test_preference_based_routing.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.5 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.6 - name: install poetry run: | diff --git a/.github/workflows/validate_arch_config.yml b/.github/workflows/validate_arch_config.yml index c3dbfeb3..e948e922 100644 --- a/.github/workflows/validate_arch_config.yml +++ b/.github/workflows/validate_arch_config.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.5 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.6 - name: validate arch config run: | diff --git a/README.md b/README.md index 3f4199a2..4848e9f8 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently. ```console $ python3.12 -m venv venv $ source venv/bin/activate # On Windows, use: venv\Scripts\activate -$ pip install archgw==0.3.5 +$ pip install archgw==0.3.6 ``` ### Build Agentic Apps with Arch Gateway @@ -148,7 +148,7 @@ endpoints: ```sh $ archgw up arch_config.yaml -2024-12-05 16:56:27,979 - cli.main - INFO - Starting archgw cli version: 0.3.5 +2024-12-05 16:56:27,979 - cli.main - INFO - Starting archgw cli version: 0.3.6 2024-12-05 16:56:28,485 - cli.utils - INFO - Schema validation successful! 2024-12-05 16:56:28,485 - cli.main - INFO - Starting arch model server and arch gateway 2024-12-05 16:56:51,647 - cli.core - INFO - Container is healthy! diff --git a/arch/tools/README.md b/arch/tools/README.md index e4e45284..002e8939 100644 --- a/arch/tools/README.md +++ b/arch/tools/README.md @@ -19,7 +19,7 @@ source venv/bin/activate ### Step 3: Run the build script ```bash -pip install archgw==0.3.5 +pip install archgw==0.3.6 ``` ## Uninstall Instructions: archgw CLI diff --git a/arch/tools/cli/consts.py b/arch/tools/cli/consts.py index 9114f53f..db15afb3 100644 --- a/arch/tools/cli/consts.py +++ b/arch/tools/cli/consts.py @@ -10,4 +10,4 @@ SERVICE_NAME_MODEL_SERVER = "model_server" SERVICE_ALL = "all" MODEL_SERVER_LOG_FILE = "~/archgw_logs/modelserver.log" ARCHGW_DOCKER_NAME = "archgw" -ARCHGW_DOCKER_IMAGE = os.getenv("ARCHGW_DOCKER_IMAGE", "katanemo/archgw:0.3.5") +ARCHGW_DOCKER_IMAGE = os.getenv("ARCHGW_DOCKER_IMAGE", "katanemo/archgw:0.3.6") diff --git a/arch/tools/poetry.lock b/arch/tools/poetry.lock index 239f825e..7b078369 100644 --- a/arch/tools/poetry.lock +++ b/arch/tools/poetry.lock @@ -2,7 +2,7 @@ [[package]] name = "archgw_modelserver" -version = "0.3.5" +version = "0.3.6" description = "A model server for serving models" optional = false python-versions = "*" @@ -576,4 +576,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "e86085ff732244cb68d2e3f7f4c2903f4a8a50cc7e0963324c2506f0de90df11" +content-hash = "d66f922881475b01508e74b362e554f8aa667c805b038d62311c2d99eaaef08d" diff --git a/arch/tools/pyproject.toml b/arch/tools/pyproject.toml index cf75165c..0d903608 100644 --- a/arch/tools/pyproject.toml +++ b/arch/tools/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "archgw" -version = "0.3.5" +version = "0.3.6" description = "Python-based CLI tool to manage Arch Gateway." authors = ["Katanemo Labs, Inc."] packages = [ @@ -10,7 +10,7 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" -archgw_modelserver = "^0.3.5" +archgw_modelserver = "^0.3.6" click = "^8.1.7" jinja2 = "^3.1.4" jsonschema = "^4.23.0" diff --git a/demos/use_cases/preference_based_routing/README.md b/demos/use_cases/preference_based_routing/README.md index 7b988bcc..3edd6854 100644 --- a/demos/use_cases/preference_based_routing/README.md +++ b/demos/use_cases/preference_based_routing/README.md @@ -14,9 +14,9 @@ Make sure your machine is up to date with [latest version of archgw]([url](https 2. start archgw in the foreground ```bash (venv) $ archgw up --service archgw --foreground -2025-05-30 18:00:09,953 - cli.main - INFO - Starting archgw cli version: 0.3.5 +2025-05-30 18:00:09,953 - cli.main - INFO - Starting archgw cli version: 0.3.6 2025-05-30 18:00:09,953 - cli.main - INFO - Validating /Users/adilhafeez/src/intelligent-prompt-gateway/demos/use_cases/preference_based_routing/arch_config.yaml -2025-05-30 18:00:10,422 - cli.core - INFO - Starting arch gateway, image name: archgw, tag: katanemo/archgw:0.3.5 +2025-05-30 18:00:10,422 - cli.core - INFO - Starting arch gateway, image name: archgw, tag: katanemo/archgw:0.3.6 2025-05-30 18:00:10,662 - cli.core - INFO - archgw status: running, health status: starting 2025-05-30 18:00:11,712 - cli.core - INFO - archgw status: running, health status: starting 2025-05-30 18:00:12,761 - cli.core - INFO - archgw is running and is healthy! diff --git a/docs/source/conf.py b/docs/source/conf.py index 1f78ac50..449d136a 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -15,7 +15,7 @@ from sphinxawesome_theme.postprocess import Icons project = "Arch Docs" copyright = "2025, Katanemo Labs, Inc" author = "Katanemo Labs, Inc" -release = " v0.3.5" +release = " v0.3.6" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/docs/source/get_started/quickstart.rst b/docs/source/get_started/quickstart.rst index 67337e5b..7cd8308d 100644 --- a/docs/source/get_started/quickstart.rst +++ b/docs/source/get_started/quickstart.rst @@ -25,7 +25,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently. $ python -m venv venv $ source venv/bin/activate # On Windows, use: venv\Scripts\activate - $ pip install archgw==0.3.5 + $ pip install archgw==0.3.6 Build AI Agent with Arch Gateway diff --git a/model_server/poetry.lock b/model_server/poetry.lock index 01e10d8c..ae4ebdfb 100644 --- a/model_server/poetry.lock +++ b/model_server/poetry.lock @@ -1034,13 +1034,13 @@ files = [ [[package]] name = "openai" -version = "1.97.0" +version = "1.97.1" description = "The official Python library for the openai API" optional = false python-versions = ">=3.8" files = [ - {file = "openai-1.97.0-py3-none-any.whl", hash = "sha256:a1c24d96f4609f3f7f51c9e1c2606d97cc6e334833438659cfd687e9c972c610"}, - {file = "openai-1.97.0.tar.gz", hash = "sha256:0be349569ccaa4fb54f97bb808423fd29ccaeb1246ee1be762e0c81a47bae0aa"}, + {file = "openai-1.97.1-py3-none-any.whl", hash = "sha256:4e96bbdf672ec3d44968c9ea39d2c375891db1acc1794668d8149d5fa6000606"}, + {file = "openai-1.97.1.tar.gz", hash = "sha256:a744b27ae624e3d4135225da9b1c89c107a2a7e5bc4c93e5b7b5214772ce7a4e"}, ] [package.dependencies] @@ -2031,13 +2031,13 @@ telegram = ["requests"] [[package]] name = "transformers" -version = "4.53.2" +version = "4.53.3" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" optional = false python-versions = ">=3.9.0" files = [ - {file = "transformers-4.53.2-py3-none-any.whl", hash = "sha256:db8f4819bb34f000029c73c3c557e7d06fc1b8e612ec142eecdae3947a9c78bf"}, - {file = "transformers-4.53.2.tar.gz", hash = "sha256:6c3ed95edfb1cba71c4245758f1b4878c93bf8cde77d076307dacb2cbbd72be2"}, + {file = "transformers-4.53.3-py3-none-any.whl", hash = "sha256:5aba81c92095806b6baf12df35d756cf23b66c356975fb2a7fa9e536138d7c75"}, + {file = "transformers-4.53.3.tar.gz", hash = "sha256:b2eda1a261de79b78b97f7888fe2005fc0c3fabf5dad33d52cc02983f9f675d8"}, ] [package.dependencies] diff --git a/model_server/pyproject.toml b/model_server/pyproject.toml index f85016e6..c36f1033 100644 --- a/model_server/pyproject.toml +++ b/model_server/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "archgw_modelserver" -version = "0.3.5" +version = "0.3.6" description = "A model server for serving models" authors = ["Katanemo Labs, Inc "] license = "Apache 2.0" From 04c7e5a17533f90f9d88fc8c175ce7d4f071ff36 Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Fri, 25 Jul 2025 01:22:06 -0700 Subject: [PATCH 08/13] bug fix - allow image content to pass through (#539) fixes https://github.com/katanemo/archgw/issues/535 --- .../src/handlers/chat_completions.rs | 2 + .../hermesllm/src/providers/openai/types.rs | 64 +++++++++++++++++++ demos/use_cases/llm_routing/arch_config.yaml | 3 + 3 files changed, 69 insertions(+) diff --git a/crates/brightstaff/src/handlers/chat_completions.rs b/crates/brightstaff/src/handlers/chat_completions.rs index bd5cab79..37da961f 100644 --- a/crates/brightstaff/src/handlers/chat_completions.rs +++ b/crates/brightstaff/src/handlers/chat_completions.rs @@ -32,6 +32,8 @@ pub async fn chat_completions( let chat_request_bytes = request.collect().await?.to_bytes(); + debug!("Received request body (raw utf8): {}", String::from_utf8_lossy(&chat_request_bytes)); + let chat_request_parsed = serde_json::from_slice::(&chat_request_bytes) .inspect_err(|err| { warn!( diff --git a/crates/hermesllm/src/providers/openai/types.rs b/crates/hermesllm/src/providers/openai/types.rs index d1c4430c..7dea64df 100644 --- a/crates/hermesllm/src/providers/openai/types.rs +++ b/crates/hermesllm/src/providers/openai/types.rs @@ -35,9 +35,16 @@ pub enum MultiPartContentType { ImageUrl, } +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] +pub struct ImageUrl { + pub url: String, +} + +#[skip_serializing_none] #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] pub struct MultiPartContent { pub text: Option, + pub image_url: Option, #[serde(rename = "type")] pub content_type: MultiPartContentType, } @@ -307,10 +314,12 @@ mod tests { MultiPartContent { text: Some("This is a text part.".to_string()), content_type: MultiPartContentType::Text, + image_url: None, }, MultiPartContent { text: Some("https://example.com/image.png".to_string()), content_type: MultiPartContentType::ImageUrl, + image_url: None, }, ]); assert_eq!(multi_part_content.to_string(), "This is a text part."); @@ -364,6 +373,61 @@ mod tests { } } + #[test] + fn test_chat_completions_request_image_content() { + const CHAT_COMPLETIONS_REQUEST: &str = r#" + { + "stream": true, + "model": "openai/gpt-4o", + "messages": [ + { + "role": "user", + "content": [ + { + "type": "text", + "text": "describe this photo pls" + }, + { + "type": "image_url", + "image_url": { + "url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/...==" + } + } + ] + } + ] + }"#; + + let chat_completions_request: ChatCompletionsRequest = + serde_json::from_str(CHAT_COMPLETIONS_REQUEST).unwrap(); + assert_eq!(chat_completions_request.model, "openai/gpt-4o"); + if let Some(ContentType::MultiPart(multi_part_content)) = + chat_completions_request.messages[0].content.as_ref() + { + assert_eq!(multi_part_content.len(), 2); + assert_eq!( + multi_part_content[0].content_type, + MultiPartContentType::Text + ); + assert_eq!( + multi_part_content[0].text, + Some("describe this photo pls".to_string()) + ); + assert_eq!( + multi_part_content[1].content_type, + MultiPartContentType::ImageUrl + ); + assert_eq!( + multi_part_content[1].image_url, + Some(ImageUrl { + url: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/...==".to_string(), + }) + ); + } else { + panic!("Expected MultiPartContent"); + } + } + #[test] fn test_sse_streaming() { let json_data = r#"data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1700000000,"model":"gpt-3.5-turbo","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]} diff --git a/demos/use_cases/llm_routing/arch_config.yaml b/demos/use_cases/llm_routing/arch_config.yaml index cb3a42e6..addaae66 100644 --- a/demos/use_cases/llm_routing/arch_config.yaml +++ b/demos/use_cases/llm_routing/arch_config.yaml @@ -12,6 +12,9 @@ llm_providers: - access_key: $OPENAI_API_KEY model: openai/gpt-4o-mini + - access_key: $OPENAI_API_KEY + model: openai/gpt-4.1 + - access_key: $OPENAI_API_KEY model: openai/gpt-4o default: true From ac3fb4cb5babcc6e9a253d57a8f74c4301ae3af0 Mon Sep 17 00:00:00 2001 From: Adil Hafeez Date: Fri, 25 Jul 2025 19:08:24 -0700 Subject: [PATCH 09/13] release 0.3.7 (#542) --- .github/workflows/e2e_archgw.yml | 2 +- .../workflows/e2e_test_currency_convert.yml | 2 +- .../e2e_test_preference_based_routing.yml | 2 +- .github/workflows/validate_arch_config.yml | 2 +- README.md | 4 +- arch/supervisord.conf | 4 +- arch/tools/README.md | 2 +- arch/tools/cli/consts.py | 2 +- arch/tools/poetry.lock | 4 +- arch/tools/pyproject.toml | 4 +- .../preference_based_routing/README.md | 4 +- docs/source/conf.py | 2 +- docs/source/get_started/quickstart.rst | 2 +- model_server/poetry.lock | 151 +++++++++--------- model_server/pyproject.toml | 2 +- 15 files changed, 95 insertions(+), 94 deletions(-) diff --git a/.github/workflows/e2e_archgw.yml b/.github/workflows/e2e_archgw.yml index dccb196e..4c3bade3 100644 --- a/.github/workflows/e2e_archgw.yml +++ b/.github/workflows/e2e_archgw.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.6 -t katanemo/archgw:latest + cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.7 -t katanemo/archgw:latest - name: start archgw env: diff --git a/.github/workflows/e2e_test_currency_convert.yml b/.github/workflows/e2e_test_currency_convert.yml index 3e0500f6..352245f0 100644 --- a/.github/workflows/e2e_test_currency_convert.yml +++ b/.github/workflows/e2e_test_currency_convert.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.6 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.7 - name: install poetry run: | diff --git a/.github/workflows/e2e_test_preference_based_routing.yml b/.github/workflows/e2e_test_preference_based_routing.yml index 3719449a..db8cb3d5 100644 --- a/.github/workflows/e2e_test_preference_based_routing.yml +++ b/.github/workflows/e2e_test_preference_based_routing.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.6 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.7 - name: install poetry run: | diff --git a/.github/workflows/validate_arch_config.yml b/.github/workflows/validate_arch_config.yml index e948e922..901600ab 100644 --- a/.github/workflows/validate_arch_config.yml +++ b/.github/workflows/validate_arch_config.yml @@ -24,7 +24,7 @@ jobs: - name: build arch docker image run: | - docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.6 + docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.3.7 - name: validate arch config run: | diff --git a/README.md b/README.md index 4848e9f8..f7481ee5 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently. ```console $ python3.12 -m venv venv $ source venv/bin/activate # On Windows, use: venv\Scripts\activate -$ pip install archgw==0.3.6 +$ pip install archgw==0.3.7 ``` ### Build Agentic Apps with Arch Gateway @@ -148,7 +148,7 @@ endpoints: ```sh $ archgw up arch_config.yaml -2024-12-05 16:56:27,979 - cli.main - INFO - Starting archgw cli version: 0.3.6 +2024-12-05 16:56:27,979 - cli.main - INFO - Starting archgw cli version: 0.3.7 2024-12-05 16:56:28,485 - cli.utils - INFO - Schema validation successful! 2024-12-05 16:56:28,485 - cli.main - INFO - Starting arch model server and arch gateway 2024-12-05 16:56:51,647 - cli.core - INFO - Container is healthy! diff --git a/arch/supervisord.conf b/arch/supervisord.conf index dfb4d0d2..bec147cc 100644 --- a/arch/supervisord.conf +++ b/arch/supervisord.conf @@ -2,14 +2,14 @@ nodaemon=true [program:brightstaff] -command=sh -c "RUST_LOG=info /app/brightstaff 2>&1 | tee /var/log/brightstaff.log" +command=sh -c "RUST_LOG=debug /app/brightstaff 2>&1 | tee /var/log/brightstaff.log" stdout_logfile=/dev/stdout redirect_stderr=true stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 [program:envoy] -command=/bin/sh -c "python /app/config_generator.py && envsubst < /etc/envoy/envoy.yaml > /etc/envoy.env_sub.yaml && envoy -c /etc/envoy.env_sub.yaml --component-log-level wasm:info 2>&1 | tee /var/log//envoy.log" +command=/bin/sh -c "python /app/config_generator.py && envsubst < /etc/envoy/envoy.yaml > /etc/envoy.env_sub.yaml && envoy -c /etc/envoy.env_sub.yaml --component-log-level wasm:debug 2>&1 | tee /var/log//envoy.log" stdout_logfile=/dev/stdout redirect_stderr=true stdout_logfile_maxbytes=0 diff --git a/arch/tools/README.md b/arch/tools/README.md index 002e8939..7a33998e 100644 --- a/arch/tools/README.md +++ b/arch/tools/README.md @@ -19,7 +19,7 @@ source venv/bin/activate ### Step 3: Run the build script ```bash -pip install archgw==0.3.6 +pip install archgw==0.3.7 ``` ## Uninstall Instructions: archgw CLI diff --git a/arch/tools/cli/consts.py b/arch/tools/cli/consts.py index db15afb3..213f0134 100644 --- a/arch/tools/cli/consts.py +++ b/arch/tools/cli/consts.py @@ -10,4 +10,4 @@ SERVICE_NAME_MODEL_SERVER = "model_server" SERVICE_ALL = "all" MODEL_SERVER_LOG_FILE = "~/archgw_logs/modelserver.log" ARCHGW_DOCKER_NAME = "archgw" -ARCHGW_DOCKER_IMAGE = os.getenv("ARCHGW_DOCKER_IMAGE", "katanemo/archgw:0.3.6") +ARCHGW_DOCKER_IMAGE = os.getenv("ARCHGW_DOCKER_IMAGE", "katanemo/archgw:0.3.7") diff --git a/arch/tools/poetry.lock b/arch/tools/poetry.lock index 7b078369..a8d5e85f 100644 --- a/arch/tools/poetry.lock +++ b/arch/tools/poetry.lock @@ -2,7 +2,7 @@ [[package]] name = "archgw_modelserver" -version = "0.3.6" +version = "0.3.7" description = "A model server for serving models" optional = false python-versions = "*" @@ -576,4 +576,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "d66f922881475b01508e74b362e554f8aa667c805b038d62311c2d99eaaef08d" +content-hash = "1875c613e62e116d557ad2d30491891557b4114a99c7c65b22b26d690e9e268b" diff --git a/arch/tools/pyproject.toml b/arch/tools/pyproject.toml index 0d903608..c62b8656 100644 --- a/arch/tools/pyproject.toml +++ b/arch/tools/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "archgw" -version = "0.3.6" +version = "0.3.7" description = "Python-based CLI tool to manage Arch Gateway." authors = ["Katanemo Labs, Inc."] packages = [ @@ -10,7 +10,7 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" -archgw_modelserver = "^0.3.6" +archgw_modelserver = "^0.3.7" click = "^8.1.7" jinja2 = "^3.1.4" jsonschema = "^4.23.0" diff --git a/demos/use_cases/preference_based_routing/README.md b/demos/use_cases/preference_based_routing/README.md index 3edd6854..1ac6b59b 100644 --- a/demos/use_cases/preference_based_routing/README.md +++ b/demos/use_cases/preference_based_routing/README.md @@ -14,9 +14,9 @@ Make sure your machine is up to date with [latest version of archgw]([url](https 2. start archgw in the foreground ```bash (venv) $ archgw up --service archgw --foreground -2025-05-30 18:00:09,953 - cli.main - INFO - Starting archgw cli version: 0.3.6 +2025-05-30 18:00:09,953 - cli.main - INFO - Starting archgw cli version: 0.3.7 2025-05-30 18:00:09,953 - cli.main - INFO - Validating /Users/adilhafeez/src/intelligent-prompt-gateway/demos/use_cases/preference_based_routing/arch_config.yaml -2025-05-30 18:00:10,422 - cli.core - INFO - Starting arch gateway, image name: archgw, tag: katanemo/archgw:0.3.6 +2025-05-30 18:00:10,422 - cli.core - INFO - Starting arch gateway, image name: archgw, tag: katanemo/archgw:0.3.7 2025-05-30 18:00:10,662 - cli.core - INFO - archgw status: running, health status: starting 2025-05-30 18:00:11,712 - cli.core - INFO - archgw status: running, health status: starting 2025-05-30 18:00:12,761 - cli.core - INFO - archgw is running and is healthy! diff --git a/docs/source/conf.py b/docs/source/conf.py index 449d136a..4e2fd142 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -15,7 +15,7 @@ from sphinxawesome_theme.postprocess import Icons project = "Arch Docs" copyright = "2025, Katanemo Labs, Inc" author = "Katanemo Labs, Inc" -release = " v0.3.6" +release = " v0.3.7" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/docs/source/get_started/quickstart.rst b/docs/source/get_started/quickstart.rst index 7cd8308d..7027c67a 100644 --- a/docs/source/get_started/quickstart.rst +++ b/docs/source/get_started/quickstart.rst @@ -25,7 +25,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently. $ python -m venv venv $ source venv/bin/activate # On Windows, use: venv\Scripts\activate - $ pip install archgw==0.3.6 + $ pip install archgw==0.3.7 Build AI Agent with Arch Gateway diff --git a/model_server/poetry.lock b/model_server/poetry.lock index ae4ebdfb..26e65aed 100644 --- a/model_server/poetry.lock +++ b/model_server/poetry.lock @@ -391,66 +391,66 @@ grpc = ["grpcio (>=1.44.0,<2.0.0)"] [[package]] name = "grpcio" -version = "1.73.1" +version = "1.74.0" description = "HTTP/2-based RPC framework" optional = false python-versions = ">=3.9" files = [ - {file = "grpcio-1.73.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:2d70f4ddd0a823436c2624640570ed6097e40935c9194482475fe8e3d9754d55"}, - {file = "grpcio-1.73.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:3841a8a5a66830261ab6a3c2a3dc539ed84e4ab019165f77b3eeb9f0ba621f26"}, - {file = "grpcio-1.73.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:628c30f8e77e0258ab788750ec92059fc3d6628590fb4b7cea8c102503623ed7"}, - {file = "grpcio-1.73.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67a0468256c9db6d5ecb1fde4bf409d016f42cef649323f0a08a72f352d1358b"}, - {file = "grpcio-1.73.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68b84d65bbdebd5926eb5c53b0b9ec3b3f83408a30e4c20c373c5337b4219ec5"}, - {file = "grpcio-1.73.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c54796ca22b8349cc594d18b01099e39f2b7ffb586ad83217655781a350ce4da"}, - {file = "grpcio-1.73.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:75fc8e543962ece2f7ecd32ada2d44c0c8570ae73ec92869f9af8b944863116d"}, - {file = "grpcio-1.73.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6a6037891cd2b1dd1406b388660522e1565ed340b1fea2955b0234bdd941a862"}, - {file = "grpcio-1.73.1-cp310-cp310-win32.whl", hash = "sha256:cce7265b9617168c2d08ae570fcc2af4eaf72e84f8c710ca657cc546115263af"}, - {file = "grpcio-1.73.1-cp310-cp310-win_amd64.whl", hash = "sha256:6a2b372e65fad38842050943f42ce8fee00c6f2e8ea4f7754ba7478d26a356ee"}, - {file = "grpcio-1.73.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:ba2cea9f7ae4bc21f42015f0ec98f69ae4179848ad744b210e7685112fa507a1"}, - {file = "grpcio-1.73.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:d74c3f4f37b79e746271aa6cdb3a1d7e4432aea38735542b23adcabaaee0c097"}, - {file = "grpcio-1.73.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:5b9b1805a7d61c9e90541cbe8dfe0a593dfc8c5c3a43fe623701b6a01b01d710"}, - {file = "grpcio-1.73.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3215f69a0670a8cfa2ab53236d9e8026bfb7ead5d4baabe7d7dc11d30fda967"}, - {file = "grpcio-1.73.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc5eccfd9577a5dc7d5612b2ba90cca4ad14c6d949216c68585fdec9848befb1"}, - {file = "grpcio-1.73.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dc7d7fd520614fce2e6455ba89791458020a39716951c7c07694f9dbae28e9c0"}, - {file = "grpcio-1.73.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:105492124828911f85127e4825d1c1234b032cb9d238567876b5515d01151379"}, - {file = "grpcio-1.73.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:610e19b04f452ba6f402ac9aa94eb3d21fbc94553368008af634812c4a85a99e"}, - {file = "grpcio-1.73.1-cp311-cp311-win32.whl", hash = "sha256:d60588ab6ba0ac753761ee0e5b30a29398306401bfbceffe7d68ebb21193f9d4"}, - {file = "grpcio-1.73.1-cp311-cp311-win_amd64.whl", hash = "sha256:6957025a4608bb0a5ff42abd75bfbb2ed99eda29d5992ef31d691ab54b753643"}, - {file = "grpcio-1.73.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:921b25618b084e75d424a9f8e6403bfeb7abef074bb6c3174701e0f2542debcf"}, - {file = "grpcio-1.73.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:277b426a0ed341e8447fbf6c1d6b68c952adddf585ea4685aa563de0f03df887"}, - {file = "grpcio-1.73.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:96c112333309493c10e118d92f04594f9055774757f5d101b39f8150f8c25582"}, - {file = "grpcio-1.73.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f48e862aed925ae987eb7084409a80985de75243389dc9d9c271dd711e589918"}, - {file = "grpcio-1.73.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83a6c2cce218e28f5040429835fa34a29319071079e3169f9543c3fbeff166d2"}, - {file = "grpcio-1.73.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:65b0458a10b100d815a8426b1442bd17001fdb77ea13665b2f7dc9e8587fdc6b"}, - {file = "grpcio-1.73.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:0a9f3ea8dce9eae9d7cb36827200133a72b37a63896e0e61a9d5ec7d61a59ab1"}, - {file = "grpcio-1.73.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:de18769aea47f18e782bf6819a37c1c528914bfd5683b8782b9da356506190c8"}, - {file = "grpcio-1.73.1-cp312-cp312-win32.whl", hash = "sha256:24e06a5319e33041e322d32c62b1e728f18ab8c9dbc91729a3d9f9e3ed336642"}, - {file = "grpcio-1.73.1-cp312-cp312-win_amd64.whl", hash = "sha256:303c8135d8ab176f8038c14cc10d698ae1db9c480f2b2823f7a987aa2a4c5646"}, - {file = "grpcio-1.73.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:b310824ab5092cf74750ebd8a8a8981c1810cb2b363210e70d06ef37ad80d4f9"}, - {file = "grpcio-1.73.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:8f5a6df3fba31a3485096ac85b2e34b9666ffb0590df0cd044f58694e6a1f6b5"}, - {file = "grpcio-1.73.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:052e28fe9c41357da42250a91926a3e2f74c046575c070b69659467ca5aa976b"}, - {file = "grpcio-1.73.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c0bf15f629b1497436596b1cbddddfa3234273490229ca29561209778ebe182"}, - {file = "grpcio-1.73.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ab860d5bfa788c5a021fba264802e2593688cd965d1374d31d2b1a34cacd854"}, - {file = "grpcio-1.73.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:ad1d958c31cc91ab050bd8a91355480b8e0683e21176522bacea225ce51163f2"}, - {file = "grpcio-1.73.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f43ffb3bd415c57224c7427bfb9e6c46a0b6e998754bfa0d00f408e1873dcbb5"}, - {file = "grpcio-1.73.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:686231cdd03a8a8055f798b2b54b19428cdf18fa1549bee92249b43607c42668"}, - {file = "grpcio-1.73.1-cp313-cp313-win32.whl", hash = "sha256:89018866a096e2ce21e05eabed1567479713ebe57b1db7cbb0f1e3b896793ba4"}, - {file = "grpcio-1.73.1-cp313-cp313-win_amd64.whl", hash = "sha256:4a68f8c9966b94dff693670a5cf2b54888a48a5011c5d9ce2295a1a1465ee84f"}, - {file = "grpcio-1.73.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:b4adc97d2d7f5c660a5498bda978ebb866066ad10097265a5da0511323ae9f50"}, - {file = "grpcio-1.73.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:c45a28a0cfb6ddcc7dc50a29de44ecac53d115c3388b2782404218db51cb2df3"}, - {file = "grpcio-1.73.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:10af9f2ab98a39f5b6c1896c6fc2036744b5b41d12739d48bed4c3e15b6cf900"}, - {file = "grpcio-1.73.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:45cf17dcce5ebdb7b4fe9e86cb338fa99d7d1bb71defc78228e1ddf8d0de8cbb"}, - {file = "grpcio-1.73.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c502c2e950fc7e8bf05c047e8a14522ef7babac59abbfde6dbf46b7a0d9c71e"}, - {file = "grpcio-1.73.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6abfc0f9153dc4924536f40336f88bd4fe7bd7494f028675e2e04291b8c2c62a"}, - {file = "grpcio-1.73.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ed451a0e39c8e51eb1612b78686839efd1a920666d1666c1adfdb4fd51680c0f"}, - {file = "grpcio-1.73.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:07f08705a5505c9b5b0cbcbabafb96462b5a15b7236bbf6bbcc6b0b91e1cbd7e"}, - {file = "grpcio-1.73.1-cp39-cp39-win32.whl", hash = "sha256:ad5c958cc3d98bb9d71714dc69f1c13aaf2f4b53e29d4cc3f1501ef2e4d129b2"}, - {file = "grpcio-1.73.1-cp39-cp39-win_amd64.whl", hash = "sha256:42f0660bce31b745eb9d23f094a332d31f210dcadd0fc8e5be7e4c62a87ce86b"}, - {file = "grpcio-1.73.1.tar.gz", hash = "sha256:7fce2cd1c0c1116cf3850564ebfc3264fba75d3c74a7414373f1238ea365ef87"}, + {file = "grpcio-1.74.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:85bd5cdf4ed7b2d6438871adf6afff9af7096486fcf51818a81b77ef4dd30907"}, + {file = "grpcio-1.74.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:68c8ebcca945efff9d86d8d6d7bfb0841cf0071024417e2d7f45c5e46b5b08eb"}, + {file = "grpcio-1.74.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:e154d230dc1bbbd78ad2fdc3039fa50ad7ffcf438e4eb2fa30bce223a70c7486"}, + {file = "grpcio-1.74.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8978003816c7b9eabe217f88c78bc26adc8f9304bf6a594b02e5a49b2ef9c11"}, + {file = "grpcio-1.74.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3d7bd6e3929fd2ea7fbc3f562e4987229ead70c9ae5f01501a46701e08f1ad9"}, + {file = "grpcio-1.74.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:136b53c91ac1d02c8c24201bfdeb56f8b3ac3278668cbb8e0ba49c88069e1bdc"}, + {file = "grpcio-1.74.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fe0f540750a13fd8e5da4b3eaba91a785eea8dca5ccd2bc2ffe978caa403090e"}, + {file = "grpcio-1.74.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4e4181bfc24413d1e3a37a0b7889bea68d973d4b45dd2bc68bb766c140718f82"}, + {file = "grpcio-1.74.0-cp310-cp310-win32.whl", hash = "sha256:1733969040989f7acc3d94c22f55b4a9501a30f6aaacdbccfaba0a3ffb255ab7"}, + {file = "grpcio-1.74.0-cp310-cp310-win_amd64.whl", hash = "sha256:9e912d3c993a29df6c627459af58975b2e5c897d93287939b9d5065f000249b5"}, + {file = "grpcio-1.74.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:69e1a8180868a2576f02356565f16635b99088da7df3d45aaa7e24e73a054e31"}, + {file = "grpcio-1.74.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:8efe72fde5500f47aca1ef59495cb59c885afe04ac89dd11d810f2de87d935d4"}, + {file = "grpcio-1.74.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:a8f0302f9ac4e9923f98d8e243939a6fb627cd048f5cd38595c97e38020dffce"}, + {file = "grpcio-1.74.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f609a39f62a6f6f05c7512746798282546358a37ea93c1fcbadf8b2fed162e3"}, + {file = "grpcio-1.74.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c98e0b7434a7fa4e3e63f250456eaef52499fba5ae661c58cc5b5477d11e7182"}, + {file = "grpcio-1.74.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:662456c4513e298db6d7bd9c3b8df6f75f8752f0ba01fb653e252ed4a59b5a5d"}, + {file = "grpcio-1.74.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3d14e3c4d65e19d8430a4e28ceb71ace4728776fd6c3ce34016947474479683f"}, + {file = "grpcio-1.74.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bf949792cee20d2078323a9b02bacbbae002b9e3b9e2433f2741c15bdeba1c4"}, + {file = "grpcio-1.74.0-cp311-cp311-win32.whl", hash = "sha256:55b453812fa7c7ce2f5c88be3018fb4a490519b6ce80788d5913f3f9d7da8c7b"}, + {file = "grpcio-1.74.0-cp311-cp311-win_amd64.whl", hash = "sha256:86ad489db097141a907c559988c29718719aa3e13370d40e20506f11b4de0d11"}, + {file = "grpcio-1.74.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:8533e6e9c5bd630ca98062e3a1326249e6ada07d05acf191a77bc33f8948f3d8"}, + {file = "grpcio-1.74.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:2918948864fec2a11721d91568effffbe0a02b23ecd57f281391d986847982f6"}, + {file = "grpcio-1.74.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:60d2d48b0580e70d2e1954d0d19fa3c2e60dd7cbed826aca104fff518310d1c5"}, + {file = "grpcio-1.74.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3601274bc0523f6dc07666c0e01682c94472402ac2fd1226fd96e079863bfa49"}, + {file = "grpcio-1.74.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:176d60a5168d7948539def20b2a3adcce67d72454d9ae05969a2e73f3a0feee7"}, + {file = "grpcio-1.74.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e759f9e8bc908aaae0412642afe5416c9f983a80499448fcc7fab8692ae044c3"}, + {file = "grpcio-1.74.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9e7c4389771855a92934b2846bd807fc25a3dfa820fd912fe6bd8136026b2707"}, + {file = "grpcio-1.74.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cce634b10aeab37010449124814b05a62fb5f18928ca878f1bf4750d1f0c815b"}, + {file = "grpcio-1.74.0-cp312-cp312-win32.whl", hash = "sha256:885912559974df35d92219e2dc98f51a16a48395f37b92865ad45186f294096c"}, + {file = "grpcio-1.74.0-cp312-cp312-win_amd64.whl", hash = "sha256:42f8fee287427b94be63d916c90399ed310ed10aadbf9e2e5538b3e497d269bc"}, + {file = "grpcio-1.74.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:2bc2d7d8d184e2362b53905cb1708c84cb16354771c04b490485fa07ce3a1d89"}, + {file = "grpcio-1.74.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:c14e803037e572c177ba54a3e090d6eb12efd795d49327c5ee2b3bddb836bf01"}, + {file = "grpcio-1.74.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:f6ec94f0e50eb8fa1744a731088b966427575e40c2944a980049798b127a687e"}, + {file = "grpcio-1.74.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:566b9395b90cc3d0d0c6404bc8572c7c18786ede549cdb540ae27b58afe0fb91"}, + {file = "grpcio-1.74.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1ea6176d7dfd5b941ea01c2ec34de9531ba494d541fe2057c904e601879f249"}, + {file = "grpcio-1.74.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:64229c1e9cea079420527fa8ac45d80fc1e8d3f94deaa35643c381fa8d98f362"}, + {file = "grpcio-1.74.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:0f87bddd6e27fc776aacf7ebfec367b6d49cad0455123951e4488ea99d9b9b8f"}, + {file = "grpcio-1.74.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:3b03d8f2a07f0fea8c8f74deb59f8352b770e3900d143b3d1475effcb08eec20"}, + {file = "grpcio-1.74.0-cp313-cp313-win32.whl", hash = "sha256:b6a73b2ba83e663b2480a90b82fdae6a7aa6427f62bf43b29912c0cfd1aa2bfa"}, + {file = "grpcio-1.74.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd3c71aeee838299c5887230b8a1822795325ddfea635edd82954c1eaa831e24"}, + {file = "grpcio-1.74.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:4bc5fca10aaf74779081e16c2bcc3d5ec643ffd528d9e7b1c9039000ead73bae"}, + {file = "grpcio-1.74.0-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:6bab67d15ad617aff094c382c882e0177637da73cbc5532d52c07b4ee887a87b"}, + {file = "grpcio-1.74.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:655726919b75ab3c34cdad39da5c530ac6fa32696fb23119e36b64adcfca174a"}, + {file = "grpcio-1.74.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a2b06afe2e50ebfd46247ac3ba60cac523f54ec7792ae9ba6073c12daf26f0a"}, + {file = "grpcio-1.74.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f251c355167b2360537cf17bea2cf0197995e551ab9da6a0a59b3da5e8704f9"}, + {file = "grpcio-1.74.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8f7b5882fb50632ab1e48cb3122d6df55b9afabc265582808036b6e51b9fd6b7"}, + {file = "grpcio-1.74.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:834988b6c34515545b3edd13e902c1acdd9f2465d386ea5143fb558f153a7176"}, + {file = "grpcio-1.74.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:22b834cef33429ca6cc28303c9c327ba9a3fafecbf62fae17e9a7b7163cc43ac"}, + {file = "grpcio-1.74.0-cp39-cp39-win32.whl", hash = "sha256:7d95d71ff35291bab3f1c52f52f474c632db26ea12700c2ff0ea0532cb0b5854"}, + {file = "grpcio-1.74.0-cp39-cp39-win_amd64.whl", hash = "sha256:ecde9ab49f58433abe02f9ed076c7b5be839cf0153883a6d23995937a82392fa"}, + {file = "grpcio-1.74.0.tar.gz", hash = "sha256:80d1f4fbb35b0742d3e3d3bb654b7381cd5f015f8497279a1e9c21ba623e01b1"}, ] [package.extras] -protobuf = ["grpcio-tools (>=1.73.1)"] +protobuf = ["grpcio-tools (>=1.74.0)"] [[package]] name = "h11" @@ -531,19 +531,19 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "huggingface-hub" -version = "0.33.4" +version = "0.34.1" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" optional = false python-versions = ">=3.8.0" files = [ - {file = "huggingface_hub-0.33.4-py3-none-any.whl", hash = "sha256:09f9f4e7ca62547c70f8b82767eefadd2667f4e116acba2e3e62a5a81815a7bb"}, - {file = "huggingface_hub-0.33.4.tar.gz", hash = "sha256:6af13478deae120e765bfd92adad0ae1aec1ad8c439b46f23058ad5956cbca0a"}, + {file = "huggingface_hub-0.34.1-py3-none-any.whl", hash = "sha256:60d843dcb7bc335145b20e7d2f1dfe93910f6787b2b38a936fb772ce2a83757c"}, + {file = "huggingface_hub-0.34.1.tar.gz", hash = "sha256:6978ed89ef981de3c78b75bab100a214843be1cc9d24f8e9c0dc4971808ef1b1"}, ] [package.dependencies] filelock = "*" fsspec = ">=2023.5.0" -hf-xet = {version = ">=1.1.2,<2.0.0", markers = "platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\""} +hf-xet = {version = ">=1.1.3,<2.0.0", markers = "platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\""} packaging = ">=20.9" pyyaml = ">=5.1" requests = "*" @@ -551,16 +551,16 @@ tqdm = ">=4.42.1" typing-extensions = ">=3.7.4.3" [package.extras] -all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "libcst (==1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "libcst (>=1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] cli = ["InquirerPy (==0.3.4)"] -dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "libcst (==1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "libcst (>=1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.9.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] hf-transfer = ["hf-transfer (>=0.1.4)"] hf-xet = ["hf-xet (>=1.1.2,<2.0.0)"] inference = ["aiohttp"] mcp = ["aiohttp", "mcp (>=1.8.0)", "typer"] oauth = ["authlib (>=1.3.2)", "fastapi", "httpx", "itsdangerous"] -quality = ["libcst (==1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "ruff (>=0.9.0)"] +quality = ["libcst (>=1.4.0)", "mypy (==1.15.0)", "mypy (>=1.14.1,<1.15.0)", "ruff (>=0.9.0)"] tensorflow = ["graphviz", "pydot", "tensorflow"] tensorflow-testing = ["keras (<3.0)", "tensorflow"] testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "authlib (>=1.3.2)", "fastapi", "gradio (>=4.0.0)", "httpx", "itsdangerous", "jedi", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] @@ -2031,18 +2031,18 @@ telegram = ["requests"] [[package]] name = "transformers" -version = "4.53.3" +version = "4.54.0" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" optional = false python-versions = ">=3.9.0" files = [ - {file = "transformers-4.53.3-py3-none-any.whl", hash = "sha256:5aba81c92095806b6baf12df35d756cf23b66c356975fb2a7fa9e536138d7c75"}, - {file = "transformers-4.53.3.tar.gz", hash = "sha256:b2eda1a261de79b78b97f7888fe2005fc0c3fabf5dad33d52cc02983f9f675d8"}, + {file = "transformers-4.54.0-py3-none-any.whl", hash = "sha256:c96e607f848625965b76c677b2c2576f2c7b7097c1c5292b281919d90675a25e"}, + {file = "transformers-4.54.0.tar.gz", hash = "sha256:843da4d66a573cef3d1b2e7a1d767e77da054621e69d9f3faff761e55a1f8203"}, ] [package.dependencies] filelock = "*" -huggingface-hub = ">=0.30.0,<1.0" +huggingface-hub = ">=0.34.0,<1.0" numpy = ">=1.17" packaging = ">=20.0" pyyaml = ">=5.1" @@ -2054,15 +2054,15 @@ tqdm = ">=4.27" [package.extras] accelerate = ["accelerate (>=0.26.0)"] -all = ["Pillow (>=10.0.1,<=15.0)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "accelerate (>=0.26.0)", "av", "codecarbon (>=2.8.1)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "kernels (>=0.6.1,<0.7)", "librosa", "num2words", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.1)", "torchaudio", "torchvision"] +all = ["Pillow (>=10.0.1,<=15.0)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "accelerate (>=0.26.0)", "av", "codecarbon (>=2.8.1)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "kernels (>=0.6.1,<0.7)", "librosa", "mistral-common[opencv] (>=1.6.3)", "num2words", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm (!=1.0.18,<=1.0.19)", "tokenizers (>=0.21,<0.22)", "torch (>=2.1)", "torchaudio", "torchvision"] audio = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] benchmark = ["optimum-benchmark (>=0.3.0)"] codecarbon = ["codecarbon (>=2.8.1)"] deepspeed = ["accelerate (>=0.26.0)", "deepspeed (>=0.9.3)"] -deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.26.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "optuna", "parameterized", "protobuf", "psutil", "pydantic", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] -dev = ["GitPython (<3.1.19)", "GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "accelerate (>=0.26.0)", "av", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "datasets (!=2.5.0)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "kernels (>=0.6.1,<0.7)", "libcst", "librosa", "nltk (<=3.8.1)", "num2words", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "pandas (<2.3.0)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict_core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.1)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic_lite (>=1.0.7)", "urllib3 (<2.0.0)"] -dev-tensorflow = ["GitPython (<3.1.19)", "GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "datasets (!=2.5.0)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "nltk (<=3.8.1)", "onnxconverter-common", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "pandas (<2.3.0)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "tf2onnx", "timeout-decorator", "tokenizers (>=0.21,<0.22)", "urllib3 (<2.0.0)"] -dev-torch = ["GitPython (<3.1.19)", "GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "datasets (!=2.5.0)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "kenlm", "kernels (>=0.6.1,<0.7)", "libcst", "librosa", "nltk (<=3.8.1)", "num2words", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "pandas (<2.3.0)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict_core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm (<=1.0.11)", "tokenizers (>=0.21,<0.22)", "torch (>=2.1)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic_lite (>=1.0.7)", "urllib3 (<2.0.0)"] +deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.26.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (>=2.15.0)", "datasets (>=2.15.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "mistral-common[opencv] (>=1.6.3)", "nltk (<=3.8.1)", "optuna", "parameterized", "protobuf", "psutil", "pydantic (>=2)", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +dev = ["GitPython (<3.1.19)", "GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "accelerate (>=0.26.0)", "av", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "cookiecutter (==1.7.3)", "datasets (>=2.15.0)", "datasets (>=2.15.0)", "datasets (>=2.15.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "kernels (>=0.6.1,<0.7)", "libcst", "librosa", "mistral-common[opencv] (>=1.6.3)", "mistral-common[opencv] (>=1.6.3)", "nltk (<=3.8.1)", "num2words", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "pandas (<2.3.0)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (>=2)", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict_core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm (!=1.0.18,<=1.0.19)", "tokenizers (>=0.21,<0.22)", "torch (>=2.1)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic_lite (>=1.0.7)", "urllib3 (<2.0.0)"] +dev-tensorflow = ["GitPython (<3.1.19)", "GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "cookiecutter (==1.7.3)", "datasets (>=2.15.0)", "datasets (>=2.15.0)", "datasets (>=2.15.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "mistral-common[opencv] (>=1.6.3)", "nltk (<=3.8.1)", "onnxconverter-common", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "pandas (<2.3.0)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (>=2)", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "tf2onnx", "timeout-decorator", "tokenizers (>=0.21,<0.22)", "urllib3 (<2.0.0)"] +dev-torch = ["GitPython (<3.1.19)", "GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "beautifulsoup4", "codecarbon (>=2.8.1)", "cookiecutter (==1.7.3)", "cookiecutter (==1.7.3)", "datasets (>=2.15.0)", "datasets (>=2.15.0)", "datasets (>=2.15.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "kenlm", "kernels (>=0.6.1,<0.7)", "libcst", "librosa", "mistral-common[opencv] (>=1.6.3)", "nltk (<=3.8.1)", "num2words", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "pandas (<2.3.0)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (>=2)", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict_core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm (!=1.0.18,<=1.0.19)", "tokenizers (>=0.21,<0.22)", "torch (>=2.1)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic_lite (>=1.0.7)", "urllib3 (<2.0.0)"] flax = ["flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "optax (>=0.0.8,<=0.1.4)", "scipy (<1.13.0)"] flax-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] ftfy = ["ftfy"] @@ -2070,6 +2070,7 @@ hf-xet = ["hf_xet"] hub-kernels = ["kernels (>=0.6.1,<0.7)"] integrations = ["kernels (>=0.6.1,<0.7)", "optuna", "ray[tune] (>=2.7.0)", "sigopt"] ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "rhoknp (>=1.1.0,<1.3.1)", "sudachidict_core (>=20220729)", "sudachipy (>=0.6.6)", "unidic (>=1.0.2)", "unidic_lite (>=1.0.7)"] +mistral-common = ["mistral-common[opencv] (>=1.6.3)"] modelcreation = ["cookiecutter (==1.7.3)"] natten = ["natten (>=0.14.6,<0.15.0)"] num2words = ["num2words"] @@ -2077,27 +2078,27 @@ onnx = ["onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1 onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] open-telemetry = ["opentelemetry-api", "opentelemetry-exporter-otlp", "opentelemetry-sdk"] optuna = ["optuna"] -quality = ["GitPython (<3.1.19)", "datasets (!=2.5.0)", "libcst", "pandas (<2.3.0)", "rich", "ruff (==0.11.2)", "urllib3 (<2.0.0)"] +quality = ["GitPython (<3.1.19)", "datasets (>=2.15.0)", "libcst", "pandas (<2.3.0)", "rich", "ruff (==0.11.2)", "urllib3 (<2.0.0)"] ray = ["ray[tune] (>=2.7.0)"] -retrieval = ["datasets (!=2.5.0)", "faiss-cpu"] +retrieval = ["datasets (>=2.15.0)", "faiss-cpu"] ruff = ["ruff (==0.11.2)"] sagemaker = ["sagemaker (>=2.31.0)"] sentencepiece = ["protobuf", "sentencepiece (>=0.1.91,!=0.1.92)"] -serving = ["fastapi", "pydantic", "starlette", "uvicorn"] +serving = ["accelerate (>=0.26.0)", "fastapi", "openai", "pydantic (>=2)", "starlette", "torch (>=2.1)", "uvicorn"] sigopt = ["sigopt"] sklearn = ["scikit-learn"] speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] -testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "parameterized", "psutil", "pydantic", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (>=2.15.0)", "datasets (>=2.15.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "mistral-common[opencv] (>=1.6.3)", "nltk (<=3.8.1)", "parameterized", "psutil", "pydantic (>=2)", "pytest (>=7.2.0)", "pytest-asyncio", "pytest-order", "pytest-rerunfailures", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.11.2)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] tf = ["keras-nlp (>=0.3.1,<0.14.0)", "onnxconverter-common", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] tf-cpu = ["keras (>2.9,<2.16)", "keras-nlp (>=0.3.1,<0.14.0)", "onnxconverter-common", "tensorflow-cpu (>2.9,<2.16)", "tensorflow-probability (<0.24)", "tensorflow-text (<2.16)", "tf2onnx"] tf-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] tiktoken = ["blobfile", "tiktoken"] -timm = ["timm (<=1.0.11)"] +timm = ["timm (!=1.0.18,<=1.0.19)"] tokenizers = ["tokenizers (>=0.21,<0.22)"] torch = ["accelerate (>=0.26.0)", "torch (>=2.1)"] torch-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] torch-vision = ["Pillow (>=10.0.1,<=15.0)", "torchvision"] -torchhub = ["filelock", "huggingface-hub (>=0.30.0,<1.0)", "importlib_metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.21,<0.22)", "torch (>=2.1)", "tqdm (>=4.27)"] +torchhub = ["filelock", "huggingface-hub (>=0.34.0,<1.0)", "importlib_metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.21,<0.22)", "torch (>=2.1)", "tqdm (>=4.27)"] video = ["av"] vision = ["Pillow (>=10.0.1,<=15.0)"] diff --git a/model_server/pyproject.toml b/model_server/pyproject.toml index c36f1033..7abe7a40 100644 --- a/model_server/pyproject.toml +++ b/model_server/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "archgw_modelserver" -version = "0.3.6" +version = "0.3.7" description = "A model server for serving models" authors = ["Katanemo Labs, Inc "] license = "Apache 2.0" From d2157248649d8a3720d174113f82a8598629bb04 Mon Sep 17 00:00:00 2001 From: Musa Date: Sun, 27 Jul 2025 09:26:12 -0700 Subject: [PATCH 10/13] Update llm_provider.rst (#543) --- docs/source/concepts/llm_provider.rst | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/source/concepts/llm_provider.rst b/docs/source/concepts/llm_provider.rst index 1c4b2aaf..eabdaa96 100644 --- a/docs/source/concepts/llm_provider.rst +++ b/docs/source/concepts/llm_provider.rst @@ -38,27 +38,29 @@ Adding custom LLM Provider We support any OpenAI compliant LLM for example mistral, openai, ollama etc. We also offer first class support for OpenAI, Anthropic, DeepSeek, Mistral, Groq, and Ollama based models. You can easily configure an LLM that communicates over the OpenAI API interface, by following the below guide. -For example following code block shows you how to add an ollama-supported LLM in the `arch_config.yaml` file. +For example following code block shows you how to add an ollama-supported LLM in the ``arch_config.yaml`` file. .. code-block:: yaml - llm_providers: - - model: some_custom_llm_provider/llama3.2 - provider_interface: openai - base_url: http://host.docker.internal:11434 -And in the following code block shows you how to add mistral llm provider in the `arch_config.yaml` file. + llm_providers: + - model: some_custom_llm_provider/llama3.2 + provider_interface: openai + base_url: http://host.docker.internal:11434 + +And in the following code block shows you how to add mistral llm provider in the ``arch_config.yaml`` file. .. code-block:: yaml + llm_providers: - - name: mistral/ministral-3b-latest - access_key: $MISTRAL_API_KEY + - name: mistral/ministral-3b-latest + access_key: $MISTRAL_API_KEY Example: Using the OpenAI Python SDK ------------------------------------ .. code-block:: python - from openai import OpenAI + from openai import OpenAI # Initialize the Arch client client = OpenAI(base_url="http://127.0.0.1:2000/") From 5d5762ac20a7a2e23630da5d41018d00992304a8 Mon Sep 17 00:00:00 2001 From: Matt Kafonek Date: Mon, 28 Jul 2025 03:48:35 -0400 Subject: [PATCH 11/13] swap out python to sys.executable to support uv tool install workflows (#544) --- model_server/src/cli.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/model_server/src/cli.py b/model_server/src/cli.py index 5245873e..d0d9e9e1 100644 --- a/model_server/src/cli.py +++ b/model_server/src/cli.py @@ -72,7 +72,7 @@ def start_server(port=51000, foreground=False): if foreground: process = subprocess.Popen( [ - "python", + sys.executable, "-m", "uvicorn", "src.main:app", @@ -85,7 +85,7 @@ def start_server(port=51000, foreground=False): else: process = subprocess.Popen( [ - "python", + sys.executable, "-m", "uvicorn", "src.main:app", From 62a092fa63174b737155bf44e45ff15411eca1da Mon Sep 17 00:00:00 2001 From: Salman Paracha Date: Mon, 28 Jul 2025 11:45:07 -0700 Subject: [PATCH 12/13] consistent messaging (#546) * consistent messaging * updating README --------- Co-authored-by: Salman Paracha --- README.md | 2 +- docs/source/_static/img/arch-logo.png | Bin 222917 -> 222594 bytes docs/source/get_started/intro_to_arch.rst | 2 +- docs/source/get_started/overview.rst | 4 ++-- docs/source/index.rst | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f7481ee5..e93db8a7 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@
-_Arch is a proxy server designed as a modular edge and AI gateway for agentic apps_

+_Arch is a smart proxy server designed as a modular edge and AI gateway for agentic apps_

Arch handles the *pesky low-level work* in building agentic apps — like applying guardrails, clarifying vague user input, routing prompts to the right agent, and unifying access to any LLM. It’s a language and framework friendly infrastructure layer designed to help you build and ship agentic apps faster. diff --git a/docs/source/_static/img/arch-logo.png b/docs/source/_static/img/arch-logo.png index 5b6c0b1519754825fb15d87b24a451f54089fb49..f7ea887fa55017fb6a2de895d195a1c9e66cb4a6 100644 GIT binary patch delta 61977 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�xC@+0n6 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 +06PD_8 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¥{1wj(PH8`JAv*Ff8 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 diff --git a/docs/source/get_started/intro_to_arch.rst b/docs/source/get_started/intro_to_arch.rst index 6409a546..27211f67 100644 --- a/docs/source/get_started/intro_to_arch.rst +++ b/docs/source/get_started/intro_to_arch.rst @@ -20,7 +20,7 @@ Arch is designed to solve these problems by providing a unified, out-of-process High-level network flow of where Arch Gateway sits in your agentic stack. Designed for both ingress and egress prompt traffic. -`Arch `_ is a modular edge and AI gateway for AI-native apps - built by the contributors of Envoy Proxy with the belief that: +`Arch `_ is a smart edge and AI gateway for AI-native apps - built by the contributors of Envoy Proxy with the belief that: *Prompts are nuanced and opaque user requests, which require the same capabilities as traditional HTTP requests including secure handling, intelligent routing, robust observability, and integration with backend (API) diff --git a/docs/source/get_started/overview.rst b/docs/source/get_started/overview.rst index 8ccdb9b8..ac769cc2 100644 --- a/docs/source/get_started/overview.rst +++ b/docs/source/get_started/overview.rst @@ -3,9 +3,9 @@ Overview ============ -`Arch `_ is a modular edge and AI gateway for AI-native apps - one that is natively designed to handle and process prompts, not just network traffic. +`Arch `_ is a smart edge and AI gateway for AI-native apps - one that is natively designed to handle and process prompts, not just network traffic. -Built by contributors to the widely adopted `Envoy Proxy `_, Arch helps you move faster by handling the pesky *low-level* work in AI agent development—fast input clarification, intelligent agent routing, seamless prompt-to-tool integration, and unified LLM access and observability—all without locking you into a framework. +Built by contributors to the widely adopted `Envoy Proxy `_, Arch handles the *pesky low-level work* in building agentic apps — like applying guardrails, clarifying vague user input, routing prompts to the right agent, and unifying access to any LLM. It’s a language and framework friendly infrastructure layer designed to help you build and ship agentic apps faster. In this documentation, you will learn how to quickly set up Arch to trigger API calls via prompts, apply prompt guardrails without writing any application-level logic, diff --git a/docs/source/index.rst b/docs/source/index.rst index 67cf3423..bd724eef 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -14,9 +14,9 @@ Welcome to Arch! Arch - Build fast, hyper-personalized agents with intelligent infra | Product Hunt -`Arch `_ is a modular edge and AI gateway for AI-native apps - one that is natively designed to handle and process prompts, not just network traffic. +`Arch `_ is a smart edge and AI gateway for AI-native apps - one that is natively designed to handle and process prompts, not just network traffic. -Built by contributors to the widely adopted `Envoy Proxy `_, Arch helps you move faster by handling the pesky *low-level* work in AI agent development—fast input clarification, intelligent agent routing, seamless prompt-to-tool integration, and unified LLM access and observability—all without locking you into a framework. +Built by contributors to the widely adopted `Envoy Proxy `_, Arch handles the *pesky low-level work* in building agentic apps — like applying guardrails, clarifying vague user input, routing prompts to the right agent, and unifying access to any LLM. It’s a language and framework friendly infrastructure layer designed to help you build and ship agentic apps faster. .. tab-set:: From 93ff4d7b1fd59e89d4a5704891de7040105cc6bd Mon Sep 17 00:00:00 2001 From: Salman Paracha Date: Thu, 7 Aug 2025 12:42:09 -0700 Subject: [PATCH 13/13] pushing new apis module for hermes (#547) --- crates/hermesllm/src/apis/anthropic.rs | 898 ++++++++++ crates/hermesllm/src/apis/mod.rs | 197 +++ crates/hermesllm/src/apis/openai.rs | 883 ++++++++++ crates/hermesllm/src/clients/endpoints.rs | 130 ++ crates/hermesllm/src/clients/lib.rs | 33 + crates/hermesllm/src/clients/mod.rs | 9 + crates/hermesllm/src/clients/transformer.rs | 1722 +++++++++++++++++++ crates/hermesllm/src/lib.rs | 6 +- crates/hermesllm/src/mod.rs | 2 + 9 files changed, 3878 insertions(+), 2 deletions(-) create mode 100644 crates/hermesllm/src/apis/anthropic.rs create mode 100644 crates/hermesllm/src/apis/mod.rs create mode 100644 crates/hermesllm/src/apis/openai.rs create mode 100644 crates/hermesllm/src/clients/endpoints.rs create mode 100644 crates/hermesllm/src/clients/lib.rs create mode 100644 crates/hermesllm/src/clients/mod.rs create mode 100644 crates/hermesllm/src/clients/transformer.rs create mode 100644 crates/hermesllm/src/mod.rs diff --git a/crates/hermesllm/src/apis/anthropic.rs b/crates/hermesllm/src/apis/anthropic.rs new file mode 100644 index 00000000..0ffe4e8d --- /dev/null +++ b/crates/hermesllm/src/apis/anthropic.rs @@ -0,0 +1,898 @@ +use serde::{Deserialize, Serialize}; +use serde_json::Value; +use serde_with::skip_serializing_none; +use std::collections::HashMap; + +use super::ApiDefinition; + +// Enum for all supported Anthropic APIs +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub enum AnthropicApi { + Messages, + // Future APIs can be added here: + // Embeddings, + // etc. +} + +impl ApiDefinition for AnthropicApi { + fn endpoint(&self) -> &'static str { + match self { + AnthropicApi::Messages => "/v1/messages", + } + } + + fn from_endpoint(endpoint: &str) -> Option { + match endpoint { + "/v1/messages" => Some(AnthropicApi::Messages), + _ => None, + } + } + + fn supports_streaming(&self) -> bool { + match self { + AnthropicApi::Messages => true, + } + } + + fn supports_tools(&self) -> bool { + match self { + AnthropicApi::Messages => true, + } + } + + fn supports_vision(&self) -> bool { + match self { + AnthropicApi::Messages => true, + } + } + + fn all_variants() -> Vec { + vec![ + AnthropicApi::Messages, + ] + } +} + +// Service tier enum for request priority +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "snake_case")] +pub enum ServiceTier { + Auto, + StandardOnly, +} + +// Thinking configuration +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct ThinkingConfig { + pub enabled: bool, +} + +// MCP Server types +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "lowercase")] +pub enum McpServerType { + Url, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct McpToolConfiguration { + pub allowed_tools: Option>, + pub enabled: Option, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct McpServer { + pub name: String, + #[serde(rename = "type")] + pub server_type: McpServerType, + pub url: String, + pub authorization_token: Option, + pub tool_configuration: Option, +} + + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesRequest { + pub model: String, + pub messages: Vec, + pub max_tokens: u32, + pub container: Option, + pub mcp_servers: Option>, + pub system: Option, + pub metadata: Option>, + pub service_tier: Option, + pub thinking: Option, + + pub temperature: Option, + pub top_p: Option, + pub top_k: Option, + pub stream: Option, + pub stop_sequences: Option>, + pub tools: Option>, + pub tool_choice: Option, + +} + + +// Messages API specific types +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "lowercase")] +pub enum MessagesRole { + User, + Assistant, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +#[serde(rename_all = "snake_case")] +#[serde(tag = "type")] +pub enum MessagesContentBlock { + Text { + text: String, + }, + Thinking { + text: String, + }, + Image { + source: MessagesImageSource, + }, + Document { + source: MessagesDocumentSource, + }, + ToolUse { + id: String, + name: String, + input: Value, + }, + ToolResult { + tool_use_id: String, + is_error: Option, + content: Vec, + }, + ServerToolUse { + id: String, + name: String, + input: Value, + }, + WebSearchToolResult { + tool_use_id: String, + is_error: Option, + content: Vec, + }, + CodeExecutionToolResult { + tool_use_id: String, + is_error: Option, + content: Vec, + }, + McpToolUse { + id: String, + name: String, + input: Value, + }, + McpToolResult { + tool_use_id: String, + is_error: Option, + content: Vec, + }, + ContainerUpload { + id: String, + name: String, + media_type: String, + data: String, + }, +} + +#[derive(Serialize, Deserialize, Debug, Clone)] +#[serde(rename_all = "snake_case")] +pub enum MessagesImageSource { + Base64 { + media_type: String, + data: String, + }, + Url { + url: String, + }, +} + +#[derive(Serialize, Deserialize, Debug, Clone)] +#[serde(rename_all = "snake_case")] +pub enum MessagesDocumentSource { + Base64 { + media_type: String, + data: String, + }, + Url { + url: String, + }, + File { + file_id: String, + }, +} + +#[derive(Serialize, Deserialize, Debug, Clone)] +#[serde(untagged)] +pub enum MessagesMessageContent { + Single(String), + Blocks(Vec), +} + +#[derive(Serialize, Deserialize, Debug, Clone)] +#[serde(untagged)] +pub enum MessagesSystemPrompt { + Single(String), + Blocks(Vec), +} + +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesMessage { + pub role: MessagesRole, + pub content: MessagesMessageContent, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesTool { + pub name: String, + pub description: Option, + pub input_schema: Value, +} + +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] +#[serde(rename_all = "snake_case")] +pub enum MessagesToolChoiceType { + Auto, + Any, + Tool, + None, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesToolChoice { + #[serde(rename = "type")] + pub kind: MessagesToolChoiceType, + pub name: Option, + pub disable_parallel_tool_use: Option, +} + + +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] +#[serde(rename_all = "snake_case")] +pub enum MessagesStopReason { + EndTurn, + MaxTokens, + StopSequence, + ToolUse, + PauseTurn, + Refusal, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesUsage { + pub input_tokens: u32, + pub output_tokens: u32, + pub cache_creation_input_tokens: Option, + pub cache_read_input_tokens: Option, +} + +// Container response object +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesContainer { + pub id: String, + #[serde(rename = "type")] + pub container_type: String, + pub name: String, + pub status: String, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesResponse { + pub id: String, + #[serde(rename = "type")] + pub obj_type: String, + pub role: MessagesRole, + pub content: Vec, + pub model: String, + pub stop_reason: MessagesStopReason, + pub stop_sequence: Option, + pub usage: MessagesUsage, + pub container: Option, +} + +#[derive(Serialize, Deserialize, Debug, Clone)] +#[serde(rename_all = "snake_case")] +#[serde(tag = "type")] +pub enum MessagesStreamEvent { + MessageStart { + message: MessagesStreamMessage, + }, + ContentBlockStart { + index: u32, + content_block: MessagesContentBlock, + }, + ContentBlockDelta { + index: u32, + delta: MessagesContentDelta, + }, + ContentBlockStop { + index: u32, + }, + MessageDelta { + delta: MessagesMessageDelta, + usage: MessagesUsage, + }, + MessageStop, + Ping, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesStreamMessage { + pub id: String, + #[serde(rename = "type")] + pub obj_type: String, + pub role: MessagesRole, + pub content: Vec, // Initially empty + pub model: String, + pub stop_reason: Option, + pub stop_sequence: Option, + pub usage: MessagesUsage, +} + +#[derive(Serialize, Deserialize, Debug, Clone)] +#[serde(tag = "type")] +pub enum MessagesContentDelta { + #[serde(rename = "text_delta")] + TextDelta { text: String }, + #[serde(rename = "input_json_delta")] + InputJsonDelta { partial_json: String }, +} + +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone)] +pub struct MessagesMessageDelta { + pub stop_reason: MessagesStopReason, + pub stop_sequence: Option, +} + +// Helper functions for API detection and conversion +impl MessagesRequest { + pub fn api_type() -> AnthropicApi { + AnthropicApi::Messages + } +} + +impl MessagesResponse { + pub fn api_type() -> AnthropicApi { + AnthropicApi::Messages + } +} + +impl MessagesStreamEvent { + pub fn api_type() -> AnthropicApi { + AnthropicApi::Messages + } +} + +#[cfg(test)] +mod tests { + use super::*; + use serde_json::json; + + #[test] + fn test_anthropic_required_fields() { + // Create a JSON object with only required fields + let original_json = json!({ + "model": "claude-3-sonnet-20240229", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "max_tokens": 100 + }); + + // Deserialize JSON into MessagesRequest + let deserialized_request: MessagesRequest = serde_json::from_value(original_json.clone()).unwrap(); + + // Validate required fields are properly set + assert_eq!(deserialized_request.model, "claude-3-sonnet-20240229"); + assert_eq!(deserialized_request.messages.len(), 1); + assert_eq!(deserialized_request.max_tokens, 100); + + let message = &deserialized_request.messages[0]; + assert_eq!(message.role, MessagesRole::User); + if let MessagesMessageContent::Single(content) = &message.content { + assert_eq!(content, "Hello"); + } else { + panic!("Expected single content"); + } + + // Validate optional fields are None + assert!(deserialized_request.system.is_none()); + assert!(deserialized_request.container.is_none()); + assert!(deserialized_request.mcp_servers.is_none()); + assert!(deserialized_request.service_tier.is_none()); + assert!(deserialized_request.thinking.is_none()); + assert!(deserialized_request.temperature.is_none()); + assert!(deserialized_request.top_p.is_none()); + assert!(deserialized_request.top_k.is_none()); + assert!(deserialized_request.stream.is_none()); + assert!(deserialized_request.stop_sequences.is_none()); + assert!(deserialized_request.tools.is_none()); + assert!(deserialized_request.tool_choice.is_none()); + assert!(deserialized_request.metadata.is_none()); + + // Serialize back to JSON and compare + let serialized_json = serde_json::to_value(&deserialized_request).unwrap(); + assert_eq!(original_json, serialized_json); + } + + #[test] + fn test_anthropic_optional_fields() { + // Create a JSON object with optional fields set + let original_json = json!({ + "model": "claude-3-sonnet-20240229", + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "max_tokens": 100, + "temperature": 0.7, + "top_p": 0.9, + "system": "You are a helpful assistant", + "service_tier": "auto", + "thinking": { + "enabled": true + }, + "metadata": { + "user_id": "123" + } + }); + + // Deserialize JSON into MessagesRequest + let deserialized_request: MessagesRequest = serde_json::from_value(original_json.clone()).unwrap(); + + // Validate required fields + assert_eq!(deserialized_request.model, "claude-3-sonnet-20240229"); + assert_eq!(deserialized_request.messages.len(), 1); + assert_eq!(deserialized_request.max_tokens, 100); + + // Validate optional fields are properly set + assert!((deserialized_request.temperature.unwrap() - 0.7).abs() < 1e-6); + assert!((deserialized_request.top_p.unwrap() - 0.9).abs() < 1e-6); + assert_eq!(deserialized_request.service_tier, Some(ServiceTier::Auto)); + + if let Some(MessagesSystemPrompt::Single(system)) = &deserialized_request.system { + assert_eq!(system, "You are a helpful assistant"); + } else { + panic!("Expected single system prompt"); + } + + if let Some(thinking) = &deserialized_request.thinking { + assert_eq!(thinking.enabled, true); + } else { + panic!("Expected thinking config"); + } + + assert!(deserialized_request.metadata.is_some()); + + // Validate fields not in JSON are None + assert!(deserialized_request.container.is_none()); + assert!(deserialized_request.mcp_servers.is_none()); + assert!(deserialized_request.top_k.is_none()); + assert!(deserialized_request.stream.is_none()); + assert!(deserialized_request.stop_sequences.is_none()); + assert!(deserialized_request.tools.is_none()); + assert!(deserialized_request.tool_choice.is_none()); + + // Serialize back to JSON and compare (handle floating point precision) + let serialized_json = serde_json::to_value(&deserialized_request).unwrap(); + + // Compare all fields except floating point ones + assert_eq!(serialized_json["model"], original_json["model"]); + assert_eq!(serialized_json["messages"], original_json["messages"]); + assert_eq!(serialized_json["max_tokens"], original_json["max_tokens"]); + assert_eq!(serialized_json["system"], original_json["system"]); + assert_eq!(serialized_json["service_tier"], original_json["service_tier"]); + assert_eq!(serialized_json["thinking"], original_json["thinking"]); + assert_eq!(serialized_json["metadata"], original_json["metadata"]); + + // Handle floating point fields with tolerance + let original_temp = original_json["temperature"].as_f64().unwrap(); + let serialized_temp = serialized_json["temperature"].as_f64().unwrap(); + assert!((original_temp - serialized_temp).abs() < 1e-6); + + let original_top_p = original_json["top_p"].as_f64().unwrap(); + let serialized_top_p = serialized_json["top_p"].as_f64().unwrap(); + assert!((original_top_p - serialized_top_p).abs() < 1e-6); + } + + #[test] + fn test_anthropic_nested_types() { + // Create a comprehensive JSON object with nested types - a MessagesRequest with complex message content and tools + let original_json = json!({ + "model": "claude-3-sonnet-20240229", + "max_tokens": 1000, + "messages": [ + { + "role": "user", + "content": [ + { + "type": "text", + "text": "What can you see in this image and what's the weather like?" + }, + { + "type": "image", + "source": { + "base64": { + "media_type": "image/jpeg", + "data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" + } + } + } + ] + }, + { + "role": "assistant", + "content": [ + { + "type": "thinking", + "text": "Let me analyze the image and then check the weather..." + }, + { + "type": "text", + "text": "I can see the image. Let me check the weather for you." + }, + { + "type": "tool_use", + "id": "toolu_weather123", + "name": "get_weather", + "input": { + "location": "San Francisco, CA" + } + } + ] + } + ], + "tools": [ + { + "name": "get_weather", + "description": "Get current weather information for a location", + "input_schema": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": ["location"] + } + } + ], + "tool_choice": { + "type": "auto" + }, + "system": [ + { + "type": "text", + "text": "You are a helpful assistant that can analyze images and provide weather information." + } + ] + }); + + // Deserialize JSON into MessagesRequest + let deserialized_request: MessagesRequest = serde_json::from_value(original_json.clone()).unwrap(); + + // Validate top-level fields + assert_eq!(deserialized_request.model, "claude-3-sonnet-20240229"); + assert_eq!(deserialized_request.max_tokens, 1000); + assert_eq!(deserialized_request.messages.len(), 2); + + // Validate first message (user with text and image content) + let user_message = &deserialized_request.messages[0]; + assert_eq!(user_message.role, MessagesRole::User); + if let MessagesMessageContent::Blocks(ref content_blocks) = user_message.content { + assert_eq!(content_blocks.len(), 2); + + // Validate text content block + if let MessagesContentBlock::Text { text } = &content_blocks[0] { + assert_eq!(text, "What can you see in this image and what's the weather like?"); + } else { + panic!("Expected text content block"); + } + + // Validate image content block + if let MessagesContentBlock::Image { ref source } = content_blocks[1] { + if let MessagesImageSource::Base64 { media_type, data } = source { + assert_eq!(media_type, "image/jpeg"); + assert_eq!(data, "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="); + } else { + panic!("Expected base64 image source"); + } + } else { + panic!("Expected image content block"); + } + } else { + panic!("Expected content blocks for user message"); + } + + // Validate second message (assistant with thinking, text, and tool use) + let assistant_message = &deserialized_request.messages[1]; + assert_eq!(assistant_message.role, MessagesRole::Assistant); + if let MessagesMessageContent::Blocks(ref content_blocks) = assistant_message.content { + assert_eq!(content_blocks.len(), 3); + + // Validate thinking content block + if let MessagesContentBlock::Thinking { text } = &content_blocks[0] { + assert_eq!(text, "Let me analyze the image and then check the weather..."); + } else { + panic!("Expected thinking content block"); + } + + // Validate text content block + if let MessagesContentBlock::Text { text } = &content_blocks[1] { + assert_eq!(text, "I can see the image. Let me check the weather for you."); + } else { + panic!("Expected text content block"); + } + + // Validate tool use content block + if let MessagesContentBlock::ToolUse { ref id, ref name, ref input } = content_blocks[2] { + assert_eq!(id, "toolu_weather123"); + assert_eq!(name, "get_weather"); + assert_eq!(input["location"], "San Francisco, CA"); + } else { + panic!("Expected tool use content block"); + } + } else { + panic!("Expected content blocks for assistant message"); + } + + // Validate tools array + assert!(deserialized_request.tools.is_some()); + let tools = deserialized_request.tools.as_ref().unwrap(); + assert_eq!(tools.len(), 1); + + let tool = &tools[0]; + assert_eq!(tool.name, "get_weather"); + assert_eq!(tool.description, Some("Get current weather information for a location".to_string())); + assert_eq!(tool.input_schema["type"], "object"); + assert!(tool.input_schema["properties"]["location"].is_object()); + + // Validate tool choice + assert!(deserialized_request.tool_choice.is_some()); + let tool_choice = deserialized_request.tool_choice.as_ref().unwrap(); + assert_eq!(tool_choice.kind, MessagesToolChoiceType::Auto); + assert!(tool_choice.name.is_none()); + + // Validate system prompt with content blocks + assert!(deserialized_request.system.is_some()); + if let Some(MessagesSystemPrompt::Blocks(ref system_blocks)) = deserialized_request.system { + assert_eq!(system_blocks.len(), 1); + if let MessagesContentBlock::Text { text } = &system_blocks[0] { + assert_eq!(text, "You are a helpful assistant that can analyze images and provide weather information."); + } else { + panic!("Expected text content block in system prompt"); + } + } else { + panic!("Expected system prompt with content blocks"); + } + + // Serialize back to JSON and compare + let serialized_json = serde_json::to_value(&deserialized_request).unwrap(); + assert_eq!(original_json, serialized_json); + } + + #[test] + fn test_anthropic_mcp_server_configuration() { + // Test MCP Server configuration with JSON-first approach + let mcp_server_json = json!({ + "name": "test-server", + "type": "url", + "url": "https://example.com/mcp", + "authorization_token": "secret-token", + "tool_configuration": { + "allowed_tools": ["tool1", "tool2"], + "enabled": true + } + }); + + let deserialized_mcp: McpServer = serde_json::from_value(mcp_server_json.clone()).unwrap(); + assert_eq!(deserialized_mcp.name, "test-server"); + assert_eq!(deserialized_mcp.server_type, McpServerType::Url); + assert_eq!(deserialized_mcp.url, "https://example.com/mcp"); + assert_eq!(deserialized_mcp.authorization_token, Some("secret-token".to_string())); + + if let Some(tool_config) = &deserialized_mcp.tool_configuration { + assert_eq!(tool_config.allowed_tools, Some(vec!["tool1".to_string(), "tool2".to_string()])); + assert_eq!(tool_config.enabled, Some(true)); + } else { + panic!("Expected tool configuration"); + } + + let serialized_mcp_json = serde_json::to_value(&deserialized_mcp).unwrap(); + assert_eq!(mcp_server_json, serialized_mcp_json); + + // Test MCP Server with minimal configuration (optional fields as None) + let minimal_mcp_json = json!({ + "name": "minimal-server", + "type": "url", + "url": "https://minimal.com/mcp" + }); + + let deserialized_minimal: McpServer = serde_json::from_value(minimal_mcp_json.clone()).unwrap(); + assert_eq!(deserialized_minimal.name, "minimal-server"); + assert_eq!(deserialized_minimal.server_type, McpServerType::Url); + assert_eq!(deserialized_minimal.url, "https://minimal.com/mcp"); + assert!(deserialized_minimal.authorization_token.is_none()); + assert!(deserialized_minimal.tool_configuration.is_none()); + + let serialized_minimal_json = serde_json::to_value(&deserialized_minimal).unwrap(); + assert_eq!(minimal_mcp_json, serialized_minimal_json); + } + + #[test] + fn test_anthropic_response_types() { + // Test MessagesResponse deserialization + let response_json = json!({ + "id": "msg_01ABC123", + "type": "message", + "role": "assistant", + "content": [ + { + "type": "text", + "text": "Hello! How can I help you today?" + } + ], + "model": "claude-3-sonnet-20240229", + "stop_reason": "end_turn", + "usage": { + "input_tokens": 10, + "output_tokens": 25, + "cache_creation_input_tokens": 5, + "cache_read_input_tokens": 3 + } + }); + + let deserialized_response: MessagesResponse = serde_json::from_value(response_json.clone()).unwrap(); + assert_eq!(deserialized_response.id, "msg_01ABC123"); + assert_eq!(deserialized_response.obj_type, "message"); + assert_eq!(deserialized_response.role, MessagesRole::Assistant); + assert_eq!(deserialized_response.model, "claude-3-sonnet-20240229"); + assert_eq!(deserialized_response.stop_reason, MessagesStopReason::EndTurn); + assert!(deserialized_response.stop_sequence.is_none()); + assert!(deserialized_response.container.is_none()); + + // Check content + assert_eq!(deserialized_response.content.len(), 1); + if let MessagesContentBlock::Text { text } = &deserialized_response.content[0] { + assert_eq!(text, "Hello! How can I help you today?"); + } else { + panic!("Expected text content block"); + } + + // Check usage + assert_eq!(deserialized_response.usage.input_tokens, 10); + assert_eq!(deserialized_response.usage.output_tokens, 25); + assert_eq!(deserialized_response.usage.cache_creation_input_tokens, Some(5)); + assert_eq!(deserialized_response.usage.cache_read_input_tokens, Some(3)); + + let serialized_response_json = serde_json::to_value(&deserialized_response).unwrap(); + assert_eq!(response_json, serialized_response_json); + + // Test streaming event + let stream_event_json = json!({ + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " How" + } + }); + + let deserialized_event: MessagesStreamEvent = serde_json::from_value(stream_event_json.clone()).unwrap(); + if let MessagesStreamEvent::ContentBlockDelta { index, ref delta } = deserialized_event { + assert_eq!(index, 0); + if let MessagesContentDelta::TextDelta { text } = delta { + assert_eq!(text, " How"); + } else { + panic!("Expected text delta"); + } + } else { + panic!("Expected content block delta event"); + } + + let serialized_event_json = serde_json::to_value(&deserialized_event).unwrap(); + assert_eq!(stream_event_json, serialized_event_json); + } + + #[test] + fn test_anthropic_tool_use_content() { + // Test tool use and tool result content blocks + let tool_use_json = json!({ + "type": "tool_use", + "id": "toolu_01ABC123", + "name": "get_weather", + "input": { + "location": "San Francisco, CA" + } + }); + + let deserialized_tool_use: MessagesContentBlock = serde_json::from_value(tool_use_json.clone()).unwrap(); + if let MessagesContentBlock::ToolUse { ref id, ref name, ref input } = deserialized_tool_use { + assert_eq!(id, "toolu_01ABC123"); + assert_eq!(name, "get_weather"); + assert_eq!(input["location"], "San Francisco, CA"); + } else { + panic!("Expected tool use content block"); + } + + let serialized_tool_use_json = serde_json::to_value(&deserialized_tool_use).unwrap(); + assert_eq!(tool_use_json, serialized_tool_use_json); + + // Test tool result content block + let tool_result_json = json!({ + "type": "tool_result", + "tool_use_id": "toolu_01ABC123", + "content": [ + { + "type": "text", + "text": "The weather in San Francisco is sunny, 72°F" + } + ] + }); + + let deserialized_tool_result: MessagesContentBlock = serde_json::from_value(tool_result_json.clone()).unwrap(); + if let MessagesContentBlock::ToolResult { ref tool_use_id, ref is_error, ref content } = deserialized_tool_result { + assert_eq!(tool_use_id, "toolu_01ABC123"); + assert!(is_error.is_none()); + assert_eq!(content.len(), 1); + if let MessagesContentBlock::Text { text } = &content[0] { + assert_eq!(text, "The weather in San Francisco is sunny, 72°F"); + } else { + panic!("Expected text content in tool result"); + } + } else { + panic!("Expected tool result content block"); + } + + let serialized_tool_result_json = serde_json::to_value(&deserialized_tool_result).unwrap(); + assert_eq!(tool_result_json, serialized_tool_result_json); + } + + #[test] + fn test_anthropic_api_provider_trait_implementation() { + // Test that AnthropicApi implements ApiDefinition trait correctly + let api = AnthropicApi::Messages; + + // Test trait methods + assert_eq!(api.endpoint(), "/v1/messages"); + assert!(api.supports_streaming()); + assert!(api.supports_tools()); + assert!(api.supports_vision()); + + // Test from_endpoint trait method + let found_api = AnthropicApi::from_endpoint("/v1/messages"); + assert_eq!(found_api, Some(AnthropicApi::Messages)); + + let not_found = AnthropicApi::from_endpoint("/v1/unknown"); + assert_eq!(not_found, None); + + // Test all_variants + let all_variants = AnthropicApi::all_variants(); + assert_eq!(all_variants.len(), 1); + assert_eq!(all_variants[0], AnthropicApi::Messages); + } +} diff --git a/crates/hermesllm/src/apis/mod.rs b/crates/hermesllm/src/apis/mod.rs new file mode 100644 index 00000000..78b634d5 --- /dev/null +++ b/crates/hermesllm/src/apis/mod.rs @@ -0,0 +1,197 @@ +pub mod anthropic; +pub mod openai; + +// Re-export all types for convenience +pub use anthropic::*; +pub use openai::*; + +/// Common trait that all API definitions must implement +/// +/// This trait ensures consistency across different AI provider API definitions +/// and makes it easy to add new providers like Gemini, Claude, etc. +/// +/// Note: This is different from the `ApiProvider` enum in `clients::endpoints` +/// which represents provider identification, while this trait defines API capabilities. +/// +/// # Benefits +/// +/// - **Consistency**: All API providers implement the same interface +/// - **Extensibility**: Easy to add new providers without breaking existing code +/// - **Type Safety**: Compile-time guarantees that all providers implement required methods +/// - **Discoverability**: Clear documentation of what capabilities each API supports +/// +/// # Example implementation for a new provider: +/// +/// ```rust,ignore +/// use serde::{Deserialize, Serialize}; +/// use super::ApiDefinition; +/// +/// #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +/// pub enum GeminiApi { +/// GenerateContent, +/// ChatCompletions, +/// } +/// +/// impl GeminiApi { +/// pub fn endpoint(&self) -> &'static str { +/// match self { +/// GeminiApi::GenerateContent => "/v1/models/gemini-pro:generateContent", +/// GeminiApi::ChatCompletions => "/v1/models/gemini-pro:chat", +/// } +/// } +/// +/// pub fn from_endpoint(endpoint: &str) -> Option { +/// match endpoint { +/// "/v1/models/gemini-pro:generateContent" => Some(GeminiApi::GenerateContent), +/// "/v1/models/gemini-pro:chat" => Some(GeminiApi::ChatCompletions), +/// _ => None, +/// } +/// } +/// +/// pub fn supports_streaming(&self) -> bool { +/// match self { +/// GeminiApi::GenerateContent => true, +/// GeminiApi::ChatCompletions => true, +/// } +/// } +/// +/// pub fn supports_tools(&self) -> bool { +/// match self { +/// GeminiApi::GenerateContent => true, +/// GeminiApi::ChatCompletions => false, +/// } +/// } +/// +/// pub fn supports_vision(&self) -> bool { +/// match self { +/// GeminiApi::GenerateContent => true, +/// GeminiApi::ChatCompletions => false, +/// } +/// } +/// } +/// +/// impl ApiDefinition for GeminiApi { +/// fn endpoint(&self) -> &'static str { +/// self.endpoint() +/// } +/// +/// fn from_endpoint(endpoint: &str) -> Option { +/// Self::from_endpoint(endpoint) +/// } +/// +/// fn supports_streaming(&self) -> bool { +/// self.supports_streaming() +/// } +/// +/// fn supports_tools(&self) -> bool { +/// self.supports_tools() +/// } +/// +/// fn supports_vision(&self) -> bool { +/// self.supports_vision() +/// } +/// } +/// +/// // Now you can use generic code that works with any API: +/// fn print_api_info(api: &T) { +/// println!("Endpoint: {}", api.endpoint()); +/// println!("Supports streaming: {}", api.supports_streaming()); +/// println!("Supports tools: {}", api.supports_tools()); +/// println!("Supports vision: {}", api.supports_vision()); +/// } +/// +/// // Works with both OpenAI and Anthropic (and future Gemini) +/// print_api_info(&OpenAIApi::ChatCompletions); +/// print_api_info(&AnthropicApi::Messages); +/// print_api_info(&GeminiApi::GenerateContent); +/// ``` +pub trait ApiDefinition { + /// Returns the endpoint path for this API + fn endpoint(&self) -> &'static str; + + /// Creates an API instance from an endpoint path + fn from_endpoint(endpoint: &str) -> Option + where + Self: Sized; + + /// Returns whether this API supports streaming responses + fn supports_streaming(&self) -> bool; + + /// Returns whether this API supports tool/function calling + fn supports_tools(&self) -> bool; + + /// Returns whether this API supports vision/image processing + fn supports_vision(&self) -> bool; + + /// Returns all variants of this API enum + fn all_variants() -> Vec + where + Self: Sized; +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_generic_api_functionality() { + // Test that our generic API functionality works with both providers + fn test_api(api: &T) { + let endpoint = api.endpoint(); + assert!(!endpoint.is_empty()); + assert!(endpoint.starts_with('/')); + } + + test_api(&OpenAIApi::ChatCompletions); + test_api(&AnthropicApi::Messages); + } + + #[test] + fn test_api_detection_from_endpoints() { + // Test that we can detect APIs from endpoints using the trait + let endpoints = vec![ + "/v1/chat/completions", + "/v1/messages", + "/v1/unknown" + ]; + + let mut detected_apis = Vec::new(); + + for endpoint in endpoints { + if let Some(api) = OpenAIApi::from_endpoint(endpoint) { + detected_apis.push(format!("OpenAI: {:?}", api)); + } else if let Some(api) = AnthropicApi::from_endpoint(endpoint) { + detected_apis.push(format!("Anthropic: {:?}", api)); + } else { + detected_apis.push("Unknown API".to_string()); + } + } + + assert_eq!(detected_apis, vec![ + "OpenAI: ChatCompletions", + "Anthropic: Messages", + "Unknown API" + ]); + } + + #[test] + fn test_all_variants_method() { + // Test that all_variants returns the expected variants + let openai_variants = OpenAIApi::all_variants(); + assert_eq!(openai_variants.len(), 1); + assert!(openai_variants.contains(&OpenAIApi::ChatCompletions)); + + let anthropic_variants = AnthropicApi::all_variants(); + assert_eq!(anthropic_variants.len(), 1); + assert!(anthropic_variants.contains(&AnthropicApi::Messages)); + + // Verify each variant has a valid endpoint + for variant in openai_variants { + assert!(!variant.endpoint().is_empty()); + } + + for variant in anthropic_variants { + assert!(!variant.endpoint().is_empty()); + } + } +} diff --git a/crates/hermesllm/src/apis/openai.rs b/crates/hermesllm/src/apis/openai.rs new file mode 100644 index 00000000..7f75c6be --- /dev/null +++ b/crates/hermesllm/src/apis/openai.rs @@ -0,0 +1,883 @@ +use serde::{Deserialize, Serialize}; +use serde_json::Value; +use serde_with::skip_serializing_none; +use std::collections::HashMap; + +use super::ApiDefinition; + +// ============================================================================ +// OPENAI API ENUMERATION +// ============================================================================ + +/// Enum for all supported OpenAI APIs +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub enum OpenAIApi { + ChatCompletions, + // Future APIs can be added here: + // Embeddings, + // FineTuning, + // etc. +} + +impl ApiDefinition for OpenAIApi { + fn endpoint(&self) -> &'static str { + match self { + OpenAIApi::ChatCompletions => "/v1/chat/completions", + } + } + + fn from_endpoint(endpoint: &str) -> Option { + match endpoint { + "/v1/chat/completions" => Some(OpenAIApi::ChatCompletions), + _ => None, + } + } + + fn supports_streaming(&self) -> bool { + match self { + OpenAIApi::ChatCompletions => true, + } + } + + fn supports_tools(&self) -> bool { + match self { + OpenAIApi::ChatCompletions => true, + } + } + + fn supports_vision(&self) -> bool { + match self { + OpenAIApi::ChatCompletions => true, + } + } + + fn all_variants() -> Vec { + vec![ + OpenAIApi::ChatCompletions, + ] + } +} + +/// Chat completions API request +#[skip_serializing_none] +#[derive(Serialize, Deserialize, Debug, Clone, Default)] +pub struct ChatCompletionsRequest { + pub messages: Vec, + pub model: String, + // pub audio: Option