From b49de5ecbf3b7a0f33afe58fb4ef41c80bdadeb9 Mon Sep 17 00:00:00 2001 From: anpigon Date: Sun, 7 Jul 2024 19:43:30 +0900 Subject: [PATCH 01/15] chore: update dependencies in package.json --- bun.lockb | Bin 248138 -> 249922 bytes package.json | 181 ++++++++++++++++++++++++++------------------------- 2 files changed, 91 insertions(+), 90 deletions(-) diff --git a/bun.lockb b/bun.lockb index 352479973267b0e1283c975f30ab5d504d5fd2cc..887ef186d2b402c9cd91b63de1995b777e7182d7 100755 GIT binary patch delta 45979 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 tNfQH;Gb!C`Tq(nfPs8*JG Date: Sun, 7 Jul 2024 19:58:12 +0900 Subject: [PATCH 02/15] feat(constants.ts): update ANTHROPIC_MODELS with new model versions and remove deprecated ones --- src/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.ts b/src/constants.ts index 001a889..19b88b2 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -14,7 +14,7 @@ export const UPSTAGE_MODELS = [ 'solar-1-mini-chat', // GPT-3.5보다 뛰어난 성능을 제공하는 소형 LLM으로, 영어와 한국어를 모두 지원하는 강력한 다국어 기능을 갖추고 있어 더 작은 패키지로 높은 효율성을 제공합니다. Context Length: 32768 'solar-1-mini-chat-ja', // 영어와 한국어의 높은 효율성과 성능을 유지하면서 일본어에 특화된 solar-mini-chat의 기능을 확장한 소형 LLM입니다. Context Length: 32768 ]; -export const ANTHROPIC_MODELS = ['claude-instant-1.2', 'claude-2.0', 'claude-2.1', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229']; +export const ANTHROPIC_MODELS = ['claude-3-5-sonnet-20240620', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229', 'claude-3-haiku-20240307']; export const OPEN_AI_MODELS = ['gpt-3.5-turbo', 'gpt-4o', 'gpt-4']; export const enum LLM_PROVIDERS { From 830b5dc6dc2a11365aa812e88973e77cd194647c Mon Sep 17 00:00:00 2001 From: anpigon Date: Sun, 7 Jul 2024 19:58:34 +0900 Subject: [PATCH 03/15] feat(settings): add Anthropic settings component for configuring Anthropic API integration --- .../language-models/anthropic-setting.tsx | 73 +++++++++++++++++++ .../components/language-models/index.tsx | 2 + 2 files changed, 75 insertions(+) create mode 100644 src/features/setting/components/language-models/anthropic-setting.tsx diff --git a/src/features/setting/components/language-models/anthropic-setting.tsx b/src/features/setting/components/language-models/anthropic-setting.tsx new file mode 100644 index 0000000..ab0c65e --- /dev/null +++ b/src/features/setting/components/language-models/anthropic-setting.tsx @@ -0,0 +1,73 @@ +import {useTranslation} from 'react-i18next'; +import {useCallback, useState} from 'react'; +import {twMerge} from 'tailwind-merge'; +import clsx from 'clsx'; + +import {SettingItem} from '@/components/settings/setting-item'; +import {usePlugin, useSettings} from '@/hooks/useApp'; +import {useSettingDispatch} from '../../context'; +import {Toggle} from '@/components/form/toggle'; + +export const AnthropicSetting = () => { + const {t} = useTranslation('settings'); + + const plugin = usePlugin(); + const settings = useSettings(); + const {refreshChatbotView} = useSettingDispatch(); + const providerSettings = settings.providers.ANTHROPIC; + + const [enable, setEnable] = useState(providerSettings?.enable ?? false); + const [apiKey, setApiKey] = useState(providerSettings?.apiKey ?? ''); + const [allowStream, setAllowStream] = useState(providerSettings?.allowStream); + + const saveSettings = useCallback(async () => { + await plugin.saveSettings(); + refreshChatbotView(); + }, [plugin]); + + return ( + <> + + { + const value = event.target.checked; + setEnable(value); + providerSettings.enable = value; + saveSettings(); + }} + /> + + +
+ + { + const value = event.target.value?.trim(); + setApiKey(value); + providerSettings.apiKey = value; + saveSettings(); + }} + /> + + + + { + const value = event.target.checked; + setAllowStream(value); + providerSettings.allowStream = value; + saveSettings(); + }} + /> + +
+ + ); +}; diff --git a/src/features/setting/components/language-models/index.tsx b/src/features/setting/components/language-models/index.tsx index b59e541..9f7921d 100644 --- a/src/features/setting/components/language-models/index.tsx +++ b/src/features/setting/components/language-models/index.tsx @@ -2,6 +2,7 @@ import {useTranslation} from 'react-i18next'; import {SettingItem} from '@/components/settings/setting-item'; +import {AnthropicSetting} from './anthropic-setting'; import {LMStudioSetting} from './lm-studio-setting'; import {RestApiSetting} from './rest-api-setting'; import {UpstageSetting} from './upstage-setting'; @@ -23,6 +24,7 @@ export default function LanguageModels() { + ); } From 559c87d30b30e9e31e3b141a381c5dc322238cec Mon Sep 17 00:00:00 2001 From: anpigon Date: Sun, 7 Jul 2024 20:05:29 +0900 Subject: [PATCH 04/15] feat(chatbot-header.tsx): add fallback to ANTHROPIC_MODELS if no models are provided for ANTHROPIC provider chore(constants.ts): import ANTHROPIC_MODELS to be used in chatbot-header component --- src/features/chatbot/components/chatbot-header.tsx | 7 ++++++- src/features/setting/constants.ts | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/features/chatbot/components/chatbot-header.tsx b/src/features/chatbot/components/chatbot-header.tsx index 88b96fb..0871b84 100644 --- a/src/features/chatbot/components/chatbot-header.tsx +++ b/src/features/chatbot/components/chatbot-header.tsx @@ -2,7 +2,7 @@ import {ReactNode, type ChangeEventHandler, type FC, type PropsWithChildren} fro import {ProviderModels} from '@/hooks/useEnabledModels'; import {Dropdown} from '@/components/form/dropdown'; -import {LLM_PROVIDERS} from '@/constants'; +import {ANTHROPIC_MODELS, LLM_PROVIDERS} from '@/constants'; interface ChatbotHeaderProps extends PropsWithChildren { botName: string; @@ -39,6 +39,11 @@ export const ChatbotHeader: FC = ({botName, providers, disab {providers ?.filter(({provider, models}) => models.length > 0) .map(({provider, models}) => { + if(!models?.length) { + if(provider === LLM_PROVIDERS.ANTHROPIC) { + models = ANTHROPIC_MODELS; + } + } return ( {models.map(model => { diff --git a/src/features/setting/constants.ts b/src/features/setting/constants.ts index faa5b30..ed7597c 100644 --- a/src/features/setting/constants.ts +++ b/src/features/setting/constants.ts @@ -1,4 +1,5 @@ import { + ANTHROPIC_MODELS, DEFAULT_MODEL, GOOGLE_GEMINI_BASE_URL, GROQ_BASE_URL, From 1a1de060104dab5fe4fd767c5cee8175700d0848 Mon Sep 17 00:00:00 2001 From: anpigon Date: Sun, 7 Jul 2024 20:10:51 +0900 Subject: [PATCH 05/15] chore(package.json): update devDependencies and dependencies to latest versions for improved stability and features --- bun.lockb | Bin 249922 -> 260106 bytes package.json | 44 ++++++++++++++++++++++---------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/bun.lockb b/bun.lockb index 887ef186d2b402c9cd91b63de1995b777e7182d7..7034dfdee5045b46cb923fe63e14f9cf6f9a032e 100755 GIT binary patch delta 51881 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 z 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 A-T(jq delta 47730 zcmeFacU%-%yEWQX&`O&z0U|0!44|k8h&G~_b3g?nDhdV=!5kWMcGS|@V#b_vcFZ~J z7(pGwjE-^4X-s#ms@=+a&b;%T@0@dg_x>^cbM>>IwV(a$9IC8pCOpr6aAEeTJ|&Na zZ_hFJOs$EvJOBPPr^r0av36X)dmSERJHBAX*L~y-fodx=7NDHJZBy5uoz%CnPvZEpILFR(K1$7~g={r~!$l z31*WiH}rrE2EQ8d^m7op#fCs!@2J?w7?WvEM#FF#WG3)IPKF!~nGg^rhH>z)xX|RjI@0BtZ68^d;_3E3D7}+^G%AU~PBlZfOf@3{-CY+Hln+ax649dmN-Iq}^L6nu&bpo(Th3 z^r6t%?D3FH9SO<)^Mgdvq;7rU;=L2P^q5t^i0{?KkI76qwSf)=ZFX<=G88~66f0>< zA*1m!K}Y)~**m9e&&Wik4)-+b^j0zAYoSQYEg`WF`oU!CQo<Z=tjA zYkC`Aq6S2Dj)eEjKE|y30-o_NA=y~HBNL;&dqfSqFZJt?%;mgxz|keyWgI>eDB#k9X97rjH~S){q@-%H^&qh%B(;+|8WZLiE!xfu1#Kg%8?kYaELKNI4!{a<$LVxKwx0+! z+969#!|nrgdi@=et4hgQM!Xv&2eL)V53r~HP|7jVk5Wf3t}SU40<7nGNM<|;k{!{b zu2H|l=st0MyG5IRt!*-4Y9`gGXV`a%OZ4vDC$4u)f_Ge}?k3X=@NAFX$N&pVQbJU( zeo=i)rjuSq0sF-yVzD%tx+X;Ri;7K5=o8noXW!n~F?KaFdUif!ek2?&^=L>p==C6( zadF6^kQpEgK|W|`@JAqvKwk`57;+S3LC7d6YeO=&;rOm={E$jLiUbJ zNbH=DU@8`7=&_NpaWP#?rl^EYePeodF>PpN)MOqcn|?ebyR5(DJ4?NZjJHa@l;m?m zvSmzCf7lY^)CI&v1Q@X&l8)Cv((!Ca_U#y{_lC?1y&WX&>Okg!tO!Z_0+4wjGfDkD zD#G+fF}FB}q7r(>#3q_d#X1^Y?B3C2)BE}`2o92-QT<}kMW$WSV7ZhVA=$TGqM~|x z$0V4tK<8L-ko=ZThVI(gaGVJ;8{&WIfXpDzLsG|B>DDu@lW7WCm1FEkhhSqC+xOC+ zV91PU71=Yvv;#wi`bO|vP3&vVzpOQ->}yR5tXPfP-3<4AVtVz7>}oRUd74b7nbBIO zOvTj+(b|Me1>90FXjzD;gx-Ckkk1sPW~;hu2Qs<1jey2!k=WBHf!(^R_99b3Wsv5a z*~QI1XB(l>^1-$T(y%|VOye+j(}Px~O*Xq_Qh%BryDxGW6Gh2ulKF)p#L z=;g`@o_5zUiCC@=?Tz_x9g^wny@_7b?Yk#n`%LI*DuEtGZ`=M;#q3qGSLOedu|31% zC{Q6}_yCdd%wHs?-SM3w@!MuUtdd=JS6w+=S+ zPJJRfMaEK9a@ANJ)ee_|IVW`2^fFBNqO~|hhWIsr54a3neEQh^; z5;5E{Fm0xd82?PL#b)$R;Ups?O!lY*4Am6yY~f%?j<#u#Z26IpEKpx5`$Q$g_3RgA z8ZyGDcppd>ybC1lu*Jmn$5_}l(pW%T_4pcCSz@{lG~we2f)llybl4V>1#1RLN4C*M z!a7p77pReTAghaQ+ZZF8$k>6sA`?4DC-m*yCo&<*^mMG@wRcRP$V4<~FSHLor^gxI z6QiSIS%584-v`O{&OR;5PcZDb&G(K>NEia0&EU|{kR=V>mZVKI+GPwR9oSDb|M4tj zKO@=CLPI7S1-EaxZg9xQWUshh z*zHWF^HLw4Y}iHjP3XZfVV}kSaqYrkuOFgK8Rr=GJkTaa*}5RXzb;qySsgsv7zKey zlnEKzmk;|=T3W^rn`dkqbx;u&)MdUQ1EFV!?hVOVoPU9#J43Ri%#c|)?Vlh44Wbqr zyG?6Ij)qW34(>c!q_d0d|BcO(?fzffD{V>t-OX}uiqRg&R~n1@Iw@yCa&xsoxCw>b{U%eeyxNV9`lZCGp1!qg{T3WXD{CWcw*-XttOAV1#`2h7Mn6v}bKd4)t~G zjg0$3GF`U~2HyaZLv@ynkA`GF42N{V0+Lh^4!j`$SZg@8pU5}|{E%6uVZ z95#W>4tx8E$*|RADh~bO7Ne$TA(>%_v|9_^6Z)^4j49CFSWQh85O2$dh};MigzU7# zNLUM!C$CpXz=ZaNW?*E`p18a)E!}DCY#JnMein9lXa|`O@&hWu0zE+C*#-Y`1F~;S z*cfc4LNGvn`a-h?l1+yNKXG91DATJw#^js^1DR-{?Y| zuk-@Q9mZrjU~C|ZAnC6LbIpYSO0BoR#)F$X<$kMVeEwxi>xW-2Y1{Lb3<`5C0k%@&OG(&e)zNXoN=wf-YLy${aUza_HnJ6%{6^_ z_UB3Mc3xK}dm^o4-a^{cysnz7OLUH&X}hB~eHm5hTV#?;p~V|q9JL+pD>g^xU+B0w zhv#`!J73UAdtRhaj$b_8a%QTUO|5@pc#*0ZKh)j)yy$V&t7~fTrZDe-d+LobLuQSy z5IgO9U1igSj$>DP+&q4HQ_Z)r1zzpDe647pwxdKL?RJSBN}87J6|7X%Qt>@Rb1NBa zx$IyvRYvU{HBTRZCA*efGFS=IQt`c9b1N0BzIW6jN?DcKT5_piWrLQA?+2P&>0oos z3?@@`ZJt+6MI@ppSqsfFZ3zsS7{FU`uc$r}JYesE$8LOqHlgU&C zQD)|5)}S@eJW2;Cx3qBYVCIhRSS=ObM>IDdGU50R*OKwQLQC}tw%o_GECUa!mQu>! zk`t?49cT{pXXyd0p6)%xFF;Ez8*ElEk}B&tw9vxK1uN6EW}IUEzEx^}ZN{SmiAY?wd9Jy zN}QI8??sxMU$A;3mlok?wG_;4GFf4Uj+qkR2n8+W6J&mbP=GdXLKQ8%Qm~~9rd%@^ zse12i(^4x1n;o(8Rnu-(3bHg|$cRNwQ?+FOV9PCVLEuowAb(2$mg!2+GH59k{nb$} zTD~Bw`4~tvnop35dd~*Y*j3N7QI#wR=!r2^(0CO}Yg4_PvK|Dh_cz!wT2n8BeFv5U z3$-;lYbmihYw^WeKo6N%c}q`d{?IJ!2z9ZWmM_q%K6cY00q z+%g9m+XllZ$X`v(r{$|^RkOKk`2wt###r`@xI6U&oS?9N7>Zv0mJ84VprN%&`IDxi&1$veEnt)z5rO`ej?kDToRsmmEP+-Hnm%mIzd`fS3*e5Gw=%m7Q!l() zuz4)>N?N;WL6$uX>FH4c^;JPFUv;Zmp^z3)-I_JJ5C#R~_^}s5IiZDz1Y2@>8bciX zIDciZmI`hw)?*Glvldy+-*OL{UI}XEf+b9*n%d2fAj>p_I5{xxFbS?|$u)wN%vvhG z>u7GF!ImGqj2_IT_k>4Dlc@r%owZ0zz;Vz*pykm#t^Sr1(2V@hyOs~os_B03gakO1 zG8!p^J`7e%4c+OjN412VF{P`PHhR-ZUoZwktEYKbgDgi7Vkxl<)bO`t#)`mJcF-4v z8qmr^LmG^+VbEC5jQSF>1DX|@qh5LkZ%k-t`hc)Bh9*Z`sJ~?*wC`RD_?S$MU}==9 zCp4zhmodvaXsnr8_xT4jmPKDsEyc?kary+cbcJT*&f&O3Y8kaiZ-0vgO~w3Fy?27X zXTZj?p!wbz|(UKtweVAQ=IG}hg)+yKp(?DTS9rZdV}09kXe=hDk! zgT}HLHQI)C^KFwA#>e={=PNOA1SC^jj1(*4d<6E{Dc;G}`~3)L@AmiXaio zf}w@n+d!iiy_V*=2wL@}J`EwG{77ToiABh&&BOBg4xwt=yoy1Jzvk8~*fJKbI@xnl z-vns0n^`TsfkyUN!I8xjXl!zQF;XmAc=KRObF?~>sT%iyty(I$_uyD)lZGZ!Drw;@ zg3U9q7FN;M_45c-*E~uEnJdCsdCj9@kYyY~p}OZ3FM6mfs6sDp!&pXI`5}^Qn-&JcE9`#9LZUU`|-kl2(;*fJ- zeJ%H)HPpSKJXqA-+6G%zpdr5x@Ip1Q+}SNGQ3xW59C$0Bp*YYuEi1z<&lFfNyaJq{ z$SR=uPJh=>h1?jrG7ehXZyFnV3AFE-=Z9H)xHLxZRA_8GV}-Z{jTM20)wh_I+#%SK zSl8$P>>3zM>om8H!Is~^b%C8RJ6fQG-+j!3#(`qY-pkN9|8)OmOMP}L4-z#Hs;hal z4YDL7M2n0(1X#{MGpdi0o81~<4cFRLsN#eGoucK-_^az1X!$x@%~#R8Z8VS0LFV#} z@&7k^Xd*%ecORkVIv3ak|6!qrencon4}C=_QV(@(YLDH6P&b_`+6-%s9vY8O2W?)I zO))$y!MN+7wd=}bA#-lq!ena2kYzJMm_^)OZ2?LPEn>3OQXZoUqles(0PL<2(N^_9 zm^M4wYChPC=e~K-LFNpt(dc@p0YVtN;AS9X#9sTx6$-c8bw$XCU4@X5;w3^2^t9Fp zJ2wWQMml#1AtSa>n{QqaGSaR?$nf{_8&|olJ;fM=jPjjEsGjaGZ##S1_6QlCSAFAN zBBcAXRKiF@kD_z$;DooVy_ObhwUq5>EDtyx;QZ91qZScowOj(p0gQpt%-@nf(%8JQ z;9?dufX4L%2{0(eQPXbX#C#Ybt_^5je}BstXk2Vz73y!U*omd~z-f69LbTGiXZ27g zZFaoXQn<6-W#qH~Cn%Vp@WZ3YB4~YdjVncNjC00eZlffvp&1K0H1jNISU+(fxP%av zGb3+H&M0F@ zxK3)urt$<@0OE8@bJ1={r>~R|2pMJI_C5<5+fzT|sE@j7v-?@q;?Y{#xL~JfqjAwG zA^w)7&}e8ZyiXaYH=9R{Q3<0_nnGiyIPvuJw~Ut>(lqloAAqLsYwFh+Ep33+;@91% z3uY_YtcTQaWXC?T8XEgjUmn!oyK89!tx8eNZBVeKPYW}p=HD3_7g}gIh-`(1vk0`5 zSR6~BapXYj=dTpd+-$)XTW_OQM(VTBYUvj2mfZ1%FXM>W92$2hSeEuzSHx=(Nmff9 zj8ZIFC<>Zc?b?Tv%RC2UHO(V5$npn5SRpZTvBxP@wB+HzmeC2u6`S62>dOQz-w3M` zpoNdXI-h71&}h_E(6DqH#kIVKRuLMml+cA6@=jpGK@z#u*@EwSRv3UC@^Tt#NqyR{WG4iV$zIvyHp zkFG;I?-``!8)vnsgN<>F(*-U8YD1%E{lsM%4vh)0W?((pCoR!HsHJ6yG2SqHp|ym@ zbcjR4PKCx9Z03c8`7E>m-aW8nA8H@(w5kh@R>lY%3+;P5-Gs&lH)`)aEPY!fKx>9L zy?xaq!?d)CoL+8|g4I(tEnS`Y}9BGoWvtfC^VM?%h&ItWPh!tEJX|y7m7AdPjqb*tyeLeyj^Vd&X zmP630LxUyS#ym=2d2x^kL8zR5I*Uh$bw~Z+>j1P+Xhs*BM;mQsXf>c!F)Yyslc3Qv z#sRdmG7d8hD@~>`_I~AT50x6uuUMdljnQULx2lJAVflnO=4bRuwXybf2PZ;x!B}m! zrY~h$u({bdF4!K;g3RL(Dx=LS6J)uH5W5tWo9=J%9B<4-WP?mwK{Mhwgl9ryVNpq| zzxw-lZT3v7T6Kb!Hq&ZZFu}+aS9HSzoS+235Vtx|kDL>YdRX)oxq;NsvX!s`LZeGu z8O+3mxr}qt`+347Bb{-HbQl`j4M(+r0H?`@VsvvAXq;&J(6vl}#xmm)1(_d*#-`Et zdrOunMjY;?U|7|I#))kVr0LK&9rW5+PDA4wgoU?*zuMskE#GXbdgKQ!Vz$-dI@O5N zH+6F-Xtnes!3u8Q;_^V?yEp49Fd<3L^3b1@d zh`R(Xl5PH~b%r*3zSWZDNBe-m(6WR=i-rjn5Dc_iKWY&RtZJ~(W<&faw6q0QMb+FE z2CL0xX%P#pmZ`Js?ZyS?Bs8`@dM3zUanjsUg4L?YT11Lfos_K2PO(}JCmUN6`lqtL zK=4%mat(MXY4ASVIcxY@NEM?KSm{_3YTW7Vr z1<4X&J+I)e4qm9uUT0NP7iwt``BSuf>#dg96k~zGh{4^oW6*q&0H>9C{^s}4{Izz8 zLFTfHFxvG{0z$R)&`yNv=pkjXJ+>x71~(ZY!|vj@SeGUC*bWFa(9^E|#=SzQkhQC(`87TsnvoTrvkq8-frw}siTvph*4hZRWQx~t$ z(zaU7f2`!?&&{nt=9;VQp}7b(*15+Bh3TPct9g+{yLkv1+)IR-8)?_*2Lr_Zh>*cO zM5sPv)rxDi**mP39&3#SO}`;(Sq6>k1}}_p23cpEXpKYVvUS?*ow$PvvIb1h={x<^ z!t1qsyR7EJ>)CQ1yMoL)H|P@*wiY*Qr_bO;OOc&d) zMI5nO;`bZ=up({sx2%QM9448yJJ=yh9r)IlO#_^uuujFX(`74%RX_#KpL8|1_OBVDx!1x=08Mp)R^LLVV_W=v=44|JE_^(!z0|KuBe*R9G%ucY4TOtQR+dqJ3ofh&i!K6 zPXFRWuq{lAjHhJKLF$x@ca+i$$rk0a)BI2}->g#qE6McPq@A<0ODAo5200Ny!(3A4 zmWGs>!1Lj4e*Q{w<`kpv|ZmWO1`_^de-RFd)O zrJ|j=RnW$W$}*Oc)m} zNP{GILq<@NzbWM}Qr?pBl#IU(N$RfDe}!btACi=kc8{c4BiVe5Hf={^uCLYhSjAtC9OiGPRU?xsi&9B zrHSMzxn#6~WCunVKSbQ@vNPqWxeRap=ufdjo!veISG>d6i9w3^Fl6>{4&X>m+aM5l20$`XAOA9 zZ-Au9W@!g$OjQyr))pzZN&`yr+ob+?k{Rugc7G*V!99p)`yY{hk2)ZKW^fDy9h`vV zsp~u>Kj|f@i}<4bB`Nug7(eMHGfD$be>Y@&ddc)RW&AD8?NVkNd-xt08b81nEgn*l zlEEiZ|0~Iy{*dvM48Fh@`B#$v8)@_b4OsN|G65yqiake1DkKZ$z@C(nrWvG8$@q*? zPcO+kfzJWyD&r{`%L?b2osP%^F; zzUZ*GG)yn)xDR+PD?=f<)z6T2|4nK8pE~#-rO(PWAVt>Te^avQ7fHXAoMkH@*>am9 z8NY?`9RCb(^zW1ryCB&GduZ?3{BL=zGsU_cQ+L{)Vw!{&PR$pZgjA%^M>B+|T&ueunA)NB1+rpM{#M9gUtGf4*w9 z`Mrm}c-W4x#m7PKGRsa5~;dB41G+$+Gl>&QZl z7Imz<@xn!JFLAIHfNH44p9l!E?iTOQB<@yA;GT1;&fm^J0|pwCOTcgmsW9I<)NA#*;n zTj0882h$e#?>pGrrH-phpApF`6Y7-7vvgRH=#^1%ZE(HRl_hTeY1c1*n(A>Qp?1Xm zZl9Z+x%72+TAoE~20q*L`e?mn`zw`QQup!H+BcF4^m`WVek|L`Tz&f{=6SZL)`e4E z>55ldq+~&@y`0btVOh`&bwzvz5Z6dt&H$pmn8tP)X94jh6NrW)Br}MBOdvjI2GLkJ zn?XDv(bo*3sW?DlR%Q^z=%cyt%m|`R77(K|f(R2ANW3Sp6h1_gtjeBhPb)MW)4pxZ z4Q_jz-D1C*@MMmTu72ZF3^JF$}Dy-;dGd=TLje~OJ1ABCkBk~-Bw(y&2D`dREGv4ce4+Dd)( zt4SQJt+Z53!mSPxC?cLh6(=YhglAm{M=_AXEG|%F5GCtDWE8_GoJ1;xMflc--)r^Y zcP8e5l3CmVp=1$(4Ir|LX%yMSLyGJoq#;BOkxbz%UQpx|bsItC5-Ak9#RrN!qG@A@ zykaFpxC>g>{&8IP^6*agD&x!cyixMu=N`5%`RcvwGxuelh?@uRO&YX0dU}(NU%gJA z%h0^Ac~xrreNUG*e)p){yYkiRS@X|d)N$?axzo*QR}tO>xwwgq5TbPx6gN*()WKau zHf8HI1#yIghj4Dj)+5ok8Hj@70Ey^kAc{2y;VI&qgK%vQ;xdUM!m|a4<0MA608va_ zATgi?2){58CB*PB5ME&*?vW@dd|QIJMq*}55T(T(660EesM!jHx0u!nL;xH14T-WM zq&0{KB$l=Y;VWK{nAI9YSU89ZA|)I|op2E52oQdvX#|M(B({?97fKrtDTM$ldK^!4bRXDc;v4ce4b|8Yq0TR*eKon~aB1FWu2jSWt#AOmS zgl7j3$4QLt0HUV2Kw>}#5Pls&)E2`#g7E4H;vR{*!Z#AcH4-x;LDV;VjEe+OvlEDh zVp=Cy1at!NhD2i#(iy}95=%RSXewTinAI6XSQik@MM@VCb-I8sM}Y_vO`|}(C$W`8 zE1`77*NP|*QC&fVi;W~&cLkBB8;CX{vKt7eZXk}3XeXSbLF^#WHyT6-aezd0G>Bp` zARAu+Be2yeD&FEOnbh=5)o-t+1I+w`Wbqu`XOuhsh=tap4js9n&V9yG`SV1WNUlTI^gSekKk*ocl{9| z3fIV<y04x?5qEWW|HyMMnc?k?*K`ET^NB&xsGQmdU0n>UH? zR;frz+s_ldZcKHF&7JFY{W+O`^yt-Y(y_A{`kMPL??hKmIz|Fh))FJnh4@DiIKvyFNotLM)w6VT3jG8pf3o&ejvt*;r&2(^~2zZ zxpLL7X_*HxbIvSWc{1|+`Tc`(je4}GSewjsR=E#eG`XN#dLxJC*s&p#IMWZUKUS-d zJI99}FH$~#JkxJMOv69NE4!y=o~ZgqZQeO>{stesUe7$P$J!;89=A(ZyousYf7E(he>6kQ0ceKFV%h)@0Ruq1A@PF<83^J5iKPQU zOcO6i%o+${Ew@)qd>90x&L9x&27{O>Rt^U7o{!$9mHafZYK;bsF7Jq*N98;BHff`qFLgm)5%#bRI*h~p$~ zl2|HA4hJzH3B=^#AeM_%5?;eWR2>0gr5HZ~#5EF6NvsxuBSDNC0b<@r5NpLl5&w@gpUQW zVho5qBz6kRI1sJJg6K64#BQ;Zgwr?>9^*mm5i#RI>>zQ5#6ICR0Yvn85JM+`I3P}t zaGe0cdm@NKV&Fs&$4T5IaYU4y1Y*EM5R)f?I3`j_cufLPbux$(V*F$f*GN1iaY_VE z0WoeehFOc35bg7{So{1L=)5Dng+&(n7bceVMJ7Eik5I=3=^t8`Q7 zo+v5ccEFFwXR<&(zl&57UIIkbSs)&Y@v}f&Be8Z4h{qx@8N|3*Al@W{cq&3>g9u1Q z(H!v7T~7xDs*Lc~E)ZUr(%^Jiia0x3{mY&%_J5eE_#23>i1HKMT(TrQ?^tb#;GvKQU>u zE$r%opEA_!T77r%8Qq4yt~fMgP{ZuYTCUwbYSU$($mp9}>l8lKcl(4*Ev)q$IF@*} zci)eNdwK2k5tC=*I-=cN9H?I@qWV&$rKmFpIW1iZ=8Ym=l6g-iY#Eq$ideJ^%!;{S z%*(-iP(-ukN=x-mMXaLys0eihCaNY`0Sj12i5eF!W3b$<##Y8+sadCp8 zgz(%B;UxxAloS^zN{Ny?AWDnj6lFvzg}3nC3E?BgQyu-So8^@PdybBaO z+WCH1>DyHgPHuDC@k{t;ty;ioKktdvZEiD9XM5CS;SclE&nG_mZ~r*H9bBhn=E9Gh zD(9ZC=csSCJ1s2x99B6DNONpq`MTufZa^DdB=CFHtW=zKKYN_ z>#(YG=f|}?yQekv`DMoF)SCM(Mf}b#u3NX>tBTp&L`2ao4xg-Hqfft9uLQpQx<6u~ z?U?oPnfu}%dosb1M(m3|i?Jn0fJg{?@g9HEJqS*(tMjqnD~4MlUrN;}3(V z^Am`tAR30HuRyt+**scyZ@Hr2y2oP*~#2j`D)E;+$1 zuJ#_sN>y+DTIa)y3h_}(*QfPwHg){VspmsVh^Iecd3tjM8MP82NAa~{4>DSM6hydq zL8A3u5Mjqav=J%CKsfCKVLlF`ooIR-#10Z$Npuj(2@uiyK}4MZ5h*s3a6JGb&q-yZ zxi_AE$Ra#1D!=15<{ZV4pOqZjXPr_;sp|8b+hcDl{S?vryy9rC;i}u6#azFA7i*Jt zN?H3Yg+K}~!)~%W9zxq5e_KgV{w2DJ9xbN+tc03JmVga^*DjbQ%INJL7nN5^))!^< zN6?Z!LT1~JXm{O(lCr((6{UoO`D`$rccbffI&ap0eqMxJ!7nM%%^;C-UD>Tn676m% zCCu6I-ezVIc|&ox7{3y4GA-PG;D$2NC|28F6eqXDFl1!HD|(n7_8(~922Ri9SKTm^ z{kL_K+p{$mITSdG_et>lX_9?PF>z$)xIVFvM|*7d`Aw;;nv>h(6{zh8UMs(=T1T&P zV$?&WjyVx&GO^m-^p@TZyEW1lIi zq8bH>&`X!q{zJR7=Ofj(7Im}#yl&^7F+SZBj0g0h7UD5-c64n$_l2(&r@VS2{ig=l zzW25AR+TM?;x0CNwmV*R&BHtl2OHkQ!KC`ekCn0!>^}+nZkRaxUP&|e+Kz@|O>U{% zt9()}CT3dLmUbpnp)Mj<0Fq_oldUcIED=6@T#X!G>uf2x&oXgVaIGZAYf0K+6q;H~js$4E&YyXE5+4N| zqxlH;7jTR>Uco~ZoT2a$TYmUH9)o-}YN_Nb(qS%e9mR$IXf*p%+L>ik9z>Ov=2^hu zpZ?B){ke6%uE#w2yz^UG&g_!I!eE*qxg3&n12j&LNvPa(-+=`+5ko9PVPhrWGM7WR~i$x??3Y@3pib}3DxFV7(Cb=@;CZPE^B#VQ?Ka)2w8XSkD z%?k{|{6P$pBNB6d@r_8fjxR*g&KEc$$4ptt;k|a#G0ByaX)Ay` zA-VE~osB>0VA>|h3No=Dxb2dwC^@`%ZrUL^Kgs!nCjZQwP3x!a)`Y694#XDEdHy&|lP~L%cz*4>WRBWa6p_bAs_xRdQB@xm56D zl^hl}6JE?W6#{}KR}EnecAk*c_}&lGgaB`WA`DBeI>KyreyU5Z2Ev_C6ZUHjaEuNG zq9j*S+SQbH?CV<6u9mbTXMbDNRvQX;e)ctA9c5wa0FPv|){|UaaE~QdUveC%zk_36 zH;^2*0n=6ZW0Ui|Nq-H1RB-$>l3YWCQ4t&8xi|6ThkyJj5WObkno7gQ2(zZ_8a~rW zhfRR22(ufSL*gHQ zUw=OcLVqZfiCY3}EtbB$v}=VhS49@8gXCHx%n{B4bd+2;!W_)xA|)5W`F{%znOP@E zwn6xgd-1aH}e4gJ6;FjkMaGT2o=7378B_0e%3c0@Hx$fCkI} zW&%F~0+nF5#vBm;ARdBA*N0k9BA0l14U271DOFMzw{HGn&08gQd3zHS2C z9=RQ!1Wo~`feb)KzzMJb+y%1${9n>vF<@?*#2+@bk&Wk&is*g51>z0(02`3$Mqm@b zw?~Qr?m$6+8yGjN!T>iZzINgUSb#V1br21~J>)3BeS`bNY2Yky4&ZAr+$Oj!U>h*r zm6{3VM?e6xfMj4cFb9|m%md~F3xMuG51=Q|7HAE$0r=|c7vN9eBk&1$3%sL_N`C@) zVBfO3$O#&3Ghcbu0gH?9s%b7ZV8KlCBRbj z`1TPh{x~8s=0dg^wdR{*zX4@f7|55vYk(UWH!kk`+~yV7eud-?$P0`2ko+wS9>D9v zt^sfZ+-2YjV1mxp{uSZhfP292zyls0`IhH1;4*LpxCU^iI}cm{eg^n1@Kzuki6Vf8 z0Cz!ddQ|}{5DXLsiUFB`%s>{v1UyE;_-iBgfxV#i0ndQvCXqH$Eo_T|%@+9Qo2GA3 z*vimVg!uy^e8=)8eE@vd^%vkG!1t2dfNKkI18o6>0WE=60FMkjhIj!b0iNdfBhMGW zOW+l-62P`(GjYHA1qQd_^e*rlFcjzrjvHMEpftc&Y55i#FIzeQi@@>VeV6Hhnt%$f zIF^L`KmmZSLi7B}^J)yx9Y_LrROQjs$&8t(B5)WEPXeca^T1Xh5|{+zmXNK0jKF8; zJPPgub^&~Mx-HNFh(YGAz&R9Z6AHtV8&7I$A$d5v51a?m0G2gptEqjA>)Cbz#G{84m<$v0Q-Qwz)s*5GFKpZfU^6j0j?U572vy32azcY^8w)5 z#+KfB`fxuu;oFCN6Y*z&?>_T===3%<;ecnC>;N6|%u)fU2rxZy3*d2t#}Dc}a#RBR zfJY9dg8Hk{_YlD|hCh%CC=`n?d|r>xj~D19V=VlE8gN{2;Bl~V(9J|#GsvbuAH+9+ z5LIz{cFC{4F}PE}nLXLd2Wm8yHA0&E06 z<2k5lYD*i>CMIA4kN|KHxdL4PK1vV?bOhQ1?SPg*7|;x842(naMvx7G20&e)CJ+i# z2SR`|u&D%D4k!!oep?x!w8G;g0$xA~fbCKoGC!~k;lhxfKt7-^bT`NXKp~(Y-~rIq z9UxDgvItNNC<>GW_{awHC=d7o6@ZF>pJKzbL!cTE00aWTfEB0;umC|oWuS@-Q`P|L z0JQ+twl+`?AYUI~t=&=JVL%gvn*wZw7Ld(>69|VxwzA=?HP9A_0NMZ@05&NzXEQU* z=47*>$xOSEm@UQlPC$1c3SgJT1HFMbpci28vVYfIwjMB|gBYMX@bCI78gcf_(|1`n z@c*vcx+0F<#zL~|*lp}8cA4xho8FIXJ~kx_QV-|}!~*}Z6&08UxrfVIi0)YhW)J<0b;>3(JAWLZ1MR1N&v6 zxd{9SeHE|_SPCow76U8Q-L3V=|EW|qGR4^W*o!w zA?E_jjCwNUEICN` z0brQCh##kV*{&fZ@A-cdSJQC}bBNj{8~+Zt+rTa0hLpcR-URLf+$T7~IA>k}&wxLG zcED4hB_LN3+qYG}0mvu7W8e``9S8xq*4=|F2e68qoTVVyxg~(&Kz`ugE%Nsf_Yn9U zcmUJ^Y5~lr9y_fD0xV4kv<_B^n%4S8tg;g*M7na-wP zg$04&l@l)!?HMrvFB|EAphHR~wA)bUbmpw#Rb2W^d3DF*dv$<*SrHc6?vIzCwRsDY zy~3k7OT|ksyF+^|n}D-lGU}I)uy+N>)s)iC4}#7iIso7n&_7*#GuZP|uQ|X=QC1?{ zhOgEDulq_N0XveDj!n)Ir*8!&U{kXN>@CJxvUaRJuPIr(_5fE@`f7(TCo(4|F9o>( zauCpl@p-31=>+8tq}NCU@R^WFRDS1BN}QjomR0;ln;~U^p!Kb`whe(;Hy7?W4K_M6%KYjL5z9#K`VBqiL zTfxVdR|ooEU$pw|-_{lAZQwn!ShKF5mpFb?$b6AS07O&kJD zO~tGEY6bUb9r*%(;L&Bj#Yj!W~zG8(c(;tgrnKgnBu~_mE^s5 zkK8+{BJ)5rVmZ@&;k*zn@fJ>V!=S>XPD6Iq_1Mjeb>qW(7L3Vu_~)I+Ubc9Lq~(0d z`}meO6%ZX3sxCds=`)YsS00Jj7`rdpqMM-i%Iou%WwrmoNj=8br-E_Cm;*5*jvi`W z2KQ!Fh1ZL0@^~pPZ9ExK^S934NK@ViS(Y;m6?Yb@4V8(aY>JvU08P;|u1jP>H1@!| z{i@CjY;*~x=puig^1d_Rgw2;$IwWJ+jaR)8gKXKe^Tp5<)fbNytxr+i@l@rh6xGdr z3(T{^+%|8ALxqsobu@=346*~_D-F)Ufa7y&#=tL=iaA|`0UDP6Tt$UNYH3ReTqWm) zL2uDxG3iqf2j&q~o zRUh=_OuChuGC@3q^CI(cqk-P~L`8Py8DQ$~*M4!EdU!?-Wx0&e?Ohzon*u~rSh_np$fZDv2i#2#fjBm@j&${YO_SjcGXS1U#8~6 z;}65vgIXufoq*US8vX=vNJK7&I4cG(SBK+4&yby}TmGjQ={b?t+bLH|J~})1O>T~a z3RoPW^?eVRiwS&0l(@%aGQEaC-yxr=!;Eg>eKMs3co zRLkIDxz8)rAUxc5;Si|(o79T#wb1UIqftvnwrrd{B`LSU4S}C9k+KTuJBaMaN?cl{ zj=&oX)0pi*JgNvWT1=#vCW4v4-qmQX+2R1g$`U*hh*7Xsgsg#fM6{!a+s9NFN6h^T zBJwN>{j0MWc3ds5zH%17tU=+;;?!}qq$spj&4jltO0UK6Y$rObRoyCe$Joh(B2FIr z{?UgFgLYwbaN?u;Y=~hyIn7y6GU(S!O%Wppz|GuZ-CDK0`+Fqh2>4t$uF?GoAvbgj zU!O|s`j2bXZtmaygt+{pxio-pH1#DhbR7yYQEY_BZ~xQdjmjQeQK>S46RDB@XS?c`S_<%#Us6HBkzhRVnv+s5JQ(MZoT^b#g6B`h`|oX zO!vBo*zIUmy%uh6|F)XKd!6bh)-6}_`Nj2)ij9oH#kl-?!a2STh5x+;!tX9_Z?VMo zKSs><_VMFh^uL#h7`9c-CpO{Bn9CS;rn_!p_Exo&rGSUAX6Sv=(3rfXEzJrTtiB%P zcEsusASUlr{fu}QkN%s?p|^@*adk#cbi7x#9n4c#YV z-(xpsdh?{u?!dZ2Rk)&J|2FAsq-=PHTPnje5V; z*6#-Ym#eY+S9ro)O8WR|L8+M?+-&gVYb-MVvQAgZTi94}Zv0u?&(CtdKkQg>oH@J@ z!_8<`Oy(j(hvhPTUq~wz7FG6Qfv67)miFMO_#-Kt2gUuEErEj@IGukY7ygXd^byY-MRUXv5@-wEHAen)xC(AvQKsO zD+NPt>OZe;<-Fi^yZzq_YefvZt!{SH^d`kO#($47wk`LTFu?psnpLmOh=em;`h7Pr zHZ;FP80h8i(DsLni_aI+3lYHTjz>%mB>nB^)kL2gnT&?OlIMq$QM>&p|9Tj3;?)W& z-!|;fi55or{cvL2EvCUhIVo1t?pK*bNY0K`Qp#i-0Xs}jZVd0mEf`eFQq<^-30YQU zZFsA_KMafkVe&wXJF@U--#Op%av`@6!yTi%uPLCY@HwEm+BanPMzHjT<@Jxh+`3w+ z!JzLI9V`Z8t9G9W16I`0t=iKS^93qu-+fn!^)T@J2?iWhr`!VE-(T}7s#gbBK$T1< z5yOr9=(T+%e!IW;q8`H|g2^}rxTnH^P1UbO8FR6-qo?S_#MI+`b>D+%3FDlQ|1<2^ zk%NDk`!+1swehgSfadPvTudY##2)f5CyD$4#f&1ocvEK87{`@{m&tWZB}B@f{sfvtn8ax*#m~> zgqvdbVYK>lne^$4YW?SF8%MFxR)#CK*W4`qiau5Pt%fV+jzy%d z%%t?Gj;+RL8^A%wB9cbs;Y+x`+$sv6uJ79X8H^TEct*b4G6I zO)jYU*^ExhViIl+(Wp5 z7|#5+KX)uLWjubhQjaN*LG{E-O!^sH;wNcw>&=RSmTay(+9NFod=`=Ni&{av{8??J zG!Y>e^;y}5qPOUK5%YgYNn<`%?RLJ)kg?s1B58R{1SAc_8p_MrCtV`KZdTbJiWux2 zT=+u8O?Yr`0|QPXkHU9~?6(x&2?Krh^K#SqlAc9rh`+JxD>}fy?=LP2crZs!y=Cb> z_f$6YE*zSMEO_4lF>S*~=*8c@guIn&mh4(g#Ii!BMIQ4sG_r1li%h;@6!h*YE zzgFcvCJ$-E`#d;v)7clqWJS!J?FvRx zJ28jCxGu*Q!s~4JNhk!jvCb8@4XAvsRR%agH`0sIjWBO|Rh^?$7f-LE?hUchvAng1 zMeuwevS6zX!OVICKp~toc%Eq++rlN!v=`#X>c?O1{_tB{*Zl91$Qg+ST`!p9bZ75@tederKCLWn!@_+~kTHq& z#h1AL#8!_Np16@!5tC@b%wSX_r1#fwK&(Du8tmeHlP7dVXOPryjBx$gI+ybB4JMN#+4fHMN zkWg--Lk&lw(M@a;9mSa(7-@0Ujl)XnxZ+=|ZN~AIqP*fCDdye8(CIB6--Pcmp+>t7 z|K)L1GT6E0_nz4g|2gKn-G@*S`wN;SOHCuks+l_6 zzMp2+?->5e*fvV3KCCI8!`|-$>~p~5$*Yqx&Z;nYuU;!IOD0P#BW7{$+{gNjoydmc znt&KLQS}xIT@nV)NIG(Oc(pQ5A2X|pxH$;}na8iS#iUy(lm7A(44>sl6_*AiF%Nl7 zHAw7(C)}G$y@kd&FG}3TW)NA|=-D2k&22>15sgb@;LH#|+=h*8{}r_xs3xuXtOe`_Fy-NhZ27Y&Tl@b27sbGG{-d4!{4+-hZ^Pu)eW zyc!zUcTH#i@kh0V7ruNqs4c$2pi-1H*j&u9UAYINbA2}$C1V1f4{n?-$Jh(sV-`0Q zjebRIAAto<@=5R8Cl9MQ_vF{_77q}^i;Vjr#hl*M2tE8gCWDysE6P>85uUVw!Svzz z!-w^IgO|wc1+OR0!N4yX2Dn?16r8bX*FNJ;bop*D95GyCJO(vZ?hUz|^gU+2@c0ck zw{|rW0l(pXr9Kn$7Yj4i*wU95_qotxQ(JVGyy$u#_WyKp-2qV@Tc5o{6B}jeDa!pwR%|he4IgS^L@bEtQ`7|B zZ|>Z6BLU6#`G@S@`OTR#XU?29bC=TYVnHoJg_4~%3!%XKV~-p2bXq<`a3L#OrZ$y7 z`_W?%$NJ?u=^uSb^?%2BQK8iCcbJof3Z3Id#a%usl0GreSrbZ8KxlU;i2V5@0=*M& zBg5%X&XFD(YoG7|~O(fme%b-h*U4 z`-|BOvHPP&U03xB11^9%0H6&4fDaXGykk_DRhwxBz)+=YeA`D2B9^U*HMC6aPs{IN z0*e*I=@)Zcqc`@8Hz1M~s^(S!O%AA5pEI;%^{1QY8#H&Y@FZqEXHJc3T--@gDJLX< zI}$RqoQ45(1F!mHBz+5gQYdMp{J}K15Tbbn%3N3O#O6=h-Se!uymhsF>%u-4!j`$y zky6Q?dHc1eTZItSAbMJgg&Pw_>ih7nvNI2c3-gAR)65GK?t1Na9!G=Yw>$?m*nA$0 zFAt-;_oWevIh4}FXhac;sJp{RW5pb3<#WkNIvhq9_`?%n6k^4Eq)TDc{J*#g=6^=A zmkPot1rPO3kkR9(;HDP+_yB*L$<-Q0w)*&}A-O&T*IUA=%|kwHIE{OVeD~ksbm4{M zKxq##{14$Y2VXQ>!iCk@dnRU8r;$4vDq0Vb0A7M_{?#M0hlmVmU{0~gx`M~D(S@mO z35wMI5j4nQs33l3S#%wH>6dA|{v`VrqvgXyi$(IC8{e4y=8IwB^!Q2~7*5|l!lvv* zIUs>wBf9=b3f9DFh5v7{CE(b-1w&>54?^5+-yTVw9!n#nC8KEDW2_OQmyh8u6GlXp12DL^BH`qQu%Z`IuA{c6s41>Yt2 zU%XWm&2nsRZu|-}r^ogG^=p1`ii0AqaFtaCYxT`b{aOv7C(k4kaw(Ji-d!~*e* z!)_G&-a(3(N+o4j6S1i^)f+u5Ucf7u#VJ#TJB!nO|NUrp?^wNw!?h~3xPn*d=ECTt z#lGVVEqlz0)vGvn?dLPz(NO5#UBVf z_TlOdkHp(QJGT3*rT-{&#pMIO`QM<0r}f4IeEOa@-F5;kJn%zHFa`gK!A)uIpRf*M zM)lq+_(T}~zev%!dOfMM3<`BKnK}$XWH}sQb^7qPMdXH(n-b~j#Ka2eigV8yBAxK= zu(4tEd@CozcIZG)D=?R?2|UFt1B}b$;n*M64k-Lr9$-A1Kqe_-tllxA-8m!XR%YQo z+#Aqm8;WmKeUY#XW_n}{xtTBr&1B%YB)!I8{4UOZ7B_X?A|;+5lW-G&H~{$iX?(3) zHN51J3;?Rge4D1nkfn+_NZB#eT!Pc>q+(7mdS9v#RCl1MDmGGS^1*Mrd?n$j1I?6J zuy)uyG3JJdDU+v{52^=}a7}#cPe2Qw-TbWK7d>0|;uQ&=*1+FI&!ch)Dzbk*`EXT< zSwJK3_y3_@4&-Fa{CKDkVhry0FQf=#5QIQdj9CzL@1Ze5k45l0R^VjVxBEj!-%Kf% zd6eq`isbwQpo6?H(J%Z_#p{({y-*O?k5?9n_;9VQ?t#;S!(-5bjEk#$9*s3&zEW9h zT5rOFq{oY>1dE`}jupOl(~D`t`qVjDTbVXwoP(Cy7^L^&E150>y7O#XNgmI|Qh+J* zY+$=sxVq|TIMPy6XinoLg5P6K4NVV)h2NI>_2rd**^>Bbd;s7TfCZLcL`Ht2!ZiZ! zGLtaU=>0=<+^ zGekG-y46DPf7nU=whs9LrFT8uEVS@tOo{8abLiOX0}L%ER#S0J=HP!rLHsl|wMXdj zNzV+3Cup%l-v`5Qgp7G+?_+2&p|-WKZCw&XTxNVDa@xtesW=VM58FC{qH1BURla9t zK=egl?&Oc8ANR@VyA5Xw`o0qr=qT?S4+PJ$SKij@TAuK-Fd+6TEoa?hW;|;)b-tnH zdIHs|&4M&L5=9<umTVT_Uoq!+bP% zNEo6eFF#YWt4$VJ3WbDHloAcD1Fk9~u++%7IOTvOu~Sae+BMld<*!MaBxdW71p^GrkGjTfAoQ7?fAyJNlQm+g3+g*sTePnuVH9X2D#^(Cy3}RO z%;dv1BM}EXcTmvJZ#1w?&-kr_jF!VbIUZ<11$CK=2$Oj!ljnibyf6x~1TS!zBP>~S zO0!|clw`^L{*wRQw}cTFKCW`g=kO0=;eU|rArBg74G&>Phpbr(6J8S(IZsugtRm-1 zp)7^kuzBx>t?x-TW+&51H55b6Q5;b`4#piYXZsYfs2lQ`@A>v&Y(+qzcdAyK3l++~hQ5bY`>c0|d{mX8AOCJ#NF?#maFMIAj1+S$&eb4y9%q=BS;jbj|%e zZmW%bmzRdFRTiJ*uF3r=S_5UsQu=Cx&h1ZMl|94I_u5v<0z!LttMIf1{{Nc(rBiY{ zUb>J=8%D)wQG?}-)(KI)9ZOSD48xY=T;fEwC zI}0LThxglLXz7+gLG{4d5FmKbvg74j->)0AdAb1+lR~scQ;M9Kwq81Q&p^4`&|2!{DK5~`~pqRHU&v%MgV$5(f<8L%Fi;i&uqdttBKwtBs}YIpE+%F7yU;s5-%>aS|0;>VGn(Q9^x1Y_b2zz zN_^EmL&y3U!Y_JRQfc&_0@0Djx9YvZuMeED@yLH|3-|$yB4yvbRKN!pLQ%VMmOBE? zZDOZh{dxs2i|1zwGTO^1WG}fid@DN2@?geN*j@^EXPu?5_tIu})}|6u(#~v(Zp?Yk zCa(sNLs7QSy*3Az_I+bJY>yz$?@gKRqcl!jVa1fQB7`dsL|F}xv;5_O`0Svmnq9<~ z{*dhLMtV8fn)-sEfw-4K9OLLeiV0m=L`OdYA0jICsfIr9Rh2mO^9?*ek(iBU$N>?K zjh`L=+4U`+{Af!Ny)s`#Tk6Z&QjG1ugUakzE;m-rNjZQ}hv)mUmT+wq94ea2S%^O< zcE?GLO?h%rT?av)&ves4YKLiPD*GBBP{rUSWaKnaA0b|Tcfxjvv8z)-f4vG;o#e}m zih=|71DF=&f_n1jDyu$d;l&61Oee3QE9C@iN%Z|tk>tZdr5f@5mXY9{4=q7fwW-_b;r)Fn!FQ`#$*IWe)t~_$cvJv9CwmH+vfhNpLDr!X!nlKml zm$Svpsob|yWL6Jr{(>goq}|KTM4CL=&=T2qt-uoe`Tg6C_xv367u#!M-q8}p(xFZ8SE%w|)wt}L7P@=xr{-q5Vi*d4kJ z8dTmDF!%0k0p)gO_33nX7LGBx^=?$S*gmWQXS5dOHwU++LChB1 zng_FuDj(g>U^df)yiQ}_U42-3oq+aOgyyZ?+VSF$moB6)%k{t&FYDNJRY^VGIkL)RG6PtqzOS*KEtNcu=QwIna9j& z`B^qzd}@=&Tvb~7Jde%M6<%f*E@Cd9Zeli+n+EY#F~4^kT;Ba^P0Kbx4%arJL|KVI z*)}Y!{+X$+w1k?jY^gLDk{{Y Date: Sun, 7 Jul 2024 20:11:21 +0900 Subject: [PATCH 06/15] chore(package.json): remove unused openai dependency to clean up project dependencies --- bun.lockb | Bin 260106 -> 260074 bytes package.json | 1 - 2 files changed, 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index 7034dfdee5045b46cb923fe63e14f9cf6f9a032e..2f80e4a5f2cdf36c107d9a7f2b1042e1ec920ac9 100755 GIT binary patch delta 18917 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 Date: Sun, 7 Jul 2024 20:13:22 +0900 Subject: [PATCH 07/15] style(chatbot-header.tsx): reorder imports for better readability style(chatbot-header.tsx): fix spacing and formatting issues for consistency --- src/features/chatbot/components/chatbot-header.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/features/chatbot/components/chatbot-header.tsx b/src/features/chatbot/components/chatbot-header.tsx index 0871b84..2d73ade 100644 --- a/src/features/chatbot/components/chatbot-header.tsx +++ b/src/features/chatbot/components/chatbot-header.tsx @@ -1,8 +1,8 @@ import {ReactNode, type ChangeEventHandler, type FC, type PropsWithChildren} from 'react'; +import {ANTHROPIC_MODELS, LLM_PROVIDERS} from '@/constants'; import {ProviderModels} from '@/hooks/useEnabledModels'; import {Dropdown} from '@/components/form/dropdown'; -import {ANTHROPIC_MODELS, LLM_PROVIDERS} from '@/constants'; interface ChatbotHeaderProps extends PropsWithChildren { botName: string; @@ -39,8 +39,8 @@ export const ChatbotHeader: FC = ({botName, providers, disab {providers ?.filter(({provider, models}) => models.length > 0) .map(({provider, models}) => { - if(!models?.length) { - if(provider === LLM_PROVIDERS.ANTHROPIC) { + if (!models?.length) { + if (provider === LLM_PROVIDERS.ANTHROPIC) { models = ANTHROPIC_MODELS; } } From 80c098f7eb9d1cf67399e9fa036e18005810f4c5 Mon Sep 17 00:00:00 2001 From: anpigon Date: Sun, 7 Jul 2024 20:13:39 +0900 Subject: [PATCH 08/15] feat(createChatModelInstance.ts): add support for ChatAnthropic model to enhance AI model options --- src/libs/ai/createChatModelInstance.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libs/ai/createChatModelInstance.ts b/src/libs/ai/createChatModelInstance.ts index 1b55479..69e5c1b 100644 --- a/src/libs/ai/createChatModelInstance.ts +++ b/src/libs/ai/createChatModelInstance.ts @@ -1,5 +1,6 @@ import {ChatOllama} from '@langchain/community/chat_models/ollama'; import {ChatGoogleGenerativeAI} from '@langchain/google-genai'; +import {ChatAnthropic} from '@langchain/anthropic'; import {ChatOpenAI} from '@langchain/openai'; import {ChatGroq} from '@langchain/groq'; @@ -20,6 +21,8 @@ export default function createChatModelInstance(provider: LLM_PROVIDERS, model: return new ChatGoogleGenerativeAI(options); case LLM_PROVIDERS.GROQ: return new ChatGroq(options); + case LLM_PROVIDERS.ANTHROPIC: + return new ChatAnthropic(options); default: return new ChatOpenAI({ ...options, From 7283d60389af76bc1c3269322a058055d33ce00b Mon Sep 17 00:00:00 2001 From: anpigon Date: Sun, 7 Jul 2024 20:15:26 +0900 Subject: [PATCH 09/15] fix(language-models): comment out AnthropicSetting due to CORS error --- src/features/setting/components/language-models/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/setting/components/language-models/index.tsx b/src/features/setting/components/language-models/index.tsx index 9f7921d..d2a4d3d 100644 --- a/src/features/setting/components/language-models/index.tsx +++ b/src/features/setting/components/language-models/index.tsx @@ -24,7 +24,7 @@ export default function LanguageModels() { - + {/* */}{/* Anthropic API는 CORS 에러가 발생해서 일단 보류 */} ); } From 7afdf3ac4bac4192da1bb927c541cc8380d6e903 Mon Sep 17 00:00:00 2001 From: anpigon Date: Fri, 19 Jul 2024 09:44:42 +0900 Subject: [PATCH 10/15] feat(chatbot-header): update model filtering logic to exclude 'embed' model --- src/features/chatbot/components/chatbot-header.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/features/chatbot/components/chatbot-header.tsx b/src/features/chatbot/components/chatbot-header.tsx index 2d73ade..7a0afa5 100644 --- a/src/features/chatbot/components/chatbot-header.tsx +++ b/src/features/chatbot/components/chatbot-header.tsx @@ -37,16 +37,17 @@ export const ChatbotHeader: FC = ({botName, providers, disab disabled={disabled} > {providers - ?.filter(({provider, models}) => models.length > 0) + ?.filter(({models}) => models.length > 0) .map(({provider, models}) => { - if (!models?.length) { + let currentModels = models.filter(model => model !== 'embed'); + if (!currentModels?.length) { if (provider === LLM_PROVIDERS.ANTHROPIC) { - models = ANTHROPIC_MODELS; + currentModels = ANTHROPIC_MODELS; } } return ( - {models.map(model => { + {currentModels.map(model => { const value = `${provider}/${model}`; return (