From 002fe8a3b58427eb75309b295cd614e4dd8e4f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A2=A8=E6=A2=93=E6=9F=92?= <1787882683@qq.com> Date: Thu, 10 Apr 2025 22:30:27 +0800 Subject: [PATCH 01/43] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E8=A2=AB=E5=88=A0?= =?UTF-8?q?=E6=8E=89=E7=9A=84=E8=A7=86=E9=A2=91=E5=9B=BE=E7=89=87=E5=92=8C?= =?UTF-8?q?=E9=BA=A6=E9=BA=A6=E7=9A=84=E7=AB=8B=E7=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- depends-data/maimai.png | Bin 0 -> 465565 bytes depends-data/video.png | Bin 0 -> 63149 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 depends-data/maimai.png create mode 100644 depends-data/video.png diff --git a/depends-data/maimai.png b/depends-data/maimai.png new file mode 100644 index 0000000000000000000000000000000000000000..faccb856b925eba35bec09996f4a89317e422a33 GIT binary patch literal 465565 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%0D_WPd8TXvGy2vCqR+p{G#+o0S|8dB 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�P*oCHF$|>_W@6eMebrd+J9_ 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%0DKDvwtDj%UXQftQ%iwnC(XX(3{y-g(n zuXp7dW>iW>u^z~9S?Nx?R)0WK<+I8yFUGU@eRXWv`R3ObB$Ih?NrYW-atMt5%soBt zUvZL+&d>0PUK-rgmKR%mza`1|R&}-bWu~Wu$VfF5C1076V5EIBKBK<^!RGvfOA82{ z27*ySdex3#x8VrW5ItNwIuOM zN1wJGDbBPW(*|(ekIO&wOnJ^v_Up9M$eE!XHXIC_2PbwK5H4-^Ihy*#<_WaN-=S|J zcvHde~ z*c4%h0Vs@F0xDL(r-EOHVP=OHzU>a);W?{?9ZOM`KYFGrqKE3t&!;%P_F#j}Dy@Sk zYUp){w{7$CmnI`3g4EB9b||ACBV?h=cfUs=+8X5!5aha{xCr_{3yIQn-g`BgpZ%Bz z%Ww!(S(~hlHOcWQf>F)%PWAt3p6zHIsXlc)-E@rmE8FShBkH$V%Kr2g3 z7w)Wa>G`5X&Ak>{8H{(5`nA)2Cyd><<6o;w2U5mW?ib^&f3u+JX9;pb zm+~U^4MMtULUDuRtNCl>iwyq_-QZTre7+TdC!C$6HZ=OZ)Z;CEvwe%e8OiF5uF*wO zXVjMUxY}zD*Kl8_vF#x(l{YlHqNeXIaX0P!r#Rw)XNw3`Xjd4z<=hK$00LymZg1!D zVWzvHUf*@Srhld0qkl>TR#p{>a%O{L*9AnSpB`HNYLa-e#(9g>giM`ov~l;u@5&ML zN~6PS*iSr<{lbGKuLKD#KNDR6{zc=FgQeU2S7}Wy+3aG8J{i&ExWJAT;9l+%Z9)&G zR))0w@y>J|-gO!Df|=tABE&5oo@-=hXXkMUAsHHfUcBQXV(w(d;R`5))$RQK>*r6- zf55RbEE+P}k>W>=;QBf*oOK7pFW_E$mh$cOMKX53N5GE%V37q^o8>F?=h|_k#)14n^UJf1rsyxwv?ARu)7 zGM;rFc{Qpz|7DYXWnlSiX*0qW*_=d?PeOI9LlEKyNYEU-Yl&kqT07rW{g0RJoVVvL zc%8{$7pziMm2clD3eeCZC11yBpD$>GTY5%ANW<~thH%@8p!;Ut7og;!s)CGd`F}Ah zQNX|hi93YEqzUDP36@*Hy#!=p)YRuPfId9M9!Z*6943($NtD<3;xc6Jco0iiwytzL1M5@3FdfM)kUp6k<@`Z#F(M}E7f3~BKyEa;H9burQIZgGL! z6^hA9rtf6%f(2b7{2=Hl^MJ?N-&Jpx8sE;HKZCR)ZniRdO`L={DS7CLi+CGs!N_y) zR%zVbS9(Hj_2pGsnYCK|79|~*nJ3{%c!3`Ac5WR&VA!DI-)6~A0&b$E zn1F!p<{lc@-OpS(f>|1Sd$oW=Q)d0fmOZVf7mWB{!HheU8l(L0ybF6>$*2v+J#lb& z52oC7qaKVi2c7_g_}nHZ2|LWcOmy>VJ_Dk=9BZ-i$J=zk!z42vKmD^ji;^i{@|C)| zc`-7^mo;c6YSw|UBs8@WWI11lwkbqDCy>lj*sieGt)L zaZ+Hn0DgNCAnvI%CjWfbSBh7Foht*#wCS7p?JLcUq}HCQSWVK)d%5qS@9310iuP_ z(1sAu7}P2>xalMrB>X6JX<1-c9fK9#QoN8ju3ELSZ?BbjcJHxN0!{MIg4%)1F!G)?aA(#Ckc0@hc}8 zJ!f4g`TMrUa$ex&vqrOljc3gE_BNDLPgpU!4DY4N9W4OuUBM!R!X%jd)pwom2tph&D*cMm_U~vDgUd(I( z4X48+MS4o51IT%WyLq^cO>y#~C#YPsWzVoa+CYtaHE)g#4<=nEkfc+leqQcKA3rar z9tH0~cQQY7w31ez1+|jl1Jht@9Cf-&;(Qie2!Zb^ZI}UN_6v$nLS&684apV}Dnv9# z&aBVvD6bJ|i1QUrGDN>@N}Cp=SQGIsQ4Pvp$T_zj207-;S<-GOG*sFCh#c z>ra*kkqG^b?mKur;qf(pJLE><$fp`5L5cx5i&&zxdO((GO;ef-&BvRrzFu=k@;BnA-yc{LIvzJM-WOq z0tr;{ZvHYvxcbE-J>ZaYuVgev@71aGZgIeuc~l$nrJlMgDKtn>KHtN640M$J#aZCm#~s2qB5hO?zX_VIrNGw@VyL7~LO zqoDt}sx7@o4JcoJ5*~Go@O|sqWi3SApzsG6J!tt&rG|0(6Pm=^f8Jx{Z#b3S;%e0R z5?k)rM1tpR^XKtN_<~CL*@!3QydIK-g36pXw3U5KN}hm{N{iwOCs}eTiUZGj&DFUL zHkCjNw7xS+zyc^m`gI}+sUQXW#OX$o08FN$}3WQ$S<_=^Si4niO%%=pt(^h4NxZyc8nk^ zh|y3P@(5ueQ5a!Nj%BhWVN+0TKU}%R&gOzEn95u2zU`;mhG`;gL@6v(J%5U3S~`9d zhv$M{3A%b%Q#AvN)!?PTgO=Ae+<09mlGgKow>uH4+#`o?i~qTV=6-k2Qak7`8~%l{ zvVEfax@dHjJ0gv^fvonPN#*{D--QabfWNx!iaVNGc0jS$s?3a%QSGo85|UVUBdL8I zVS`Wh62L=XE%u6ocP%-75V##;A4)Ui%dDH0R8DRlB&6eHe?j8oK*h-e&C<2*@?W59 zwteyWkr#)$sy9sc(1o-IvmpEaxE`SErdOe&JA%~y%5EY1jpes( zs0&Zt6jI>d=FaMy$Y0pS9cf7t5%>w`yfrcV2D^#H%JW{>{yKa?n-9HuN!e?KR?XEK zTE!X6P4EEK6ew(3;O=t{;#%R-*l`J7WKX^zM0f9u=~x~yJ4+B@|FCqeuFXDOh~=C)m?hMLj_cL?!*SU? z(4>?HOIAMp{VLfk+}`N$bWxV9<=L#q{8C2jT$$nPsAQRAU96hlYaaOP4>7-GXW_Ym zoi}hMv|D$k94xn|r>Z*8zUhe?+Yii-+dkM@1q|Tzc>MF6JIaE%Eigv3Kdr><&-5?5 zCsAmxYVdnq$j$~kbL>aP3*Y@89Rf#A2_p(B_WJry8!q3%=gZ8hoS9+;PR}>bn9yf3 zh;Y>@`o{SD_j{4jHvx{Hr5e!6P?CKK79cep@msY;)Pw zxWoNFT6B`uKtrA#-cb7Pa+x1_*x%4&Qu5c|){534tiQyDBjj*qa57jYa{DAl}1 ze)OHe3KN};$s|dm-q)&aeDput9k*!u*s_sE`ZCW-ry&k15V((D0OuSqZ^8yhZ`7Us z>y81Uy643DGxzkPfs8;vB{qJ2^%F|#k+~%;?Pm)NjFn%%9>{GKt7Pmv|0as9kaXm2 zNaInPFnNn_kfIEpB7Z^3Q^LuJh?v8?%qoaI!THV=BdroR03JML<>ODr%Xx1Iuv9Y@ zNbz2Cc=KQH1nLOjQEsi`C({)&JTkr4Ql_?dF{${<=_&uIl>dqBIVUgw&EJ23aFB72UUqM} z&)o6}t_H3yd6TQ=SY#s!)wl+Y?Acw}I6xLa15zJ4b5b{>;CJ97CK*5jpJ+>(IgOsa zL+n#cQMy1V+u)kto0H#$XuqRU4x?2uQn()z@}{27_lV9Y!ZsN!D3BBLCs`1w4RS76 zK7au-bx6l}g`Gj@7>YzJKF{G^p!B`>p3~lhK-?u(XScyujnWgyQXIW7r9{L>;e4^v zvZ#kLpB6#X_#&_q8A_eV0LumQi>O!}c|jDBbDKE_fefMdMTMWLf}VQO*3xU@xvy>D zOU5SNK;|bzjsd0yXaInm&J1?5)w!D)N&OW$3LEYNmz~Ze@fY8ZIDjH4T509&bDx@L z@3{pv?_P1G#E%@ab{9k(^NEw!2#7y9-7Ly)zw<)^@NGTyv9Dl1CTnh9v?zWP8gb#* zcUGHs1>)Iio^ld~v}yEIl3sl&^Yj6yzSIYWH-l@^fIT;wGd5ai&6lFZ-e(ws!v<_; zSPLMhME(&{8J7PIwcoyd`?b2akSE1&frPkY6`%xvY&e{Yk?z|mgw=O4FcnB|Q8RX) zuwzwacrU0C^oTCVuewb>3BHF$fO0+W#g|uKN7&rKZA-C^Z7Sz|I`Qo9@!skm79tJx zKIRb|7Ir}PL3#+S9k?AE59Hb}5|p+>U{JgRzMEd|4WnO;KnIrUyGv|_nJnFWDHb0B zqJ9TN=IyKj@i~Yt!1|}b=?D83_*zM0S?la6^1!ngYm_xNmm5t<%$k(5WtwLq7u$48 zlT{%fTZ7)eh6vI&o~-ssF24YA zxZb<`Y-utpuK^E)36;%7ZuWfoeuVzL4q;7jGfpXd2U~W;T*&of|DnwTkOy*?hRWxZ zCa~>T$ls#mWb`ZaVZaXx=Cr9WviZ(z5N;CVpQX0T+h!5oaPE(0z^AGMg)o?}!h10X z`pe4&NfY&(4M($0Az!EQ*WSu!9Y~RZ67zQP$b+swu6;ipz6=3t`wWQb0~x)~rHrt* zscthe4_ExIx{;73Rh_95U>n7>_)U#1vTGJ2nAdV>pR1tMF+lNKgwJR0b2b`AN#=2_qFFAB%pP?*h{G$`2`) z2zr887gfIPQxzGK?y~I>%<+}UYCpo&Rri2OP--+aRpU^E zn-fGlet1}&bz~%UkV6ZE+;fWhW0inVAJ0v5H!CW;-XB4DVzs4#zYfI|k*v}3DE4^E z5VwweNx?;iHN-^Nwa4)r%p-w{x}jJuwyqINce(y`L?c30Oi6O+7DJ<{ov9^mjAOr;s-iYavNFi)*eMsv0`0*Bt9B_9M{dD$4N^1R7ivixgt0kL*uoJ+_F{ z5ezM5AtAL-NhDDC&cVwaw6xU6GgP7Yrr#HQRzUQRHKc^Cs!6g8Et$}pc=ltVlpfpX zK<=!qy@crEW@*uikj3@+LY$#xXI8jfHP3z+<vbC}qVI{YdJ%8T0Ji6(H|^9m4V!QZW7NOb=enneA2Q zF(sJGrMuZ0(THjaL292*f19v|y<2Y?teBxtKmd5hck*%A-TasLb6QVCN{5n&I8sxt z7z}?VlXZU})1CSprB<}>VHMbh0hc4#HO&9#fJSCrmA|MfdW?9x)(q)2E@1Qov=;Cn zgZ-Db|G$@TQJqvDh|rOss&JlOUy~t75ZKWRc3~o%Vvf;EM$8L*P(g^ycM!3(2d3LM zmpS5Z4Xk@$)kL2kFjl3Kgo`7hXP5-m9MHA|4abY;47S=C&Bgo;;Xj|^0a>VcwfNCz zPv^Z1&%_=ZUEWvyJ9uKBLL91N?+R6bp=j&BE*>#FsK9wZ<5Q}ukHQ?k;-BA`Gx1$$ zO#p8?x6ZCS-x`di!>r@EvJjBnwx!x_g$yXU)F%48k+=M4ub1T*Co+6aSn30o`}?DDzzf%%3lr3I27rSBEgCj*5%NdD?apla*Dr_q`){dxe2Rvi z1Mh4d@HWwhAAgQR`t&<=UH#bVUhw>fo#*MXSW_3S-|4_}eF&pa;n1=^5H$Zmo%EeK zDEK67c-j(lp^0Mw9~s`n&@O<3Wgw;d%JdD*j5H`bmvnId0!cS;cLAgadsLo#^nyU?vu&XfMYX{PD$J8~}N-?=wE z${nflRj09CX8R&^a}-!F!rIMmAzwxegdbiel9kJwYTAEFWr1V?M5(25A|B5+g=>_@ z>u>5EF^^-cHG0$fgy=T&c}qYuSZf4>wFYCK?~=F_rg;aufd#Jp*L9Z2xyxTi*MmYV z9B-QL{IR5n6><(?kKO;7%)~m(801c4ZoaZ$J{4cDHP}anP*v=p{U=uIO!|6#7GfT6 zSFQ$0iZI|T$Va6b<4_$*2@-^?N0jE{A4s!sGuR?{UsInG6I{nXy?%)(ChrEjdkgvC?5uO6wMO?1MzM7+57vd33oi*!|4Vy7r9sZ z+Fx}NwUEQi4l%8I@7D4#zJ~j08+U(I6$M;w(Ls&vp7oE?oJ}sf>&ueV#cP}0&@VxW zh=c=^5_F7zfo9^fhpr3IyTxjOw6wG11P6^fUmdduPyrC-atyrrr_@RST2j4+8c%sm z4G%TyF=f=ZL(*ngGP4=+{Y;y{@7M?J&V44?6!>I9BtJUu9A^nWxlPz+a2sU5t&N_hoIqnwIO~nD}V{+h^(U@c1$;$+bKh0KJd{f zI1w8+6Dbh&TKu#A;EI%+=Lo%w44|Mw;61TtA0#TL zKWB*LyU?O6Zvt9=6WsjogCT@t<5S9Rl|jcpX+nu~iht^S)Hiny-|ptMy>bP;o^gQ$EfByTgPB zjtug~F{xgmawG1jKemZiSgjk#CWIU12<|Yn(8jVRvNl@gvA@7g$BR`Xa!<4)5r3)R zibr`}s$EI@4bc<4v?-cUeIQyRf=$&xEC(DoEj2q(1Mz+`NXp{>QOo`2JkmX zfm1b<{WvqWSu@7hpRtDO=)B95)6WdmVZrk3VIYUp1|2T0w~MIuM=AB33d!c;Xw)B$ zPb!{L;KEuoq}!Wx{;iPleaNR&0fO%G@O^96s`y^Z`~(Hr_(gB{2@VazLi6tY(*Kbu zz#jwrI(Z?>=BEEiWk4+uvLRMJZp(r$CXZ;{IGYPFpq4{ zrDObGi%N-jk4OPn{>t&$xmch-U-Crm{*3jHqP&Eb_?Nz~uN?-wrWSN*LH!>~=N(S< z|NsBPk$K`6agGj-J>JqWva&gLRw_!erI4MGJ(Eo+du3EcMUqW6nIRb=vqH#9{T@Ew z-*t8MNB`87*Yo*&jQjm|Ke>e6-+fW=qDCOko_C5Mdk(rRRiK}v$xga(Af)}AX?O&I zAq9Y?b1cbphi@DSvb07>UTamfsc}U<_ z?L;ve-vNy4$+*NuY+omE^*l*)qERO}4de^5NfK0=EpU9|cw4mlzBseg!=yIupZvVK zFNp|r0>TkNbj}A7hRt`fa|*Q-731OV2-NL#6D{(GTEZ(mAD1-JEIN*5CO%H|HZ2L&j&k*%beL?cM+Mwkb65_#|xn!|Y$KfVJX4 z>SXwL*}m@Tx2>vbBvIUi-y?p!ytLSR1{7`}yRDuHE=-V4lwXkV_`qR<;J6~a5T*8J zT;?<3tE?oN*ri7LI0X5K7}csE%-#L6$m6p)>!CfMtZvRxv*O43l}^qrk(GDar(h9?NW}-Nn=k^$#M!Ze2WMuccY%^fTpI; z8+!$9mAMYz+N`kq84ge7(t0PKIb4-lenxAHwF??n*Gz=hniQPKuM@Ci!PJKgxsn}Uuz&e?ANLEJYOjTKdIE6kOZ)x zAZ!LTNYJM&jGFsvG4~y9bcl`zY>s<=n?)oYj^0K}ZZx8AZ-3_fpt>R2VhM{HaE;$v znE&ud+I=Y|qV zJmJ&&?%>9W`4Hk+1qS_1oWlR2o>B3xyf>y%u2x>%7~Z8&4g!B9Y??nkkd5lZT=sKf z=wkp+eBAh*>KSuW(@9RsO|5=FtARKA3)nAUo$OUS^|#u_xp>k@ zsR@!y)nKh(%pElXjP%#q+M3(jsn~phq`E7Cnu|F@OO)zgHj60ZaDvEqyEa3A)Av3=bzkMsAm0jK$=eo z>Sj#V)h2Yu-MQ05VTn`}C18y5yDoV+MO;Oje@F)3=aC#&Bl;yf{jU{&J~V~h zIuLJ)xj*C2qPYK+ZtLYef8?#d)3Zp#BDGKElbraA`)2BF|zMxx@1#4iJ;+Ta*BBPA{3WKXr=6n zx_Icu)6ukuv`;XT>fHOKO#Sv_*Il$Iuh4v~7MXl{Oo1b-%PXJsm*}(S=q$)dJLuI6 zhvSvXtQGr6G%qg8tyZ}nA9})E3m|GAXg$oZ%w2fR(+IeaKJf-kU-TCd za~{#P@a2<8?iT1c>wjGQ`qZdnbcgn(SHtArl*d7F@B0RrD6=OFz1s5U(E)UBxwJ`S zzG8^o;g6mS_w& z_XG3u8vKub1G!q!?AEP~90?-73?Ced9sj^YQAu;5$4j7At2GoP6v;O_7yiIegqsZT(sDq<{1o6kfcq0s8#GR&=B8x;E7QW2PsH4ds znj5~A1S49t%Owu9Tgu6K++koGFc|ktq8Ap!V;-I6?sSES9*Wy?rQQe9F8B_s2SOL5 z0phNTRf>CMx|%_<%UA2WE9Be24&_&|!nWqwoR~|}R3up9Twimf!VYc;Fm09fl>AjK z(&7mT#Q84zJ?lpbzZ=}sEi95a?@bA8ldd%=q^52Z48aD#YR$wR&z!ANg%}|W-Ttof zrtY>Du!1|kYp5V%THM%dIEU`uN1q~*M%Ko3a;f#LaNAIZib_ADqNmz#Rjo2;?=<(N z;_%xd{)q?Y+g4BS`Gt;`H@uIaXbapEnmJw3>>^%b{9GVS8^{xsa&*&rXTOL(rcdv- z0lSr<(Bs5@=C5@F7M#oGy6nOSP8;Xjo~3byklEYmHcaeUgmB({+I5k+k3bfx)Xu|2 zm{^lcxLX_OB&e#{ajA(1Nf!Uemjt_qj3Vm`vlTG6XLuseY9m6!hjQE@<3faxSbi>$ ziC94=fpZx17Gx>L(|xYQ_|I!-)cj;%dYC2UxTh%e8lcRwUF1l)G@2J*m%We)KfRV3 zCzwx$uaD>W-IOvs9c&&7NqOL-%&FbdUyjO`-iGKEx9HpQihT*6{^?2kM5h-!6zCh} z3#foay`JtYZn>46#wBpK|x-CEMTmm z%(4R9qo&}saP&A#=%PTay9AZeTa)7LzaXdnbA z(XWO7`>)6*dl?ecy#C>do(UmbGl9{6kwFX6cJSs-O-z(r5jvACd1vG-M%f#Bw){4p z6*^*@L%~>q!(oTIcAVrva_fUN2UnrWF>c2?u7LFU!n?V5AxG-ObcgFSEIo>}W%LMD zEhZlm=lVae=swH8`CD@v#|=%9j*>J8kX$+Y;_H?b^d zZ)9|_=yb_qO`e5=a9X47Wmj2UDMgM z+Wrfgpg&=q?C;m!(Myd8UNQ6&^WJp~-Z&ES)tTkKnwGbnv0~7ZzV=|N?G@F|WTCmv zYM+PtHcxDe{QrTZ@-9EsKdoE0 z&}1Nrc1-L2mQlVQAePp92@pI-U_oN7B9X`buZGl-3>^1_5oQjH$|eEz{y0Ffa4%VN z#Ng!xVeLc#({362XAZv}DBQA&vE40?Slt*z-h0XiFF#a{VBR8FP_Fl643GMr^^lFT z#K7*h*+Nk;&lPR|HoHv!)`)WcYrmBzq-($Yj9CrkiMk(JWq(RVbDgkx5{%|EX8!pevD`WA}OiJIm-S zIY{B942WYa_t;lUuN;@FPmxZKTH?Ll!04;W*_bvwXE__S!P;_swVv z^t64INjsP!bVrQoIX|NS%3G_aUA=}SyLphsG?o$Y0wAB%LGkaE*+(ZYN3!8keMo-i z+r3F#!x)BWCyFzHx*3Y}h7EtZoWs##i>J>Hk3`EA6cjIyp4&>tTVR;$1w!UDg=@)3 z^IfYIy|i8-Gey%a62wA2T(UWLwzb9*i*p^opAL}0eOCW+Ax7N9tG-+sS?|m;t;dpp zdxAs0McDDIf0nSo(AGLAvGTS<~Cc|4YiUuj#v+{A^i37DZh-cIb@+w!F2b-xt3U4;fR&s9`iEaPu zJ}9pHF#r}M^s81?-WC>|DAjLx`pYQWQ1*vH`;=lR);0{p|6Hl2gdW{QSYfzoH68LG z`7)C~Q_#v5FZJTfL3ckz%t z>pjSPP^wVQo+<)=oEe>nJZ+w?Kbp)E7_9f-PY?h3^JnqbuV0|%XxG|h$8@)xa9>E3 zh$+GYKI}o9MW_%wTA2CN50Vr&)*!l(qh9rOc^9d?C<@P_LOTiQ zTm;3$ZfgYt&8YI1Z(*2w`P0Cx!r|ft#-oVr>k4-g1!J=W_HL^VawoPmit7$P7&P8_ zVSj3;e_?9&ujJqPTYnw_8P2<~FDk{g@Rk^D2Lm^E+6l(ndAgpt;O`T%W!Kl0$`Psj z+`8HrBPGq|2&D*jvY1Z8^@jgiRJlhz&SR9P_Uh`n(vV?F6;s55u`mvDm)BU68f4p> zmebsJwO`3=`&Dol;|YR5N;F`8 zDb>QNK1-WPg?c>?2VK8OO)TEhOX%8v0;xKbp@_*BG|BGia$bdDOml>J)|t+4h?4ib zmIy*&5HAmkq!w2xF3E*393Xa15y@y($lGc0Y9Ak>)xi=z!ggyZnS5*ZAD5zkl>*+HG zaK}dSU{6o3?~;ythQe;#=$%=1#ntD%uuq<$B;VOTp&W#v?k&}o_hWj=l$%M&44J4t zCnT}xuy>KPDf-I^@_Ozh%dJx2!vtVT^wy{pb)`LJhDX;5Y~;}Pfp#@ zq5c#l?bMXUfIrEa)+1XExY6(5YCE5)*p5h?7 zR8f~LabK$D(#c=M(9CYno#K4(F_Os;<^GUgQZfdCiNIR#5X0~cJ#*rx`@K&uP*zdJ zL2FvMr3F5{_{Pl;-_)A7_rW>!>C^bur^jyxSNAL?nSY)WneX^!di?5<5h(XP5IYZJ)rVerQK%g}4luyE{7 z9&{w0HzhLqk%}61qTmp{dsm0(BB+$qZNrqgkXw}y>~LZMin$}~m0*Af^@wEe(~AF5 z$n(Pjq_r^m4RMcqpb!tPP_E&4w;2M8LO?BYdLfxf{;X~#uV9f_d-s8^*w09nS0#Z# z1E1Bg_vHV}wf!=ta0wd%9z8M5MZ(%3YflZ_wcxzHau@17G@0@_nEu7v=1XY(UhDFl zeyqzU-iFCwhX^*Ha(4Rdzt#9>NyH2xL5$5E%0ap=#qM&tk};}#_@}6eWYX$s95IUu=eB)pMKyLV;*o|`)9Z5 z?>L8Gb;Yd5hy;RN6kC@m5x)*J*K(P4|70n^eU1d+^5U9)bI|-S( zkbirE@bW}JYqQ9`vd39a_>k^?i#ICXk~~t4%!S-8y%L2KjLO z=(fOSOBW>hBheo*ycbwd1Qe~HN)$dOPmVN7g=08sZbDM-ywXfRUNM7+4g+DvBbHl# z1RTeSd^v509kNfSX&I6N%-(yQWX%vz$c)`{AbxvqGCR=>#{0u*S}}wTlQLycr)3~Q zboxK*?}O#_onWwLif0oPJcZ(%7mjbC*LtX=9cGl9(rfX4jNG0y=Iq>DRDOD7pq(8# zh-VQ9fPc}3|0s$T>fx!mehykCw#JPG_{o*^{&o#VNzWH4b{+7^FH6Ujnc^2>a}|ws zb_qC{Ds1(XQ<$Z<1ylMOE%Xp#>9cp65`cZ4Hy2wJ8bX(K%jU(WuQ-Lm6>CZnVQ%&Wd2sVvl(O`rqB1Ogp&WaX2A6th0EpDQ^ zA>|>iC4`dk29Rv}`HNzAMOQajTt3E)_Qr5BY!K>iO7u%)J7MZG) z7N)8h*dPZ)$c?E4d)X?7>Nik&N=_~StT?{5@!^bi*s|7)*^>&bHh}Ama3a( zM6JG(Iy92X7MwezQFs-b z^7QUZ!*QR3)#B09G$H5)J-Uo3&j-tXvmH(USpMPqFTS;mBvoOJDm9nkA>#_Qi!Al= zy=NF$S9}=z@J1AI&UJzG$)*k!Nt$~lp)0MqQ3gT#$}7N^*Te-DLnc z>OOU7!E=op)*y5Ongm$on-flvOI^mtmBESIRS;~0rizOY&mE%tgt{Sp!!rL~$Q!JI zgu(r=IC1iZ!IuUC5JF|;<73K}CQ06!e?9f2AUd(C%YB;Q;48X*+Dj7IR!#DVJB5U7 zh96bz)-@lSpxnBM0*Qlh*HUjvF==JK>__F61LMb9Q2)Z1xHiQ=SNN@9cQJ z;sWo90)d$R>(B6>RPK=^Q?3c!c8TYg63;CzbXcVZYmx>>p|wcpw;%GEK5i(lQ)=yK zo0p@oz%x))1oW7ojg;`^Hzy`%l$)kQV%i(sD0{^Wg;`vjE!lI9zT3kf8XX)TV-0d% zirG)c{T+IGT|YVRrKZhU4b>Sls9K7@PD+Nhd)T0GJEXKl`vvWHU zbKM40#OCAMD8QvNS+_umwPs3O$^^||>E7=4nnzZqyA3E6WcwB0I-WMXuf%kb&&6JVKtv znd2{NSMI|i%t<%l)w6Ne_ao0b^SA%%2tsRoLPPU$Ky?=ECPdRR<8FAe2IUUUPsUZ7?A}uyl_D`5X!6S40rG-zPLTnqgA5Z&7a((m2g1u?; z{(0s{FvdkL`=$?KMyyYVC?$%^q1?6w@;Q=oCDd*_{kVMP)+xNXhVgbDi$d{olp0NK z>D_!?=R?0bZqR93KIMbw^sv$VyqK`Hgs5oV#CI^AC*E-BFv*+U_-9jn{etIkY;tP5 zXey+C(}mMFE2CTyC4gbfyEXdn^2$neJnc#eR6;crU7~ znmy%ewNub0SIUvXU)}s*)%Ww&n>U4-DEVoeh}g`rLrzIMH)?LkBGtABK|xhY$-x>P2?YV71aeGw!<-IPIUnEeEVbUcz86sK@J zH~jH1VJAFM7xc#TaUrKD`ZkQ294Mm85=k z-{#k16v15?P7JhizWa7ch+D;X-7u3Tx_x8|w0KHa_gyjN9wKc7bVOc$deQtXi;c#N zXIkH7k*CLZtc!>r@q^iE5tgglpB*J(RSV>qJe+((LV6~}^g-_2XUI^3b->A=zEc0@ zHaRmf;r$n=+-Ih0IPMB41Pf_l#c8Bts=f#yH~&v}3R-hAYhf$b;0pFcR>IE*dU*V)k0z)qC*Wt;WSJr?&hP3h05Z+{NA>vNo$5HhgCqJp zhRWVEe@4$AbIGDt9#S#{Ihn+_kUrR-OLzN2Rv6WcZRQCb-w55RJzIg^TAq1+ugiqA z+tM}p%>+i@LU|HJUBp#pePOiY4lLY+ddJrH7%7c}Le=A_tO~NHXuq4WPpXhOi%{^V zg+F$+{49y;4Y3gAz5AzGTT_H2lv>SM!djG?J{DH zAK>2EGLIO#wmLB$nE?M7szK`T)}R8HbdeFF)Mj$N1}u(2?67GrOP$GNQ&zrG=dR>7 z=mRXU&2)vA?>JQgmop1sKHtZOjb&y0Qsr679+m5g-jl^18c-i_7c#-Fx`g%nK@JH5wJueAmHOl>4fPswx{M+EI zsK``%dW5Gm5Mb*2@#Dt`2v!f(z~CEymwmS{))K>KEqvGX>QW);Wo{X>|80{>C=3x% z3>pZvucg?(6nB;)1)RX}`vXr|Yinwzk6fSK^S>qNY!QF;QhWe!tSVFXV}<7$b)}cN z1m`->Xbp-UQ#@=`UZ+<&z85d6(7+xdsfd6$FaVuEht_jD_n;t(ZyEQ$95u*wu%4BU zKc~g?r%myIQQH5fTwOL@kaEPlKR}H|FVnWoM09%_37@n1;>x16v_dZ>S=vBmr4UFU z4<>sSIx!*Hm!3bSC;MZG=Abs0Q3(@{r?ZLQR`12QvPUk+G&|AgwVpEm-IKC^X6vQ(GtBA`G%ICqj=22>pp zv)UkVOO`y%*9b=p`TyAU1ydPy#!Cuuk8}&z{@!GnbYup%0^7R4VF)QT(_=oa@X#I3 zRr=mnAf7l=)motTCz35APG8ps?jAUoX^JsfE47{c3pqQu28ubga&CXU;pN3a)6}Bq z>JgVK!|xp;*DBXZ2+eaTjrTkP${rV>s9PLL>7O{;tWVAZniupACx)i-^)fJhcagw* z!busDll}Cm?{{(^G5%-h)(fb%Z=o+jxqWm`#*z7|T45<-+Dyz+C~FR+!I~e%9pjr{ z-3ELb%xevTR9FBlb4!f0>WD zLN1qC{4J&9rZl6pA;H8aDu$4^8a18OB%QLrcbR^?Lp(zcNS=5 zKR;ny^m}kVY4(y{)%K{ebg1Rit|fQa>{b3iHKPd5A)=}c%}Ix(2w`A}rjs~dC*UZa zt+x&=C7gRqkdz7jyeM5ZCc5ZGOn*kxaS4-p+U}x7&FP=g1T&Ur3(X$7(pU;-kw<2Y zQ7WY|Rx$zKs86NWuwCSJt7w;ou(5Zhi(iBtr=knilR_QNm)`iJTUJKqHBV!4?-L2F zl`*yS948qIJD)gTM>rk#3Ks(>o(I*9e#pbEH1Mk3{I~kg3qByiY6dst8P64<$0&7d z;IXM^G*xlI6Z=rs!Jb5!syk>*kwS@>AShI!kw*8ZXHETW$_Xa}0%6v^N{nhrU8RcD zU*O8hq@5_dMbU!S0{vpa5I~zEZB3ypDVtpI6CGT|fzstv;_wAVI+{`3wc9^S_s37z zd<6n!4guQ-Cxlgs%=#T)jF-Hu6Mz59#%xNiH^4ampVu`6rksuX24fQKvAIe>-UZbI zgo~6-vMSe8&Ohz8=~FM*8eLqpdHf30zZmNncW1E<+`v0|vA;PnF}Ia8ND)!_nh};OGxxYrN^6WvDaajfJw*s**X_1YBaKKP@S>ySH6~sOhZ$0~ zSy%{rQNs+E0945li7PJ+58ui4xm@%pbgZC_IwS#WhS&RsjVIjp=Gvv{4JE6&dOVwz z?yv&;ZPrt}ez(ZTuyZh0oAp+yF>CHexjX1@l|Gy`9ALM)8p7(|Fs?+27(1P{)}$x) zIdDP-h=y_>Ll>mW^0+Inop(*Zc{PxY^Ax+_b<*mWkASXujWetnPNwKhFh9JUctP-?lx;x)(V(IHay!y~+#-aKA~w>%ym$y{JHJHPKad#;B`PCXzIB zNCtAtV6nEa)4+QnLhzd;J0xLy z<5_<-ON#oL_uq;2kqw15uAiDEEM=Yha5fnhHIM6co1<^_y=g|#e358|;?sp7?nNGD zswq~|aRY!?86QeViqT{Wg{XyJA&l?J_eA^}gm{{*6nKzIqRHXBm_C89HW?tys&6f$ zMvPC@KC|Sj#xsEE6{uUvFRz{rO02)8rSZ0#B*Cccc0KzyUd}A#H%Xw8@5r~L|DCs; zjB#W#$P=krRf-At3B>pW(a~FnySPP6kvKwaOn0yoc8ayDtGJzGjiFd0ZDRL>VUnEC zuv}fRBWHHLaDSp}XVE{1iK9{F>Pnz>80OwVRDwgp`R(%o8Vd_2lhkmJ(QGj-@Dvl7 zh@dk-MSsXY6p2k7fRGF6AkmJA<>zB-)?b&3FU;4KJD6TIr2Hz@VWKAeAyMw?|9qZ? z`FKhdgt8H`xs>5wtwp`@^>ouzTWU@*L#ER5CJ%EXY0&>$?m@oCp#t{TYD!JE-We5? zn*YgQn#XH&Wy~--_(3xpbA2XFF4@*l0Q?!eMJ(?8kV?@DE_0@0oD0_{v z^y6+7QM)hmX7m2)2qhNzS~zNt7<(6iQ%`ily3ZwxsuEZdy$})2!81~vpL;_$!j-6( zI`h@PH6)S~CUC~@X=g0IJymeE?H#b1*nI|Z3L%P}ng(GI{^gu57f-^ON@ zj0DD5AFNz+t2o&<@bdZpvSde$RK=$gMt8Btx)JBjR3rry28yC zSgje1NSuWH1yi~T+R}8mPJFw4= zIRC+X{1d;huyW4j2kBMPNIX%<&8O=@pn+LXqzuBium0bM-wn-H9b6rz-_ev*d=#(l zmlkX&=jRhh<5yFD51bR#?As2|w1V^!O#*hDZ35Mm&MX|-CV3juXE0hc>3Fs35OfPh zRbeMEtDV&mO0&l z5JwfA)??i^+{yZ@VEMPy3zl<2s;1-08uDJ(cfPCC>3wx&jrWLyARINrLNV4hF|O6Q zD~Fgiwfm&IG33iQFo#Tl=nvv_AwVaHn`rvq^~=6ebAVd`j#S>H<4KG%>@dqx<1%Gg zxn&+kSZ+E>-i5~UGF%w%Qa&!f3z*f@hH$)ZZts|gL+MUa=1fG-vPf+A!sA5bCcl}c zAn&+9u&9jN_D1n=+EkQmZZc9 zHx2gxg7)i%DG&Y}U@HD5#{1)ndN7CCiW3;^e}70S7J4?V+rQN^Lp~^EUBJQtl;@@=-+309vDTY=1hMI>f>{P0X zeU=zm?(TP}HYJ4|4$73lqn-1ys`e#A&`n=h8CMT1$f5eFDbY4ce6sV3J#&yPu0ZyJ z#CgCroHJ6;!Y<)~IQn=D-)T3IO%Og(Qsgjh%d=giz{@;;{v5ht(Cw%}LW!r#4qK0! z!BwS?T+{VFjIfhW&&lb8a0{@mucW+S!TDuJ{tvwey7qe#tVOzf+rtY%B%&R2(zO3Q z)?SFI%12wl>h7**3W>Ma|91a^ykAd;3Ph83nABWJR?;)w zuL>}|0OBAPAtT63k;`SU(*WO(dI5-ZAa-_i&*5_Zs5r5z#4ZTXRuZ6t`6^BOKb+ja zV65EBD2`LnsxL?AdZG%6*IuYlepuGs7~*po_9%MOLK`Yn)Y%Ahm$$P4e$6D()ye9P7x}>*szlV8 zDf;P;$&UL+B`P-`uG)${#4T5bAc|C&{eQN-e#l_l?27yUoH5lR+&WHv&3hPP*K?KK zFQs%$I(pqQtoT_=!)dH8?j*pm^I~n8Ta}RW5g^kr@<(|ne)5zeLi&V|n=GwWQQr2@ zY>9Nu$SVGSaUQ@WE%{s?TwNxkxXK!3IbIl80V?8YXS%*lWwAc=39a<(@nMNwnTc?# z=gl!qCzGw00djS;^LzIJ8nWGB{zZ6j&!52j`io)9y_Z){^7s5|^pceQILGL~gh@c1 zn3aH8yZ~2C`qQVZLA}q|M30}64A!~7pZ*Dm_UlVLY(YGlFc`RPl6ql$V~?$4;>Wjd z-}(*7=eoN9^hXs`OF6M!KUni4fQiT)w545S#Dj^i*{YPN##BI zFH$#DVji!A(Na)7{17AWC6ND+jDm|^S&Y0b#>cT%Ikx#Xb%>($V9p+&L$UgC=kF$3 z2EpV5i{^tzGy;zw&B=-WRh%2Kp(cqu+w~sXg^zkJXk@A}cf59$?c>XhqfI%w6VS$V zb3i0*R0aT~UZTvo6r^weY4hN?P|7818xmO9`B*{y^M3KiBJR$eJ>YH6U4ncRsHoZ+(k@7u_GP+%sKwFPPTMZCUHz>C(+}&UA6{ctYEj&TXJ``hs)EAzx+mV)C zg((Yev4tp8Fs4K%~(W%y)317{VUniek^Ggb?P1NN~5SK2Sbks!(ksOeS z39Y=_fVLE8f6K#+W%%BxpW6MO99|EOF>wneD4|tDc~Uvu9m<;QZl1Pe)RlbV%;Y5S zLqgW;%38)N1-1*Kvg!GL9*25tYS~_PC@=NW(JsA13qs?prz8FpI~#|M@mHT$S9F9- zWC4-vx6DbbJYd|_F%c)e8ouP<^|~X%zn$~8U8RlSs#=HzI`Zqu_U(^~@vsYe{+Fh+ zJEFF{7a%r}o@Ngy_mBE|de>K3qg8m@v#M|F;r<(>HVCthfT z!5cfS=zQ7b`q%H@XH+}AM<@|@f~AKmH2ikH2eBVZp+ccljC-AbT|aE-skD~Ur62ZW+|fE;b4lY+PlcT*QvsP0 zYh%w5?B|4pU>wuZ!ihD=xELP3oTHqsWLQg9t2w8LyoIycMD?OkK5YAzBrYz5ZhWB{ z4^LUO(23(Hq5E623ByofbzatyVIFB9ju^tL$Iv!9$}^DpBr?~2`%sI z@S7pePyccn{>8i!em{V0*~q+`bN}njr`k768-s+5N${vxM968?vN6`!r{~099*8=g z9t$kNRxge3JbjXydfn{qvuhQm&+QEv1hsi0M|QZVTF?kfY5`=fqc5Yv{D{^`li)t+96Li~Gj3ea5}OjF@}CJZXXAL|rn22;J_`n&Efly<{JV z*cf^;Tp!bOXZ6Y2@hfu*dAd|vK&C$z`3av11aP038g3ZP5KJ;i$PkT%!Uq+a&)R`l?&-ina6QcXi?}Z8S4b z9M{Jy=xq4oxK!G;7PF8^$UG;DrA4l01RukGc%Ep7OLr2Tz@6UaZfvb`5Zjaydx5~ ze#_m1*FGA6Ms#g1-w|>=*opva5`>YOPYQFD;k3;E378VYze*gqwgq`i zex%2U?2Nr;pfggRetq1&=YJydiB(@f3lr~Oo8fcM{zOWNPwxF%)tM9a zeQ_>2oPugpgH-dq4pB^9cs{I{0~hzB+0#t3BjNlR!;EYd;Zr>JtM=0SIToKz4{+LC zU+D?{Jj$b&B~Rnb_c1$fi68r~tK69{>`*;yfx*L2v(05sp{m~F~>tSkl6}}vPHPuJ~Vy|?JwDn$)%U&j1#sMP> zDw%g?KMf*;Tt(>4TNG06>Flz1;)-gCi1(Ko)QPn_{=)}`D5Xe2oC56-O^Jprdqk%e zftPiG{f5;WA7Mm?5p4j~h==R^ytqLB0QYyZ;C^W>G9q@)L=^HPz_WL_es_8FaC{k~ z?{X5_W79`xk`3uf#N5c02((mj>8>URxIeA;_){ryQrzUD% z<{$ZnrCG2SO2JVFn)I;WkuAvzX6Ig~D>OkMZeU7&%_CV2-aKrr%IZ`+oA4{$P>i&%>j{@%=h3H zjF4HbAG%!|Q&r|PwdW|cwhaB<8^@`?Cb-VmPjr`3mwjg8EN`_@CdBe4Rv`(@2LGf5*+ut!n7@4hWTwl+jTQo0*Gsdh?=sz;O_@XR z29M5Kzn>1ITJXm35|8MtF}qP8LYdaYbPaL-j()KjnQS)&Io`VGKVoMiC7_*Hc_r+9 zQ&zhclHVtq3}9Nj+WNi=Xa61C-hb4)k;}N(f{AR=)f{MU<|M-_y--3G>*ciea{Qxw zHHnh@80mni6h8aRl2_DMkUoNbAg2K_-aU6?_7C&nv`FD-RW((;W;??d0-C6lXVS{A zu7CB*IC-h-Zo#FY%+6QZ{`9b>1={4D)ekA_ihWi1$@oa%k$jfoJWB*jMLA;@Fgp3JM+J{4OmU(ZIX z^ko3gs%!}JVD{Q0?3p+8H`*=Lw5i5DuP_Dd-#gr>Q+2^S}9*nCj61U zV(jv*2P9WJPKkpC0xzS1j$8qY>M`PnIfo^avbKegd0{{S(5#wT zWyWzOfiJZ0yIiVXCa(EqyrlvKjkTg_w;;&+{^K) zKsbW>3-+4;ji_|;(|;B2N7ZBCLX`UZkm!U_-^ukXO<@24%%mfLr(6aSd%qdKe);ud zi4x5jqxjZsq=84K3MFhkKwb<|Kx=rmGu@&5fi>$Fn6$vi1m1EWc*ZOKl|E7P${j2w zm$9@Q%Ua6nR?lwySDU^dEf>x8dVIYfw8_gr)~>pBx}$Q1HoZi`VnNlH$Z_`9ndtZ{Te}a zC*!oswoV7e9Ty1zxtNq+j-|$BGxa{nm&2OI*YjX@dz;?VsL-nTI7W|6>PfeaadPt4 zt&#i-G1i6FxK6oM(}d8u3rt(N0vv1$%G$V2C=-ONybQv$A%|Ac$oHVcn#qXgT)MYW zT`zd~eb=^V(iH+(dlmOZ(WKlEdYvT%vpj=!Z=ZqPj5cz7mCT1A+cbSfx}j6zB`Q`VjQTX*-UjMhd= z!J`eCdQI|MrgUl&?oG;~hW=AF4y zO^wJd9lP@{0Qg$6eTOP4?ohStLs7V8Trjj>xnAcglJ@?=_EP^_FkdZ*{`=SV*p=Ku zSi7s%39fqpZ8vd5e7!ICF{2*r;QZ%r*6p+dG(FCJAY#g+SY71g$1il|uBD~rC(mj3 zZ*DRaL39iBTJ%6uBMn-6@t)<}v`d(_{RNEY>BEl;sRgW^&m3A^ac8P8()O(>t88B^ zD{)Cl7@h`*8%R%OI}!)Fhq){gTN!FeISDNc(JWQXPJMC?GU_|6z`lu>TNfaVqB< z0#}6QQe!C@=8-j@6J0eiM<6+^s~?`-bqX$g!eXdTsxj^!VJV>62s931M7Il?7%4>G zdmTn8RVKJxcLnDx_0CZw_Hdv5D&YeN0I#3hZ=`D@KyZ_Uo_}APiXKa%*`Swi^IeRu zs%*xmHXwaNoLMrz{>f+_nk@uFTaMV8ulkC)IJZQaB}OPe4oZXBJ+O&aLXMwwT)*>M zKgdd~`(F1mZ$-(IAL5TwUs3uOj;u22jy$+TxplAH?At!h00zL zWryrdHrXSa%1UHp9wS>Q3YS&3D0}~&KELmE>#yr}-L6}=dU?NI&&TuexIb>baJ{&t zIf6S}wn|hyVN50pM7;MruhFz&o$!`ogD?yi(ZXd6?>diFen8)Q7?PM^2>63z2x3E9 zYRJ$G9N<|;`XzS-?srbdq|23$yy>#QzAz=L|2b-VifbRWWd}5A0ga^q($rQRfoS@}>2t4Gnwbj*#+|%`d2o~Q8-s~g|Qa{T|MnOTr zscQZeLH-__k(KR>t=OY+=o$F83B%?4#2#4xqqqZOBs%T0@7Xh&X#)t`_UY5Bv*}9a z=F7yM@GMby^6?9cWeeNy^gc@x6y!+3*$ILjRBNi3NTSjgy*UDeR!7@gJ8hSHGo&b5 z7)@#XA}=P(efbk<$@GbG0U<2b@3Un=KhHqzM2AKBipUQ}Fs3*MG6?sL=`)~)17q&U zlp5c$lp!aZ+N5cx2~5D&A_JZhpWA1TDDGT&#$#+h5!ca!HdPMf4jJI$;2Qi$l>;<| zflanRwC_ypy%-|pc~dhpLJ(Vbe<48XZf4e?&k|i|dr&YcfxPEJivRkQX_(i*wX7}@ zxEm*LBwN{XzshvhByA39^w-*G-BElA4?V!aCnp_u$PkM!JQg>=D>hPY{(Q>+>oJY9 zYmM?Q&i}E;ykFG#lCv?I7-S6VRHAR!!CVPXL@x(ROKvlLhViEvEWz^niS3tsj{ZIr zOFOPrFLWaCjnO*U019CV8)?Va(_NVk%4WTUMU~5>1htKgf8dq>oH6*X9UglG9SH4~ zmHU5Ta`avd(to+`zk-Cs68@U_nwai%Z6-ImF*HIXC^%V&G&ANMH}QeM zcnA@-6Y&7-^1g0H%ke7APT%2Dm!I9f963$t z<`cp~*usSwRmj#OP)$pj@ggO{(6i+G5}P!-*v!m)5oT-wH^ba<(RwlEMQgFNw_jgh z;$@qFBpnsMvO^4!40dqsSZ0`;%E$~I48}Ncn`&*w!=IYcbnc}?UMF0-NdY3sP}y_P zt0`&0zXSchl=K+^6|M;|KM4N-isom-vV|PpgALH~Y`No2>NbUMN!~s%f_GVdettA; z(W3PdFM#O&2?)St&z?W;)Um=QhFqQFn68MRXD0&h*;%bz(m=ZS=Hb4lq%&qA1#Xq0 z-Q!x7{14(%Ql~%Do;U8V!B~0Sqrvd;mDlgpxV0THJW|)M|2As!o?O{I6uORlm7{z? z`+rfWBGfjXU-UpMP!olxPP8a?-2!tI>?iO`ZFu7u)%XFP}$XrUE+Is7}n!>*Is1A5Krl&?4rhA?fM9 zvF&$xD;r8?Odc{odvnefj*f?+V&m7GubHe0GT;&VcKckARo)l#XBRT~<4(ve*`pUE z4}|}GK9T#V`zKHRF)HtIdAg9V!=4E#UR3B)O=#spfA)hEKw-2B@f@ULebfjHb=z7u9 zTj4}9Z|W{cg(4ses~)31A$>0iv^#Rgb%h;A;+?vXt=pPUw0CCMY!-6K8JFOt2;ms$ zmIZ1bf|&FM*q`^{6$O{ZfQFjdEr@QFeHypRmV30llHDs?q4x`3eQl2mhxg;CO{0W% z>edgN+_#s%!EFD}WUHOAXHvKy5pk~BIGeKJvkAJpq@-j6MER$U>ptR9b7d6l4+7Zi z;RFeSS>EUK!xG6e7KONoNPJp)IzMBu&<&uVcZm-Gg1sL-Cogix8om=}#pxdKXeSV}BmoC7K5cf9BYLLywDsU;HsVVeGx8x;0o zUz`Y$#s_e=CrAGtKgmbft@GBC}VwTCN6nrA;B%oY{bI=SUm=Oy|f z^bz+UYfGF47qa8Ln@Ol1*WjC7&L5Rof8Q!i6nE*sZroPd1264SNER@)zUv^Usr^rPN7Ulykq|vh)mbnM)FP`d1vee zakX+)Bas|li4E_mfn?J4sg>=K>vR)gMI9L6^FmY-yT%Q2PO7D%vzmeUbYQVo305fJf zwiFH^jJjZEtkB1ZWr(km-n;4Q&j84@)K^RWy(Idzw|IXmDR?MZuPQhx=DZ>KxllwQ zY$nZ5N1WKcY4vxaQ(P7i!U}E=sw@s)-&p7OD5hhGNCLBOAS)Mv4xWOxXxr#K%9JOGJIOevbuSy}HP% zs``_f2;XHSAMsA!OS-4QPX1qphpsn^*P4nz7c7F=rOz1vAwKE9B!_dRr=jG zS@`v7oJHJKI3|GYo)^WX1i&6%aFBd|a>?Ro#Xce6Pe@b=;08fUAtwi|^xH$a&Wi8| zDc&C|9>o`1%bn~ot>U^-NttAWD{8j}=B)j&Mg|6bK_+`M@a{HBO-~mMQ%^j&A9D>H z4WR#2o{eMs>V=!o-zrE?zW&V4&g&2!^~XZ%r-xU~NC!Cu0>9-CY)s`P2&3exD=X>R z9VWJJt#^Y6d?T&T_4Yto^xT+PgoXG5omMx2*?UKr13xdg@58)0ibV~7;HUJ3Vp-mB z9o1dO+FLP5+>>-JdOs*VAVe{F)Oonc;MA3*rT&vSr{}D$GUeD$_v}!VQ+6El$w8Ly zX@;gb?zZYeL69J+zbI#{;vSkX01Z1-s7j>s*>o3mB$qB~k>>~H^ zNg*wsN>+r}aIU^0f^PSfz9jA*bYcOYQ=C_3-YznfWKj)hb zUy)6Po;(ouPbHOgsjNJaycrrlk~HVgnN6AtWcYg(QcKho0UaNb1}ln2fyhN{b|=09 zz=NeJf&GsJlJ<9Ys@L5Adt9vJVQpzS9|FhgE_>ieKv=b1B?wR}@Y1V+;EK08sgU*f zPM=osmeSPmpBJM*&q6DmP8q?LFSU^_ss4+P%NlO#i_H6-MT;nsg^Ql`d@y?#H9Q+fL-j)ioL}-N$tL{m;~= zvZR{wv4pi?+>=^mz9@rQeBs4~7#5x=Z7FUR-P4Q?A^wjW4*eCiwSEvl?dq~7@aEcE z{uss}$8=3ZZQ`>7%hbX5Pf)z~w^wAq*wK+TYK0)8kV2J!^$vE1pw~gj=P!Ze;inUZ zlcbgPnUbqX6*V72W!bYL2$ic}J4(f)0lYgUCYY|(I3+T! z@4Eh_{`RYiE+4_T-c&n1X$;4W>wXs{x9RlUSM1zA>9U<8aT_XRXAtVHvN08HR<@BD zDkVU5HN=M^%SXPd{kca^VeTY;wzyDLRmFKNi+XQ$P*r#?xDHM8261tz2L}2||Ma57 z5Ir)TcBPr?I}_Hgi(2eO`DbxwC?tTbw%7?#zxTpallc+Jr+=?^Aqvw`}YTI zblL6UNMCAMkXv3h7_J^Rf|HQ)@#q@tDZh`5=u|uw04`apR`Ev>DXFOqFRA}!t)7VT zzHKW;_Sr9|<}e;KQE}=F0+n;*g_cTCVZMLKoLW-ULtDy+)XIEJ!N{pyz}b;>Fn3m5 zLEI`;YqnoLgc=~DNBHi4!ax>GGFDdz#8J{HS?4JVqoGL1?mfTY+^3Vtrq1qea?s*7 zma>jS1q?h0;Gx9@#iJkg3E1cY1Q`eb?b0>B0e*}bZK>VLy^f?)dff*}e|7#65Fym7 zG9wD5;~I=_hSh#y42ggkAcv(i4}B4Tdh@`^k)W}SE2SpJSA;G-|2ASLv*cy+jFK)2 z9m5}Nj7c&)!ai&GOWe4#?oHya+NOzmhAy{d4syJJwJXQ@JrPP&T)N+ILzl*tFFWFZ z4H`Bn`|s+!z3#b)7tFcGKl|_HdQMj33WEmf;oq-2?NqG6>;(k{^a@sm!?jnLZlNaG=Dg4%8GV*e;$8v48hiC25x`6T z-CNme4WVHQu+RsC@LAkvs1>c9g6gJ5kpvW>_i6~PI3EM8=lYSvl?Fa>xw?vymHHXm z=JLjZDg0S2x(+fA&}v%6MBR_$ojw^c`2FG3G^5);b3I68_Pe7q-ZSqdkPR`rO!jyU z5!RL`am2OiFAafX;i!){TtK+v$foLG85Gacx%&0S@jttVbFEWUzMzFD=_qSnc%{%-ULMo4 zu<2Shx(Q<07j%5OlUN{`Ro;6*tU__|)UE}lGt+L|)6~?|Ux)z;S0?J9)wWuXU%j-n z6zD0RDiJtw=C-o;g65)`xw59bZ^0p88o~B^{Mn}qZBJ^(e;<=y6ZQ~&E|u*d9+k`R zC_GQoWYQ$uh3aZT$Eb;7$el;R;2ZF+54KKng;ugZK_PKQr7PlHUeL!A}`rt_mcA$HRgSP4BYeBDCdr|>xTRSX8I3BvD(o)WU`4|G{A4lYj z58fJTqTPuJlrjchk0j&O0M}AdObVGvJHP>h(w_|!ZfL{GU!e$Ul}2vyevS0#pas+3 z=2_oTI?h3MyWuOd=p{vGx8Wi~0;LNLnb4OEm1}@}gHs8GO;AoHd_JLMuzt*`AG8rL zUismou13xA*OneWEE|o7+ZNnwyLc!G*8t4FAUXS`c&!5v)u#U5TAw;uRFe9Mmh+Ls z!2|x1i4cnLwMsiY3;7AC;VE9&bpFNoH%?wz(s27PY^3J&3a!`(=+*`-`x%c_5z|=+ z)0+mO2tl6K#V4BuB7@47H+BOoY6W7>z-xnMX=nk>$0l{MCtMn}z8;;^#^1wak8tLh z#=XvdX1_QU8_}9Z;A{2+_WJ9M$CMH!435rZrCYG&Y8%HizA2 z@T{#VBGEI2-v4-j5$#Fnvs363{@n9ea3et1P^MU?rM7dx%-b7Tsa=_zlG#2yAQ`EZ zABeRvnP265+<0*5!SeW*f%$1=Vu7w~m5InnYN1FmK2e3ABGPTNy`t2iq_B=?9fp2V zJ#NA-v>F~^8jF78Kh@4HlK3+IS1kz_s;wOBwM6FmPgN>j!xp9r8MYGFpA%9|GzAE|TRxEe^M?v9JW={{TARk(l z3@8##95MGNKI;xD84Wn|fEzd0u!f2g;?;$^eNnh=H6}=)dyOlPB7ZgW1If z4Efk=zf6jeT?lEL=kH2IwNvjT_WZ^Si=LGRR*kRy2gHv^k(6EuL^M73HEwzL8*s4b zCyRIwOfm@mSAGT7TVf7+_;SPS2ojOPf%nYy2qCvj=v{qL8 zeLCo0Ia)j7Pby9BH%K-3tV%OI8Nt@99j=hV^nB`Q{>IG9OY;l!U#+WRd*(M*hc)I# zhR8fu^P^{bd`>PLePumnUw$;ccc9xu&Ug8PI>T$zb0V9SPy}Z1)z{44`McQkEo6G; zLtk@`zf*&riwtRMCz&IhTw;y!eKW1Y1F}CUx#pz#+4a+(y`GjFBZ(wBDJ$pdRps+~ zw>EvGDmYU+>K)p&w<#sJ_!7%bQxUk&6Ri9O$Cu5U^s;G6i(4O|;FBUjE~_$D8qiM1 zV?TFrU7plcgiN{m&Km_34XUR492yfRg1tk{hU8B1i1_o3EJn-J&h9+O{!w!i7pfR! zp}ZPsR})a!4TClzqsmWW-&PZm#6k3~$8FdVn^uGZ`O*IIu|YvcNWRumW>H{%0$4cO zs-BLXu`K{DoiE7CS!~4}vVAUc!8?!?U>Z&t|cTb)FXS;m7;dQEgGqC^Ln3F9bWb zH(;uwN2XY#IyNJJF;eeb|&-rTU9nk$9l*M z&VuIM##67y4UQMawl52IgiC0ZqZoPgyjyVS_?Qac2)fQU z4@+|r1hX4!V@0=Ti4n*aKjqX=V?3X_bPWR$EsoYVZ{0Ux_xv$3?nNPxnE}27&NEJS zMlBV%!_IQkU=qFYY(g5O4(nSh2hkn~D0wO-7%?m>T#T|d%9-N|ohx50Twi={zTuup z0_^TJ*Ru+|ei2X1keQCpo9Fect4|ULWwvq~*I8?m^#}B*&Eea1U-|aW+6jwmId+)N zvjHaOew7_FRP&VEJu10PU(6G*hkY7W8nE=Zbj4p8yA$x7#ktqJsVp-d|6y^-jLaVa zZ@|WNcmqN?)NdlVY#}O!>iue{AKuk<$NTtTTdiqI%4&RPAwMA!HW+9`&+aimhNk+= zh09LiW<8hz_e(wO-lK9)S^3Wf+BY#Wi#W=j-;Plh`fz=6M46>19_L%9^55S{pozhw z+eY5pup94J=7YG3N2FpdXJ8DlF-D(O{p2=NTYU8&_V({0$QGxQkX6vb!sp%wB+>wF zx3eP#A7Gu57R_AMT>7g9QrCqzA7nMyAe}q;()uWkkCm>4cV70`%IYW-EXVgF44%?= zJgEw!y5-j=Z$i|AZLalu?!Eb_oS!1v$P?p`Fu~JL`y^(iZtq~UF?jdCmlsb9jrKc} zv(oSj-aAe;u5%J+z~9dYKc51_Q6~4BEYAj8FPh<#{r<9x=USRiSk``bE_d{>4x{rfnR=|2-Lwx$^b8svCnUZUiz9vi7AI{mUV7It;2 zr2W*&zCQ#e9-d>jdQ)h?QA~v^0@n2bZHu6wrQ$}4LM0E#DJ^VBz--O#g zB!F!Un10jgWi_RTecnx{-Eg9GpHI|$wX1qKTa#UCR_k+iu8Q(H>SyYnb%@@*)LHRH zAwsA_nGa>AOGYWbktLgL%p4pmbhmQYrpgsUI~t_yqwo*p^2E&41{>>WN-sV;f01DQ zV)6H&YG@Y)a?^Dc>#B!1_kUbJ*Tmp;t5dgCB>cHZ`z}#m--c<^6q?cOZL^AQFP{7W z7ueA!t~)k7vzT}3$5)5q2$7GE>;N`?Q=ix3gWJB0@4*4_f9?x*pSOloyNgXDkW1-j z`O_CCO-%sOp1L{CDo} zrIXU*R5VP)$$c~=9AP7I@u6I@w)TXy7!zLOTCslt_k}qw^j}923%#D_Eg= zz6Zg6?qP|TtW;q8`7by{emP%}y_nFu%&vSS`n??U)>hM7$!c#u#2zvXY3kIZg2Bp( z|Cogn-pydiLeLsiRaWL!e{;EXtbTL^%M>W4f_&o3*&oqY>MFB_q;er6g_6rB+?jnl zTIPd$=yQ)a!Fy;OYKW)SS^3CIt#bKN@2c6$SE&7n2_O*u=+j`R+cyZw-fr~DxHj8m zl$=7Ehn@+)HP9nBKt+wMlDwfrlj>6!tm!0ri{xX;f;;(?MikxgZ9ts%BD@M&lNv=( z0i6!~{5`X>q)rwVm$iB6K^KcWkJsyguN354pMT!$zxfp20Gd$6)Nwk7+%xVPL%I=N zzN_@%VTomZ=?YUY`y4K@c;?GcQo41w{0Diiwden1IfEu+k)NQB4t@kH=(KH*NwbKG zjEs!Ll{yx!FZBBmiVXi3iA}?QEx=zPXA#r+AE!%a$JZ$eFbCm&eur}tg_|+|zFRL) z;^CngZ2I$!GAoO&)#I9rx7Ld)2)fd>H7AOiR?N8Y0Zzee8_+33$bK%_c$!!V6shs& zrgcZ98S8ngkVc7yjq42lJpbtV%qyck0-JAF)brb8Z)S+q zH3%Gev%V;uZ0>C%nlC7rw)?NSyCjX2fQndzoy#~`EO451HtV z--APSDgEOsf7IgTtq$@QM`A*X3ml#NaGcJH55VoMD zE0prpAq2vlxm_fT>*lN49ez*Z`QCaD3WeegMvGrAtZO{oO5Isoio06Wp3gFKWH706Gtxg*c1ECFY%%zfudq@ai`mZ^?@@QTz+6W z9O$q0Rsw)jIk2k&fa_mr(%ay@7>j#{TqUOsX0lDFx9}{D{`mvB^wJW>u!6+FO0d<(KWfEu#T$ z4AD(m*&+e}e;4se6~`oFN{%t)se<6j0aCvEB^)66-xcXxA^$0U%k{uruO_b12fUfP zhoGZr>5T1at>l+ohGW*!x|4civX-OK2NCY4F|enmrUrF^_X}m8idbBOqV!&E_(Z{; zODCY!VDxu}ddQ>1Z)On<-oLwFzXohzq3Dd++$kadnarCYI%!o?`t-1I3i81jSkyU0 zazPgyrC<}RDKbZa^BT&M?_=PP>OMv@OH8Lp{p2&d=g)U<570HP_ZXI43^W-#$F@bk z>;2W+D;sAk9~$A*O#qLrLCrWl_Nce^E_>0LDv)~&7m|7YU)7ZV9rCQylEw6HXMror zHz^s#Xt&mPnRqN%b8rM~XYdTT?+B;Am{;y~>oyW}`Cc?~6B44sehl~^IZB%5h55Sk3m)fk6(h&4JDbdO4lreYeX08@#N)zCuJ{mhcmi;`ICBZF3a?w;1Ww5$5j-qq&>J=+zBG- z3mMM!3zD*jw9auHb-xgU`&2_Ib&`x?vr0=IY+)ydjZ$xJR5cG}F622_2{QuR{oG2P zcrKz_X4TgDKgbq9_L`jtX04$W51FbzBTF4ynhP1}mrR4147Dk*9^5W`6MM;*=@RqO zOHodB$TKeP}z8H^@qNdVai zY%wn+GI&vPWC-ZkAR3I-Qn`ZTcngLYu^5|?^ZQ%32(1?b$P1p(y!pNcFHiVL0l#N? z3XBYdd}DZCW3P(5AZSB`q%{5m|7&YpQFC&X*|^x_QH8=`Mm+>n986wccQIkjq+)p> zJ;fp#f-p{{lt<70eEn{0La(!nPPJ%VbfY8MJEAblgZ!H#nI;!o5JI)n-O7S-YH$9A z@l7$0#-u?(;o!)=^N?Ht05NyJLLC5sB0Vcek#ELVnyc?#CpNNdX`UH*tH(Q#J2uwh z>ct!vB#psW@h7NW_@#PT8Sne)8zP)Qy(+Pn^+Ma7Zp+2@Qf5}uZswvZ7f1s5=!jXL z{g5sR&d=H-VwyzUyiwLdpqhDJRrU)hH;!%i03pE6j_5#kv9k?s9!{gan6sqoKa{m{ zKc`tnHSS8oM9E>W)5FrnU^B!hgbNcMnG*?Fm> zgBao^33Bh{=#&`iWVs>>F1=h8!giF`)xC8_Fn8@m z`N2hLLegcclh;5#)@)!CqJV$=xt3(7=z_g#HnGPe0rJk62FgCsyHFSo_G;rK(Wb_A zDre8pQ%O&?esOs75|jHB78b%5f+U^FYcf{rZBeavCZ5y`1?m#~#fF>etY5Vsd0F^e zgJypwmB5R|T9oO@r|~n?#A4EXLVCYr?fYcECtih7gIn?GVoZcG4z`6T(^^pFR)D^w*Upk!N6rQkw?f#i?_TvlZWzYm47P&wqMcI;!oV@S zemYHpJx?bHnD&QgGUjgaPTi)1`=1a0tH-KQ#32*y*rPZUJUPrA3HxRC)) z%Ixf>Y`VqG#X5t8N>{_b(x6-f+myWjY42@-YXeHG!v9eep%5f&v$(D+m^sYgOSb&L z1$W4|u61%cGRQdCr?2ns zMvPHKLyYd5v5nq(RGpY{((lOW3<%WA=sH`4m!IbCIy3fLf-?g=>ThjjU}-Lv#!~Zr zreY$xQsJ<$Ll{bIza34g-u-Fs8#-^AoDDWuFhoF6y~po+YyO!Euz7&nuoY?z!8qrC zwd&zDSi*`zqPCnPH%nLveyg>Qqil#K#y>qDxJVu(K3=^)wsHE7{p_-f7p?1u0l`i` zkw!r?o#|9L(mQX1HNUNkY&u;8j|HB|=X<<*wT}hpg0sokc5Vq$;_nT;VpWKZ(b~Dz z6V4l#Cn(YOa4*5j*KKjCd}mpbG-p1#)k7IR zE82&FyytGIn9$`fHt-AM7ls&pDO*dH=kC2SWID_CH9swD4Cev=duf^sbud|)Hge4tlJb0N&}UmO$=ki7c%7q1p2)V4JyN5*VF23E>t--Hc1Tw6>2P{PUb#c$rVZSg{pFgHom<#&F~HuDr&I zh~&C0EFCsP9BNWFluA)?dOV1)qXciu{~7>Z=!$xmRcMm@0-Q0*`>X|4PuI`YIl)Un5AcJo(R2D- zJc@lZ{kC*9c4gWgWXMun|k$$`2a;&YhR6vl?ym~a{>wk5xTYLjio-aYz}b<7B;0_w0p zGF}FP?G8%d&Q*N=0LAFUS=m4Y*eQ(l*UkkD4N&7<1v1ljhL$X)Q;_4$@ce9@IT?V)|>^|X7_O+ZeR@Z+(T}=&4 zE?VL=3CPh=jbYLKt*wucx~G6NH4p2{)rw*GFiolkoAFcWc3ek9C+Cq*0XufzR%`{J zW^cLl>)eF;#pz^=h>a1+)c&b~Ee;sy{rinD$78p^_&d6Ltal?&J3u%=D_Fvel5Zc% zGxn0UzqA#N>}tw)2U=S>IM6@|$kh5-SPjNv*gDeJqJP|W+Qa2Flb&jPJ%qAT5EF7- zNyO>uV&yfPz%zi05{c2ol`8Tb$f^_@LBSTrtU@nv{gB*WKDcG=<|l{k?hBqXn?`5# zu`OthSmS-W@ecJ|KdFOwDaHC>VpYza2qct3ob}W2Nd3J7*_F>bKcDW!14R|S%J6Nr zwR=8yM)dCOjmXIzUn{~Or@=KPEvpjC6vn?q(jFI2isXuBmYY_>zDERG@Gv6Cu$J7B zgh+nWyV0_a_V{M?!bsM}L&~28 zK~gWbT|V#6KYFrzu=g|CkmLsXM3C;B?at58yL1KC9HB7KgyB?{$+!?bcWr#?8Vprf zJWg}ww)toqK*fA=bIEH;<4dUMT{^fVsb!&-Ct7q22G50&0Qx$NxiRHUGJph4>vfY! zv1#4a?_nbyxlU!ojL3f!TxQTj>~VUnM@#?F@}l|xy3en)GkC#7uTzt&4%&EO?bx94 zb@g~_ZNnWgk)KNye|%Z*DK$|zc_Jn(cZYtkQ_d-?&l0)1lMEjc$g{xsNKUNcq_lSe z4y9W=V`gJ;!9XKD;-kt7+wG^h+Zj=>qk<^d<(JD-;OBn<=&&1=kS){&K1}rD(@y(0 zR0RcR409Uf&fwOEN%hU>3SR-C!H+eUTL*mk zI+VWDroR4m^oB3o`nS~(h;O)1r&160#gyQ~3tqPX5*y^KM;8A#+e#RA%vLB63Y(4} zHAOlt49v-~o=`XYVhwKH9frWW)XCpy&9YIGn_aW)d4U$=dnZ)hzL9-*`T4JbicQC( zKK*|+O0WR%KAt*aKI$$zA_u*d#X_D*(L)MnY)@7`vX{j7j%toifr~9K(6|eS_J!DX z)B5F@Hwg-s{8Z|}oS(GFZQqy8MW1Z!I;_mQ9BrP?oFW4VPq(s;=sf>O9b)GDGh1zP zqsn}CZ-$}+LXpIrOQ`0Lo)oG>1Sk~o4U<|*Z|8jj&uzg|+NR?WAK&NRr-x7WkheOh zQ;2J=!K+sY;WPDL&vwVq&V+BlImYG^I1+4>b9n&(@S6h3uZ{)WU-!%qk(myO>1 zSRuE`6W9#b7(ATrXT+B3I^$h&=hn|aX602WZP|_rZ%=? z?#;*kuYU(tGYVq}ghZh89vaVh&g8%--pQL#ML$!L+0 zy-T}3QJcGb9>UZ-Hp??BoTQ16imQh_9HiwFDm3~pwB#4Bc&^!pd}yQOFE&n?;3I8od?ohxv_ z(twB`XXp*@GU8LDD%wZyz+a?61Bja-ZKb%@LymLs`KNK2@YAGXEz9B|((rau@K7jZ z-$N^h(TT+}kd9ZsrcqgXGF|!vls!4}RCEw9eK6ZPdGg^>&|wZgU{EQA-pggEn|VTU zeR+r_9qvbtz1$873}23pxI*ogsj146R^gr7E?y%E75#=Xj5H0DzB!%_n0Kw%)aRWa zzHWLsOR#t@?ptj*N$rY{EuFw$mnN!HZ01n1^l^hfoKiC{D`w446nXtgqw8i+EnzG@ zuxTt#DY;uaF!MXfr~{h3Pf@a@o`0OO@cF7qLo4RS{I%=p`MsQK{)}NRyfLl;LCB7X zNw?c(h@=<}*|Kjk{9OO?X>m9I^B<@{krOr#ElglxgpjXD?wmTV_hD`NTXuTBfZIkd zHLbl;!=UwI(_W>Xp?=Hn8{UE6uIkb#(OTSyZeEv7P8h%AK}3oW5b@J%O=^C9^TkHz z)B(lg|MY?%y>H#*kR}~Ve8sjAd(FzERlaOEAi~t1uf-I}%^28@RE8pFJy)$js2q{D z>^(jp*iv6^Zv?pjDy+{al#lidu`IXAFDcN#S{k$o;pHvG0FQDwR`2HTHm*kZNDLF-a- zS{feQBrkLa{P5w`mhXJ&84n;D*b?z1f@po)i*?`g(!xL%$pQuty`_$nluVr)+e_-y zw<%!t3hb>95a{X$VcBN}{$EK@0$x3fyQJ;!Eq(SZ0bM||54&^Wxhl6kIca> zAvLEdmRRA$CkSgaaV39`al{WkCwUl-%$B)q(Zu5CN%4bL5$-b7a6%QRi5{<~KY~1I zMMd^r;hiq6Jb(Km5``xSl)T?o5H`N6Xv-;Is|AuJ;U1dY)8(=hk6>u}G~WK}SDqu* z`Ju$^WvMI6&(Oqx_=AR`4?k9=AEq&#-XmHy%<(+few28w)4_Or=ZgYbnW3LI+}NJ5 z!J8F@+I&T^ceEfC4Spx*pBd(UF=QuGAFqAhKS*2LdikXK5nLS7#X1D&fc2M4N@ zxJXTbl@c9|@%FXfQ^b|jXccv~*Bn}e+Ei4F3@XT2T zT~6|>^p9ErJ51ov;Yu;}e6sGf{hJuxP_gC*kx> zMf^R>L}5xkjoYo*HptNqE;&!*qHH)6V+u{aEE_Jc-v$rG@~CVS`I^t5o89;WgOF`+ zL?=5DJIJ7K$B)W$FDTH!WCBvnbe#am{t*fFr3jPi3X197+>q{*-yI!wAopLugWUAz?<1u8Xh(T}_YazWKsKO1;0y(T1F z#<7&T^}0-g&a(OY@lxB`Zh!Nm+1P9)wNS;@tyF}b>xWaFuUOq_rcVC6i0!g$Q6uDt zfWFQgtO_qCU(MQ+RxfG|hm8mfxjAzq#I;GA6v=Gh`;Ng3i+#KLnl?fe8+&w_oRcUs z#FqP0XK%#CY!dcmve&dcNr`N;;JcG$S*#JuYoY02$MhfvaLKo71KB9Q{um2P=IsLsd zLPDINoO$h>tHUAyJf$rtbFV5ciQ3qF5tnilksV@fW7N?62WE-sjJiu|Ci&BzpBy;* z=t{_xXd1qEf#&`<;eUQ37)Ho#^owTr9?vnc5x{jE^$4tR3g#`s|R6cu9c4Cu}o{@39 zx-?wqGXbN91Eyzg*;y)aF1~_rgY*tLQW&@J0MltOu=&&aZ>idF;H~R>um5UDbqT$h z((XUy4d-AFj5!cTo2ikqHWKK|9=(g`4)% zRL%BcgroqAYuWU&n&8;=VzpWB)W3?ly6~r?WhO7Jm_I$6Qeh0J zv$tiIZQHm_1q08+67DG7RPiwRh-j}>Gq-Ivm1`ix5aTxuQEAv9dRdIXbLgowCsm9Tn!(%_de zQws~mz6=(^McUjCfbJBHTc2HQkz_WH_`c!-KjM^I!i>oxYcD)lyYx8a;+g!; z51-S9EjCK2&t~=dB^&B*OV0G(o+CT>xq=mLm3tj%K(ST+ATqlHnpR^?={w0^yo;k6 z3*#EkDUCw@Jif<%bpZq0JFw66Ex=pw3}&|H!gN|Lb5rF@xui`KLtOzNh=5dStPJGH zMiH%FwqL8_@x`OgFiL}UmH@86GY+Mp;e&(`XM>kQ;%hJNek^PB2Fopsbd3!S1}W+3 zM_c=w3r&?DKK$zhWDOecE9rJ-g=N3PIZ!Z%E2Wl&GQ}9=0NQK>>Gp(m8HwP#46}nn zzy7E3*Rr9!po3g>)Z);j4+D%z$%A(<@)EqJb~l4fNb`agKH7^%0VC-Zz+@rqSFeXI-DZi7qwD7 z`u+tz7FqK(!_z++U3%d&mV7AQ_Iy?U1my@u&r6vxW~;j#_8runCgf23FdQd>E(p_8 z!Nz9`67@y|{9KCX73hTrk&Nu@VOc})Pn~l?#bJ3*E@C+7%Td8MUp$+6eOAVN{8TES zFw2`ZbF}m4GPy(sQ6@Li&5tUCuypRNa`m6pj@cF^Hol%QXqyI|ZDa1G9mT3FMHjV` zfv!+{jFTFR5s;-BWtS24tezHSPLTg{&0FYFE^xoOIF|5tB%ABtZ!yh%fh2A9uh>MN zny8r~S&3^XIpCy#fs2>-8=&!EWu=p7ffK2p5?7L`aJKqgK6iP+#L0;co=2d?%2xjP zT=b``a-k3yvCunF|`q%k51a z9sg|t0nN+89sZ%GY1jMje?g|udkL50yY#Bl9~hH>G*)w=0e2Xz6K;c>tk<$K3xzLNq+notNxvjWANK?+e$GP_RdZ7| zH(KM=z({Xv9ctn?n6!c`D=RrK)-*8OH~6vRar?fG!mFQ0M?e~8fbMG>`GPrj7jUWo zlo3{`5ThWBVK@E$#ul$Bf|NK?5vlf$8nW*!k0H(ec>Cw*m zk(l?<94o%hym@$DJ=nV08Dsy9EoydzG@hCoE}vG`lfSH-@jbH@bcHbk^Xv+!9;`8z znDG_6k_N|LIU;(8rqmD4NK2iX6x%GfxHis|qXeOEq*%-cWV7BMnLojI5K(rV|856* zBLbLX2=0`T;?$cjkD6~TS0~_u>fLt2&N*?$;cX7FXsgcCY-N!kF zXmZ0^i0Q$T!!G+P1{bf~%MsEt*;pI@L{c=irF_i07cHq9Yy!@?E4dPYdVW|!Ft%n1 z?Rz9Uxei0(XCLT3|0hS_UVqco(?GhGG`*H$dQtN_1Ha#~9wRdr(G?ipY*g>f($jOb z977`FC=0yt9UWcrhggI(2w%noT8_$HNNdCpLhhd*n~Fp%j+~mBI`nct3>lgdZ48XJgY*!)G9IaKSoC(A|; z>H|tW6L-Et4c!~q!jBFP%be*#B4JN&f09q2L?esATR`x(Y_2zlNcX=&S$4Jtio#5b+G zs88}IL9j?%m2sHcR*A9|Nmcm&m^+0k(Fe9xX7MKR+P%jifq}k_ZC^%o5~8w-Zvv# z2wBMvAu|8Z`~CepozAI~%YEP1cs?J`$5`u=_%E8?EV|o?Pcl=ZrmoIS`0dvg@RVv2 zAXVZ_q}TFzX~6q~3}f-YQ{QKrhnG*AxEPW~Y+8zZ|KtPIEf%soqg8(&`~n#He?#yjBb!F0rgsH*!6=FIRy@bgXf3h(JnrnfpKWQ& zErNu}gSbcvSa3a#{#Zb%|=BE)xQ`j){dQ zUXgX102u`JcBqp`m8y#J@M>lxaYwerwjI05xL|WIIfKi&lu}(p6Gk1G881{$_Ofg4 zwy>A}a!egpeg-y5rTfKZ+Py#q<|H{fBgwx)Co0?Q!4Oo`hN135(h!Uh%`7bNz$otF zyG7t%reiG!c!Gssjn4#o3H)gfpB z3MPzr4S?k?;d?n9&GQkb=PdI_-Qc-?Go`wuBf{v*Kpe94?>mb>Gcf{jlKFY)7~-0%Tp(BbUKij>9CpUIb4V>{Uk4?Lf4GN~x~SfODsmRxEGB56+(ad2-maa8Ck+uA2`An=C4;V0-Cg6)wH%ncq@nln;=lD2zyIlKB@nK|)q zzN!>Y2i*Bk)0ObGIX(TCKTE30nR>KF}Bf1Rs?62*$nTBQUsGjfNuP0AFG@T&_2Sl^uM!%z-@9P>=BWC)1Uwg5=f<$Z%g*0bnDw&^Z(LR6&a)wkc|-QsKbi22j- z-rW?)1c$8xzu`Fmo8y_A+e7gHS?c4FkMF`hyg-gj@;KXa;|Qx|@7$31>kC&73@czy z=R~72U$pM6&y2WOKBfhj-s#r>J)ER~UoOI`0G{f@|6IM?7UdY`U;3b(z*w&B^jvy= zcD5!6i4p@}(8+7Gw2Xa!<5td7Fiks=I3ilGQ-E~FiE&2czQ#dzCpM|_T@Kt;Oz$q+7RqI+b(?B76;~d9{Go3}Yjk z5y(V@aiI;>oi9X@d4$OpHx2@eBEUBpluf|R(K-BS0`|$^G#k((+-ZAFw?LF}yBIG- z;B#0^aAN$@Wd4Z`=avG5o8S2=jf%zLc`ZSj8KX)V0NQ~P`7Z9*y;4nIV$5ex2$2Oa z5_h!aqUS;s&9k%ajbG7RVmbdK(;;(#zNEYD_w$Bski`|6Ms$qB!ajxL@FDz@O3$a=OF;*^KdUMV|cr zZAo|NiK0r^d0u)Mp6#M#dVURxo}m;!O?LM63E5n^0$3&jzi|M1a*HHszDRwc1$giq zhbM+#u_)LNS`sxV&$=@i;XG}SG{Bar-)4_H# zu$`f>07*hq)OU~i*0$X2q1^w18QBA0|G0pZ-K74A_DPK#F>686T`I>71XwzNe@G%DLCj-WHJ-xcz!a#W=OFqe z1#YOBqgT0NJXivhf_c9-8E7Q(4U)XVYP{n zPR*(}6x&d#2q92r;rWDYv}KM%3;5FKy_$kf7msI@2?JK-A@f( zBAhje7jpX6tDm0sHU!Z*@j?tpa^zGve3ol&Ug6Io*3;;xV#!$Xf@i;`hB)E&*O{bp z{ycwp$&4)MRJ|6Pca8a5MSk!PyfT~|Gf0Pkxw<;1a5cKk2z~t<(}`xF;)b%!)y9pf zgHH3?YYqh!YqRKe(s(1V5r^js@@cheWAl03-@mF_C+v7XRyjZrGqLLoH87UUNUWhm zVv&RplSa-{_$+2DEuK8x_&cO}z_5$bcl4At zO=fy}`Uyb_zaj5t<~sV%1xA?=%%S&}%0Jx2KE23#KiAT@ZDC0fUn-sk!6hAJA>5+~ zDNaUeAwq=mgwr;)f#5kM265fDcnTdERY+CV#+GsXBTpVE?v+GF(HxeX)0stD%?OYJ zK0?R}#gS;6_6LTghD8nH**YNLz`$l$^DWg#o(!Xur01WXh^v_`$Jlpi+g#@w)BQ%= zAQ`gh-1Hj5x%-&N8`Fxoi7H#Vg^hG3^xYS@uXjWrPVV+FIONQ2x7G1=nG#maqq(I2 zI{Ew(&JJL~4-ZxykQ_wP2O;8nEu0pY@aRmy7=-6an7kSyI=~4hI?=RTIkGXAjXIv~ z-`XTsqJ5h>f={FJ0_OLLL!8mdNv0;>odnKKr?BcD(fj)Lj;Q%DAl$bPON5eNc9I7o zQf?dnu=BN`M_4Unv{u(rt7k1b}6yw8W zQoHoV=HC_4oKGeJ>cU|4U_J_tekFTk^C}2{K7hl*t6z8R>`)G6majN8I#n0*`Lp;S zT_?mcgWu`q=>8fpzjZaQ2%wjCiAw$QPn74 zP!Nbxzbl>CIg&J`BX*{o8lHK7i~E_U=fA=6@o~uy4{uIY>?M~sm255vi2O2Anuo|5 zlm@mbm=w47^+l>>j=Jvr$3G?lGJD{Kf~D5*bCKV?2RHU!u>fY^<@Ka6_Hc{9$rF-L z$PI2X#YGMVBI(*Det)VYzv=rumJwPQ{QerP@+7^w5JCJg0WF@CMG1b}et>#_8{QfS zXfS&;8zj6}sY<9ypKd`{mx{}+b{i{8*?SooNP}G!-X6Lj-MD;L+Py;Ml;M|8$xHu4 zZ4){HVg5Ex>VRMBf&s*DsOb9lzWlaTOQQ~8rm|7;3gNyAu~>f$RAu`(Iv9dk;c0`c z)oBT8*49^7b_||xHQlF8um|MB0TcpwsDUl^y~n#+v1 z#@TnlwUP=baYRI8U88ZXI>!V(DB#$|RB_#M)lNsUe^jiw$jdQ0-%*VntK`t95^U6t zS8?BX$?iAqak%F=h(SfbwFqhr$ezNYdw*r>p0c=$SLkw(iPqQ&Z73^DR)M+(wEd=O z+doLcqF~C)w{WWJx_V7jHOXMQOstU@FsNnl$eO(Cd1lyg$q<@5iCyxlmeaVBFKVW4 zJJj^KU{8}T@Eh*>H%3{mTW!4jGBGh>3AU8LwcqBBq(->&=CkSP(lt)bQ@AweU))FM z{7wQ37{-ej1~L5IhLa1pGcfVNQTid^Ezc*N-*dP06nF!8hxB^pDjsKxgIzVpYlD=x zB*Gp$hKj$(Dv540+JA=e^aRiMuFRQFdn^|RGC6bWvZ@hC;*rgxs`^U*^)zclgc-=` z3n&*z!QxUYo>f}DyHbRq(%b92rJ8EKkUW&}!u|RLcH6C+){2}~o0?j>k;^eIOgu7Hs+gR&ND!jNzbbUm zi%bNiIC5|_`U(L%dKW9w9(UAxX7liOS}1TYivSP|$I&2<;J*W8Bsk6bgDy8K#=F;K%iU^`l+NA0SyCixVq=0-VaL+F$l~SCV?$c^meuUmaDYd>TN#0Sy!e5cb%k~DV(4f zj}GADhfzeH#RT47uQy`FjV#RT_{xd3KL>s)IFr?^OLX#TJ}WZ5c=NATyeV~Zw73z} zP_;*qL{*9qn9qBoRt}Vy_}|?JKZshZ-mdf%>r(P9Dd$jOh-Y7%9e|Z4vB^x(Zd@`tbfeCK&(> zK{0Bb7wtwuwm&H(Em@LC5tZJ4ODJWSK=Y?`{`n&Wwr?*Pi)occWRAPIr1!wP{Tcdm zOWexy{~<#W%XD8Yg|}Wxknt3*qck8ZSEA020T=6fJF#M9CIFXHb=zG|w!x-!Fl{Ns zFLb8)ay&^A2j8G^F4h4|;9o$9SFPp8X@>3s*^qa^DqKeE`MhDxkcgUdm#VRxWYQG~ z%3y>E_9sr)GQyHBcHN;tf@}i+il=e3BYAS~IiTBxU8ftV4Nm%nx{qNIi^V_TRDhM{ zktNoqUz4)tat}YkIvorPGFu^UM0FF5|5v{F26vnY14?Xb{T;iEb7hBitm z!*@%hjV=!ry5nuaC+?6orMTqnkHyHQ{%+D)XwcM3XhC^YHJUM@>W=E&9HYC`J3mOZ zM@i%fGsIn#4UkZD9dq@4wDRV6k^xyaVn7?+cdZSAV29WjW`&sA9sF zh}-IH;b3e3x=IxySb!*Ra=&`Hd3kbL?_x!tKtn0N^fLmqv622sAm^)FZmUsGt;6c2 zrV9)9kH5=WnaYBN+cv;H+=#bVU zex3uXdi}TSt^GAB3MVZ0GVpp{KcUL=V+%W2FV2RjExpG=NS;|roj@lXF3qgKRlItq zecESfH2-?ode!d+v9IGdKh^ALYd7@|xN*oTA1I8!%*y9_5W9IOneTXTN*~p^b4RWa z?r|`^24fcg#vpocalD3$nN5X;03q>~op%jI=L_84G1=955>dlWk<3oT9goUZ|J>Or zH=^wH`cuMUs9WW=!3|`Ht2DXd<3Xk;7Y#0|%TIt)(mIbG9i;};xy`o|J-zACIr(2k z)s#bKeYUsbFoA!1F)`=View{e4l~n!&c>i#Y4=xgo=$|)6FzXqRt_7 z`#4PsT$jTQD9R{+nS^a3c0#tLOs+}=ZV?uwoAWF+h!J^F-q)>@(!oJ6bA_DVzp^!< zN!}1{LQnLBF{*nhAY)qMM)5KVv*R^z%xn>p#(cC;_FzPh#{QM{#qZ$FkV+sy;i7^PM{vm%i7)c!Q1AaeefP ze(F+6+vBrpizN~U$%_<1+{JGy6*0%(iiK>D+qsNen9bvHN&<& zg(*!y@lI}EZ0RZokG$ypC9i7&9!t2_ql-hjoe{tOB9$mCqa(jFn^RISWY5`O1F9PQ zVy{{{67E^d#%<>CSkP8v(FDz~kf%ZDT;<-qX_8I>5Cz!IJS3IE{Yd{`U4Ep!$xIy? z+KFZ>F|rx%#Nlr5Oikmcf+XPI)_d-QTD-fXBe0>hb3C6wT*vEH`fmhT+_I@Txia32 z?F?|B!GfKOSa(e1>)pYBx1}L8#HD<*8WzFs|F~rG#Gq>a+}ykk?o$&;LXe_JH`mvr ztkR1h>R5m@2=Krnra-+;a%bE%kDoM*94BsalwV*(U9JiAw2A#DH@eV3mvRXrichwn zC|AoJqa$b6rXds9XQcU;6aEH_((c*;F!gfRBASP>Tw^?$kZKg@52w%{N0f|aC=`)lesv9>#$yS%?aF~J!d4nlIm$r}rJbH>Y zy+gj?-TFgy|DDr%uS4GSubdhgr~p93>L!DR2%qyn@b2C?vdrk0jHjMs2weCR9E2hZz+pTNjLI8FCm`dl)63i2J13^u{>z#Mf+_LWWB2a|c>Ys5pqkM= z@7#5|Vg3x$j#X=wKhz7;>lCQ`TpJ>D+$qy017k-n56#dZ_mjKZA**$oJ!fG_#7zQWs@SJ{yNiCQPr53NROD6_IrJu zxP!I-R-@1A@>dM#f=ozF7=0Ja8e7P2?@}p`l;fy2C~+qENl`Q4v34NaMn_+Fgp5hv znVs5@BW`v-a?UbUNZ)w<=U-Ew=;+=~F`fRkQ5-;}s)Cu`;J-X>W}kay;PPQ!vSC%? z2A4Q4yl1mB-`pFWRNg#=WogKfsCerSY$YYXDc92Md0)eb8~il^90;|W!Kim(s1n;L z_u`tJ0^R{l!RSXtjvcN6<${9|p#DSoi4hoe2>c8+O$w&;J6B*i8J^ZD?Luqigxxd) z{Ta263G_-WV74h%VcdFg4Q%81Xo#(VUr`27Udv9H9Hrv4?YG|5eR4r;EW~OCL#Qcz zL>Euys^JJ(43@lF+Bk0fYnx9qm}r=k)z#J8;6D||HdmuMCOEo}Nds4JDJMO85E-VO z-Z`_O)C($*Iy)GpZSsHr>el$du_!FJckG&s&RLQj=G|bn`*pT;sv_7a-J*hw+6DV3 zEfsk|ojl8n+__2A@Z}jUz}g4GkwoOivUx^O8j(dFCHAx}{@6!hzziegZanjl^WX8= z@jjj~KG!>tWYWEN!+egElk>%Ki19J?Y;=@<4`Dv{%Ff-qx?b_WJ(m=O3{8I62$TXY z659kN`rcM_@m!?=#q}{ra9~xge{TP6Nrcp|bH_A!1W!$nOBY+uo12fEmjB+Ot9vu< z^Mz1e**~1sBKl{kDw95f@$S!7UB1P_6eAs~Z_Rl*=xtoa)jjT;pTXI0VnXk#RH1B_ zlTvMfTzJ%v#fLks&J~lp$c$Ttt%5yC{DYAHK{d__zTx=`eBf&2QeKi)N|=UB_Ih}g z&fuMLdn%n7Ce|LK7^|-jfAXQ|+wfv^hp!7ZX*p58kTC@gwg}(P42S>(&I{xLfSLxz z2(oI{E`vi~2L{eqvR?h2?u9HeOFXY|OldF3s^DX1cgtt97Ur{{;ht=Vq@v&+uP zDt8=w%!m$bxcFXYM=7jDOe6$3th&z-h?hz?#_-&cB(kmGO9JA1{Zd^wps3`<#E=OZ z*jm!zcL)IXj7f-hYvd)?plS}H31)sHLwKQ(Alir0PY!wVArwm1?(}?dP53WrpP37^ ztQi7PBU6O2A8SC^KmFMJ<8**}n030ozP>D7DBNT0*Jv<&vquBh^7Aff@Njb2{&gK{ z&PBT}-)nvJ^F6$1L@yD|A0os2cxpIKDw_Tf|L{GvJA+;(ASA@|EXZ%yczKVDS%m|) zP26N_=})5IUVvX*mVjr<9>tdPpsK1Wd1^VyJ+nAf-#-M;9HTA#a-SJ<66|cr1#9I0 zxR>|(P>My&;fG@De3*0BnvnG|du0RY5H4G#vLvy`C zu}CXBNf{E*w~i8H*v_Gy1^hG?B8@>xK78w}9<5Gwh>F#7+bj9n^pfk|q!jwUZ;Pi& zJK`2M3)EAmZD(5E1^hf;!#y|JP?r3lon*-NOJbu>vJY!inCPSlHURj!tE@vRGeI?B z*yEiwa6d&7esdaVKM!xA1+_RlMS&j2)j=jj?Jg{H@8%zxhV_n%6+m|Cptsb&-XDY^ zTZR)Ub)KBJG`Vg*w6e3?R{3iAaTzsO3LKRz*zoi`h0)9U2>;CnKwtD?5o03SWeWrn zgcKHt-;p^5bHN`VmK9hpO>_2UuU@_Kms5ya05wJ7u>V}%Vo!1cJECvz z!^l<>u)+I}-c4YyW)QIkTc^V{1?m{Ek$G5#>_9DE>XK|wKGY%4ra%;0|Lf{f{JP(C zgQrjmQqcff1f9>u>CK?G+&Ay$Zr=C(+t{MLK9nDBoepy`=qZ6Uuh-WEarD!+W!)=C zT4uw)*Y81Q@%VVsQeaWu(l{V|pvM5oHtlV+ z(|GMV`IT39h7^EP0d)DwmMZ)iC&y>jL~tjITh4p0Ts`~Vdh+P_@26HWdpex@7ex42 zL;~bIS5&a0O;d zn!Lv&lHOgXnoE4R%JaZbLor*>nbgCE8-wIS7HZ=Tt(EMFh-%uezyj4x3Jw$w$cT5- zhR*&|*HoA7qT&#U*Nf`rFTajB7Zx*j2PrW?`oLspZU!%wruiMK5Xx&e-}L#pLL6kI-Ar7G#;gBPi?kDT*a)#P z$?@9`ey20@@I#A94ZX{haNS4)csK(L_cUmfK$P4rZk49q(+7W5yPSq80j<1h58c>U zTqm*dC4bC&Ntja&g_zdYfBa}RG&uMN#M)3oBn7opP~JUyJb&~?zOZ%sMkiiXSit&P z>w{om0B%>$;$k7c{57k3ob3JRCVS zB6QVW-_3cn-_iW}gR_4rt)#427|rsPX!?a&Tr=w-tU*=|WSg?D8xw7)zP7p$Dvi|n zAGXlvJLY}ViAFxvLke9Nn~we}TqiPo8~7z(taMOp6Yhsk zo@$HTjN@DZL;Yq0%-;mRtWT3YF#~%Inu%)rXcpx)&q*TQmw}*D4g@u0&V)_w$n#m( z`M+gMQOk57!Sz_pbQb^zJ#ZVHs(bb5e!I4!TB%81mw`xz()Ghrr^pL+tp!`K;Ro6- zEDHUnPlJ+P<8X(X9#7v(;eUncQP}7v^qDjMXS)5o3Rdx-zBf0w`%`ZFxx2XR_Y4kd zlpFA8Khf7ueVdk6n$*8y04NtA;?bK8ZW*dW`%MCb*dQ11w+Uo-&42kt^>vYTHMACL z6_ckxMR*b+*ptuQ@$)AKVgdZQFuLovD_dJ& z#HQ0-40 zqT=%0FAjQXpjbMN;R=)Lb-k4h3UAJwJB$eSHzy6XXz#U*zxgxa_M3%Y`vMyC2`xU1$KyOIPmp-TV>)uOY_r~o(E?U zn0!K}(ghSG)w`^c$K{1Xfifl#z0Mu!y9XMr2k&LgJROCy=2Y~#Z%o?M{=8Yy z83_`NK-kV$0%N&22XJ~5orLm2H^P7&E9!X`k{5Z)| z6~lesJjrVX^-w5*cZb@F8ipW-kw-*tdEa-XD6YRNm<8bTqAb)?uwKEfzBDhTb5d*z zSF20KI8}X2m&CkcGHBH#yAXQl6Y2OuwuUBg~GQWsVij zM*a3F_I57j9CGK6u&j~P2(zNVgRW>+%lgf+BOF{O(q8(3q;+)fD)d7Ia;zqiIg4%S zO9ZS3q?Czx+TWxbUQ0K|zNLF$f^&{YHD{OMJ*hZnRuY8ypY%yp+~Rt1*24scEYX9! zBsQcbCUG(z_Hrm2dd;>(rlB>4C8x@H#y_{ojDFQ=aGxPR-`juc^y{{UuaOcm_ zzzj0rS4ojntn%SEa%%osz;?+Jcf4Lgs z`=_S3Eza-E3`~>vSBEHYUC3{G?MD4dGO_6FZl@r5SY-7xpIaVcn_>6Ex`rw?+;GU1 zadqk7;NZ63aVJaG*A-{mE!;aO&!k5ms!UR@K8I*kujLrAWG1xdSAl4CMl?y9x@D08 zKl-ylIUQ~QfvlpoxnNJdb^3tF{URPAT67gIGK5k+D*lTIZx6r(k9pr1`M}Xh3syU1 zoeKptuqZGtJe!jhW-cxd3W&Nv6h-_vF2Jww9$`GiZPo(j(ffBWH73@Bq3Yos8du2h0Uk0AO)=Pq z%6W$`eyQez|BvCIRrA4RQHx5zfordw499e#Q{Y2@l5omUXAK!$GEv2(O0yCAqzC^3 zjUm_maBmIEJ|7qYJ>?~ebVi<0=`Q>2f?C9r9zsN9AvMIftV}Hw5z$$y9TExHmvk5h zzKl*LxP~>6`?U4)v^5UnA>+5~a7Na&+d)FHmBDi7bK@RkJ(i?JX+%Dq4%&gF`uo^r zqR@vKRo_Q5Sm8@_4rgm&$AdTLyZ`h^(C72foSDGEvl zjCkqE6N%RszcOxi;FlG$WwewJL7D|<6_%FRfGLW_agvgES(BMXlyg`%xrrf*VjvK> zUMriLd7(n7FDFn{>yk<1|7gU?bz&!mQemQk3W z(tfT16Js1~3MfRVk8}kp7_tPw>_AXlTwKdhjMz(Y6jCfCgMGi|`%Z?$Cia?Z@uyTl z4-8*adkk*^xQe2J(js2chNUbI54b4}$DmDw2xGuDFn#NBOB^VxfMNu8U=a~SN}ekF zABuZ<8s31D5tS)_3WhE|f_y^Agw`Gri8Q~_75D6bxmzBQ!J1quPwQ`rD$%pu zO%G7Jk*oD#a`TwN@1*$n$B|L{s`QaKhQ-r9rYVJo?k!0thDuGHoZX`Di{&2yR2br_ zMsEC5zI)gFsNh*j`0gC}Qh+h+@jkUsX1&uUt^I6E zkn%^Yv0BroH|j_02)h^xB|2b()h zxgeRqe%zkUs+zroF>_8378^s_5+N$!AM)jqi|7yP>cpB0G&kvirpfbsz1UXkmP z#~!nZRaT5zQYyGk08(_dxhVlGZi1sA~CQku!JHv z^4U{@EoyvPYpeh@7x*qH9o}IMt^Qk4UDBZvXiiV7KBLSS5-%9$9~_R=CrlOoU|zPuoI2~;c|=ZBN+;^>Z!j(`FJ zmH)z(E#z4&X^xFTdZ4@_0RG8rJr>W(mlHys8*m)JC$Ib90~{JaPhOcFu3g>t1oZ3Y z{=WdiGdUpbfUBNOM~T(jLkU9J1Y-mO?q{eU^zv1t91F%QMx7w+IuHs2G>aeO{OOM) z{K4YvN7v5h^UH6FpT{-0vWTG7# zXUOfb9b6?!r{B=B$p7i9+L5zY7dL)z#4yUuY}Fg=*=B+hBoY4P2iB zk!{czI)7$_pPWXiSUUSCU-9ro*~51L#bS(yKh5B+GQvd%f?6;kM!Eco=55MXM=ahg zO%9}`9}^kbIU>l53l8~q4cSAD|Hf7nT)DI=CNUWbbaz$h?nQdD-l#W4ZlX-00oFHl zTEvAB_OPwU?u*vH6%cda%j9?JaOtoIihFDIp@FtubLviwB9WZv0AX@gc|x8m>Yv@R zj-EazrFnG*=K7KF_RfCqT=0YOfb_p!P4a<7KbsC6e=;0`d!xd=Eb3Teu2kKEXWZ(M z{$#QGi0HkV2qS{SZHeSZ4;@!}T(`Dt^Cypx;%!VMpQA|zuLLO~Js+B}Qiid{Z-lvU z4J{;QpK;i{;mt$hE?WZ)iFKL7MR7=I!ZKct76L>6Ue@njHpKrJJ`Evts1UXX-$eKM zSJwdJg;N9<0xt0dR?w`$xkKh)%iO{uk}Ejc_!C7ARTvq<1JH6^PX8POgsw=-v~3=w zK!Oqn`bVgsU{Kd5E=HFQ}R867JWU!x#@U)4iS2 zpZD-xntZrCjneH~e0)v%?C@AhlZ)dRx{EW*D5$Rz=OAn)Nz zAQZF|T*bCg8q=78w&$i2_@(3${RYXZ5axVzO` zx!JX$4yXebyGN(5pvFO!I>Agh1~%5SDikGEujNO;qAT zF~a(*4Jx|p1g_ltDg8F4H))75Pj&ZXvjUSt4s#rv zrW%S{w&qZNs4u|r3CT5%hL094paIjX!wf9gi z-eb=RPU=){-*d6cTP=Gj^Ie*k2SW>(JN0ad?ax0(y8H_)gc&|L!9UMqp=hh~Ei0KQ zz#h*Ach1OR^XPuhy8Z!+g>-cV#Sv@v{(boZNFsQ3()w2_QDPJVp~FWb)}OTIzss9h z5!9`-#j+c;_~5}v?t>eN4z}PkfgV=zFcW_{-74#3*#dpvLAqy%m1k5#(&wZYjT#tq z<3`y@gf9`2`m4r=I||dI{&jsJ8zYr39+S&&$v=r)6Np|paPs{Ku%|ck+XF_Y zUI^~RMDTz=9ss#VQd!#agDv)J%vZ~gE0yBn6SW)b>*2rz?p_QGS2Co$Y2hs5-Oabs z0}&#my3>q@{r;SFX!{8xi^U1u^_9m*Stv(%$WMkHICx#&A5-t8cE&iYKn_Z+QA4iA zDb<8E6!tGb2M%R|sl7cpknr8*^i||)2!GrS*`Z;~JH3CRuO^;Te6T0;JlFfly9vj? zTaPg)U%m4RF<*ZNn9Z$w{s3WQwxr9i0e5ikRW2S&VEJivSdk8Z4n=CT*E;hroC*~h z9glFRHv(OlKU7qlf^@ezBqSu$rdDDTrQraiz>m$%P!HbD=YH+~EH0tI7Fr}h5TRVD zX#V@1ex^=E+NEZDmrnJuWNbch$(jSa0P(x>Yk#QD4S+eZ=`Evg`=n&-1@K2gq<#xNK0XsmOMHxn7v#OvUdni1 z(pyZsW`^a>KatF0+|V7=Gt9)1$BD5Q8AcFdbF?Al3po1n*eqT*{C)N3Ye%&5sSXgqFluYY94Au@|bA+VfwkN4bFgqI!jBwKlI%K<&cCSArnI6 zOFE;;Bb4jlcX;~WGB9yQBQrBmV7zzrf|x@$=h=3M<1-vlQXFVx7ai#U@LC>={0FjO z1+s3B@5&S^=vU{`luJGi!X%&Ne~>&OWJM;iy)}dwwv-*#90JGH5y`!@As>8LA%r3F zKfIlL9P{`5zK@8?6JiG-T23Y^*eD5Mzho;}S#d4xp-4OH%enVsOpUGm1oR_O``{!{#r^lyJa(nBA6|K4u9i$V+*_rm>_QKb9JHii2 zY3v);IcME=ksa-n*AFFlyM;DBgsxWV-Lq&q>3fHAJ{EYA9I=}1_k&2wfD33PxU+2w zosM4Tk6AheD2YQTBNTrex}2@GT0F*tlRN#M6_5LNWNID{O?k)SF8<2(%OBqC1f|bz zU(p@O&1Hq5Ak2^r>K(CapL}(xJfEbA>K+~$34qBMloE>h+P8P}lDuL#m5i@kHZ@K9 zJWt2JKi1SHuf=|D5<4~4eesT)m_|vCk9MEN)223kGQT@}Z zo1@9YHDSkQ9pN7JYavn776Cuy_*c4{vKb%B%JPbf3E;woTLE}X!5nu*5>$hMPH(ro zynF;t^74MOk=UomfQoE8JcL;IKc;tIJ6C`g#Xf0*jD=Yh6sM8Dm z;lRZE)r(fwsH!h*ZL+9Ljrk$*xLRX})1!-+F&SFc+BNsUD-pPS{eOn-t4v8&=Ru%> z9lOu^{3grz89h-eyC&hD#C~L_!fOuT2vaW6=yfmeQABgpzRjMT&SFjAAWBfhEwZ*p zHQ9e&p@qEYD-|s#ynr)B0L-41l|>dQ^X%+Gws+{1CftuLK~{hccU2?dW9rjRfji@e zbH7OH@4O*H3|N*hXxx%V(Z~x>1~Zf9ylZ60b)-wH{qN5HfH2DU3`Nc)5$yf@GXX3< zkhnGRInLO=@)`g3n=!m1s2$mIPFjf?$F1W`93yc!-kg z$(n1ds;LkDSUj|F@YzKmnv+9*q(lrOStwkw$ne;_PpOu38aeadqeB9HzpV04iQ6!& zOCV%R`10$)ns1SH`mie#e3F;|QDlGhBdg_km5K@62F3_QN3V(+!?~_GA2Z@!8&m&xnuqtBHWVQ>N3*MDwq0M)|w1RfW=$ zj<%*<;4rkzE-P!Wo2i)-|1scsAgTZC%E7(Vh@^L|sv5SwY}}Q6{R*<>zrLT-6I~W@ z_Y1x5EePX{y#HRG51dlG!s2B7pZo2&&zR3g?QD{ii8iIkIs(imeQkXM(ucSR!xl56P8IZvNopqq*DF6ct-)XlTe#^M3wT_{^3S8zs*p z-V(95!<*@7rL3tsvSbS|`dEMk(~h~i;3%JUoiv<+M4Qmi&?cwIfym2Bn_?p$n!3lF zio1anOcFoOw^jua$P6TN)bf-ey7C2D19N>^X=Jybb)0!+#@57Ey1WgbEN1qn^mi(D zO#R$iT>hThoyY8%@~s(V5o$TmRKKWbjfHg5!OV`KXQkoF%>k9nxbB70z{P^|QzKI< zM(0EHjDt)tG=tu;h62>eZLV2oL)(W!mszZg zQsw8+__`__p`vOXxvH-kSw|qdJ&lfw#Q!5_`*Dx(`q1z&(35m92@0%|Bc2L8kqnr|2HaWn`Z#XDL)7XjzqR;kA; zZv>an=aJ_$4dvc}w7w?yCS4uWTRzeRqjaadnp+l|&yl&uwqQ;%GP1~ek@vaidHgSj zV{UVm5We!ubJ4d^n|K{H6_P!4BKP+jxQD)e1#hm%!NEaFv#sQdi;JO`?(TjLPEI2< zY3sKdMQ4Z+_K1BKJcV3Jvan8SR$NG~th0Oj%HT0#FYSV0yqXW{pL`f@@t7$x?+c4!YwP*P`5o6Ci)ucHHBz4szlwd1U6VrcxrqDN62iko z>->HnO6%eUVk0omqOA>qvDR!l{Pq-Mt<{4@OKniIb}0mZN8dnwn6PnG@WUB-tj|bz zak}c>Bqo`2zH{rF>bvRS?a>-YltTwyttEpp4;o_tky^s^`9j~?HxPwUu=KzypPZiF z&iDQ|;Z}a_S%bxny#|&5)~cvZDb4SeQ+wO_7AC-CF(%=q4~mDMi<&%1R+!W>D5R2E z2}Y$~%(9*+Xwz^#Sos}<&H6#?I$RfuAEys~zkuv!_eWyTA;||INk3Ixd&8l)EI7X5 zx|aTXgu(oAi|toG{lO3O5&Sg7DZTE*VNc&bR^tK8B?>4UY>edjpFUknFESLCnct}= z`VYX2I=N5G`tE$Kz$S7X28{P5zYTU(rj^ zdj#*cz29FNMFC2Z% z8k(9P!DoKhu+gnoN=m8}BH2ElpB~A;Ph)kjkb0gNQ9f6P?a%PV;5yd!*4DVi<77hC zTD8JIRabtTQ8Yc}80cTAzOg2{%_Ck_rJS#AJ(MM-GVgo34K%ujQ=@}skEpk={=P|% zucLXpF)`{C{EvxX(Y!8yC`rO=p5HlOWJFt2RM#NPkG=I9*+(gE8iIzLJVtS6T)3}c zvbqXUs3D4M0Wfk@WTSfN=C%ZbC+7b;WQ-9_7l;+-X>W%yk!JZ?H{Go{A+d}3(@c`R zkKh>zowZHvo%H1LO~SCwaOHgX6X8E;&iQfv-)$-C|}Zxk7=<3 z{EvL5wmMxd&UGmsCyz`{u8KSQMyOQ%{qMd4oNExw9R-$Z@R4{{zj-Te^61&cxtdSQ zmt(5xa@$`lZ&~&ZgE$|ZPP2smL;qxXYn=}7ZmQK!1`uOGAaO!}_~y-3*vO>hQ@Y5bn7n0U^yt z)lXsHK|WRgRIohjkl?&6;|1TlvN9v~yJBWTxGVi%d9}3}`MQ{Z3`^R%TOzkqdx8JD zO}Ve+cwjT(?hE60h^8I~z!X7ven(GFZ_@SE(Za&QZ3obsT>=L|_i))<<*aGyA;J+y zpP_H?s#0#di2z+xcl1k%SDgioU8X-bHe9L_YV(=-FXLe|OWD))R0#B(K(+jaBjUsY zI59<4^oDD511u#aWyE@V^TNx!a&{j@JWq3Z>i@#cj}Sni!u9#;u+C}C8kv{(teC&! zl)(q)aVM65#fK8`*7}$0)WH8}l0{yRf!^NK(Q)|2_Z!C-dCWPwyq%*QE5PW}rL(jEhMs7H;g!?)E+!@~Lb`IkmiSh~UK0YD7+u504F*jP;? zB_uK_$|w$bDRHgV-s)&56HFis5k`<{6MDKY{sYdADR_z`>6nvvzPAvHFTu^9z?Nmb zM-w{I@%>59CYDaAu1S4NrlOmg))*q}p5cdwQhn);*SjPzMwag;{(O*hKV}*IzPlrp zXB?KtZREn+io>Nf^~m_uM1B@28JQ=InCT=tg0c^lY~gvDki#5d^&qD$kd`_^v0Nh2 ztu~Xl`z9?f35tAL*UmAmZn|U`98F!gYEMda^`)~N@Ppb_ zMXpci>Dht6=6rAr{hzc<`b~0T(+iQTB5QM7TRxB7h4wH2y`>^W#`wWC+(D#$i!b|gcA{Sc;E+R9hfvO`!x3~Q+xsW1UGR{PtP!P zhj9192@%J&xmG=Srz}pD=o8CAo~ROyXj$3Dp6dBpZb`&$ap6pmm>~aU`z>;+krDmj zKsqy{lxHIz#S=D*$9u~j`(MQbVV&yoVmhZgyKOl2+jTQ_Ycebef{!vIbg(bYRxAoQ zhIvc&Wj26R< z%UiCyiCXZXb;thpoFnk}Z~F?T*II;ExO4gLJr{i%Z@!{1qj3JB!hqlVdE@-zQT=fo6z&a!~G12*3c$83ItF+$d;R)>}M0Od^4K&Q>{>m@Li5Yj9lJI+kz8892s2WJx|}xlC%DV|}}E-nD4`IC-)Q$lRw`puD8#iXJA3c!mA!xGet#Z5 z|9q4#_w_!nbDrzq1^pZeo&8Qd?vcuB}i zU^ta~IQK%fM19uzZTr%pnK)UOFC&@uWK#P({;+hfxcFv~mI{B$>ofHq-cjay)I*c9 zIYh1o#}z6;qLt%r_DLzk9B$1iM_F+Thp7ck-1sFWCE0Mi-y*Y#VD`Rc@VU*GIEC|i zC9?Zt_S5y+UR*uLnX$pa;Q4uzqt3f=#(sWu@C@VvMg?(y_y~KQw}Wo9!NI|+tE-TN zEGw9%01e{*=;T~htgSx$)!OZ%TgnMb!?6)NZTj|8cSrgt{j(<;r0z!s!Oss3&V)_X z*KgmLvqarK?~lB6^nK;(dcX<`x~FWaO1&$88Zn~|BN1to&hC+`L1A=xCN%C4rdR@Z zbX*msuFtjwVd@wrgU`%9q%)I%e|L{7>RkWUqhM;&WG-YSmvwpVf)E_zS{q|P> z4(ADRm2K5gOv$C~-W}OXxle-s4O)Z7)6~kU^ZkUK&K;X9it9`A*dHe^{&N>lot#TN z#~|H1X7a6r83-Cr6L@aF}f_MTOld70t5UVS}kv4y+4u@jDG}q>T`Wpn|-_8e0_8MIdX8VyfeRpLr4d+ z<}o(ri2tnMOSPAQP2SXKXqGe~Z@rf;R`{J4vlH-p(IOrpoQ)pez&jQ1&5*!RVHQ7_ zvn)4TdD^<*tXmKPgdy2Kg^~gts0#u0-bZse;dITYfLovfZ`r6^S*AG0dNPF>3r9ms z=6d9sr|A;pz*w~EK_uVP96p~NDZvW$1{%E7f;Z!MJXb)tR9g0-n#xS7p3ctBu=cG6H3h?0VA5Y4JWPH)@{@Mq%IE6|AP za{j%1vgr>i7opKAZXp?E=e6|9@RuU8Ol9%jYop)+CKApNlx-SO*SGna>>Ol;7qQu@4-8B(4wkw@iJRt|2s!xkK1jld@lsU2Ze9E}V-IDyiQ@1u{fSZ8$GQb`$-u7B=j z+Gh0;#VGRd@St^7fJ!9@0yzJc17&CL{{r~RO?kT31;1gA0 zBU^vM^1jHc-eG9tki~4%%xE=DcC-oAMAD8%@@6|=Uk7S`oN0*^^T!DZN5vNQbub3TNi#)5Kv5C9_~Fnq>X}hB6Bq%Sq#M^vdnifvge|ywp#L6KxXdthS7GNj z2siijOvSshbnA$vHT)8dt3@4y+SG=kn?Yg%!;L9?A@jx9Av$|Nmkbsf!O2an(3%uW zu3*-yE0yEk9`vZV^*8_g!~E3_2cKd!&%&&z|1canE_f_JI0OhQVL#yPr#>_HKi%&A zRA5bwXLjjbCAFx}@j=|nTrx`uF7Z_%)3Wu=O+Y$!C0mSqwv^i13?Ht>H=9r}yxplW zZaky1;ivLk%TH!dCV|QqA&*{L`m7NxAHm&K@yVZ%Vngu1CA1QzDX8<1eLS6ed*!3Li50i9$+)vGlIH*@=A^E90 zz&^;Y3jK^{?6*hDkr=9EHzI9w61~!plxf+NRrfhhgUdEFX#QqB+q;rw4<=d|)?teb z0u-rlAVQuAHTR(86@Z4J=2;**g}l6AOFMm1t~-XVQQwwc@q@al3#(!$P9UX!|HdOH z|GRfqT(;P~Hb|FY>f=Lm>Fdju{QKnn^$ET6`oSGet_Q$sg8*(}m)2vhsn3V%mo80# z2}AY+_y0DO>ba;Owff_k(M?iwz3`9^#SJO*=}HfF*mS> zxZ2tS!^6v10}H1Bl%v)nfH=z4pkr)|vU&b%VWXSG=*v1ePW2^sSECX)gyF4s(#~av z`;*jWzFI6a#=WOu1(pq!c+ho1cLWU)(0>c&-bvC8aJP>B>CK|ZV)bL~zk=+RL4M-6 z4v9i3Xai%$VDL@WyZsh<;=@DkOo(+kK>wu5lKV1%6v5KP>oQ7OJZv-L^W!-5EZ)5w z8MQ&OkwmnB^>yB9ERPNCX>~EMzM4hc8bZ(=fMy*wlM-+K;J^R*GY2U33=9n|Dmd@b z5O^Qn0>nS^1y^~pV^V%pn<*y|E&~lg7u@G}K~Z{fZR_K6u`36)AWIDbufhD%0P6CS z7^c*J%3r@A=CJwp5Ehks_emm_zS~a<+USk!0`gxyY%>fx%YClxIPaV~Ye`;lahjzcWGlJEl&^onHm>3rmin;_{5&ZzkH)^To zd!NJ?jIEI0ujJbNFB_LH(MyLetX`eZGoYh6&%NDL5~n-vFNSdh#c6XjoG``GiiH7` z142)Ggp=O81;VL`o#iA0!zd7Nz=zX(GZrW;=uo~b7B0h(&!5I5c>>`Se84%k z#+oS)6+^HNyQ{i?cs%qj;Z&SiN9=r3nxi5!RcMdh#|IeQuWfL(l(B^o3mXr&{^&Jp z6lzeiHO=jEgU~L=<}>RCn=(mQc=$;05aFI+n&B{=+qtju#dp(m_Q!;17@bQ;^Ybv|RBQ`Emzl-!kcPBZY(gN$uJQ{*H84wz|Ha;8?p>a2M2t z9xC~oYW!3m?kVR+^KclRJNG+H5QfFIT!hztcnKf}ajGz^pGC$TB?vvcp+IjSr+DBNj(OkRbBfWAyPZd*L) zdW)xL1q<1#nTv~vke+2n)M7Zc-NDXlE2zdVm=vc-P|ns z4!e^X5`*@;f(JKDLWrQ-0$?8044yLIRt-=WEp&Uikctb>#Om5w4d**wq3~s!Zu-{9 zl5(TjhD)~sYp;x?GIP$Yp_n)^r=vlY3-3=q{z4lJt)AM|vrUYk2DYw>LZ82cK9gl? zm>NI@$3JSliHVuIP2XaHkQ2Mr0dXLFf;Y(p^LmJ6DLu$V_i=Epj*sp?Q%?BCc({bK zjVWLUGX_}WnLZ)%6Jez?LN|d~FGu|oF+sQs&@4MdvW9&4i*A$E8;O5rUf1|Ay#Gb> z@Po?TFq2k*#4S<_O4#t0(+4doZy>(G;H1u`j^-8NqJ%kEu8R+^CxnQcAbcDIHE>qT zmzS3@P>lVNF6YtmU8UHI6<5*AN=R_@snNG6uznribJRCE(y;wM94^(98``d{tSlo+ zYU;2FlO}+a93K)KYnGEB8S*fusHn(b&r@HAEOeq; zwGDgyx-QN%I)tbUAwU&_esYrQCq=c*C3~1>Zn{r?JVej=?XK)quwDtN6z|ZL7X+^E zTs}&8H}cJX@|iPHZ#{RQd(r2}N6ZV(FQ@tcVT%m9^FN6$yL9p@Yc%28zcx7ULwL5m zXZl3E&lq%{M<|GVcwqihA7~1FuFq$2%8v$&B%l4~T2f-#t4qASm2A9T7 z7QKA`PZWOb$YZY9f zQtHW<{33x|`~#s-}jDE{2B|a0j|k1E(VewZxvBL;xA}4bbtC^KK?u5lBnV+Uxr}kO$rX*WhSUl%T zdD7L>p74tIw9t5K@158wk%Toxo zmS(zri4Uyspxd+&Mh=PWkZJjkV<0ZCf7aEV_lj-*SY)59R}QfgXFGpSYC}( znNC8n`~Tet@8DPU+n%aP$YrxsQdDe!kSmFwaEZ}ts3hy?=scL8vOhWo7+t8&nEMfE zh^vBe2)7Fpuiis^ofs@Y4k~X`H~su@N%Mrs9q$OaJi^ z^3Z=vDsj@5W`fon`F=3-3VY6a6Jz5W`?YPze%Xd7aFHO7{P_YSp5wR+uVMD^yV0Px z-ns6~&T*PZ-9o>4bPhltLmV0xz-${+VuPv>RV>Air(9re9s^F1fKL1^ioFL)ggWur z1TEXOgDVsp)pVlNLtu`AFekZWTgxp?BJ`5d z0+}1ecd*fGv59UJv`GtxkMj~~-W{v-rl_qIHLm95?m`#NR(aYUN`l_?jpz>sCG8yr zHZs|KP3LqE*+${;h0h~H)Nc6r1VJjizdztIn< z(~i>cfzZ-~oneR>d#_YGB?`^_CDw3{mu)L26c38H8F{P_~C*8-Rf_6V6PmVqP-b?S9Z6ioaCfu z6I6nq<_!Lmg#LyPAgC3Xf3kqM<5E>s?THi(bQdTz(n5hp>ZGdP7NE;Khz}{S!Ma2Q#|c-sjL~GVEBwIN?suX=>D* z2--z(i4zquFlk_$_MNDOm$PRqAOpsz1l~m7P!i4AvGN{`pwsGSY=glJS$C$u_lNkQ zt1m=_x!-F3a-MU7go4& zd;qMk6+(C5-~c?sHQ4UY<&AWSs?+xoVlc0^=Tp!qnRGSjmZslP`hbHVAYXOkmD< zrhN!lnK*2qU>#gLP!Y{2{rg%3C{sw17F4&tF!Sgmef}`{F&rgFcMp%O$55B08Hf_h z^_J6JloRkW3!Qs_EtWF`Iq?mP&5?ezx0FTD^p2(frBazt}VH)kv{-po3G%M$@a7#iU;FDUVT zZeU6P6YPD`Jx}qED)~!Z^$$;csMGV}CIscQ9WYsYq%wQb|Mpa%?}YmKzw5KUt|`Oq zmcxXJB;nT*cH$Gezvv1C*ukg{70i;Xmwz37jvV&AtB$W#_^|!F%S6aVx267*XLS94 zncnAN4(L3=8wf%jC$J=3G|^w6IUp~OZnedm#+=%+I*^eb%lALKu(`X{X$szV0MvH@ z>{^7}$u`hxe#aK}STcS2WyD+|y4pTC$dklx4tB8TlaMKgsR|35eSLxvnLD>Fw$pmo z=>)6CcsWY4~Y<8IaAU8 zUAm+PTD^Kn(BbLKF5t*t?65M^hB5?57nX(nzI#OOXrMnoYg81mL5xrkOba#F%lsrO zHvPJi6Bps?>T2xdLf8%-qPOR|L#?)1?(?aPcmPt(SORG z+{Ka4FT=i-nwj~uU~uhgf%QL_LWn`N7}qflYY{*Edc^@66e$sI?p*MUk&P8k$XBP-efxDola=qbK!X5ZG!qpFOKM=Cf90`Ie=#w-6*`hj zOfW|?0^k>l_k;X}Ydn-{2jG#Ay6xJV<+^rqCUY^>4Xstx_ru<1-3f!xtLVj!xJ4zY zGvXP~#aks`M4rMhI&JV&+_BvXJnRc*{eoi0X}0^|z#4lW3` z#eFa%bZJQPtpurwuDF&1-mT0x>~$qXUo}X|%b9Se$t0K)HNNk^g^5l{MFqMS7@0lL zL#qVJq<=s_7ejXI@&q3?hk zBS%0$24d&%5#;EbrM?7Qr~i;hdQkns?;dm%z=tb}(0J#cj5?-Q$9+rhz(#dYUkq!TL_hdaS_;YXg0x( zj32D{C(c%`FS1zu|Gm$ex}Lp0_n#Hw<^7kT#c?P^@ld}L`k^v4Y47sYx^ZuNY1!1` zy1JLph^T>LuD|8b>v9wf>RTBF)`}oFeAuz*{NiD&g{FCWc^EeT%B;K*m z@m4Es6MXD{vvqRE>RjWWG(&)=IDuYLx%aUHjCv3_(1lkbwOLa?@+4^X;*Zx(TifkO zIuHp1S)e9yNCrzZMBul#cy+$h(LyK{9Tyn^(>q zu@L}iZds+@IYG=v3Yoj*_SCJ*gU=B1NsV*D*A*Lc9`0@nm4uRSxqPmoDCwwV znQ3J5wXj+7NpcXvY#yGc)Q2KBaAAAi^Db#_qJV-TW1^<08|`+{F)@t8@y#|Cx0B58 zQsSEe@ST^J*Wg8XJDM**MCSKl`b!mdkOsZdQ}p*oDy4ZZM6m7-JyXkpw;6?f^gAJ_ zX_kuF6)&=70&pz`*S>iW3Qg*?evE3%EnH`5MJsis|F^@4zI?@Yq`$`*<>o*cmOOBf zHamZOjUSNQGvr1KR|A+2;NZ$G6M*srz_T3n)e0C|xEe|QGafep#f&Vct&po>{rV09G^KgWVI_+8;c{pSsjc z&A{FK>+@$*sQMWh831r(W=Q%@@Z#U~1r%#X90Crx9z1-Q%5>LLAoiMN^ef}ZzrLJV zLDxNZzYgE5p6RS|;4q>zCm2GO?kT70kS+gLU@bq$kB<2AJZf~qZN^UU`^mK=s@HWQ zC3dONuP!Vs)QP2+l1zTWa(wlN>r&GSwt(G5xy`OXQm`csN{_rX*R!eLzg6mCjdT#X zYd&Gg*dv2dsp%?P9oLc;P8*w_#anzCC{8kU};4Ery(Pc7J{s~XhK zy-!Aiv&e_9zAprf@ZSQ6+{t_$6&<$Y3;Ae!asJUD?V4}Gp>O?vfx{2RsvVu|Dzl;oU#*WbZ_TrX&vkZ;6=Y2!3L-V0jx6a7u=ao0~5{Tm3nwrW1g76d%dtHOC zpz%&6AAx{$!vga+Z7u1DME!F~h7lz=MUckWup7z+jVGAbf1WHvd7iBm5=XUhOG<9v z_D83FbFEV>|4-%^TjSvVc7~JiC7zn8Jp@Cj@jM}o_v1^ju+xPNV^pWI1xUc^J6 zbecu15ry(L^YShj6jK&@)?Yh@o?_6&>%IPPB9HSD2roz%vPun$jg9T9=<-u<%F-s1 zX#`p5Lxb87=z2f~(RTBBE6wRjQq9e!;7$LB#%4vICjbQL8n<&V(B-rMG}pj=usX^7 z&LKGc`c^8Vc`||Oj8VLM0Z9i+@Q_vbp1W&cw8HhPSEKJR1#PJ%_%7p6U8pG%IkU2g z^G530@4}DeZ}EVYlPvD>>`ke!Rpzm%%K78eS{k*50q*cgE_D@0Jzd?mzKhhe{m0wW zV*gh2;;znsxo*Khq)WnKm2&Def|1gw*P`-^SAFk`FG(Gvq&qb!dCPRT%;ZtZpyHc{ zV>2zwet8D#T(;l}pzX1EHrwD^m#&g8jhh2NEBYzLj`v-4#@68N@As9n{B_;)y5qQo zeAkOoK*M*P^Gkj@T=*k4Ha5H|v37!8Al*A0w3NJY8I}%ox zfrHF*K9m9y0l2b3MW_@z6~X1ZmJIMU8gPeQiAo~_oaidFE2Gs9Jb9-~ecv(!@_7zX zJ{5lv>OTeT6|FwjGBj%otWu{pAl}LuY)U|szahwU`gkF5^Xg&eRn7Plg-%*Fws_;0 zf{^ZPo~BNA126x_X;RwWu+gdZl=mi`ysU|qjX+~{PA7+57j`3KjpNGcLI{SwdI06y z#WD=ccVsujJhr5jI3n6LX}ha)*mz-z0zg*d;Rll!ETUp{<=_VfC!SYq%HlWS{U>j; zytd^r1QUUhLz2?pg7{nPI?q+1?92< zYC*kSmURVT$3HW%_B^L{LL5Bp&l@;s^m%4YeIsU=8Qmgvs z7?jEhpxj22#YO3ZL6r$G9y}i4-3Cdqx>+9>k+NY6&FrvdlplE?`veoC5u$($DY3X~M8Q%owG{;2w`LmI$GW$sj z^ci-uk!NhKfX-7KGN4MX$Z66VfYfQyiv8J|@oc8ba) zH)fR8tSH5LY_4Bx+Lpw1@4&hgvk{kVnFW~YAc`)@SmW3I^M^L>|INKqX-2zAgx9^Sz7+x0v{_iHuBV{!S7fEiivPu+TfM`idshYL zdrc~S)k=^-(t|3m*3HJoW~`z_mziY1V{77Gp(eWu?%t2tFcVKK`z`)Z>Lz)cm;F=@ z|EbO`(nMvsuoF-X_(7BL=EdltS4ItuQ_>R_JvK7aFV7#7ebdmnoBo{RHW-77vYziM z3nGKSZNIE}=YN_X+FL>x*}w6+lLq};Eb!3`!b@$8t8W<$0$j8^^j>Wtr7)|xf0u!P z?k6n}*4za2lF=Xs0@bNk9-6^3jpFB!t9?&5X*oMEBLne?OLzIxaQYQiRMcb7y|!eh zvjc0`G0l|m6b>v1;rhlYVuQ2YBVyYFTy_+8u#uI2jR>Ww*Ku*uk?FGc0ufe%FZu;; zf2R=*nZ4+lZOxf<3@zaJG+NBS@Dw|kbjP>VyYw0{XZEACzqKGnfU z#k`tF%)H3z>gS9hMB3T{6nl;z3#?xxnTN^dfMBfiVee@?^uE)7toTKt><+ipo^7cY_G}Ft@!%2e{*BQ+X8xhkFCd$NP;4vL4G$R}c&3~&IPl@>m1lMg1>rBCzDD1V8@sv1+nX#@q z47L_g!SKSD{1>GmwWwVCV(_sBIKMVKY!2nI?~Yu} z^SCxWqHOVSVjwS@2rpa)7a-Xj9CU`EU!KCN0w9bR{2gEz?kmlI{dw5tB;5Z52QVxe zVJ8Imx3IFe4Eh7(s_9e`m?7qg%VpGWT9!&Mtp_*|V`F24(e>GAIlO+<7(o5bN~Vw` zhE*ZpZe%-qKJ|ZcQZ~x^D(s-*1sex=$AYc+y|jISMScXHM1a!~s3H$vh06cG)ys-G z>e7ymJ7E(MJu}~F-@+P#LrhH69fg`mAQ_gDl5#h)y-mWi>;>M!>h(*Y53~`d;Lx#* z<{1}I&`1RC18fk;w`r(h8O z$9m^-w&M7I-GXT|4@`s?kh_;6&$NexGWkLCZ0_RXr^BQmeoJE)7t*f&;Ll@do*)n@ z?jFevQC?n>DVV;95a!VXpmsm|^O$P@>?+3Govj5Alu2&0g>rUjW!o(<5QkStdtA`0 zQQx>UcaWn*#$Lu$MA(Pn`Dw984jTRVtG40N3oG{yP8JfFc~sc%hEPIN#uT#aDeiE1 zcvu7*#s#Tv!7af-)K1t^+Tr8-?ih@c&!qKUzHFJAqG3*!B*FXiV}EzcbCoX(`yQFl z)?{#7zJfli1fI&*qbvwKt$DNboR8a%G=v25wp2ebc2QAUdM5Tm}AU>WL1lkK*gRC+Ul@y>-a{W*9)9^awowXTtd5DZf2_4~ykNf>vVkrQt z3Z$;{a4ieJUcyDGy8gQ-*`juRDs1zgmbL=??s%mZ_Ad{zz`o=oNvNFQbh2v#ZKtuP zCuN`bK0dtXf}f;~z1Dk6iFmQ5CXGih;PP4Qw4i9est_3S`M} zKf!h)#t$k3z(0kwn2bDRVu-F&ZJatbTYe4T7|0IsC#%89_CcME3{v$6fIa9Ep%;O4 zgE3My@c{^@ps*H9t1aDd1^5~qD~8{XHH%&er1ezE<~WH1B`oy2rpBBeHIrpAkjg+( zJz1U7MOyGsRBl=>g14QGF+@`(UM0U#q%d8K zRujuZ_rKUsj4h?!i(c1rG><$`BDMe~U1;KWcdSD~$FJf0j}9;lLA?hlDI9uk)%R$| z^G+YxBTb=qFD@%9gK@Y79xO2SlBTDp|CjEP!lO9d^0s=E@NHjBlH8J4ck;Ewh1JxV zi5j?w!7Rot#`HaH#AC6q=aWZbL*QW!guC+?Qmj2(uOjl02cYYxXRkM>%1rLYY+M>u;z}A;!IXU z#`q$ZbeIV$z5+%_@U91O0Q<%IwNd04{jNWDZ?!$Z6=1E#$H&ixi~?v03Mj86o>sa6yTg;n6qGep-mkfe9{#>x=2{O~BnB{G5vvr@;bSjD zyAKVBRFQ!<F|GV)^CpBfkQ zDl5!{20`Q`gaz73EW~7Wk=5F^?RG0$zSbw?+h9$8|2+yfv}DK3tCHdSGz8+N9qOm|`wKfL&&crz3oh(ofm zw~|q0M=`DeCmpQaM(H}7WN@*6uav=i zKss4H|8n-kcj|hsP)6D$jpd_#ONHuK^|J6KCIWM~GsCh%&t$2Nq1Gvwpm!7lP1bmv zobGJ1<&kB@$IKL&hiPu2WYpLTdz5e}xhW5{UZ8?J7C@hZ@|2??ViXr60};qP1$H2X z8;6F-Kw}Ghb&hqa(8|Igy}-SS`Y<{1S@5;I_`(D-Y4tZGGL3N7P%VI+pfg0oErNZ* zaQ8JVf1LyM1WFL}vybQzQVP+}-}7GNwq78pzk$+5N7UBUq1pt4(VUI5uv&OiW!M5K zT=14zk8Ru2cf>?RQOb3=bD=l)mcV0kOC7(lOb;^P>FKSt-SeB)Wvvrg)Ymm&L55R~ ztHKU-8~gU1A#=8V=cRyxV}yR4B9*6Fo2jj2Z6#mVQYC5)I?teORRn^er7N z?T5SZxT?UuE4jqqdR>?E64E>0I63VWf_P!d=HubMBjhKr_G6l6!Ew&ISYqW8Kj@d! zA3eNQ5=@&`V869mTiRUnUCVAgh>7`XgkRNSvYG<(Ez`YglRf2X_ixLJ#o8x7dUi^< z+r_Uca@n5r2jVi~BcOALE)O%I427p>eQPTp?vDXj-~hKrg;)Jk=#C)K^Wpo3pYeZx zX5cN+&n_&W|Enpfwfwo}<;-WGBF=f&P0cI9@ok1QWqX!r5~4Nj}1g ztYcd=sNUOSaiN>v(EHL&KRr{XR9C)!Mmld;nwz9a+L1oBhkWF5NWVATG1H4`U#9%X*-S585jDGxp&A*6ai(iw^=0o_7B|1H3mzL`CgG9}edhpeg8Y91UA9ZVZe2w=0sVMr|g1GFsc( zQczPP1bh@k-|z_(&6C0ZDmeKxK7l4YKk;{%Nk|q*va)m8h!r&0%%Tf4*+m5f6faDI}iwtp75d2=1->o%sZ`gploP((?Xv_czpoq6o3hEvXw9Q&b- z1mqrrBMU9yJ*Vk|-Zxdxi-*C2d=MBINY}!R4ngW|rtycM9UOH77urL)dyZuLVm7%y zz8IF>&Fae4WXFgOB*9a7Mudm$WPFW=$$uMMEst7rVV_&PI^`5^xrvCgQu}*!b%-r- zak6OQ6;2qybr5qRJ=&Uzku7?Ant!jmmn-{45g1(vQNqiq3z}Hu2^0BW3LYW8;GB6z z=EWOIvhPLK1?Hw)1SdY|wpLDpOc=NX*lbaxCAphg7=j+sWKsIF$Uc}4T{|9FT*=F| z^F6iexvcE6I_f0rg%2Q=@Iam$(A2FsTuhW*;Wdg-Rtkw;Q$yxV8ODy<^cezOI^or7 zDz>tFg-T?}93P=1swkR@)Wb>^{B}x1KR}b6I~aYg_Om)r-wBnqKUVK8^l|d-nvJ?i z;Kyew5|I%^azwZOP1tfvs_cu^TxEX+U&x+V=pa~_M(B0$9-Mp5d1;AxVg;`0U3j~>Q)B5`7LjG?R6$^}q5YV@$ ziq@EDONap*$ILa}3l}ROl;HUG7F@#@+N| z5jk8GqWzEBqivHP*e}OIl&kf2d2}9q)p{uoZ z1hFjJO8P`~kGzb#IGv7wDyiz6c&MPq^t1Q}WP!ymm0FpVO~>s7A;jw(wa7)Km%oSF z;d-WG<9}6m4ATo)QDG`^b+TAC<+bqz5Rrc$EGpknto(#0oS7{@)jIWaUCrBXjBdnI zEHwsiLpValIA>J*PTm`vRyG)h`b)*J5KxT{P{g?EetB+IicYkc&ev5ToS&$Wr;)}3 z_V6@w)j?T+Ivg7Id&P3B_*KCF2<$Ml-%x<1argS0sjas!FD&(vfD%H*u2|#|IAJTi zrrGG#!f|LgCAXu`0u6c{aZE@KJI6=!7XBCS^gYu^7RV}I6F9g?=Q4zdHlZe}9$+UJ^^nk*!W>VR7>@{usQ#pKs} z;iPK5O&_j_C|uD48U*@v?m)8$z1d)n_p0ez{M-|cMQkMt| z%ZK3TBhB(X`Co36-)=CnX>}F%YM1bu2s%cH@{?vJ*;{9nH!CdWk?B(>Gslq7Bn$RS zk4>OgC7+$Fj)BWdZDjPC1~5lJ#6VpG{roxTmEmH`T;vL(Mf?CdYVTlB4W-5eaG36k z!mEf;TdVX-IX1M2dLdw`U0ul#;=?Q&#z^2SV_%U07PO~Jlb}1AfUk0!NX6vEgU)R| z`5UMg28h?#x((H#*X`nBYs_FYU<}^waU%}Awk57Cdv?CsriQ^Vh-icuZ%|5sr5l?LA1jfdU+Jqq& z6E8A^2m(kg7>I=HzI{7z&r$#SeN_rc2}UuWW>riyAVe(6b;YGbMbA2frd8$mm7Gy}Np0_cF;kj#SCjxb%(*pQS$GE4))1IU!P(fg{2JWc z>e?U9CfjEp;XS!x`USBDx!F@Wmp}fz|4#e!Hsot_g@t41+^5Qor?l$|u^+P%phgHY ze?Vu*42jWoNGFY}dr066plW&+PZu^?V8JJb1k6FxIZ!U-@Wr=cWYyBwxo^T+^q+yr zMsMy6QWW-2f{P-xSd?@} z2k^}9>G)sjc&`6qEw4^(``&P>I_19cg#ptzJ%DumHj$CTPPL`}l@~gCdkrfU2hClc ztYK36#n0fB8NW3G_s4ECHeNZQFk;-B~>(0-B}` z7wJdG6@)IA=Q|lroiGTDjEsQsb5Ufuc`rRPvmK0X!Yd~W6v(%rRDC1!q|WX&Q+%WE z@ic2~OOQ*$eCmTPS>6 zKgdlf&z~8T`#Uos-YEq#3S@lxolKqxlr^5X~icP z(LqRUxDx{IG!=GGTSKP{py7@=dPu6eH)76XY?9U$?Z0n0_~<1V=~PliL`_qT9eJm3 zXCoR_F%=hl-3-D_C^?h6mO(I1?+q+>*O%uTcQ-ET%<0PjW01mOp&J1(cJ|Fm#tWAB zZ(M-<@PbqvE@%T_{1F9oINV&1fJhdEo7Q;)*&#&nXxXJxcPY)jjoYD*eWE6q`iO;0 zOSx7@oyWd#;V}eG4}=DQ?wK1O!(kQ&+{2WNAvJ6q&f5RkwQy4b*!KZgL8~0~e&~dj zp#XruOc0ot=U<)|IpIo{%C#ab+C~$e7^h3m~JSRBrsB%w=hF1q)xL};q0WPP$8(6}5|wH}r|u|TiJ>b=3nm`!7x zbVHUs?A&YMG6l!Es|RPd{iWmLLCT=6zMi6okra9pgB^WG8WG-K@`=|!R3sA_iG~=u zHpU5*NmjElC;1sQ)`cgkv6PdVe%x|e5G5DH4#VEVnY|$2u3w>irPu!NH*coznO?ex zFIBpW&)@mJxo3nkgv#2WU>9a(cxP-@&w@Uc66Ic`R$IQ29DY*wFnWKqRr#4{V+gwP zb2L5lcs5*N&dKIdi8{ze$n^QA3t6#D1;c&cy3Du^Gwr zCp@rJxQsPm)Q>t1meQbcNG(`70ks0m?=Y!DaLb#YhhXd!|JQk! z`p30tx*zKvkOx4Nb%0bi2Dk*uu=(K(RLI&*qZ4$*9IU;7WS>a}|8?`JA6V^o*y6K4 z@rH$+p&c|^Rln=AEKf32kW7=2e2<1h6wzUjs*XdZje&!6FEK^1<+T@9s7+{${cKq2 zt4KF@_kqkzKS3!eP*O@OT#_6r@s0hMHCVeiV;5`mQgYPT;e%04IRW%0tL&@bNLN<@ za`ArZeI}|HhmVWyD|A2f3y!C^t0<$8BY`g4Sdv?TMb~G(e{xHTi=%q_`h>K#eZ|sx zB=?ke;7IFOz}VFn5rOd;2px#^=v~=A1-e55CHrcJ65z!^7kB+UNBxHcRg62_Hn*OB z)(Xq3Vc~1HVjzOEoz%BtlFD*e=pwZilUZ%&LW&cbh9wJH^+e5r4N)?M`KL{^a>c_5 z07bLqYZedlvgLmO7kH}u z+Djk*Z9F*n$0Y^+TSKib0dRilf2<8?m@&jByd{dq=JaE`S@0J3^kZKx zv`4+Cq9;9A8`En6wiD!V*q~U1DJgxuZuApB9eVcBK>s!W*6lk@#zfWTV!eX-#_7Q> z=oWldpJOw(>BypDnXTE#f^b(;Uh4mv|1r_5_lyiH#tW4Tx@fj|671+pdOYJo{|c|W zuV=oz!w;K#@^&oou;c zhBP3U3PO8kueN5}L0-KJsuZTQp5_Wp%wQQBNgv8+9xk~#kvy7rY*>~wrLp&!nVJOe zJZV7`lBJe1kjF64;AbPhQ=qBJRcR_n>NM6wQ8@kWwzjH`eU*y=C7Y8hmLa3Z`0Nk9 z*z2XIM~6UQC3XGXTZxnW-QK~v3U=cu?Bs<3vvij@0_N?G!-=R1TXvENly*4D+{DDB zDQ^*M7^uBJ0PRAs3jo642EJJu&~;AZGnV~f?53N6B~){UkgpIDWA~-9a=#AR*WbUB z4pz8O9v~^DziRhtr=RG7&%5-?mwK-bT8~$9IsM76^sZbvKCDAnGF85ofaOj2xzS8p?e(xMd~<^3|+5yUEv2Auo~K+*;4u@Nw81usY~hee|u)hT}V!^6Ehs zNY|^zgd2nWMr}b2F5zM{jN8VQDTJjVfHCs?Wj-f2+AK} zp6b(qqzJh`iHzAR*Ko234iaWVQZEtbY{a^SXbK;vjnH`x%84&!AqcQK^T*gK7P=oW zI+URUComOT+*yPa6$KDX9{c%) zQqKSPyCND)W%HwcTcapxeV%5Kw6-=UWO4yBH8V3m)Xd#+x-#`3%p-EFh*M63-__$k zqMPB_pGY)m**haK^$JjelFE$iy^A3+)Rqm9^7BXu#o4*v8nD9eDlRT5u1k|R81Jiq z=)s6z3Ed0jY*+9!lN@?!&w#v~Ss4}M12a`*E_d?3bu9DI`?#csBnz`3V<<02rD+19 zjSAyrB1<-l{NxuCJAW;h zR#n}9ZNv#^fgeFn-?=S6mCu_u<32~@maM=b?AJqB;BQrEcI`mOWB?$s7RQJGApMXB z|1P$4+4JHGW@QliLRV1%XBjL8*s7Ng&QE!r)fD*dA!M6lLtExYz}sR2H9{W(#Vjo? z16+DR0(EwF_CyvpN}dS>9jNR?6z5v+eOv+5MJR^rJ)H4FT_Z!8;+G|3c7n7wBwD0l z@PX?0;q@KGN-)BQh{e%h=aWgD6eC+x-m{v#6m+OLWY`vV#SIR=v>Kv*nsYz+SqU3~ zy^P8Hl#6c$+R5d$TTs+&`p3X8$krZoqGnoEUk(v|+9*aUyv6D?$FM3#`d13=LrY|T z|E`oL_2lZ738PWxzxzZgq5jJmqEf*y#MEd&@Rd0j48rQ%7J)p}B+2TIf;@tPLH=j3 z(`#G&b*uJac{V!-!RBP#)C+Poi9Kez(?7{h#{+c;;ogkTkGSz|r^~T$YV^@pc~@rZ z^tUgEMQ^`#2~h9+j4qHZ_b1)fJjY#`1oyTCefk~_hRKxkx&7F8Z^DO9 zpDwUo?>;-4*eGk^Meo0T$C&)8;~3fZG()t_LBg}Y_OwxTbHnIb)DPAyy#OjO8nqSa zH%RLL!P@ekm3?(G2qk&A-uKARmS}F4wN1Qr@o5%HsRThNz~?pdtAa*5UDOQ^@V?cp zt-}EFcwbv1YWlE6u4tYx&=^;{tUNt}n?_LQ`SYi7(a{%KP?uh)c7`~PbD>x|slvZ2 zH>twF&19J+;=*#b>)$M?>^cN!9B+Xsvd4D|46-NQD>W}Mm6V62%v=r%-R$D z#1ETZ9{u{JD(HdNxWUc-qaK0z+0r`oITbB!4|n@-SO{h}<34Hs8Z68=82M=kUP9S6 z2JN~r$Q{gKF(Wkg15lzKF*D(HORjevL@uR%VTn$HrCv9CMVR7=QhTuf)rfzz&*S?b zt)s&V*3Mna>t(ejRZ?${op##q^v%`wr0-tgb@4aV{2xo_9glVYzW>YKTxRx8_DZ_! z5s~cd%p#PTP1z%}?45PnA!L(mWhEpbDn{e81%DyKbjl~MzXZH<}K^Mj*{sXQK05d^tvRD(6|A5Wv2 zB@>KHO*(tRjA5AiK#avzi_tkck=(iaRrsy{slDloRZM&~?HNf#q^?Wm9rm~{5E=0M zx7j%fkYCs1uUonEf))(G|LDt+i(|Pu?(^Oa!rSc^dI@C8;D^NO!O_x`*9dH!B)ZS2 zx_!r#X0Y-1FfmuyFUs;+k@)i8Z^@@1c$?^OKZ!X?gToIE1Kd5V3Se4VdW@LgE5BI3 z?tlF~86T0&|8lCnetwXofTvYD$qZi%Ka7_A&8eS@Y5BG-p{ksimNFsy?yC}B{}uJ@k28NdCNjvzG$f=XwiL(3Jrxm?r-6XegQ`V3=_X9-aH);yzQD69nxR#h#P@v?e5`G z=wa3lEtv+lG{&G1L&kH`%qtAmTZKt~@tD1H54$O~)<8%63(0plzkYx=KMMjUXjL|G zT`E?cCtwGKxep{t(9~mn0e8b(qt3=Ne9E0nI6v5_arSSa{-IOv{3paBNEA;BOnCe> z>iHYIX&fgPF{TV1{ku)M=NgrJ261u1)Co|us9Jf95A>QVkG$Nanj=nK?fprKqKS-# z-UYc9`w0jA9(`|Z{EtyLQjL{STMuW*0EPuXtLwKEd&-?V&YqXnulS?=4~BKnSEdZ-+kMTa!!D zeck&X_m}Xy2JHUJyProha6vmb_49SzP09Q^Hi6TL!uRTwo)+s+rwnyLI$=@e>fsh@ z%7r~D4TNmL{~CMX(qxq`?z#2r4vYV>mFL*dZ6K)6_#AM{cr9Q`1uU=&YHHL>ngYlNQjl^iNAyD1MxXD7leq%8^Vqc;u9tvGH8xX# zw9g;$%fu3FC#j6}Arq{IxfgtwJ#rWAc?}JCMGGZJa!t1T6e%>Rd#M2@hHxDA82T^s z;fHrZ$KcYR=&K`NlE9$R!#M};=?%(U%>+wb6Db1KQq@_X1cnm!~@ zZg&&Ra|xVgM@6BXApJf(r$~Uy6dcds3ad$8JL}2O0Fj$jU%Iolhl`x3C6hTY;ggx_qfl1{; z1*P*MdQT1KhGjY<9_dVI2%d9ST(;Ec)GUdC*_1c+j@$!c8w!>Xg09Z=eUBX~G_@&@dw`wSr z+;6ca;GY8z+{-F$Zto2RYtFN?GdPj59a0(akLR>nN1i-B%(=hlceOD+A~Y-kV4cma zhPiqOh$JyEF}*ZMS-#o_hg2beQm&t!5IqI0L+Fj`wmYRp@z_dF^tBOShst=KAMaHI zNa;0zH26+lm_s^v+(MoILp00`qqc>S}&vRS$-!yXWrR#t6mmCo5=jNsM%b0yN# zHZ68x?_OB)L`>Kie-{|2kyuTJtBMUsj$N=;eSQomegjww*$oC*gg^KK^#RRq8O33+VbI3OsRA7lfHk%(yD`(naSr()8~ zdWL|TlQ(E;(6O-_85s(lQZGq9$B}+8!NqsYa>L9us93Cm+m2NR?&Y4`C8%@};A9^Y z3c|=YUohKX__aY3ok8H$%v~rtMAEbxnSQG;!Gp7 zOTj4RjugdxHI!188;pv+!|yEGuYA*u+=7{5Q3^005I10K_(Ti#9bmEnoqmI`+&-g^ zq1~K|`vt^~0`EkC?-GtMpqZd&%Pe0J&#Os));^vOMSZ+LJT1o|m(;n)6+6OzS>;pEm{=>Oa?hoZ8W%yVOfVhIcB|P zBY@QGo$XB0_1}~79(=a(dI@!5JF9yimy56*u0CFPqL9`B7a=TSZYMJ*l+JHa@OvKu z!t8Ch3V2yGx-0}}7LP^T;Np^m0ck>=izBn>GjOHmyf=KM+b>xkSm&eH>BP8gE4J+T zpu_+@jU5*0kke?JJYn)_zqwN!8!7*|_SRPF)dA1V>L<0ILAn8=(jvDfF{J_DgW1 zxw65eqKJRs1Wt`Gbc(YdMyYF!SC?nWcOpoQ(L*#Oh##Tj&AV`B^zmnFj_L9Cz-^Se z^m%*!_~HA1UEk^*!Sd~b$TrKK4+V9HJl1ze=QD<|sB|bOd<#FSTZDg1Mm%Z5aGJIh ztl45r`)8xs5q{Wp(NXpK7JRB+Xm1gYy)GkiVJ?y_^RbChoA&bwN?_5|_hIGlxM}~$K`kYTg)0$5I^4`^n z#pSh_n3zw(>XTFXE}7|FH4atBa3{|>)Yk9NX*ZwMxS-=##0ONBx-bdAIIM)L?wCEv*j5Z>`oyOUMs;7Lo9Wj4khQO|x%WHK- zB&nGjnorkvM2@utPb2cE#A~6tfn2NGsy-tvCtIP=6!$t~j~Y&GZK`(va&?MvkBNAQ zNnMn0T^yjaIy$Uo;If1Mn|Pz<0XupYibA*?0CEab8~G*e{(==_MwzaDJkJtW#W-)w z%@zmRyON2YKY-<7;7RQS_OiyY>cZ$BOk_9e& z_eAfk%Js!%WM&=eO#VPlOBQ&Omt)aFA5n<|%k^1T7A|Kedr#^&UusCNRTgv$nKo)O zGBf*^nN%>_*O|No1-~ld34wpPohQ5X3ik8m)mU>awZ21P*OJI9C9Wm4Y%RGA@5^%^ zFqS-i@#4kUQB!>7Roh^IUE|Sf3dJ;+wMKWeLzK1 z_x_jxpa43#w%>lya3#LG+eN1G@qAfmN$c{rmJ4*J0rIGR6y5s((A$E7Eet1w-^*qmR zAjv)-^(nh&vwUzZ2@P!dmaE8~M2YEAj5N~GTMG)LGz|=#W{g4gyVvP-G_+qhqJ?a- ztKA%{M~^Vam*S!y4SL8cCUC+}4rsTq@%0YuIsEVKNlrjeZuAw=%ggoNy;}|3FL%%XAb}wp8f@P^ zyuc+P##O}U`w4nzCuCEmYjuwQ>7Srz6fD5;`SZVSux1N^Hobn@M0jR^ zr;pP)X+pcHvVFmncuS)T?dmJzg_{>x-QHOy9bR0;8NF$!!jEV~& z^9T^i@QJ$l7S4V*}X>HH89G!(JE{vc}MOk*o9&Ho*f^(DO*zNl2h>X*a}9 zh2Sa9ffkjSAjm^Vq9i5NVBd-Gj_o;*6MG*o#rt)Zfd`BAApL^-OL7MO3*s)Fc=D~8 z0OogXMG7#8q`(=}W*|jHIPtv6lnLRbyIZecVel*}|J^UhwSvF2HDB&@tsn@7?d!SR zQRlxCwZ28L_@|jQyAwdD@dK=fz*`T=0PN}dwnKNBY!+t$3PLlo+))Qsi~c-Q!5|k> z;{;)8;a4p?O$>mkzR{V-3fpcaeEi3i^q+f+Y&uJ+_HlBsKF@TjIOMXlJ(SpO8H=ps z#z*$cO`!x8@%b}5#07o~_RjXjSzQHTeZ{hJKXOO6ItjITGZJGDii(Je{g1$=!pWK=Y(vZGsJQN~=f5II4RMUMPZo#)xXRHS|6 z${0{=9^66)Po#r3cUhD?3R{CLQ1`Q0qSM`ospCRKr(mlKw=iK7g=g?BWPn+xUY~Km`UOvutqKV9~DasPIk&S#qyEG1l+b z3${Y(i794bdMk1w)mU9`JW#?wMt%$Y@BQZ~;v zH!mXBpnMMunFZS1tv6+5FZ&>6ECdU;tM&2m@dda$QorsybV2c-i7FqM4A*!@m|(wx z)DL}Zr{l*kaEU`!4=C3EL(2BU8xF1sP$XcKfg2jQxsP8*5r06e&qN-8f;WfYIzL1O5HEq4jR$X$5@7Vollz z)79Q^E3>D6YCD>ZMpG<}q;b2%SRW9~cv|0NqME&4Di@rW*MS(E4njrBd4jRY56TTepVqevr3Ee;}2%heI|D#R#aJ*DISWktptgOp{ z?iF^hrU0UFZHM90)j`D-LBq^*zL=DSRymZOeh0v$&?Y?plhgpZoYV1(_xzONZiL}X z2Nutd7gz)R1ejM>XSX@X^)Y80cdz@ec>6@^NjAFTDBuGuFaEDpZA5XWRU|d!? z2QcJ(yc+Y~?HKVcX|luTy4U@Zbdt!5rx0Bo3f?T}ViO;4Fcr$}ypjzL5TbXn&j<%& zx@oifXTP?9?1w2~2Ib4tzs<>DdjVnEJxm`24DQMn7A!Cz93P{YeSSl)Pm!e&F2LMM zZg{PP-PBgyzB%3r!$VXUyO;(}SYlJ)kYz^PZ+j5uZ3p=-sqx!NuH|CS*T+J7Pl;XO zM^=a~T@AZJJZHoG_atM_Ly!ZQAuCy`H=3tv~T|>Uyn@HX3 z-0zFMybLORT6p>e+|6aNcOQqi4K#7sm~d15_?&oS0LEuuFhU(H=jG*1gB?4-(Zl0# z8=@x@qoa8$1v>5f?QF_T#`S)+F+s;K&wMG<13>|YEs5f!hiR)fIfPkBNJth|V0)3z zz4`ldA{hMs)!agqJTx7KBT`JmtvTV$P9YR&z)u56;B-)^p_mY#tq^Di`yf>XJS?B^ z{|jn&#mc^qUwO_*%84T%;uz*W;~yUyG2d4h#DycQ4)lm8!AXYLI_Q#@v#SIf1_e9^0;;DSv) z_5Tq60me>VFcsFsR^S+=kG&fLnerqXW2=}cc-@%^!=A&{i!)g*9e^||X!Oh_`koFM z2}n{vb{yymVpN18%B~-7Pw$MhJm0FC_eDeebQPsz`wJay2*%5>AlMoS1 z`R8vmkU5f?nM=|{PG!9)BdWx*yDaed5ZbX@fs^B>P-m+u8h-ux};KIkcR`rKtP zw>-3>4{_l&i@m+lRG<_|N|+gFsdN3gTuNdYx$zMANV zSo4e!6MtH`s8i-p8)hv=Jd9`gSFkRFz6a~V?5_Jo5QBnxYYGSN#_y4)1x%V8^4ep zfqS{URUy7g_Pr!vg1Ig-^B z5;y@_=FKE>k$HK;gBd&O9^(nwUHrT(HxEZgffUVRJTO(S5QZrN2b^vutR}JrLHoFM z)XrL9z~m>oKmxEMmplGPElWL*szGckMZ4RLj1UNTe;~`;r{gH6RMo3MnJoq@FYU@C zZD*8j(cmLmdb-{>Fd85RLFg5l%l{J!sLRx&7*}u_dlq0)?{HR}iLBvNgQHKFV#a ztZ*wQqQ`+&04s_!grfP^?Dr?y)YN+Uuxp%Wd}D(-j94%IiOTuw#I>Rr6RGQqQzn8P zN}>1VdP!6anjZRE_LLj06N}qwHH;yQ}{legtYjF$wWwQ4RQ1oYh^8`4js{c?eVbJM=Y~RxL>>=0+0UA zmxUuN5jzr%gKi@x@#77o#=uItV+k<)lzhQNcqmgr+pEnBi|^(&k9*U(CN% zW$bM@QGa=ql|{j!4qvrEk#I=3W8sm)I;v5Ryn(rE=(p;&?+10PnVPR9lVBOwuF@YZ zk<2HfsYRePesdz?4#*DGnh35131KX3bc_FGes(TXHFhD@%)BFc)oD***uS#3)PCg$ zd)AE2HF*?cHQnPGvg210Pp?eAB7p+C^+Gl$wr}Y*^oX8&104Q4h>wsxxUT}Lw}py| z3am{^fyzbmfdRol_4oWG;`{=kL=ylvUSF=g{?UG( zdiCu%cJ4T~7rc$BnHd=-@EoG|qvEhEWpId zAoS|#?*3Jtm6gq2WWvI9C}jw9W47J0hjyVa;{Et@Ln^^ zsNK>?grJ#cavn{=drpxr4t;|TtH*aBHGVd+PhZeu9QJUV_W+1QS&_PO(;@b zQxkS~%)m^H%70-OyLOHd*=Uh(pyu8|6O@_D6)DoJ<^V80L%meifAm4mA;|+>88%Yf zg`i+Mt-wYE-M7@0zI~?D+M=c8`=l$w=ZH7$C}VzTwPo}jv_zlqnEURbAPaOQsjsI2W3?JY z`~u#zHOg>6IJg%u@%Bzm+fy*qQ2K$YKItI7larm@=IG?)^bp0U3F{>pnrI#46nki3 z)*HgUZZPv8pbh>^ohMFYGc#vhi1$JPCj;;Fc zvoCMvkU1}uUm-m7^+~#f)e)TZvAh7*mso}8NS~X^1mZ35RK0^I8N~Bck`o`f@`lZI z7;b)uf-(u;^!?J}w~{^pW4N*bq*wb*u)@f*$FF4qk`b;Z1Msl{rB+X0Ut5jNR1Ew0 zH}|}0B*Aczyem|oMpZ#Lo)rlLPNRClR^k)?j9~7peJ1+9KYyBtWoweb1$Jlx(rAz_ zUA&Yc6P{+5Uf|dk6_ZaB&N8g`DHogr6ObBY>k6aeXKTr z_{SiH(0uZKL6r;eH>&iHJ^K35{x?~Lb>P%yzc%Q*vJxu}cMY~8PqXBMAJs3V05KGC z@P#luBK#9d1x10m$_PuIBStCQVa6K|OX5(&#M63HNiH9)4wxq*%r%!65wykTmbvSa zm8ta7qzrfH1OCeu zUmMJGg$UY2D_SsU<-NIC^~ibm_T}F>z91zc>&uJpS5J-TwZY>9>14k(xd7G2N3R9*63bjh9Hk(7}tzi0_K>f->kOj+5} z9+mhL`TfsnW3!Vq zEAb>&>*fEWQq}N?0F8Z8V`TSFX_M$b_T2Ts?n=ci>vZhh<<<`t7|ryUStoK zyj=6D0>G4)aT-2K(k&^A`X7%muLOz^``-IaY63crh;(y~tadcixB?X$nYQ)K#dNsF zZ@^>*w@~yz9$EU!2^Jg}iflR&hFTIHZM3)NZ3dI8L!%R<6mZz$C>?$fLjXvaStYfM z-MosmAw{K0Poee~Hmw)ctC{%YSP@*~=TtgMl%>hbHhpwASYqNiP=7-u!_uQT*=k#Z z6$K+kN6C@b3ja&$6cy-C*rZZui7Vy22X02f>+_kTsGp-#8Xx~@Yb~nz2j7{%`g(^= zHDetod%RFP`I$1>#sO}%Qw-U&sfb;z%g{7ucv4d2i#H>g3= z@Y!Y-3ZOg?ry>L$J!ya%sR)T(faLs&MBjpcv=rN>WcrQv3W%<2*q z5Jo5!;fJ!T7U|-vJpLN2&>yvKeFvX$+~OU}wY1-Q!OX;xN#}2zX zoiSQLM_)@v zMO%%NSArzn)Q8CyN4Gx#Tbp#4K+LRjTc+iIakkE$=*B-OnYUe13D_7+3G{WcSU;7X zAAbEYu+J6e%60=wrLA88iIGQD2t8e{q!QysB1vWi; z|3kw75~xwS6avb!)iiP3&-LCmCCEm7K5tCOK=%&8m~R^O;KzVnWbTUZw!&7B-0BR` zBOcJIcII-if8Qq0h2p@{Yi$;ZqH+^T9aoiz2W@K6)NU1Ee^0$YUNVZge0I!nd|9$)Q{Q?Qb+dyhD4huS?vh~A7wvWy&OH) z`a4zoe_5f2E9ri(_7w9h;S7)>3X-4y0~X`bZ_pgDi9TC|rKPh#*74;^jK7&q4A1n3 zf`Sm-5QP=V>*EpH4)dFpeBLjPvwRf4w^*4wcJT}|eO3V$3qMWUGk9Hp1@SenIk^M~i%r{Q5RHBJ7L_y93L%6F^+;+7zenL^Ubl&R(>_1U zVx*RUtugk#HLLeze+QJ6?GD5C(`Stvl?8G8{pv_|wyAhUuG(FEkeMBSjujR_P*%wSqdXp-y5 z<0H3KS*ap(P2T02@UrC$G#_FN+e-W`z}8E#bfa9pi<7QM(=h9c|5Q7|#)LH~Uz;DD zViAy~DXF=`;d=jrl_+KX*5H_lIMG18u$z7FlEB#?b5_~NJ8+x8_+%R4G~0yKOy7DU z^eXdw-sRxJF_pd>yFxu-L7P)-t>ew~Y-$k2>Qq*fSft#=*v?{gA9ELA9+b6K8 z$wcQagjn;OpSw1^nQ%ic?V*6!+4?LloCBu3h-;fchzS$waK|ot#y$m3Ld?8DrH;?O z@^@z5k@QKD#86lSIs4Jrb-h1X5jqW|3-Uae^SLD8s&~edAAPT(Lj8&Y`Dk=Yic1md z;UXNSf5F1l9OAeC>Rje7Fp6Q6(?|p*9=Op)lG*iC%B9aTQbs*4TFc5HfJ09hHm=S6 zA1)?_#-xXSijA^$znNt>Tp4Tl2cTdAtzfz}Wf_-G@CW_PgmTae|Kfmwj=37L0pOqu zV7(t5%}+|WTVMtC6#@W&{C0eN{0$bYA#tZ4#hT9ojw!!zFJoZNnAVs3-|78@3 zm`%2Q#JD6;-*xTTkyW>y+KIVFhy!@%J7XXCe906U9d}GB>aEU0kwV;~NZdn;SBWZ|klv-g; z9+!Mtz)Qj}DuueeQaf3F*^=>e#owZ0;8-PmA28qqNlHvAFr)% z-xa2DT_Z!tE9q?ezTev>zK#22+A^kV#c7Fm7~`&d7c%x7nt#OaQkMuCS=N8Z(*mHxbT% zsi|x_gioSLdv`Bw#IbbnF@5pjT91XLd8Y(+uV_^H&$N8#i45F)jz^AKL6>Ea^n#xC1H@$7{zpWcl@KTGWMH; zdb?*;7jG{%Z5(4rxai-j;_`E9BM5BlIW@lh{%S87k@;YjaJ5ygOw+?dYlNFMsQXuy zY(bOT9sTSF#by2rXJ?msI7$hv4uskj`n%vnqLw>fFk=mcIEShG!u8|!%Ym!dU%&ht zi6iSg==r`ybsXlF@gnBYC}oHg1Fj)|lpBq=6&J^a6r13`5e6aaoP1At6!B{F?Wo)k z&U@&HUT0@;mGt<;L>S;#_4PYwyDEu1t@cxff;M_9NZ6=c(ik#Gw{6?%w#~81=N>Xl zU-<-Ky>}#HOxQ>f7PNB}qlo)rXmQcpv9}k=ASvbM2T#?Ns6_(#h?wQ zz*KM&R?fd*Ka!oEnb{&rMR>T;%nWKN^qcG6FQkC0Z(#!Gs48c$_lzSC%lJz?1C{<^ zTtP{$ra8ZR3w~DIyivh-3oxeZFG?<=r+Oil!V6KLd%)4(W%&eE3U|Zac$^utYqqN* zYra9nWh8JRAkPR(k2D+O52k_zqjvpZ3#^9G>7zmUtpv#V!{+xU91f-S8QT&Ff%QM8 zYL(tHLa76V)}lVUu-?!--)O&l2I;^rJ3b?RYrtvL0D%iu`*^*ya4vwbr_KFaWp?KZ-8 z6fva#T^R?3gcca)PPn+VUU!H-oM(jnOYe;I9(#izj*!mT!Jwxq>9X%@J8>byYqe&AA{KY+j?lUe>u6X#T;I z1iS9)8V$|vkH@c1!ZvI8mtZ&a)#GI{?iHU|Ii(mXg#6-god$bWsRYlbC(pL+c9e%u z)?YYouWF&J80c;mhurDvi$KmJ8CPkX*3-wS$^Rs(@nim1*PMq5ok5kebCponyVe($ zGv&{qFe?LBW0L1_mTO<$H4As0#mlqp_AfP?JFwSe5z!bko=!e0d{n{l{+|yQ66G}_ z<+@SPHMzK75IZUUlT@DJQe$YT@cEb+u=d>b^pj~HYqpsS3G(xAZm+LPexIH`b10u^ zF4E>Ug<;SSD%7E(xWc3Yq)1~3ihj`Mh6SP8<7!&iCTUak6b~TyvNVGx;!E^(Eb=6- z@)L_&eNvGlPs}Hx@uZuhA9ZY z3vz(ULit@a_>q~f0>1;W}bBDU8FIPQf6mK`dn!r$51G~xB(D)2erDbRLuz+E60cx%A0`;Fq2Qp0jp1~-j_?AxUP3+%rLjI~)u}fY_ z>j69aA4a`=1PpOkLO<8;}p|Z zMo~QPTcqYC`*-yCC{gQ?zg0(Z$*ZQCw#rKE4V{(Y>Y}#Sp=0w%Quce=deoyz#5MUC zurN4OpUu7fs$WQNHn7ngDaWleE z8y>;ziw`OpA`rI!-qPC-tgvk_SL1!K4H(WB(|XP}V(kTHmrOkfA2B2*Ci*XdH5YxU z>|Szhue1cEd2M5h=sYf1gaKWh=uIrp75KR6NN`=^WBHv6KAfE@E~J|21UIt#kxn;< z&Wx|Yb&ci8h7q=jU}tq9q2y8cuQtG{bV}Od8sbE9_uS^U~*FP5(=i5 zhbcWUU_l+BXm1u6*q-ER3j?Ks`PX}^u2B*OaZ^j$-pZ$SlH+z_ryTLBg4vpV>xaH2 zM*LqUp6WY^(ZAu04DYf6J0AD}gq$0>=o>1-1c?K-51GBI9~0h1S!@nTq(xCHhjy;P z-272G?|Asx=rP{RVlY@erP!n+8u;+a6W^uh#Gy(>_{7VD>-un==Ur0(R$ zYX`ogy$EJkDk+}-t-L(zq4+||?$DP&%re;a$4Ndnd(GgvU_+AbhYSs|XCz9A1j6JN z)X%<98(`pJC3B_;P`;MFq>W>g2-dp1WXY{6zE)VM+z(JNLyK6ZhYelNGX$NdFG>wd z?l0hDU89<>Ea;?DDVRcd&DinCzqi?^L44YK+;=WZgOGmOf4=~M6VQnY!HRod$;KF~ zU_d3j66j{>V^0opV?Z>^tecSR<-_){qxPK(SP`~|wV!NUU30#g@LF7Axk9;{$rbe9 zepNSm1~oL$%FPJGnBE{PymS6+&U-*zCqtdHR}JL`kNSc_pnFnHBp{J{#!q%!bzXt4H>i zvM(rkCQ<-dTKLU+MCM5E&M!}?uQ-`a!un!&{$*>d_)nwQdaT_5R4|UC0v=?QL4OQ) zK{4v#|8AtKb0rTwX-F&bF>5oIlcSIQx7Pd?ggmw` z;opjRtcJYQO`~?&8e^;jqOm=XK3>+n+Qc0z3kufax<_%yoDhRl3>offa#{z^2J>qW zMt!DJnf3?n}LU5p_6PBG2q`NaFwvHm*9~PiaA~Bo95g>qkNJfzrfV|*E zXF2Itc`-q$5RWtx`7w(x#rBpBcZIr%FbcUxoHxbv@YYDP^DBLqj_zXEfCAbe%2 z=0`J9Sw2)4m|se@Y{_5vGz0|l-7mAZ`c0(FT}J2<4r}koYLS@O*Guc=mAF>KgCAs; zY?Yh(s+o{#mJjn6Ubm2~Q&Uqml7n|Ex+w5Ohi{}8J_u8K=lJh4vA8Dm|DUZ4z zORx46o;8vtXfshjy*8s>eBOQRQB~ravOsxETXAN;bCL5Qiz^avHOU^fUtV)+T)2zw z^S;^#LF8eBQ%9fNr7OTToE>pTI!?z~$fp7T3GzQ1{qpmv;?Rkww=9y0j6^<#gnbga z)-7{q<~8&bW8uVzfL9g>J>Y}7`H!h}@>RI*qc)t{f{vH3-VMcbr~oQNo<|vuL7+eZ z98-M^`!O+8GpPgw$e~>S7=<>kOLrG^_bj=J-Q*b*F9R62`V4WhovsEVKqe=i0NHym zWxH&XK3&@=pBozJf=fWP$g<~~Kq_;6}2_^nG=3WBlRK261kkG2Y zfTS1%?|vN=-JSw_;%XS;Is9~5TU+^UMd`Ss6vN21c+CE&5*^b;!Iv9)kmkVz*1eo+ zL5i>~j71nREh`0X2zu|xURYh^KX`X~_=Tvf|0{=;%jeo?r3-{B!*!9W$Ln9n8_$r_ zE?Z^WCrf(b zn?4q*8amS|Hvpa?LmS;Q4nw0BS7IroGaO)*|FeGU4gY{huhBcm7Nh$&t!VA1>!HIf z)L}Y>TA84^F$t@UOe%mP%MoRhpsFSM#UtzqHc*Zec@9kU{xLlzds4 zqE3?j&&8@R;!jho#7VgeY>dHZ{Ak-YA67O%+`%tZO?g8z1~8{7-~PB)PdRAnmrs=O z4_e?1khH)@10=0!z=P<|T3MhB7%YT_P^_#;fokIdFP4cD+DT_T`Wgvp zC$Q5dwLTG*wp=`DVsXUbHc8n~dRi8@_>Db<=9-A-I;Uu<*j;fa_sm!yh2O0AmmJDt zA1hBq>P~(Jcj9Ly%n3D|kvOd+|X6%8_qFZ+U}NKtN+c!w*mbqMdJ*zxxEsq6vXkqMN-?Bm(F3$xb!>;@=2w)8y}^S?T}x(P=6-9K6Z^evud_`QrM zQY^L_=iN%FqECl589-aC33!RgH~O4SaaWDuWk==ba4S}dNT@BloOrUPO_ zhLfy6?UwXIVZsc5ZTa7fpRjA6D}+1r^tZJ2Z^3aWe*t} z_k3F#oYz#q?na0ZiS{RPjFvX6YT;8X28AB@r zl{YW<@4oS8&B%+ED@|TxE?9vQs%-a8+X68|%9eS;`6A$R>}M= zDU4qt5eIKFeIAReonX=cVM9VTC^l2PIZBxZOC?wP;9Wsb4*9$b5my*5MKbr@dI!aW z1=_nRecIeK@oL2i2vwzUdt>vyU&&jdD<0O%j72sff$}=mNMwH$vDui}Ee;KwcpGiS z-OaZ$$Afa`9BRp;@Vo`Epj}yP_Xy!A`gmBeW4ZI|Yka&vX~dj-wwBue?{6#p%W0qs;}}jCU`cg?W}MPL;MG&rA!AFxi!** z?o-rn=&&k`Zp9er>Ll5;{%lPX|LIMg z2U-!v{2+eve7$7cwPu+f~R=+kAKwgo0m^) z!gmM}s6w{K^5xf^MAd||-_`ul&ob_wou203o^k0)9<@85gd5tbL>vbgT6wv7IwH1x z*JV3OOoW#&6=Q=eyP>m%6%K8v^b#h9OR!j`#{cobtwkeYt3OBJEg*$p|4S?OmiDoN zN|a<=7w5hFxFv1l6b|@x+n~2HI9jl|WEnNw0nZpjW!OWtduo080sOd{g;a#9inci^ zKrTQ}TeJJnt;s=1xtkq;Fp}*B=oVA3W{D+!?uW&N?`nn*qch+j0VVb8eC0Mr;^%YB z8-oH$dU`_wp396Bt9(pO*9qpaEAC>!-@Y^qEGV$cpuyF(*Nak4i^I`QH6gct zNko|Ft-*!)ur4BUg;m4ciEWkpa=% z$*|Yn>#O6}-jgj(eJZkl0S>alu&r3QdV+k{S30>-t_Q^#G?0|xrt%HCdGL*Go1C4M zO)@B&pL!Kqq&8yC#^`Qc4-&y^vBdMaLI^{L)99#9fFGKvvAqpC#O19Pj|~H25|WA; zj>rvb3Pt%7HCvo}37_afXbAJlYbp1+_C*bBJr_JTq`wdJ?^?)r2zyalDWQx5yHK>P zf+JCb>SKyrsa^fOu|IY5X#JZuWZ_enO5%u@8|$&a^B($x?NN*=602p=9oyOGr zZl~9R>eTK%`Y63E2VX^)>0km^AA_1Hy#!7;5PyKP7Zj1W-23etsmoQY=*5gYpS_u(iRk(EGjO;WM~h|ASo1Tfjs%!w;YrETzA}L9T2T$Uop< zWrYC`8#-?-^1Jt zXA4cM<0E@r9=#xrDzogG5A0hCoVMe4$?Ci`nZBhTDDpZ5JJ*I*m9wkyI6wNm{XUoU z$-x-PXPwj2{5g4kT&!B*req*%d8zz1tC?ihqUWK$K2BL>5HI1YGDS9QA~!ehHDGuw zSG{EVqmG+%K9bX&BJl76a}%;TRNy)e2;Z7+SSnz-;0E!V(N;Ofe=F;q)aox=c;wMV z4xj)-nVir=zGjc;@aI*W!MM$hPQeG)74d=5LEMEemi*8no;yv3s;B#rnYLOr7(ako z)NTQw(GIwK=;>D?ei^@hMWuHpQ_8r!(p1*oVzWXv$Xkp2_yex4R5-WUVHZ+v4UnZ*0<` zbfBrY_y)B6CEN!?!f?|tEx2)(8T*>7y242&oo1VFO-@V{hILupQ`(nUHBI1T9}vw; zqF9tUY(3SMYi5jDfg(|RJ3H>@J=BH{-^I2Bpjd`kRO0~vjQj~@ygB4jG1ep~%fI~{ zIYQ#!J#2kq=g)+usFvat*`Ll$dN2WLoZ9Q?ByMX0U&J&1kbK5>n>sYQ*A@(ujaek? zd;2zusw=SBo7NLd9og92-1J~XzrrNFv;|3O%-3JRhY!AKj?($L@`o5wLd>;1`=aV-aqna-*WW zRYTOomc#mU%axbITr*bOvgA2XcDm;-X6M+Tfu!nkz3RQs z{*xc|Sg)7sc#+5$U%U~EuP$hqgzMGC5$qg}d#h}W?ZoK)U&i4hTN8Tce&#AjGav0> z1;^=C7#MyIjH;t`r|QqLe8~a5yuZN&V=xet0f&cx6_LwuwaowxBy->>K$)?(@)cyeGgZ zAs%y2>!P(*4*RcU^N-Ako{Cm16ZA>|+cUZ$_DcLGO6n(Fptu3sv8Aqla_`cfD%3C+ zwYSUpt$oc?YBDWK`i5FuL{HS7?#0DLI-S``!eBSn@kFKGyWClDOEONeBfZO0IOxh~ zobcZpE81)z1WozRdQ9GWP^t$;2XP<~a2Jx!e<#&e9*u6Kqk-|8L?mFaV~QnV5WA+H1@L*iWgR%al#(s2(qlaZ37R!Q#8P1>e;rTaRIU zY35r9RjLJ5D*YyIS?H>JAcFC@5=&W$KdVv1^T^16y*I_avt%+}v*;639E8TLHde@C zp3qkOTC;VHx|FS(v+rT+&6=3K z8jzsUz^Zj@=ne7?8*#Bnjq-W%uQsO#GFK5tACKC+p#?U=TRPIDg4AqM_@+z<+R?^` zE&-7{tCj14uctJY$IIp{mrs*4!%;iT(%wjPS`pZJhSc+!MFeAF&>{YU;Hx3UhK^5g z>;$4c{ON3`1;&E>yI4I+Meyc9OBEo@H>(x^a_2Br)04x|=lVvK(`8ion%`)^(Tga4 z((5kEMiLQ9_$B;#`lb1ejiHNw*&S*L)cTEURIBP)!=;4#_L{wJdYvcmD~wV-`QYGp zbcbw$<>hAN5=nu_6{OwjVCoy~Z5s7N{M;q~FYrhG5J{J1+!EY}lwgK?4l?5zK#1Rf z#*H8N!Et)(No{(9%}M7_=4}=hW@cGPN=P+*_@L(~Mh}a5FNf)s#h~j0z}JM021wA! z&>y`9I04urw|vkoH3i;F9q4&0z!qZCp;89RAe1DOA6E;xGqNXKDSqUOVI~g(xK1%L zOp)!?|0C%tprTyU@X#G1ASod#0#XtKf^)gR5D<_q zDe0ElcieN_d-m*ljhXNN{`Y+{zU!l59Q1-gNR+v))_A1NI}v1^ z9=JmN{q+RNt4|Den%G7aBk0t%UK^-#2|=e62GQrOi+)SvbW}18Wm!<@Ctxn)cy1yh zYo&=o5t9%vbTD1uOB;@zU&lb+%#{uP?XrVKO65VK0KFp&6Tw_1=rjr8mK~C_+44`@ zZDyx}jprLq3S4OjE8@Htq(cJE-HbDzoBi;%eOiukz)kKX+Rfk?IiSxk$qgs8#513%FVFiTPkTY@dyQ)zhJE)G{OgIv~0h?(RQZBH+7$Pv$K< zlQStVh(AeVV~Me5b18P%Y)#%=HFhn+B`%2aeiyzJHN+cttIo>1OJb*aD`8WvUjenq zbNRM{JN;H@>qe~tv*uUBny|s4tA`iocy#@YqGEO;f8q-Zm)`81G)|=<91G%H3gCP? z#nfL{oS_)_&Y({V!P#PXo&IzSrkbM^cc~}1dv*-p&@HVZIluE9LK(RcB z#ALA5ffw$P+bpiB(F zKTJo4?|zmFT-p<~DcViv`Y=r+`K(KkLMue9DI3UG*(&ga{Bf8 zbLcNyffc>xU8+Mc$b>+~gwA{{p=vCvw+V{HWfer^`RV`9_nSzH8chJTmOQ)LJ0DaXH=|F*c>`NT1tL($35D4^h<6P{OC7;i|xPY|5p z%SVgM%$0Y+7{{Pz>`x1QIW$-0#e&%EIB7yg_%$nZp^*drX`xg4f}PpNfTrtJ#?(&8 z&2_@|Y(MVGc|;?Bb+cCJvkB_QayXK6ynTdWH(`i==CT#!_px)Sy+oE{??9_$x1gk? zB;A7M?4$9^5%iS#ff3%=Qeu(d33#vX3KlNH%)J75L_BsnuaOzMk6SZBi=xkAUc~hu z=x{v{#}%aHn^qjXR4#Oc?O0SPsWiRlF4SjmIgM53;UCdnxeac17R?Uc`8Vo0YUxF< zOLfbxn2avjR7X9pSF!&{2ka6wq}-`Ad_)8)dJG}g;jJ1beFR4d_K;8P&*5q56Rsn@iHDTZmC zh@MOrLT0zW`>T8RUaNSUn=|LJf2{`pR5cLYHt9v3Gz&>=SEL)$`VbC0O)~f_Ra_5u zJjH;;0s4lzYWxp`D2WT)yI0V?u=5!L;+mkPdlg1gd8nLh1I6Vk$fL%07P?n&B#2@5 zRt-RcJP^0WzB`?Dv%y5UPk;5MCprhT{D{-j5daD%=KjTLtQWY$XjHL^EF@z>L$}}5 zGQJGLYL`Mruzs->B#DiSm)6lCCMK;*Aq{BZ*)%SVj(uE%_1=~6h4qYu1?k?BGl9WV zm0Nv#Uuow2W}J2W#cn^I0fYvvwL;_X1uZ-D|K8>(ws74t0_7?DXIs-x{v{GZG}vdT zmR9;NNhx8iz3Eqki^p#&(u{m|@WVl)-hF3qNac^%oeV!{ds*uUP2X4z<)@@4oN>$_ zRUQk;-D}EqZaF-)H^ZxCsY(cw#sH{X`lI2&=rce9!^6XUeL-14 zSF9(6LKen~Qy;SbCMq7agNl^+jXDF4%>&aH>SzsVYc^Ux82uR+_Zcrp5Vy&uW2)e2@UJW=J9UAcRtZ{0`ZADhb7yu4!S?;f_CCTf z6XOc4-A6;XyK2~!_CjC0**)={-|1#jH*+178w5qO-KwkM11L9xxFO(4bj0G34ijoh zNy8+qi<$Sf}2z6MWi)w+@6+oph^Pkd zZEZ|RsUGFDui~aho@XMg*s=mq^VmuM0eIMS9B`4-0%9|y|DLc!^ikuoI9$q=jzbCI zOvr79i{;BRB9Jlv>(2#&lV5~llCd)3vg?T8^Ddgkey-m3^P`yr=;P>rc}{6(YMB)+ zZ!CST@ODIx&c4LDZL?#3Z`p^@l}%PX5!#6Y-hyL>F3!@{*4El#n9=A~a@%*|sYneZ zahGvA4Gk6pZnrHEtOQHX3BJo?Ws2lxO8!Q?q(M4cTXrVajWg4ieRJjhcDQWjlpj93 zq=)O45JY~|JZ$@O44(A&9+w!W!(*=u*i-jbRoup4D%XHBNOrJzD zz`R(Q;CEDvJD^2Kz0R3YAflLDMXIeTNcID-|errC>SiuRbgwTBg*-P+mTP$kzGh3Nv@j#6evnTxl0t10il9kfV+*^Tp zY5UI~2XzI7?l7>nyTFwk@nd!W0t_El;az?LoaTI{i&9cC@HT8prHh4lVyhZ8kZ}Z} z(k+lrBheW^>u|e{BuHEwcY(TS8@_p{8GOo-O3`5stQY|a-FJyk42yp$F)_a^?L8uh zMQLExF7PDJu3^?sdUI%weUs|t_x(kFd){g-`EGO}g^6|~)XHL(&!bVn1nYl^##fk9|F*VLxN z&4>mcK~HSXP?c|aIW2y?Cvkc&6X`|)q28BQw*2}}$)n^kHsj57b-2Fq%sNRN+{qMm zCWd(9fZ$&4dYWjiljr%8fjD9Js@2-;yQ;Xvpa;GV+yEdy?aOtJnt_)S*u{YI(qR9f zoV}MSy`8;aP3RXPiDU;@w~Y04odxNR03$T?zq}0)2Q46)pQ)%IgQ)0OpVFtH^Jhfv zc}}@xnFi0SM24ixbQMbUrQaFLR}Z2RB0QHTtNWsAi$oCJIX5;%UbThn^@wK^vl~%$ znK2Gsd&?c2y4Q}m$Q&?Lfpe6`mWZem6il<0NhK)e3JD5Prid*HO1>RmjTi8j{qWDk zlNzp1x9+T|T+R-3d{Oy*zZ)21i3bm+A$P=ap(Rep6#F0bEysHmniFg@ibO_7M~?un zbZgKpYnoeqlheEc2?AL#o2IMWvX;}-Hb_f_EMqSloA6&XsjpuO}1b#)l!6v=dn+lBZag+4EEyy?{2QH zmM|hw%&baUZwGBdp@P*G?ri8h5xf4zvK+8Va|3GFQgdqc+R7NA)J&Si%s$H{9`v9f z%YuKRki@-J2t+9PSCJ>%kHeb&klqaKfivt44SW9$t^S#voehUzBdk@|zc75{aKG%e z?%*|y<%4#MB@v3x&J4eir1ywBj7?3sfk`a_cnpTV(Q^Py57BABf48@J4_pUm4cM_N8Plj*K)x<^P!H-upD96jpP%#8- z(sQ11EyW7gooPa3r$}2v8-}S-@mQxv^OvV(E$zd91Rm`84Y#y5jyhy6Dg{>`qhLGd# z@_@-GLmrCenu+U`Vzv%D!GX7<8m8R&x+Sdw>6LfsDM)aIb+5U%Fd#d=%$rv8t+}_k z-#D5+5$zQ~1>7&cw}GmaqJ0%-Sx9W417qR#EEZYS?d-Adb_e0#kvtx*ZdnZDjY~n^ zy^VXbc{1HV%NhRv#EPL$?DA(i(HD;@MjyUb`CS6m#vOew_b3Y*Jy47#aNWIINZg@_ zsmR;4uUmF=Y0pap999tL0GjU{AFk_}2-tq00-?vIx{Nqu_9BN&nqr{FQA7Fl%JBN2 z_L=2RmpDzaVI0s5bioFeS88YR{P}ZdJ39_TF6w&-{ydFHj_7=DZtfqzldn5NKgw9m zhA@WryAcd*c!BcZ3_%F?#F3`eGA#(=H&rR21K6MKv~@o z_#S=iKmMAoudja(W=+r^sdnFJdZb*E&z=MqZ}~c5VG0!AoNaG!YdbkPokMVDd=p@+ zFCZ;cmo;8xW&Kf?$eW7A$xrem7|TM%Y&RI98Z^HNK1}tT`RLevUyWdvA@fn71|nW> z(l$hy^3l)`C^_kcpMADU5RaYul=Ioq=@SXu{egO9%&`|b20WNOrfj0GRV34>hV50! zD~dXWRN2!BIg~gfR<1Lgu|Cusg%G{k^-@{_FlKQs>86j z(d+b3=7v$tWOZd`%jLjahZWrS@8k;xg)Sy+7jB}p?K_R+WFR4%MUo1u4uQ+By54xR z8DtnCP;LwTNk+(JBl@_mfw3`t!a(lc=PSb{k4mi#qM;6S0a?XKrVbFCExgzT=nn2k zWMc&MeK_&%zNM6un+L*5-YW!@Wave`{(6_x-xzBH_{#&>34KQoA!%#WWyJ0P-%5p+ zhGq=f=6DQ^jVB>EdlBTSpy+@wm9d&rlo}fax@9jXC*Zrp3-IH+F~WvW#nrLiL)15A z>ry?AjlyO6<$*0G6Zy6L!7Y%7EdTyJ45w2cWF*}K0|PzbB=n^2Zf=Ywrl#43rlx&* z9H|X@yx*WicUQU$OzvyQzGD*MNnSUo9QoXQaZu6Qa$wX_=q*m9&-3J1>HDc2e;8PUPrNV5@~Go%RQ!9lP&LBo`7DF zqlAU1+c{`e@Lj+x=5H{a;Dfzl(veRuDM|TBc64suCXy6_zDNAAmqEw~16#QdBf+Kw z3pOa3z+^*)-S{Kk<3+=bsx(WLP;x*EfkwXccQ4^&jgrqVh+1Z%CH!wF7|63z%5zc6 zA?e^%xP9;5@+2$>zcXb<1kP5PPq(K6&bil$g5=9^dTa8YiX!o1ZYFoBj?VD5SfGxh ztlp@d??Z07LAXYL2~r~pG~DXhMlS59&Jqb~o!@6?XZp92U&Cv2I!n1Q92`?N zH1ZP5VwMx`lQkQ~)&@_zo%sdTZV~hh7@L^$xy=*jfm7 zyxU(L@?2|LSiPPtW@2XEM=kN*!N>TfO9bUj9e^tA*tZwcpdz|4Klm25yJw9j zs!pGKdhi(%SSbi2AV1ME3dyFk(}2^lWa{%gLk+G6H%}Ue0vA?R%r0m(Y67QnO2`#+5Xkq)Mh|1L} zd8=h@K%}`Rg>Qjq6?qfOM~Hx%9)6|2ySvZ-?5_^3Itbl|L!tBIE6RA5KXZ9;bOY*H0w&B#wDX<3dW~#3QVr##FwaW6^tkC;F*Lr6 ztQap3Q=ocGLx&s$+rsu)Sx{WK9M1YhQS{FmuRPpyspKM(kqN0xClN?j4Q*#JcJ8D? z1UmUIPoR4>`NRaUv)Y&bDppC zb)#^*v@f@8{;D`0m~2|ZXKU029KbDPt2b@aQp9|J@8PBr#>{ckU~sU|MGB!@fk z@g%VUQ=$Woxr{C`mlM>m1^QfnU4W4RZ3XDVYo1L-!!|Psxk49ipqoUUEWP~n`dXKT zKnAbTE$N1dvsiEU2Xm903#8Zo5T))LPvHf&x=^0C#v0|)6NZ68D^c-H-kNCLf@q6s z$2KFf_Uq9f0p9NClZID2b+qn%qkgQ4qbGpEtW~02cyW_9&gN?WpYfru?(X0Fc({fE zIj!ch*YQ)Nhbwq~0DT23;mglAzC}Qd(c#%yqw1Y^KHAq=ubW=qSdMZK@&Q$}c>-5& z3;+H5K0~mQAav>g znIYp>YXt$+oHjejXgSH)fQc)S3<_eOLzE(wJctifG!l@@W$e<+ zn9H2eH=mpa_4B;pJ`$n)aV0@c)1e_Nw_a9UhZ&FVCG$9Tan0;!;+{luqDL5@yiV}BKb<|-uOX4sF|UiF zK(v3^XCNjd?-P3x7=nR%6{0&7ShSv-lre&FZO4R^@MZt`!s%xBwFgID#x5fx#|099 zomMticZ#oP3veOr4(J~2z3!i#KHcgta`K^{J}CE)Nzz+k$mE+L*kL4YX1z~{fWb`S zd{uo1U6hR;5!Tgy+8{y%McdY4*9L_{ajCcbUX$M1-}%f_)!pay3`t-9V`{qgnpgAN zr|G1tf`agVFT=!!%Op|JeDC*nm^9FMHfm*n1pxNqQqVLy?|p9x2IBM+sW8U;4tuoM z6z8(}tT|`j5AP$e z1MRYM;b5dftSAQ{+9&&Z(1eesAA9bxlWPV;esi&{`Bt{KpykYNp_JFDnN7`e2XOk1MKf5_nzNSN_uO9D(>J^pyd(-#oM9Vin;h1Q5IXC@>hTuc74 zs6M}QdRsWYu8gTkdaXhtitd_ShBuHHWgf3^i6Gm@8{*SFIw zz|-6af5@-U*YMyHDu|l4AdM-h%4z1o+2+;-chldsGMs}Ry;~IHrPs>H0)!$4nQr4F z@gIW|j=FPqo}Ud985`7Ih(wY`EWBb*jmCfTNbz&~Y-XD?&DsGj`lN$2dlp<)P|z(W zKnIL~&{OW6=<8p%~QX@1j?f5o?F<&Et)hr5eqHN=wXZa8R4n#1$UOk?Sw`GZyMQ zBDM=Fd~rV7U>PD~)5f1?VQ={$*l%ZQNo$nplzq2JCRkIy|93{7o`(@FF?>liAKrM~ z=~`f9_#Q+8sHv)c50}oX_Y}L(0RQk~6sl5BXQY=i_3O<}OK0ep@es)Pj=yY-;hRS* zf5(lz5d2IZ0d|CUl?|NFRYkTco}7LOkJ;9s-^a&w5BT}>zf_&+YF5&u;E=G=G}Um$ zjI6ss=*xA`J!F%}r#no*#fkzodY6#nuYJ^e{YhPRN(unV;$&H2+}0j-L&jruJCl<} z@CgXO$G3KL%QNr!e-+f^(q~99}dV^_^!yb#PC!b5>ic$LLHn-(BJ@C_h=~zxdOS z`n&)1tkdia2QBzQlw-kmy^|GiPKtkXWn;BdhD z|NRQfXP!f2fPoVN&aBRkyCqpyoBHD~a{)c{7`N^29 zS*$k4lEU9GJ{T0uX~HYC*rI>SEe1S&N>He!gn#XLRFO4t`;$IIlgzz-lD#uh3zJOw zr%h2vhQLet!2n%D4niR%UzAW0QY@6Q_faE7KNI3z<^?SZh6`++J({ivuWh18m6D{a zX&Z`Iv(_aA=pv{IgOvFr7vDK@+o_5@3Bj=W7_JNm8t*Jp=&@3`N>9TVe3ayf;Gd}$ zrpx^>9&;NDj66@`TP|lr>cv`D)G*{*k#?PyB@Q&WPV^Tr%2cB@5lkHTizort|K>uXJbf`L9X8io%>GcS!!s z)G`H}&0NxK`7YnrQ;Itzb7)=CGmc09f0I7_O^Cn@r)FA+#Q-W8st$95dSeth_aM{< z*vKHX(-cIdU4V$4Ke*bCx<=Z7qWqcVm~h*SBh@_p79jKFgkidV7kh}pVZG~wKazo! zdXOVg5S54A1SJtTfM*h~^r--USEQQpLb(tHQdM(kQ`pltwkjR5i=sy8t@TYv3TuUakgBz z2FX)&r1S1Ev)_h}kMb`WHlL{VeqLO}wku?%tcVCbHEB*F*_CYEY=&8iOk$rLg0)@6 zLqU$m@+^UHN40;-h9cE4Ps0`}GV-5I2stTS0*v=W0qwfF7HnQ5Ibg%pYYC&X;Jtg* z#p{2y*eOLp?7}9eX`8!4`Xm-SF?IjUFPBb30`*VRL8MDT7{)MBV-!lx&5BxgmJcD* z>2^k&3c)TjQuX#dU_Wm+lmHwA4Kg&gzZ!?i2C{;|6*Lk7L0~sQJv#z~hOIzDDg6%6 z4(x?AjEo05E~Z5IbbM`w2pt`eS!lk~1vw(Q{{K+4zs=7 zm6Mo0%(p~+dc<_n2#ucfaD6tyYU{eV7q5&`zR=o-OZ;f=8e-mKxoG%iA3!%kI#9n5jNN z&vCRk^M%%run{AWeD+?>3Gv0!x>@(#+R0##=DjRvqW`#r8p$kgoL4?OzF=CIZ3_XH zFigPRPb5wa05WiO^O!5;tdRE5y9Vlw_fPt-=eUE3N-bL~3jSQceL_f|)ExfqV!s>) z#mu`AuoV%4`VMfS|)ity_Xf+H#b=TZw4QWKL)DOK)>Gju#hh-`G$4} zRNR9U>%ILbH>%GWmd(otknf5*KNtn;{992{<(s@VQo4^HKWDTZ=6psipVTIf<$f{6`;+*qYd_Nbo4?7N>5@!f?bF%CAaxxA0Mk0z^kXsj-%T!@1OE-$C(o z;U!(WIWZCwqL@+2cM4K|wJS2Wr%QA@HAys%*zxsN5nDK9zcc4j3;~fE*yADDk*Mft zJbk!xR|3-Gl;vB0f5wjI*=u+`ZvkQQhA^zXPmxXf-s@PHuc%HbODP61-d^6P zhJXvMd-n&w8iPd8?dyJ%W_y-dJym~P_Cw^hr5?1@{nx*Qz>nOVgHFnej~{Es4wsta zgY9*b*#6VH0}I1FeiI1m13h5uZ1{`6lq3XUkJ$?;;V1hKRRBpm57M5fElJ4x=;di) zfL4lZ3u0dG;c(fVyXYk8=!Y@vR79q?pWw2x>)Zbhqaf_V7^;$FBgoUBNz|ttH@?mK zp8c_^Tf!hGgU3f#liNw;6}cH5g=Ah$xUck%=BQ~qoDjdKy+hoDgMz708q#?s>1DAv zn99~;u|Ay1fg$&zlw&FE7N6HYx%M(G2Z}x4nw(9*=t_pB+$!j>N#@M8$+imyo82mJ z<@Lhy180OUW$e zyeB6fQX+>>tIkF-1F1rLunE%n{#|`D371LVjER4S2h}JTvqh!KR zEQ;K4R}GFJQBt-#ig4Ma);mG}eJy7tT{ay~309;`FU>XNwm3ax978r

{F;l=-Ri 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 z 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

#^i!zR2!%70?? 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

pt^g-J(L$?+ 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�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 literal 0 HcmV?d00001 diff --git a/depends-data/video.png b/depends-data/video.png new file mode 100644 index 0000000000000000000000000000000000000000..84176b2d99ec02b7cdcbba455339ab32509c1e2b GIT binary patch literal 63149 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

hgqsRv6iguD}@n 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%0D~# VU|w(ap{Wc&;OXk;vd$@?2>^$K_C5dr literal 0 HcmV?d00001 From 60116822564d5e753fe8924b3d47cdb58274ae26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A2=A8=E6=A2=93=E6=9F=92?= <1787882683@qq.com> Date: Thu, 10 Apr 2025 22:31:22 +0800 Subject: [PATCH 02/43] =?UTF-8?q?=E6=9B=B4=E6=96=B0README=EF=BC=8C?= =?UTF-8?q?=E5=92=8CDev=E5=88=86=E6=94=AF=E4=BF=9D=E6=8C=81=E4=B8=80?= =?UTF-8?q?=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 160 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 90 insertions(+), 70 deletions(-) diff --git a/README.md b/README.md index fa97fec14..46e1fb77d 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,66 @@ # 麦麦!MaiCore-MaiMBot (编辑中) +
+

+ +

+ + Logo + +
+ + 画师:略nd + + +

MaiBot(麦麦)

+

+ 一款专注于 群组聊天 的赛博网友 +
+ 探索本项目的文档 » +
+
+ + 报告Bug + · + 提出新特性 +

+ +

## 新版0.6.0部署前先阅读:https://docs.mai-mai.org/manual/usage/mmc_q_a -
- -![Python Version](https://img.shields.io/badge/Python-3.9+-blue) -![License](https://img.shields.io/github/license/SengokuCola/MaiMBot) -![Status](https://img.shields.io/badge/状态-开发中-yellow) - -
## 📝 项目简介 **🍔MaiCore是一个基于大语言模型的可交互智能体** -- LLM 提供对话能力 -- 动态Prompt构建器 -- 实时的思维系统 -- MongoDB 提供数据持久化支持 -- 可扩展,可支持多种平台和多种功能 + +- 💭 **智能对话系统**:基于LLM的自然语言交互 +- 🤔 **实时思维系统**:模拟人类思考过程 +- 💝 **情感表达系统**:丰富的表情包和情绪表达 +- 🧠 **持久记忆系统**:基于MongoDB的长期记忆存储 +- 🔄 **动态人格系统**:自适应的性格特征 + + + + +### 📢 版本信息 **最新版本: v0.6.0** ([查看更新日志](changelogs/changelog.md)) > [!WARNING] @@ -28,19 +70,12 @@ > 次版本MaiBot将基于MaiCore运行,不再依赖于nonebot相关组件运行。 > MaiBot将通过nonebot的插件与nonebot建立联系,然后nonebot与QQ建立联系,实现MaiBot与QQ的交互 -**分支介绍:** -- main 稳定版本 -- dev 开发版(不知道什么意思就别下) -- classical 0.6.0以前的版本 +**分支说明:** +- `main`: 稳定发布版本 +- `dev`: 开发测试版本(不知道什么意思就别下) +- `classical`: 0.6.0之前的版本 - > [!WARNING] > - 项目处于活跃开发阶段,代码可能随时更改 @@ -49,6 +84,12 @@ > - 由于持续迭代,可能存在一些已知或未知的bug > - 由于开发中,可能消耗较多token +### ⚠️ 重要提示 + +- 升级到v0.6.0版本前请务必阅读:[升级指南](https://docs.mai-mai.org/manual/usage/mmc_q_a) +- 本版本基于MaiCore重构,通过nonebot插件与QQ平台交互 +- 项目处于活跃开发阶段,功能和API可能随时调整 + ### 💬交流群(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 - [五群](https://qm.qq.com/q/JxvHZnxyec) 1022489779 - [一群](https://qm.qq.com/q/VQ3XZrWgMs) 766798517 【已满】 @@ -72,55 +113,35 @@ ## 🎯 功能介绍 -### 💬 聊天功能 -- 提供思维流(心流)聊天和推理聊天两种对话逻辑 -- 支持关键词检索主动发言:对消息的话题topic进行识别,如果检测到麦麦存储过的话题就会主动进行发言 -- 支持bot名字呼唤发言:检测到"麦麦"会主动发言,可配置 -- 支持多模型,多厂商自定义配置 -- 动态的prompt构建器,更拟人 -- 支持图片,转发消息,回复消息的识别 -- 支持私聊功能,可使用PFC模式的有目的多轮对话(实验性) +| 模块 | 主要功能 | 特点 | +|------|---------|------| +| 💬 聊天系统 | • 思维流/推理聊天
• 关键词主动发言
• 多模型支持
• 动态prompt构建
• 私聊功能(PFC) | 拟人化交互 | +| 🧠 思维流系统 | • 实时思考生成
• 自动启停机制
• 日程系统联动 | 智能化决策 | +| 🧠 记忆系统 2.0 | • 优化记忆抽取
• 海马体记忆机制
• 聊天记录概括 | 持久化记忆 | +| 😊 表情包系统 | • 情绪匹配发送
• GIF支持
• 自动收集与审查 | 丰富表达 | +| 📅 日程系统 | • 动态日程生成
• 自定义想象力
• 思维流联动 | 智能规划 | +| 👥 关系系统 2.0 | • 关系管理优化
• 丰富接口支持
• 个性化交互 | 深度社交 | +| 📊 统计系统 | • 使用数据统计
• LLM调用记录
• 实时控制台显示 | 数据可视 | +| 🔧 系统功能 | • 优雅关闭机制
• 自动数据保存
• 异常处理完善 | 稳定可靠 | -### 🧠 思维流系统 -- 思维流能够在回复前后进行思考,生成实时想法 -- 思维流自动启停机制,提升资源利用效率 -- 思维流与日程系统联动,实现动态日程生成 +## 📐 项目架构 -### 🧠 记忆系统 2.0 -- 优化记忆抽取策略和prompt结构 -- 改进海马体记忆提取机制,提升自然度 -- 对聊天记录进行概括存储,在需要时调用 +```mermaid +graph TD + A[MaiCore] --> B[对话系统] + A --> C[思维流系统] + A --> D[记忆系统] + A --> E[情感系统] + B --> F[多模型支持] + B --> G[动态Prompt] + C --> H[实时思考] + C --> I[日程联动] + D --> J[记忆存储] + D --> K[记忆检索] + E --> L[表情管理] + E --> M[情绪识别] +``` -### 😊 表情包系统 -- 支持根据发言内容发送对应情绪的表情包 -- 支持识别和处理gif表情包 -- 会自动偷群友的表情包 -- 表情包审查功能 -- 表情包文件完整性自动检查 -- 自动清理缓存图片 - -### 📅 日程系统 -- 动态更新的日程生成 -- 可自定义想象力程度 -- 与聊天情况交互(思维流模式下) - -### 👥 关系系统 2.0 -- 优化关系管理系统,适用于新版本 -- 提供更丰富的关系接口 -- 针对每个用户创建"关系",实现个性化回复 - -### 📊 统计系统 -- 详细的使用数据统计 -- LLM调用统计 -- 在控制台显示统计信息 - -### 🔧 系统功能 -- 支持优雅的shutdown机制 -- 自动保存功能,定期保存聊天记录和关系数据 -- 完善的异常处理机制 -- 可自定义时区设置 -- 优化的日志输出格式 -- 配置自动更新功能 ## 开发计划TODO:LIST @@ -157,7 +178,6 @@ MaiCore是一个开源项目,我们非常欢迎你的参与。你的贡献, ## 致谢 -- [nonebot2](https://github.com/nonebot/nonebot2): 跨平台 Python 异步聊天机器人框架 - [NapCat](https://github.com/NapNeko/NapCatQQ): 现代化的基于 NTQQ 的 Bot 协议端实现 ### 贡献者 From 9de1e69921acee83442c78b13a0d797a8644dc8b Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Mon, 14 Apr 2025 23:08:59 +0800 Subject: [PATCH 03/43] =?UTF-8?q?Revert=20"=E6=9B=B4=E6=96=B0README?= =?UTF-8?q?=EF=BC=8C=E5=92=8CDev=E5=88=86=E6=94=AF=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E4=B8=80=E8=87=B4"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 60116822564d5e753fe8924b3d47cdb58274ae26. --- README.md | 160 ++++++++++++++++++++++++------------------------------ 1 file changed, 70 insertions(+), 90 deletions(-) diff --git a/README.md b/README.md index 46e1fb77d..fa97fec14 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,24 @@ # 麦麦!MaiCore-MaiMBot (编辑中) -
-
- - ![Python Version](https://img.shields.io/badge/Python-3.9+-blue) - ![License](https://img.shields.io/github/license/SengokuCola/MaiMBot?label=协议) - ![Status](https://img.shields.io/badge/状态-开发中-yellow) - ![Contributors](https://img.shields.io/github/contributors/MaiM-with-u/MaiBot.svg?style=flat&label=贡献者) - ![forks](https://img.shields.io/github/forks/MaiM-with-u/MaiBot.svg?style=flat&label=分支数) - ![stars](https://img.shields.io/github/stars/MaiM-with-u/MaiBot?style=flat&label=星标数) - ![issues](https://img.shields.io/github/issues/MaiM-with-u/MaiBot) - -
- -

- - Logo - -
- - 画师:略nd - - -

MaiBot(麦麦)

-

- 一款专注于 群组聊天 的赛博网友 -
- 探索本项目的文档 » -
-
- - 报告Bug - · - 提出新特性 -

- -

## 新版0.6.0部署前先阅读:https://docs.mai-mai.org/manual/usage/mmc_q_a +
+ +![Python Version](https://img.shields.io/badge/Python-3.9+-blue) +![License](https://img.shields.io/github/license/SengokuCola/MaiMBot) +![Status](https://img.shields.io/badge/状态-开发中-yellow) + +
## 📝 项目简介 **🍔MaiCore是一个基于大语言模型的可交互智能体** - -- 💭 **智能对话系统**:基于LLM的自然语言交互 -- 🤔 **实时思维系统**:模拟人类思考过程 -- 💝 **情感表达系统**:丰富的表情包和情绪表达 -- 🧠 **持久记忆系统**:基于MongoDB的长期记忆存储 -- 🔄 **动态人格系统**:自适应的性格特征 - - - - -### 📢 版本信息 +- LLM 提供对话能力 +- 动态Prompt构建器 +- 实时的思维系统 +- MongoDB 提供数据持久化支持 +- 可扩展,可支持多种平台和多种功能 **最新版本: v0.6.0** ([查看更新日志](changelogs/changelog.md)) > [!WARNING] @@ -70,12 +28,19 @@ > 次版本MaiBot将基于MaiCore运行,不再依赖于nonebot相关组件运行。 > MaiBot将通过nonebot的插件与nonebot建立联系,然后nonebot与QQ建立联系,实现MaiBot与QQ的交互 -**分支说明:** -- `main`: 稳定发布版本 -- `dev`: 开发测试版本(不知道什么意思就别下) -- `classical`: 0.6.0之前的版本 +**分支介绍:** +- main 稳定版本 +- dev 开发版(不知道什么意思就别下) +- classical 0.6.0以前的版本 + > [!WARNING] > - 项目处于活跃开发阶段,代码可能随时更改 @@ -84,12 +49,6 @@ > - 由于持续迭代,可能存在一些已知或未知的bug > - 由于开发中,可能消耗较多token -### ⚠️ 重要提示 - -- 升级到v0.6.0版本前请务必阅读:[升级指南](https://docs.mai-mai.org/manual/usage/mmc_q_a) -- 本版本基于MaiCore重构,通过nonebot插件与QQ平台交互 -- 项目处于活跃开发阶段,功能和API可能随时调整 - ### 💬交流群(开发和建议相关讨论)不一定有空回复,会优先写文档和代码 - [五群](https://qm.qq.com/q/JxvHZnxyec) 1022489779 - [一群](https://qm.qq.com/q/VQ3XZrWgMs) 766798517 【已满】 @@ -113,35 +72,55 @@ ## 🎯 功能介绍 -| 模块 | 主要功能 | 特点 | -|------|---------|------| -| 💬 聊天系统 | • 思维流/推理聊天
• 关键词主动发言
• 多模型支持
• 动态prompt构建
• 私聊功能(PFC) | 拟人化交互 | -| 🧠 思维流系统 | • 实时思考生成
• 自动启停机制
• 日程系统联动 | 智能化决策 | -| 🧠 记忆系统 2.0 | • 优化记忆抽取
• 海马体记忆机制
• 聊天记录概括 | 持久化记忆 | -| 😊 表情包系统 | • 情绪匹配发送
• GIF支持
• 自动收集与审查 | 丰富表达 | -| 📅 日程系统 | • 动态日程生成
• 自定义想象力
• 思维流联动 | 智能规划 | -| 👥 关系系统 2.0 | • 关系管理优化
• 丰富接口支持
• 个性化交互 | 深度社交 | -| 📊 统计系统 | • 使用数据统计
• LLM调用记录
• 实时控制台显示 | 数据可视 | -| 🔧 系统功能 | • 优雅关闭机制
• 自动数据保存
• 异常处理完善 | 稳定可靠 | +### 💬 聊天功能 +- 提供思维流(心流)聊天和推理聊天两种对话逻辑 +- 支持关键词检索主动发言:对消息的话题topic进行识别,如果检测到麦麦存储过的话题就会主动进行发言 +- 支持bot名字呼唤发言:检测到"麦麦"会主动发言,可配置 +- 支持多模型,多厂商自定义配置 +- 动态的prompt构建器,更拟人 +- 支持图片,转发消息,回复消息的识别 +- 支持私聊功能,可使用PFC模式的有目的多轮对话(实验性) -## 📐 项目架构 +### 🧠 思维流系统 +- 思维流能够在回复前后进行思考,生成实时想法 +- 思维流自动启停机制,提升资源利用效率 +- 思维流与日程系统联动,实现动态日程生成 -```mermaid -graph TD - A[MaiCore] --> B[对话系统] - A --> C[思维流系统] - A --> D[记忆系统] - A --> E[情感系统] - B --> F[多模型支持] - B --> G[动态Prompt] - C --> H[实时思考] - C --> I[日程联动] - D --> J[记忆存储] - D --> K[记忆检索] - E --> L[表情管理] - E --> M[情绪识别] -``` +### 🧠 记忆系统 2.0 +- 优化记忆抽取策略和prompt结构 +- 改进海马体记忆提取机制,提升自然度 +- 对聊天记录进行概括存储,在需要时调用 +### 😊 表情包系统 +- 支持根据发言内容发送对应情绪的表情包 +- 支持识别和处理gif表情包 +- 会自动偷群友的表情包 +- 表情包审查功能 +- 表情包文件完整性自动检查 +- 自动清理缓存图片 + +### 📅 日程系统 +- 动态更新的日程生成 +- 可自定义想象力程度 +- 与聊天情况交互(思维流模式下) + +### 👥 关系系统 2.0 +- 优化关系管理系统,适用于新版本 +- 提供更丰富的关系接口 +- 针对每个用户创建"关系",实现个性化回复 + +### 📊 统计系统 +- 详细的使用数据统计 +- LLM调用统计 +- 在控制台显示统计信息 + +### 🔧 系统功能 +- 支持优雅的shutdown机制 +- 自动保存功能,定期保存聊天记录和关系数据 +- 完善的异常处理机制 +- 可自定义时区设置 +- 优化的日志输出格式 +- 配置自动更新功能 ## 开发计划TODO:LIST @@ -178,6 +157,7 @@ MaiCore是一个开源项目,我们非常欢迎你的参与。你的贡献, ## 致谢 +- [nonebot2](https://github.com/nonebot/nonebot2): 跨平台 Python 异步聊天机器人框架 - [NapCat](https://github.com/NapNeko/NapCatQQ): 现代化的基于 NTQQ 的 Bot 协议端实现 ### 贡献者 From 9959d36a976c1ec0b8dd871b971b3e5e8255036a Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Mon, 14 Apr 2025 23:09:04 +0800 Subject: [PATCH 04/43] =?UTF-8?q?Revert=20"=E4=B8=8A=E4=BC=A0=E8=A2=AB?= =?UTF-8?q?=E5=88=A0=E6=8E=89=E7=9A=84=E8=A7=86=E9=A2=91=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E5=92=8C=E9=BA=A6=E9=BA=A6=E7=9A=84=E7=AB=8B=E7=BB=98"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 002fe8a3b58427eb75309b295cd614e4dd8e4f73. --- depends-data/maimai.png | Bin 465565 -> 0 bytes depends-data/video.png | Bin 63149 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 depends-data/maimai.png delete mode 100644 depends-data/video.png diff --git a/depends-data/maimai.png b/depends-data/maimai.png deleted file mode 100644 index faccb856b925eba35bec09996f4a89317e422a33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 465565 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%0D_WPd8TXvGy2vCqR+p{G#+o0S|8dB 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�P*oCHF$|>_W@6eMebrd+J9_ zx;i?xecH`1ol5PM(vwe<{v?c94&PKgvYX3fFI+d(KiOOA z;7ow%TvJ0BdrrtEwIi=_@S40_%F>m+~opBeVF?`&cmw4=h5Fh=A-ceQc_ZmoL^{o$@E+ zh?1;`T2t!mv6k8HgQL2X<0jWwg`Zrjuvmyy5K3?vcccCkfK19TClEvcOmuW)qmh)6 z0l zk1fg4QnR#Q3z`xf%U~@lZ~$=~)+*SWpSAsx+)#VVCs{oRKGnjW6Lf_)hwE|3hv*$`}dn9?%DZ>}Ea^^&li+&H)Ka zh-oKC58bYN8v2SNOR^xuKA|$#L4TjO2bjfYb?BkR0eH?3Sz`=dX(Cw3Nq)%vjAPHU z=-dl=v>m%!)TSJH#9F*R=ZiU5TGHU~rK#q2GfXjmZV2rY4PN!W`-?A<+aE7SrcI~V zuJ(9IkQYIZO#Vqq|H_8~Y>QIuiiY7mvsdRZ9ti92t5X&5Sa$PP9QIJ=lq)0pkSA1=l``ydJ%NjA{D|9B{s%)xHz&-dX9G zv#mEH`yZGCcTmlp?4g+sTyxWDf!T8}-i*1-mC;k-evjhg@olQ(13{hQN@6UzU~ijG zvPF4a_t4x>nHa>4mp z;6M#Pp|nGFgZ})<@1o-39ch+%UE^6cP5#y9H`yG~SxJ9{a*TNolu>lbyz7i!Y1OML z`ThQDjmM@|wl8-ZXab=#wQ^IP^rKzO5f2NeQo=eaR@}7|N-&1_80l!G-Z*9K+xUI3 zQRN48d}vYs<~%!iR}#$J$#p$Tk4M_yX{>vv%ti@{B=DCFOvoZN7$X{ZbR$k^`TO|a z1O{%z;0eMQ9?s@Jl@}7nM&iWl4^y`^&fJpoKvR(YRL1$DYMazK4o_c8S+PNCp!UGS zd*D+CBZYm5rkeFq<$IUP_gFM7OWEmp{6RjjWZ&y?EbV9c%E);s&6 z>l*l}lX0G9=K~aZ`=S~(x~@C)j!ms}Y*tOx2(k+B(6L^vGLH--i@}cyy?+ziMhvN0_ow+Y7;fl)CjCuDZnr_2Q8lGUb zOfP;Oo)5U`_!V8oA6@J@Myuo~{acq+fbjS?^5%$)p=nl!7uBK1%8#>;-&PtC=juaq zEeF`xKkd?xhF^Y4X8&oC^U6*R-Mb}j+~j9ODVQrh)qR<8=KIt(lE>ZL!>(HSdCU=! zxm;_jn^&*t{nE)#T3>zEW|ZznN2q1ra?jv)?4JJ@E5WPY_pR*vyc7gAJ!VB zye^i~iSc=a?Xr%=CD8iE9}ix2bd^=>03aB+F27hl<@nw3Hfk*p##lxUfuoPO6o^p5 z++oS->5QP%Q;v0ioN!Sb*58W)7m>BYl9EXWB_zDo5RJA5&F$U>0S*i$WrzUom{G7O zvFgOr;rR;>cB9auVUiB*anmkop;`jSV&7qA#|yGK!oXcN(xY$$0U6jni3EW(t10W% zb#FamE+=b|VcYGSzs9XuP)N`Kz)3`u?Yl*ZACYjOWvu^sY~O#kYl{v^{kMln<*|VFN@NM|a7h;RrKF-e;iRnbUWOk7qeZLp$1(@f z6I>RS-75#$3YUwMA;>*1O%9SZ^M5|56vF$Xy&1K+1`Y_EjZg?{_I>vF7&nP+pO|9O z8$Vb<59YH1EDK+URD?(K!Uun*e-DHT6V5+T3P}+=FVDiOZyT4q#pgxX@uT9$BToQW z0%aF|!qE2@JLg5a7yEO?;r7M_fyFfF!xmC1`o262ek{zSLKl5QcK9?amh9G$?aU}t z$~tpWJ8hD{1M;swBTY0esUx!1T)ih--xaA#@$w?_!2FWE)ni3@*RtE_xb3>~7W%hY zk+O#56N&@*dgqW5UtAPPYyzAiurM1^K8uLdQ`-jxc{QhpDatXlt;1;>-?oqk7c+OG zVvZcd;y$w=MR^T(pEjx2xJiYX(3VzDDz}7>_U&isH+})!P0r=GpZjPk37Bx?MP6JK zq#lvm+E4QH^J`<6G6+k83Qp`5je-3wHeP$~y=`wdl#vUx+m`anaK8?1&VMTEtWAx9 z3(B|qQt0|KX#JcPf6mj+HbIpAy{)%gGG(0ycqL znE+ycz|k8;g*h*pWQcdjP|J%|Qd&la+@3<}Hw*goipNdgtqEEg)gTPQ`0U>-l{0a- zkLhp%avyG}k-8q4F$*+~xzz*cf&xXkL~wQ?iz z>H-HAR#vJ8S<^ZB^JsGR<1|~Ux#b4Gbq)e(Z?F`AzJ5dR1?o#~2yoS#$c-v@8fWET zqW<>dU3^~=S^px1bO_iT=m`)b^jtTUmFk6(ncAdKzoM(RnXAubL7K3Eb%e+;DNWYJ zR%NTG$wrnB5yzr!<|N!N00wBh@3A)7JR8ZSi5s~Dp?HoBJp};4Q~yE3@8aE3tyr?t zIOf8xui|W#cVr(S7@Ul2(b;B3tfIE$CO1n2mBUR8G^D5 z`!r;`@ZTB~x1Iv{xzHP9+-%8Ho8_pqvTfeGd57->ucuflmPgZ4RTpu%0Si&VdH+w4 zm8{ycx2+O0UtHVxjH%tUKzg00bkbInuO{b{aEE#UQU4gVYZP1s)!n!IW&eFt(M3rHm8VmGaM}0(zdGt%^_IQkT719>dh?}9&W#O4D6O~D+;ERzO%tw=%;k& z!X2;ahj3i-8JSOx3AYK}Qu{6CraE&&MvLxos>-YEc93!6c%=XQJPD-}|M462kTcli zBMh)k6o3j0WyQE?Xh8O-3=?>bWUi?;y>))F_;3`dwV2d@?hJZ}#NF0?aLN0zRtp=(IYz!L!z>wy$SEJO0hKSABAczGZ1wku_) zq`vdKO17l@n%?S_t)b|T8F_^IrSoqm%8lB{Eq0NE`1ldj4gDW{q?sA9y2*`J=cu#$ zm)n!r#;orDB?(G9*z*c#F_<27CNs!3%_d)JH)d@9#e{(xDk|KY|L+*(d@%K3kV_uJ zkq}Tlu7I9jgXUWiOilU+8~<%MbR+X64Ky#973J%+2rtL4RgmG?!evKq-!T4-CQ@<-4mu2jE!pj^=?kzBvu?x_n z8kFt`lByT@_yaY-w6$v9%!`~5i#HVF9AbG?lQOhvrKUa^_GKgReoYVTMWK}i zoQDM!t7#JROxByN_7%35)h1hM+^EL+N=!A_!7C{Ez{%my_T;cGj~%y(Hd^A`2#DiR z``^GjSv*kv;RyMxI5&C;6q=n5C)=coviKsyeeNbvOrS;IeD{iXbBkcFRO)GI4>Jl- zGiFWBy%q1%i6wi>b*x2wvc+jg=H&Q&m#zaDY+`!y%Es`T&8*(dgvaMzZ2MA6v1MXF(IKuG%OTWH~3Pd zS>D&oxi;BXT?TWw8^xw?r5Zl}{++8dq$qXKN94r)wWzDqebi`Ub1EtX9rq-hx%xaB zyQa~*7n?#Mr-5j@=R!ul7{Gj4F#$yiu-!ASLMy8aTnh5s4DpkTXXKtY2NR_v$m zaIHNj-De=IoIili>yXR#gZo3bdb9BaZ%67p(%8^oYlPUD$$}QoJpEg7&%t+Jq@@8G zGQc)Y2HyY9`+i^cLuCm*vH>t-8O=q>9c%Yj?Ve{mOK+pSqkB5)%eYu*?u(lS!(;qr zrT)T9!D+kieROiDyr7yGOo&H30FOg2exdD1@f`iKWyC)i)RYr7y6umR9&}ufyQ&Q@ zgv46Jfx{~f$67M3{_75bpZ2u5t1e=hHFgoe=8`OIWetd4LqrzN;QCw`GF>FHTyuR% zj-mPjHpG@l?sxqSQVx4thSP`Dw_jJ&S4o(dP;f;!S;P(h4;nR0cz`0o!)UcWX7D_J zjPz^=-Kejc#d`TB8ri0O`^U(fCl;5yfND^S_ps3gm!njr&>_yj69lUFzpUve+ zBP^F5{v~C1W2Gr>1%RJmc7;a`FaQ_%x<10e+hZJOtE?L(m zBNt~vBUk18)TVff+i z;-J7ZLW=m5Md(rPM=ufN5dQp#bD_EPvP?c(*q3eadBS{+{u7*$e`)30U`|kxKUc2o zej;>3q|QK}3kxkU55V5=r!+h1akA26ZM=d*BV!#arI0Z~%&iXXi`Q&ds&19Xgqz2e zn`BBMXURbTOa2L&f>#atqpGm3`F{)HtQ;I(!2qs^#S=bRQ2P3_eYpqSsdxXh9$f&( zZ6e{-pNfIKnynJ$t|?oHCUR+Fo6v^1&TFJ?LBKRZJ!Q)$kCB(ODoj|iDdrc#JMOAw zou9}ik`g1ryKz>I9S1g~y*AgWf|=7%DMw6H-+av#x7hAhnQ(JsmfG%LA8?@6d^i8v z7lB$VkdnxIFd=@qp^PEna8kyWo{%fXR0#YIo45rfwX$ER)k)(vZ6&m6HOH!6yX54eNjtV;R(i`Y|4C2>OP6X^5awbqcpwY*oUHv!FEhVM61~tJWRP=gw|JVEhCm zD0DA*59elV`#PvYY?KY#Ej$mIo+oT>NZG3Nbol@005HLQg9BR)b8m%2gprkDvB3HF zr~~i}#7{QmWdwIH-|^;l=&ALXZ%S9@#R>CwT7c z<4++&lT%bAqs_E*^6=v)@Lf1sV}a;e75(|}6SN&i?Bdei^i143{8+T`JH4t%MP?=$ z_GHroHBt>`YKFjlx7dJEhbj#Fit+Tn_;W}wD!4VVRH7KxA4F@YrV6TSU0Yil=_|!> zg*K)?aHk5o{n!FsG*GuXfrlYMb-qf+i(;j4Jlh1koBW3# zYmX3{$y2)Jhvk39A5YgcRx?cGUk&XK=I)obi8mnL)o7H&$w~*Govzx zu7CNxqrtqs?a_>r=C7~k3x;{?+6pL1`SS!;6v9k@=;%>WpKxV{s93ka2Oul6vamP- zgQmdW+xB;T#_l#t>^U2drW+pt-Poiw$ar$2nIg8@`17p1iYAs1xd~#TiAhK(8Hw|)IhPnqa(GsYV+XgzgvuMC;e+9?L{xeNg1}{*p2d;e(h4M zF``!Zzw>t3kwsN9$4HkCKbBm^(T#5jb7<1HmdGQnC9hRQE`Uv2h5p%STuqjwdSyHD z^#QI;_{KL(I~InI%&4YZU3ug9Y<;YZz3=k#@gOaq3=u9;#>jkW!p$@@Z<-|NIK`$1 z#3jFwD-DJ(~RDhQ6xxwEmC#y&FEtj^e4_AWwX!isif4$uciZwueOU?yrq zAR?&z{^FtW0Oj>z88(!h*t42723r+OtuL8T1Oc;G5Miz*)uFpv13wEgeAK{S@0IM6 zM4~^eV>l7eaS(M!9GG_Ej)a)@+|aIRSB`MeIi?;=DaR(Mp7~{xIP8MNOxn(Zp!RfVjVV_FBJ!cp}DZ!$pE>-vA>P4kq zmbv)|^Go_%Xl!e2KTUPG&$~Rmx7ABW_K3mCalyr~dtZKe>i^P!Hx}XN&efml!&=#A z(p96cI@%~ZTCcnxA>4cssobs<)ySQc_`30VzEt-?98C9eDE1|knJp^N9;lW1(rGwV z9C}cbK8lOOuEbz~;bXO+EF}MUKHEJ`a%5~^n(%CjPb;1Z=lW_=@IW^+eb&TAo^v&n z!E@w|^S?d3WU*ZcEwtsEO;D z;O>%h{In}2ECQ=8ujV1L+ttB~8~l08DJEt{{T9}H+^_rg5v@|(O$m>#UA(xfH^;F( zSK<>al{ogRwKvw8#h;=s^`VNe)JU9vLCpI=W1Bms@vQCzf#TnGX)rkp3&6*!ofHYKc=6g$^%&R_atAVEW;oS01cLlK&!pER6qNR+Uv z2Kx@1JN7(r>-YMyUa@*(E~Fn!wt&+<%WX0q3*uR3r9p`HoD`+*zQ(@*+nh#amlOOC2T+ z5P4x}aV-4L;45@??BW)T+MH6{VaGhEP9f26@H0zoU!ZgR0cSBrlE6%BUF*zun#%vC z6@$2Ggr1n_u`hVx;D@Fz{lKK2%oKijJCg97-Q6mMJygOB2vFfLV2^X<^0kbgxRL0X$V@d?dxdCx@X%IB$U@%rzNdmKEMW|h4RVW1(mWEjb= z8q1nY-6DE-zG0!$+>o7}eF=pW;x9#BD+@}mZ;EbJ20-|VF@8=N(&&8-p`^(#vKv_< zciHr2NP4DMaSdF`V7R@oP4N#QBXhrY8y6dlaMhSci`Ns{4}I&RuaW#=B%X#m@#zEt z$!vAY%+-1KngqWY-A)%cs&kLdujfPiLzp5SFf9^hu@nsHvYi!~d^T1B-)i-=5AdOf@DOsD zoE+<)l|%iFK>;;I2+Y=gXysejf^n}QDH)JSe_RgdYqH+SCv{fb)-APE{)UpUaA?Cw zzfIg8G3hlMNe4?Q^D?D}q3lb;e^UOM*7cvJB{vBhEA!HwJ?pAdn5gP>BKqflEv#(I7$%9+v)}D=6S-A}(`|W)X4_-lzf&A;63jk?Wdi8`@X6C1)g-=>Z8*3*;Lpeo z1>9+Q&KBnqq$g-+h~D9W#J{D1OM!q(2k1{ktHI+q_sQH-;@R*ep1-;4@CD(xb+X|3smj(x3<^d`_`!vBRW!YKsNHoWJy*KolLgq zSaC(g0fTfyVfAS98%&sV6B5|SEn@gGPAvBXBhU$LhT6{{Fxax~-Z4u{$-{%eqM9Q_ z0`4$0=3H^zmnECGJN(6?PsO96-2OgO)TxAAgLWIN%2YeHI5+1$&%;V=d?@Y^MZo*M zHH67JXnUe<+%YAMq}gwmtayU%Y`CF$Zr$s*#=4sst@Jgq-^`Z2%QeN5O`mGtWyeNc zkm1L|GWEh9fe}V$o}`rtx2Gc zj_PdQ9`?S8x`jgGVf|0X#sQ|NsAxLL>eot&yIy=5o6jeUX(>9CTJQBWi3+Z}$!Suhz!vYlG5N$D59E zFx{!PGAY}aI$_Zc4;D6Gf0KzEu}0;BNBpkbE6NxSz1y3rQp*0C2yR!kf_i{*QZ*s2 zA+32uDD9>WWk`k%hB#PxHt4iXgM$Ht&`n{J4@ciGF=S+B7GKi}BE zFQd5xmLFh=Af2jsxi{vX@?hpz$%k9fJTx?T4e;!ixXd=uGVnd@Dv&sQ3k5Q&h32|` zpLH){sTmb$m6?fA1F|OASjrRhI=gW+pBpYpPlYH*r_=!svai zl?}|yTiD!(n#Q%`gQDG6F5yqpZ1>LZ2A;ZG#D(0j^vgxGU5S>Lz&3DRka6uA#4i|X z?WK6PBgC2l7}w7Xwyz&A{-6nW`k@@JCC1gdKUS+(l7)1zmS;e3o0{^m_`oa1u%GQ} z9k6>7(CGQUx(VDMmr_)*+x1`89lG&X{m82KWbg50D;+k!L<8k`Y3IwwHRAZ`vc7*) zJiUCJhh-PnrjUl%{Du0VTpK3UE*d-Dys|R!P~XL^5rcz`*`&@}cowu$Z{t3@e0X2( zj>|GmA_08={T;4C;*~yhYE&^W*(Zg1ImU z;!R{h-xBAk1-aJOA9Dut32Uyrmp*N1b))HN&BiDKZOqIqQz?yS)q0aJ^{aMm4Y@-K z*+hCCzl^nh0L*<@0~-$Uz&rETq%(&k2k+Ikk<6&V3fKqKReT;(<-t(fn#Q(er?=Va zGdfN6%a%}$`nOlbOGRf~R>Yp5@FX_T>yN;Q#fn5SZ}N zVf><&tfz$QV9z~TU%%zx!LOZd#cVG)lkJ6TeA3^9Hqjk;i9|KdBe=S7K4a&=hdunY zZnMWJ=l92iy}#H_>dV90<#M|>%eOYqGnM}Pj;;yM3)67~<@;>esYef!H2ntJ=uH(j zha)9>VWk2Cg>Rc$s+10A+~Q?ZA+CJm#U`OX$L+YRs8-=!(RgsHox1krs`zZC->@qa z(Lz)afqs)w!jtsN;xzD#LgC&;I5~J0Bf|Z$^g>VDE(uy6`LQJv!x-Ikf7G2Q$+mRt zc02LieReE;27e5aeB5*QAP3>C3p@E-R1?-rFgv#JlalJJelFhMetucHwvWXFiy=Cv z)OHL#^BdLvz=MO-Dx9{Ga=C~@KG23;s;-!`HXvf~Vd_Okz>}-{V|n#728}n~Fv>U(+@^t#v83<7jp8RG zG>vNP3wgDFrivYUFkzq)hk(_gy87MA548JcoL2%SyRXzWS}PSRHZh=sUMzT{G17mg zsdVqn<|FTh`yIQCy&Lkcw#I3*zU5Nek)d(?r9F+XSYce+M)-BKC3y^K!ufso-uZWb z`H9!ZIP`3CkgCZzT2+&=aForKUQ(;riDtGV1U$5^9_h@x*_&ke$T0b=XmQm== z?W8NFY ztH(wv6w<><(Oq^-BRhr~k4hWtqr>O>Zuw@jcB^EjE(l)@@zT_tN*H#6)uMAUO?}rE z%z5GNgJc8m4=N^0q~cNyGC4)$*{X^!Cvv${$Tj@3l7fJlp~qU% z)b#h_A$o53PNha9SX7#ag(2`Vzs1)--;0F)q&PvxR{4ET=(==D;2K7Zcy9KEj%uaG zh%wRoV#0@%B9V}gJp6Gf0YJ%OQ%5CU$46H0Q)pW>huS_6koa=9j_z;|KWm=7fk|u>vBC4gr(J_ zc}Wf?beGJ8ZPHx95qwdfW)nX$r|AB|l?~9`wg}FeZ#f@2n{R523Aq+L4}PnhvM$9y z^wf>$?d-%^Rf8iA&mIRq6a5CXtSU=liA}&K?%ez-wli{b(ErhN9ne(w|Nq(}JIUTf z5)zqpk=Zb!p+SnIVI*6wk&zuz$tI$rq>^N$&_t99S!E<4t#B)lwRqt(ri5BU? zy9|Nj%~QxU@W5nn$si}BKq1IZ>3M?4Kz{PkJD*6?>?&r>+JYR=qv6v7a1>2%PnQ4t zdE^3dMe1MaYhAnibh&9;g1i{xg|iV@ ziSLG{4kEW|r*T(B@4#-WJ@c^{xq*x0i*UR)V(-Iiu2=s!nPiq^xHY2e*z&?2q4oU{ ztJe(O-%dGL@SY;U+7)%Hhgi`FB{PB&oO%v%w+e*5jXlJ7s1`@~|zMkEGWOZSEYgHSQ;W@UEG;8K-?ZRY__&A&&e|l;X0%rd>AO@ynl-*T(WI9)jQgy}a=P%N zHm&(_w&$t-X}<^6#(o6OQ3}UX-pdw!#4&(#4ipF=Znj$m4(7)4{Pd*u(~lZ6$-23a zQA0FiYLGi=dA{GUCPuEQ2U}8#N!ypG{2 zX@<1un~_F-bK{1$fKD461)QsEqxqX08J12?*gF|&TypyY-&O@z%?ShRnpU%7NdOd% zBm(zX%M!G=w_N~*qzaq~m&RXdUdLmsX4Zc(=D%!&Ftz16kry}@rh)nZ4 zQsIu~X`(;G=T8@rWa!#m8NL$R91eL&A1gI)oaO0$+Cz`T0geEPC3F3lXFlVI%q1F? z81~dGjVgkI&eA~=$_V)#CgO8uR0-js?9+=MK zf_V+gvycwOh9YO;s^M!_I+)k(3Y-mpP9U4JMdoi{#u!VOL0ZA9OvBZ0cptC4I0A`I zwn?&P43Z0LOB}59Ra?$@KWu zJ6f;H6f4b>9;n=9OQT)?(eANMhVtN>erb%3V~V=MwYRrBM!Bt`<2NpPUbZ=^_?9p5 zRN4suhN(_ccpUlJ!Gm+Re2teG7J8z%%TQ}XYe2yw;e4vghrMIG+hUNQl4e;|)G-PP z6}DgM$7|J>P;bMwE|17lM)@SpxC-wv;XmJ>6Xlk0?cgf`W{7v@0x7_DQSA5H0lie6DI}?4NXszkPul(kMH3S-olM_D$Lj-;bz}53l z6&H#}Ab!*(VZtQMZ$d}wl`0v`oFP3RN)5oBwi zCj5#>DJBLwt_q?dPDNcE?FB6DwOAowQ37j(%`gm!aMtb1u;>u`KPH(_|HnN~jlXiz z)I~3R`1q|p>p-SQzEV%nj)V^(pXH+~I!0&c974lFvl;=qVVv^aKQ{#55^!IX!L-uQ zKnE)AQhlGC0FRd9#90mdA>Y&}lh3oO*jcX^Y)B{l%JCE&O(*NsmvtxvAC%-tlr{Ss zKYvlPL{N()Bf4sOEz98~S(Yys>!oGVw>m0NRrgq{K`QQCWW&ejouBEMXmH@rg$>`# zjZzSx|LWa4j^Ht+8_$gRwB-JNe;$DQY=?~Za$KrSEFjr=YB?2<_VEYurzKC-_wwgh z(3gxxtLdIAY2O`9t(R3FN>JFYFuJ4T=Ycst(TP2g@$d{Yg~vL_#CuAq`0&krY4u8K zHDv|^xrUkKb!kQ;R)?!ss0<)JcoBSNm}$U~0MNuXgPhvF-<&Z8AA6uN#?jkbS>jGb zb3iGI-q_IfydKv_^+dRGFZ>h35DQzo~-6Cr2QGK&2u! z+DkI`uPI)WHN&12x{4w=mD=X7xu>La3{M|~)n~KowK7;J%I~%KWHC4-EGb%92A__X zKVdRtMwjZY8H=j~(=}c){5#%1;02uWFT|W$g7oOt&tDY0c(SHhPHPF+144yVVnZ6- zBAI9pFcGs$HZds5h;ILnOvoJaD;d>}&b>faTc&v6mj)9<#I7_mEV-+ovaPk>wf8#C z2ENN2Eyi4xo6pBrE55}FzEZ;3-=K1c_j#&YK6K#l8oSSEt&4EG9)t)vTO6jVafp>} z;AcN*XD49H(Q|uN*jDSdL!*ZD-ek#hLD6cfhtk^~4sY>M9rRI^=Sq$q(6BLGig^2Z z^7v1OAwN;+1N9BIsZLgc7NvdV+HGn%qm`D~{YFtHbc^r6Z>p@?0lA$y&g8D#>aioXQzEcT3D^4-gOz3pa?7nz1Sf5FbUj0m`TLzQZP1&>^If>a< zwkv5qkMFRVX*_7f@8q~d*2l8R8?Sqi{o%&9Win<-cjTjYhhNq?$5CzxUqGepM`JX= zM8C>ST>8N~)Ey6n^Nh{nwcYE9=0swUZr^C1xM6RDhRq60i~tRV3w4n~&!&U4*PnZb zKnN&4F+`e3@(>XdIL~!>a>P>ODSLaf_LX+@`DG>!F+Ls@iwZI@O1V&?bMA4_Ko@0O zB(M5kiEA9Js{FG_o3s@oUbyyl=$)_-+FY~4$u`xpJuNLQG*{lh=%;*$$k}O~Z8wpT zkFN)D5Ynu*rKt0OSPq{c$2$`)Rq@xSifj}xNl-I-=ER7G2xy~LS|Ksn19b=-5b3D} z(rdIoNoQt}8Z@%Ue+*@Xk$|0u627`P5e-<$jmBf~^5W3!JJ_b)@&I0AtknJexlQsP zopsp*Guwo7ixvJ0ZG}`r(3(DD%Z5eWow-SrYfeJI>@>3jH+|ubV6vqO4=bO~f};sg zhFUgWJ)pEXstsEIOlEF~dj~B#+oe}`oat@Mf6Bui&ZS_hN!K5Vo~y}siWQ~{eZUbnubv+X3`3s; z*fnv;ZS@=jataohQsYqn7F_))q|oDg z`e`H3_{bDJu&!``BkfF|`$095^ogr~b|G{D1@}k~yi$i#4k^Edf&aoJ=S4J*z{2)C zV3v@pNb0|h8GIcK#Q^u~^?bMG?c3C_jxYW?Q1b#w0k&w}T0@+7%Y72dbilVTwbU#; ztBFDNgdP8yg)JeATPpN-pWvDvHX^2kFfx^45vAfU(LuWrv`#AxTfhnEm%zmtY)$zL z$_b6qmmyPSNRYW_g!~lTQh+uY%%9P;e)7Lu3QhCERKxDW{dRcphE4WR%YKD5c-J6$ z>0Mr0$UTKu0tVho^$sKx@=c%Xb=Cgv#l-RZmPOz%x9IAax7WP6!Xw!J-lfvK4XN0PCVsi=&IO`G;l1b z-imt%ONT_9VI_t+9wMLW5iS0rb}zBw;(jb2IOxPRmH#jX?&YF$BA^IV-wnSTO$e$i z*(j?&a>P%d*QHj%EN|iK$c2|DS%2@QX(>If4o4WHXlPKkRzJBk*soJ^x%TkF#& z3z^caQzl2fp8-C5iCQ9}^0-fwBq;x`kgEzI{%X4P%rR>&7g`t(JUY`s^sM6wK<^B> zmZ*b7ziYadCo^T*gmMW&C#!d2N~?E&HTxx^*Pu&@Qc-0iw-?^&WoJds(H=sk7fu5%q74(hY#p8En>3I-W0MHqx2Xa-z}{RUWA>su0aT+ZEh$aMC8w`+`7 zLUagQz^&vt{bqivYgn_#I-g8ppn*FkbwCp?g6DZ#zss@7upGN|g5ksAA*&w_s~Cmi zUOv3{>GbhBVi4tLLdc0FzZ{A6Qx>A{`{9fW__ipoZKlTF&(qfMUh9g^#r0wgwR#W4 zgjCBz$oGybXw!Dyl1@>VzoT!T!qlh6s#>18wIbO#@c8_~{qaVjt_@e6Y&DyvHI%YM zIG9-+J@>Tf^3BHR8OsXQc9a~gzjycv{#F(uurF}-S?EU`V@Ntlh#B<+k3Y*7O5=p`q^kS6QCP zob^2IjH-fc76GvmEcF~}x$i8QgQeSFeu{f_`~{l^2g9R7=T7x4wpIGr3}K@XJ5m!Q zhHD|WHKnJ5g*i*hHkCKd_?74G4*llC@b7|%UuiuB83`pDWlDn*hG87c4#W+80X++u z!@;BD_uuDbMmR(% z^+BUbF%`bP)_ZSzru1BwX#vR$o>dHV#YY#@Bb@jnwU`#d72hJ1#o*SMii%?AtB$w0 z=K*leAH}AFbW?l-Aye9KG=CpsEKH(%UcEK)kn)dI6<40rtM%g@k_r0hYi`6==J6<)OE@B+a)i24es$7PVipGBU&jDK(_J`*T}%Up`5mz1g5E z$ic4Aa^JLy=2J7J_Pe4!sNgQ~-GO<5*b8qc^!z|SfN2hI@Z{eTbfm=Rdh%b**^tZ{ z*C#Q@R5bNI1*UtoDE|X(4(?0jvf-gI?`QABeE)x1X5QMW^P>iVAtfj>0K;uGU)sErlUXiWFMg%ln(f|4mt`v5K>xV4I(v^AlC>#N~?K z6_yuUm|OgV`j}GfqYi z12A?F;GuxITFtJPT*|Zcb^*E15z4k%re4pT(@?#YKd+g{%)BFBQ!|vE1UYV#tLtbX-w(OW~SF* z^#@ymi^Nb`O4dLmj=6u5dL`iVQxEeRiO*Aw<61t;OI(8QC&NBIAHLHzf*s~m+Gjl1 zpFKX@6=zu)lEwa&HMP8ON?X747T*f0N>9S*px34bG0fiH<=H>w!RJq#Kj}1r0TY!) z?)ZyD#`?NaJ-N1@8^kG>>(Qc8RF_P$O*NWzNMe$05ge_=IeUpQz32A!vnT#~)Qxa; z)#~gVqE;m4+j&05?+aE*SlVOYaEBM>CMz}DA{%5OG3S1d9I2g?S?+29gyBbOJ{ue5ayi5)?)h>&PpDOyZ*FWP&v9~)Pt{5PS;9m0 zAwwq;2dnSz+GATbOf;hUIU~vtc7HVX;m4xbp{s^;tIZv$IuiN-&sD zm@4nJ@R+)w-b|lS9>AifdD5^|I`UA`;}I`Mo2|l}h;b7e?{f%=J)h*T&ZQYrM<_0! zI3;}vO7(NLp?D|g{9p{?MmE9laK>xLms<`gT_d`fpl`=YNl$`8D;Qy{h~xY6coT=} z@(s0wvz-l?3?^di7wM74NXP<@bi8^Mvlb=x`vM2IWYslOmOY7yfI3mnJ&A6k-dAhw zUm|ofd;izR+w?Z}Gd;xhLuk7HJRL%rjgbWpDb%1mIpp2dlkpmYj6u-tj@1d8iY=mr0X_$t zCF0g`pX61Kr9YgW>XkUf>_71R^dlJ0vgM=ixf}xSKa_v3$b^#^w+0wpN?R#PSqH%U z76ByZ!vM^_e_`wnCV|CRS= z^clvMSJ+lJGulDCH5dw`4gTSu*tB~w>f)xy(1=?Gf56bs1=a2N%O#Uzo z^85zUR|t_Cgkz8<8SM|Q6p>iNk@raKF@t&h#+Cp9ucIb;t-iOJhq6~P6@XmVe^R^0 z%gUIFMI?$gb!i1`-v8xHeuzjv9wh89NR@F9-H=o;s*N`+c+3EdFe^}xvs)$R6~FPL zs+3T4;#d{X*Vb^oJ28A;@hzs+3XcJ1NTS?j&5NbX)S{pvao5z%HZZVqZ0`IcoCb*i znxRjr9qW87xa)iPl>8A3U}sm9U86G8cxr%*@wOH)dnUCf(?jEl&|K+5cBLKRAKM(X z&ARUA48cd?fE@!%#c^>DcE)YZi-L=GoEsf)(L9UlVeG&K0x)k_0)GRLlqlbcUCqP= z0mD>1?J52bUj+RD*T|$S`{9U#rU}Szt2HLB))T$YdX|&`(*&W5svm11zGVA_Zyn6+ z%ORN#+cAycKtwq$;)iG4zs$cLznW#xe@%E5X? zNJB#D1hI^vsZj7s)ZB4na@%;y<7xvx%^>uUF|o1B|*j9>h*m$LXv+mLJRdDlsu@qW|6+L8KMS*6%}EGlkE#hhJS8R zExy+KVBDk!*&a|NT>b!3)kjO|@pLuJCb z17)M4K!7}{wz+P~KPiov?hp*DbhPpkMgyysoihTs-be^KlzOX**8+_tYq0otJr7um z=FD1$zK&h(@U2GU{(yE*JKD4U;ukN^L);P@{nvYMSZ@oUALmPIb}sYPnGa2+&uI_=0H-v z`F61($pAr(<?d`+ zL;^d``PN^Vb|zNa(OdEUq>+Po;X_i`w1BJbUO8wL+`uHU)n9fy)+n|pe9Fr036U|I zD8v7X1`rg=khbuX7AS{~UHbM|XN2A<@%6c4$Uf z)pBxeA2iIuDoeb0uAp*3bJ&e4@9r9@xS&g;QPs~ohsN&`qKm!_7l*Fz1W`|BpdKZ< zBXiq?&Xoce_HYT>7t4rS*rsQY%p#rqx_6a5l^#v4Du^r5^PGIUIcc)<^ds>%j_HiQ zQ^m6H@{j+nx;FclHrMe7pZ@KWST3=dfhiBr9} z5LUP24|DsqGk;M&LNvDBeM8gUB3Z{nkw-_(o+pqDZ9Yv^(H&wED!kxksv}lg`&_r_ z;y}aN_jDN1u65!dKLKL!@j0^Nu*Z<2vi+j=(=BhFPIR$JHGVEr)aQMD@*!U8CvH6g zDf+Ykm+i01VnJ@^KJ2p1&O$)iz5NU%-V~%TI0~LRdwJfVIoaMQ_Os%lGutl@4ZDO` z--MFcd}AazyO$=6^im$KNN8Yji$XsM{SYkJ!BekmB-Xjh{gcm>h+J`}Cdw8GaWK09 zw_1>GJCVR{%%9C0zgm~{-A-T&0s%^i_z@&iW{=JX>&gYw?Lbgf6bC6m&w6_E)t!Vs z6X^;f)CJe1Q!nT2K~$n3MNcL-nL{-RI*JaLHMYy2T1jJuNr0@T3i0{S_|%0>u=Q8RLO0Xeh;oK>6oPS+9B^{hM)P-ca@4 zA_9@aF|uRk$LnK->qAn`;S6tQZW&$V66%g|*IeWo8%Xw#&lFhXbvfGMV4Ip)l7h{58goop;;HA9}bf{x^Y zt+2+*F^gSy!!v!O1R#v)fxtTd!j1ON4T`5+8->0|@?u|n>wed}s1WkiRf=wkY)x96 ziVZ^Ccy8)tXN8L51o(X%RSC5xp;z9yZG?-&qGeTOI^)5^%E)-{cDE~lO9Z9o9#Mjm zgx#nhk9E7;T(wV%-gH*bSPZbwoNiaQZ;!W~CvB%&S&J08Dm{2vK0iJOAA!TWDGrj@ z&5wUbgwG|n1)Dt#TO>$Kl?khK=FqnCoW#lTo?4v@E*$jGG8j>UGgO)6=-^c6XM)rM z95NOV?#VNLZ!)a~l^vly9$lBy`m)0KH$hJVWecug!1026qH{r) z;3+3MT(R%~*Vd%k^bF8;i#tkI?$s0(cx1HP;5faVye^zWLzrTg#JChmHu=GE#n1_L zpH8-{;RXy|o8&ly8ez~(pJ8N2T&Z>@h`o8ET$qM;u&Nt;9Ns_&M+_1wd+q(Im-HYbw7dpIfB20YTrHru_ivySG{2Vz!PhkTZeL9*$6lP^HR!A}F$!{+LvQ`_by5qIuUU{uK&Ns=7!rZ6J z4Z|x8X?@K(vNLIFR*hpfZV2hOeQjQvvJN)&)D`7I*C@M5Y(skPKf{cislm8sq$pu} zrS9TUZFn7k>VY&y2n8%aCURMzHA*dGiEgU<99+- z{9Nvdj}7ol0*^sLAv5^!t@948ra>3wm{OhCTnxoWe%$0VidncK;h?xZZcmENm3F7A z9J{zGhvY`=#+WPD8ir-ld%G@9Iiq479!Z=ntvqLI$~Tl$GMs(88Op>uT8G!s#RTn# z>-pGl>^KNozvtd|XC?f@mcJ*-Lk(L8WKXSL#GeyvbA4>oChUNR?ft56%W zOMRt3Tnj7R(Dk&~Mu8!owKX8ZDt=gValuN}oXplDoL5}jWIF%p)j#_0BJ1%b!Z-rs zXM2$~c#&L!s2>_?q`yu*u__J!jjMBI3lIMSG#>@Y{WuQb081@nGn;HGUeda>HkHV=C#QqU3 zeeBrU8S$rry!d3?f?BQ@t+4FFBi@c}tup zWj@+-`Onn?7uaLQyaTd*uc}HjMpydVSzO$Bb?0Sqk$`aW&Rxwti;Gn%fg9-IHn*IW z{>2iKsioTM__VOd!ZTKM5uY7fxR`?Qx)V3j{Hz+Se?`61qL!bWxXaY6>aM_`&MLza z>@P-jvACf7<}vQ8fu-3Vc(r*cc|)fKA0;*<*u437CSS~%Dke`d2-ZMKeB$`ZH+g5y5}UF^Gz3ps3#wFjVDJ*|$-JF>Ew zYs+!;k>7mol18YGp}p_rw@&%s!`VNS%&2NgLN5u|#GS~HKWrOFaM$Kk{Wa6su~%cOhf>65-Af<7Sz!`A!J&dU@AbE&t*-Tj)wI7Jn_^yYw`dZDR6L7~Iu{Tep)|>Ge z?PFRK4fJ#&kgs-#`~4n;A4=EW<~F~us~uwe^a4615F%Dv_A6Y)n3OfKZ%iUcK}4mB zrNK^L|Gq=_t=RxY?Q4*=oPNY^n|jYzcX{&7n>U|t(|wVP%d?Z7dV6|YO*}2`l3_Pdx@;+5vK z4wappK6+6nQC|uS`O?`_Sh+w}w72ualBn|gT&F;HK9&(2PK1T1uiK~R)zZRj_@S@R zlT4sDiN~#Kk{J*+A>09Ly?L2`X=rG$#;rd3R@RycMNXr7Zfyaz($Ko>>{j`(d)Lwkw{D!dUpw5k> zK2d$o&1qd_)0i9f(jUtd@ntzgxfg$M)wMk&SQNbZ=6m)HddGBj=#i&#)U#(h1ya~+K3Bm7_oo1H$#6-?yNLam(z+U^6UYDchcV}SIr7hV2^mo?!mKl) z>!x=m%i3kJad3RdsPaN!vBMQvHiSuL`>iEesd16+?cXI&r+#yfl%QU`K9sT`wc(J< zvE<=w1`0r|q8Ow!y938MM}!!}|Li)yw?l$FtX&jYKfqu7G2pg9g9?X751xN;8yLWO zIheB!C9GXOJ5e*a#OkX%qqV%7^Vx?bO+kM5Gh1&W8Ut+jnQqtF?voEkw(UxJR2WAb z1y>>!-$E*J`r+5~Rgv|^DuO9XM}5umIstY)w0%$~f}O~@$w6d2NuSPdqL&T|%kT@@ zoAQ60I#KvOzx9;lwYO5&-d^5w!!y$7P@;u`Y|#M<;MG@x6T>Ra<(5NE!V>3GxgJgp z1jW~9XsZg!2W(c%Z8*bB9pc=gy;Q0b-D|Au^vL&O%#dHdR&mE@zh6Js)+M4kZVU21 zE}fP35%k_-7-_{G5tl_1=g8xv+m6>#)0oscp`)0BPPcq=MV9Sp+g-E z8de0=^_fF`8Z~pAcuWnGb%hu3K0)sAAOiXs!b=5=LVC-qEut4nmTTt1L>ALCnI`-U z2Tr67hRoAX%bbPQP~Um2JG{nUm>e~+6ItHcd*hny29loQ z>GCg0x*|pDiJP4TBNF>Wm}vzge&R5P!l?+n(y%-+S_|9i~QhlWRPFQZlk$oEIG=X&m%@presHoN1N8Oi@1Y zMwNpBHm7KaA{3Y|aEUS%*O{YgPI726dL%4EM0Nl*0#;&g!q7@Uhr zCf2oU(2$9ndro_OEG{^@%V``aGqJF@)Fs{Luq|qfO_gZa3V&J@JrH zbr`YVNUjmjJ>7Ef%9fvgokpo7F7*5x?^icU$dnnv#2#0%G7bQtegmW{I) zcI|n%5*q>2wO(E;ia);lSOgbxQraJ4bvbme|KC_A^d;3RoZj(t@wheq>*W#%= z=3YzZw_oq8X_EUbJ64t}bTi~08}1$3B!A6RCf2Mw#6$7k&NcwuQ6Gua*<416la@PA z&Q^zXG%ARH+K1-%`zpO5mmazHGeVsX7r0cz2ldQkGtY&j6}0u^u*rvfprhw(_wR30 zyCHHdM2`dq1FRnJ69gzbuaS#2W0uD|ww81d_Xoo&J|}_UnOg6y{kBId$rt!N{C>ri2_d3T2^%|^Xmkp0gMhn4diYX&t0Lf{uBAQX==es1wi6$TU|vo*VakzWcF2@ZGcUeHL~ys6dy0)+}D5j@B%n zSsc`;shh2#T?|~F$}#~n3hcIg^?7=EYgG*mxnF$WgBH#$_OGo$2A+7f$llfsD#Pxr zRIANfKd~h4O+MGju;;z_fmO?zA)jTCST}Nk@m#X}!396Nxh>{u%DMGk+G2p_uulR% z!y}t(5RHpw6lRvb0@B%W9=QX@{3%qed$M7vYrs z+*(V_1T(;oOA(ww_f$J!{2PG3QeHzlJVDoaGBbS)mAJN(b&3g$ZP z41prkBwCl-bk-gA$)-|!p-Zt6wEll)v5~aJ%&n(5P+|cctLc@65mm?bmhp1jB)4le ze6*tTVfXtSNn5%tQl3Dc)d)Q~P=WTxr01InctmZ_^yloFw!nPn1paL7O5mt)9wM@j zMfB%@ie0*~enfW3DD>1+l!r%=mj}p@08{5XYT{QkhEHh!dI-vaOdF!b(k3L98G`Vc zLvX|xRu?kRy2U||8D9++u!%>d7deTdI|68Q9>A>+PcG+$2e$?$O2K-YCBbgQ)}{uN zc(%aYn)jJ&s6#?V<#`(Psm|M{gaRRrULgzwnU_D+%pU;ehkmYx znmG*`GiBikC8lQXW(`3TO?Hn5twnpI?n!6oSDQDCt^o}|sxMO{?5og*R8VN!ktu=J zGqR=Z?iu6q1{8(<@yB&@lynlJs(TR6FJr5V7{TAk`9I|%35Dc{V z>M~YvF`eEU!#pm@Zr3NHnjdmy&1%HeY5v+PLTVSxey7wwr?8@9|o^DLZKXp)T$SUHOD{W|%x{>*|=CA?n7IiWIn(O!Xm!h)jg@?Z} zh*&f)v9z3tH*9?c_7H!dhLBv{l=r8LN;x7Eo4~efggsM!DPe7-mHyTQyS=SjyB`)> zF%BNs*e|ke$v)}v&5f_1UQ;#F{Ls3uBx1*&-=<$>p@h9nkIfOtBW{x64L@S7Q{~_@ zxUrkvuM6x11c-nuCWRUu@@CsQnohlQR9#UE!rRa_aBW-}P$W0t&jT+UHoS+2Q4zZK0to0k(5$zAc@{+aDfVt3~(@H41 z!7WByDGA%>S^wj5fPem1m?Jvu&+*%$V6q~t1jXyEq95(EZ|=N>(=8E`Sf$!;O~&eL zkP7@kU=ZKZI>KlIq6(VLVSfD}T2zF>+cMU`$z!{obRv0)Y~eY)BTw4r9R?<#5$1Z(qM(x7&c zjpl_`3nv$1dA8nUB01C!S8lhQo|YB3))-gdsgQ8cbQ@dh*Sa@(MXUW+D_MW3s}vAb%#iZ3Ny+6fMAfYAC(=*unX{nD(}ibgf_4{TKcb zYA>vUbmsF`%-mcpj})Q_#UBy>M`#k3`<0jJDa%6?uA?23F!1ctd_)j(?oj)z=oFEj zW4$;_Tke^h%A&1^uP1IPUt|NgWqI+G;%#NR0|I$k*q-@~c*Poe5OGj7^+5-XB|I6? z2yh_y4KkUcD0)|p%~js#*-`!1QhDjrNtVmn)?1^ZL!cDF(SUP7o~s~s)A;7eiixT* z>42mS1-Xut$Jc_yQ(L>ZZ`W!H$3^Syd3r>EPJ*(nUBz84r*ka#&^`KK0H*5V2{l2Z zpYIKtE)9*WFnNyptALKgtz{2SaS$xdl~+BN0-hBLSiq3^Z|I_4`CYG`P1bB|wC!4B zMAwyRV1!Ah`g;BRH(`ZO3VK)88im}w?VkQ8`*-e;fr0WHBQawvulPOjJ;MW!;|GBn zEV*B6y-zPnR<>N|=AZKtWx>x+E4a)N+{2swn7W=oQI$xNsr=BtxHce7|`eP1-Jb1BhJY(dGGG7E;#;}Nqw@SPKkf7 z;7b31gnw1^8AENc{Hlh!_P^_Fsf}zT%U6e%S$c@?i7F1o<(Zo0jtaD=1uYIp48Vc% zf-6Faf4By=w^a2e zmDl#BnM;0K{X9~dy5LpmQqxx_mSp|&m+P~T&;0xLVdjSl;E0jcU0>bmBX>T12hsc? zYI*8{3SnL>8x|2w%9WoqFI-)&xQp2^-)jBWN63iCU0q&bJxxniQJNiP^tEg5Na~xWhs7SSh3)V~i8ec;Q9YyhG0_he@p> z6Q=Iaowp!~`Fw4?Xr#j>=GZ@B?Tjs>ekoM|@389K*v(~mVliT~7Hj!t#CQA>iVw{( z7}{Yhbk1Kb!TX!8%WjJo%ne0KP*bA=1^cT4+%+m{&9~qP;844ihj|6gn)FRfk?Z$s@!(2j&~m2lJ@D77K*%8NbC zhJtZo26ug;qxUdizy2BaYsY^wJ-A|O$S7rM=345R6#EtDR{N0rudJQ7h-!G?5;h86 z!&B+1YwPI`U${8UaegSh#Eaa)rl-kO9(mqr8+n%UWB}q7fM_7|(NzGrVi4KAharu6 z2bKquiS>&WV`HcQ|DHBS+tj==#Zibgnj&4&LKC)a-TE)lF{j7!VwdTX1JZr4U7>R0 z)+-}|YQA@Jb>^sE>H@7JG|Dg+iX4uTBdD_}hMVPB&@w-kMerCoLd=9)jj()T)SmHY zfcJ90lT_FN`5#b9Sl-!($_*DBrB+|4nnM;K1?BBwJ|GE3`FrfRwAH>+8Mznyo3`&^ zigHMisJ_BSrEw*9E|k~Bu^sD7%+^AEB@t<)8P8C!0&C%=AF^)8Ulr}`a~H%u2|v5$ zv;UM1NGeA;rNvC<_?r4*tCSn%imM1xefvz2MIRy63!2W8=fjL2DO>D`n zx*2P={yKk1ulxP`Zj%kQdBK*660~G=e{n%S*1{}_C(f97v7ixheS%K|k&fZ8ML}!d z$0)HsIIPrqxn?r4~JAXZ|2&wg=A~o@mR`CRlvOYMBlWo zu(@m^86=}oX>{~2%kPetihK7&68mdNhn+Wv(S8E>Xv$Anc|UW-kh*G zQ0vKyJBW>|Hfwn#i_oo5;j)N^HZsOP3WK6@&}0lD+auo4s-=IOFjf&T*Y>PN%&k!3 zc;LeVs!KfXnB+ru8iaqIzKhHH=~FE<&U0(pTim(6EFUs>i+tRiUtPF9O!t}E=M@f3 z%H!~zPk1Ep9UEQi#k6M`xL7gOJ*AsdKhAABQOQv3m)*SW_F1*UPxL&~>oaY8-VYBU zVBHBYA%qwk`7Y~X_vz5di1+F0XdZ}NLBou)=w;uQi2|p{Z4&YLfcuD8y!>!IKcM6L zS9V|b^{YsJp$ge9oGyR9KShQ}=|iOeQ`uzHhp^ktPZts*J3|@Xilc=GB#s?+U#Itv zR2%;FJk}RSp=idJxxBJ%9_ibj1s|}#$mCW%Bk(x12ZGOJq(hD^-})dD+XSUJ4y2JC>#ObS*9qHVGgEz6+U*vKl%?( zQ9a_>7kO>8$)_WXbtmu=61@G&xA~+eNTjr8c?FFkzEJ9$1J%;PUKor4aI7f*(ZN0O z?M!Lk=X;0op&}LucmW~%WV#rx`MdVtpcC zB(gOka91$ua|sI-I%f`tqAhWS>A(|^XIIM2?NfQ~p4o>re15r5 zx|;oX*2MpMC)&tsG_>3?M;Xd$8@T}0&e7(nBP0SnvWH3S+@aK;+ctXsm0wAm$*tzfXYA9Q`3*HZq!td60tT} zNB=Tz+cC@Ue8WQA`BjER7w5IPD*r9OWST3e`JWWJNrJEN+Amq(2Z}8*f_o>myxP#- zhW@J;K;w~g#=<_!W^#^W$#!GS!}^%faRj2_;H#Sdbq9%?bdp#MH3KyL_ zNnVFTkH6(FeXqk#mw=F5dDh5)GbJu*gq}#?&Es>EQ~G)1^(Ab>LUS4BCciIUIQy$| zPlWdU=gdCZVpeTs5|CdaYp=}DhT*YBkm6n~y^KRt;Xp~-~N4B%-%M3}5p^3DMfdz!Xg;G|K$ zwM&Kh+Q;V%uB@prSDsgPG&stk#uC=9qa>>rdI@+O?rmb6*L!s6)l@S%!Hu$jIQBH^ z#J5M8QlmRttn)K3mvHZ_EvfTF_bv^GQ zO{Rv&Ba5azQfk*+#KH{;=Esq8dDa3`%?*}woL0Z2P<{sG1xG#5!-no>K150>RJh!R ziwU`_jYeYzG>-@IX>N)d^hI$X;h9=%=S$Z!_rb?~?3+4KT1^x!svcEW2R*YZeI_%LRT#5!h#FHohW`%g)4W5OpDo@J^Cue zZ%-Gyjn^mplTi!PG1cp*r1l;wfNBtkydBJzO>0*M_Jrl(gbCsSj%k3pF^ zHT697*j~@C8+{crDz*3KCr!oA4L)ppo@44S&+q^1t4OB85U*X3o$iaVYqdJR;2jJu z*(4kXq$}G-fz3!V`tOws3R*vZa9D-7LvaXqNseVLGPK;~!Ltzgm6fYJ=Ra9(W}WAM z8S)|G3}zGaTC)Mzh{^w`o3gK?DIIQh)48%~a zJ_^7?TJUwmXt`s*Lz-BA+lD|4aKV)2W||flL#Z4S?$7}P?`@`ul4hz$I>LtNqVLx3 z=oucTJS81r8~(RIx_z2dCad2@-!h$fy1t#NS#qR0_JExqlRfptTK|aX(aTK!PEKC6 z+1<*gLNxYRPanyy@%+u-mlI$dFKRT(6VJ$Z+~Lank*h4aK{ z6S7Yw+_ST=CnJBS#cSB3q;<;we6^wax0p+}X`-TyBOBX4Nxdz*Gdf>TGFnsg>GTJW z5!Rsp5c;xV&$SuHR1PLOeT7dG*ER+=n$t7y2&R{?d4pL~3G}wGCllD^aXZ zUZg9#m@jM&(6UUG9Ih$v_`q9p@+(GN0iL6yV+VHzex0)KREOo=QuI#s+ zv3{z9?cj+G;ih{_D;^?Rg0=O2$Ap^J66crr>n3?tQs*k#w)I~S5g*B~N#43Gp+#Jl z@0U*$@;cNcGnt^$&K+kIx+vE=+}{8;3)co5F9rf|R6;1idLky)67Awp%%6Uwm+@=^ zyJ=DmI0US;m?|O-Vtn_4T$PlrX?yzd2;*ZX_q>&uGy)vM&?1GBV38gwvz>1rk?lqp zOdfUE)r+`QNu`^qK1NQCl3i8Q>({U8m;~ni(}!ow7&M~kqVDqBpSdk?xgn{iG^|~E zu0!I`z-^%uAis6R*EToa-!`nGO8@vAWM7xhiq?@26cu&5X1&hxv3pzJ`~;#ws|Xzm z7fCX!`B{NWWtrk(q=}n9I9TP3Ji_+O8E0M@_7>b-DRc;;`lKg$Z01qpPXLEGhW$RI z%)y9?=TZSs$71-a`}IwMV^2Nyfr;niOUf1Jf3m;x7AfQVvfqQ$Ten)2k~m@3`R8Auv==sso6WExVDZi|#8E!!gG;k#yxY1v^T^!u9#O$EAKG{ezduD|G zxdlFZjAsjjm*~SPKa@Y1kk?|_U`lQK7+59#GrP6HfA-H&*z4^E^C?{T%!%{HZ)$J{ zfBsVF)~z3o{DQd>R@b_SrNFI)_A{#0&yOE7OCpNV z!AQA2F*+I9d^t?8cKXH-*7J=w75+^mGOt(mSK4f2m~7wb2XJzHB^ls44-T z8_jO?fzOHt&EBkufkC6TY!hRgq~e`bdZC7&gCq>6^l8nREPB6|T5r8jwtX=(sxk2d zxILAcmvGGMnQ6W?L9S*}{%FY;Ge2yL7^q;?Lyk(sP>#gXxY)BJN~^SR;7}^*ep@_x}|5O_z}fCVE=Qu*2A5PUEs##l3+efhgJ(gd4_crP0QJAzP{5Lj~Du~A^!(}vF*z7~A_=0B>mcPBpBnW7#Y zHKiqQ_K_rZO8Lz9ph4+Erz_UG+a=r7BywARKanY=Jyd)v>@F+rmAS0=T7{ZLhW2wzu~Iy(7XEx#?)f0UVhYV1VyJEqm%%IZQ%8Fb~`B-Q#ogKqj&b zG(}S{`%hMsC)Dd6Ncz)>95m#SV#Us^Ilrc7e(=eC_mep$l*Ba^-AazH!=(KZRj5Dx zlBl7DdZ8R<-%{=FX#AqiDN`=j%-^Ybf#=cTDVNQr;GX5b*F5Gv-V&#ME6-M-W2D!X zHEZ~aS8~LnMxNt9No<{q%>tcK7C_39n;SNqYk>;C>wHr5l(pRA?3!Rpqsgh#!}n5$ zS@(2!^O${c_$s@cv5^6SaXm>D%c{k4u@*TxijB^SUJ1*nm8faN?!q?Sfgjh{fimFj z%ykeA5uL*WmgDQ05=-yOVU@8e>snwnHEuI)bQn%`43|KanU^sO0!PM^Z}?mv8EA+8 znyBmiEw5{Y+K6{))}$I1miMfYV{7aGbh@4}&ystq`l9dtu%G^DT7e7Vf{}s*Cw>dt z$a5CkExzl+(n$&z#0Pb!cCSfzH_n*(G*@~VX4hi@OFz$0?<;49qZ$A(MxyNNM~Zi# z&0qT7-`~IU&Zob|Q*)F!pP?o<#Jq*FqXMv-m~AtjyX-)HVWYt~&e>&{XS=lkAw?Y{M3cB253?V#C0k+ zo!X4&Fz*4m50vthpD>98RgjGq_-$d6h9?ScF74~q7%#4tQ2>8GluFtI6c1)SE(7dvQYo*2Odl9Opho>Z%-exdffNTA@oaLPA z@^Tx+eB#sGeQT5EAKDcSOJc(7teX{O7_}7~dD~!e1|Dj%dz*p3wav3+^e}7BEL`<> z7*o31Scx664&7Po^-Cs1()Xo+++SmF!^~-gVA;m#Q&hbDS13O^&+-$0bi{&2A6mJ< zO7}2QMael6T=o<>GWvb7{AF0IS@PRC&(n&yDFj|?p1mpX9iAgM{NZ_A8qUe5(U)55 zvgTp`U1-_I59*wMrsi?OGX~vWBWw7`XCdKjpZQc;=7BtKFwr_w=DjNn7%ID z?j`gMZEvRncM%AMJ{2}HudoL4wdf6?R?NaZSK?CMpI6_#+*mTw)*1oDA70cfSUR&p zI95eYWp5ZG?u*i+X?+$Tj*d#OH*f#PWSZ~iha^>Ounp`jfwT{d9_+k^JyJ0Z#|0&d z9Z)*=X2||GU0=q;ZyYn{Q9X(0CeMgV&RF zMHMrng4i>Fv$uA4*Zq9iA9bbia$>{w>jYLGxXWlO;LeHh(<|b{s6Z;{Tm89+U4!@z zbU2exOkH4uSw~(m>u9p`sHm1o^*O^}4Smw-V9{c{ZX&r#7deYfPH`g~=_+4hTe8K? zdBta(ithx;Yf9M5oy0zF;T_Vzjg5ykOvuhD9$`Z=LgpT>uNAsG<>oDQu?TK@nLCgG z4ze?lMiGX#E8Jewplfp5K0osM(^T;4?r>#6n99Htz@)mm!kkTOB`}!6S12#y4Kh8& z0px{K>)d5T6z|g`4x1+o`!d6RtvuXrv)oeKsk}w6Fz499{lCg~IN6Ta4BkAopn?!{ zSRupAbMBWDTYd0KX!mc-Yz|ON>vyE&Y8D?FXs}K?A4gl9)H!qP(vGFqP}?cyg#-EY zK*1mngYi~?Zma$Pf0@%olV>sihaixA=>Zx7n%+Z+Iy}GEY<`3sRY-0l6w_jec(!A^ zpNu^_N&u(TojcKgrXH#Z+0JdW?1`Zruz|e2JEs$uS<medSHNzq8$t2S`E_!)OtTu*Xjqz?Vh%C;!Qr~!;6GA0 z28muk5dhwqqVGIBH~Z0`loF08IG<*{c3FIP)%o1bpr%QwC~@X05iW={Am(+>X^*|F zL!9>5iy}-C=klzwtc?3FJjQU>s)6hfT<&Wl#pvA?keL0Ilg~8<;*q9{q)!oKMqIt0 zn2mf+_?4mRH1%J+wB7-j8RG(HYvpYNA}SRjo?;GrsEzwMsEhzdi0k<{ApKV?Wc%J( z=>dcWj*2DhL5Puu1LAhJ8Vc%?izO$Caf5$>PIjWJ>-L6AL9yEZE8{6`72*FGKG{Pm zR|4XOLdRjYYNcqqJ z`hbeHCLEU@9sosC~{VtkVggQUt^X&rG`0#q#(%NA-3)^{ys5CypdUKW|1tHZ18fm`af$g z1Vv!M6#e=0XSgY8a6ztvj~k42z%6af=5-j|)#=Ynsddfdl|T9UXL#g(1?!OoT;5K} z0M(7jSm?<2FU`>Q~F7ocEBU0U{86dI;Nt_S#DEa7PXD0sq@oX^Ul~nsMh%)L{ z$8`(gz;Zm#mVG7ed9eO#*7Wh?vkp+_Ng{Y1%Dy0o4M@C(-H2KOM<8Mxc8eufug2qr z;@wU`9}IZ4pB7^UsH*xDbLQI|^OX&coxGX%X0|ULo>BFMGA zxt#pC=Yy1aZ-?nwVJkNvU|(hjYB%Cxz*swKXs0l zI2#IvIW7k!JtDGKIJ56` z=Bp&`*<8Q9x``z^aNd7?+Q5{iwL2rDys6!vh&dyNAB*ax0apMvBsbMKFUfsBQ#1Uj zwi)g7vxEf)QPn(bJhdqSJ}~{#LHdb%_o}lr3uo%Q_MZOw#P4Kv&T`{Fkp?#RX_`9c z5=b1lkVs_9CHSL!{Jp$R7ABoqm>`emHKztH^BcQ!P7wrDm_u3yT3r0$KCm>HFb;g3 z?bshRj7JgBM7@7`4P!?0I>D zM4!&jF!(cMqYb4(RkHsrU;u%&BjYAZQ%0dMwxvW|g2pugl$L%XgP{HM{;({KLqpb& zPqoID@%*+lieLW2(?1f2nR47w!XN2ITuLJ1N~kF3^X&u5$}B7k-+%K<2{^}PAc2~BxiolCbA`|h7(KK?Esq58=l2if#NaC?wHdlM zE#Yd*CoU(rxA-lzyUd_FX6VVOHj3ft@y?mfn3A3U@cay4Pvp*6((x_n(@gzy*t_9d zf&I2!(ufw9vF+G3) zyuOzWo3bC8yhAc?mVxiCG$;lIfoBJhp^;(q@Zs?($kqE&o+sX6$WcN{o@&^L?hMm0_+0JP)E; z5vA+}s?C^%dMX%V9U0NLD59!;Mg}u>d3@WLbeo0$-2?*+hHS4=Z}* zDO7*J?gEh(&Y;`+Q$q}C_x#i@@XtO_AzAzCNB}Xnzczvf%+M5LXx#6x=}&k6Q`|zR zwN1zIY`~0b>xP?c#gOYAcY(_RpEoi7&D6>H@QC8k+Yfmp=^ZefT%H}4*s~Q2Z;Af? z@)SA&08>t^f(Qj*vtYe|n;3%djRm&pRc8k-rZzKrG;mlyRmbP?4xgYCg8!Pr0tp(s zgR70W(RjWH{f_4l6lj3krdd34>)(kFB%{Wy%Bzu~h3q=ShC;9JaxDWmjAKfJu`2nt`&!TX8! z;L_mLF03*fRBRm9U6Mks>%g_|^;zF?=<#!=x90ZG?R>UevpZY|(!Lk1q1~UC=ey^q;&{TagfaeOsOOr7N`2Bw{Ec70DD$m zz-Mc?9yYI@oMR@MEnE5Wxv~FXKgB0P^p$oK%CRJCsC^LlzE;~|!8>Ox34=?T4Wx9E zeaIyt%K z+sqv7?Z4dSy{~o^9X(TwDa=`1RD=mE&|Aos@`K_tGv=@S&)uO57^*+>$12TInYvvr zN?o2HL;rnbw>Uq(WN&;?8Un|jZB$UInIA#1cINu-@uq-Gs_B?~cIIzaji9@?qspH6 zSTLeBpD*nhQGc^9M9>lSSyS>6{20x1u}H6krAu~xC$-*X(|71MWyc20?eKO2!e?Os z4iM1V)K^$OdqxP_EC?Yh)F*)EJ5@-~7k&qlI_9~+;XgElIC`r+#Lpc+I(NJ(j(u&~ zGV;8q2dEj^RF!MFC5&`QU~nB-L(9P+s_zp&hzT*U=JXi&F0xA$LKAlxc}>V#jv$&>|hZEEapeCysE$dn==^l{!3}brilF3DvQDF zD_`fbAgF%*S!~4yT-E3o`~O9EXj-Zcsiz~=Zz`9rK-^UF_@6dX8>zZCK46Wsl#7vT zNBIvc9_5VN%N3Mi5m8%22N1DlD5QmV2sg%G$xz(aC?hs=Mc~6%h}-XBFnC%$ZcidXcAl|zl5_I#!+jH@Hzs55fJUbBz5XE$G-v*Q zH0O1ag=fY3JSPjC(O2Mp$!_sEdC|JpI0erutetNgYHEsL@kA>tp~o3NyaNg-u+|xM zhUeH9L)pXky`uQhf~{C@rtDV-pZ{}?wC)YA(`b-$4otEg&dN9QwIyFuPr~#R#>BvC zK~1A@Y(P~2?Rst<0R=(?ibfQL*zI*WE(xdmltzJ^cVL<8@ITc-5kM})Z5Uf3Sf2{h z4QZviVSE-XMqnTi8Y+s0nXs0F=M9qWVj*A&%#w8yp?Cn118-SDi@|C3n7D4eEP&`*GcD$u*!3+14UUuIZYC@VPYa&2 znM&)GA119yXv}p%Y?vaH%tKNOLC%62J@^1P^Qu8H27CbgJ#K%PYb)X26booSm~}xC z#Gd%)Nb&_eG1FI|fS^&}!f*Yh<{lqNtszK4vNh9SYgO)llu@Hy<@$?V;Np)7?xVsOG-{M?ARnV~RKG(G!Uga_onH5wa1Y6?D1bPNY$A zwXj&Y1&nTwyHqA%(h+D$$xdVtbrJe5hbd(;ThiB@zqi*V- zn8I2j)e*N{&rDf2R`p=SEkp7Zb@4#vrb+(Y?CE5DCS20Vp}sh4#VgoPUfwz_4Q)i!xtS{uj;YNB0oHUS^ZV1*r$Gll6Db5|fs+S#F)KNoTvlh6QmGcfWrw zaBh1p%AObz@h82AXI1Z;86N8jmYy*;J9M;xsZ@mpLwKcUt^es~bRQMa>AbHeQpvTE zW6+)7y zq=y90<+Zx)nYTojFVHxz?t-sPT-+L{@OFY8Q-`M$CBFbi9V+f~iKu&X<|TkkI}7>*VjBKkxp9NcRzVB`vV0tDO0!12I(N8#(_ok{6w0hyvLSamM^b%gfMW@TD8 zMndlPLdsFs_#QGLGi$vZuTFPx^7!7pahH6MN5IC5^wy=q!BFkc@!vH#?=(9<3S7DU zWgZx8v|5gP$vHSQF9FUtIOO3E49_s!Ymm876X6YGh|ZmyMZG1vTfYcMCipKhOkkYF z4anwua9#?}`e45LFNik;exQf;FHXkHydcF=&U;){I54_YhIT(=zSs}Q3WTo-7#|hf zfT$mK%(_egoDLqlT(Xx|!Y700`E|;PD74}s`*gGzNS&~L$(CfhNpWxkgNF|^)bR5F zo)FYY=t%<9_^mjC)X^5&v(3H?a8)XZ(o=nrm%Dzrj!h;(YJ>6>xt0eqyQH2 z=NY8-3VTc`79&&QG={&Q_{`wU{rEKX%l*Rd!~L_`X~%|v`bF;)v>WbNMPY3RM9Jt( zZe;uX&K*!U{($1Tqmf^~epxh3*T7H0;uF7FEyTM^9zwyJ%nIi=D9!uNKT=8x_5g_l8#kKv1?>>dh$y-f{(rfy5<4pCb9#6D!+)7~ zU2)(FGbf@P#gx^Iw>E;ohTXF5GqFOY`Ugm0>S1v(g<~2*Bb9E181S6mmV5A?tvjf{ z1t@;YJ#PA@Y|~yl!T3AZB}j5^<`g|oVOpT1roWnG4e=tt9Y6qesFI@dV%<&c?rS#5 zgcM`Hf5TUfXKN%AtV+BN!hS%F;eP=>hUP_h5<)3Cwz;&L&@+1#Xu^R+g%GDXSOB2T zrO}xXK_r&(lAZ=N@U7EPl%90R@A&!J_+pow>=m~rKi)x&(AhQ28av}@M-SGkME25; zrdDTfSgLgU7>=}F&{hD91-Hj(B6vC=!U-AxpJ71u%&}KX_bh>%!;}{Z2=~pIpB|5V zR&M)nmy6?5Kc! z)W2xKX3rl&F#~-+e`4EDHXnc^{=@5DYZ0hB0>CQP@$0McPwzzn6<9Owa{V$ExDG{S zKqQlhuAf-3n+qTa;wCq6>+5TR0;pSyVfAAcWTueuOyJDBknzE$qnJBb$5?9CgJdbj z((7Mef;%^4u_|lG@^J!{SNf9RU@xolGYo{MZwJU><`2fqy8X}NQEP$Y&v`F(h@CLz^ylkyIqa^HD~B z>7x%8&@>DSA1(6B3E77NxRCoig&83T4U%UEXJ)Q&2dRhMco3J{moy+5b^9Ml?*OK! zW;S~mAY5<&!aPsQf<3T@O_Rk~56}wy4S5IL!d5@87M4Tf41MeZdR22pg17U%&<~ys z{SWtXnu;SINRKf4S7{ZH}3hY8)Ub4eztj= zq~ecp=xy&`ak{86N$xIXvv8-suMb_R2`Q~i0oIE5s1&w#FJ%#gbf-k1QLJU~!ZSypA3kdMb5dI$VZL%g7>IiaAl@h&}a~HC^IkG7)+`&R{GI%p$j0LPd zF@u1lcrGDA6zL;XRPcJ$X15*O+0Y$-J$o|bMw}c;;=|At6=UdMv&b3DfW6NM(re(n z-K3c2J@xjpy2QxvTOo7t8c-HM#=_~rj@4?%M5zIdHgJ}qpAk@+0gC}LW+;PjZiQzM z9W4QYKZbtBV^jzDG7SiOgSs9`ItGRg*cO4Hg$ow)zL{k_5#27%&|G4Em+4zhE+WF5 z7PK!5+u-je_it%a-HVkkKi|IYKI4Kl<8Gp7xp3?6nx88#GYd^i5T*aNxikVCql&Ez zttUvfgI5yoUm;nFGh=+E4bW+yl+6;ix0+o9(OM1x8 z`||#MWb6|FzF*W;6gZ5n`L7Hnt**dr`H2VU&TB2&}Z$ z)~Z(Qpz|jFkTn?s-oM;3;iyx`oZe4!5+;o&E02#CUsTau9LR0V<`g$Ns9sGI_Hwzm9{OnIp>*xGnn}$Ia4hR?KjCiK_ zZus7~JWC*$4U+oc*M+r;A;%j#-XwDcXIEZ#Bc?2vNBYwOE-gj6hinD2^cciPTWNqzrNgOz2C6V4YEDwZDk8ay zkO!20DSqA!`fKjT7s>J`SHZq@MWb_u>to+Q7F15Ox7%@2xG35Xgev7l4F8u}TI*O@ zH>Q1*P*FH;uLMfwY9u);0*x2l?gtSy5HHy7C6EvZ8EX&u+xNVO0aYOfh-LN2;0?HZ z*{(_gxS`HD+`=MDPwph4TFnLwDs(WaT!EiF+`P^R=IWunnD9LApsWQiX0+Q34A~iS zzVuL*qT=!$BPR`u*HG^J9Bv8Zm)rn16uQU(xaR*gU`xDotBfetBA&Drps4P3VN~SE z!?bw856uJMu>mz4dg6v@^DdVNne{S7bPDm@D4l7}&q|zC*>1qL|0iMv-~p;_;GfaW z*x&+i+4y|}V1E4I$lnQSL+Z8{Y#oCG<6O?&=~tK%5?>{)$uasx#aSCEN4u{z5C1vN z^pxwrbfVG??YX+ zqfGbDgq*+6SX4n&^@e8Bs2Gvu^r!a?n=dCPor>&3bePfilrr88;rfb2V3>B_y?gfn z)XdLlyEd1XmyL6Eh2R;4wCv)tGRjDmQFui_mvgo1A^*q5Mk13jJD1dOhqQR%89U1r zT>OuHMk_;Yo9dx>pSr#~2VfhPQ+->!nIR=MDWdzqG-MbHp{hEzp}J~ZeC7Mbh?^+Y z8wcfkVi{@K-Eb;k){_90p&A%Ia|Rpl`<|vAe}z!;KlfkfmXz`zNljm(LqJdm{ueap zq9jGo9dy0e_OY&YbjoFcDd6v4#)Vy#>>8{##Vu(=tVC55ZoA?T-^AUQ^#07b1+nj< z!g+pJrEx*>Xv8_N3=j^4ZvRmRXVjOY)b_xo4Y@H9`^k#5vA08WYtnbs z{Er$tb>tFtaM*x{Bwl!1Q1Nt4oW)0aZus|i=qTxbu_yU%lZU!f9_zcNRn3x`|&5G`3iPSwJcfAiK3asbtdnsxk2dN5vK znd}OlIuKr?J$01A=apbhz|1MZ&#oGW z_g!BzDMZ?1YpxP?TKS*37{o#Jx+$x%9`QO_lo@aiu)R`8_P#c-HHMT>&BEb|Bl3Vj zkK!Vmj;(0^-n?i|Ri}$#m$V{+OF2ma*mhxXQ6gX2nr=XN-}b9|2tU_WxURux3Zc;u z(6d?r?lAsdbXPZg1|c#pj{%Tf05Lc(L@aV{=Quc!5;?cmEkp!;urY1GKhH-1uo=FD zr$gvz_?n@7$@uDxVD?ovL0DRIFn85$z>5#}4n&2)liGC~z&pqc?9WCuLjjBJZL}A2 zH9y`NG!~E+Yn@|0rkJ<1|8qzrTb&b)vcWAvqzBC`w{C?)BswTMVBCXKhZPzuetJ31 zoqg86WS_}wt-MBtFXPH<;M1(PNj}Y?P0U_)#sBc-m8Zv88anL?2aOJE_sLZz=IKe# z7;TA*eokm-Z+JCHy}!$ar8R;b``PR#A7lQs@MB7KSef&m#PapNkfx7qeziT*v;s?$ z%zxHd!@)dga$APXBgb}^j0Z5VrvOjg;(B(tXp>i zmQD5l`ss>BIJLrfQRA?PZc;?wNIy@Yq^npwlsc=QjO|*L`K|y%w4y)i(zo&Q zbmKU^<%FRT>Ultdmi821TU7PJ+6X42PB>kPil62%&%@~yIH zEO|(l=-c)Rul#v!MzPi!5-JVgHh{DMbm17x$mj(Y&0xZT4@Dusv7w>vW=9aq{rC|z zSPP9bpr=w=hNzKxOe{3H&9i0BP=WF=rF2Lu(nYYl(;?9H>X`xGF@R85aP_KMafu6Z z$$$5GY$b_~w_PvWBwf`rWr zw3DEh8vM8DD-NyA1#SU=bKS4(!!O z<=IcvT%^CKn_?706+hafV01BARZA_O|*rQ@ZZ0=I0rTp{bedyz8|TK z!bAA@c>jvv!q=9aYuulr9LECdlljv&lwMQD=){=Yzff`$Bq<>@PGGy%;rglx>-gZmAWCeM1-73qI?Evz(=9tr%=`hFs9o`3*@jt z;^qPv!OXqNSDgH+BD_^8Q6J%!rhWG24d$(4q+Ip@2U66*a z(^9fQbgJ9WMzD{82N4`(!tZ_tX|9Q!vA8$^dS=jYZB-RpMn1?{ z?Zu;Eat68oy?bD7^(Bd0oP+-2x&*{ENuw7vJtZ8$X?cm7EpMCem!sj6H`enIga%1P zfaw0I9(*M@rs*mM_BseAe)Iu)LGkg@vR*^p8Svid)=@xuC&)wL%hZPK@yCzt#nZPwD?O0j z`cJ*fOQ{MHY(vQPIHMa8m1m0XteAy89jburun^=}(ECU$|9iw;7UDTXO~$N+2_ff( zv^{?%B^5|C&}qO%u`f>(W{z*_Qa&Cu@n9ze*?!<{Y|wo`Ht3y_h;R~KJpAPsa_O&= zH}bL`e;pS980TkxBp6zub{@GUyfWRJw}>WJa2sY`622|rIog_T`!87ropFJlPoYo? zk>?!KpG|ZK$`~u*UrydBflCMU$#q#+>lSw_0qJfJm|y(Dz)dk}FODZZY`#7H{p~J8 zym4$WBl)F=#=48^ok9wDv%_c|_M6l{g*_DgJ=Yvi)pL6soa>yWpYV`!4~acCFFW!1htXf-uj}!*Kts?OSlwN`d7uuAp{!%z|8+5 zTmC(hjJLAQ`+d_Q96IWLQ(Rp@)aX5)!DP>=`Nz0 z18O8-vLTC90mP;>{F&b&pxV)Uk+~Md{ z4FjshY@xk9%Dtkj?6tl4*=I9Q72cRAzb$e4-*ZC9 zy#QE3VO?Ea#G=H2mX;O{D8neO&<&<2fEpXo>1w*Qc_aChh;nZyk~ju_yFp~ zTh7i}y2Dxg0`yCmfCwR;~)B3+{BVCsU3ewRAbn>63p%`8P-s`s5e%h2?p}>p38M#HgJu7Ypt>NXV$I zz-kRfN;(@eWFc88H0J&--*KK2`29QR&!4H*aS|2 zt=%u4Fus5mfcG^;*{#vafKLn!s$ML3(s~Pr8}@_7b6r;@b*vD8<|sa3l{5rzCqOs& z*w94^qpr(*I}RkH0L~LxpY-ZzD;Ee%xH%nLI5ohJ(yj-SKoGh#3p;!A6F-~Loj6<} z&ukd)b0T0YMU&kB>8OYrf6LFl%v0TYge5G*(<=&{Dmf8KuCFRV4q7m|l!6d&wSDLrQ7}j<-&!A-yhfo=fr3?k*nd%t&!p9VDcWxKERA z9Mntap%_{Icb$Qd(cAk``nz|Mpv?wXT=Q{q_PLe2tLx`qn=hy3#FQ{`4U)>re!Q_R z+&J*&W{&T@OxZNOrA6}Sy_FGKk_Zx=P{ZZ@pF~{OyXNaIEc9x1mzlrHGZHP1PVp3o z(0!2>CsN*~qk^>1&&7Xv+CuThT;@F$xH8+uMT*IFI9bbijR!ES=qkpxiC4T6u2DrT zDCvoMIuF{3x}5#SJ6>jRnk$yS;6b}ApOzCCVT=Y4dNu`Fjp0y+GV)WkJ)s@{OAAmf zFuvao>a#v?zHPmlo^NfGr<*9aI%<^KyK&O}_IR{Fpso8g!$UV2?>Ez$nHfDFl-q38Qa!J8A@Rg5Ed0(PwaJKr;b0|c5SGfp9Ovp)R<_+Zk@58?cxE$ z{S-;UP$eKZ*=3;xO63Cv0x(#xSTCSmLXcGpAT}Uu&WK|%Ca%r^8^c+J4h)4iu zf)FEgEWya$WJ)ufE|aERO^psK>W1nh0C8Za>hwy`yF30BRzn!s6%}1gXaE2JMpfy} z{V{h%ERGW;psY#4RbPfOuzupdqFM@98VpEi(K=w(akg@5N3mOLjySb`9k>W^0|DxY z4*QhttK{vfTZLI2)Qe@1K{txuh$<@Xz(pY0M#+1>)oNIS~h5P5*H;Jw;t_1aci5={${w+GvNd`8tGWLn9w`jjd zOb}FT0JR9hC42$VV$0)gV!?f1$}k5C(Rl9mpYr+LXWJWHM;spCtqA*WUuk=Sj~vMC zhBo1Z-sOZ|B-~4S{BOu&5A&)3w}Ciqtf|LY3oDi*PItq7KyaW45C8tqS}4 zN!H^WY9PJgA;VvVHt69!852FqceRNb`E|4E1XPd7r>!An6FkNcJHt&C-DF#VT^olb zVN$zVxPJ{%F)0#9d@tPk@s2S~8GXP;EnKV>OG-)Cth$Q5yZmKHdd11{OV}q=qFXrm zN>Y2#eAA5A5mV#A;bg7fA}+|^Um?e4m(=w_iL`;I%S$U_qafhO?1y@L#(8HIdtslu z$3?fhSn0N{8h88l_1v&EEurRUcTY$;YDrC_EI}>yrO34JLku)&}8Q$LM~J_PkT-({pIJTEb?mfI)qJ))yeBKxA^!+p}md$($GMOdR1j`TiWXNU zPq|9<8L>?5MG(KBBPS|M8p42dfDe9GH-=ek=KK#RB+E?xlW9V?tO_RuT}0f!JX7tP ziPm%gMPcdLOCe#{(=Pt}{7JB3I7zwQs2)zdz=*N9mce@+(e2f7c6yG!JCFE0u8_He z$1zlkI*}$n>V$q41e9StKYu=}C?9QWThQNyq%@nfy^#q|J$(9C0eReDrvO=_bOn>o zbRwsQuKL;YjOVmrh1@^hRBXuiF26t{4UNv99=s*blCaH<1I0WD!bNHv1_b%}-@+1p zh&CUM09#_(&2AfnTL6eAVJLg2h0EPH*0C-l*3ATeVQ5Pixe)++6u8f(9ntRk-aB{R zrl(J9JN%%K(Fj6%CzvR_x%N<8W3beDI!mT_bDzES-R{kwH!^N>4;z>cUL#J*%bRq_ zwM?^p)5}dw=m}Dioq0T#xu&BTWr5TU_h_7)!`Mgr91?EK(-l}bW7Qro+k!^3>LFu2 zSboWNPt6bqH=U;)E^Ly_h`{$V^tc&g^Qo0CS6JGoA>>|Pv}d7}(B7-2)U%~oA@H*l zj|3vU&_H5a61JgH}fJP@F^aDH+HK(B8r_elUYuXn^hc>pd)pm7Uu zE`|hNWJMU1+odH?7iuNPKY)Sgwz>>+IMNFoFIZAj;nv23Z}mwdV4Sb5hz6x9c^}7L z>hXf-qC{9g!(?2K|8&MAQ8Bl4E9Lt<4r@jLB;!J39h{DY`H+19LQp6uZ8BAZi61=b z;^|akR4Q2PTcUKqZt=CQkRwRPF|Z-#(g5*{=&i?N))&1(woXlD=vs~2-97&E0!h1S zO#|x&Km@I>DwG^jcv5Ox8M<%c@Ps3zIynk2kzwlsBqI{CQ9CxXJ>11DyI!j7M8+~t zzE`q^Ad&MjfaNIv4X|$J$!nPRtd`koEEr@UoNlt(LixH^%J8%p>U&@!g#|x2j98;7kGx1+=E%t*=xQKoTLx@Ma~R8|6kz) zgckwMeLW-p$;SuIkIL`mmJm+)1*$6CXZ2#BMwaQEJzmJgD;JM`9DO_-Q!R|#JMiV+b1|&Q74{AN^CP2aoC(fwynO=X1Hbmj_it+0)P+7%6W4h+Z-6U_M|$8^3#0yL+>&Q?IZ#%L>Jd;Xng zZh$9Ket`Kem5ip}a0Z5-7BG*1A6dDrq7Yj!~kdPw?48^N6 z$Q7*^rk8Br{jYm<{Dc1?EM-& zh*wBSu*o7LezIRY^}<1T_zz^sz8c&5H@%&F(t54UCJb$lJG2o zct}V~x~-M;pV@Yw^3?knzqsPNn2%lw4==jtmB-fFy;aF@i=dMHrLu}k*!QmaogN0m zwESr*dm4h|FO~Bk*9TPQUegR>)Gdb9P+t?>#F*OK?r!WBE0ET3K0Q1?aJWafvt;O za^K9tv1`^c(2&H=G&okYC~+n%sP`+Wr0b!H$Uh9uBrCe(v#wBDKOZ{MbX}I<6;0P2+Vv-FdC|;89*PlwkL;w(H0;=X6AHG7j^lKAsc}V9wcf1T1;#<@g;~= zfeahK@v}MdQ{+fjzTEHNywp<0(*`DMvK}`i}_`qe*aSqhJs5Hq)jfr9jqVrKlEh* zJJk8f9+?v09i&!Rwj>8)UWP*hs@nQ+n?hpU%1Y4>UB+&6?Rd6LBH}Y?CbRI8)y8?N zhmclp{S91maPH)qR-%iyqAaT6lm(O)R5x%}L`g7i-w2&lc{ozpR+2_Es5_yh{ZhmC20fH>=Hjvu=NJRV`j9{Gxz-pB(?LeZZ=SaDxCIrNsMSDn*^i0+xJ{{+Sg$Z}Ox&jLqChG% z2Wuu)wRw{%DIjBjXk&%`_RbYloZ6ot;8{Fn0s$ccpDkpg9)6y)45}!9nPq3qpv0IZ zGL1C9T@bcwVU@(i#)?6FxcJwvUoTkkIeB>cB{@PV!*V(CT3s0B#KgpAHVy=8E1oB_ z9ZQ6yjKee$#ckT;Eq0TaJEU1Rb%=L-N=^Uzy1t~u~C&$MFQ(jSeuc>o6yukZKK{UC)=0V>L$<`pS zLHEi-v~kem2-y6Dx+r7q$U>fV2*JpSN>pFiamQ_+ zm9gEgGiJ7>^mw?B%CRgaz6_3`obDOqSY7*xPG((NDk#f+62sGYlga>Ae;$rdZ-g%1 z!}V`kw+W}CzmUJpx>Jt_H)C6j+-{`K6F~hTce(RWG)}!KUutjJO>lVeTmyg$GBn;}UiDsy^V4C8_XAgrVKE0xH4piz;ZNz{ z5VI=pFJldcjHN$$YA8XoX5$-_gn}uWg+)lO?X9h?L*H4N$l)g$t_PR_LPXZIVZs{Q z^d~-k-ZnNi^@hCf_?fok6xljJ(a`mgg`m-QnQ+E)QH!=Hv>BgRf{AK*3$-S%Ta51h?`nE0Gavf|I3$;k{b{IL&r zSP&%zNge=HfU9Bs*>Ou;(^K_m=DsuXth)8#&rPOVnUnF0vQfG&A~*H)R>CVn**Dy_ zZ7)L1BVI~Bee}uUF;n=>Fqo_WR0tvj4}SSmWj7MxBCx|5RwB9i?NSEcqC9?3;9qjYFV~>`zWn!gPbyOhn6fW_WnUx<8;^8JSf{y#eK>kCdvKus zSH9yUm}TmF<1XMn}7~k zW>2)aILn)GyK#>M^s%f3G3kBhdywY{01UZ}!@0tjM>iZFQ@`}^u%u?FtQ7jH;Z0w( zIQOqJ+H<|M_+xWjAj4SY;(5E|(iN}Q(8o%t@aD_2!JgV?#k1yk zD8>LSe_6X^`?8!SwSv5ys><1g+{>3Q(dILVRfqNn%QjB+9t4Lid1ib}K`$|nz$I7lNFCUO ztlGLmv~<5P{}uHv+lJ};@AT^{M^l5`qAxF9`ZY-S>8d*z1G?G1JdMcYGkN~6Bqkn@S_hDOLc}E9Rf+B*JxfW%Ki$oxNr*)5*X$N?P{{Z( zVk`>je+)=2^|z}ezYJKo{{QE;>9mD{CD)2 z^sPi?Nq&SBptQ%|(jHO{sC^#)23>hDuY!&?z6EuJf`g@l)c;ude8Ydw>EpjA8mi6k zomxu$eni#K_tqT1Wao~6Y|%t?>CNAtM2<7Hk`HgMKPqZ!lieHC!rP6 z7lB!@XrZxhA)iT51T^^m+FQpO7>gP`7;`0uuSK!LmCem~(cd4pkR>0NU~me5WDp$k zU03yBjHJn~XWDq4GqwTT5x3lnXAv(URvyOVU!%S5Cg{#+@Jhhb^IumDO`*OqUh)7k zv3L37=g+~Qr!W>M&d_fUx+f0nr5or{f_k-#3j?? zSz~jj-7$*Um-2c@X%sH7c7W%v&xoLyCWk?H=wf(Jf_mh(-;wmO4VaJTLHG27Tkh2%KS)6q)vqEW8jiOVy;W$Hqi7eOPz0nTV9p8Q zcD?x-b10}hMfLFiSi0)4DA%XGgn)>&utvJF))H){gdRV$c>In4&Uc zJdNw!FJ_$%b8Zi+m<7M;VM*)D)w`MZfZNK|0oTd2I`~pDzXbqsdTobea7$H1N3v`(T|s!80%{9J99s*sU`O3t_#7&ZXy>?lMVKYgNP((4`J`f zT_bzu&uF`wm;;y)j@(oQii83`DA$gpg&dk*C_!BU-~7)cusb!tVPSQJmEE*j>MFT> zMj2$=XhI(EFDJhSH>`Z4V;{V6@t#_;}O z3a^HD12A2{DqHsVMbLGbuGUMf;_YybU`5|3e&6U)hPUeI4YFEK>L{&)h5pTA|Gx0s z%A_@4$;y}7>MW2%!3a1*JUfbg#8=K%_Lv&;20ZlsMn;l{?{%uSyomSFT)w5!{?jKl zzwh>HxZwNt>In2t;1+xEz87VQc*Wo}=ol*ivW>{nO=yK)Ff-G^=1IJ~KYT%qwAOuDufUMk|GUQ&)8Z*SQQO*?%}b0t z&K=<$lw;ww<>jvLb-2XTI1bB3^HDUS(>&Kcpw9f6WkL43HQwh>0~?a}M$eNdXA$!x zy0a~%5LJM_f;krrpaO2i-IUcQBJ`f1SCdmG;=UEkByw1Sj&xHQj;I(32sPAotCP+|*e6+RL(v znws|_ge@rjQFB3&haYKR=*9V-7H0$Hn;4ch2Fh$MwZJWrjQSLY(!d)xCh#9^FNU^R zbOwzVuvIYAF4QL#lXd*VZtE!POk6`#3pg`D0(e*>cGL5L?!#BICpQq5s%k)5f*q!1 z^1ycU=Zk-Lycc%7N9w+gI9zrQEvQzdcdgO+Y6T|=9zvSt6`P{CeXcdRmg!3^U?EnolBSuItEyX%_+}Py^MEMNaOrv1{2VI(JIyTyJ*Dz z)wJqQF))setS7r;tp$LN`HG3Tuz0YE=uDc}>xq-oP!08w@43w4>B+}?H;!H0R8`73 z|EtL_LTM6u`ufa3ibD&}jT!7EX2Ig&Umn*B>b=oCOuqB-CIX_Zcwcr_#VK2Tc<}L; zJkfd8mB>%A;8>4Mbdzla)DBp=7Ls3c^YR{{l^)~@wd$s*@jHF$5!;G!{bi53rIYM0ckG|_ibJ#n7?_)G?lA52QvqlB&_9rgI_%>)-7=!k*S;ox6cR~H9CNJD=lNPTA_=EYVP zBbvlWyRHwSIY}hM=|F%=cUZq!ymrB_*Tcjha&mP~=bipOoqEK@xK~RW_IyJ#MGbo= zej|5+%k6-1?D4(8C)M`PaW-*Wa`YMZ9aY2ACnCksjoR|iF_$X()w@p>VAiW%oNN6e z`nkt?ru8^NV86f3oiO8N{2#GiIY#x`DP@qbfS#-VI2_jOpy7G{;ZNyfF|NGZUrcw6 zIgIGRs^btLuNf2@#0c!`Uw_H{Od{hkm{OQ+9GnERouJFI zIT%O?^k#pQ^Jc<63$FfF`J6^>%N;RM0f}eG@b{c@R+T~i4GFS`gUMUK6dQ85I~dcR zp9IMq4P61NmHszGkjD49^?oHKSdlPj4kl*jUAj^Y4+n&IF!BBQW8=H&Gt&Ym;v*`f z(X@=CN0#ooy?;QRKVrQmt7{UM`PIZ%2_%lvp)i2!~VJtmP+T8IyNrk%QdsgNTTWA1|@lWIoF zU+sGwi09wp`S48ujvRP2Tj{@AxuuO+mTkobvO>ML8B4S%s5tIFSeCA{djFK8Fz1@} zx0O$^}V z-}T3a4~=m06~E|#^#~J^Fv_$D+Ac5zhglIy4?%A9@gxZqI)UXPEI+Z{W^mmg-hQ}y ze5yimJiW2O2V)M%4+U=B0*TxHKroZAvLMl}heqGUK)-{e4N;rdM3UO1`5Rl-f-W;L z85xXTnS>Djgd?I${H)dlYDt-GUr3uKGG(w@^@u}@S%0Kpn}gYk-b!&$SbpmLA0g_u+{=S z`@n)lj?iGSq>s7PIq2)s5*RV1fUmoYkw3RwLfs3s64ZrjvDgyq5DeNNf(+ZTM97}9 zf^{DuE)Lm{(eVs7>N5x$SwqcZA&6B0!T4(@!S%;;U(|nSS%)Q(08pX|SlaWa78<2x zW0T0Qzzw$%;4FyTUB~GX zc1S&^Z`h_k{a87zM`7P9-e)ZcnP57)ePq#d>`K~kT>z$C_J#P4`}P)7*#n}oQ;Di7 z9lOJ2=ast$%cr~IXP#$vf^7(rM!((QM%XW(C!7z+&IPQOoZUK4z--I@h34g(-aBXR zYYd}dp7k^Y=?Orq_7v;wdAQfG zzdANG)w&AJ7AyqXU7%=+2bTOCnxPi>aIct{Px16*`LajK(r`%4KsrR8!JL~8j+TW& zBTF|E*oEzeRpYos?M=vPISJ$L%9FdP<)Un!u+w8YAt85OQw{@7{p_^8U&SV1iza_D$l z$|*Z-kI)2Z6|Esxa!qZeG3mL#@%z4((3E1;nE}6oCuDJ}YT}6FKCo`+PiHdV!h79m zJ$xXx=(SOejSdT%nlky)1}!Hn;0(Upd%K;n@l9rJGPczuB(0~=G8T{J$;1Xwxin`E zs#j}bS>zM+K1jbfxUWo}{ai}_(T;X>fL$IJy3m+Ul%xf0F)IC5){0e%2ia~pS{cz4 z-zzq1LG?m3@`;+#r;fmZ%fA7B*WKYhk8|>c^e_H%HVB4q4I^iZX2V(yE@0Du3AcXf zQvZfQ1THsiYbvJKYB>S+Lf~)>w>ga2*nmP)(|eoGgWf4r>{_k3J1-v$rH!H{J&v80 z*W`|U_0&-pQK-PyxNmQVgK~{yTgAp<7CLQnIwip38ZfY5y-jWoSJ_8f1rKv5oTVu^ zQ3wJyuQM9nAsi~oA*y-96v;T~sVwYWD6-DhwC8_*q(3}pIC=;b4JN=Ml%!A$)a%wf zaD$4g14*H2N%2MpEH^;@AANa|g;PiLoLfRA%Z-6Bna>1wkpYySjLtRTjM@=5mM$di ziaR8NtlxP>e-i)W%x3XsVce-Z0XriF^D}Atkn34}Hw+cZ4E0O7>%9A+u@6Dl#lr_s z;s?AMl&ytW02_pj@U!4OX@o`!YmW*5FHp$b9wyJoWscwW)jfT*;)if2Qa@%OlooZzk*%wCZxBlMY|DdYt_4>iQ2J?Jepx{IruAK*rb^4BL5A$?fr@S&YKXMVS!CCWKHhdoL??l<$tBl!@dC6 z*|TTE42-tU%P0nLWC0--isaP*duSu93o-%l#%klnEy91_rg-!q0>5DS-~_BK-_Mts zYWNurOZlCC-YJrmv_SG8LzoIi6BKp?0YA+;O3eZpm|oj4bU@ID!;b)WoiM0KP=rEu zQsQ?(_Y0$$zME#-B@-}t=_(zKW1A|qd_v|q^6_)KUUgrf$!Ocm6e|9`5&`5N93Uiem_EcYOQe z?yvP{1FL(aH%(x8EJzKFfZ>x9tE&K!BNG8-eXBCqtDX-ENe zQ0C%P11PkvHw6rm)oO(L)5@!|h9>DXyD(H3^J$N)?isba{8-r0UVHFjn&T!i4 zc=}%?W)Ia_ye`fqgw~TMrMPnYrJMU?uw7e<;Osjek?mbKrlBE!@O8$*`@@riUzBw7 z4Sfe|ROY_RI&6XB~tvY!&v~@YNkH%ywFHkw4i%!VWmyGSIC|u@i?w`U%_iaCC-(RqfCH~ z-c#U%lDrpFFiNh7kv97Hd7zD9Bt4(1DqUa8_XQ3W`pXG(klrbMxlc%R{Qwl5fx8ceyiV4j) zE+u%ZSW+2`F)+g%YrNBM20sHZD*!1dot?yIc}MPo;HG@K*O7bnj*ge1<{<)sa_5=7 zl$N5iYd4!6_n@oF=&E>4=)*$GB{+j{Pr;}L{D8T?J!wk^C&X8i3#-3*??9*(&199o z6(X5AoV6LH2(vKA8G)^Zb#y8%4J;_QW+0_WM`@Bjxyk?}&6TeoBysVBvVUE!6QDNP zc^P~IMI$swu0UzSvg^X2LQDCPYj4Dh(wdks%725lJRr2vYPMu`SbP6vb$o#OmeD5ICvv*zU)lV>+-J{ zr_NmLbbo%VD&r*xWWa4<4KoAJ^D-*^Osq;zJ&o#dPTigjxYJH)KZO( zrv;-KeWl-+WahJb>xv-_r1THJky<^{rVdAGD%gluQFuDM)@w!(8shrBAUX5@@d7*A zjJmkYw`rzJ1~7%mQ(Us^`#tKvKDvcDO2**MoJ=23(@Kkn9DnQg5Nf0TbN%-^SqMdb zjCu$Qq@oz?U5%dy$Fa8(!JtUQT6O7gVLkd_8Yh?M`qcoN>1VYcukujbAyxWLn7qAm$kZg9B8Gmbw%RuzkhURtHe=quPEN+!0_-WiWezZ>M z$n#MxdhTwx8c~kK9iXpZk6mA19%PyiJZjW@>p7H4@nBPb=q}844qpgre&`8sA;Rnm zx0l>pjPJdkk7UYtt;d5TA1EMQCG{JgAFTW0coKDiBRuMpr|%5&5{cHDru8XahzGa( z&E10owwi7JP@Vo{xMrV-Na{ETy!fF&c+uwaJ4sK8JT!HV9hO@@;$ZO6qz(D==g+M? z<})IgLh#(uOz{?wLuI?MJ-6us!T0#_y|J%TSDBeH=dg6V_weJr1@BCazgmz}-|^M4 z){yr>Y#CO0(6_^3BAWsC6z_j{w~lJ+#Md4ez1s7*9ypsE0D-p}>jnh9tS&NKAMqnU z=|y_rf`zsuj-Gm_*y4wY^?SKoU5P<{gB0^2pCUrpsH_8_z*+eC(ASx2CnP!xnu3fm z29^(3JpA;mwC;c+9rP?^04J1Q%zx$e%N|)cJ2X!2Csf$MeI^C1L;~b8LkYxEP-Xr- zPk7s=s;8b(7_{lPd2$$l*~Cb`zJG64LTj=!kV2CD#oKTAEKTe}e7N^QqA=R|SF_3% zZnEMd@f(pEEs+V=ESZjb;x7B1z(szCzn$s#RUJCNczK0279#TV2s55&a`=}bhI;NNklTEw^53e zYO14fiC$n2pa!5dv1aw<0ly#;n$EJ8xf-~I@9ySVZvlDAMu*~igh1h&*J|8Ya8zRd z=c>mfkaj?U9Y1dl42S{O6(gpri=_`p1@lkN{9PNY^86efHN{czH)b&B2d_dDHS2(n zi?wwCx!G?}^>n4OMiOLH02AEPlNR7Guml0r1wfnhl_ohWwGtbNdp}mF53Xe|>U;Kf zkh8zn4(^a%W6BK8&r)cQq8|o+$~yvUbYDmwvG}Vqf6Q}|?w8blYnh9eKU^900QvK) zm$)SI)zdeOIs7n>OaPyRJ?n^F@GN(u|JRCkRy09kIk|*Dqi(&nj{zi70-=4x&7Xh6w*;Mc9(cPRNk7tDGGaeYMH++NYhd$WzMlG1asAzQ`VgT8SC;eU zw6uXjHoa!(Lr$xVH;_mb221Ygq7QfogG9AeB{RF@!yy!I^upj7=Zdy#sMsPl))ve_ ze%J5;zmR9;3>;6QpgV#6f3t_xih(OSKlYOFe{rr&Kn85?1lExi+y_w6Pog(G2$6vf z(+0dWS43obUMqSzAAgH)mDSLiGa6k?hBu^N_iky+SpJfv{lMj}gNdr#9jb-!pElQD zj*ouR$ck|%SkaB$c25l1WxvIg*Sncicl9st^1K*#gj^flW{}-i9WI6=NIZPs_6i#u z3^*#3Hejrl)zn0T4tRtio?&u#I-5Bm^W-z$3sMf<+uK0tKw34UNM<~y2w?%*-D4}1 z`-H#>Shc{<;YQ$B8~1+Yz43BbaIXawyJXrhv+Bli@*hkk$EpMlJ0H2C`6S}+Ch76P zBoI(Mu^yh!J4o=mG$KRB4oT2$E%>x}MB-Y3`;s*GwSWd{eC}nyFF#K>0yiK~ARK0E zXb7>GvtjpqeChHRDrlf)HnB0-SkeeAPO@J}J!Lhznx^ecI#3}$llKrcDSP}p>ksUyHnB#z+#dEB=DqZK#^ylb~ESdEJ@Ql{h)*27| z4A`?Jv%xv(b_fw3Kb2TFw86m7heZv5)6uPSa(43}yD{fXx-%;QLvai|TGt}}s;x3{ zADGLnKYO@GB_35K)f>6r!XZFpU?JG#zw7PK&}J^NbbBly*MDSLc}R;&d=Rb7)zJss>^x!1KE3T{R@jLr)d#!vyMSiNruEn|wsXTEA=S4UopLrWaI2f4)8{$% zLd=m@zn0bm;nUTSaEEq4qa`3({24eS)I?DxO5u1Hnad;!hT~n^6zCPdGpqPbhbsyG zW7~~a(T+wm3AvH7@AOYm1F34*v{5*AKt={A0}c{GC+tar(4Cy3CSZp_oCw^qSYD%{ z)vmHlOYW(PxXjrPajYd8>{3B-0TgeUgX%sU1oYW(0pzCQ5!B*t%8Es7`e0Moga3@Y z@_LDfr+^=$w!q@@RsTCu)Zz%Ik@D-66vPWF!HZ_jis?C*qGDOg#^d_qPE>Bpfek6Q@9#@ya%K98T$YR04$o-%q)r&>k9wTu zR`woOIWOb#wg=m!rlcd=!KL73hmG;+^d?5;-u-)9QQD^*Bw9V4^3F^OkUE7WwT6;M z`vicnS!u>y{L#lH3XqQjJtfA!q2#LNb1UU4@KwhS3E<8Kl#TaGKE)$?iA>S?2WV+z zc+mQ~BSL@y0%5sGWIr-CcV-R0(NgH>XwtZAN-32;_4LMkESiYC;O1>BDAn-ufFVj~ zm`sYMS>6N+BiMYiP`+15w>RyKLJ!J^--Tqqya6w3UbIB+xxaiMf&?`Mqg;;W1k75@!*d+~&RKPgK?j~(3 z#1nDutnP<|n#;A!YU_0c$`1&wJL~)qsH)Y#HOzoW@4TU>l?L0Jw-aBvON^jM zY~hCc<9hF%{+oKwO;d1M+7ZV8t>$Fz{#3nzO02?HEG zEaw`rLdNulnAN~5$qY`2k4K}g0s!mg=63jCI541V`h4?rkpIknq2kDEsDjaV!HR#b?PD4s zF>SS*rmZpj{>UR^8X$7G6=`$E3eueKY@XWr&ObJ5DY&EE^jXuHCgGLaCkBLIGsww6 z0~YA=(dm8528Gh$E|JWYLcJyyaYFrtO9;@&0%?BAbEfsn~Qd&pp~xrM!#R|*tH2U9OeES9#xg@tqAsmgYeAMt#023fd(n3G=^gc;Q z+Q24M{9w0fut6j6~cIUi*k^511`Pk{H@5s)#?r@7x z_)0zwJbH`EVqQ|3Ozo4)uuwWb{%OB7D!h{Pk#onZkLipmR5yD#_$Zz z3#x7Z=BJIh_t4PHKtoUFemprouB$FP<-Ghh*QpK7lP(YrGl=i;P*&T*0>{Q=b)NZ6 zi6?Uwizh9zrwSjOp0FnO;OIvB%0$?=H>FrKzQPgI#izn0M}*)6T9uq6$Bz3TS(NZq zR1HfL1;mM;(TK#vh*X}+yvbo6#ZMt2Vha>Ng|L&e=Euf0^nBEmGJFu6h$ynW#|q$M zSW%`o4Sm`}*hSxmZy{dDt!TDJM9eNRH@FW%{J5wu9Ufr*in{#iN=uQg4b&@Om2Y(d`NL6ueZ?<9+G zk-Y#$q2R4!!`;2pDmrsgs$Oxy)YxD#-J6Xr9MXLWLJCKyoV{0li&uX9aryYgB3CJw z0v`t?o-p~hHEg5{wdq@lp>4V40|u@BTvU;@*o$b|bQjRXYP+$UO)!LbI$0HjWh#N` zYI65_2t97d_q4(M5JRxey+E*pJ{LxRl32Gf;{n46i-EnzYx-RqY!o^y1zs9!J-OvEj;nLDC2ZJhG)+-`eZGP@@_Emv(US701$B}tTl`14OVmewp7 zVmrqAn<@1{t55U02Ir$6C~F}1YzlwfRa&{V2v`OD>(HK-NXOZvjp2Q7>N zZzpI&8-d~nyjf_cz(?*^;Jc1nj)9lm7Q%0DKDvwtDj%UXQftQ%iwnC(XX(3{y-g(n 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

{F;l=-Ri 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 z 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

#^i!zR2!%70?? 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

pt^g-J(L$?+ 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�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 diff --git a/depends-data/video.png b/depends-data/video.png deleted file mode 100644 index 84176b2d99ec02b7cdcbba455339ab32509c1e2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63149 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

hgqsRv6iguD}@n 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%0D~# VU|w(ap{Wc&;OXk;vd$@?2>^$K_C5dr From ff09813dbed86237393089b250a6f257dcae722d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=A5=E6=B2=B3=E6=99=B4?= Date: Wed, 16 Apr 2025 14:55:14 +0900 Subject: [PATCH 05/43] refactor: remove unnecessary instance variable in MongoDBMessageStorage --- src/plugins/PFC/message_storage.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/plugins/PFC/message_storage.py b/src/plugins/PFC/message_storage.py index 55bccb14e..b57f5d2b5 100644 --- a/src/plugins/PFC/message_storage.py +++ b/src/plugins/PFC/message_storage.py @@ -50,21 +50,18 @@ class MessageStorage(ABC): class MongoDBMessageStorage(MessageStorage): """MongoDB消息存储实现""" - def __init__(self): - self.db = db - async def get_messages_after(self, chat_id: str, message_time: float) -> List[Dict[str, Any]]: query = {"chat_id": chat_id} # print(f"storage_check_message: {message_time}") query["time"] = {"$gt": message_time} - return list(self.db.messages.find(query).sort("time", 1)) + return list(db.messages.find(query).sort("time", 1)) async def get_messages_before(self, chat_id: str, time_point: float, limit: int = 5) -> List[Dict[str, Any]]: query = {"chat_id": chat_id, "time": {"$lt": time_point}} - messages = list(self.db.messages.find(query).sort("time", -1).limit(limit)) + messages = list(db.messages.find(query).sort("time", -1).limit(limit)) # 将消息按时间正序排列 messages.reverse() @@ -73,7 +70,7 @@ class MongoDBMessageStorage(MessageStorage): async def has_new_messages(self, chat_id: str, after_time: float) -> bool: query = {"chat_id": chat_id, "time": {"$gt": after_time}} - return self.db.messages.find_one(query) is not None + return db.messages.find_one(query) is not None # # 创建一个内存消息存储实现,用于测试 From d8d407e404d3337df47c735d32c23dea85bec65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=A5=E6=B2=B3=E6=99=B4?= Date: Wed, 16 Apr 2025 16:37:37 +0900 Subject: [PATCH 06/43] fix: update ruff action to install the latest version --- .github/workflows/ruff.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index 9c8cba5dc..b3056fa6a 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -12,7 +12,10 @@ jobs: with: fetch-depth: 0 ref: ${{ github.head_ref || github.ref_name }} - - uses: astral-sh/ruff-action@v3 + - name: Install the latest version of ruff + uses: astral-sh/ruff-action@v3 + with: + version: "latest" - run: ruff check --fix - run: ruff format - name: Commit changes From 815f616dfd0889abef26b95a9a0389ea46e4d39c Mon Sep 17 00:00:00 2001 From: Bakadax Date: Tue, 29 Apr 2025 19:58:16 +0800 Subject: [PATCH 07/43] =?UTF-8?q?=E5=B0=8620=E5=91=BD=E5=90=8D=E4=B8=BA?= =?UTF-8?q?=E5=B8=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/emoji_system/emoji_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 211a4a835..315cfb801 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -22,7 +22,7 @@ logger = get_logger("emoji") BASE_DIR = os.path.join("data") EMOJI_DIR = os.path.join(BASE_DIR, "emoji") # 表情包存储目录 EMOJI_REGISTED_DIR = os.path.join(BASE_DIR, "emoji_registed") # 已注册的表情包注册目录 - +MAX_EMOJI_FOR_PROMPT = 20 # 最大表情包描述于图片替换的 prompt 中 """ 还没经过测试,有些地方数据库和内存数据同步可能不完全 @@ -634,7 +634,7 @@ class EmojiManager: # 使用概率分布选择最多20个表情包 selected_emojis = random.choices( - emoji_objects, weights=normalized_probabilities, k=min(20, len(emoji_objects)) + emoji_objects, weights=normalized_probabilities, k=min(MAX_EMOJI_FOR_PROMPT, len(emoji_objects)) ) # 将表情包信息转换为可读的字符串 From d5ae3173aa40487e3158ef5fa59372e36eb4547d Mon Sep 17 00:00:00 2001 From: Bakadax Date: Wed, 30 Apr 2025 13:56:34 +0800 Subject: [PATCH 08/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dpfc=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=9F=A5=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/conversation.py | 4 ++-- src/plugins/PFC/pfc_KnowledgeFetcher.py | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/plugins/PFC/conversation.py b/src/plugins/PFC/conversation.py index c1b314266..9f744c30c 100644 --- a/src/plugins/PFC/conversation.py +++ b/src/plugins/PFC/conversation.py @@ -525,9 +525,9 @@ class Conversation: ) action_successful = True except Exception as fetch_err: - logger.error(f"[私聊][{self.private_name}]获取知识时出错: {fetch_err}") + logger.error(f"[私聊][{self.private_name}]获取知识时出错: {str(fetch_err)}") conversation_info.done_action[action_index].update( - {"status": "recall", "final_reason": f"获取知识失败: {fetch_err}"} + {"status": "recall", "final_reason": f"获取知识失败: {str(fetch_err)}"} ) self.conversation_info.last_successful_reply_action = None # 重置状态 diff --git a/src/plugins/PFC/pfc_KnowledgeFetcher.py b/src/plugins/PFC/pfc_KnowledgeFetcher.py index 099b4979e..673e418cb 100644 --- a/src/plugins/PFC/pfc_KnowledgeFetcher.py +++ b/src/plugins/PFC/pfc_KnowledgeFetcher.py @@ -68,16 +68,19 @@ class KnowledgeFetcher: max_depth=3, fast_retrieval=False, ) - knowledge = "" + knowledge_text = "" + sources = [] if related_memory: - sources = [] for memory in related_memory: - knowledge += memory[1] + "\n" + knowledge_text += memory[1] + "\n" sources.append(f"记忆片段{memory[0]}") - knowledge = knowledge.strip(), ",".join(sources) + knowledge_text = knowledge_text.strip() + sources_text = ",".join(sources) + + knowledge_text += "现在有以下**知识**可供参考:\n " + knowledge_text += self._lpmm_get_knowledge(query) + knowledge_text += "请记住这些**知识**,并根据**知识**回答问题。\n" + + return knowledge_text or "未找到相关知识", sources_text or "无记忆匹配" - knowledge += "现在有以下**知识**可供参考:\n " - knowledge += self._lpmm_get_knowledge(query) - knowledge += "请记住这些**知识**,并根据**知识**回答问题。\n" - return "未找到相关知识", "无记忆匹配" From 4802c1584bc9757f157cf73212702fb3f8e16197 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 30 Apr 2025 05:57:04 +0000 Subject: [PATCH 09/43] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/pfc_KnowledgeFetcher.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/plugins/PFC/pfc_KnowledgeFetcher.py b/src/plugins/PFC/pfc_KnowledgeFetcher.py index 673e418cb..7453aa0e6 100644 --- a/src/plugins/PFC/pfc_KnowledgeFetcher.py +++ b/src/plugins/PFC/pfc_KnowledgeFetcher.py @@ -82,5 +82,3 @@ class KnowledgeFetcher: knowledge_text += "请记住这些**知识**,并根据**知识**回答问题。\n" return knowledge_text or "未找到相关知识", sources_text or "无记忆匹配" - - From 7789050a45d5931eb53bd94ab2403a22bc44f5f4 Mon Sep 17 00:00:00 2001 From: 114514 <2514624910@qq.com> Date: Wed, 30 Apr 2025 14:45:28 +0800 Subject: [PATCH 10/43] =?UTF-8?q?=E6=8F=92=E5=85=A5=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E5=92=8C=E8=AE=B0=E5=BF=86=E6=A3=80=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/action_planner.py | 39 +++++++++++++++++++++++++- src/plugins/PFC/reply_generator.py | 45 ++++++++++++++++++++++++++++-- 2 files changed, 80 insertions(+), 4 deletions(-) diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index a80e96b15..dd7355fa2 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -21,6 +21,7 @@ PROMPT_INITIAL_REPLY = """{persona_text}。现在你在参与一场QQ私聊, 【当前对话目标】 {goals_str} +{knowledge_info_str} 【最近行动历史概要】 {action_history_summary} @@ -33,7 +34,7 @@ PROMPT_INITIAL_REPLY = """{persona_text}。现在你在参与一场QQ私聊, ------ 可选行动类型以及解释: -fetch_knowledge: 需要调取知识,当需要专业知识或特定信息时选择,对方若提到你不太认识的人名或实体也可以尝试选择 +fetch_knowledge: 需要调取知识或记忆,当需要专业知识或特定信息时选择,对方若提到你不太认识的人名或实体也可以尝试选择 listening: 倾听对方发言,当你认为对方话才说到一半,发言明显未结束时选择 direct_reply: 直接回复对方 rethink_goal: 思考一个对话目标,当你觉得目前对话需要目标,或当前目标不再适用,或话题卡住时选择。注意私聊的环境是灵活的,有可能需要经常选择 @@ -53,6 +54,7 @@ PROMPT_FOLLOW_UP = """{persona_text}。现在你在参与一场QQ私聊,刚刚 【当前对话目标】 {goals_str} +{knowledge_info_str} 【最近行动历史概要】 {action_history_summary} @@ -224,6 +226,40 @@ class ActionPlanner: logger.error(f"[私聊][{self.private_name}]构建对话目标字符串时出错: {e}") goals_str = "- 构建对话目标时出错。\n" + # --- 知识信息字符串构建开始 --- + knowledge_info_str = "【已获取的相关知识和记忆】\n" + try: + # 检查 conversation_info 是否有 knowledge_list 并且不为空 + if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list: + # 最多只显示最近的 3 条知识,防止 Prompt 过长 + recent_knowledge = conversation_info.knowledge_list[-3:] + for i, knowledge_item in enumerate(recent_knowledge): + if isinstance(knowledge_item, dict): + query = knowledge_item.get('query', '未知查询') + knowledge = knowledge_item.get('knowledge', '无知识内容') + source = knowledge_item.get('source', '未知来源') + # 只取知识内容的前 150 个字,避免太长 + knowledge_snippet = knowledge[:150] + "..." if len(knowledge) > 150 else knowledge + knowledge_info_str += f"{i+1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n" + else: + # 处理列表里不是字典的异常情况 + knowledge_info_str += f"{i+1}. 发现一条格式不正确的知识记录。\n" + + if not recent_knowledge: # 如果 knowledge_list 存在但为空 + knowledge_info_str += "- 暂无相关知识和记忆。\n" + + else: + # 如果 conversation_info 没有 knowledge_list 属性,或者列表为空 + knowledge_info_str += "- 暂无相关知识记忆。\n" + except AttributeError: + logger.warning(f"[私聊][{self.private_name}]ConversationInfo 对象可能缺少 knowledge_list 属性。") + knowledge_info_str += "- 获取知识列表时出错。\n" + except Exception as e: + logger.error(f"[私聊][{self.private_name}]构建知识信息字符串时出错: {e}") + knowledge_info_str += "- 处理知识列表时出错。\n" + # --- 知识信息字符串构建结束 --- + + # 获取聊天历史记录 (chat_history_text) chat_history_text = "" try: @@ -349,6 +385,7 @@ class ActionPlanner: time_since_last_bot_message_info=time_since_last_bot_message_info, timeout_context=timeout_context, chat_history_text=chat_history_text if chat_history_text.strip() else "还没有聊天记录。", + knowledge_info_str=knowledge_info_str ) logger.debug(f"[私聊][{self.private_name}]发送到LLM的最终提示词:\n------\n{prompt}\n------") diff --git a/src/plugins/PFC/reply_generator.py b/src/plugins/PFC/reply_generator.py index 9b497ef28..f813e140d 100644 --- a/src/plugins/PFC/reply_generator.py +++ b/src/plugins/PFC/reply_generator.py @@ -17,6 +17,9 @@ logger = get_module_logger("reply_generator") PROMPT_DIRECT_REPLY = """{persona_text}。现在你在参与一场QQ私聊,请根据以下信息生成一条回复: 当前对话目标:{goals_str} + +{knowledge_info_str} + 最近的聊天记录: {chat_history_text} @@ -25,7 +28,7 @@ PROMPT_DIRECT_REPLY = """{persona_text}。现在你在参与一场QQ私聊,请 1. 符合对话目标,以"你"的角度发言(不要自己与自己对话!) 2. 符合你的性格特征和身份细节 3. 通俗易懂,自然流畅,像正常聊天一样,简短(通常20字以内,除非特殊情况) -4. 适当利用相关知识,但不要生硬引用 +4. 可以适当利用相关知识,但不要生硬引用 5. 自然、得体,结合聊天记录逻辑合理,且没有重复表达同质内容 请注意把握聊天内容,不要回复的太有条理,可以有个性。请分清"你"和对方说的话,不要把"你"说的话当做对方说的话,这是你自己说的话。 @@ -39,6 +42,9 @@ PROMPT_DIRECT_REPLY = """{persona_text}。现在你在参与一场QQ私聊,请 PROMPT_SEND_NEW_MESSAGE = """{persona_text}。现在你在参与一场QQ私聊,**刚刚你已经发送了一条或多条消息**,现在请根据以下信息再发一条新消息: 当前对话目标:{goals_str} + +{knowledge_info_str} + 最近的聊天记录: {chat_history_text} @@ -47,7 +53,7 @@ PROMPT_SEND_NEW_MESSAGE = """{persona_text}。现在你在参与一场QQ私聊 1. 符合对话目标,以"你"的角度发言(不要自己与自己对话!) 2. 符合你的性格特征和身份细节 3. 通俗易懂,自然流畅,像正常聊天一样,简短(通常20字以内,除非特殊情况) -4. 适当利用相关知识,但不要生硬引用 +4. 可以适当利用相关知识,但不要生硬引用 5. 跟之前你发的消息自然的衔接,逻辑合理,且没有重复表达同质内容或部分重叠内容 请注意把握聊天内容,不用太有条理,可以有个性。请分清"你"和对方说的话,不要把"你"说的话当做对方说的话,这是你自己说的话。 @@ -131,6 +137,36 @@ class ReplyGenerator: else: goals_str = "- 目前没有明确对话目标\n" # 简化无目标情况 + # --- 新增:构建知识信息字符串 --- + knowledge_info_str = "【供参考的相关知识和记忆】\n" # 稍微改下标题,表明是供参考 + try: + # 检查 conversation_info 是否有 knowledge_list 并且不为空 + if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list: + # 最多只显示最近的 3 条知识 + recent_knowledge = conversation_info.knowledge_list[-3:] + for i, knowledge_item in enumerate(recent_knowledge): + if isinstance(knowledge_item, dict): + query = knowledge_item.get('query', '未知查询') + knowledge = knowledge_item.get('knowledge', '无知识内容') + source = knowledge_item.get('source', '未知来源') + # 只取知识内容的前 150 个字 + knowledge_snippet = knowledge[:150] + "..." if len(knowledge) > 150 else knowledge + knowledge_info_str += f"{i+1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁 + else: + knowledge_info_str += f"{i+1}. 发现一条格式不正确的知识记录。\n" + + if not recent_knowledge: + knowledge_info_str += "- 暂无。\n" # 更简洁的提示 + + else: + knowledge_info_str += "- 暂无。\n" + except AttributeError: + logger.warning(f"[私聊][{self.private_name}]ConversationInfo 对象可能缺少 knowledge_list 属性。") + knowledge_info_str += "- 获取知识列表时出错。\n" + except Exception as e: + logger.error(f"[私聊][{self.private_name}]构建知识信息字符串时出错: {e}") + knowledge_info_str += "- 处理知识列表时出错。\n" + # 获取聊天历史记录 (chat_history_text) chat_history_text = observation_info.chat_history_str if observation_info.new_messages_count > 0 and observation_info.unprocessed_messages: @@ -162,7 +198,10 @@ class ReplyGenerator: # --- 格式化最终的 Prompt --- prompt = prompt_template.format( - persona_text=persona_text, goals_str=goals_str, chat_history_text=chat_history_text + persona_text=persona_text, + goals_str=goals_str, + chat_history_text=chat_history_text, + knowledge_info_str=knowledge_info_str ) # --- 调用 LLM 生成 --- From 837b0b36889976e3a55689024fd2ee9c1eefc226 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 30 Apr 2025 06:49:22 +0000 Subject: [PATCH 11/43] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/action_planner.py | 19 ++++++++++--------- src/plugins/PFC/reply_generator.py | 24 +++++++++++++----------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index dd7355fa2..036d47807 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -235,18 +235,20 @@ class ActionPlanner: recent_knowledge = conversation_info.knowledge_list[-3:] for i, knowledge_item in enumerate(recent_knowledge): if isinstance(knowledge_item, dict): - query = knowledge_item.get('query', '未知查询') - knowledge = knowledge_item.get('knowledge', '无知识内容') - source = knowledge_item.get('source', '未知来源') + query = knowledge_item.get("query", "未知查询") + knowledge = knowledge_item.get("knowledge", "无知识内容") + source = knowledge_item.get("source", "未知来源") # 只取知识内容的前 150 个字,避免太长 knowledge_snippet = knowledge[:150] + "..." if len(knowledge) > 150 else knowledge - knowledge_info_str += f"{i+1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n" + knowledge_info_str += ( + f"{i + 1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n" + ) else: # 处理列表里不是字典的异常情况 - knowledge_info_str += f"{i+1}. 发现一条格式不正确的知识记录。\n" + knowledge_info_str += f"{i + 1}. 发现一条格式不正确的知识记录。\n" - if not recent_knowledge: # 如果 knowledge_list 存在但为空 - knowledge_info_str += "- 暂无相关知识和记忆。\n" + if not recent_knowledge: # 如果 knowledge_list 存在但为空 + knowledge_info_str += "- 暂无相关知识和记忆。\n" else: # 如果 conversation_info 没有 knowledge_list 属性,或者列表为空 @@ -259,7 +261,6 @@ class ActionPlanner: knowledge_info_str += "- 处理知识列表时出错。\n" # --- 知识信息字符串构建结束 --- - # 获取聊天历史记录 (chat_history_text) chat_history_text = "" try: @@ -385,7 +386,7 @@ class ActionPlanner: time_since_last_bot_message_info=time_since_last_bot_message_info, timeout_context=timeout_context, chat_history_text=chat_history_text if chat_history_text.strip() else "还没有聊天记录。", - knowledge_info_str=knowledge_info_str + knowledge_info_str=knowledge_info_str, ) logger.debug(f"[私聊][{self.private_name}]发送到LLM的最终提示词:\n------\n{prompt}\n------") diff --git a/src/plugins/PFC/reply_generator.py b/src/plugins/PFC/reply_generator.py index f813e140d..134b2740d 100644 --- a/src/plugins/PFC/reply_generator.py +++ b/src/plugins/PFC/reply_generator.py @@ -137,8 +137,8 @@ class ReplyGenerator: else: goals_str = "- 目前没有明确对话目标\n" # 简化无目标情况 - # --- 新增:构建知识信息字符串 --- - knowledge_info_str = "【供参考的相关知识和记忆】\n" # 稍微改下标题,表明是供参考 + # --- 新增:构建知识信息字符串 --- + knowledge_info_str = "【供参考的相关知识和记忆】\n" # 稍微改下标题,表明是供参考 try: # 检查 conversation_info 是否有 knowledge_list 并且不为空 if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list: @@ -146,17 +146,19 @@ class ReplyGenerator: recent_knowledge = conversation_info.knowledge_list[-3:] for i, knowledge_item in enumerate(recent_knowledge): if isinstance(knowledge_item, dict): - query = knowledge_item.get('query', '未知查询') - knowledge = knowledge_item.get('knowledge', '无知识内容') - source = knowledge_item.get('source', '未知来源') + query = knowledge_item.get("query", "未知查询") + knowledge = knowledge_item.get("knowledge", "无知识内容") + source = knowledge_item.get("source", "未知来源") # 只取知识内容的前 150 个字 knowledge_snippet = knowledge[:150] + "..." if len(knowledge) > 150 else knowledge - knowledge_info_str += f"{i+1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁 + knowledge_info_str += ( + f"{i + 1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁 + ) else: - knowledge_info_str += f"{i+1}. 发现一条格式不正确的知识记录。\n" + knowledge_info_str += f"{i + 1}. 发现一条格式不正确的知识记录。\n" if not recent_knowledge: - knowledge_info_str += "- 暂无。\n" # 更简洁的提示 + knowledge_info_str += "- 暂无。\n" # 更简洁的提示 else: knowledge_info_str += "- 暂无。\n" @@ -165,7 +167,7 @@ class ReplyGenerator: knowledge_info_str += "- 获取知识列表时出错。\n" except Exception as e: logger.error(f"[私聊][{self.private_name}]构建知识信息字符串时出错: {e}") - knowledge_info_str += "- 处理知识列表时出错。\n" + knowledge_info_str += "- 处理知识列表时出错。\n" # 获取聊天历史记录 (chat_history_text) chat_history_text = observation_info.chat_history_str @@ -199,9 +201,9 @@ class ReplyGenerator: # --- 格式化最终的 Prompt --- prompt = prompt_template.format( persona_text=persona_text, - goals_str=goals_str, + goals_str=goals_str, chat_history_text=chat_history_text, - knowledge_info_str=knowledge_info_str + knowledge_info_str=knowledge_info_str, ) # --- 调用 LLM 生成 --- From d09965571f432f50a4c907c33aaee0538649e930 Mon Sep 17 00:00:00 2001 From: 114514 <2514624910@qq.com> Date: Wed, 30 Apr 2025 15:06:01 +0800 Subject: [PATCH 12/43] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=95=B0?= =?UTF-8?q?=E4=B8=8A=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/action_planner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index dd7355fa2..ec5eb8a8d 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -238,8 +238,8 @@ class ActionPlanner: query = knowledge_item.get('query', '未知查询') knowledge = knowledge_item.get('knowledge', '无知识内容') source = knowledge_item.get('source', '未知来源') - # 只取知识内容的前 150 个字,避免太长 - knowledge_snippet = knowledge[:150] + "..." if len(knowledge) > 150 else knowledge + # 只取知识内容的前 2000 个字,避免太长 + knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 200 else knowledge knowledge_info_str += f"{i+1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n" else: # 处理列表里不是字典的异常情况 From 7ef65cadc24e1d7c94ae65ea2672094a0b95e4b0 Mon Sep 17 00:00:00 2001 From: Bakadax Date: Wed, 30 Apr 2025 15:07:34 +0800 Subject: [PATCH 13/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A9=BA=E6=9D=A5?= =?UTF-8?q?=E6=BA=90=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/pfc_KnowledgeFetcher.py | 3 ++- src/plugins/PFC/reply_generator.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/PFC/pfc_KnowledgeFetcher.py b/src/plugins/PFC/pfc_KnowledgeFetcher.py index 7453aa0e6..171ba7050 100644 --- a/src/plugins/PFC/pfc_KnowledgeFetcher.py +++ b/src/plugins/PFC/pfc_KnowledgeFetcher.py @@ -69,8 +69,9 @@ class KnowledgeFetcher: fast_retrieval=False, ) knowledge_text = "" - sources = [] + sources_text = "无记忆匹配" # 默认值 if related_memory: + sources = [] for memory in related_memory: knowledge_text += memory[1] + "\n" sources.append(f"记忆片段{memory[0]}") diff --git a/src/plugins/PFC/reply_generator.py b/src/plugins/PFC/reply_generator.py index f813e140d..3de22fcf6 100644 --- a/src/plugins/PFC/reply_generator.py +++ b/src/plugins/PFC/reply_generator.py @@ -137,7 +137,7 @@ class ReplyGenerator: else: goals_str = "- 目前没有明确对话目标\n" # 简化无目标情况 - # --- 新增:构建知识信息字符串 --- + # --- 新增:构建知识信息字符串 --- knowledge_info_str = "【供参考的相关知识和记忆】\n" # 稍微改下标题,表明是供参考 try: # 检查 conversation_info 是否有 knowledge_list 并且不为空 @@ -156,7 +156,7 @@ class ReplyGenerator: knowledge_info_str += f"{i+1}. 发现一条格式不正确的知识记录。\n" if not recent_knowledge: - knowledge_info_str += "- 暂无。\n" # 更简洁的提示 + knowledge_info_str += "- 暂无。\n" # 更简洁的提示 else: knowledge_info_str += "- 暂无。\n" From 94dd06561e88d7d5ffbf60bb44ac7785cf16cbec Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 30 Apr 2025 07:08:58 +0000 Subject: [PATCH 14/43] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/action_planner.py | 10 ++++++---- src/plugins/PFC/reply_generator.py | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index 7082e281e..78f419360 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -235,12 +235,14 @@ class ActionPlanner: recent_knowledge = conversation_info.knowledge_list[-3:] for i, knowledge_item in enumerate(recent_knowledge): if isinstance(knowledge_item, dict): - query = knowledge_item.get('query', '未知查询') - knowledge = knowledge_item.get('knowledge', '无知识内容') - source = knowledge_item.get('source', '未知来源') + query = knowledge_item.get("query", "未知查询") + knowledge = knowledge_item.get("knowledge", "无知识内容") + source = knowledge_item.get("source", "未知来源") # 只取知识内容的前 2000 个字,避免太长 knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 200 else knowledge - knowledge_info_str += f"{i+1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n" + knowledge_info_str += ( + f"{i + 1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n" + ) else: # 处理列表里不是字典的异常情况 knowledge_info_str += f"{i + 1}. 发现一条格式不正确的知识记录。\n" diff --git a/src/plugins/PFC/reply_generator.py b/src/plugins/PFC/reply_generator.py index f5e7c1e67..134b2740d 100644 --- a/src/plugins/PFC/reply_generator.py +++ b/src/plugins/PFC/reply_generator.py @@ -138,7 +138,7 @@ class ReplyGenerator: goals_str = "- 目前没有明确对话目标\n" # 简化无目标情况 # --- 新增:构建知识信息字符串 --- - knowledge_info_str = "【供参考的相关知识和记忆】\n" # 稍微改下标题,表明是供参考 + knowledge_info_str = "【供参考的相关知识和记忆】\n" # 稍微改下标题,表明是供参考 try: # 检查 conversation_info 是否有 knowledge_list 并且不为空 if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list: @@ -158,7 +158,7 @@ class ReplyGenerator: knowledge_info_str += f"{i + 1}. 发现一条格式不正确的知识记录。\n" if not recent_knowledge: - knowledge_info_str += "- 暂无。\n" # 更简洁的提示 + knowledge_info_str += "- 暂无。\n" # 更简洁的提示 else: knowledge_info_str += "- 暂无。\n" From 03a9f50128b458130de0804a13afc3c47062dd04 Mon Sep 17 00:00:00 2001 From: 114514 <2514624910@qq.com> Date: Wed, 30 Apr 2025 15:10:26 +0800 Subject: [PATCH 15/43] 1 --- src/plugins/PFC/action_planner.py | 6 +++--- src/plugins/PFC/reply_generator.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index ec5eb8a8d..63677b04f 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -231,15 +231,15 @@ class ActionPlanner: try: # 检查 conversation_info 是否有 knowledge_list 并且不为空 if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list: - # 最多只显示最近的 3 条知识,防止 Prompt 过长 - recent_knowledge = conversation_info.knowledge_list[-3:] + # 最多只显示最近的 5 条知识,防止 Prompt 过长 + recent_knowledge = conversation_info.knowledge_list[-5:] for i, knowledge_item in enumerate(recent_knowledge): if isinstance(knowledge_item, dict): query = knowledge_item.get('query', '未知查询') knowledge = knowledge_item.get('knowledge', '无知识内容') source = knowledge_item.get('source', '未知来源') # 只取知识内容的前 2000 个字,避免太长 - knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 200 else knowledge + knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 2000 else knowledge knowledge_info_str += f"{i+1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n" else: # 处理列表里不是字典的异常情况 diff --git a/src/plugins/PFC/reply_generator.py b/src/plugins/PFC/reply_generator.py index f813e140d..438a21ac4 100644 --- a/src/plugins/PFC/reply_generator.py +++ b/src/plugins/PFC/reply_generator.py @@ -142,15 +142,15 @@ class ReplyGenerator: try: # 检查 conversation_info 是否有 knowledge_list 并且不为空 if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list: - # 最多只显示最近的 3 条知识 - recent_knowledge = conversation_info.knowledge_list[-3:] + # 最多只显示最近的 5 条知识 + recent_knowledge = conversation_info.knowledge_list[-5:] for i, knowledge_item in enumerate(recent_knowledge): if isinstance(knowledge_item, dict): query = knowledge_item.get('query', '未知查询') knowledge = knowledge_item.get('knowledge', '无知识内容') source = knowledge_item.get('source', '未知来源') # 只取知识内容的前 150 个字 - knowledge_snippet = knowledge[:150] + "..." if len(knowledge) > 150 else knowledge + knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 2000 else knowledge knowledge_info_str += f"{i+1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁 else: knowledge_info_str += f"{i+1}. 发现一条格式不正确的知识记录。\n" From 0caaec69c19b6f98cc8747e18427056427fbcea5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 30 Apr 2025 08:20:16 +0000 Subject: [PATCH 16/43] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/PFC/reply_generator.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/PFC/reply_generator.py b/src/plugins/PFC/reply_generator.py index b577872f6..890f807c7 100644 --- a/src/plugins/PFC/reply_generator.py +++ b/src/plugins/PFC/reply_generator.py @@ -151,7 +151,9 @@ class ReplyGenerator: source = knowledge_item.get("source", "未知来源") # 只取知识内容的前 2000 个字 knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 2000 else knowledge - knowledge_info_str += f"{i+1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁 + knowledge_info_str += ( + f"{i + 1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁 + ) else: knowledge_info_str += f"{i + 1}. 发现一条格式不正确的知识记录。\n" From b8736e4299b0d1a39138aa252dc0503cdef05c55 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 17:18:14 +0800 Subject: [PATCH 17/43] =?UTF-8?q?better=EF=BC=9A=E6=95=B4=E7=90=86config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelogs/changelog_config.md | 2 +- scripts/interest_monitor_gui.py | 3 - src/api/config_api.py | 2 +- src/config/config.py | 180 +++++----- src/do_tool/tool_use.py | 1 - src/heart_flow/0.6.3TODO.md | 48 --- src/heart_flow/README.md | 12 +- src/heart_flow/background_tasks.py | 107 +++--- src/heart_flow/heartflow.py | 14 - src/heart_flow/mai_state_manager.py | 28 +- src/heart_flow/observation.py | 2 +- src/heart_flow/sub_heartflow.py | 45 +-- src/heart_flow/sub_mind.py | 4 +- src/heart_flow/subheartflow_manager.py | 321 +++++++++++------- src/individuality/individuality.py | 2 +- src/plugins/chat/bot.py | 7 + src/plugins/chat/utils.py | 3 + src/plugins/heartFC_chat/heartFC_chat.py | 30 +- .../heartFC_chat/heartflow_prompt_builder.py | 8 +- src/plugins/heartFC_chat/normal_chat.py | 4 + src/plugins/models/utils_model.py | 2 +- .../person_info/relationship_manager.py | 4 +- .../respon_info_catcher/info_catcher.py | 63 ++-- template/bot_config_template.toml | 54 +-- 24 files changed, 484 insertions(+), 462 deletions(-) delete mode 100644 src/heart_flow/0.6.3TODO.md diff --git a/changelogs/changelog_config.md b/changelogs/changelog_config.md index e438ea31e..5aa5fb922 100644 --- a/changelogs/changelog_config.md +++ b/changelogs/changelog_config.md @@ -33,7 +33,7 @@ - 调整了部分配置项的默认值 - 调整了配置项的顺序,将 `groups` 配置项移到了更靠前的位置 - 在 `message` 配置项中: - - 新增了 `max_response_length` 参数 + - 新增了 `model_max_output_length` 参数 - 在 `willing` 配置项中新增了 `emoji_response_penalty` 参数 - 将 `personality` 配置项中的 `prompt_schedule` 重命名为 `prompt_schedule_gen` diff --git a/scripts/interest_monitor_gui.py b/scripts/interest_monitor_gui.py index adb83f729..1f03b9695 100644 --- a/scripts/interest_monitor_gui.py +++ b/scripts/interest_monitor_gui.py @@ -344,9 +344,6 @@ class InterestMonitorApp: self.stream_last_active[stream_id] = subflow_entry.get( "chat_state_changed_time" ) # 存储原始时间戳 - self.stream_last_interaction[stream_id] = subflow_entry.get( - "last_interaction_time" - ) # 存储原始时间戳 # 添加数据点 (使用顶层时间戳) new_stream_history[stream_id].append((entry_timestamp, interest_level_float)) diff --git a/src/api/config_api.py b/src/api/config_api.py index e39346176..fbc314339 100644 --- a/src/api/config_api.py +++ b/src/api/config_api.py @@ -47,7 +47,7 @@ class BotConfig: MAX_CONTEXT_SIZE: int # 上下文最大消息数 emoji_chance: float # 发送表情包的基础概率 thinking_timeout: int # 思考时间 - max_response_length: int # 最大回复长度 + model_max_output_length: int # 最大回复长度 message_buffer: bool # 消息缓冲器 ban_words: set diff --git a/src/config/config.py b/src/config/config.py index f09da9a7e..f7e575429 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -20,9 +20,9 @@ from src.common.logger_manager import get_logger logger = get_logger("config") # 考虑到,实际上配置文件中的mai_version是不会自动更新的,所以采用硬编码 -is_test = True +is_test = False mai_version_main = "0.6.3" -mai_version_fix = "snapshot-5" +mai_version_fix = "" if mai_version_fix: if is_test: @@ -170,32 +170,38 @@ class BotConfig: SCHEDULE_TEMPERATURE: float = 0.5 # 日程表温度,建议0.5-1.0 TIME_ZONE: str = "Asia/Shanghai" # 时区 - # message - MAX_CONTEXT_SIZE: int = 15 # 上下文最大消息数 - emoji_chance: float = 0.2 # 发送表情包的基础概率 - thinking_timeout: int = 120 # 思考时间 - max_response_length: int = 1024 # 最大回复长度 + + # chat + allow_focus_mode: bool = True # 是否允许专注聊天状态 + + base_normal_chat_num: int = 3 # 最多允许多少个群进行普通聊天 + base_focused_chat_num: int = 2 # 最多允许多少个群进行专注聊天 + + observation_context_size: int = 12 # 心流观察到的最长上下文大小,超过这个值的上下文会被压缩 + message_buffer: bool = True # 消息缓冲器 + ban_words = set() ban_msgs_regex = set() - # [heartflow] # 启用启用heart_flowC(心流聊天)模式时生效, 需要填写token消耗量巨大的相关模型 - # 启用后麦麦会自主选择进入heart_flowC模式(持续一段时间), 进行长时间高质量的聊天 + # focus_chat reply_trigger_threshold: float = 3.0 # 心流聊天触发阈值,越低越容易触发 - probability_decay_factor_per_second: float = 0.2 # 概率衰减因子,越大衰减越快 default_decay_rate_per_second: float = 0.98 # 默认衰减率,越大衰减越慢 - allow_focus_mode: bool = True # 是否允许子心流进入 FOCUSED 状态 - - # sub_heart_flow_update_interval: int = 60 # 子心流更新频率,间隔 单位秒 - # sub_heart_flow_freeze_time: int = 120 # 子心流冻结时间,超过这个时间没有回复,子心流会冻结,间隔 单位秒 - sub_heart_flow_stop_time: int = 600 # 子心流停止时间,超过这个时间没有回复,子心流会停止,间隔 单位秒 - # heart_flow_update_interval: int = 300 # 心流更新频率,间隔 单位秒 - observation_context_size: int = 20 # 心流观察到的最长上下文大小,超过这个值的上下文会被压缩 + consecutive_no_reply_threshold = 3 + + compressed_length: int = 5 # 不能大于observation_context_size,心流上下文压缩的最短压缩长度,超过心流观察到的上下文长度,会压缩,最短压缩长度为5 compress_length_limit: int = 5 # 最多压缩份数,超过该数值的压缩上下文会被删除 - # willing + + # normal_chat + model_reasoning_probability: float = 0.7 # 麦麦回答时选择推理模型(主要)模型概率 + model_normal_probability: float = 0.3 # 麦麦回答时选择一般模型(次要)模型概率 + + emoji_chance: float = 0.2 # 发送表情包的基础概率 + thinking_timeout: int = 120 # 思考时间 + willing_mode: str = "classical" # 意愿模式 response_willing_amplifier: float = 1.0 # 回复意愿放大系数 response_interested_rate_amplifier: float = 1.0 # 回复兴趣度放大系数 @@ -204,12 +210,6 @@ class BotConfig: mentioned_bot_inevitable_reply: bool = False # 提及 bot 必然回复 at_bot_inevitable_reply: bool = False # @bot 必然回复 - # response - response_mode: str = "heart_flow" # 回复策略 - model_reasoning_probability: float = 0.7 # 麦麦回答时选择推理模型(主要)模型概率 - model_normal_probability: float = 0.3 # 麦麦回答时选择一般模型(次要)模型概率 - # MODEL_R1_DISTILL_PROBABILITY: float = 0.1 # R1蒸馏模型概率 - # emoji max_emoji_num: int = 200 # 表情包最大数量 max_reach_deletion: bool = True # 开启则在达到最大数量时删除表情包,关闭则不会继续收集表情包 @@ -263,6 +263,8 @@ class BotConfig: enable_response_splitter = True # 是否启用回复分割器 response_max_length = 100 # 回复允许的最大长度 response_max_sentence_num = 3 # 回复允许的最大句子数 + + model_max_output_length: int = 800 # 最大回复长度 # remote remote_enable: bool = True # 是否启用远程控制 @@ -408,64 +410,67 @@ class BotConfig: config.BOT_QQ = str(bot_qq) config.BOT_NICKNAME = bot_config.get("nickname", config.BOT_NICKNAME) config.BOT_ALIAS_NAMES = bot_config.get("alias_names", config.BOT_ALIAS_NAMES) + + def chat(parent: dict): + chat_config = parent["chat"] + config.allow_focus_mode = chat_config.get("allow_focus_mode", config.allow_focus_mode) + config.base_normal_chat_num = chat_config.get("base_normal_chat_num", config.base_normal_chat_num) + config.base_focused_chat_num = chat_config.get("base_focused_chat_num", config.base_focused_chat_num) + config.observation_context_size = chat_config.get( + "observation_context_size", config.observation_context_size + ) + config.message_buffer = chat_config.get("message_buffer", config.message_buffer) + config.ban_words = chat_config.get("ban_words", config.ban_words) + for r in chat_config.get("ban_msgs_regex", config.ban_msgs_regex): + config.ban_msgs_regex.add(re.compile(r)) - def response(parent: dict): - response_config = parent["response"] - config.model_reasoning_probability = response_config.get( + def normal_chat(parent: dict): + normal_chat_config = parent["normal_chat"] + config.model_reasoning_probability = normal_chat_config.get( "model_reasoning_probability", config.model_reasoning_probability ) - config.model_normal_probability = response_config.get( + config.model_normal_probability = normal_chat_config.get( "model_normal_probability", config.model_normal_probability ) + config.emoji_chance = normal_chat_config.get("emoji_chance", config.emoji_chance) + config.thinking_timeout = normal_chat_config.get("thinking_timeout", config.thinking_timeout) + - def heartflow(parent: dict): - heartflow_config = parent["heartflow"] - config.sub_heart_flow_stop_time = heartflow_config.get( - "sub_heart_flow_stop_time", config.sub_heart_flow_stop_time + config.willing_mode = normal_chat_config.get("willing_mode", config.willing_mode) + config.response_willing_amplifier = normal_chat_config.get( + "response_willing_amplifier", config.response_willing_amplifier + ) + config.response_interested_rate_amplifier = normal_chat_config.get( + "response_interested_rate_amplifier", config.response_interested_rate_amplifier + ) + config.down_frequency_rate = normal_chat_config.get("down_frequency_rate", config.down_frequency_rate) + config.emoji_response_penalty = normal_chat_config.get( + "emoji_response_penalty", config.emoji_response_penalty ) - if config.INNER_VERSION in SpecifierSet(">=1.3.0"): - config.observation_context_size = heartflow_config.get( - "observation_context_size", config.observation_context_size - ) - config.compressed_length = heartflow_config.get("compressed_length", config.compressed_length) - config.compress_length_limit = heartflow_config.get( - "compress_length_limit", config.compress_length_limit - ) - if config.INNER_VERSION in SpecifierSet(">=1.4.0"): - config.reply_trigger_threshold = heartflow_config.get( - "reply_trigger_threshold", config.reply_trigger_threshold - ) - config.probability_decay_factor_per_second = heartflow_config.get( - "probability_decay_factor_per_second", config.probability_decay_factor_per_second - ) - config.default_decay_rate_per_second = heartflow_config.get( - "default_decay_rate_per_second", config.default_decay_rate_per_second - ) - if config.INNER_VERSION in SpecifierSet(">=1.5.1"): - config.allow_focus_mode = heartflow_config.get("allow_focus_mode", config.allow_focus_mode) - def willing(parent: dict): - willing_config = parent["willing"] - config.willing_mode = willing_config.get("willing_mode", config.willing_mode) + config.mentioned_bot_inevitable_reply = normal_chat_config.get( + "mentioned_bot_inevitable_reply", config.mentioned_bot_inevitable_reply + ) + config.at_bot_inevitable_reply = normal_chat_config.get( + "at_bot_inevitable_reply", config.at_bot_inevitable_reply + ) - if config.INNER_VERSION in SpecifierSet(">=0.0.11"): - config.response_willing_amplifier = willing_config.get( - "response_willing_amplifier", config.response_willing_amplifier - ) - config.response_interested_rate_amplifier = willing_config.get( - "response_interested_rate_amplifier", config.response_interested_rate_amplifier - ) - config.down_frequency_rate = willing_config.get("down_frequency_rate", config.down_frequency_rate) - config.emoji_response_penalty = willing_config.get( - "emoji_response_penalty", config.emoji_response_penalty - ) - if config.INNER_VERSION in SpecifierSet(">=1.2.5"): - config.mentioned_bot_inevitable_reply = willing_config.get( - "mentioned_bot_inevitable_reply", config.mentioned_bot_inevitable_reply - ) - config.at_bot_inevitable_reply = willing_config.get( - "at_bot_inevitable_reply", config.at_bot_inevitable_reply - ) + def focus_chat(parent: dict): + focus_chat_config = parent["focus_chat"] + config.compressed_length = focus_chat_config.get("compressed_length", config.compressed_length) + config.compress_length_limit = focus_chat_config.get( + "compress_length_limit", config.compress_length_limit + ) + config.reply_trigger_threshold = focus_chat_config.get( + "reply_trigger_threshold", config.reply_trigger_threshold + ) + config.default_decay_rate_per_second = focus_chat_config.get( + "default_decay_rate_per_second", config.default_decay_rate_per_second + ) + config.consecutive_no_reply_threshold = focus_chat_config.get( + "consecutive_no_reply_threshold", config.consecutive_no_reply_threshold + ) + def model(parent: dict): # 加载模型配置 @@ -556,26 +561,6 @@ class BotConfig: logger.error(f"模型 {item} 在config中不存在,请检查,或尝试更新配置文件") raise KeyError(f"模型 {item} 在config中不存在,请检查,或尝试更新配置文件") - def message(parent: dict): - msg_config = parent["message"] - config.MAX_CONTEXT_SIZE = msg_config.get("max_context_size", config.MAX_CONTEXT_SIZE) - config.emoji_chance = msg_config.get("emoji_chance", config.emoji_chance) - config.ban_words = msg_config.get("ban_words", config.ban_words) - config.thinking_timeout = msg_config.get("thinking_timeout", config.thinking_timeout) - config.response_willing_amplifier = msg_config.get( - "response_willing_amplifier", config.response_willing_amplifier - ) - config.response_interested_rate_amplifier = msg_config.get( - "response_interested_rate_amplifier", config.response_interested_rate_amplifier - ) - config.down_frequency_rate = msg_config.get("down_frequency_rate", config.down_frequency_rate) - for r in msg_config.get("ban_msgs_regex", config.ban_msgs_regex): - config.ban_msgs_regex.add(re.compile(r)) - if config.INNER_VERSION in SpecifierSet(">=0.0.11"): - config.max_response_length = msg_config.get("max_response_length", config.max_response_length) - if config.INNER_VERSION in SpecifierSet(">=1.1.4"): - config.message_buffer = msg_config.get("message_buffer", config.message_buffer) - def memory(parent: dict): memory_config = parent["memory"] config.build_memory_interval = memory_config.get("build_memory_interval", config.build_memory_interval) @@ -650,6 +635,8 @@ class BotConfig: config.enable_kaomoji_protection = response_splitter_config.get( "enable_kaomoji_protection", config.enable_kaomoji_protection ) + if config.INNER_VERSION in SpecifierSet(">=1.6.0"): + config.model_max_output_length = response_splitter_config.get("model_max_output_length", config.model_max_output_length) def groups(parent: dict): groups_config = parent["groups"] @@ -695,10 +682,7 @@ class BotConfig: "personality": {"func": personality, "support": ">=0.0.0"}, "identity": {"func": identity, "support": ">=1.2.4"}, "schedule": {"func": schedule, "support": ">=0.0.11", "necessary": False}, - "message": {"func": message, "support": ">=0.0.0"}, - "willing": {"func": willing, "support": ">=0.0.9", "necessary": False}, "emoji": {"func": emoji, "support": ">=0.0.0"}, - "response": {"func": response, "support": ">=0.0.0"}, "model": {"func": model, "support": ">=0.0.0"}, "memory": {"func": memory, "support": ">=0.0.0", "necessary": False}, "mood": {"func": mood, "support": ">=0.0.0"}, @@ -708,7 +692,9 @@ class BotConfig: "platforms": {"func": platforms, "support": ">=1.0.0"}, "response_splitter": {"func": response_splitter, "support": ">=0.0.11", "necessary": False}, "experimental": {"func": experimental, "support": ">=0.0.11", "necessary": False}, - "heartflow": {"func": heartflow, "support": ">=1.0.2", "necessary": False}, + "chat": {"func": chat, "support": ">=1.6.0", "necessary": False}, + "normal_chat": {"func": normal_chat, "support": ">=1.6.0", "necessary": False}, + "focus_chat": {"func": focus_chat, "support": ">=1.6.0", "necessary": False}, } # 原地修改,将 字符串版本表达式 转换成 版本对象 diff --git a/src/do_tool/tool_use.py b/src/do_tool/tool_use.py index 5b886cb45..88289fe01 100644 --- a/src/do_tool/tool_use.py +++ b/src/do_tool/tool_use.py @@ -129,7 +129,6 @@ class ToolUser: payload = { "model": self.llm_model_tool.model_name, "messages": [{"role": "user", "content": prompt}], - "max_tokens": global_config.max_response_length, "tools": tools, "temperature": 0.2, } diff --git a/src/heart_flow/0.6.3TODO.md b/src/heart_flow/0.6.3TODO.md deleted file mode 100644 index 5e9e96ab9..000000000 --- a/src/heart_flow/0.6.3TODO.md +++ /dev/null @@ -1,48 +0,0 @@ -# 0.6.3 版本发布前待办事项 - -- [0.6.3]**统一化人格配置:** - - 检查代码中是否存在硬编码的人格相关配置。 - - 将所有硬编码的人格配置替换为使用 `individual` 模块进行管理。 - -- [0.6.3]**在 Planner 中添加回复计数信息:** - - 修改 `HeartFlowChatInstance` 的 `Plan` 阶段逻辑。 - - 将当前周期的回复计数(或其他相关统计信息)作为输入提供给 Planner。 - - 目的是为 Planner 提供负反馈,减少连续回复或不当回复的可能性。 - -- [0.6.3]**恢复/检查被停止的功能:** - - 全面审查代码,特别是对比之前的版本或设计文档。 - - 识别并重新启用那些暂时被禁用但应该恢复的功能。 - - 确认没有核心功能意外丢失。 - -- [0.6.3]**参数提取与配置化:** - - 识别代码中散落的各种可调参数(例如:概率阈值、时间间隔、次数限制、LLM 模型名称等)。 - - 将这些参数统一提取到模块或类的顶部。 - - 最终将这些参数移至外部配置文件(如 YAML 或 JSON 文件),方便用户自定义。 - -- **[0.6.3]提供 HFC (HeartFlowChatInstance) 开启/关闭选项:** - - 增加一个全局或针对特定子心流的配置选项。 - - 允许用户控制是否启用 `FOCUSED` 状态以及关联的 `HeartFlowChatInstance`。 - - 如果禁用 HFC,子心流可能只会在 `ABSENT` 和 `CHAT` 状态间切换。 - -- [0.6.3]**添加防破线机制 (针对接收消息):** - - 在消息处理流程的早期阶段 (例如 `HeartHC_processor` 或类似模块),增加对接收到的消息文本长度的检查。 - - 对超过预设长度阈值的*接收*消息进行截断处理。 - - 目的是防止过长的输入(可能包含"破限"提示词)影响后续的兴趣计算、LLM 回复生成等环节。 - -- [0.6.3]**NormalChat 模式下的记忆与 Prompt 优化:** - - 重点审视 `NormalChatInstance` (闲聊/推理模式) 中记忆调用 (例如 `HippocampusManager` 的使用) 的方式。 - - 评估在该模式下引入工具调用 (Tool Calling) 机制以更结构化访问记忆的必要性。 - - 优化 `NormalChatInstance` 中与记忆检索、应用相关的 Prompt。 - -- [0.6.3]**完善简易兴趣监控 GUI:** - - 改进现有的、用于监控聊天兴趣度 (`InterestChatting`?) 的简单 GUI 界面。 - - 使其能更清晰地展示关键参数和状态,作为查看日志之外的更直观的监控方式。 - - 作为完整外部 UI 开发完成前的临时替代方案。 - -- [0.6.3]**修复/完善中期记忆 (Midterm Memory):** - - 检查当前中期记忆模块的状态。 - - 修复已知问题,使其能够稳定运行。 - - (优先级视开发时间而定) - - -对于有些群频繁激活HFC,却不回复,需要处理一下 diff --git a/src/heart_flow/README.md b/src/heart_flow/README.md index fdb3a1928..a55f1c973 100644 --- a/src/heart_flow/README.md +++ b/src/heart_flow/README.md @@ -106,8 +106,8 @@ c HeartFChatting工作方式 - 负责所有 `SubHeartflow` 实例的生命周期管理,包括: - 创建和获取 (`get_or_create_subheartflow`)。 - 停止和清理 (`sleep_subheartflow`, `cleanup_inactive_subheartflows`)。 - - 根据 `Heartflow` 的状态 (`self.mai_state_info`) 和限制条件,激活、停用或调整子心流的状态(例如 `enforce_subheartflow_limits`, `randomly_deactivate_subflows`, `evaluate_interest_and_promote`)。 - - **新增**: 通过调用 `evaluate_and_transition_subflows_by_llm` 方法,使用 LLM (配置与 `Heartflow` 主 LLM 相同) 评估处于 `ABSENT` 或 `CHAT` 状态的子心流,根据观察到的活动摘要和 `Heartflow` 的当前状态,判断是否应在 `ABSENT` 和 `CHAT` 之间进行转换 (同样受限于 `CHAT` 状态的数量上限)。 + - 根据 `Heartflow` 的状态 (`self.mai_state_info`) 和限制条件,激活、停用或调整子心流的状态(例如 `enforce_subheartflow_limits`, `randomly_deactivate_subflows`, `sbhf_absent_into_focus`)。 + - **新增**: 通过调用 `sbhf_absent_into_chat` 方法,使用 LLM (配置与 `Heartflow` 主 LLM 相同) 评估处于 `ABSENT` 或 `CHAT` 状态的子心流,根据观察到的活动摘要和 `Heartflow` 的当前状态,判断是否应在 `ABSENT` 和 `CHAT` 之间进行转换 (同样受限于 `CHAT` 状态的数量上限)。 - **清理机制**: 通过后台任务 (`BackgroundTaskManager`) 定期调用 `cleanup_inactive_subheartflows` 方法,此方法会识别并**删除**那些处于 `ABSENT` 状态超过一小时 (`INACTIVE_THRESHOLD_SECONDS`) 的子心流实例。 ### 1.5. 消息处理与回复流程 (Message Processing vs. Replying Flow) @@ -155,20 +155,20 @@ c HeartFChatting工作方式 - **初始状态**: 新创建的 `SubHeartflow` 默认为 `ABSENT` 状态。 - **`ABSENT` -> `CHAT` (激活闲聊)**: - **触发条件**: `Heartflow` 的主状态 (`MaiState`) 允许 `CHAT` 模式,且当前 `CHAT` 状态的子心流数量未达上限。 - - **判定机制**: `SubHeartflowManager` 中的 `evaluate_and_transition_subflows_by_llm` 方法调用大模型(LLM)。LLM 读取该群聊的近期内容和结合自身个性信息,判断是否"想"在该群开始聊天。 + - **判定机制**: `SubHeartflowManager` 中的 `sbhf_absent_into_chat` 方法调用大模型(LLM)。LLM 读取该群聊的近期内容和结合自身个性信息,判断是否"想"在该群开始聊天。 - **执行**: 若 LLM 判断为是,且名额未满,`SubHeartflowManager` 调用 `change_chat_state(ChatState.CHAT)`。 - **`CHAT` -> `FOCUSED` (激活专注)**: - **触发条件**: 子心流处于 `CHAT` 状态,其内部维护的"开屎热聊"概率 (`InterestChatting.start_hfc_probability`) 达到预设阈值(表示对当前聊天兴趣浓厚),同时 `Heartflow` 的主状态允许 `FOCUSED` 模式,且 `FOCUSED` 名额未满。 - - **判定机制**: `SubHeartflowManager` 中的 `evaluate_interest_and_promote` 方法定期检查满足条件的 `CHAT` 子心流。 + - **判定机制**: `SubHeartflowManager` 中的 `sbhf_absent_into_focus` 方法定期检查满足条件的 `CHAT` 子心流。 - **执行**: 若满足所有条件,`SubHeartflowManager` 调用 `change_chat_state(ChatState.FOCUSED)`。 - **注意**: 无法从 `ABSENT` 直接跳到 `FOCUSED`,必须先经过 `CHAT`。 - **`FOCUSED` -> `ABSENT` (退出专注)**: - - **主要途径 (内部驱动)**: 在 `FOCUSED` 状态下运行的 `HeartFlowChatInstance` 连续多次决策为 `no_reply` (例如达到 5 次,次数可配),它会通过回调函数 (`request_absent_transition`) 请求 `SubHeartflowManager` 将其状态**直接**设置为 `ABSENT`。 + - **主要途径 (内部驱动)**: 在 `FOCUSED` 状态下运行的 `HeartFlowChatInstance` 连续多次决策为 `no_reply` (例如达到 5 次,次数可配),它会通过回调函数 (`sbhf_focus_into_absent`) 请求 `SubHeartflowManager` 将其状态**直接**设置为 `ABSENT`。 - **其他途径 (外部驱动)**: - `Heartflow` 主状态变为 `OFFLINE`,`SubHeartflowManager` 强制所有子心流变为 `ABSENT`。 - `SubHeartflowManager` 因 `FOCUSED` 名额超限 (`enforce_subheartflow_limits`) 或随机停用 (`randomly_deactivate_subflows`) 而将其设置为 `ABSENT`。 - **`CHAT` -> `ABSENT` (退出闲聊)**: - - **主要途径 (内部驱动)**: `SubHeartflowManager` 中的 `evaluate_and_transition_subflows_by_llm` 方法调用 LLM。LLM 读取群聊内容和结合自身状态,判断是否"不想"继续在此群闲聊。 + - **主要途径 (内部驱动)**: `SubHeartflowManager` 中的 `sbhf_absent_into_chat` 方法调用 LLM。LLM 读取群聊内容和结合自身状态,判断是否"不想"继续在此群闲聊。 - **执行**: 若 LLM 判断为是,`SubHeartflowManager` 调用 `change_chat_state(ChatState.ABSENT)`。 - **其他途径 (外部驱动)**: - `Heartflow` 主状态变为 `OFFLINE`。 diff --git a/src/heart_flow/background_tasks.py b/src/heart_flow/background_tasks.py index fd0163082..dcce26d04 100644 --- a/src/heart_flow/background_tasks.py +++ b/src/heart_flow/background_tasks.py @@ -12,11 +12,17 @@ from src.heart_flow.interest_logger import InterestLogger logger = get_logger("background_tasks") -# 新增随机停用间隔 (5 分钟) -RANDOM_DEACTIVATION_INTERVAL_SECONDS = 300 + # 新增兴趣评估间隔 INTEREST_EVAL_INTERVAL_SECONDS = 5 +# 新增聊天超时检查间隔 +NORMAL_CHAT_TIMEOUT_CHECK_INTERVAL_SECONDS = 60 +# 新增状态评估间隔 +HF_JUDGE_STATE_UPDATE_INTERVAL_SECONDS = 60 +CLEANUP_INTERVAL_SECONDS = 1200 +STATE_UPDATE_INTERVAL_SECONDS = 60 +LOG_INTERVAL_SECONDS = 3 class BackgroundTaskManager: """管理 Heartflow 的后台周期性任务。""" @@ -26,34 +32,21 @@ class BackgroundTaskManager: mai_state_info: MaiStateInfo, # Needs current state info mai_state_manager: MaiStateManager, subheartflow_manager: SubHeartflowManager, - interest_logger: InterestLogger, - update_interval: int, - cleanup_interval: int, - log_interval: int, - # 新增兴趣评估间隔参数 - interest_eval_interval: int = INTEREST_EVAL_INTERVAL_SECONDS, - # 新增随机停用间隔参数 - random_deactivation_interval: int = RANDOM_DEACTIVATION_INTERVAL_SECONDS, + interest_logger: InterestLogger ): self.mai_state_info = mai_state_info self.mai_state_manager = mai_state_manager self.subheartflow_manager = subheartflow_manager self.interest_logger = interest_logger - # Intervals - self.update_interval = update_interval - self.cleanup_interval = cleanup_interval - self.log_interval = log_interval - self.interest_eval_interval = interest_eval_interval # 存储兴趣评估间隔 - self.random_deactivation_interval = random_deactivation_interval # 存储随机停用间隔 # Task references self._state_update_task: Optional[asyncio.Task] = None self._cleanup_task: Optional[asyncio.Task] = None self._logging_task: Optional[asyncio.Task] = None - self._interest_eval_task: Optional[asyncio.Task] = None # 新增兴趣评估任务引用 - self._random_deactivation_task: Optional[asyncio.Task] = None # 新增随机停用任务引用 - self._hf_judge_state_update_task: Optional[asyncio.Task] = None # 新增状态评估任务引用 + self._normal_chat_timeout_check_task: Optional[asyncio.Task] = None # Nyaa~ 添加聊天超时检查任务的引用 + self._hf_judge_state_update_task: Optional[asyncio.Task] = None # Nyaa~ 添加状态评估任务的引用 + self._into_focus_task: Optional[asyncio.Task] = None # Nyaa~ 添加兴趣评估任务的引用 self._tasks: List[Optional[asyncio.Task]] = [] # Keep track of all tasks async def start_tasks(self): @@ -65,57 +58,53 @@ class BackgroundTaskManager: - 将任务引用保存到任务列表 """ - # 任务配置列表: (任务变量名, 任务函数, 任务名称, 日志级别, 额外日志信息, 任务对象引用属性名) + # 任务配置列表: (任务函数, 任务名称, 日志级别, 额外日志信息, 任务对象引用属性名) task_configs = [ ( - self._state_update_task, - lambda: self._run_state_update_cycle(self.update_interval), - "hf_state_update", + lambda: self._run_state_update_cycle(STATE_UPDATE_INTERVAL_SECONDS), "debug", - f"聊天状态更新任务已启动 间隔:{self.update_interval}s", + f"聊天状态更新任务已启动 间隔:{STATE_UPDATE_INTERVAL_SECONDS}s", "_state_update_task", ), ( - self._hf_judge_state_update_task, - lambda: self._run_hf_judge_state_update_cycle(60), - "hf_judge_state_update", + lambda: self._run_normal_chat_timeout_check_cycle(NORMAL_CHAT_TIMEOUT_CHECK_INTERVAL_SECONDS), "debug", - f"状态评估任务已启动 间隔:{60}s", + f"聊天超时检查任务已启动 间隔:{NORMAL_CHAT_TIMEOUT_CHECK_INTERVAL_SECONDS}s", + "_normal_chat_timeout_check_task", + ), + ( + lambda: self._run_absent_into_chat(HF_JUDGE_STATE_UPDATE_INTERVAL_SECONDS), + "debug", + f"状态评估任务已启动 间隔:{HF_JUDGE_STATE_UPDATE_INTERVAL_SECONDS}s", "_hf_judge_state_update_task", ), ( - self._cleanup_task, self._run_cleanup_cycle, - "hf_cleanup", "info", - f"清理任务已启动 间隔:{self.cleanup_interval}s", + f"清理任务已启动 间隔:{CLEANUP_INTERVAL_SECONDS}s", "_cleanup_task", ), ( - self._logging_task, self._run_logging_cycle, - "hf_logging", "info", - f"日志任务已启动 间隔:{self.log_interval}s", + f"日志任务已启动 间隔:{LOG_INTERVAL_SECONDS}s", "_logging_task", ), # 新增兴趣评估任务配置 ( - self._interest_eval_task, - self._run_interest_eval_cycle, - "hf_interest_eval", + self._run_into_focus_cycle, "debug", # 设为debug,避免过多日志 - f"兴趣评估任务已启动 间隔:{self.interest_eval_interval}s", - "_interest_eval_task", + f"专注评估任务已启动 间隔:{INTEREST_EVAL_INTERVAL_SECONDS}s", + "_into_focus_task", ), ] # 统一启动所有任务 - for _task_var, task_func, task_name, log_level, log_msg, task_attr_name in task_configs: + for task_func,log_level, log_msg, task_attr_name in task_configs: # 检查任务变量是否存在且未完成 current_task_var = getattr(self, task_attr_name) if current_task_var is None or current_task_var.done(): - new_task = asyncio.create_task(task_func(), name=task_name) + new_task = asyncio.create_task(task_func()) setattr(self, task_attr_name, new_task) # 更新任务变量 if new_task not in self._tasks: # 避免重复添加 self._tasks.append(new_task) @@ -123,7 +112,7 @@ class BackgroundTaskManager: # 根据配置记录不同级别的日志 getattr(logger, log_level)(log_msg) else: - logger.warning(f"{task_name}任务已在运行") + logger.warning(f"{task_attr_name}任务已在运行") async def stop_tasks(self): """停止所有后台任务。 @@ -209,10 +198,15 @@ class BackgroundTaskManager: logger.info("检测到离线,停用所有子心流") await self.subheartflow_manager.deactivate_all_subflows() - async def _perform_hf_judge_state_update_work(self): + async def _perform_absent_into_chat(self): """调用llm检测是否转换ABSENT-CHAT状态""" logger.info("[状态评估任务] 开始基于LLM评估子心流状态...") - await self.subheartflow_manager.evaluate_and_transition_subflows_by_llm() + await self.subheartflow_manager.sbhf_absent_into_chat() + + async def _normal_chat_timeout_check_work(self): + """检查处于CHAT状态的子心流是否因长时间未发言而超时,并将其转为ABSENT""" + logger.info("[聊天超时检查] 开始检查处于CHAT状态的子心流...") + await self.subheartflow_manager.sbhf_chat_into_absent() async def _perform_cleanup_work(self): """执行子心流清理任务 @@ -244,10 +238,10 @@ class BackgroundTaskManager: await self.interest_logger.log_all_states() # --- 新增兴趣评估工作函数 --- - async def _perform_interest_eval_work(self): + async def _perform_into_focus_work(self): """执行一轮子心流兴趣评估与提升检查。""" # 直接调用 subheartflow_manager 的方法,并传递当前状态信息 - await self.subheartflow_manager.evaluate_interest_and_promote() + await self.subheartflow_manager.sbhf_absent_into_focus() # --- 结束新增 --- @@ -259,25 +253,30 @@ class BackgroundTaskManager: task_name="State Update", interval=interval, task_func=self._perform_state_update_work ) - async def _run_hf_judge_state_update_cycle(self, interval: int): + async def _run_absent_into_chat(self, interval: int): await self._run_periodic_loop( - task_name="State Update", interval=interval, task_func=self._perform_hf_judge_state_update_work + task_name="Into Chat", interval=interval, task_func=self._perform_absent_into_chat + ) + + async def _run_normal_chat_timeout_check_cycle(self, interval: int): + await self._run_periodic_loop( + task_name="Normal Chat Timeout Check", interval=interval, task_func=self._normal_chat_timeout_check_work ) async def _run_cleanup_cycle(self): await self._run_periodic_loop( - task_name="Subflow Cleanup", interval=self.cleanup_interval, task_func=self._perform_cleanup_work + task_name="Subflow Cleanup", interval=CLEANUP_INTERVAL_SECONDS, task_func=self._perform_cleanup_work ) async def _run_logging_cycle(self): await self._run_periodic_loop( - task_name="State Logging", interval=self.log_interval, task_func=self._perform_logging_work + task_name="State Logging", interval=LOG_INTERVAL_SECONDS, task_func=self._perform_logging_work ) # --- 新增兴趣评估任务运行器 --- - async def _run_interest_eval_cycle(self): + async def _run_into_focus_cycle(self): await self._run_periodic_loop( - task_name="Interest Evaluation", - interval=self.interest_eval_interval, - task_func=self._perform_interest_eval_work, + task_name="Into Focus", + interval=INTEREST_EVAL_INTERVAL_SECONDS, + task_func=self._perform_into_focus_work, ) diff --git a/src/heart_flow/heartflow.py b/src/heart_flow/heartflow.py index f37b7f81f..30151fdf5 100644 --- a/src/heart_flow/heartflow.py +++ b/src/heart_flow/heartflow.py @@ -11,20 +11,9 @@ from src.heart_flow.subheartflow_manager import SubHeartflowManager from src.heart_flow.mind import Mind from src.heart_flow.interest_logger import InterestLogger # Import InterestLogger from src.heart_flow.background_tasks import BackgroundTaskManager # Import BackgroundTaskManager -# --- End import --- logger = get_logger("heartflow") - -# Task Intervals (should be in BackgroundTaskManager or config) -CLEANUP_INTERVAL_SECONDS = 1200 -STATE_UPDATE_INTERVAL_SECONDS = 60 - -# Thresholds (should be in SubHeartflowManager or config) -INACTIVE_THRESHOLD_SECONDS = 1200 -# --- End Constants --- # - - class Heartflow: """主心流协调器,负责初始化并协调各个子系统: - 状态管理 (MaiState) @@ -65,9 +54,6 @@ class Heartflow: mai_state_manager=self.mai_state_manager, subheartflow_manager=self.subheartflow_manager, interest_logger=self.interest_logger, - update_interval=STATE_UPDATE_INTERVAL_SECONDS, - cleanup_interval=CLEANUP_INTERVAL_SECONDS, - log_interval=3, # Example: Using value directly, ideally get from config ) async def get_or_create_subheartflow(self, subheartflow_id: Any) -> Optional["SubHeartflow"]: diff --git a/src/heart_flow/mai_state_manager.py b/src/heart_flow/mai_state_manager.py index 48eead1a1..5f5a2d329 100644 --- a/src/heart_flow/mai_state_manager.py +++ b/src/heart_flow/mai_state_manager.py @@ -4,24 +4,30 @@ import random from typing import List, Tuple, Optional from src.common.logger_manager import get_logger from src.plugins.moods.moods import MoodManager - +from src.config.config import global_config logger = get_logger("mai_state") # -- 状态相关的可配置参数 (可以从 glocal_config 加载) -- -enable_unlimited_hfc_chat = True # 调试用:无限专注聊天 -# enable_unlimited_hfc_chat = False -prevent_offline_state = True # 调试用:防止进入离线状态 +# enable_unlimited_hfc_chat = True # 调试用:无限专注聊天 +enable_unlimited_hfc_chat = False +prevent_offline_state = True +# 目前默认不启用OFFLINE状态 # 不同状态下普通聊天的最大消息数 -MAX_NORMAL_CHAT_NUM_PEEKING = 30 -MAX_NORMAL_CHAT_NUM_NORMAL = 40 -MAX_NORMAL_CHAT_NUM_FOCUSED = 30 +base_normal_chat_num = global_config.base_normal_chat_num +base_focused_chat_num = global_config.base_focused_chat_num + + + +MAX_NORMAL_CHAT_NUM_PEEKING = int(base_normal_chat_num/2) +MAX_NORMAL_CHAT_NUM_NORMAL = base_normal_chat_num +MAX_NORMAL_CHAT_NUM_FOCUSED = base_normal_chat_num + 1 # 不同状态下专注聊天的最大消息数 -MAX_FOCUSED_CHAT_NUM_PEEKING = 20 -MAX_FOCUSED_CHAT_NUM_NORMAL = 30 -MAX_FOCUSED_CHAT_NUM_FOCUSED = 40 +MAX_FOCUSED_CHAT_NUM_PEEKING = int(base_focused_chat_num/2) +MAX_FOCUSED_CHAT_NUM_NORMAL = base_focused_chat_num +MAX_FOCUSED_CHAT_NUM_FOCUSED = base_focused_chat_num + 2 # -- 状态定义 -- @@ -164,7 +170,7 @@ class MaiStateManager: if random.random() < 0.03: # 3% 概率切换到 OFFLINE potential_next = MaiState.OFFLINE resolved_next = _resolve_offline(potential_next) - logger.debug(f"规则1:概率触发下线,resolve 为 {resolved_next.value}") + logger.debug(f"概率触发下线,resolve 为 {resolved_next.value}") # 只有当解析后的状态与当前状态不同时才设置 next_state if resolved_next != current_status: next_state = resolved_next diff --git a/src/heart_flow/observation.py b/src/heart_flow/observation.py index 5793e772f..e34f37d32 100644 --- a/src/heart_flow/observation.py +++ b/src/heart_flow/observation.py @@ -146,7 +146,7 @@ class ChattingObservation(Observation): self.talking_message_str = await build_readable_messages( messages=self.talking_message, - timestamp_mode="normal", + timestamp_mode="lite", read_mark=last_obs_time_mark, ) self.talking_message_str_truncate = await build_readable_messages( diff --git a/src/heart_flow/sub_heartflow.py b/src/heart_flow/sub_heartflow.py index f40160681..9b9ec96df 100644 --- a/src/heart_flow/sub_heartflow.py +++ b/src/heart_flow/sub_heartflow.py @@ -15,20 +15,15 @@ from src.heart_flow.mai_state_manager import MaiStateInfo from src.heart_flow.chat_state_info import ChatState, ChatStateInfo from src.heart_flow.sub_mind import SubMind -# # --- REMOVE: Conditional import --- # -# if TYPE_CHECKING: -# from src.heart_flow.subheartflow_manager import SubHeartflowManager -# # --- END REMOVE --- # - # 定义常量 (从 interest.py 移动过来) MAX_INTEREST = 15.0 logger = get_logger("subheartflow") -base_reply_probability = 0.05 -probability_increase_rate_per_second = 0.08 -max_reply_probability = 1 +PROBABILITY_INCREASE_RATE_PER_SECOND = 0.1 +PROBABILITY_DECREASE_RATE_PER_SECOND = 0.1 +MAX_REPLY_PROBABILITY = 1 class InterestChatting: @@ -37,24 +32,15 @@ class InterestChatting: decay_rate=global_config.default_decay_rate_per_second, max_interest=MAX_INTEREST, trigger_threshold=global_config.reply_trigger_threshold, - base_reply_probability=base_reply_probability, - increase_rate=probability_increase_rate_per_second, - decay_factor=global_config.probability_decay_factor_per_second, - max_probability=max_reply_probability, + max_probability=MAX_REPLY_PROBABILITY, ): # 基础属性初始化 self.interest_level: float = 0.0 - self.last_update_time: float = time.time() self.decay_rate_per_second: float = decay_rate self.max_interest: float = max_interest - self.last_interaction_time: float = self.last_update_time self.trigger_threshold: float = trigger_threshold - self.base_reply_probability: float = base_reply_probability - self.probability_increase_rate: float = increase_rate - self.probability_decay_factor: float = decay_factor self.max_reply_probability: float = max_probability - self.current_reply_probability: float = 0.0 self.is_above_threshold: bool = False # 任务相关属性初始化 @@ -100,7 +86,6 @@ class InterestChatting: """ # 添加新消息 self.interest_dict[message.message_info.message_id] = (message, interest_value, is_mentioned) - self.last_interaction_time = time.time() # 如果字典长度超过10,删除最旧的消息 if len(self.interest_dict) > 10: @@ -144,10 +129,10 @@ class InterestChatting: async def _update_reply_probability(self): self.above_threshold = self.interest_level >= self.trigger_threshold if self.above_threshold: - self.start_hfc_probability += 0.1 + self.start_hfc_probability += PROBABILITY_INCREASE_RATE_PER_SECOND else: if self.start_hfc_probability > 0: - self.start_hfc_probability = max(0, self.start_hfc_probability - 0.1) + self.start_hfc_probability = max(0, self.start_hfc_probability - PROBABILITY_DECREASE_RATE_PER_SECOND) async def increase_interest(self, value: float): self.interest_level += value @@ -168,12 +153,7 @@ class InterestChatting: "above_threshold": self.above_threshold, } - async def should_evaluate_reply(self) -> bool: - if self.current_reply_probability > 0: - trigger = random.random() < self.current_reply_probability - return trigger - else: - return False + # --- 新增后台更新任务相关方法 --- async def _run_update_loop(self, update_interval: float = 1.0): @@ -492,12 +472,11 @@ class SubHeartflow: async def get_interest_state(self) -> dict: return await self.interest_chatting.get_state() - - async def get_interest_level(self) -> float: - return await self.interest_chatting.get_interest() - - async def should_evaluate_reply(self) -> bool: - return await self.interest_chatting.should_evaluate_reply() + + def get_normal_chat_last_speak_time(self) -> float: + if self.normal_chat_instance: + return self.normal_chat_instance.last_speak_time + return 0 def get_interest_dict(self) -> Dict[str, tuple[MessageRecv, float, bool]]: return self.interest_chatting.interest_dict diff --git a/src/heart_flow/sub_mind.py b/src/heart_flow/sub_mind.py index e59ee855c..fbf1be870 100644 --- a/src/heart_flow/sub_mind.py +++ b/src/heart_flow/sub_mind.py @@ -140,11 +140,11 @@ class SubMind: individuality = Individuality.get_instance() relation_prompt = "" - print(f"person_list: {person_list}") + # print(f"person_list: {person_list}") for person in person_list: relation_prompt += await relationship_manager.build_relationship_info(person, is_id=True) - print(f"relat22222ion_prompt: {relation_prompt}") + # print(f"relat22222ion_prompt: {relation_prompt}") # 构建个性部分 prompt_personality = individuality.get_prompt(x_person=2, level=2) diff --git a/src/heart_flow/subheartflow_manager.py b/src/heart_flow/subheartflow_manager.py index afa0328e6..ebb70f44e 100644 --- a/src/heart_flow/subheartflow_manager.py +++ b/src/heart_flow/subheartflow_manager.py @@ -29,7 +29,7 @@ logger = get_logger("subheartflow_manager") # 子心流管理相关常量 INACTIVE_THRESHOLD_SECONDS = 3600 # 子心流不活跃超时时间(秒) - +NORMAL_CHAT_TIMEOUT_SECONDS = 30 * 60 # 30分钟 class SubHeartflowManager: """管理所有活跃的 SubHeartflow 实例。""" @@ -256,7 +256,7 @@ class SubHeartflowManager: f"{log_prefix} 完成,共处理 {processed_count} 个子心流,成功将 {changed_count} 个非 ABSENT 子心流的状态更改为 ABSENT。" ) - async def evaluate_interest_and_promote(self): + async def sbhf_absent_into_focus(self): """评估子心流兴趣度,满足条件且未达上限则提升到FOCUSED状态(基于start_hfc_probability)""" try: log_prefix = "[兴趣评估]" @@ -271,10 +271,7 @@ class SubHeartflowManager: return # 如果不允许,直接返回 # --- 结束新增 --- - logger.debug(f"{log_prefix} 当前状态 ({current_state.value}) 开始尝试提升到FOCUSED状态") - - if int(time.time()) % 20 == 0: # 每20秒输出一次 - logger.debug(f"{log_prefix} 当前状态 ({current_state.value}) 可以在{focused_limit}个群激情聊天") + logger.debug(f"{log_prefix} 当前状态 ({current_state.value}) 可以在{focused_limit}个群激情聊天") if focused_limit <= 0: # logger.debug(f"{log_prefix} 当前状态 ({current_state.value}) 不允许 FOCUSED 子心流") @@ -333,137 +330,187 @@ class SubHeartflowManager: except Exception as e: logger.error(f"启动HFC 兴趣评估失败: {e}", exc_info=True) - async def evaluate_and_transition_subflows_by_llm(self): + async def sbhf_absent_into_chat(self): """ - 使用LLM评估每个子心流的状态,并根据LLM的判断执行状态转换(ABSENT <-> CHAT)。 - 注意:此函数包含对假设的LLM函数的调用。 + 随机选一个 ABSENT 状态的子心流,评估是否应转换为 CHAT 状态。 + 每次调用最多转换一个。 """ - # 获取当前状态和限制,用于CHAT激活检查 current_mai_state = self.mai_state_info.get_current_state() chat_limit = current_mai_state.get_normal_chat_max_num() - transitioned_to_chat = 0 - transitioned_to_absent = 0 + async with self._lock: + # 1. 筛选出所有 ABSENT 状态的子心流 + absent_subflows = [ + hf for hf in self.subheartflows.values() + if hf.chat_state.chat_status == ChatState.ABSENT + ] - async with self._lock: # 在锁内获取快照并迭代 - subflows_snapshot = list(self.subheartflows.values()) - # 使用不上锁的版本,因为我们已经在锁内 + if not absent_subflows: + logger.debug("没有摸鱼的子心流可以评估。") # 日志太频繁,注释掉 + return # 没有目标,直接返回 + + # 2. 随机选一个幸运儿 + sub_hf_to_evaluate = random.choice(absent_subflows) + flow_id = sub_hf_to_evaluate.subheartflow_id + stream_name = chat_manager.get_stream_name(flow_id) or flow_id + log_prefix = f"[{stream_name}]" + + # 3. 检查 CHAT 上限 current_chat_count = self.count_subflows_by_state_nolock(ChatState.CHAT) + if current_chat_count >= chat_limit: + logger.debug(f"{log_prefix} 想看看能不能聊,但是聊天太多了, ({current_chat_count}/{chat_limit}) 满了。") + return # 满了,这次就算了 + + # --- 获取 FOCUSED 计数 --- + current_focused_count = self.count_subflows_by_state_nolock(ChatState.FOCUSED) + focused_limit = current_mai_state.get_focused_chat_max_num() + + # --- 新增:获取聊天和专注群名 --- + chatting_group_names = [] + focused_group_names = [] + for flow_id, hf in self.subheartflows.items(): + stream_name = chat_manager.get_stream_name(flow_id) or str(flow_id) # 保证有名字 + if hf.chat_state.chat_status == ChatState.CHAT: + chatting_group_names.append(stream_name) + elif hf.chat_state.chat_status == ChatState.FOCUSED: + focused_group_names.append(stream_name) + # --- 结束新增 --- + + # --- 获取观察信息和构建 Prompt --- + first_observation = sub_hf_to_evaluate.observations[0] # 喵~第一个观察者肯定存在的说 + await first_observation.observe() + current_chat_log = first_observation.talking_message_str or "当前没啥聊天内容。" + _observation_summary = f"最近聊了这些:\n{current_chat_log}" + + mai_state_description = f"你当前状态: {current_mai_state.value}。" + individuality = Individuality.get_instance() + personality_prompt = individuality.get_prompt(x_person=2, level = 2) + prompt_personality = f"你正在扮演名为{individuality.name}的人类,{personality_prompt}" + + # --- 修改:在 prompt 中加入当前聊天计数和群名信息 (条件显示) --- + chat_status_lines = [] + if chatting_group_names: + chat_status_lines.append(f"正在闲聊 ({current_chat_count}/{chat_limit}): {', '.join(chatting_group_names)}") + if focused_group_names: + chat_status_lines.append(f"正在专注 ({current_focused_count}/{focused_limit}): {', '.join(focused_group_names)}") + + chat_status_prompt = "当前没有在任何群聊中。" # 默认消息喵~ + if chat_status_lines: + chat_status_prompt = "当前聊天情况:\n" + "\n".join(chat_status_lines) # 拼接状态信息 + + prompt = ( + f"{prompt_personality}\\n" + f"你当前没在 [{stream_name}] 群聊天。\\n" + f"{mai_state_description}\\n" + f"{chat_status_prompt}\\n" # <-- 喵!用了新的状态信息~ + f"{_observation_summary}\\n---\\n" + f"基于以上信息,你想不想开始在这个群闲聊?\\n" + f"请说明理由,并以 JSON 格式回答,包含 'decision' (布尔值) 和 'reason' (字符串)。\\n" + f'例如:{{\"decision\": true, \"reason\": \"看起来挺热闹的,插个话\"}}\\n' + f'例如:{{\"decision\": false, \"reason\": \"已经聊了好多,休息一下\"}}\\n' + f"请只输出有效的 JSON 对象。" + ) + # --- 结束修改 --- + + # --- 4. LLM 评估是否想聊 --- + yao_kai_shi_liao_ma = await self._llm_evaluate_state_transition(prompt) + + if yao_kai_shi_liao_ma is None: + logger.debug(f"{log_prefix} 问AI想不想聊失败了,这次算了。") + return # 评估失败,结束 + + if not yao_kai_shi_liao_ma: + logger.info(f"{log_prefix} 现在不想聊这个群。") + return # 不想聊,结束 + + # --- 5. AI想聊,再次检查额度并尝试转换 --- + # 再次检查以防万一 + current_chat_count_before_change = self.count_subflows_by_state_nolock(ChatState.CHAT) + if current_chat_count_before_change < chat_limit: + logger.info( + f"{log_prefix} 想聊,而且还有空位 ({current_chat_count_before_change}/{chat_limit}),这就去聊!" + ) + await sub_hf_to_evaluate.change_chat_state(ChatState.CHAT) + # 确认转换成功 + if sub_hf_to_evaluate.chat_state.chat_status == ChatState.CHAT: + logger.debug(f"{log_prefix} 成功进入聊天状态!本次评估圆满结束。") + else: + logger.warning(f"{log_prefix} 奇怪,尝试进入聊天状态失败了。当前状态: {sub_hf_to_evaluate.chat_state.chat_status.value}") + else: + logger.warning( + f"{log_prefix} AI说想聊,但是刚问完就没空位了 ({current_chat_count_before_change}/{chat_limit})。真不巧,下次再说吧。" + ) + # 无论转换成功与否,本次评估都结束了 + + # 锁在这里自动释放 + + # --- 新增:单独检查 CHAT 状态超时的任务 --- + async def sbhf_chat_into_absent(self): + """定期检查处于 CHAT 状态的子心流是否因长时间未发言而超时,并将其转为 ABSENT。""" + log_prefix_task = "[聊天超时检查]" + transitioned_to_absent = 0 + checked_count = 0 + + async with self._lock: + subflows_snapshot = list(self.subheartflows.values()) + checked_count = len(subflows_snapshot) if not subflows_snapshot: - logger.info("当前没有子心流需要评估。") + # logger.debug(f"{log_prefix_task} 没有子心流需要检查超时。") return for sub_hf in subflows_snapshot: + # 只检查 CHAT 状态的子心流 + if sub_hf.chat_state.chat_status != ChatState.CHAT: + continue + flow_id = sub_hf.subheartflow_id stream_name = chat_manager.get_stream_name(flow_id) or flow_id - log_prefix = f"[{stream_name}]" - current_subflow_state = sub_hf.chat_state.chat_status + log_prefix = f"[{stream_name}]({log_prefix_task})" - _observation_summary = "没有可用的观察信息。" # 默认值 + should_deactivate = False + reason = "" - first_observation = sub_hf.observations[0] - if isinstance(first_observation, ChattingObservation): - # 组合中期记忆和当前聊天内容 - await first_observation.observe() - current_chat = first_observation.talking_message_str or "当前无聊天内容。" - combined_summary = f"当前聊天内容:\n{current_chat}" - else: - logger.warning(f"{log_prefix} [{stream_name}] 第一个观察者不是 ChattingObservation 类型。") + try: + # 使用变量名 last_bot_dong_zuo_time 替代 last_bot_activity_time + last_bot_dong_zuo_time = sub_hf.get_normal_chat_last_speak_time() - # --- 获取麦麦状态 --- - mai_state_description = f"你当前状态: {current_mai_state.value}。" + if last_bot_dong_zuo_time > 0: + current_time = time.time() + # 使用变量名 time_since_last_bb 替代 time_since_last_reply + time_since_last_bb = current_time - last_bot_dong_zuo_time - # 获取个性化信息 - individuality = Individuality.get_instance() + if time_since_last_bb > NORMAL_CHAT_TIMEOUT_SECONDS: + should_deactivate = True + reason = f"超过 {NORMAL_CHAT_TIMEOUT_SECONDS / 60:.0f} 分钟没 BB" + logger.info(f"{log_prefix} 检测到超时 ({reason}),准备转为 ABSENT。上次活动时间: {last_bot_dong_zuo_time:.0f}") + # else: + # logger.debug(f"{log_prefix} Bot活动时间未超时 ({time_since_last_bb:.0f}s < {NORMAL_CHAT_TIMEOUT_SECONDS}s),保持 CHAT 状态。") + # else: + # 如果没有记录到Bot的活动时间,暂时不因为超时而转换状态 + # logger.debug(f"{log_prefix} 未找到有效的 Bot 最后活动时间记录,不执行超时检查。") - # 构建个性部分 - prompt_personality = f"你正在扮演名为{individuality.personality.bot_nickname}的人类,你" - prompt_personality += individuality.personality.personality_core + except AttributeError: + logger.error(f"{log_prefix} 无法获取 Bot 最后 BB 时间,请确保 SubHeartflow 相关实现正确。跳过超时检查。") + except Exception as e: + logger.error(f"{log_prefix} 检查 Bot 超时状态时出错: {e}", exc_info=True) - # 随机添加个性侧面 - if individuality.personality.personality_sides: - random_side = random.choice(individuality.personality.personality_sides) - prompt_personality += f",{random_side}" - - # 随机添加身份细节 - if individuality.identity.identity_detail: - random_detail = random.choice(individuality.identity.identity_detail) - prompt_personality += f",{random_detail}" - - # --- 针对 ABSENT 状态 --- - if current_subflow_state == ChatState.ABSENT: - # 构建Prompt - prompt = ( - f"{prompt_personality}\n" - f"你当前没有在: [{stream_name}] 群中聊天。\n" - f"{mai_state_description}\n" - f"这个群里最近的聊天内容是:\n---\n{combined_summary}\n---\n" - f"基于以上信息,请判断你是否愿意在这个群开始闲聊," - f"进入常规聊天(CHAT)状态?\n" - f"给出你的判断,和理由,然后以 JSON 格式回答" - f"包含键 'decision',如果要开始聊天,值为 true ,否则为 false.\n" - f"包含键 'reason',其值为你的理由。\n" - f'例如:{{"decision": true, "reason": "因为我想聊天"}}\n' - f"请只输出有效的 JSON 对象。" - ) - - # 调用LLM评估 - should_activate = await self._llm_evaluate_state_transition(prompt) - if should_activate is None: # 处理解析失败或意外情况 - logger.warning(f"{log_prefix}LLM评估返回无效结果,跳过。") - continue - - if should_activate: - # 检查CHAT限额 - # 使用不上锁的版本,因为我们已经在锁内 - current_chat_count = self.count_subflows_by_state_nolock(ChatState.CHAT) - if current_chat_count < chat_limit: - logger.info( - f"{log_prefix}LLM建议激活到CHAT状态,且未达上限({current_chat_count}/{chat_limit})。正在尝试转换..." - ) - await sub_hf.change_chat_state(ChatState.CHAT) - if sub_hf.chat_state.chat_status == ChatState.CHAT: - transitioned_to_chat += 1 - else: - logger.warning(f"{log_prefix}尝试激活到CHAT失败。") - else: - logger.info( - f"{log_prefix}LLM建议激活到CHAT状态,但已达到上限({current_chat_count}/{chat_limit})。跳过转换。" - ) + # --- 执行状态转换(如果超时) --- + if should_deactivate: + logger.info(f"{log_prefix} 因超时 ({reason}),尝试转换为 ABSENT 状态。") + await sub_hf.change_chat_state(ChatState.ABSENT) + # 再次检查确保状态已改变 + if sub_hf.chat_state.chat_status == ChatState.ABSENT: + transitioned_to_absent += 1 + logger.info(f"{log_prefix} 已成功转换为 ABSENT 状态。") else: - logger.info(f"{log_prefix}LLM建议不激活到CHAT状态。") + logger.warning(f"{log_prefix} 尝试因超时转换为 ABSENT 失败。") - # --- 针对 CHAT 状态 --- - elif current_subflow_state == ChatState.CHAT: - # 构建Prompt - prompt = ( - f"{prompt_personality}\n" - f"你正在在: [{stream_name}] 群中聊天。\n" - f"{mai_state_description}\n" - f"这个群里最近的聊天内容是:\n---\n{combined_summary}\n---\n" - f"基于以上信息,请判断你是否愿意在这个群继续闲聊," - f"还是暂时离开聊天,进入休眠状态?\n" - f"给出你的判断,和理由,然后以 JSON 格式回答" - f"包含键 'decision',如果要离开聊天,值为 true ,否则为 false.\n" - f"包含键 'reason',其值为你的理由。\n" - f'例如:{{"decision": true, "reason": "因为我想休息"}}\n' - f"请只输出有效的 JSON 对象。" - ) - - # 调用LLM评估 - should_deactivate = await self._llm_evaluate_state_transition(prompt) - if should_deactivate is None: # 处理解析失败或意外情况 - logger.warning(f"{log_prefix}LLM评估返回无效结果,跳过。") - continue - - if should_deactivate: - logger.info(f"{log_prefix}LLM建议进入ABSENT状态。正在尝试转换...") - await sub_hf.change_chat_state(ChatState.ABSENT) - if sub_hf.chat_state.chat_status == ChatState.ABSENT: - transitioned_to_absent += 1 - else: - logger.info(f"{log_prefix}LLM建议不进入ABSENT状态。") + if transitioned_to_absent > 0: + logger.info(f"{log_prefix_task} 完成,共检查 {checked_count} 个子心流,{transitioned_to_absent} 个因超时转为 ABSENT。") + # else: + # logger.debug(f"{log_prefix_task} 完成,共检查 {checked_count} 个子心流,无超时转换。") + # --- 结束新增 --- async def _llm_evaluate_state_transition(self, prompt: str) -> Optional[bool]: """ @@ -579,14 +626,14 @@ class SubHeartflowManager: # --- 新增:处理 HFC 无回复回调的专用方法 --- # async def _handle_hfc_no_reply(self, subheartflow_id: Any): """处理来自 HeartFChatting 的连续无回复信号 (通过 partial 绑定 ID)""" - # 注意:这里不需要再获取锁,因为 request_absent_transition 内部会处理锁 + # 注意:这里不需要再获取锁,因为 sbhf_focus_into_absent 内部会处理锁 logger.debug(f"[管理器 HFC 处理器] 接收到来自 {subheartflow_id} 的 HFC 无回复信号") - await self.request_absent_transition(subheartflow_id) + await self.sbhf_focus_into_absent(subheartflow_id) # --- 结束新增 --- # # --- 新增:处理来自 HeartFChatting 的状态转换请求 --- # - async def request_absent_transition(self, subflow_id: Any): + async def sbhf_focus_into_absent(self, subflow_id: Any): """ 接收来自 HeartFChatting 的请求,将特定子心流的状态转换为 ABSENT。 通常在连续多次 "no_reply" 后被调用。 @@ -606,12 +653,42 @@ class SubHeartflowManager: # 仅当子心流处于 FOCUSED 状态时才进行转换 # 因为 HeartFChatting 只在 FOCUSED 状态下运行 if current_state == ChatState.FOCUSED: - logger.info(f"[状态转换请求] 接收到请求,将 {stream_name} (当前: {current_state.value}) 转换为 ABSENT") + target_state = ChatState.ABSENT # 默认目标状态 + log_reason = "默认转换" + + # 决定是去 ABSENT 还是 CHAT + if random.random() < 0.5: + target_state = ChatState.ABSENT + log_reason = "随机选择 ABSENT" + logger.debug(f"[状态转换请求] {stream_name} ({current_state.value}) 随机决定进入 ABSENT") + else: + # 尝试进入 CHAT,先检查限制 + current_mai_state = self.mai_state_info.get_current_state() + chat_limit = current_mai_state.get_normal_chat_max_num() + # 使用不上锁的版本,因为我们已经在锁内 + current_chat_count = self.count_subflows_by_state_nolock(ChatState.CHAT) + + if current_chat_count < chat_limit: + target_state = ChatState.CHAT + log_reason = f"随机选择 CHAT (当前 {current_chat_count}/{chat_limit})" + logger.debug(f"[状态转换请求] {stream_name} ({current_state.value}) 随机决定进入 CHAT,未达上限 ({current_chat_count}/{chat_limit})") + else: + target_state = ChatState.ABSENT + log_reason = f"随机选择 CHAT 但已达上限 ({current_chat_count}/{chat_limit}),转为 ABSENT" + logger.debug(f"[状态转换请求] {stream_name} ({current_state.value}) 随机决定进入 CHAT,但已达上限 ({current_chat_count}/{chat_limit}),改为进入 ABSENT") + + #开始转换 + logger.info(f"[状态转换请求] 接收到请求,将 {stream_name} (当前: {current_state.value}) 尝试转换为 {target_state.value} ({log_reason})") try: - await subflow.change_chat_state(ChatState.ABSENT) - logger.info(f"[状态转换请求] {stream_name} 状态已成功转换为 ABSENT") + await subflow.change_chat_state(target_state) + # 检查最终状态 + final_state = subflow.chat_state.chat_status + if final_state == target_state: + logger.debug(f"[状态转换请求] {stream_name} 状态已成功转换为 {final_state.value}") + else: + logger.warning(f"[状态转换请求] 尝试将 {stream_name} 转换为 {target_state.value} 后,状态实际为 {final_state.value}") except Exception as e: - logger.error(f"[状态转换请求] 转换 {stream_name} 到 ABSENT 时出错: {e}", exc_info=True) + logger.error(f"[状态转换请求] 转换 {stream_name} 到 {target_state.value} 时出错: {e}", exc_info=True) elif current_state == ChatState.ABSENT: logger.debug(f"[状态转换请求] {stream_name} 已处于 ABSENT 状态,无需转换") else: diff --git a/src/individuality/individuality.py b/src/individuality/individuality.py index 65e9937c2..86e5b63ed 100644 --- a/src/individuality/individuality.py +++ b/src/individuality/individuality.py @@ -191,7 +191,7 @@ class Individuality: 获取合并的个体特征prompt Args: - level (int): 详细程度 (1: 核心/随机细节, 2: 核心+侧面/细节+其他, 3: 全部) + level (int): 详细程度 (1: 核心/随机细节, 2: 核心+随机侧面/全部细节, 3: 全部) x_person (int, optional): 人称代词 (0: 无人称, 1: 我, 2: 你). 默认为 2. Returns: diff --git a/src/plugins/chat/bot.py b/src/plugins/chat/bot.py index f89b3898f..8051d0a8e 100644 --- a/src/plugins/chat/bot.py +++ b/src/plugins/chat/bot.py @@ -99,15 +99,20 @@ class ChatBot: template_group_name = None async def preprocess(): + logger.trace("开始预处理消息...") # 如果在私聊中 if groupinfo is None: + logger.trace("检测到私聊消息") # 是否在配置信息中开启私聊模式 if global_config.enable_friend_chat: + logger.trace("私聊模式已启用") # 是否进入PFC if global_config.enable_pfc_chatting: + logger.trace("进入PFC私聊处理流程") userinfo = message.message_info.user_info messageinfo = message.message_info # 创建聊天流 + logger.trace(f"为{userinfo.user_id}创建/获取聊天流") chat = await chat_manager.get_or_create_stream( platform=messageinfo.platform, user_info=userinfo, @@ -118,9 +123,11 @@ class ChatBot: await self._create_pfc_chat(message) # 禁止PFC,进入普通的心流消息处理逻辑 else: + logger.trace("进入普通心流私聊处理") await self.heartflow_processor.process_message(message_data) # 群聊默认进入心流消息处理逻辑 else: + logger.trace(f"检测到群聊消息,群ID: {groupinfo.group_id}") await self.heartflow_processor.process_message(message_data) if template_group_name: diff --git a/src/plugins/chat/utils.py b/src/plugins/chat/utils.py index 4eb3d93dd..71980f484 100644 --- a/src/plugins/chat/utils.py +++ b/src/plugins/chat/utils.py @@ -732,6 +732,9 @@ def translate_timestamp_to_human_readable(timestamp: float, mode: str = "normal" return f"{int(diff / 86400)}天前:\n" else: return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp)) + ":\n" + elif mode == "lite": + # 只返回时分秒格式,喵~ + return time.strftime("%H:%M:%S", time.localtime(timestamp)) return None diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index c15c4f83f..15518a778 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -30,10 +30,12 @@ from src.plugins.moods.moods import MoodManager from src.individuality.individuality import Individuality -INITIAL_DURATION = 60.0 - WAITING_TIME_THRESHOLD = 300 # 等待新消息时间阈值,单位秒 +EMOJI_SEND_PRO = 0.3 # 设置一个概率,比如 30% 才真的发 + +CONSECUTIVE_NO_REPLY_THRESHOLD = 3 # 连续不回复的阈值 + logger = get_logger("interest") # Logger Name Changed @@ -179,8 +181,6 @@ class HeartFChatting: 其生命周期现在由其关联的 SubHeartflow 的 FOCUSED 状态控制。 """ - CONSECUTIVE_NO_REPLY_THRESHOLD = 3 # 连续不回复的阈值 - def __init__( self, chat_id: str, @@ -644,14 +644,14 @@ class HeartFChatting: self._lian_xu_bu_hui_fu_ci_shu += 1 self._lian_xu_deng_dai_shi_jian += dang_qian_deng_dai # 累加等待时间 logger.debug( - f"{self.log_prefix} 连续不回复计数增加: {self._lian_xu_bu_hui_fu_ci_shu}/{self.CONSECUTIVE_NO_REPLY_THRESHOLD}, " + f"{self.log_prefix} 连续不回复计数增加: {self._lian_xu_bu_hui_fu_ci_shu}/{CONSECUTIVE_NO_REPLY_THRESHOLD}, " f"本次等待: {dang_qian_deng_dai:.2f}秒, 累计等待: {self._lian_xu_deng_dai_shi_jian:.2f}秒" ) # 检查是否同时达到次数和时间阈值 - time_threshold = 0.66 * WAITING_TIME_THRESHOLD * self.CONSECUTIVE_NO_REPLY_THRESHOLD + time_threshold = 0.66 * WAITING_TIME_THRESHOLD * CONSECUTIVE_NO_REPLY_THRESHOLD if ( - self._lian_xu_bu_hui_fu_ci_shu >= self.CONSECUTIVE_NO_REPLY_THRESHOLD + self._lian_xu_bu_hui_fu_ci_shu >= CONSECUTIVE_NO_REPLY_THRESHOLD and self._lian_xu_deng_dai_shi_jian >= time_threshold ): logger.info( @@ -661,7 +661,7 @@ class HeartFChatting: ) # 调用回调。注意:这里不重置计数器和时间,依赖回调函数成功改变状态来隐式重置上下文。 await self.on_consecutive_no_reply_callback() - elif self._lian_xu_bu_hui_fu_ci_shu >= self.CONSECUTIVE_NO_REPLY_THRESHOLD: + elif self._lian_xu_bu_hui_fu_ci_shu >= CONSECUTIVE_NO_REPLY_THRESHOLD: # 仅次数达到阈值,但时间未达到 logger.debug( f"{self.log_prefix} 连续不回复次数达到阈值 ({self._lian_xu_bu_hui_fu_ci_shu}次) " @@ -979,6 +979,20 @@ class HeartFChatting: f"{self.log_prefix}[Planner] 恢复了原始动作集, 当前可用: {list(self.action_manager.get_available_actions().keys())}" ) # --- 结束:确保动作恢复 --- + + # --- 新增:概率性忽略文本回复附带的表情(正确的位置)--- + + + if action == "text_reply" and emoji_query: + logger.debug(f"{self.log_prefix}[Planner] 大模型想让麦麦发文字时带表情: '{emoji_query}'") + # 掷骰子看看要不要听它的 + if random.random() > EMOJI_SEND_PRO: + logger.info(f"{self.log_prefix}[Planner] 但是麦麦这次不想加表情 ({1-EMOJI_SEND_PRO:.0%}),忽略表情 '{emoji_query}'") + emoji_query = "" # 把表情请求清空,就不发了 + else: + logger.info(f"{self.log_prefix}[Planner] 好吧,加上表情 '{emoji_query}'") + # --- 结束:概率性忽略 --- + # --- 结束 LLM 决策 --- # return { diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index a0f266d66..c4958a9f4 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -174,7 +174,7 @@ class PromptBuilder: message_list_before_now = get_raw_msg_before_timestamp_with_chat( chat_id=chat_stream.stream_id, timestamp=time.time(), - limit=global_config.MAX_CONTEXT_SIZE, + limit=global_config.observation_context_size, ) chat_talking_prompt = await build_readable_messages( @@ -241,6 +241,8 @@ class PromptBuilder: prompt_ger=prompt_ger, moderation_prompt=await global_prompt_manager.get_prompt_async("moderation_prompt"), ) + + logger.debug(f"focus_chat_prompt: \n{prompt}") return prompt @@ -255,7 +257,7 @@ class PromptBuilder: who_chat_in_group += get_recent_group_speaker( chat_stream.stream_id, (chat_stream.user_info.platform, chat_stream.user_info.user_id), - limit=global_config.MAX_CONTEXT_SIZE, + limit=global_config.observation_context_size, ) relation_prompt = "" @@ -314,7 +316,7 @@ class PromptBuilder: message_list_before_now = get_raw_msg_before_timestamp_with_chat( chat_id=chat_stream.stream_id, timestamp=time.time(), - limit=global_config.MAX_CONTEXT_SIZE, + limit=global_config.observation_context_size, ) chat_talking_prompt = await build_readable_messages( diff --git a/src/plugins/heartFC_chat/normal_chat.py b/src/plugins/heartFC_chat/normal_chat.py index e97cbcd2e..952506529 100644 --- a/src/plugins/heartFC_chat/normal_chat.py +++ b/src/plugins/heartFC_chat/normal_chat.py @@ -43,6 +43,8 @@ class NormalChat: self.mood_manager = MoodManager.get_instance() # MoodManager 保持单例 # 存储此实例的兴趣监控任务 self.start_time = time.time() + + self.last_speak_time = 0 self._chat_task: Optional[asyncio.Task] = None logger.info(f"[{self.stream_name}] NormalChat 实例初始化完成。") @@ -119,6 +121,8 @@ class NormalChat: await message_manager.add_message(message_set) + self.last_speak_time = time.time() + return first_bot_msg # 改为实例方法 diff --git a/src/plugins/models/utils_model.py b/src/plugins/models/utils_model.py index e8ccf1ca5..e421641c3 100644 --- a/src/plugins/models/utils_model.py +++ b/src/plugins/models/utils_model.py @@ -632,7 +632,7 @@ class LLMRequest: **params_copy, } if "max_tokens" not in payload and "max_completion_tokens" not in payload: - payload["max_tokens"] = global_config.max_response_length + payload["max_tokens"] = global_config.model_max_output_length # 如果 payload 中依然存在 max_tokens 且需要转换,在这里进行再次检查 if self.model_name.lower() in self.MODELS_NEEDING_TRANSFORMATION and "max_tokens" in payload: payload["max_completion_tokens"] = payload.pop("max_tokens") diff --git a/src/plugins/person_info/relationship_manager.py b/src/plugins/person_info/relationship_manager.py index a25dd731c..fc8cf548e 100644 --- a/src/plugins/person_info/relationship_manager.py +++ b/src/plugins/person_info/relationship_manager.py @@ -282,10 +282,10 @@ class RelationshipManager: if is_id: person_id = person else: - print(f"person: {person}") + # print(f"person: {person}") person_id = person_info_manager.get_person_id(person[0], person[1]) person_name = await person_info_manager.get_value(person_id, "person_name") - print(f"person_name: {person_name}") + # print(f"person_name: {person_name}") relationship_value = await person_info_manager.get_value(person_id, "relationship_value") level_num = self.calculate_level_num(relationship_value) diff --git a/src/plugins/respon_info_catcher/info_catcher.py b/src/plugins/respon_info_catcher/info_catcher.py index 4b19844a8..5cb67a16d 100644 --- a/src/plugins/respon_info_catcher/info_catcher.py +++ b/src/plugins/respon_info_catcher/info_catcher.py @@ -8,13 +8,12 @@ from typing import List class InfoCatcher: def __init__(self): - self.chat_history = [] # 聊天历史,长度为三倍使用的上下文 - self.context_length = global_config.MAX_CONTEXT_SIZE - self.chat_history_in_thinking = [] # 思考期间的聊天内容 - self.chat_history_after_response = [] # 回复后的聊天内容,长度为一倍上下文 + self.chat_history = [] # 聊天历史,长度为三倍使用的上下文喵~ + self.context_length = global_config.observation_context_size + self.chat_history_in_thinking = [] # 思考期间的聊天内容喵~ + self.chat_history_after_response = [] # 回复后的聊天内容,长度为一倍上下文喵~ self.chat_id = "" - self.response_mode = global_config.response_mode self.trigger_response_text = "" self.response_text = "" @@ -36,10 +35,10 @@ class InfoCatcher: "model": "", } - # 使用字典来存储 reasoning 模式的数据 + # 使用字典来存储 reasoning 模式的数据喵~ self.reasoning_data = {"thinking_log": "", "prompt": "", "response": "", "model": ""} - # 耗时 + # 耗时喵~ self.timing_results = { "interested_rate_time": 0, "sub_heartflow_observe_time": 0, @@ -73,15 +72,25 @@ class InfoCatcher: self.heartflow_data["sub_heartflow_now"] = current_mind def catch_after_llm_generated(self, prompt: str, response: str, reasoning_content: str = "", model_name: str = ""): - if self.response_mode == "heart_flow": - self.heartflow_data["prompt"] = prompt - self.heartflow_data["response"] = response - self.heartflow_data["model"] = model_name - elif self.response_mode == "reasoning": - self.reasoning_data["thinking_log"] = reasoning_content - self.reasoning_data["prompt"] = prompt - self.reasoning_data["response"] = response - self.reasoning_data["model"] = model_name + # if self.response_mode == "heart_flow": # 条件判断不需要了喵~ + # self.heartflow_data["prompt"] = prompt + # self.heartflow_data["response"] = response + # self.heartflow_data["model"] = model_name + # elif self.response_mode == "reasoning": # 条件判断不需要了喵~ + # self.reasoning_data["thinking_log"] = reasoning_content + # self.reasoning_data["prompt"] = prompt + # self.reasoning_data["response"] = response + # self.reasoning_data["model"] = model_name + + # 直接记录信息喵~ + self.reasoning_data["thinking_log"] = reasoning_content + self.reasoning_data["prompt"] = prompt + self.reasoning_data["response"] = response + self.reasoning_data["model"] = model_name + # 如果 heartflow 数据也需要通用字段,可以取消下面的注释喵~ + # self.heartflow_data["prompt"] = prompt + # self.heartflow_data["response"] = response + # self.heartflow_data["model"] = model_name self.response_text = response @@ -172,13 +181,13 @@ class InfoCatcher: } def done_catch(self): - """将收集到的信息存储到数据库的 thinking_log 集合中""" + """将收集到的信息存储到数据库的 thinking_log 集合中喵~""" try: - # 将消息对象转换为可序列化的字典 + # 将消息对象转换为可序列化的字典喵~ thinking_log_data = { "chat_id": self.chat_id, - "response_mode": self.response_mode, + # "response_mode": self.response_mode, # 这个也删掉喵~ "trigger_text": self.trigger_response_text, "response_text": self.response_text, "trigger_info": { @@ -195,18 +204,20 @@ class InfoCatcher: "chat_history_after_response": self.message_list_to_dict(self.chat_history_after_response), } - # 根据不同的响应模式添加相应的数据 - if self.response_mode == "heart_flow": - thinking_log_data["mode_specific_data"] = self.heartflow_data - elif self.response_mode == "reasoning": - thinking_log_data["mode_specific_data"] = self.reasoning_data + # 根据不同的响应模式添加相应的数据喵~ # 现在直接都加上去好了喵~ + # if self.response_mode == "heart_flow": + # thinking_log_data["mode_specific_data"] = self.heartflow_data + # elif self.response_mode == "reasoning": + # thinking_log_data["mode_specific_data"] = self.reasoning_data + thinking_log_data["heartflow_data"] = self.heartflow_data + thinking_log_data["reasoning_data"] = self.reasoning_data - # 将数据插入到 thinking_log 集合中 + # 将数据插入到 thinking_log 集合中喵~ db.thinking_log.insert_one(thinking_log_data) return True except Exception as e: - print(f"存储思考日志时出错: {str(e)}") + print(f"存储思考日志时出错: {str(e)} 喵~") print(traceback.format_exc()) return False diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index 8ca6aaa31..2be1ca4f0 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -1,5 +1,5 @@ [inner] -version = "1.5.1" +version = "1.6.0" #----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读---- #如果你想要修改配置文件,请在修改后将version的值进行变更 @@ -65,33 +65,14 @@ time_zone = "Asia/Shanghai" # 给你的机器人设置时区,可以解决运 [platforms] # 必填项目,填写每个平台适配器提供的链接 nonebot-qq="http://127.0.0.1:18002/api/message" -[response] #群聊的回复策略 -#一般回复参数 -model_reasoning_probability = 0.7 # 麦麦回答时选择推理模型 模型的概率 -model_normal_probability = 0.3 # 麦麦回答时选择一般模型 模型的概率 - -[heartflow] -allow_focus_mode = true # 是否允许进入FOCUSED状态 -# 是否启用heart_flowC(心流聊天,HFC)模式 +[chat] #麦麦的聊天通用设置 +allow_focus_mode = true # 是否允许专注聊天状态 +# 是否启用heart_flowC(HFC)模式 # 启用后麦麦会自主选择进入heart_flowC模式(持续一段时间),进行主动的观察和回复,并给出回复,比较消耗token -reply_trigger_threshold = 3.0 # 心流聊天触发阈值,越低越容易进入心流聊天 -probability_decay_factor_per_second = 0.2 # 概率衰减因子,越大衰减越快,越高越容易退出心流聊天 -default_decay_rate_per_second = 0.98 # 默认衰减率,越大衰减越快,越高越难进入心流聊天 +base_normal_chat_num = 3 # 最多允许多少个群进行普通聊天 +base_focused_chat_num = 2 # 最多允许多少个群进行专注聊天 - - -sub_heart_flow_stop_time = 500 # 子心流停止时间,超过这个时间没有回复,子心流会停止,间隔 单位秒 - -observation_context_size = 20 # 心流观察到的最长上下文大小,超过这个值的上下文会被压缩 -compressed_length = 5 # 不能大于observation_context_size,心流上下文压缩的最短压缩长度,超过心流观察到的上下文长度,会压缩,最短压缩长度为5 -compress_length_limit = 5 #最多压缩份数,超过该数值的压缩上下文会被删除 - - -[message] -max_context_size = 12 # 麦麦回复时获得的上文数量,建议12,太短太长都会导致脑袋尖尖 -emoji_chance = 0.2 # 麦麦一般回复时使用表情包的概率,设置为1让麦麦自己决定发不发 -thinking_timeout = 100 # 麦麦最长思考时间,超过这个时间的思考会放弃(往往是api反应太慢) -max_response_length = 256 # 麦麦单次回答的最大token数 +observation_context_size = 15 # 观察到的最长上下文大小,建议15,太短太长都会导致脑袋尖尖 message_buffer = true # 启用消息缓冲器?启用此项以解决消息的拆分问题,但会使麦麦的回复延迟 # 以下是消息过滤,可以根据规则过滤特定消息,将不会读取这些消息 @@ -106,7 +87,14 @@ ban_msgs_regex = [ # "\\[CQ:at,qq=\\d+\\]" # 匹配@ ] -[willing] # 一般回复模式的回复意愿设置 +[normal_chat] #普通聊天 +#一般回复参数 +model_reasoning_probability = 0.7 # 麦麦回答时选择推理模型 模型的概率 +model_normal_probability = 0.3 # 麦麦回答时选择一般模型 模型的概率 + +emoji_chance = 0.2 # 麦麦一般回复时使用表情包的概率,设置为1让麦麦自己决定发不发 +thinking_timeout = 100 # 麦麦最长思考时间,超过这个时间的思考会放弃(往往是api反应太慢) + willing_mode = "classical" # 回复意愿模式 —— 经典模式:classical,动态模式:dynamic,mxp模式:mxp,自定义模式:custom(需要你自己实现) response_willing_amplifier = 1 # 麦麦回复意愿放大系数,一般为1 response_interested_rate_amplifier = 1 # 麦麦回复兴趣度放大系数,听到记忆里的内容时放大系数 @@ -115,6 +103,16 @@ emoji_response_penalty = 0 # 表情包回复惩罚系数,设为0为不回复 mentioned_bot_inevitable_reply = false # 提及 bot 必然回复 at_bot_inevitable_reply = false # @bot 必然回复 +[focus_chat] #专注聊天 +reply_trigger_threshold = 3.5 # 专注聊天触发阈值,越低越容易进入专注聊天 +default_decay_rate_per_second = 0.98 # 默认衰减率,越大衰减越快,越高越难进入专注聊天 +consecutive_no_reply_threshold = 3 # 连续不回复的阈值,越低越容易结束专注聊天 + +# 以下选项暂时无效 +compressed_length = 5 # 不能大于observation_context_size,心流上下文压缩的最短压缩长度,超过心流观察到的上下文长度,会压缩,最短压缩长度为5 +compress_length_limit = 5 #最多压缩份数,超过该数值的压缩上下文会被删除 + + [emoji] max_emoji_num = 40 # 表情包最大数量 max_reach_deletion = true # 开启则在达到最大数量时删除表情包,关闭则达到最大数量时不删除,只是不会继续收集表情包 @@ -181,6 +179,8 @@ response_max_length = 256 # 回复允许的最大长度 response_max_sentence_num = 4 # 回复允许的最大句子数 enable_kaomoji_protection = false # 是否启用颜文字保护 +model_max_output_length = 256 # 模型单次返回的最大token数 + [remote] #发送统计信息,主要是看全球有多少只麦麦 enable = true From 4c51b6a09c68e4bef3c7f6a5a25a3ebca2a1670f Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 17:47:05 +0800 Subject: [PATCH 18/43] =?UTF-8?q?better=EF=BC=9A=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=A1=A8=E6=83=85=E5=8C=85=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/chat/utils_image.py | 99 ++++++++++++++++++----- src/plugins/emoji_system/emoji_manager.py | 14 ++-- 2 files changed, 84 insertions(+), 29 deletions(-) diff --git a/src/plugins/chat/utils_image.py b/src/plugins/chat/utils_image.py index 7053e3844..95423c7a6 100644 --- a/src/plugins/chat/utils_image.py +++ b/src/plugins/chat/utils_image.py @@ -5,6 +5,7 @@ import hashlib from typing import Optional from PIL import Image import io +import numpy as np from ...common.database import db @@ -231,14 +232,16 @@ class ImageManager: return "[图片]" @staticmethod - def transform_gif(gif_base64: str) -> str: - """将GIF转换为水平拼接的静态图像 + def transform_gif(gif_base64: str, similarity_threshold: float = 1000.0, max_frames: int = 15) -> Optional[str]: + """将GIF转换为水平拼接的静态图像, 跳过相似的帧 Args: gif_base64: GIF的base64编码字符串 + similarity_threshold: 判定帧相似的阈值 (MSE),越小表示要求差异越大才算不同帧,默认1000.0 + max_frames: 最大抽取的帧数,默认15 Returns: - str: 拼接后的JPG图像的base64编码字符串 + Optional[str]: 拼接后的JPG图像的base64编码字符串, 或者在失败时返回None """ try: # 解码base64 @@ -246,41 +249,90 @@ class ImageManager: gif = Image.open(io.BytesIO(gif_data)) # 收集所有帧 - frames = [] + all_frames = [] try: while True: - gif.seek(len(frames)) + gif.seek(len(all_frames)) + # 确保是RGB格式方便比较 frame = gif.convert("RGB") - frames.append(frame.copy()) + all_frames.append(frame.copy()) except EOFError: - pass + pass # 读完啦 - if not frames: - raise ValueError("No frames found in GIF") + if not all_frames: + logger.warning("GIF中没有找到任何帧") + return None # 空的GIF直接返回None - # 计算需要抽取的帧的索引 - total_frames = len(frames) - if total_frames <= 15: - selected_frames = frames - else: - # 均匀抽取10帧 - indices = [int(i * (total_frames - 1) / 14) for i in range(15)] - selected_frames = [frames[i] for i in indices] + # --- 新的帧选择逻辑 --- + selected_frames = [] + last_selected_frame_np = None - # 获取单帧的尺寸 + for i, current_frame in enumerate(all_frames): + current_frame_np = np.array(current_frame) + + # 第一帧总是要选的 + if i == 0: + selected_frames.append(current_frame) + last_selected_frame_np = current_frame_np + continue + + # 计算和上一张选中帧的差异(均方误差 MSE) + if last_selected_frame_np is not None: + mse = np.mean((current_frame_np - last_selected_frame_np) ** 2) + # logger.trace(f"帧 {i} 与上一选中帧的 MSE: {mse}") # 可以取消注释来看差异值 + + # 如果差异够大,就选它! + if mse > similarity_threshold: + selected_frames.append(current_frame) + last_selected_frame_np = current_frame_np + # 检查是不是选够了 + if len(selected_frames) >= max_frames: + # logger.debug(f"已选够 {max_frames} 帧,停止选择。") + break + # 如果差异不大就跳过这一帧啦 + + # --- 帧选择逻辑结束 --- + + # 如果选择后连一帧都没有(比如GIF只有一帧且后续处理失败?)或者原始GIF就没帧,也返回None + if not selected_frames: + logger.warning("处理后没有选中任何帧") + return None + + # logger.debug(f"总帧数: {len(all_frames)}, 选中帧数: {len(selected_frames)}") + + # 获取选中的第一帧的尺寸(假设所有帧尺寸一致) frame_width, frame_height = selected_frames[0].size # 计算目标尺寸,保持宽高比 target_height = 200 # 固定高度 + # 防止除以零 + if frame_height == 0: + logger.error("帧高度为0,无法计算缩放尺寸") + return None target_width = int((target_height / frame_height) * frame_width) + # 宽度也不能是0 + if target_width == 0: + logger.warning(f"计算出的目标宽度为0 (原始尺寸 {frame_width}x{frame_height}),调整为1") + target_width = 1 - # 调整所有帧的大小 + + # 调整所有选中帧的大小 resized_frames = [ frame.resize((target_width, target_height), Image.Resampling.LANCZOS) for frame in selected_frames ] # 创建拼接图像 total_width = target_width * len(resized_frames) + # 防止总宽度为0 + if total_width == 0 and len(resized_frames) > 0: + logger.warning("计算出的总宽度为0,但有选中帧,可能目标宽度太小") + # 至少给点宽度吧 + total_width = len(resized_frames) + elif total_width == 0: + logger.error("计算出的总宽度为0且无选中帧") + return None + + combined_image = Image.new("RGB", (total_width, target_height)) # 水平拼接图像 @@ -289,14 +341,17 @@ class ImageManager: # 转换为base64 buffer = io.BytesIO() - combined_image.save(buffer, format="JPEG", quality=85) + combined_image.save(buffer, format="JPEG", quality=85) # 保存为JPEG result_base64 = base64.b64encode(buffer.getvalue()).decode("utf-8") return result_base64 + except MemoryError: + logger.error("GIF转换失败: 内存不足,可能是GIF太大或帧数太多") + return None # 内存不够啦 except Exception as e: - logger.error(f"GIF转换失败: {str(e)}") - return None + logger.error(f"GIF转换失败: {str(e)}", exc_info=True) # 记录详细错误信息 + return None # 其他错误也返回None # 创建全局单例 diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index bcabf104e..501e4e89e 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -195,7 +195,7 @@ class EmojiManager: self._scan_task = None self.vlm = LLMRequest(model=global_config.vlm, temperature=0.3, max_tokens=1000, request_type="emoji") self.llm_emotion_judge = LLMRequest( - model=global_config.llm_emotion_judge, max_tokens=600, temperature=0.8, request_type="emoji" + model=global_config.llm_summary, max_tokens=600, temperature=0.8, request_type="emoji" ) # 更高的温度,更少的token(后续可以根据情绪来调整温度) self.emoji_num = 0 @@ -719,10 +719,10 @@ class EmojiManager: # 调用AI获取描述 if image_format == "gif" or image_format == "GIF": image_base64 = image_manager.transform_gif(image_base64) - prompt = "这是一个动态图表情包,每一张图代表了动态图的某一帧,黑色背景代表透明,详细描述一下表情包表达的情感和内容,请关注其幽默和讽刺意味" + prompt = "这是一个动态图表情包,每一张图代表了动态图的某一帧,黑色背景代表透明,描述一下表情包表达的情感和内容,你可以关注其幽默和讽刺意味,必须从互联网梗,meme的角度去分析" description, _ = await self.vlm.generate_response_for_image(prompt, image_base64, "jpg") else: - prompt = "这是一个表情包,请详细描述一下表情包所表达的情感和内容,请关注其幽默和讽刺意味" + prompt = "这是一个表情包,请详细描述一下表情包所表达的情感和内容,你可以关注其幽默和讽刺意味,必须从互联网梗,meme的角度去分析" description, _ = await self.vlm.generate_response_for_image(prompt, image_base64, image_format) # 审核表情包 @@ -742,10 +742,10 @@ class EmojiManager: # 分析情感含义 emotion_prompt = f""" 基于这个表情包的描述:'{description}',请列出1-2个可能的情感标签,每个标签用一个词组表示,格式如下: - 幽默的讽刺 - 悲伤的无奈 - 愤怒的抗议 - 愤怒的讽刺 + 幽默的讽刺,适用于调侃或吐槽场景 + 悲伤的无奈,适用于表达无力感或失望 + 愤怒的抗议,适用于表达不满或反对 + 愤怒的讽刺,适用于尖锐批评或反讽 直接输出词组,词组检用逗号分隔。""" emotions_text, _ = await self.llm_emotion_judge.generate_response_async(emotion_prompt, temperature=0.7) From 7d19a6728f80b353f830049f13e94e23cc76a416 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 17:50:20 +0800 Subject: [PATCH 19/43] =?UTF-8?q?update=EF=BC=9A=E5=8F=91=E5=B8=830.6.3?= =?UTF-8?q?=E5=89=8D=E7=9A=84=E5=87=86=E5=A4=87=E5=B7=A5=E4=BD=9C=EF=BC=8C?= =?UTF-8?q?changlog=EF=BC=8Creadme=EF=BC=8C=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 +++----- src/api/config_api.py | 2 +- src/config/config.py | 6 +- .../tool_can_use/lpmm_get_knowledge.py | 2 +- src/heart_flow/0.6Bing.md | 12 ++- .../heartFC_chat/normal_chat_generator.py | 2 +- src/plugins/memory_system/Hippocampus.py | 6 +- src/plugins/memory_system/memory_config.py | 6 +- template/bot_config_template.toml | 74 ++++++++----------- (临时版)聊天兴趣监控.bat.bat | 26 +++++++ ...生成人格.bat => (测试版)麦麦生成人格 copy.bat | 0 11 files changed, 90 insertions(+), 77 deletions(-) create mode 100644 (临时版)聊天兴趣监控.bat.bat rename (测试版)麦麦生成人格.bat => (测试版)麦麦生成人格 copy.bat (100%) diff --git a/README.md b/README.md index 820d7d623..58cb82c7d 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ ### 📢 版本信息 -**最新版本: v0.6.2** ([查看更新日志](changelogs/changelog.md)) +**最新版本: v0.6.3** ([查看更新日志](changelogs/changelog.md)) > [!WARNING] > 请阅读教程后更新!!!!!!! > 请阅读教程后更新!!!!!!! @@ -110,19 +110,20 @@ - [🚀 最新版本部署教程](https://docs.mai-mai.org/manual/deployment/mmc_deploy_windows.html) - 基于MaiCore的新版本部署方式(与旧版本不兼容) -## 🎯 功能介绍 +## 🎯 0.6.3 功能介绍 | 模块 | 主要功能 | 特点 | |----------|------------------------------------------------------------------|-------| -| 💬 聊天系统 | • 心流/推理聊天
• 关键词主动发言
• 多模型支持
• 动态prompt构建
• 私聊功能(PFC) | 拟人化交互 | -| 🧠 心流系统 | • 实时思考生成
• 自动启停机制
• 日程系统联动
• 工具调用能力 | 智能化决策 | -| 🧠 记忆系统 | • 优化记忆抽取
• 海马体记忆机制
• 聊天记录概括 | 持久化记忆 | -| 😊 表情系统 | • 情绪匹配发送
• GIF支持
• 自动收集与审查 | 丰富表达 | +| 💬 聊天系统 | • **统一调控不同回复逻辑**
• 智能交互模式 (普通聊天/专注聊天)
• 关键词主动发言
• 多模型支持
• 动态prompt构建
• 私聊功能(PFC)增强 | 拟人化交互 | +| 🧠 心流系统 | • 实时思考生成
• **智能状态管理**
• **概率回复机制**
• 自动启停机制
• 日程系统联动
• **上下文感知工具调用** | 智能化决策 | +| 🧠 记忆系统 | • **记忆整合与提取**
• 海马体记忆机制
• 聊天记录概括 | 持久化记忆 | +| 😊 表情系统 | • **全新表情包系统**
• **优化选择逻辑**
• 情绪匹配发送
• GIF支持
• 自动收集与审查 | 丰富表达 | | 📅 日程系统 | • 动态日程生成
• 自定义想象力
• 思维流联动 | 智能规划 | -| 👥 关系系统 | • 关系管理优化
• 丰富接口支持
• 个性化交互 | 深度社交 | +| 👥 关系系统 | • **工具调用动态更新**
• 关系管理优化
• 丰富接口支持
• 个性化交互 | 深度社交 | | 📊 统计系统 | • 使用数据统计
• LLM调用记录
• 实时控制台显示 | 数据可视 | -| 🔧 系统功能 | • 优雅关闭机制
• 自动数据保存
• 异常处理完善 | 稳定可靠 | -| 🛠️ 工具系统 | • 知识获取工具
• 自动注册机制
• 多工具支持 | 扩展功能 | +| 🛠️ 工具系统 | • **LPMM知识库集成**
• **上下文感知调用**
• 知识获取工具
• 自动注册机制
• 多工具支持 | 扩展功能 | +| 📚 **知识库(LPMM)** | • **全新LPMM系统**
• **强大的信息检索能力** | 知识增强 | +| ✨ **昵称系统** | • **自动为群友取昵称**
• **降低认错人概率** (早期阶段) | 身份识别 | ## 📐 项目架构 @@ -142,18 +143,6 @@ graph TD E --> M[情绪识别] ``` - -## 开发计划TODO:LIST - -- 人格功能:WIP -- 对特定对象的侧写功能 -- 图片发送,转发功能:WIP -- 幽默和meme功能:WIP -- 兼容gif的解析和保存 -- 小程序转发链接解析 -- 修复已知bug -- 自动生成的回复逻辑,例如自生成的回复方向,回复风格 - ## ✍️如何给本项目报告BUG/提交建议/做贡献 MaiCore是一个开源项目,我们非常欢迎你的参与。你的贡献,无论是提交bug报告、功能需求还是代码pr,都对项目非常宝贵。我们非常感谢你的支持!🎉 但无序的讨论会降低沟通效率,进而影响问题的解决速度,因此在提交任何贡献前,请务必先阅读本项目的[贡献指南](depends-data/CONTRIBUTE.md)(待补完) diff --git a/src/api/config_api.py b/src/api/config_api.py index fbc314339..025888d82 100644 --- a/src/api/config_api.py +++ b/src/api/config_api.py @@ -132,7 +132,7 @@ class BotConfig: # llm_reasoning_minor: Dict[str, str] llm_normal: Dict[str, str] # LLM普通 llm_topic_judge: Dict[str, str] # LLM话题判断 - llm_summary_by_topic: Dict[str, str] # LLM话题总结 + llm_summary: Dict[str, str] # LLM话题总结 llm_emotion_judge: Dict[str, str] # LLM情感判断 embedding: Dict[str, str] # 嵌入 vlm: Dict[str, str] # VLM diff --git a/src/config/config.py b/src/config/config.py index f7e575429..388ee55bf 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -279,8 +279,7 @@ class BotConfig: # llm_reasoning_minor: Dict[str, str] = field(default_factory=lambda: {}) llm_normal: Dict[str, str] = field(default_factory=lambda: {}) llm_topic_judge: Dict[str, str] = field(default_factory=lambda: {}) - llm_summary_by_topic: Dict[str, str] = field(default_factory=lambda: {}) - llm_emotion_judge: Dict[str, str] = field(default_factory=lambda: {}) + llm_summary: Dict[str, str] = field(default_factory=lambda: {}) embedding: Dict[str, str] = field(default_factory=lambda: {}) vlm: Dict[str, str] = field(default_factory=lambda: {}) moderation: Dict[str, str] = field(default_factory=lambda: {}) @@ -481,8 +480,7 @@ class BotConfig: # "llm_reasoning_minor", "llm_normal", "llm_topic_judge", - "llm_summary_by_topic", - "llm_emotion_judge", + "llm_summary", "vlm", "embedding", "llm_tool_use", diff --git a/src/do_tool/tool_can_use/lpmm_get_knowledge.py b/src/do_tool/tool_can_use/lpmm_get_knowledge.py index 7aab84958..4dba1bc71 100644 --- a/src/do_tool/tool_can_use/lpmm_get_knowledge.py +++ b/src/do_tool/tool_can_use/lpmm_get_knowledge.py @@ -14,7 +14,7 @@ class SearchKnowledgeFromLPMMTool(BaseTool): """从LPMM知识库中搜索相关信息的工具""" name = "lpmm_search_knowledge" - description = "从知识库中搜索相关信息" + description = "从知识库中搜索相关信息,如果你需要知识,就使用这个工具" parameters = { "type": "object", "properties": { diff --git a/src/heart_flow/0.6Bing.md b/src/heart_flow/0.6Bing.md index 6af057e29..de5628e78 100644 --- a/src/heart_flow/0.6Bing.md +++ b/src/heart_flow/0.6Bing.md @@ -81,4 +81,14 @@ - **基于人格生成预设知识:** - 开发利用 LLM 和人格配置生成背景知识的功能。 - 这些知识应符合角色的行为风格和可能的经历。 - - 作为一种"冷启动"或丰富角色深度的方式。 \ No newline at end of file + - 作为一种"冷启动"或丰富角色深度的方式。 + + +## 开发计划TODO:LIST + +- 人格功能:WIP +- 对特定对象的侧写功能 +- 图片发送,转发功能:WIP +- 幽默和meme功能:WIP +- 小程序转发链接解析 +- 自动生成的回复逻辑,例如自生成的回复方向,回复风格 \ No newline at end of file diff --git a/src/plugins/heartFC_chat/normal_chat_generator.py b/src/plugins/heartFC_chat/normal_chat_generator.py index 0ad9707f9..02baf94d4 100644 --- a/src/plugins/heartFC_chat/normal_chat_generator.py +++ b/src/plugins/heartFC_chat/normal_chat_generator.py @@ -29,7 +29,7 @@ class NormalChatGenerator: ) self.model_sum = LLMRequest( - model=global_config.llm_summary_by_topic, temperature=0.7, max_tokens=3000, request_type="relation" + model=global_config.llm_summary, temperature=0.7, max_tokens=3000, request_type="relation" ) self.current_model_type = "r1" # 默认使用 R1 self.current_model_name = "unknown model" diff --git a/src/plugins/memory_system/Hippocampus.py b/src/plugins/memory_system/Hippocampus.py index e5aa096fa..7a5fc1a82 100644 --- a/src/plugins/memory_system/Hippocampus.py +++ b/src/plugins/memory_system/Hippocampus.py @@ -189,7 +189,7 @@ class Hippocampus: def __init__(self): self.memory_graph = MemoryGraph() self.llm_topic_judge = None - self.llm_summary_by_topic = None + self.llm_summary = None self.entorhinal_cortex = None self.parahippocampal_gyrus = None self.config = None @@ -203,7 +203,7 @@ class Hippocampus: # 从数据库加载记忆图 self.entorhinal_cortex.sync_memory_from_db() self.llm_topic_judge = LLMRequest(self.config.llm_topic_judge, request_type="memory") - self.llm_summary_by_topic = LLMRequest(self.config.llm_summary_by_topic, request_type="memory") + self.llm_summary = LLMRequest(self.config.llm_summary, request_type="memory") def get_all_node_names(self) -> list: """获取记忆图中所有节点的名字列表""" @@ -1169,7 +1169,7 @@ class ParahippocampalGyrus: # 调用修改后的 topic_what,不再需要 time_info topic_what_prompt = self.hippocampus.topic_what(input_text, topic) try: - task = self.hippocampus.llm_summary_by_topic.generate_response_async(topic_what_prompt) + task = self.hippocampus.llm_summary.generate_response_async(topic_what_prompt) tasks.append((topic.strip(), task)) except Exception as e: logger.error(f"生成话题 '{topic}' 的摘要时发生错误: {e}") diff --git a/src/plugins/memory_system/memory_config.py b/src/plugins/memory_system/memory_config.py index b2fb72801..aa8850d3c 100644 --- a/src/plugins/memory_system/memory_config.py +++ b/src/plugins/memory_system/memory_config.py @@ -24,7 +24,7 @@ class MemoryConfig: consolidate_memory_interval: int # 记忆整合间隔 llm_topic_judge: str # 话题判断模型 - llm_summary_by_topic: str # 话题总结模型 + llm_summary: str # 话题总结模型 @classmethod def from_global_config(cls, global_config): @@ -44,7 +44,7 @@ class MemoryConfig: consolidate_memory_percentage=getattr(global_config, "consolidate_memory_percentage", 0.01), consolidate_memory_interval=getattr(global_config, "consolidate_memory_interval", 1000), llm_topic_judge=getattr(global_config, "llm_topic_judge", "default_judge_model"), # 添加默认模型名 - llm_summary_by_topic=getattr( - global_config, "llm_summary_by_topic", "default_summary_model" + llm_summary=getattr( + global_config, "llm_summary", "default_summary_model" ), # 添加默认模型名 ) diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index 2be1ca4f0..23368ccaf 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -197,55 +197,44 @@ pfc_chatting = false # 是否启用PFC聊天,该功能仅作用于私聊,与 # stream = : 用于指定模型是否是使用流式输出 # 如果不指定,则该项是 False -[model.llm_reasoning] #只在回复模式为reasoning时启用 +#这个模型必须是推理模型 +[model.llm_reasoning] # 一般聊天模式的推理回复模型 name = "Pro/deepseek-ai/DeepSeek-R1" -# name = "Qwen/QwQ-32B" provider = "SILICONFLOW" -pri_in = 4 #模型的输入价格(非必填,可以记录消耗) -pri_out = 16 #模型的输出价格(非必填,可以记录消耗) +pri_in = 1.0 #模型的输入价格(非必填,可以记录消耗) +pri_out = 4.0 #模型的输出价格(非必填,可以记录消耗) -#非推理模型 - -[model.llm_normal] #V3 回复模型1 主要回复模型,默认temp 0.2 如果你使用的是老V3或者其他模型,请自己修改temp参数 +[model.llm_normal] #V3 回复模型 专注和一般聊天模式共用的回复模型 name = "Pro/deepseek-ai/DeepSeek-V3" provider = "SILICONFLOW" pri_in = 2 #模型的输入价格(非必填,可以记录消耗) pri_out = 8 #模型的输出价格(非必填,可以记录消耗) +#默认temp 0.2 如果你使用的是老V3或者其他模型,请自己修改temp参数 temp = 0.2 #模型的温度,新V3建议0.1-0.3 -[model.llm_emotion_judge] #表情包判断 -name = "Qwen/Qwen2.5-14B-Instruct" -provider = "SILICONFLOW" -pri_in = 0.7 -pri_out = 0.7 - -[model.llm_topic_judge] #记忆主题判断:建议使用qwen2.5 7b +[model.llm_topic_judge] #主题判断模型:建议使用qwen2.5 7b name = "Pro/Qwen/Qwen2.5-7B-Instruct" provider = "SILICONFLOW" -pri_in = 0 -pri_out = 0 +pri_in = 0.35 +pri_out = 0.35 -[model.llm_summary_by_topic] #概括模型,建议使用qwen2.5 32b 及以上 +[model.llm_summary] #概括模型,建议使用qwen2.5 32b 及以上 name = "Qwen/Qwen2.5-32B-Instruct" provider = "SILICONFLOW" pri_in = 1.26 pri_out = 1.26 -[model.llm_tool_use] #工具调用模型,需要使用支持工具调用的模型,建议使用qwen2.5 32b -name = "Qwen/Qwen2.5-32B-Instruct" -provider = "SILICONFLOW" -pri_in = 1.26 -pri_out = 1.26 - -# 识图模型 - -[model.vlm] #图像识别 +[model.vlm] # 图像识别模型 name = "Pro/Qwen/Qwen2.5-VL-7B-Instruct" provider = "SILICONFLOW" pri_in = 0.35 pri_out = 0.35 - +[model.llm_heartflow] # 用于控制麦麦是否参与聊天的模型 +name = "Qwen/Qwen2.5-32B-Instruct" +provider = "SILICONFLOW" +pri_in = 1.26 +pri_out = 1.26 [model.llm_observation] #观察模型,压缩聊天内容,建议用免费的 # name = "Pro/Qwen/Qwen2.5-7B-Instruct" @@ -254,19 +243,18 @@ provider = "SILICONFLOW" pri_in = 0 pri_out = 0 -[model.llm_sub_heartflow] #子心流:认真水群时,生成麦麦的内心想法 -name = "Qwen/Qwen2.5-72B-Instruct" +[model.llm_sub_heartflow] #心流:认真水群时,生成麦麦的内心想法,必须使用具有工具调用能力的模型 +name = "Pro/deepseek-ai/DeepSeek-V3" provider = "SILICONFLOW" -pri_in = 4.13 -pri_out = 4.13 -temp = 0.7 #模型的温度,新V3建议0.1-0.3 +pri_in = 2 +pri_out = 8 +temp = 0.3 #模型的温度,新V3建议0.1-0.3 - -[model.llm_plan] #决策模型:认真水群时,负责决定麦麦该做什么 -name = "Qwen/Qwen2.5-32B-Instruct" +[model.llm_plan] #决策:认真水群时,负责决定麦麦该做什么 +name = "Pro/deepseek-ai/DeepSeek-V3" provider = "SILICONFLOW" -pri_in = 1.26 -pri_out = 1.26 +pri_in = 2 +pri_out = 8 #嵌入模型 @@ -303,11 +291,13 @@ pri_in = 2 pri_out = 8 -#此模型暂时没有使用!! -#此模型暂时没有使用!! -#此模型暂时没有使用!! -[model.llm_heartflow] #心流 -# name = "Pro/Qwen/Qwen2.5-7B-Instruct" +#以下模型暂时没有使用!! +#以下模型暂时没有使用!! +#以下模型暂时没有使用!! +#以下模型暂时没有使用!! +#以下模型暂时没有使用!! + +[model.llm_tool_use] #工具调用模型,需要使用支持工具调用的模型,建议使用qwen2.5 32b name = "Qwen/Qwen2.5-32B-Instruct" provider = "SILICONFLOW" pri_in = 1.26 diff --git a/(临时版)聊天兴趣监控.bat.bat b/(临时版)聊天兴趣监控.bat.bat new file mode 100644 index 000000000..f26d14dee --- /dev/null +++ b/(临时版)聊天兴趣监控.bat.bat @@ -0,0 +1,26 @@ +@echo off +CHCP 65001 > nul +setlocal enabledelayedexpansion + +REM 查找venv虚拟环境 +set "venv_path=%~dp0venv\Scripts\activate.bat" +if not exist "%venv_path%" ( + echo 错误: 未找到虚拟环境,请确保venv目录存在 + pause + exit /b 1 +) + +REM 激活虚拟环境 +call "%venv_path%" +if %ERRORLEVEL% neq 0 ( + echo 错误: 虚拟环境激活失败 + pause + exit /b 1 +) + +echo 虚拟环境已激活,正在启动 GUI... + +REM 运行 Python 脚本 +python scripts/interest_monitor_gui.py + +pause \ No newline at end of file diff --git a/(测试版)麦麦生成人格.bat b/(测试版)麦麦生成人格 copy.bat similarity index 100% rename from (测试版)麦麦生成人格.bat rename to (测试版)麦麦生成人格 copy.bat From 5963214d95346e1080af74c2352af26796401f26 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 17:50:47 +0800 Subject: [PATCH 20/43] ruff fix --- src/config/config.py | 36 ++++---- src/heart_flow/background_tasks.py | 10 +-- src/heart_flow/heartflow.py | 1 + src/heart_flow/mai_state_manager.py | 8 +- src/heart_flow/sub_heartflow.py | 5 +- src/heart_flow/subheartflow_manager.py | 87 ++++++++++++------- src/plugins/chat/utils_image.py | 36 ++++---- src/plugins/heartFC_chat/heartFC_chat.py | 9 +- .../heartFC_chat/heartflow_prompt_builder.py | 2 +- src/plugins/heartFC_chat/normal_chat.py | 4 +- src/plugins/memory_system/memory_config.py | 4 +- 11 files changed, 108 insertions(+), 94 deletions(-) diff --git a/src/config/config.py b/src/config/config.py index 388ee55bf..e6cf16d4d 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -170,38 +170,34 @@ class BotConfig: SCHEDULE_TEMPERATURE: float = 0.5 # 日程表温度,建议0.5-1.0 TIME_ZONE: str = "Asia/Shanghai" # 时区 - # chat - allow_focus_mode: bool = True # 是否允许专注聊天状态 + allow_focus_mode: bool = True # 是否允许专注聊天状态 + + base_normal_chat_num: int = 3 # 最多允许多少个群进行普通聊天 + base_focused_chat_num: int = 2 # 最多允许多少个群进行专注聊天 - base_normal_chat_num: int = 3 # 最多允许多少个群进行普通聊天 - base_focused_chat_num: int = 2 # 最多允许多少个群进行专注聊天 - observation_context_size: int = 12 # 心流观察到的最长上下文大小,超过这个值的上下文会被压缩 - + message_buffer: bool = True # 消息缓冲器 - ban_words = set() ban_msgs_regex = set() # focus_chat reply_trigger_threshold: float = 3.0 # 心流聊天触发阈值,越低越容易触发 default_decay_rate_per_second: float = 0.98 # 默认衰减率,越大衰减越慢 - consecutive_no_reply_threshold = 3 - - + consecutive_no_reply_threshold = 3 + compressed_length: int = 5 # 不能大于observation_context_size,心流上下文压缩的最短压缩长度,超过心流观察到的上下文长度,会压缩,最短压缩长度为5 compress_length_limit: int = 5 # 最多压缩份数,超过该数值的压缩上下文会被删除 - # normal_chat model_reasoning_probability: float = 0.7 # 麦麦回答时选择推理模型(主要)模型概率 model_normal_probability: float = 0.3 # 麦麦回答时选择一般模型(次要)模型概率 - + emoji_chance: float = 0.2 # 发送表情包的基础概率 thinking_timeout: int = 120 # 思考时间 - + willing_mode: str = "classical" # 意愿模式 response_willing_amplifier: float = 1.0 # 回复意愿放大系数 response_interested_rate_amplifier: float = 1.0 # 回复兴趣度放大系数 @@ -263,7 +259,7 @@ class BotConfig: enable_response_splitter = True # 是否启用回复分割器 response_max_length = 100 # 回复允许的最大长度 response_max_sentence_num = 3 # 回复允许的最大句子数 - + model_max_output_length: int = 800 # 最大回复长度 # remote @@ -409,7 +405,7 @@ class BotConfig: config.BOT_QQ = str(bot_qq) config.BOT_NICKNAME = bot_config.get("nickname", config.BOT_NICKNAME) config.BOT_ALIAS_NAMES = bot_config.get("alias_names", config.BOT_ALIAS_NAMES) - + def chat(parent: dict): chat_config = parent["chat"] config.allow_focus_mode = chat_config.get("allow_focus_mode", config.allow_focus_mode) @@ -433,7 +429,6 @@ class BotConfig: ) config.emoji_chance = normal_chat_config.get("emoji_chance", config.emoji_chance) config.thinking_timeout = normal_chat_config.get("thinking_timeout", config.thinking_timeout) - config.willing_mode = normal_chat_config.get("willing_mode", config.willing_mode) config.response_willing_amplifier = normal_chat_config.get( @@ -457,9 +452,7 @@ class BotConfig: def focus_chat(parent: dict): focus_chat_config = parent["focus_chat"] config.compressed_length = focus_chat_config.get("compressed_length", config.compressed_length) - config.compress_length_limit = focus_chat_config.get( - "compress_length_limit", config.compress_length_limit - ) + config.compress_length_limit = focus_chat_config.get("compress_length_limit", config.compress_length_limit) config.reply_trigger_threshold = focus_chat_config.get( "reply_trigger_threshold", config.reply_trigger_threshold ) @@ -469,7 +462,6 @@ class BotConfig: config.consecutive_no_reply_threshold = focus_chat_config.get( "consecutive_no_reply_threshold", config.consecutive_no_reply_threshold ) - def model(parent: dict): # 加载模型配置 @@ -634,7 +626,9 @@ class BotConfig: "enable_kaomoji_protection", config.enable_kaomoji_protection ) if config.INNER_VERSION in SpecifierSet(">=1.6.0"): - config.model_max_output_length = response_splitter_config.get("model_max_output_length", config.model_max_output_length) + config.model_max_output_length = response_splitter_config.get( + "model_max_output_length", config.model_max_output_length + ) def groups(parent: dict): groups_config = parent["groups"] diff --git a/src/heart_flow/background_tasks.py b/src/heart_flow/background_tasks.py index dcce26d04..93bc50254 100644 --- a/src/heart_flow/background_tasks.py +++ b/src/heart_flow/background_tasks.py @@ -24,6 +24,7 @@ CLEANUP_INTERVAL_SECONDS = 1200 STATE_UPDATE_INTERVAL_SECONDS = 60 LOG_INTERVAL_SECONDS = 3 + class BackgroundTaskManager: """管理 Heartflow 的后台周期性任务。""" @@ -32,14 +33,13 @@ class BackgroundTaskManager: mai_state_info: MaiStateInfo, # Needs current state info mai_state_manager: MaiStateManager, subheartflow_manager: SubHeartflowManager, - interest_logger: InterestLogger + interest_logger: InterestLogger, ): self.mai_state_info = mai_state_info self.mai_state_manager = mai_state_manager self.subheartflow_manager = subheartflow_manager self.interest_logger = interest_logger - # Task references self._state_update_task: Optional[asyncio.Task] = None self._cleanup_task: Optional[asyncio.Task] = None @@ -100,7 +100,7 @@ class BackgroundTaskManager: ] # 统一启动所有任务 - for task_func,log_level, log_msg, task_attr_name in task_configs: + for task_func, log_level, log_msg, task_attr_name in task_configs: # 检查任务变量是否存在且未完成 current_task_var = getattr(self, task_attr_name) if current_task_var is None or current_task_var.done(): @@ -202,7 +202,7 @@ class BackgroundTaskManager: """调用llm检测是否转换ABSENT-CHAT状态""" logger.info("[状态评估任务] 开始基于LLM评估子心流状态...") await self.subheartflow_manager.sbhf_absent_into_chat() - + async def _normal_chat_timeout_check_work(self): """检查处于CHAT状态的子心流是否因长时间未发言而超时,并将其转为ABSENT""" logger.info("[聊天超时检查] 开始检查处于CHAT状态的子心流...") @@ -257,7 +257,7 @@ class BackgroundTaskManager: await self._run_periodic_loop( task_name="Into Chat", interval=interval, task_func=self._perform_absent_into_chat ) - + async def _run_normal_chat_timeout_check_cycle(self, interval: int): await self._run_periodic_loop( task_name="Normal Chat Timeout Check", interval=interval, task_func=self._normal_chat_timeout_check_work diff --git a/src/heart_flow/heartflow.py b/src/heart_flow/heartflow.py index 30151fdf5..bd8bc6ff4 100644 --- a/src/heart_flow/heartflow.py +++ b/src/heart_flow/heartflow.py @@ -14,6 +14,7 @@ from src.heart_flow.background_tasks import BackgroundTaskManager # Import Back logger = get_logger("heartflow") + class Heartflow: """主心流协调器,负责初始化并协调各个子系统: - 状态管理 (MaiState) diff --git a/src/heart_flow/mai_state_manager.py b/src/heart_flow/mai_state_manager.py index 5f5a2d329..cd7393445 100644 --- a/src/heart_flow/mai_state_manager.py +++ b/src/heart_flow/mai_state_manager.py @@ -5,13 +5,14 @@ from typing import List, Tuple, Optional from src.common.logger_manager import get_logger from src.plugins.moods.moods import MoodManager from src.config.config import global_config + logger = get_logger("mai_state") # -- 状态相关的可配置参数 (可以从 glocal_config 加载) -- # enable_unlimited_hfc_chat = True # 调试用:无限专注聊天 enable_unlimited_hfc_chat = False -prevent_offline_state = True +prevent_offline_state = True # 目前默认不启用OFFLINE状态 # 不同状态下普通聊天的最大消息数 @@ -19,13 +20,12 @@ base_normal_chat_num = global_config.base_normal_chat_num base_focused_chat_num = global_config.base_focused_chat_num - -MAX_NORMAL_CHAT_NUM_PEEKING = int(base_normal_chat_num/2) +MAX_NORMAL_CHAT_NUM_PEEKING = int(base_normal_chat_num / 2) MAX_NORMAL_CHAT_NUM_NORMAL = base_normal_chat_num MAX_NORMAL_CHAT_NUM_FOCUSED = base_normal_chat_num + 1 # 不同状态下专注聊天的最大消息数 -MAX_FOCUSED_CHAT_NUM_PEEKING = int(base_focused_chat_num/2) +MAX_FOCUSED_CHAT_NUM_PEEKING = int(base_focused_chat_num / 2) MAX_FOCUSED_CHAT_NUM_NORMAL = base_focused_chat_num MAX_FOCUSED_CHAT_NUM_FOCUSED = base_focused_chat_num + 2 diff --git a/src/heart_flow/sub_heartflow.py b/src/heart_flow/sub_heartflow.py index 9b9ec96df..6b9ccd642 100644 --- a/src/heart_flow/sub_heartflow.py +++ b/src/heart_flow/sub_heartflow.py @@ -5,7 +5,6 @@ import time from typing import Optional, List, Dict, Tuple, Callable, Coroutine import traceback from src.common.logger_manager import get_logger -import random from src.plugins.chat.message import MessageRecv from src.plugins.chat.chat_stream import chat_manager import math @@ -153,8 +152,6 @@ class InterestChatting: "above_threshold": self.above_threshold, } - - # --- 新增后台更新任务相关方法 --- async def _run_update_loop(self, update_interval: float = 1.0): """后台循环,定期更新兴趣和回复概率。""" @@ -472,7 +469,7 @@ class SubHeartflow: async def get_interest_state(self) -> dict: return await self.interest_chatting.get_state() - + def get_normal_chat_last_speak_time(self) -> float: if self.normal_chat_instance: return self.normal_chat_instance.last_speak_time diff --git a/src/heart_flow/subheartflow_manager.py b/src/heart_flow/subheartflow_manager.py index ebb70f44e..b084d0385 100644 --- a/src/heart_flow/subheartflow_manager.py +++ b/src/heart_flow/subheartflow_manager.py @@ -29,7 +29,8 @@ logger = get_logger("subheartflow_manager") # 子心流管理相关常量 INACTIVE_THRESHOLD_SECONDS = 3600 # 子心流不活跃超时时间(秒) -NORMAL_CHAT_TIMEOUT_SECONDS = 30 * 60 # 30分钟 +NORMAL_CHAT_TIMEOUT_SECONDS = 30 * 60 # 30分钟 + class SubHeartflowManager: """管理所有活跃的 SubHeartflow 实例。""" @@ -341,13 +342,12 @@ class SubHeartflowManager: async with self._lock: # 1. 筛选出所有 ABSENT 状态的子心流 absent_subflows = [ - hf for hf in self.subheartflows.values() - if hf.chat_state.chat_status == ChatState.ABSENT + hf for hf in self.subheartflows.values() if hf.chat_state.chat_status == ChatState.ABSENT ] if not absent_subflows: - logger.debug("没有摸鱼的子心流可以评估。") # 日志太频繁,注释掉 - return # 没有目标,直接返回 + logger.debug("没有摸鱼的子心流可以评估。") # 日志太频繁,注释掉 + return # 没有目标,直接返回 # 2. 随机选一个幸运儿 sub_hf_to_evaluate = random.choice(absent_subflows) @@ -358,8 +358,10 @@ class SubHeartflowManager: # 3. 检查 CHAT 上限 current_chat_count = self.count_subflows_by_state_nolock(ChatState.CHAT) if current_chat_count >= chat_limit: - logger.debug(f"{log_prefix} 想看看能不能聊,但是聊天太多了, ({current_chat_count}/{chat_limit}) 满了。") - return # 满了,这次就算了 + logger.debug( + f"{log_prefix} 想看看能不能聊,但是聊天太多了, ({current_chat_count}/{chat_limit}) 满了。" + ) + return # 满了,这次就算了 # --- 获取 FOCUSED 计数 --- current_focused_count = self.count_subflows_by_state_nolock(ChatState.FOCUSED) @@ -369,7 +371,7 @@ class SubHeartflowManager: chatting_group_names = [] focused_group_names = [] for flow_id, hf in self.subheartflows.items(): - stream_name = chat_manager.get_stream_name(flow_id) or str(flow_id) # 保证有名字 + stream_name = chat_manager.get_stream_name(flow_id) or str(flow_id) # 保证有名字 if hf.chat_state.chat_status == ChatState.CHAT: chatting_group_names.append(stream_name) elif hf.chat_state.chat_status == ChatState.FOCUSED: @@ -384,30 +386,34 @@ class SubHeartflowManager: mai_state_description = f"你当前状态: {current_mai_state.value}。" individuality = Individuality.get_instance() - personality_prompt = individuality.get_prompt(x_person=2, level = 2) + personality_prompt = individuality.get_prompt(x_person=2, level=2) prompt_personality = f"你正在扮演名为{individuality.name}的人类,{personality_prompt}" # --- 修改:在 prompt 中加入当前聊天计数和群名信息 (条件显示) --- chat_status_lines = [] if chatting_group_names: - chat_status_lines.append(f"正在闲聊 ({current_chat_count}/{chat_limit}): {', '.join(chatting_group_names)}") + chat_status_lines.append( + f"正在闲聊 ({current_chat_count}/{chat_limit}): {', '.join(chatting_group_names)}" + ) if focused_group_names: - chat_status_lines.append(f"正在专注 ({current_focused_count}/{focused_limit}): {', '.join(focused_group_names)}") + chat_status_lines.append( + f"正在专注 ({current_focused_count}/{focused_limit}): {', '.join(focused_group_names)}" + ) - chat_status_prompt = "当前没有在任何群聊中。" # 默认消息喵~ + chat_status_prompt = "当前没有在任何群聊中。" # 默认消息喵~ if chat_status_lines: - chat_status_prompt = "当前聊天情况:\n" + "\n".join(chat_status_lines) # 拼接状态信息 + chat_status_prompt = "当前聊天情况:\n" + "\n".join(chat_status_lines) # 拼接状态信息 prompt = ( f"{prompt_personality}\\n" f"你当前没在 [{stream_name}] 群聊天。\\n" f"{mai_state_description}\\n" - f"{chat_status_prompt}\\n" # <-- 喵!用了新的状态信息~ + f"{chat_status_prompt}\\n" # <-- 喵!用了新的状态信息~ f"{_observation_summary}\\n---\\n" f"基于以上信息,你想不想开始在这个群闲聊?\\n" f"请说明理由,并以 JSON 格式回答,包含 'decision' (布尔值) 和 'reason' (字符串)。\\n" - f'例如:{{\"decision\": true, \"reason\": \"看起来挺热闹的,插个话\"}}\\n' - f'例如:{{\"decision\": false, \"reason\": \"已经聊了好多,休息一下\"}}\\n' + f'例如:{{"decision": true, "reason": "看起来挺热闹的,插个话"}}\\n' + f'例如:{{"decision": false, "reason": "已经聊了好多,休息一下"}}\\n' f"请只输出有效的 JSON 对象。" ) # --- 结束修改 --- @@ -417,11 +423,11 @@ class SubHeartflowManager: if yao_kai_shi_liao_ma is None: logger.debug(f"{log_prefix} 问AI想不想聊失败了,这次算了。") - return # 评估失败,结束 + return # 评估失败,结束 if not yao_kai_shi_liao_ma: logger.info(f"{log_prefix} 现在不想聊这个群。") - return # 不想聊,结束 + return # 不想聊,结束 # --- 5. AI想聊,再次检查额度并尝试转换 --- # 再次检查以防万一 @@ -435,7 +441,9 @@ class SubHeartflowManager: if sub_hf_to_evaluate.chat_state.chat_status == ChatState.CHAT: logger.debug(f"{log_prefix} 成功进入聊天状态!本次评估圆满结束。") else: - logger.warning(f"{log_prefix} 奇怪,尝试进入聊天状态失败了。当前状态: {sub_hf_to_evaluate.chat_state.chat_status.value}") + logger.warning( + f"{log_prefix} 奇怪,尝试进入聊天状态失败了。当前状态: {sub_hf_to_evaluate.chat_state.chat_status.value}" + ) else: logger.warning( f"{log_prefix} AI说想聊,但是刚问完就没空位了 ({current_chat_count_before_change}/{chat_limit})。真不巧,下次再说吧。" @@ -483,15 +491,19 @@ class SubHeartflowManager: if time_since_last_bb > NORMAL_CHAT_TIMEOUT_SECONDS: should_deactivate = True reason = f"超过 {NORMAL_CHAT_TIMEOUT_SECONDS / 60:.0f} 分钟没 BB" - logger.info(f"{log_prefix} 检测到超时 ({reason}),准备转为 ABSENT。上次活动时间: {last_bot_dong_zuo_time:.0f}") + logger.info( + f"{log_prefix} 检测到超时 ({reason}),准备转为 ABSENT。上次活动时间: {last_bot_dong_zuo_time:.0f}" + ) # else: # logger.debug(f"{log_prefix} Bot活动时间未超时 ({time_since_last_bb:.0f}s < {NORMAL_CHAT_TIMEOUT_SECONDS}s),保持 CHAT 状态。") # else: - # 如果没有记录到Bot的活动时间,暂时不因为超时而转换状态 - # logger.debug(f"{log_prefix} 未找到有效的 Bot 最后活动时间记录,不执行超时检查。") + # 如果没有记录到Bot的活动时间,暂时不因为超时而转换状态 + # logger.debug(f"{log_prefix} 未找到有效的 Bot 最后活动时间记录,不执行超时检查。") except AttributeError: - logger.error(f"{log_prefix} 无法获取 Bot 最后 BB 时间,请确保 SubHeartflow 相关实现正确。跳过超时检查。") + logger.error( + f"{log_prefix} 无法获取 Bot 最后 BB 时间,请确保 SubHeartflow 相关实现正确。跳过超时检查。" + ) except Exception as e: logger.error(f"{log_prefix} 检查 Bot 超时状态时出错: {e}", exc_info=True) @@ -507,9 +519,12 @@ class SubHeartflowManager: logger.warning(f"{log_prefix} 尝试因超时转换为 ABSENT 失败。") if transitioned_to_absent > 0: - logger.info(f"{log_prefix_task} 完成,共检查 {checked_count} 个子心流,{transitioned_to_absent} 个因超时转为 ABSENT。") + logger.info( + f"{log_prefix_task} 完成,共检查 {checked_count} 个子心流,{transitioned_to_absent} 个因超时转为 ABSENT。" + ) # else: # logger.debug(f"{log_prefix_task} 完成,共检查 {checked_count} 个子心流,无超时转换。") + # --- 结束新增 --- async def _llm_evaluate_state_transition(self, prompt: str) -> Optional[bool]: @@ -653,7 +668,7 @@ class SubHeartflowManager: # 仅当子心流处于 FOCUSED 状态时才进行转换 # 因为 HeartFChatting 只在 FOCUSED 状态下运行 if current_state == ChatState.FOCUSED: - target_state = ChatState.ABSENT # 默认目标状态 + target_state = ChatState.ABSENT # 默认目标状态 log_reason = "默认转换" # 决定是去 ABSENT 还是 CHAT @@ -671,14 +686,20 @@ class SubHeartflowManager: if current_chat_count < chat_limit: target_state = ChatState.CHAT log_reason = f"随机选择 CHAT (当前 {current_chat_count}/{chat_limit})" - logger.debug(f"[状态转换请求] {stream_name} ({current_state.value}) 随机决定进入 CHAT,未达上限 ({current_chat_count}/{chat_limit})") + logger.debug( + f"[状态转换请求] {stream_name} ({current_state.value}) 随机决定进入 CHAT,未达上限 ({current_chat_count}/{chat_limit})" + ) else: target_state = ChatState.ABSENT log_reason = f"随机选择 CHAT 但已达上限 ({current_chat_count}/{chat_limit}),转为 ABSENT" - logger.debug(f"[状态转换请求] {stream_name} ({current_state.value}) 随机决定进入 CHAT,但已达上限 ({current_chat_count}/{chat_limit}),改为进入 ABSENT") + logger.debug( + f"[状态转换请求] {stream_name} ({current_state.value}) 随机决定进入 CHAT,但已达上限 ({current_chat_count}/{chat_limit}),改为进入 ABSENT" + ) - #开始转换 - logger.info(f"[状态转换请求] 接收到请求,将 {stream_name} (当前: {current_state.value}) 尝试转换为 {target_state.value} ({log_reason})") + # 开始转换 + logger.info( + f"[状态转换请求] 接收到请求,将 {stream_name} (当前: {current_state.value}) 尝试转换为 {target_state.value} ({log_reason})" + ) try: await subflow.change_chat_state(target_state) # 检查最终状态 @@ -686,9 +707,13 @@ class SubHeartflowManager: if final_state == target_state: logger.debug(f"[状态转换请求] {stream_name} 状态已成功转换为 {final_state.value}") else: - logger.warning(f"[状态转换请求] 尝试将 {stream_name} 转换为 {target_state.value} 后,状态实际为 {final_state.value}") + logger.warning( + f"[状态转换请求] 尝试将 {stream_name} 转换为 {target_state.value} 后,状态实际为 {final_state.value}" + ) except Exception as e: - logger.error(f"[状态转换请求] 转换 {stream_name} 到 {target_state.value} 时出错: {e}", exc_info=True) + logger.error( + f"[状态转换请求] 转换 {stream_name} 到 {target_state.value} 时出错: {e}", exc_info=True + ) elif current_state == ChatState.ABSENT: logger.debug(f"[状态转换请求] {stream_name} 已处于 ABSENT 状态,无需转换") else: diff --git a/src/plugins/chat/utils_image.py b/src/plugins/chat/utils_image.py index 95423c7a6..f567c5277 100644 --- a/src/plugins/chat/utils_image.py +++ b/src/plugins/chat/utils_image.py @@ -257,11 +257,11 @@ class ImageManager: frame = gif.convert("RGB") all_frames.append(frame.copy()) except EOFError: - pass # 读完啦 + pass # 读完啦 if not all_frames: logger.warning("GIF中没有找到任何帧") - return None # 空的GIF直接返回None + return None # 空的GIF直接返回None # --- 新的帧选择逻辑 --- selected_frames = [] @@ -295,8 +295,8 @@ class ImageManager: # 如果选择后连一帧都没有(比如GIF只有一帧且后续处理失败?)或者原始GIF就没帧,也返回None if not selected_frames: - logger.warning("处理后没有选中任何帧") - return None + logger.warning("处理后没有选中任何帧") + return None # logger.debug(f"总帧数: {len(all_frames)}, 选中帧数: {len(selected_frames)}") @@ -307,14 +307,13 @@ class ImageManager: target_height = 200 # 固定高度 # 防止除以零 if frame_height == 0: - logger.error("帧高度为0,无法计算缩放尺寸") - return None + logger.error("帧高度为0,无法计算缩放尺寸") + return None target_width = int((target_height / frame_height) * frame_width) # 宽度也不能是0 if target_width == 0: - logger.warning(f"计算出的目标宽度为0 (原始尺寸 {frame_width}x{frame_height}),调整为1") - target_width = 1 - + logger.warning(f"计算出的目标宽度为0 (原始尺寸 {frame_width}x{frame_height}),调整为1") + target_width = 1 # 调整所有选中帧的大小 resized_frames = [ @@ -325,13 +324,12 @@ class ImageManager: total_width = target_width * len(resized_frames) # 防止总宽度为0 if total_width == 0 and len(resized_frames) > 0: - logger.warning("计算出的总宽度为0,但有选中帧,可能目标宽度太小") - # 至少给点宽度吧 - total_width = len(resized_frames) + logger.warning("计算出的总宽度为0,但有选中帧,可能目标宽度太小") + # 至少给点宽度吧 + total_width = len(resized_frames) elif total_width == 0: - logger.error("计算出的总宽度为0且无选中帧") - return None - + logger.error("计算出的总宽度为0且无选中帧") + return None combined_image = Image.new("RGB", (total_width, target_height)) @@ -341,17 +339,17 @@ class ImageManager: # 转换为base64 buffer = io.BytesIO() - combined_image.save(buffer, format="JPEG", quality=85) # 保存为JPEG + combined_image.save(buffer, format="JPEG", quality=85) # 保存为JPEG result_base64 = base64.b64encode(buffer.getvalue()).decode("utf-8") return result_base64 except MemoryError: logger.error("GIF转换失败: 内存不足,可能是GIF太大或帧数太多") - return None # 内存不够啦 + return None # 内存不够啦 except Exception as e: - logger.error(f"GIF转换失败: {str(e)}", exc_info=True) # 记录详细错误信息 - return None # 其他错误也返回None + logger.error(f"GIF转换失败: {str(e)}", exc_info=True) # 记录详细错误信息 + return None # 其他错误也返回None # 创建全局单例 diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index 15518a778..99b76f035 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -32,7 +32,7 @@ from src.individuality.individuality import Individuality WAITING_TIME_THRESHOLD = 300 # 等待新消息时间阈值,单位秒 -EMOJI_SEND_PRO = 0.3 # 设置一个概率,比如 30% 才真的发 +EMOJI_SEND_PRO = 0.3 # 设置一个概率,比如 30% 才真的发 CONSECUTIVE_NO_REPLY_THRESHOLD = 3 # 连续不回复的阈值 @@ -982,13 +982,14 @@ class HeartFChatting: # --- 新增:概率性忽略文本回复附带的表情(正确的位置)--- - if action == "text_reply" and emoji_query: logger.debug(f"{self.log_prefix}[Planner] 大模型想让麦麦发文字时带表情: '{emoji_query}'") # 掷骰子看看要不要听它的 if random.random() > EMOJI_SEND_PRO: - logger.info(f"{self.log_prefix}[Planner] 但是麦麦这次不想加表情 ({1-EMOJI_SEND_PRO:.0%}),忽略表情 '{emoji_query}'") - emoji_query = "" # 把表情请求清空,就不发了 + logger.info( + f"{self.log_prefix}[Planner] 但是麦麦这次不想加表情 ({1 - EMOJI_SEND_PRO:.0%}),忽略表情 '{emoji_query}'" + ) + emoji_query = "" # 把表情请求清空,就不发了 else: logger.info(f"{self.log_prefix}[Planner] 好吧,加上表情 '{emoji_query}'") # --- 结束:概率性忽略 --- diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index c4958a9f4..c8d636c53 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -241,7 +241,7 @@ class PromptBuilder: prompt_ger=prompt_ger, moderation_prompt=await global_prompt_manager.get_prompt_async("moderation_prompt"), ) - + logger.debug(f"focus_chat_prompt: \n{prompt}") return prompt diff --git a/src/plugins/heartFC_chat/normal_chat.py b/src/plugins/heartFC_chat/normal_chat.py index 952506529..c159a329e 100644 --- a/src/plugins/heartFC_chat/normal_chat.py +++ b/src/plugins/heartFC_chat/normal_chat.py @@ -43,7 +43,7 @@ class NormalChat: self.mood_manager = MoodManager.get_instance() # MoodManager 保持单例 # 存储此实例的兴趣监控任务 self.start_time = time.time() - + self.last_speak_time = 0 self._chat_task: Optional[asyncio.Task] = None @@ -122,7 +122,7 @@ class NormalChat: await message_manager.add_message(message_set) self.last_speak_time = time.time() - + return first_bot_msg # 改为实例方法 diff --git a/src/plugins/memory_system/memory_config.py b/src/plugins/memory_system/memory_config.py index aa8850d3c..b82e54ec1 100644 --- a/src/plugins/memory_system/memory_config.py +++ b/src/plugins/memory_system/memory_config.py @@ -44,7 +44,5 @@ class MemoryConfig: consolidate_memory_percentage=getattr(global_config, "consolidate_memory_percentage", 0.01), consolidate_memory_interval=getattr(global_config, "consolidate_memory_interval", 1000), llm_topic_judge=getattr(global_config, "llm_topic_judge", "default_judge_model"), # 添加默认模型名 - llm_summary=getattr( - global_config, "llm_summary", "default_summary_model" - ), # 添加默认模型名 + llm_summary=getattr(global_config, "llm_summary", "default_summary_model"), # 添加默认模型名 ) From 09b1807132261d5dd6cc85d74e8c1052eb9acd76 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:16:38 +0800 Subject: [PATCH 21/43] =?UTF-8?q?better=EF=BC=9A=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=A1=A8=E6=83=85=E5=8C=85=E5=A4=84=E7=90=86=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96logger=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/logger.py | 14 +++---- src/common/logger_manager.py | 4 +- src/do_tool/tool_can_use/base_tool.py | 2 +- src/heart_flow/background_tasks.py | 4 +- src/heart_flow/sub_heartflow.py | 8 ++-- src/heart_flow/subheartflow_manager.py | 50 ++++++++++++++--------- src/plugins/chat/message_sender.py | 6 +-- src/plugins/emoji_system/emoji_manager.py | 31 ++++++++------ src/plugins/heartFC_chat/heartFC_chat.py | 2 +- src/plugins/willing/willing_manager.py | 2 +- 10 files changed, 69 insertions(+), 54 deletions(-) diff --git a/src/common/logger.py b/src/common/logger.py index 43972e1f2..b5317d58b 100644 --- a/src/common/logger.py +++ b/src/common/logger.py @@ -621,22 +621,22 @@ CHAT_IMAGE_STYLE_CONFIG = { }, } -# 兴趣log -INTEREST_STYLE_CONFIG = { +# HFC log +HFC_STYLE_CONFIG = { "advanced": { "console_format": ( "{time:YYYY-MM-DD HH:mm:ss} | " "{level: <8} | " - "兴趣 | " + "专注聊天 | " "{message}" ), - "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 兴趣 | {message}", + "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 专注聊天 | {message}", }, "simple": { "console_format": ( - "{time:MM-DD HH:mm} | 兴趣 | {message}" + "{time:MM-DD HH:mm} | 专注聊天 | {message}" ), - "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 兴趣 | {message}", + "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 专注聊天 | {message}", }, } @@ -847,7 +847,7 @@ CONFIG_STYLE_CONFIG = CONFIG_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else CONFIG TOOL_USE_STYLE_CONFIG = TOOL_USE_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TOOL_USE_STYLE_CONFIG["advanced"] PFC_STYLE_CONFIG = PFC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PFC_STYLE_CONFIG["advanced"] LPMM_STYLE_CONFIG = LPMM_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else LPMM_STYLE_CONFIG["advanced"] -INTEREST_STYLE_CONFIG = INTEREST_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else INTEREST_STYLE_CONFIG["advanced"] +HFC_STYLE_CONFIG = HFC_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else HFC_STYLE_CONFIG["advanced"] TIANYI_STYLE_CONFIG = TIANYI_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else TIANYI_STYLE_CONFIG["advanced"] MODEL_UTILS_STYLE_CONFIG = MODEL_UTILS_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else MODEL_UTILS_STYLE_CONFIG["advanced"] PROMPT_STYLE_CONFIG = PROMPT_STYLE_CONFIG["simple"] if SIMPLE_OUTPUT else PROMPT_STYLE_CONFIG["advanced"] diff --git a/src/common/logger_manager.py b/src/common/logger_manager.py index ab1861e2b..5c5538385 100644 --- a/src/common/logger_manager.py +++ b/src/common/logger_manager.py @@ -23,7 +23,7 @@ from src.common.logger import ( PFC_ACTION_PLANNER_STYLE_CONFIG, MAI_STATE_CONFIG, LPMM_STYLE_CONFIG, - INTEREST_STYLE_CONFIG, + HFC_STYLE_CONFIG, TIANYI_STYLE_CONFIG, REMOTE_STYLE_CONFIG, TOPIC_STYLE_CONFIG, @@ -68,7 +68,7 @@ MODULE_LOGGER_CONFIGS = { "pfc_action_planner": PFC_ACTION_PLANNER_STYLE_CONFIG, # PFC私聊规划 "mai_state": MAI_STATE_CONFIG, # 麦麦状态 "lpmm": LPMM_STYLE_CONFIG, # LPMM - "interest": INTEREST_STYLE_CONFIG, # 兴趣 + "hfc": HFC_STYLE_CONFIG, # HFC "tianyi": TIANYI_STYLE_CONFIG, # 天依 "remote": REMOTE_STYLE_CONFIG, # 远程 "topic": TOPIC_STYLE_CONFIG, # 话题 diff --git a/src/do_tool/tool_can_use/base_tool.py b/src/do_tool/tool_can_use/base_tool.py index 47f4a54dc..1dd15bafc 100644 --- a/src/do_tool/tool_can_use/base_tool.py +++ b/src/do_tool/tool_can_use/base_tool.py @@ -62,7 +62,7 @@ def register_tool(tool_class: Type[BaseTool]): raise ValueError(f"工具类 {tool_class.__name__} 没有定义 name 属性") TOOL_REGISTRY[tool_name] = tool_class - logger.info(f"已注册工具: {tool_name}") + logger.info(f"已注册: {tool_name}") def discover_tools(): diff --git a/src/heart_flow/background_tasks.py b/src/heart_flow/background_tasks.py index 93bc50254..56fee2a91 100644 --- a/src/heart_flow/background_tasks.py +++ b/src/heart_flow/background_tasks.py @@ -200,12 +200,12 @@ class BackgroundTaskManager: async def _perform_absent_into_chat(self): """调用llm检测是否转换ABSENT-CHAT状态""" - logger.info("[状态评估任务] 开始基于LLM评估子心流状态...") + logger.debug("[状态评估任务] 开始基于LLM评估子心流状态...") await self.subheartflow_manager.sbhf_absent_into_chat() async def _normal_chat_timeout_check_work(self): """检查处于CHAT状态的子心流是否因长时间未发言而超时,并将其转为ABSENT""" - logger.info("[聊天超时检查] 开始检查处于CHAT状态的子心流...") + logger.debug("[聊天超时检查] 开始检查处于CHAT状态的子心流...") await self.subheartflow_manager.sbhf_chat_into_absent() async def _perform_cleanup_work(self): diff --git a/src/heart_flow/sub_heartflow.py b/src/heart_flow/sub_heartflow.py index 6b9ccd642..4a48e977c 100644 --- a/src/heart_flow/sub_heartflow.py +++ b/src/heart_flow/sub_heartflow.py @@ -299,7 +299,7 @@ class SubHeartflow: chat_stream = chat_manager.get_stream(self.chat_id) self.normal_chat_instance = NormalChat(chat_stream=chat_stream, interest_dict=self.get_interest_dict()) - logger.info(f"{log_prefix} 启动 NormalChat 随便水群...") + logger.info(f"{log_prefix} 开始普通聊天,随便水群...") await self.normal_chat_instance.start_chat() # <--- 修正:调用 start_chat return True except Exception as e: @@ -311,7 +311,7 @@ class SubHeartflow: async def _stop_heart_fc_chat(self): """停止并清理 HeartFChatting 实例""" if self.heart_fc_instance: - logger.info(f"{self.log_prefix} 关闭 HeartFChatting 实例...") + logger.debug(f"{self.log_prefix} 结束专注聊天...") try: await self.heart_fc_instance.shutdown() except Exception as e: @@ -386,7 +386,7 @@ class SubHeartflow: # 移除限额检查逻辑 logger.debug(f"{log_prefix} 准备进入或保持 聊天 状态") if await self._start_normal_chat(): - logger.info(f"{log_prefix} 成功进入或保持 NormalChat 状态。") + # logger.info(f"{log_prefix} 成功进入或保持 NormalChat 状态。") state_changed = True else: logger.error(f"{log_prefix} 启动 NormalChat 失败,无法进入 CHAT 状态。") @@ -416,7 +416,7 @@ class SubHeartflow: self.history_chat_state.append((current_state, self.chat_state_last_time)) logger.info( - f"{log_prefix} 麦麦的聊天状态从 {current_state.value} (持续了 {self.chat_state_last_time} 秒) 变更为 {new_state.value}" + f"{log_prefix} 麦麦的聊天状态从 {current_state.value} (持续了 {int(self.chat_state_last_time)} 秒) 变更为 {new_state.value}" ) self.chat_state.chat_status = new_state diff --git a/src/heart_flow/subheartflow_manager.py b/src/heart_flow/subheartflow_manager.py index b084d0385..fe555ea2d 100644 --- a/src/heart_flow/subheartflow_manager.py +++ b/src/heart_flow/subheartflow_manager.py @@ -1,7 +1,7 @@ import asyncio import time import random -from typing import Dict, Any, Optional, List +from typing import Dict, Any, Optional, List, Tuple import json # 导入 json 模块 import functools # <-- 新增导入 @@ -23,6 +23,7 @@ from src.individuality.individuality import Individuality import traceback + # 初始化日志记录器 logger = get_logger("subheartflow_manager") @@ -358,7 +359,7 @@ class SubHeartflowManager: # 3. 检查 CHAT 上限 current_chat_count = self.count_subflows_by_state_nolock(ChatState.CHAT) if current_chat_count >= chat_limit: - logger.debug( + logger.info( f"{log_prefix} 想看看能不能聊,但是聊天太多了, ({current_chat_count}/{chat_limit}) 满了。" ) return # 满了,这次就算了 @@ -419,14 +420,22 @@ class SubHeartflowManager: # --- 结束修改 --- # --- 4. LLM 评估是否想聊 --- - yao_kai_shi_liao_ma = await self._llm_evaluate_state_transition(prompt) + yao_kai_shi_liao_ma, reason = await self._llm_evaluate_state_transition(prompt) + + if reason: + if yao_kai_shi_liao_ma: + logger.info(f"{log_prefix} 打算开始聊,原因是: {reason}") + else: + logger.info(f"{log_prefix} 不打算聊,原因是: {reason}") + else: + logger.info(f"{log_prefix} 结果: {yao_kai_shi_liao_ma}") if yao_kai_shi_liao_ma is None: logger.debug(f"{log_prefix} 问AI想不想聊失败了,这次算了。") return # 评估失败,结束 if not yao_kai_shi_liao_ma: - logger.info(f"{log_prefix} 现在不想聊这个群。") + # logger.info(f"{log_prefix} 现在不想聊这个群。") return # 不想聊,结束 # --- 5. AI想聊,再次检查额度并尝试转换 --- @@ -434,7 +443,7 @@ class SubHeartflowManager: current_chat_count_before_change = self.count_subflows_by_state_nolock(ChatState.CHAT) if current_chat_count_before_change < chat_limit: logger.info( - f"{log_prefix} 想聊,而且还有空位 ({current_chat_count_before_change}/{chat_limit}),这就去聊!" + f"{log_prefix} 想聊,而且还有精力 ({current_chat_count_before_change}/{chat_limit}),这就去聊!" ) await sub_hf_to_evaluate.change_chat_state(ChatState.CHAT) # 确认转换成功 @@ -492,7 +501,7 @@ class SubHeartflowManager: should_deactivate = True reason = f"超过 {NORMAL_CHAT_TIMEOUT_SECONDS / 60:.0f} 分钟没 BB" logger.info( - f"{log_prefix} 检测到超时 ({reason}),准备转为 ABSENT。上次活动时间: {last_bot_dong_zuo_time:.0f}" + f"{log_prefix} 太久没有发言 ({reason}),不看了。上次活动时间: {last_bot_dong_zuo_time:.0f}" ) # else: # logger.debug(f"{log_prefix} Bot活动时间未超时 ({time_since_last_bb:.0f}s < {NORMAL_CHAT_TIMEOUT_SECONDS}s),保持 CHAT 状态。") @@ -509,25 +518,24 @@ class SubHeartflowManager: # --- 执行状态转换(如果超时) --- if should_deactivate: - logger.info(f"{log_prefix} 因超时 ({reason}),尝试转换为 ABSENT 状态。") + logger.debug(f"{log_prefix} 因超时 ({reason}),尝试转换为 ABSENT 状态。") await sub_hf.change_chat_state(ChatState.ABSENT) # 再次检查确保状态已改变 if sub_hf.chat_state.chat_status == ChatState.ABSENT: transitioned_to_absent += 1 - logger.info(f"{log_prefix} 已成功转换为 ABSENT 状态。") + logger.info(f"{log_prefix} 不看了。") else: logger.warning(f"{log_prefix} 尝试因超时转换为 ABSENT 失败。") if transitioned_to_absent > 0: - logger.info( + logger.debug( f"{log_prefix_task} 完成,共检查 {checked_count} 个子心流,{transitioned_to_absent} 个因超时转为 ABSENT。" ) - # else: - # logger.debug(f"{log_prefix_task} 完成,共检查 {checked_count} 个子心流,无超时转换。") + # --- 结束新增 --- - async def _llm_evaluate_state_transition(self, prompt: str) -> Optional[bool]: + async def _llm_evaluate_state_transition(self, prompt: str) -> Tuple[Optional[bool], Optional[str]]: """ 使用 LLM 评估是否应进行状态转换,期望 LLM 返回 JSON 格式。 @@ -544,7 +552,7 @@ class SubHeartflowManager: response_text, _ = await self.llm_state_evaluator.generate_response_async(prompt) # logger.debug(f"{log_prefix} 使用模型 {self.llm_state_evaluator.model_name} 评估") logger.debug(f"{log_prefix} 原始输入: {prompt}") - logger.debug(f"{log_prefix} 原始响应: {response_text}") + logger.debug(f"{log_prefix} 原始评估结果: {response_text}") # --- 解析 JSON 响应 --- try: @@ -555,34 +563,36 @@ class SubHeartflowManager: data = json.loads(cleaned_response) decision = data.get("decision") # 使用 .get() 避免 KeyError + reason = data.get("reason") if isinstance(decision, bool): logger.debug(f"{log_prefix} LLM评估结果 (来自JSON): {'建议转换' if decision else '建议不转换'}") - return decision + + return decision , reason else: logger.warning( f"{log_prefix} LLM 返回的 JSON 中 'decision' 键的值不是布尔型: {decision}。响应: {response_text}" ) - return None # 值类型不正确 + return None, None # 值类型不正确 except json.JSONDecodeError as json_err: logger.warning(f"{log_prefix} LLM 返回的响应不是有效的 JSON: {json_err}。响应: {response_text}") # 尝试在非JSON响应中查找关键词作为后备方案 (可选) if "true" in response_text.lower(): logger.debug(f"{log_prefix} 在非JSON响应中找到 'true',解释为建议转换") - return True + return True, None if "false" in response_text.lower(): logger.debug(f"{log_prefix} 在非JSON响应中找到 'false',解释为建议不转换") - return False - return None # JSON 解析失败,也未找到关键词 + return False, None + return None, None # JSON 解析失败,也未找到关键词 except Exception as parse_err: # 捕获其他可能的解析错误 logger.warning(f"{log_prefix} 解析 LLM JSON 响应时发生意外错误: {parse_err}。响应: {response_text}") - return None + return None, None except Exception as e: logger.error(f"{log_prefix} 调用 LLM 或处理其响应时出错: {e}", exc_info=True) traceback.print_exc() - return None # LLM 调用或处理失败 + return None, None # LLM 调用或处理失败 def count_subflows_by_state(self, state: ChatState) -> int: """统计指定状态的子心流数量""" diff --git a/src/plugins/chat/message_sender.py b/src/plugins/chat/message_sender.py index 0a2199f38..493397bbd 100644 --- a/src/plugins/chat/message_sender.py +++ b/src/plugins/chat/message_sender.py @@ -159,16 +159,16 @@ class MessageManager: logger.warning("Processor task already running.") return self._processor_task = asyncio.create_task(self._start_processor_loop()) - logger.info("MessageManager processor task started.") + logger.debug("MessageManager processor task started.") def stop(self): """停止后台处理器任务。""" self._running = False if hasattr(self, "_processor_task") and not self._processor_task.done(): self._processor_task.cancel() - logger.info("MessageManager processor task stopping.") + logger.debug("MessageManager processor task stopping.") else: - logger.info("MessageManager processor task not running or already stopped.") + logger.debug("MessageManager processor task not running or already stopped.") async def get_container(self, chat_id: str) -> MessageContainer: """获取或创建聊天流的消息容器 (异步,使用锁)""" diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 501e4e89e..72af602fa 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -106,7 +106,7 @@ class MaiEmoji: os.remove(destination_path) os.rename(source_path, destination_path) - logger.info(f"[移动] 文件从 {source_path} 移动到 {destination_path}") + logger.debug(f"[移动] 文件从 {source_path} 移动到 {destination_path}") # 更新实例的路径属性为新目录 self.path = EMOJI_REGISTED_DIR except Exception as move_error: @@ -131,7 +131,7 @@ class MaiEmoji: # 使用upsert确保记录存在或被更新 db["emoji"].update_one({"hash": self.hash}, {"$set": emoji_record}, upsert=True) - logger.success(f"[注册] 表情包信息保存到数据库: {self.description}") + logger.success(f"[注册] 表情包信息保存到数据库: {self.description[:30]}...") return True @@ -158,7 +158,7 @@ class MaiEmoji: if os.path.exists(os.path.join(self.path, self.filename)): try: os.remove(os.path.join(self.path, self.filename)) - logger.info(f"[删除] 文件: {os.path.join(self.path, self.filename)}") + logger.debug(f"[删除] 文件: {os.path.join(self.path, self.filename)}") except Exception as e: logger.error(f"[错误] 删除文件失败 {os.path.join(self.path, self.filename)}: {str(e)}") # 继续执行,即使文件删除失败也尝试删除数据库记录 @@ -168,7 +168,7 @@ class MaiEmoji: deleted_in_db = result.deleted_count > 0 if deleted_in_db: - logger.success(f"[删除] 成功删除表情包记录: {self.description}") + logger.info(f"[删除] 表情包 {self.filename} 无对应文件,已删除") # 3. 标记对象已被删除 self.is_deleted = True @@ -195,7 +195,7 @@ class EmojiManager: self._scan_task = None self.vlm = LLMRequest(model=global_config.vlm, temperature=0.3, max_tokens=1000, request_type="emoji") self.llm_emotion_judge = LLMRequest( - model=global_config.llm_summary, max_tokens=600, temperature=0.8, request_type="emoji" + model=global_config.llm_normal, max_tokens=600, request_type="emoji" ) # 更高的温度,更少的token(后续可以根据情绪来调整温度) self.emoji_num = 0 @@ -682,7 +682,7 @@ class EmojiManager: if register_success: self.emoji_objects.append(new_emoji) self.emoji_num += 1 - logger.success(f"[成功] 注册表情包: {new_emoji.description}") + logger.success(f"[成功] 注册: {new_emoji.filename}") return True else: logger.error(f"[错误] 注册表情包到数据库失败: {new_emoji.filename}") @@ -719,10 +719,10 @@ class EmojiManager: # 调用AI获取描述 if image_format == "gif" or image_format == "GIF": image_base64 = image_manager.transform_gif(image_base64) - prompt = "这是一个动态图表情包,每一张图代表了动态图的某一帧,黑色背景代表透明,描述一下表情包表达的情感和内容,你可以关注其幽默和讽刺意味,必须从互联网梗,meme的角度去分析" + prompt = "这是一个动态图表情包,每一张图代表了动态图的某一帧,黑色背景代表透明,描述一下表情包表达的情感和内容,你可以关注其幽默和讽刺意味,动用贴吧,微博,小红书的知识,必须从互联网梗,meme的角度去分析" description, _ = await self.vlm.generate_response_for_image(prompt, image_base64, "jpg") else: - prompt = "这是一个表情包,请详细描述一下表情包所表达的情感和内容,你可以关注其幽默和讽刺意味,必须从互联网梗,meme的角度去分析" + prompt = "这是一个表情包,请详细描述一下表情包所表达的情感和内容,你可以关注其幽默和讽刺意味,动用贴吧,微博,小红书的知识,必须从互联网梗,meme的角度去分析" description, _ = await self.vlm.generate_response_for_image(prompt, image_base64, image_format) # 审核表情包 @@ -797,7 +797,7 @@ class EmojiManager: if register_success: self.emoji_objects.append(new_emoji) self.emoji_num += 1 - logger.success(f"[成功] 注册表情包: {filename}") + logger.success(f"[成功] 注册: {filename}") return True else: logger.error(f"[错误] 注册表情包到数据库失败: {filename}") @@ -814,7 +814,7 @@ class EmojiManager: 当目录中文件数超过50时,会全部删除 """ - logger.info("[清理] 开始清理临时表情包...") + logger.info("[清理] 开始清理缓存...") # 清理emoji目录 emoji_dir = os.path.join(BASE_DIR, "emoji") @@ -826,7 +826,7 @@ class EmojiManager: file_path = os.path.join(emoji_dir, filename) if os.path.isfile(file_path): os.remove(file_path) - logger.debug(f"[清理] 删除表情包文件: {filename}") + logger.debug(f"[清理] 删除: {filename}") # 清理image目录 image_dir = os.path.join(BASE_DIR, "image") @@ -838,14 +838,19 @@ class EmojiManager: file_path = os.path.join(image_dir, filename) if os.path.isfile(file_path): os.remove(file_path) - logger.debug(f"[清理] 删除图片文件: {filename}") + logger.debug(f"[清理] 删除图片: {filename}") - logger.success("[清理] 临时文件清理完成") + logger.success("[清理] 完成") async def clean_unused_emojis(self, emoji_dir, emoji_objects): """清理未使用的表情包文件 遍历指定文件夹中的所有文件,删除未在emoji_objects列表中的文件 """ + # 首先检查目录是否存在喵~ + if not os.path.exists(emoji_dir): + logger.warning(f"[清理] 表情包目录不存在,跳过清理: {emoji_dir}") + return + # 获取所有表情包路径 emoji_paths = {emoji.path for emoji in emoji_objects} diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index 99b76f035..bfdf2d6ae 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -37,7 +37,7 @@ EMOJI_SEND_PRO = 0.3 # 设置一个概率,比如 30% 才真的发 CONSECUTIVE_NO_REPLY_THRESHOLD = 3 # 连续不回复的阈值 -logger = get_logger("interest") # Logger Name Changed +logger = get_logger("HFC") # Logger Name Changed # 默认动作定义 diff --git a/src/plugins/willing/willing_manager.py b/src/plugins/willing/willing_manager.py index 4b105ec95..78c86e258 100644 --- a/src/plugins/willing/willing_manager.py +++ b/src/plugins/willing/willing_manager.py @@ -77,7 +77,7 @@ class BaseWillingManager(ABC): if not issubclass(manager_class, cls): raise TypeError(f"Manager class {manager_class.__name__} is not a subclass of {cls.__name__}") else: - logger.info(f"成功载入willing模式:{manager_type}") + logger.info(f"普通回复模式:{manager_type}") return manager_class() except (ImportError, AttributeError, TypeError) as e: module = importlib.import_module(".mode_classical", __package__) From c8a72782f0597661eb51344ab1ce3957930dc1f6 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:21:06 +0800 Subject: [PATCH 22/43] Update emoji_manager.py --- src/plugins/emoji_system/emoji_manager.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 72af602fa..c71b2abed 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -656,11 +656,11 @@ class EmojiManager: # 调用大模型进行决策 decision, _ = await self.llm_emotion_judge.generate_response_async(prompt, temperature=0.8) - logger.info(f"[决策] 大模型决策结果: {decision}") + logger.info(f"[决策] 结果: {decision}") # 解析决策结果 if "不删除" in decision: - logger.info("[决策] 决定不删除任何表情包") + logger.info("[决策] 不删除任何表情包") return False # 尝试从决策中提取表情包编号 @@ -673,7 +673,7 @@ class EmojiManager: emoji_to_delete = selected_emojis[emoji_index] # 删除选定的表情包 - logger.info(f"[决策] 决定删除表情包: {emoji_to_delete.description}") + logger.info(f"[决策] 删除表情包: {emoji_to_delete.description}") delete_success = await self.delete_emoji(emoji_to_delete.hash) if delete_success: @@ -719,10 +719,10 @@ class EmojiManager: # 调用AI获取描述 if image_format == "gif" or image_format == "GIF": image_base64 = image_manager.transform_gif(image_base64) - prompt = "这是一个动态图表情包,每一张图代表了动态图的某一帧,黑色背景代表透明,描述一下表情包表达的情感和内容,你可以关注其幽默和讽刺意味,动用贴吧,微博,小红书的知识,必须从互联网梗,meme的角度去分析" + prompt = "这是一个动态图表情包,每一张图代表了动态图的某一帧,黑色背景代表透明,描述一下表情包表达的情感和内容,描述细节,从互联网梗,meme的角度去分析" description, _ = await self.vlm.generate_response_for_image(prompt, image_base64, "jpg") else: - prompt = "这是一个表情包,请详细描述一下表情包所表达的情感和内容,你可以关注其幽默和讽刺意味,动用贴吧,微博,小红书的知识,必须从互联网梗,meme的角度去分析" + prompt = "这是一个表情包,请详细描述一下表情包所表达的情感和内容,描述细节,从互联网梗,meme的角度去分析" description, _ = await self.vlm.generate_response_for_image(prompt, image_base64, image_format) # 审核表情包 @@ -741,12 +741,11 @@ class EmojiManager: # 分析情感含义 emotion_prompt = f""" - 基于这个表情包的描述:'{description}',请列出1-2个可能的情感标签,每个标签用一个词组表示,格式如下: - 幽默的讽刺,适用于调侃或吐槽场景 - 悲伤的无奈,适用于表达无力感或失望 - 愤怒的抗议,适用于表达不满或反对 - 愤怒的讽刺,适用于尖锐批评或反讽 - 直接输出词组,词组检用逗号分隔。""" + 请你识别这个表情包的含义和适用场景,给我简短的描述,每个描述不要超过15个字 + 这是一个基于这个表情包的描述:'{description}' + 你可以关注其幽默和讽刺意味,动用贴吧,微博,小红书的知识,必须从互联网梗,meme的角度去分析 + 请直接输出描述,不要出现任何其他内容,如果有多个描述,可以用逗号分隔 + """ emotions_text, _ = await self.llm_emotion_judge.generate_response_async(emotion_prompt, temperature=0.7) # 处理情感列表 From c8c27a14836e01c67d424e16465b71e7070d2ce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A2=A8=E6=A2=93=E6=9F=92?= <1787882683@qq.com> Date: Wed, 30 Apr 2025 18:22:06 +0800 Subject: [PATCH 23/43] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=AD=A3=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E8=8E=B7=E5=8F=96=E9=80=BB=E8=BE=91=EF=BC=8C=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E7=9F=A5=E8=AF=86=E7=9B=B8=E5=85=B3=E6=80=A7=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E9=A1=BA=E5=BA=8F=EF=BC=8C=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E9=95=BF=E5=BA=A6=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/knowledge/src/qa_manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/knowledge/src/qa_manager.py b/src/plugins/knowledge/src/qa_manager.py index 9cb5c0186..6d84dc8e7 100644 --- a/src/plugins/knowledge/src/qa_manager.py +++ b/src/plugins/knowledge/src/qa_manager.py @@ -11,6 +11,8 @@ from .lpmmconfig import global_config from .utils.dyn_topk import dyn_select_top_k +MAX_KNOWLEDGE_LENGTH = 10000 # 最大知识长度 + class QAManager: def __init__( self, @@ -112,8 +114,10 @@ class QAManager: for res in query_res ] found_knowledge = "\n".join( - [f"第{i + 1}条知识:{k[1]}\n 该条知识对于问题的相关性:{k[0]}" for i, k in enumerate(knowledge)] + [f"第{i + 1}条知识:{k[0]}\n 该条知识对于问题的相关性:{k[1]}" for i, k in enumerate(knowledge)] ) + if len(found_knowledge) > MAX_KNOWLEDGE_LENGTH: + found_knowledge = found_knowledge[:MAX_KNOWLEDGE_LENGTH] + "\n" return found_knowledge else: logger.info("LPMM知识库并未初始化,使用旧版数据库进行检索") From 5242573412dd47f9a05c48e1f199aa339c0e2de4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 30 Apr 2025 10:22:25 +0000 Subject: [PATCH 24/43] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/knowledge/src/qa_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/knowledge/src/qa_manager.py b/src/plugins/knowledge/src/qa_manager.py index 6d84dc8e7..a09879a17 100644 --- a/src/plugins/knowledge/src/qa_manager.py +++ b/src/plugins/knowledge/src/qa_manager.py @@ -13,6 +13,7 @@ from .utils.dyn_topk import dyn_select_top_k MAX_KNOWLEDGE_LENGTH = 10000 # 最大知识长度 + class QAManager: def __init__( self, From 377c88c2beda032e216004d646aad91446de0d22 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:24:33 +0800 Subject: [PATCH 25/43] Update emoji_manager.py --- src/plugins/emoji_system/emoji_manager.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index c71b2abed..1a9146a1b 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -750,6 +750,12 @@ class EmojiManager: # 处理情感列表 emotions = [e.strip() for e in emotions_text.split(",") if e.strip()] + + # 根据情感标签数量随机选择喵~超过5个选3个,超过2个选2个 + if len(emotions) > 5: + emotions = random.sample(emotions, 3) + elif len(emotions) > 2: + emotions = random.sample(emotions, 2) return f"[表情包:{description}]", emotions From f18d0786bb69dfef3277eeaedb1dced3c93e6cc6 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:28:32 +0800 Subject: [PATCH 26/43] Update heartflow_prompt_builder.py --- src/plugins/heartFC_chat/heartflow_prompt_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index c8d636c53..c23d6a7e2 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -69,7 +69,7 @@ def init_prompt(): 2. 文字回复(text_reply)适用: - 有实质性内容需要表达 - 有人提到你,但你还没有回应他 -- 可以追加emoji_query表达情绪(格式:情绪描述,如"俏皮的调侃") +- 可以追加emoji_query表达情绪(emoji_query填写表情包的适用场合,也就是当前场合) - 不要追加太多表情 3. 纯表情回复(emoji_reply)适用: From 3b63005f579f2a2354bfbda94f966d85872d44fb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 30 Apr 2025 10:28:47 +0000 Subject: [PATCH 27/43] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/heart_flow/subheartflow_manager.py | 12 ++++-------- src/plugins/emoji_system/emoji_manager.py | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/heart_flow/subheartflow_manager.py b/src/heart_flow/subheartflow_manager.py index fe555ea2d..16f36dcc5 100644 --- a/src/heart_flow/subheartflow_manager.py +++ b/src/heart_flow/subheartflow_manager.py @@ -23,7 +23,6 @@ from src.individuality.individuality import Individuality import traceback - # 初始化日志记录器 logger = get_logger("subheartflow_manager") @@ -359,9 +358,7 @@ class SubHeartflowManager: # 3. 检查 CHAT 上限 current_chat_count = self.count_subflows_by_state_nolock(ChatState.CHAT) if current_chat_count >= chat_limit: - logger.info( - f"{log_prefix} 想看看能不能聊,但是聊天太多了, ({current_chat_count}/{chat_limit}) 满了。" - ) + logger.info(f"{log_prefix} 想看看能不能聊,但是聊天太多了, ({current_chat_count}/{chat_limit}) 满了。") return # 满了,这次就算了 # --- 获取 FOCUSED 计数 --- @@ -421,7 +418,7 @@ class SubHeartflowManager: # --- 4. LLM 评估是否想聊 --- yao_kai_shi_liao_ma, reason = await self._llm_evaluate_state_transition(prompt) - + if reason: if yao_kai_shi_liao_ma: logger.info(f"{log_prefix} 打算开始聊,原因是: {reason}") @@ -532,7 +529,6 @@ class SubHeartflowManager: f"{log_prefix_task} 完成,共检查 {checked_count} 个子心流,{transitioned_to_absent} 个因超时转为 ABSENT。" ) - # --- 结束新增 --- async def _llm_evaluate_state_transition(self, prompt: str) -> Tuple[Optional[bool], Optional[str]]: @@ -567,8 +563,8 @@ class SubHeartflowManager: if isinstance(decision, bool): logger.debug(f"{log_prefix} LLM评估结果 (来自JSON): {'建议转换' if decision else '建议不转换'}") - - return decision , reason + + return decision, reason else: logger.warning( f"{log_prefix} LLM 返回的 JSON 中 'decision' 键的值不是布尔型: {decision}。响应: {response_text}" diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 1a9146a1b..844c68302 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -750,7 +750,7 @@ class EmojiManager: # 处理情感列表 emotions = [e.strip() for e in emotions_text.split(",") if e.strip()] - + # 根据情感标签数量随机选择喵~超过5个选3个,超过2个选2个 if len(emotions) > 5: emotions = random.sample(emotions, 3) From a206af76fb8e07d29837df44910cbd8eb3d8f9b8 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:30:27 +0800 Subject: [PATCH 28/43] Update emoji_manager.py --- src/plugins/emoji_system/emoji_manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 1a9146a1b..d44d0f9a7 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -131,7 +131,9 @@ class MaiEmoji: # 使用upsert确保记录存在或被更新 db["emoji"].update_one({"hash": self.hash}, {"$set": emoji_record}, upsert=True) - logger.success(f"[注册] 表情包信息保存到数据库: {self.description[:30]}...") + + + logger.success(f"[注册] 表情包信息保存到数据库: {self.emotion}") return True From c94ef758223427b612ed6b63a10f884994bea01a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 30 Apr 2025 10:30:48 +0000 Subject: [PATCH 29/43] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/emoji_system/emoji_manager.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 9c0a959d7..6a9e0067a 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -131,8 +131,7 @@ class MaiEmoji: # 使用upsert确保记录存在或被更新 db["emoji"].update_one({"hash": self.hash}, {"$set": emoji_record}, upsert=True) - - + logger.success(f"[注册] 表情包信息保存到数据库: {self.emotion}") return True From 09a2e63095bea8816bbac29851afe14bb1bed05a Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:37:09 +0800 Subject: [PATCH 30/43] =?UTF-8?q?fix=EF=BC=9A=E5=B0=8Fbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/heartFC_chat/heartflow_prompt_builder.py | 4 ++-- src/plugins/willing/mode_classical.py | 3 +++ src/plugins/willing/willing_manager.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index c23d6a7e2..69bae0411 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -263,9 +263,9 @@ class PromptBuilder: relation_prompt = "" for person in who_chat_in_group: relation_prompt += await relationship_manager.build_relationship_info(person) - print(f"relation_prompt: {relation_prompt}") + # print(f"relation_prompt: {relation_prompt}") - print(f"relat11111111ion_prompt: {relation_prompt}") + # print(f"relat11111111ion_prompt: {relation_prompt}") # 心情 mood_manager = MoodManager.get_instance() diff --git a/src/plugins/willing/mode_classical.py b/src/plugins/willing/mode_classical.py index 8ee88d66f..e96aa77a7 100644 --- a/src/plugins/willing/mode_classical.py +++ b/src/plugins/willing/mode_classical.py @@ -64,6 +64,9 @@ class ClassicalWillingManager(BaseWillingManager): self.chat_reply_willing[chat_id] = max(0, current_willing - 1.8) async def after_generate_reply_handle(self, message_id): + if message_id not in self.ongoing_messages: + return + chat_id = self.ongoing_messages[message_id].chat_id current_willing = self.chat_reply_willing.get(chat_id, 0) if current_willing < 1: diff --git a/src/plugins/willing/willing_manager.py b/src/plugins/willing/willing_manager.py index 78c86e258..c26325b1c 100644 --- a/src/plugins/willing/willing_manager.py +++ b/src/plugins/willing/willing_manager.py @@ -110,7 +110,7 @@ class BaseWillingManager(ABC): def delete(self, message_id: str): del_message = self.ongoing_messages.pop(message_id, None) if not del_message: - logger.debug(f"删除异常,当前消息{message_id}不存在") + logger.debug(f"尝试删除不存在的消息 ID: {message_id},可能已被其他流程处理,喵~") @abstractmethod async def async_task_starter(self) -> None: From 5cce6d90348092b62bca3646e634cd285806013e Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:46:08 +0800 Subject: [PATCH 31/43] Update emoji_manager.py --- src/plugins/emoji_system/emoji_manager.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 6a9e0067a..5bfd29456 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -287,35 +287,39 @@ class EmojiManager: # 计算与每个emotion标签的相似度,取最大值 max_similarity = 0 + best_matching_emotion = "" # 记录最匹配的 emotion 喵~ for emotion in emotions: # 使用编辑距离计算相似度 distance = self._levenshtein_distance(text_emotion, emotion) max_len = max(len(text_emotion), len(emotion)) similarity = 1 - (distance / max_len if max_len > 0 else 0) - max_similarity = max(max_similarity, similarity) + if similarity > max_similarity: # 如果找到更相似的喵~ + max_similarity = similarity + best_matching_emotion = emotion # 就记下这个 emotion 喵~ - emoji_similarities.append((emoji, max_similarity)) + if best_matching_emotion: # 确保有匹配的情感才添加喵~ + emoji_similarities.append((emoji, max_similarity, best_matching_emotion)) # 把 emotion 也存起来喵~ # 按相似度降序排序 emoji_similarities.sort(key=lambda x: x[1], reverse=True) - # 获取前5个最相似的表情包 - top_5_emojis = emoji_similarities[:10] if len(emoji_similarities) > 10 else emoji_similarities + # 获取前10个最相似的表情包 + top_emojis = emoji_similarities[:10] if len(emoji_similarities) > 10 else emoji_similarities # 改个名字,更清晰喵~ - if not top_5_emojis: + if not top_emojis: logger.warning("未找到匹配的表情包") return None - # 从前5个中随机选择一个 - selected_emoji, similarity = random.choice(top_5_emojis) + # 从前几个中随机选择一个 + selected_emoji, similarity, matched_emotion = random.choice(top_emojis) # 把匹配的 emotion 也拿出来喵~ # 更新使用次数 self.record_usage(selected_emoji.hash) time_end = time.time() - logger.info( - f"找到[{text_emotion}]表情包,用时:{time_end - time_start:.2f}秒: {selected_emoji.description} (相似度: {similarity:.4f})" + logger.info( # 使用匹配到的 emotion 记录日志喵~ + f"为[{text_emotion}]找到表情包: {matched_emotion},({similarity:.4f})" ) return selected_emoji.path, f"[ {selected_emoji.description} ]" From 0f1198e64e587a7bbf4e9fba38b8f6c31565d818 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:47:37 +0800 Subject: [PATCH 32/43] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dplanner=E8=A7=A3?= =?UTF-8?q?=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/utils/json_utils.py | 60 ++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 19 deletions(-) diff --git a/src/plugins/utils/json_utils.py b/src/plugins/utils/json_utils.py index ddcbca439..52695e1ac 100644 --- a/src/plugins/utils/json_utils.py +++ b/src/plugins/utils/json_utils.py @@ -1,6 +1,7 @@ import json import logging from typing import Any, Dict, TypeVar, List, Union, Tuple +import ast # 定义类型变量用于泛型类型提示 T = TypeVar("T") @@ -12,6 +13,7 @@ logger = logging.getLogger("json_utils") def safe_json_loads(json_str: str, default_value: T = None) -> Union[Any, T]: """ 安全地解析JSON字符串,出错时返回默认值 + 现在尝试处理单引号和标准JSON 参数: json_str: 要解析的JSON字符串 @@ -20,16 +22,34 @@ def safe_json_loads(json_str: str, default_value: T = None) -> Union[Any, T]: 返回: 解析后的Python对象,或在解析失败时返回default_value """ - if not json_str: + if not json_str or not isinstance(json_str, str): + logger.warning(f"safe_json_loads 接收到非字符串输入: {type(json_str)}, 值: {json_str}") return default_value try: + # 尝试标准的 JSON 解析 return json.loads(json_str) - except json.JSONDecodeError as e: - logger.error(f"JSON解析失败: {e}, JSON字符串: {json_str[:100]}...") - return default_value + except json.JSONDecodeError: + # 如果标准解析失败,尝试将单引号替换为双引号再解析 + # (注意:这种替换可能不安全,如果字符串内容本身包含引号) + # 更安全的方式是用 ast.literal_eval + try: + # logger.debug(f"标准JSON解析失败,尝试用 ast.literal_eval 解析: {json_str[:100]}...") + result = ast.literal_eval(json_str) + # 确保结果是字典(因为我们通常期望参数是字典) + if isinstance(result, dict): + return result + else: + logger.warning(f"ast.literal_eval 解析成功但结果不是字典: {type(result)}, 内容: {result}") + return default_value + except (ValueError, SyntaxError, MemoryError, RecursionError) as ast_e: + logger.error(f"使用 ast.literal_eval 解析失败: {ast_e}, 字符串: {json_str[:100]}...") + return default_value + except Exception as e: + logger.error(f"使用 ast.literal_eval 解析时发生意外错误: {e}, 字符串: {json_str[:100]}...") + return default_value except Exception as e: - logger.error(f"JSON解析过程中发生意外错误: {e}") + logger.error(f"JSON解析过程中发生意外错误: {e}, 字符串: {json_str[:100]}...") return default_value @@ -177,25 +197,27 @@ def process_llm_tool_calls( if "name" not in func_details or not isinstance(func_details.get("name"), str): logger.warning(f"{log_prefix}工具调用[{i}]的'function'字段缺少'name'或类型不正确: {func_details}") continue - if "arguments" not in func_details or not isinstance( - func_details.get("arguments"), str - ): # 参数是字符串形式的JSON - logger.warning(f"{log_prefix}工具调用[{i}]的'function'字段缺少'arguments'或类型不正确: {func_details}") - continue - # 可选:尝试解析参数JSON,确保其有效 - args_str = func_details["arguments"] - try: - json.loads(args_str) # 尝试解析,但不存储结果 - except json.JSONDecodeError as e: + # 验证参数 'arguments' + args_value = func_details.get("arguments") + + # 1. 检查 arguments 是否存在且是字符串 + if args_value is None or not isinstance(args_value, str): + logger.warning(f"{log_prefix}工具调用[{i}]的'function'字段缺少'arguments'字符串: {func_details}") + continue + + # 2. 尝试安全地解析 arguments 字符串 + parsed_args = safe_json_loads(args_value, None) + + # 3. 检查解析结果是否为字典 + if parsed_args is None or not isinstance(parsed_args, dict): logger.warning( - f"{log_prefix}工具调用[{i}]的'arguments'不是有效的JSON字符串: {e}, 内容: {args_str[:100]}..." + f"{log_prefix}工具调用[{i}]的'arguments'无法解析为有效的JSON字典, " + f"原始字符串: {args_value[:100]}..., 解析结果类型: {type(parsed_args).__name__}" ) continue - except Exception as e: - logger.warning(f"{log_prefix}解析工具调用[{i}]的'arguments'时发生意外错误: {e}, 内容: {args_str[:100]}...") - continue + # 如果检查通过,将原始的 tool_call 加入有效列表 valid_tool_calls.append(tool_call) if not valid_tool_calls and tool_calls: # 如果原始列表不为空,但验证后为空 From bbbbe4147662dbdab9755bb0db84ed4739ee18c9 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Wed, 30 Apr 2025 18:49:49 +0800 Subject: [PATCH 33/43] fr --- src/plugins/emoji_system/emoji_manager.py | 22 ++++++++++++---------- src/plugins/utils/json_utils.py | 10 +++++----- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 5bfd29456..72169bc44 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -269,7 +269,7 @@ class EmojiManager: """ try: self._ensure_db() - time_start = time.time() + _time_start = time.time() # 获取所有表情包 all_emojis = self.emoji_objects @@ -287,38 +287,40 @@ class EmojiManager: # 计算与每个emotion标签的相似度,取最大值 max_similarity = 0 - best_matching_emotion = "" # 记录最匹配的 emotion 喵~ + best_matching_emotion = "" # 记录最匹配的 emotion 喵~ for emotion in emotions: # 使用编辑距离计算相似度 distance = self._levenshtein_distance(text_emotion, emotion) max_len = max(len(text_emotion), len(emotion)) similarity = 1 - (distance / max_len if max_len > 0 else 0) - if similarity > max_similarity: # 如果找到更相似的喵~ + if similarity > max_similarity: # 如果找到更相似的喵~ max_similarity = similarity - best_matching_emotion = emotion # 就记下这个 emotion 喵~ + best_matching_emotion = emotion # 就记下这个 emotion 喵~ - if best_matching_emotion: # 确保有匹配的情感才添加喵~ - emoji_similarities.append((emoji, max_similarity, best_matching_emotion)) # 把 emotion 也存起来喵~ + if best_matching_emotion: # 确保有匹配的情感才添加喵~ + emoji_similarities.append((emoji, max_similarity, best_matching_emotion)) # 把 emotion 也存起来喵~ # 按相似度降序排序 emoji_similarities.sort(key=lambda x: x[1], reverse=True) # 获取前10个最相似的表情包 - top_emojis = emoji_similarities[:10] if len(emoji_similarities) > 10 else emoji_similarities # 改个名字,更清晰喵~ + top_emojis = ( + emoji_similarities[:10] if len(emoji_similarities) > 10 else emoji_similarities + ) # 改个名字,更清晰喵~ if not top_emojis: logger.warning("未找到匹配的表情包") return None # 从前几个中随机选择一个 - selected_emoji, similarity, matched_emotion = random.choice(top_emojis) # 把匹配的 emotion 也拿出来喵~ + selected_emoji, similarity, matched_emotion = random.choice(top_emojis) # 把匹配的 emotion 也拿出来喵~ # 更新使用次数 self.record_usage(selected_emoji.hash) - time_end = time.time() + _time_end = time.time() - logger.info( # 使用匹配到的 emotion 记录日志喵~ + logger.info( # 使用匹配到的 emotion 记录日志喵~ f"为[{text_emotion}]找到表情包: {matched_emotion},({similarity:.4f})" ) return selected_emoji.path, f"[ {selected_emoji.description} ]" diff --git a/src/plugins/utils/json_utils.py b/src/plugins/utils/json_utils.py index 52695e1ac..6226e6e96 100644 --- a/src/plugins/utils/json_utils.py +++ b/src/plugins/utils/json_utils.py @@ -38,10 +38,10 @@ def safe_json_loads(json_str: str, default_value: T = None) -> Union[Any, T]: result = ast.literal_eval(json_str) # 确保结果是字典(因为我们通常期望参数是字典) if isinstance(result, dict): - return result + return result else: - logger.warning(f"ast.literal_eval 解析成功但结果不是字典: {type(result)}, 内容: {result}") - return default_value + logger.warning(f"ast.literal_eval 解析成功但结果不是字典: {type(result)}, 内容: {result}") + return default_value except (ValueError, SyntaxError, MemoryError, RecursionError) as ast_e: logger.error(f"使用 ast.literal_eval 解析失败: {ast_e}, 字符串: {json_str[:100]}...") return default_value @@ -203,8 +203,8 @@ def process_llm_tool_calls( # 1. 检查 arguments 是否存在且是字符串 if args_value is None or not isinstance(args_value, str): - logger.warning(f"{log_prefix}工具调用[{i}]的'function'字段缺少'arguments'字符串: {func_details}") - continue + logger.warning(f"{log_prefix}工具调用[{i}]的'function'字段缺少'arguments'字符串: {func_details}") + continue # 2. 尝试安全地解析 arguments 字符串 parsed_args = safe_json_loads(args_value, None) From 6db8dc01d5b962380a550b70e13c57eaaebeb3b1 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 01:21:48 +0800 Subject: [PATCH 34/43] =?UTF-8?q?feat=EF=BC=9A=E9=87=87=E7=94=A8=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E8=BE=93=E5=87=BA=E6=B3=95=E6=9E=84=E5=BB=BA=E5=8A=A8?= =?UTF-8?q?=E4=BD=9Cplanner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/logger.py | 4 +- src/heart_flow/mai_state_manager.py | 7 +- src/heart_flow/sub_heartflow.py | 2 +- src/plugins/heartFC_chat/heartFC_chat.py | 327 ++++++++---------- .../heartFC_chat/heartflow_prompt_builder.py | 47 ++- 5 files changed, 192 insertions(+), 195 deletions(-) diff --git a/src/common/logger.py b/src/common/logger.py index b5317d58b..12a9c1356 100644 --- a/src/common/logger.py +++ b/src/common/logger.py @@ -634,12 +634,14 @@ HFC_STYLE_CONFIG = { }, "simple": { "console_format": ( - "{time:MM-DD HH:mm} | 专注聊天 | {message}" + "{time:MM-DD HH:mm} | 专注聊天 | {message}" ), "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 专注聊天 | {message}", }, } + + CONFIRM_STYLE_CONFIG = { "console_format": "{message}", # noqa: E501 "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | EULA与PRIVACY确认 | {message}", diff --git a/src/heart_flow/mai_state_manager.py b/src/heart_flow/mai_state_manager.py index cd7393445..20f8f8ad0 100644 --- a/src/heart_flow/mai_state_manager.py +++ b/src/heart_flow/mai_state_manager.py @@ -10,8 +10,11 @@ logger = get_logger("mai_state") # -- 状态相关的可配置参数 (可以从 glocal_config 加载) -- -# enable_unlimited_hfc_chat = True # 调试用:无限专注聊天 -enable_unlimited_hfc_chat = False +# The line `enable_unlimited_hfc_chat = False` is setting a configuration parameter that controls +# whether a specific debugging feature is enabled or not. When `enable_unlimited_hfc_chat` is set to +# `False`, it means that the debugging feature for unlimited focused chatting is disabled. +enable_unlimited_hfc_chat = True # 调试用:无限专注聊天 +# enable_unlimited_hfc_chat = False prevent_offline_state = True # 目前默认不启用OFFLINE状态 diff --git a/src/heart_flow/sub_heartflow.py b/src/heart_flow/sub_heartflow.py index 4a48e977c..291800cf0 100644 --- a/src/heart_flow/sub_heartflow.py +++ b/src/heart_flow/sub_heartflow.py @@ -18,7 +18,7 @@ from src.heart_flow.sub_mind import SubMind # 定义常量 (从 interest.py 移动过来) MAX_INTEREST = 15.0 -logger = get_logger("subheartflow") +logger = get_logger("sub_heartflow") PROBABILITY_INCREASE_RATE_PER_SECOND = 0.1 PROBABILITY_DECREASE_RATE_PER_SECOND = 0.1 diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index bfdf2d6ae..5b1e31515 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -2,6 +2,7 @@ import asyncio import time import traceback import random # <--- 添加导入 +import json # <--- 确保导入 json from typing import List, Optional, Dict, Any, Deque, Callable, Coroutine from collections import deque from src.plugins.chat.message import MessageRecv, BaseMessageInfo, MessageThinking, MessageSending @@ -37,7 +38,7 @@ EMOJI_SEND_PRO = 0.3 # 设置一个概率,比如 30% 才真的发 CONSECUTIVE_NO_REPLY_THRESHOLD = 3 # 连续不回复的阈值 -logger = get_logger("HFC") # Logger Name Changed +logger = get_logger("hfc") # Logger Name Changed # 默认动作定义 @@ -119,35 +120,6 @@ class ActionManager: """重置为默认动作集""" self._available_actions = DEFAULT_ACTIONS.copy() - def get_planner_tool_definition(self) -> List[Dict[str, Any]]: - """获取当前动作集对应的规划器工具定义""" - return [ - { - "type": "function", - "function": { - "name": "decide_reply_action", - "description": "根据当前聊天内容和上下文,决定机器人是否应该回复以及如何回复。", - "parameters": { - "type": "object", - "properties": { - "action": { - "type": "string", - "enum": list(self._available_actions.keys()), - "description": "决定采取的行动:" - + ", ".join([f"'{k}'({v})" for k, v in self._available_actions.items()]), - }, - "reasoning": {"type": "string", "description": "做出此决定的简要理由。"}, - "emoji_query": { - "type": "string", - "description": "如果行动是'emoji_reply',指定表情的主题或概念。如果行动是'text_reply'且希望在文本后追加表情,也在此指定表情主题。", - }, - }, - "required": ["action", "reasoning"], - }, - }, - } - ] - # 在文件开头添加自定义异常类 class HeartFCError(Exception): @@ -222,7 +194,6 @@ class HeartFChatting: max_tokens=256, request_type="response_heartflow", ) - self.tool_user = ToolUser() self.heart_fc_sender = HeartFCSender() # LLM规划器配置 @@ -784,225 +755,208 @@ class HeartFChatting: async def _planner(self, current_mind: str, cycle_timers: dict, is_re_planned: bool = False) -> Dict[str, Any]: """ 规划器 (Planner): 使用LLM根据上下文决定是否和如何回复。 + 重构为:让LLM返回结构化JSON文本,然后在代码中解析。 参数: current_mind: 子思维的当前思考结果 cycle_timers: 计时器字典 - is_re_planned: 是否为重新规划 + is_re_planned: 是否为重新规划 (此重构中暂时简化,不处理 is_re_planned 的特殊逻辑) """ - logger.info(f"{self.log_prefix}[Planner] 开始{'重新' if is_re_planned else ''}执行规划器") + logger.info(f"{self.log_prefix}[Planner] 开始执行规划器 (JSON解析模式)") - # --- 新增:检查历史动作并调整可用动作 --- - lian_xu_wen_ben_hui_fu = 0 # 连续文本回复次数 actions_to_remove_temporarily = [] - probability_roll = random.random() # 在循环外掷骰子一次,用于概率判断 - - # 反向遍历最近的循环历史 + # --- 检查历史动作并决定临时移除动作 (逻辑保持不变) --- + lian_xu_wen_ben_hui_fu = 0 + probability_roll = random.random() for cycle in reversed(self._cycle_history): - # 只关心实际执行了动作的循环 if cycle.action_taken: if cycle.action_type == "text_reply": lian_xu_wen_ben_hui_fu += 1 else: - break # 遇到非文本回复,中断计数 - # 检查最近的3个循环即可,避免检查过多历史 (如果历史很长) + break if len(self._cycle_history) > 0 and cycle.cycle_id <= self._cycle_history[0].cycle_id + ( len(self._cycle_history) - 4 ): break - logger.debug(f"{self.log_prefix}[Planner] 检测到连续文本回复次数: {lian_xu_wen_ben_hui_fu}") - # 根据连续次数决定临时移除哪些动作 if lian_xu_wen_ben_hui_fu >= 3: logger.info(f"{self.log_prefix}[Planner] 连续回复 >= 3 次,强制移除 text_reply 和 emoji_reply") actions_to_remove_temporarily.extend(["text_reply", "emoji_reply"]) elif lian_xu_wen_ben_hui_fu == 2: - if probability_roll < 0.8: # 80% 概率 + if probability_roll < 0.8: logger.info(f"{self.log_prefix}[Planner] 连续回复 2 次,80% 概率移除 text_reply 和 emoji_reply (触发)") actions_to_remove_temporarily.extend(["text_reply", "emoji_reply"]) else: - logger.info( - f"{self.log_prefix}[Planner] 连续回复 2 次,80% 概率移除 text_reply 和 emoji_reply (未触发)" - ) + logger.info(f"{self.log_prefix}[Planner] 连续回复 2 次,80% 概率移除 text_reply 和 emoji_reply (未触发)") elif lian_xu_wen_ben_hui_fu == 1: - if probability_roll < 0.4: # 40% 概率 + if probability_roll < 0.4: logger.info(f"{self.log_prefix}[Planner] 连续回复 1 次,40% 概率移除 text_reply (触发)") actions_to_remove_temporarily.append("text_reply") else: logger.info(f"{self.log_prefix}[Planner] 连续回复 1 次,40% 概率移除 text_reply (未触发)") - # 如果 lian_xu_wen_ben_hui_fu == 0,则不移除任何动作 - # --- 结束:检查历史动作 --- + # --- 结束检查历史动作 --- # 获取观察信息 observation = self.observations[0] - if is_re_planned: - await observation.observe() + # if is_re_planned: # 暂时简化,不处理重新规划 + # await observation.observe() observed_messages = observation.talking_message observed_messages_str = observation.talking_message_str_truncate - # --- 使用 LLM 进行决策 --- # - reasoning = "默认决策或获取决策失败" - llm_error = False # LLM错误标志 - arguments = None # 初始化参数变量 - emoji_query = "" # <--- 在这里初始化 emoji_query + # --- 使用 LLM 进行决策 (JSON 输出模式) --- # + action = "no_reply" # 默认动作 + reasoning = "规划器初始化默认" + emoji_query = "" + llm_error = False # LLM 请求或解析错误标志 + + # 获取我们将传递给 prompt 构建器和用于验证的当前可用动作 + current_available_actions = self.action_manager.get_available_actions() try: - # --- 新增:应用临时动作移除 --- + # --- 应用临时动作移除 --- if actions_to_remove_temporarily: self.action_manager.temporarily_remove_actions(actions_to_remove_temporarily) + # 更新 current_available_actions 以反映移除后的状态 + current_available_actions = self.action_manager.get_available_actions() logger.debug( - f"{self.log_prefix}[Planner] 临时移除的动作: {actions_to_remove_temporarily}, 当前可用: {list(self.action_manager.get_available_actions().keys())}" + f"{self.log_prefix}[Planner] 临时移除的动作: {actions_to_remove_temporarily}, 当前可用: {list(current_available_actions.keys())}" ) - # --- 构建提示词 --- - replan_prompt_str = "" - if is_re_planned: - replan_prompt_str = await self._build_replan_prompt( - self._current_cycle.action_type, self._current_cycle.reasoning - ) + # --- 构建提示词 (调用修改后的 _build_planner_prompt) --- + # replan_prompt_str = "" # 暂时简化 + # if is_re_planned: + # replan_prompt_str = await self._build_replan_prompt( + # self._current_cycle.action_type, self._current_cycle.reasoning + # ) prompt = await self._build_planner_prompt( - observed_messages_str, current_mind, self.sub_mind.structured_info, replan_prompt_str + observed_messages_str, + current_mind, + self.sub_mind.structured_info, + "", # replan_prompt_str, + current_available_actions # <--- 传入当前可用动作 ) - # --- 调用 LLM --- + # --- 调用 LLM (普通文本生成) --- + llm_content = None try: - planner_tools = self.action_manager.get_planner_tool_definition() - logger.debug(f"{self.log_prefix}[Planner] 本次使用的工具定义: {planner_tools}") # 记录本次使用的工具 - _response_text, _reasoning_content, tool_calls = await self.planner_llm.generate_response_tool_async( - prompt=prompt, - tools=planner_tools, - ) - logger.debug(f"{self.log_prefix}[Planner] 原始人 LLM响应: {_response_text}") + # 假设 LLMRequest 有 generate_response 方法返回 (content, reasoning, model_name) + # 我们只需要 content + # !! 注意:这里假设 self.planner_llm 有 generate_response 方法 + # !! 如果你的 LLMRequest 类使用的是其他方法名,请相应修改 + llm_content, _, _ = await self.planner_llm.generate_response(prompt=prompt) + logger.debug(f"{self.log_prefix}[Planner] LLM 原始 JSON 响应 (预期): {llm_content}") except Exception as req_e: - logger.error(f"{self.log_prefix}[Planner] LLM请求执行失败: {req_e}") - action = "error" - reasoning = f"LLM请求失败: {req_e}" + logger.error(f"{self.log_prefix}[Planner] LLM 请求执行失败: {req_e}") + reasoning = f"LLM 请求失败: {req_e}" llm_error = True - # 直接返回错误结果 - return { - "action": action, - "reasoning": reasoning, - "emoji_query": "", - "current_mind": current_mind, - "observed_messages": observed_messages, - "llm_error": llm_error, - } + # 直接使用默认动作返回错误结果 + action = "no_reply" # 明确设置为默认值 + emoji_query = "" # 明确设置为空 + # 不再立即返回,而是继续执行 finally 块以恢复动作 + # return { ... } - # 默认错误状态 - action = "error" - reasoning = "处理工具调用时出错" - llm_error = True + # --- 解析 LLM 返回的 JSON (仅当 LLM 请求未出错时进行) --- + if not llm_error and llm_content: + try: + # 尝试去除可能的 markdown 代码块标记 + cleaned_content = llm_content.strip().removeprefix("```json").removeprefix("```").removesuffix("```").strip() + if not cleaned_content: + raise json.JSONDecodeError("Cleaned content is empty", cleaned_content, 0) + parsed_json = json.loads(cleaned_content) - # 1. 验证工具调用 - success, valid_tool_calls, error_msg = process_llm_tool_calls( - tool_calls, log_prefix=f"{self.log_prefix}[Planner] " - ) + # 提取决策,提供默认值 + extracted_action = parsed_json.get("action", "no_reply") + extracted_reasoning = parsed_json.get("reasoning", "LLM未提供理由") + extracted_emoji_query = parsed_json.get("emoji_query", "") - if success and valid_tool_calls: - # 2. 提取第一个调用并获取参数 - first_tool_call = valid_tool_calls[0] - tool_name = first_tool_call.get("function", {}).get("name") - arguments = extract_tool_call_arguments(first_tool_call, None) - - # 3. 检查名称和参数 - expected_tool_name = "decide_reply_action" - if tool_name == expected_tool_name and arguments is not None: - # 4. 成功,提取决策 - extracted_action = arguments.get("action", "no_reply") - # 验证动作 - if extracted_action not in self.action_manager.get_available_actions(): - # 如果LLM返回了一个此时不该用的动作(因为被临时移除了) - # 或者完全无效的动作 + # 验证动作是否在当前可用列表中 + # !! 使用调用 prompt 时实际可用的动作列表进行验证 + if extracted_action not in current_available_actions: logger.warning( - f"{self.log_prefix}[Planner] LLM返回了当前不可用或无效的动作: {extracted_action},将强制使用 'no_reply'" + f"{self.log_prefix}[Planner] LLM 返回了当前不可用或无效的动作: '{extracted_action}' (可用: {list(current_available_actions.keys())}),将强制使用 'no_reply'" ) action = "no_reply" - reasoning = f"LLM返回了当前不可用的动作: {extracted_action}" + reasoning = f"LLM 返回了当前不可用的动作 '{extracted_action}' (可用: {list(current_available_actions.keys())})。原始理由: {extracted_reasoning}" emoji_query = "" - llm_error = False # 视为逻辑修正而非 LLM 错误 - # --- 检查 'no_reply' 是否也恰好被移除了 (极端情况) --- - if "no_reply" not in self.action_manager.get_available_actions(): - logger.error( - f"{self.log_prefix}[Planner] 严重错误:'no_reply' 动作也不可用!无法执行任何动作。" - ) - action = "error" # 回退到错误状态 - reasoning = "无法执行任何有效动作,包括 no_reply" - llm_error = True + # 检查 no_reply 是否也恰好被移除了 (极端情况) + if "no_reply" not in current_available_actions: + logger.error(f"{self.log_prefix}[Planner] 严重错误:'no_reply' 动作也不可用!无法执行任何动作。") + action = "error" # 回退到错误状态 + reasoning = "无法执行任何有效动作,包括 no_reply" + llm_error = True # 标记为严重错误 + else: + llm_error = False # 视为逻辑修正而非 LLM 错误 else: - # 动作有效且可用,使用提取的值 + # 动作有效且可用 action = extracted_action - reasoning = arguments.get("reasoning", "未提供理由") - emoji_query = arguments.get("emoji_query", "") - llm_error = False # 成功处理 - # 记录决策结果 + reasoning = extracted_reasoning + emoji_query = extracted_emoji_query + llm_error = False # 解析成功 logger.debug( - f"{self.log_prefix}[要做什么]\nPrompt:\n{prompt}\n\n决策结果: {action}, 理由: {reasoning}, 表情查询: '{emoji_query}'" + f"{self.log_prefix}[要做什么]\nPrompt:\n{prompt}\n\n决策结果 (来自JSON): {action}, 理由: {reasoning}, 表情查询: '{emoji_query}'" ) - elif tool_name != expected_tool_name: - reasoning = f"LLM返回了非预期的工具: {tool_name}" - logger.warning(f"{self.log_prefix}[Planner] {reasoning}") - else: # arguments is None - reasoning = f"无法提取工具 {tool_name} 的参数" - logger.warning(f"{self.log_prefix}[Planner] {reasoning}") - elif not success: - reasoning = f"验证工具调用失败: {error_msg}" - logger.warning(f"{self.log_prefix}[Planner] {reasoning}") - else: # not valid_tool_calls - # 如果没有有效的工具调用,我们需要检查 'no_reply' 是否是当前唯一可用的动作 - available_actions = list(self.action_manager.get_available_actions().keys()) - if available_actions == ["no_reply"]: - logger.info( - f"{self.log_prefix}[Planner] LLM未返回工具调用,但当前唯一可用动作是 'no_reply',将执行 'no_reply'" - ) - action = "no_reply" - reasoning = "LLM未返回工具调用,且当前仅 'no_reply' 可用" - emoji_query = "" - llm_error = False # 视为逻辑选择而非错误 - else: - reasoning = "LLM未返回有效的工具调用" - logger.warning(f"{self.log_prefix}[Planner] {reasoning}") - # llm_error 保持为 True - # 如果 llm_error 仍然是 True,说明在处理过程中有错误发生 - except Exception as llm_e: - logger.error(f"{self.log_prefix}[Planner] Planner LLM处理过程中发生意外错误: {llm_e}") + except json.JSONDecodeError as json_e: + logger.warning(f"{self.log_prefix}[Planner] 解析LLM响应JSON失败: {json_e}. LLM原始输出: '{llm_content}'") + reasoning = f"解析LLM响应JSON失败: {json_e}. 将使用默认动作 'no_reply'." + action = "no_reply" # 解析失败则默认不回复 + emoji_query = "" + llm_error = True # 标记解析错误 + except Exception as parse_e: + logger.error(f"{self.log_prefix}[Planner] 处理LLM响应时发生意外错误: {parse_e}") + reasoning = f"处理LLM响应时发生意外错误: {parse_e}. 将使用默认动作 'no_reply'." + action = "no_reply" + emoji_query = "" + llm_error = True + elif not llm_error and not llm_content: + # LLM 请求成功但返回空内容 + logger.warning(f"{self.log_prefix}[Planner] LLM 返回了空内容。") + reasoning = "LLM 返回了空内容,使用默认动作 'no_reply'." + action = "no_reply" + emoji_query = "" + llm_error = True # 标记为空响应错误 + + # 如果 llm_error 在此阶段为 True,意味着请求成功但解析失败或返回空 + # 如果 llm_error 在请求阶段就为 True,则跳过了此解析块 + + except Exception as outer_e: + logger.error(f"{self.log_prefix}[Planner] Planner 处理过程中发生意外错误: {outer_e}") logger.error(traceback.format_exc()) - action = "error" - reasoning = f"Planner内部处理错误: {llm_e}" + action = "error" # 发生未知错误,标记为 error 动作 + reasoning = f"Planner 内部处理错误: {outer_e}" + emoji_query = "" llm_error = True - # --- 新增:确保动作恢复 --- finally: - if actions_to_remove_temporarily: # 只有当确实移除了动作时才需要恢复 + # --- 确保动作恢复 --- + # 检查 self._original_actions_backup 是否有值来判断是否需要恢复 + if self.action_manager._original_actions_backup is not None: self.action_manager.restore_actions() logger.debug( f"{self.log_prefix}[Planner] 恢复了原始动作集, 当前可用: {list(self.action_manager.get_available_actions().keys())}" ) - # --- 结束:确保动作恢复 --- - - # --- 新增:概率性忽略文本回复附带的表情(正确的位置)--- + # --- 结束确保动作恢复 --- + # --- 概率性忽略文本回复附带的表情 (逻辑保持不变) --- if action == "text_reply" and emoji_query: - logger.debug(f"{self.log_prefix}[Planner] 大模型想让麦麦发文字时带表情: '{emoji_query}'") - # 掷骰子看看要不要听它的 + logger.debug(f"{self.log_prefix}[Planner] 大模型建议文字回复带表情: '{emoji_query}'") if random.random() > EMOJI_SEND_PRO: logger.info( f"{self.log_prefix}[Planner] 但是麦麦这次不想加表情 ({1 - EMOJI_SEND_PRO:.0%}),忽略表情 '{emoji_query}'" ) - emoji_query = "" # 把表情请求清空,就不发了 + emoji_query = "" # 清空表情请求 else: logger.info(f"{self.log_prefix}[Planner] 好吧,加上表情 '{emoji_query}'") - # --- 结束:概率性忽略 --- - - # --- 结束 LLM 决策 --- # + # --- 结束概率性忽略 --- + # 返回结果字典 return { "action": action, "reasoning": reasoning, "emoji_query": emoji_query, "current_mind": current_mind, "observed_messages": observed_messages, - "llm_error": llm_error, + "llm_error": llm_error, # 返回错误状态 } async def _get_anchor_message(self) -> Optional[MessageRecv]: @@ -1146,8 +1100,9 @@ class HeartFChatting: current_mind: Optional[str], structured_info: Dict[str, Any], replan_prompt: str, + current_available_actions: Dict[str, str], ) -> str: - """构建 Planner LLM 的提示词""" + """构建 Planner LLM 的提示词 (获取模板并填充数据)""" try: # 准备结构化信息块 structured_info_block = "" @@ -1163,12 +1118,13 @@ class HeartFChatting: else: chat_content_block = "当前没有观察到新的聊天内容。\n" - # 准备当前思维块 + # 准备当前思维块 (修改以匹配模板) current_mind_block = "" if current_mind: - current_mind_block = f"{current_mind}" + # 模板中占位符是 {current_mind_block},它期望包含"你的内心想法:"的前缀 + current_mind_block = f"你的内心想法:\n{current_mind}" else: - current_mind_block = "[没有特别的想法]" + current_mind_block = "你的内心想法:\n[没有特别的想法]" # 准备循环信息块 (分析最近的活动循环) recent_active_cycles = [] @@ -1208,23 +1164,40 @@ class HeartFChatting: # 包装提示块,增加可读性,即使没有连续回复也给个标记 if cycle_info_block: + # 模板中占位符是 {cycle_info_block},它期望包含"【近期回复历史】"的前缀 cycle_info_block = f"\n【近期回复历史】\n{cycle_info_block}\n" else: # 如果最近的活动循环不是文本回复,或者没有活动循环 cycle_info_block = "\n【近期回复历史】\n(最近没有连续文本回复)\n" individuality = Individuality.get_instance() + # 模板中占位符是 {prompt_personality} prompt_personality = individuality.get_prompt(x_person=2, level=2) - # 获取提示词模板并填充数据 - prompt = (await global_prompt_manager.get_prompt_async("planner_prompt")).format( + # --- 构建可用动作描述 (用于填充模板中的 {action_options_text}) --- + action_options_text = "当前你可以选择的行动有:\n" + action_keys = list(current_available_actions.keys()) + for name in action_keys: + desc = current_available_actions[name] + action_options_text += f"- '{name}': {desc}\n" + + # --- 选择一个示例动作键 (用于填充模板中的 {example_action}) --- + example_action_key = action_keys[0] if action_keys else "no_reply" + + # --- 获取提示词模板 --- + planner_prompt_template = await global_prompt_manager.get_prompt_async("planner_prompt") + + # --- 填充模板 --- + prompt = planner_prompt_template.format( bot_name=global_config.BOT_NICKNAME, prompt_personality=prompt_personality, structured_info_block=structured_info_block, chat_content_block=chat_content_block, - current_mind_block=current_mind_block, - replan=replan_prompt, + current_mind_block=current_mind_block, + replan="", # 暂时留空 replan 信息 cycle_info_block=cycle_info_block, + action_options_text=action_options_text, # 传入可用动作描述 + example_action=example_action_key # 传入示例动作键 ) return prompt @@ -1232,7 +1205,7 @@ class HeartFChatting: except Exception as e: logger.error(f"{self.log_prefix}[Planner] 构建提示词时出错: {e}") logger.error(traceback.format_exc()) - return "" + return "[构建 Planner Prompt 时出错]" # 返回错误提示,避免空字符串 # --- 回复器 (Replier) 的定义 --- # async def _replier_work( @@ -1273,7 +1246,7 @@ class HeartFChatting: try: with Timer("LLM生成", {}): # 内部计时器,可选保留 content, reasoning_content, model_name = await self.model_normal.generate_response(prompt) - logger.info(f"{self.log_prefix}[Replier-{thinking_id}]\\nPrompt:\\n{prompt}\\n生成回复: {content}\\n") + # logger.info(f"{self.log_prefix}[Replier-{thinking_id}]\\nPrompt:\\n{prompt}\\n生成回复: {content}\\n") # 捕捉 LLM 输出信息 info_catcher.catch_after_llm_generated( prompt=prompt, response=content, reasoning_content=reasoning_content, model_name=model_name diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index 69bae0411..7cb847e0a 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -7,13 +7,14 @@ from src.plugins.utils.chat_message_builder import build_readable_messages, get_ from src.plugins.person_info.relationship_manager import relationship_manager from src.plugins.chat.utils import get_embedding import time -from typing import Union, Optional +from typing import Union, Optional, Dict, Any from ...common.database import db from ..chat.utils import get_recent_group_speaker from ..moods.moods import MoodManager from ..memory_system.Hippocampus import HippocampusManager from ..schedule.schedule_generator import bot_schedule from ..knowledge.knowledge_lib import qa_manager +import traceback logger = get_logger("prompt") @@ -47,17 +48,15 @@ def init_prompt(): "info_from_tools", ) - # Planner提示词 - 优化版 + # Planner提示词 - 修改为要求 JSON 输出 Prompt( - """你的名字是{bot_name},{prompt_personality},你现在正在一个群聊中。需要基于以下信息决定如何参与对话: + '''你的名字是{bot_name},{prompt_personality},你现在正在一个群聊中。需要基于以下信息决定如何参与对话: {structured_info_block} {chat_content_block} -你的内心想法: {current_mind_block} -{replan} {cycle_info_block} -请综合分析聊天内容和你看到的新消息,参考内心想法,使用'decide_reply_action'工具做出决策。决策时请注意: +请综合分析聊天内容和你看到的新消息,参考内心想法,并根据以下原则和可用动作做出决策。 【回复原则】 1. 不回复(no_reply)适用: @@ -81,14 +80,34 @@ def init_prompt(): - 避免重复或评价自己的发言 - 不要和自己聊天 -【必须遵守】 -- 遵守回复原则 -- 必须调用工具并包含action和reasoning -- 你可以选择文字回复(text_reply),纯表情回复(emoji_reply),不回复(no_reply) -- 并不是所有选择都可用 -- 选择text_reply或emoji_reply时必须提供emoji_query -- 保持回复自然,符合日常聊天习惯""", - "planner_prompt", +【决策任务】 +{action_options_text} + +你必须从上面列出的可用行动中选择一个,并说明原因。 +你的决策必须以严格的 JSON 格式输出,且仅包含 JSON 内容,不要有任何其他文字或解释。 +JSON 结构如下,包含三个字段 "action", "reasoning", "emoji_query": +{{ + "action": "string", // 必须是上面提供的可用行动之一 (例如: '{example_action}') + "reasoning": "string", // 做出此决定的详细理由和思考过程,说明你如何应用了回复原则 + "emoji_query": "string" // 可选。如果行动是 'emoji_reply',必须提供表情主题;如果行动是 'text_reply' 且你想附带表情,也在此提供表情主题,否则留空字符串 ""。遵循回复原则,不要滥用。 +}} + +例如: +{{ + "action": "text_reply", + "reasoning": "用户提到了我,且问题比较具体,适合用文本回复。考虑到内容,可以带上一个微笑表情。", + "emoji_query": "微笑" +}} +或 +{{ + "action": "no_reply", + "reasoning": "我已经连续回复了两次,而且这个话题我不太感兴趣,根据回复原则,选择不回复,等待其他人发言。", + "emoji_query": "" +}} + +请输出你的决策 JSON: +''', # 使用三引号避免内部引号问题 + "planner_prompt", # 保持名称不变,替换内容 ) Prompt( From 0b62802c2c479c4e2e57753b4f2c7f04cca2750c Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 01:40:12 +0800 Subject: [PATCH 35/43] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E4=BA=86?= =?UTF-8?q?=E8=A1=A8=E6=83=85=E5=8C=85=E6=B3=A8=E5=86=8C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/emoji_system/emoji_manager.py | 490 +++++++++++++++------- 1 file changed, 333 insertions(+), 157 deletions(-) diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 72169bc44..62b2712ca 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -34,9 +34,12 @@ MAX_EMOJI_FOR_PROMPT = 20 # 最大允许的表情包描述数量于图片替换 class MaiEmoji: """定义一个表情包""" - def __init__(self, filename: str, path: str): - self.path = path # 存储目录路径 - self.filename = filename + def __init__(self, full_path: str): + if not full_path: + raise ValueError("full_path cannot be empty") + self.full_path = full_path # 文件的完整路径 (包括文件名) + self.path = os.path.dirname(full_path) # 文件所在的目录路径 + self.filename = os.path.basename(full_path) # 文件名 self.embedding = [] self.hash = "" # 初始为空,在创建实例时会计算 self.description = "" @@ -48,35 +51,58 @@ class MaiEmoji: self.format = "" async def initialize_hash_format(self): - """从文件创建表情包实例 - - 参数: - file_path: 文件的完整路径 - - 返回: - MaiEmoji: 创建的表情包实例,如果失败则返回None - """ + """从文件创建表情包实例, 计算哈希值和格式""" + image_base64 = None + image_bytes = None try: - file_path = os.path.join(self.path, self.filename) - if not os.path.exists(file_path): - logger.error(f"[错误] 表情包文件不存在: {file_path}") + # 使用 full_path 检查文件是否存在 + if not os.path.exists(self.full_path): + logger.error(f"[初始化错误] 表情包文件不存在: {self.full_path}") + self.is_deleted = True return None - image_base64 = image_path_to_base64(file_path) + # 使用 full_path 读取文件 + logger.debug(f"[初始化] 正在读取文件: {self.full_path}") + image_base64 = image_path_to_base64(self.full_path) if image_base64 is None: - logger.error(f"[错误] 无法读取图片: {file_path}") + logger.error(f"[初始化错误] 无法读取或转换Base64: {self.full_path}") + self.is_deleted = True return None + logger.debug(f"[初始化] 文件读取成功 (Base64预览: {image_base64[:50]}...)") # 计算哈希值 + logger.debug(f"[初始化] 正在解码Base64并计算哈希: {self.filename}") image_bytes = base64.b64decode(image_base64) self.hash = hashlib.md5(image_bytes).hexdigest() + logger.debug(f"[初始化] 哈希计算成功: {self.hash}") # 获取图片格式 - self.format = Image.open(io.BytesIO(image_bytes)).format.lower() + logger.debug(f"[初始化] 正在使用Pillow获取格式: {self.filename}") + try: + with Image.open(io.BytesIO(image_bytes)) as img: + self.format = img.format.lower() + logger.debug(f"[初始化] 格式获取成功: {self.format}") + except Exception as pil_error: + logger.error(f"[初始化错误] Pillow无法处理图片 ({self.filename}): {pil_error}") + logger.error(traceback.format_exc()) + self.is_deleted = True + return None + # 如果所有步骤成功,返回 True + return True + + except FileNotFoundError: + logger.error(f"[初始化错误] 文件在处理过程中丢失: {self.full_path}") + self.is_deleted = True + return None + except base64.binascii.Error as b64_error: + logger.error(f"[初始化错误] Base64解码失败 ({self.filename}): {b64_error}") + self.is_deleted = True + return None except Exception as e: - logger.error(f"[错误] 初始化表情包失败: {str(e)}") + logger.error(f"[初始化错误] 初始化表情包时发生未预期错误 ({self.filename}): {str(e)}") logger.error(traceback.format_exc()) + self.is_deleted = True return None async def register_to_db(self): @@ -87,44 +113,47 @@ class MaiEmoji: """ try: # 确保目标目录存在 - os.makedirs(EMOJI_REGISTED_DIR, exist_ok=True) - # 源路径是当前实例的完整路径 - source_path = os.path.join(self.path, self.filename) - # 目标路径 - destination_path = os.path.join(EMOJI_REGISTED_DIR, self.filename) + # 源路径是当前实例的完整路径 self.full_path + source_full_path = self.full_path + # 目标完整路径 + destination_full_path = os.path.join(EMOJI_REGISTED_DIR, self.filename) # 检查源文件是否存在 - if not os.path.exists(source_path): - logger.error(f"[错误] 源文件不存在: {source_path}") + if not os.path.exists(source_full_path): + logger.error(f"[错误] 源文件不存在: {source_full_path}") return False # --- 文件移动 --- try: # 如果目标文件已存在,先删除 (确保移动成功) - if os.path.exists(destination_path): - os.remove(destination_path) + if os.path.exists(destination_full_path): + os.remove(destination_full_path) - os.rename(source_path, destination_path) - logger.debug(f"[移动] 文件从 {source_path} 移动到 {destination_path}") - # 更新实例的路径属性为新目录 + os.rename(source_full_path, destination_full_path) + logger.debug(f"[移动] 文件从 {source_full_path} 移动到 {destination_full_path}") + # 更新实例的路径属性为新路径 + self.full_path = destination_full_path self.path = EMOJI_REGISTED_DIR + # self.filename 保持不变 except Exception as move_error: logger.error(f"[错误] 移动文件失败: {str(move_error)}") - return False # 文件移动失败,不继续 + # 如果移动失败,尝试将实例状态恢复?暂时不处理,仅返回失败 + return False # --- 数据库操作 --- try: # 准备数据库记录 for emoji collection emoji_record = { "filename": self.filename, - "path": os.path.join(self.path, self.filename), # 使用更新后的路径 + "path": self.path, # 存储目录路径 + "full_path": self.full_path, # 存储完整文件路径 "embedding": self.embedding, "description": self.description, - "emotion": self.emotion, # 添加情感标签字段 + "emotion": self.emotion, "hash": self.hash, "format": self.format, - "timestamp": int(self.register_time), # 使用实例的注册时间 + "timestamp": int(self.register_time), "usage_count": self.usage_count, "last_used_time": self.last_used_time, } @@ -132,17 +161,24 @@ class MaiEmoji: # 使用upsert确保记录存在或被更新 db["emoji"].update_one({"hash": self.hash}, {"$set": emoji_record}, upsert=True) - logger.success(f"[注册] 表情包信息保存到数据库: {self.emotion}") + logger.success(f"[注册] 表情包信息保存到数据库: {self.filename} ({self.emotion})") return True except Exception as db_error: - logger.error(f"[错误] 保存数据库失败: {str(db_error)}") - # 考虑是否需要将文件移回?为了简化,暂时只记录错误 + logger.error(f"[错误] 保存数据库失败 ({self.filename}): {str(db_error)}") + # 数据库保存失败,是否需要将文件移回?为了简化,暂时只记录错误 + # 可以考虑在这里尝试删除已移动的文件,避免残留 + try: + if os.path.exists(self.full_path): # full_path 此时是目标路径 + os.remove(self.full_path) + logger.warning(f"[回滚] 已删除移动失败后残留的文件: {self.full_path}") + except Exception as remove_error: + logger.error(f"[错误] 回滚删除文件失败: {remove_error}") return False except Exception as e: - logger.error(f"[错误] 注册表情包失败: {str(e)}") + logger.error(f"[错误] 注册表情包失败 ({self.filename}): {str(e)}") logger.error(traceback.format_exc()) return False @@ -156,30 +192,34 @@ class MaiEmoji: """ try: # 1. 删除文件 - if os.path.exists(os.path.join(self.path, self.filename)): + file_to_delete = self.full_path + if os.path.exists(file_to_delete): try: - os.remove(os.path.join(self.path, self.filename)) - logger.debug(f"[删除] 文件: {os.path.join(self.path, self.filename)}") + os.remove(file_to_delete) + logger.debug(f"[删除] 文件: {file_to_delete}") except Exception as e: - logger.error(f"[错误] 删除文件失败 {os.path.join(self.path, self.filename)}: {str(e)}") - # 继续执行,即使文件删除失败也尝试删除数据库记录 + logger.error(f"[错误] 删除文件失败 {file_to_delete}: {str(e)}") + # 文件删除失败,但仍然尝试删除数据库记录 # 2. 删除数据库记录 result = db.emoji.delete_one({"hash": self.hash}) deleted_in_db = result.deleted_count > 0 if deleted_in_db: - logger.info(f"[删除] 表情包 {self.filename} 无对应文件,已删除") - + logger.info(f"[删除] 表情包数据库记录 {self.filename} (Hash: {self.hash})") # 3. 标记对象已被删除 self.is_deleted = True return True else: - logger.error(f"[错误] 删除表情包记录失败: {self.hash}") + # 如果数据库记录删除失败,但文件可能已删除,记录一个警告 + if not os.path.exists(file_to_delete): + logger.warning(f"[警告] 表情包文件 {file_to_delete} 已删除,但数据库记录删除失败 (Hash: {self.hash})") + else: + logger.error(f"[错误] 删除表情包数据库记录失败: {self.hash}") return False except Exception as e: - logger.error(f"[错误] 删除表情包失败: {str(e)}") + logger.error(f"[错误] 删除表情包失败 ({self.filename}): {str(e)}") return False @@ -209,6 +249,7 @@ class EmojiManager: def _ensure_emoji_dir(self): """确保表情存储目录存在""" os.makedirs(EMOJI_DIR, exist_ok=True) + os.makedirs(EMOJI_REGISTED_DIR, exist_ok=True) def initialize(self): """初始化数据库连接和表情目录""" @@ -265,22 +306,27 @@ class EmojiManager: Args: text_emotion: 输入的情感描述文本 Returns: - Optional[Tuple[str, str]]: (表情包文件路径, 表情包描述),如果没有找到则返回None + Optional[Tuple[str, str]]: (表情包完整文件路径, 表情包描述),如果没有找到则返回None """ try: self._ensure_db() _time_start = time.time() - # 获取所有表情包 + # 获取所有表情包 (从内存缓存中获取) all_emojis = self.emoji_objects if not all_emojis: - logger.warning("数据库中没有任何表情包") + logger.warning("内存中没有任何表情包对象") + # 可以考虑再查一次数据库?或者依赖定期任务更新 return None # 计算每个表情包与输入文本的最大情感相似度 emoji_similarities = [] for emoji in all_emojis: + # 跳过已标记为删除的对象 + if emoji.is_deleted: + continue + emotions = emoji.emotion if not emotions: continue @@ -321,9 +367,10 @@ class EmojiManager: _time_end = time.time() logger.info( # 使用匹配到的 emotion 记录日志喵~ - f"为[{text_emotion}]找到表情包: {matched_emotion},({similarity:.4f})" + f"为[{text_emotion}]找到表情包: {matched_emotion} ({selected_emoji.filename}), Similarity: {similarity:.4f}" ) - return selected_emoji.path, f"[ {selected_emoji.description} ]" + # 返回完整文件路径和描述 + return selected_emoji.full_path, f"[ {selected_emoji.description} ]" except Exception as e: logger.error(f"[错误] 获取表情包失败: {str(e)}") @@ -371,40 +418,50 @@ class EmojiManager: self.emoji_num = total_count removed_count = 0 # 使用列表复制进行遍历,因为我们会在遍历过程中修改列表 - for emoji in self.emoji_objects[:]: + objects_to_remove = [] + for emoji in self.emoji_objects: try: + # 跳过已经标记为删除的,避免重复处理 + if emoji.is_deleted: + objects_to_remove.append(emoji) # 收集起来一次性移除 + continue + # 检查文件是否存在 - if not os.path.exists(emoji.path): - logger.warning(f"[检查] 表情包文件已被删除: {emoji.path}") + if not os.path.exists(emoji.full_path): + logger.warning(f"[检查] 表情包文件丢失: {emoji.full_path}") # 执行表情包对象的删除方法 - await emoji.delete() - # 从列表中移除该对象 - self.emoji_objects.remove(emoji) + await emoji.delete() # delete 方法现在会标记 is_deleted + objects_to_remove.append(emoji) # 标记删除后,也收集起来移除 # 更新计数 self.emoji_num -= 1 removed_count += 1 continue - if emoji.description == None: - logger.warning(f"[检查] 表情包文件已被删除: {emoji.path}") - # 执行表情包对象的删除方法 + # 检查描述是否为空 (如果为空也视为无效) + if not emoji.description: + logger.warning(f"[检查] 表情包描述为空,视为无效: {emoji.filename}") await emoji.delete() - # 从列表中移除该对象 - self.emoji_objects.remove(emoji) - # 更新计数 + objects_to_remove.append(emoji) self.emoji_num -= 1 removed_count += 1 continue except Exception as item_error: - logger.error(f"[错误] 处理表情包记录时出错: {str(item_error)}") + logger.error(f"[错误] 处理表情包记录时出错 ({emoji.filename}): {str(item_error)}") + # 即使出错,也尝试继续检查下一个 continue + # 从 self.emoji_objects 中移除标记的对象 + if objects_to_remove: + self.emoji_objects = [e for e in self.emoji_objects if e not in objects_to_remove] + + # 清理 EMOJI_REGISTED_DIR 目录中未被追踪的文件 await self.clean_unused_emojis(EMOJI_REGISTED_DIR, self.emoji_objects) + # 输出清理结果 if removed_count > 0: - logger.success(f"[清理] 已清理 {removed_count} 个失效的表情包记录") - logger.info(f"[统计] 清理前: {total_count} | 清理后: {len(self.emoji_objects)}") + logger.success(f"[清理] 已清理 {removed_count} 个失效/文件丢失的表情包记录") + logger.info(f"[统计] 清理前记录数: {total_count} | 清理后有效记录数: {len(self.emoji_objects)}") else: logger.info(f"[检查] 已检查 {total_count} 个表情包记录,全部完好") @@ -467,45 +524,72 @@ class EmojiManager: await asyncio.sleep(global_config.EMOJI_CHECK_INTERVAL * 60) async def get_all_emoji_from_db(self): - """获取所有表情包并初始化为MaiEmoji类对象 - - 参数: - hash: 可选,如果提供则只返回指定哈希值的表情包 - - 返回: - list[MaiEmoji]: 表情包对象列表 - """ + """获取所有表情包并初始化为MaiEmoji类对象,更新 self.emoji_objects""" try: self._ensure_db() + logger.info("[数据库] 开始加载所有表情包记录...") - # 获取所有表情包 all_emoji_data = list(db.emoji.find()) - - # 将数据库记录转换为MaiEmoji对象 emoji_objects = [] + load_errors = 0 + for emoji_data in all_emoji_data: - emoji = MaiEmoji( - filename=emoji_data.get("filename", ""), - path=emoji_data.get("path", ""), - ) + full_path = emoji_data.get("full_path") + if not full_path: + logger.warning(f"[加载错误] 数据库记录缺少 'full_path' 字段: {emoji_data.get('_id')}") + load_errors += 1 + continue # 跳过缺少 full_path 的记录 - # 设置额外属性 - emoji.hash = emoji_data.get("hash", "") - emoji.usage_count = emoji_data.get("usage_count", 0) - emoji.last_used_time = emoji_data.get("last_used_time", emoji_data.get("timestamp", time.time())) - emoji.register_time = emoji_data.get("timestamp", time.time()) - emoji.description = emoji_data.get("description", "") - emoji.emotion = emoji_data.get("emotion", []) # 添加情感标签的加载 - emoji_objects.append(emoji) + try: + # 使用 full_path 初始化 MaiEmoji 对象 + emoji = MaiEmoji(full_path=full_path) - # 存储到EmojiManager中 + # 设置从数据库加载的属性 + emoji.hash = emoji_data.get("hash", "") + # 如果 hash 为空,也跳过?取决于业务逻辑 + if not emoji.hash: + logger.warning(f"[加载错误] 数据库记录缺少 'hash' 字段: {full_path}") + load_errors += 1 + continue + + emoji.description = emoji_data.get("description", "") + emoji.emotion = emoji_data.get("emotion", []) + emoji.usage_count = emoji_data.get("usage_count", 0) + # 优先使用 last_used_time,否则用 timestamp,最后用当前时间 + last_used = emoji_data.get("last_used_time") + timestamp = emoji_data.get("timestamp") + emoji.last_used_time = last_used if last_used is not None else (timestamp if timestamp is not None else time.time()) + emoji.register_time = timestamp if timestamp is not None else time.time() + emoji.format = emoji_data.get("format", "") # 加载格式 + + # 不需要再手动设置 path 和 filename,__init__ 会自动处理 + + emoji_objects.append(emoji) + + except ValueError as ve: #捕获 __init__ 可能的错误 + logger.error(f"[加载错误] 初始化 MaiEmoji 失败 ({full_path}): {ve}") + load_errors += 1 + except Exception as e: + logger.error(f"[加载错误] 处理数据库记录时出错 ({full_path}): {str(e)}") + load_errors += 1 + + + # 更新内存中的列表和数量 self.emoji_objects = emoji_objects + self.emoji_num = len(emoji_objects) + + logger.success(f"[数据库] 加载完成: 共加载 {self.emoji_num} 个表情包记录。") + if load_errors > 0: + logger.warning(f"[数据库] 加载过程中出现 {load_errors} 个错误。") + except Exception as e: - logger.error(f"[错误] 获取所有表情包对象失败: {str(e)}") + logger.error(f"[错误] 从数据库加载所有表情包对象失败: {str(e)}") + self.emoji_objects = [] # 加载失败则清空列表 + self.emoji_num = 0 async def get_emoji_from_db(self, hash=None): - """获取所有表情包并初始化为MaiEmoji类对象 + """获取指定哈希值的表情包并初始化为MaiEmoji类对象列表 (主要用于调试或特定查找) 参数: hash: 可选,如果提供则只返回指定哈希值的表情包 @@ -516,50 +600,71 @@ class EmojiManager: try: self._ensure_db() - # 准备查询条件 query = {} if hash: query = {"hash": hash} + else: + logger.warning("[查询] 未提供 hash,将尝试加载所有表情包,建议使用 get_all_emoji_from_db 更新管理器状态。") - # 获取所有表情包 - all_emoji_data = list(db.emoji.find(query)) - # 将数据库记录转换为MaiEmoji对象 + emoji_data_list = list(db.emoji.find(query)) emoji_objects = [] - for emoji_data in all_emoji_data: - emoji = MaiEmoji( - filename=emoji_data.get("filename", ""), - path=emoji_data.get("path", ""), - ) + load_errors = 0 - # 设置额外属性 - emoji.usage_count = emoji_data.get("usage_count", 0) - emoji.last_used_time = emoji_data.get("last_used_time", emoji_data.get("timestamp", time.time())) - emoji.register_time = emoji_data.get("timestamp", time.time()) - emoji.description = emoji_data.get("description", "") - emoji.emotion = emoji_data.get("emotion", []) # 添加情感标签的加载 + for emoji_data in emoji_data_list: + full_path = emoji_data.get("full_path") + if not full_path: + logger.warning(f"[加载错误] 数据库记录缺少 'full_path' 字段: {emoji_data.get('_id')}") + load_errors += 1 + continue - emoji_objects.append(emoji) + try: + emoji = MaiEmoji(full_path=full_path) + emoji.hash = emoji_data.get("hash", "") + if not emoji.hash: + logger.warning(f"[加载错误] 数据库记录缺少 'hash' 字段: {full_path}") + load_errors += 1 + continue - # 存储到EmojiManager中 - self.emoji_objects = emoji_objects + emoji.description = emoji_data.get("description", "") + emoji.emotion = emoji_data.get("emotion", []) + emoji.usage_count = emoji_data.get("usage_count", 0) + last_used = emoji_data.get("last_used_time") + timestamp = emoji_data.get("timestamp") + emoji.last_used_time = last_used if last_used is not None else (timestamp if timestamp is not None else time.time()) + emoji.register_time = timestamp if timestamp is not None else time.time() + emoji.format = emoji_data.get("format", "") + emoji_objects.append(emoji) + except ValueError as ve: + logger.error(f"[加载错误] 初始化 MaiEmoji 失败 ({full_path}): {ve}") + load_errors += 1 + except Exception as e: + logger.error(f"[加载错误] 处理数据库记录时出错 ({full_path}): {str(e)}") + load_errors += 1 + + + if load_errors > 0: + logger.warning(f"[查询] 加载过程中出现 {load_errors} 个错误。") return emoji_objects except Exception as e: - logger.error(f"[错误] 获取所有表情包对象失败: {str(e)}") + logger.error(f"[错误] 从数据库获取表情包对象失败: {str(e)}") return [] - async def get_emoji_from_manager(self, hash) -> MaiEmoji: - """从EmojiManager中获取表情包 + async def get_emoji_from_manager(self, hash) -> Optional[MaiEmoji]: + """从内存中的 emoji_objects 列表获取表情包 参数: - hash:如果提供则只返回指定哈希值的表情包 + hash: 要查找的表情包哈希值 + 返回: + MaiEmoji 或 None: 如果找到则返回 MaiEmoji 对象,否则返回 None """ for emoji in self.emoji_objects: - if emoji.hash == hash: + # 确保对象未被标记为删除且哈希值匹配 + if not emoji.is_deleted and emoji.hash == hash: return emoji - return None + return None # 如果循环结束还没找到,则返回 None async def delete_emoji(self, emoji_hash: str) -> bool: """根据哈希值删除表情包 @@ -779,51 +884,111 @@ class EmojiManager: Returns: bool: 注册是否成功 """ + file_full_path = os.path.join(EMOJI_DIR, filename) + if not os.path.exists(file_full_path): + logger.error(f"[注册失败] 文件不存在: {file_full_path}") + return False + try: - # 使用MaiEmoji类创建表情包实例 - new_emoji = MaiEmoji(filename, EMOJI_DIR) - await new_emoji.initialize_hash_format() - emoji_base64 = image_path_to_base64(os.path.join(EMOJI_DIR, filename)) - description, emotions = await self.build_emoji_description(emoji_base64) - if description == "" or description == None: + # 1. 创建 MaiEmoji 实例并初始化哈希和格式 + new_emoji = MaiEmoji(full_path=file_full_path) + init_result = await new_emoji.initialize_hash_format() + if init_result is None or new_emoji.is_deleted: # 初始化失败或文件读取错误 + logger.error(f"[注册失败] 初始化哈希和格式失败: {filename}") + # 是否需要删除源文件?看业务需求,暂时不删 return False - new_emoji.description = description - new_emoji.emotion = emotions - # 检查是否已经注册过 - # 对比内存中是否存在相同哈希值的表情包 + # 2. 检查哈希是否已存在 (在内存中检查) if await self.get_emoji_from_manager(new_emoji.hash): - logger.warning(f"[警告] 表情包已存在: {filename}") + logger.warning(f"[注册跳过] 表情包已存在 (Hash: {new_emoji.hash}): {filename}") + # 删除重复的源文件 + try: + os.remove(file_full_path) + logger.info(f"[清理] 删除重复的待注册文件: {filename}") + except Exception as e: + logger.error(f"[错误] 删除重复文件失败: {str(e)}") + return False # 返回 False 表示未注册新表情 + + # 3. 构建描述和情感 + try: + emoji_base64 = image_path_to_base64(file_full_path) + if emoji_base64 is None: # 再次检查读取 + logger.error(f"[注册失败] 无法读取图片以生成描述: {filename}") + return False + description, emotions = await self.build_emoji_description(emoji_base64) + if not description: # 检查描述是否成功生成或审核通过 + logger.warning(f"[注册失败] 未能生成有效描述或审核未通过: {filename}") + # 删除未能生成描述的文件 + try: + os.remove(file_full_path) + logger.info(f"[清理] 删除描述生成失败的文件: {filename}") + except Exception as e: + logger.error(f"[错误] 删除描述生成失败文件时出错: {str(e)}") + return False + new_emoji.description = description + new_emoji.emotion = emotions + except Exception as build_desc_error: + logger.error(f"[注册失败] 生成描述/情感时出错 ({filename}): {build_desc_error}") + # 同样考虑删除文件 + try: + os.remove(file_full_path) + logger.info(f"[清理] 删除描述生成异常的文件: {filename}") + except Exception as e: + logger.error(f"[错误] 删除描述生成异常文件时出错: {str(e)}") return False + # 4. 检查容量并决定是否替换或直接注册 if self.emoji_num >= self.emoji_num_max: - logger.warning(f"表情包数量已达到上限({self.emoji_num}/{self.emoji_num_max})") + logger.warning(f"表情包数量已达到上限({self.emoji_num}/{self.emoji_num_max}),尝试替换...") replaced = await self.replace_a_emoji(new_emoji) if not replaced: - logger.error("[错误] 替换表情包失败,无法完成注册") + logger.error("[注册失败] 替换表情包失败,无法完成注册") + # 替换失败,删除新表情包文件 + try: + os.remove(file_full_path) # new_emoji 的 full_path 此时还是源路径 + logger.info(f"[清理] 删除替换失败的新表情文件: {filename}") + except Exception as e: + logger.error(f"[错误] 删除替换失败文件时出错: {str(e)}") return False + # 替换成功时,replace_a_emoji 内部已处理 new_emoji 的注册和添加到列表 return True else: - # 修复:等待异步注册完成 - register_success = await new_emoji.register_to_db() + # 直接注册 + register_success = await new_emoji.register_to_db() # 此方法会移动文件并更新 DB if register_success: + # 注册成功后,添加到内存列表 self.emoji_objects.append(new_emoji) self.emoji_num += 1 - logger.success(f"[成功] 注册: {filename}") + logger.success(f"[成功] 注册新表情包: {filename} (当前: {self.emoji_num}/{self.emoji_num_max})") return True else: - logger.error(f"[错误] 注册表情包到数据库失败: {filename}") + logger.error(f"[注册失败] 保存表情包到数据库/移动文件失败: {filename}") + # register_to_db 失败时,内部会尝试清理移动后的文件,源文件可能还在 + # 是否需要删除源文件? + if os.path.exists(file_full_path): + try: + os.remove(file_full_path) + logger.info(f"[清理] 删除注册失败的源文件: {filename}") + except Exception as e: + logger.error(f"[错误] 删除注册失败源文件时出错: {str(e)}") return False except Exception as e: - logger.error(f"[错误] 注册表情包失败: {str(e)}") + logger.error(f"[错误] 注册表情包时发生未预期错误 ({filename}): {str(e)}") logger.error(traceback.format_exc()) + # 尝试删除源文件以避免循环处理 + if os.path.exists(file_full_path): + try: + os.remove(file_full_path) + logger.info(f"[清理] 删除处理异常的源文件: {filename}") + except Exception as remove_error: + logger.error(f"[错误] 删除异常处理文件时出错: {remove_error}") return False async def clear_temp_emoji(self): - """每天清理临时表情包 + """清理临时表情包 清理/data/emoji和/data/image目录下的所有文件 - 当目录中文件数超过50时,会全部删除 + 当目录中文件数超过100时,会全部删除 """ logger.info("[清理] 开始清理缓存...") @@ -833,7 +998,7 @@ class EmojiManager: if os.path.exists(emoji_dir): files = os.listdir(emoji_dir) # 如果文件数超过50就全部删除 - if len(files) > 50: + if len(files) > 100: for filename in files: file_path = os.path.join(emoji_dir, filename) if os.path.isfile(file_path): @@ -845,7 +1010,7 @@ class EmojiManager: if os.path.exists(image_dir): files = os.listdir(image_dir) # 如果文件数超过50就全部删除 - if len(files) > 50: + if len(files) > 100: for filename in files: file_path = os.path.join(image_dir, filename) if os.path.isfile(file_path): @@ -855,29 +1020,40 @@ class EmojiManager: logger.success("[清理] 完成") async def clean_unused_emojis(self, emoji_dir, emoji_objects): - """清理未使用的表情包文件 - 遍历指定文件夹中的所有文件,删除未在emoji_objects列表中的文件 - """ - # 首先检查目录是否存在喵~ + """清理指定目录中未被 emoji_objects 追踪的表情包文件""" if not os.path.exists(emoji_dir): - logger.warning(f"[清理] 表情包目录不存在,跳过清理: {emoji_dir}") + logger.warning(f"[清理] 目标目录不存在,跳过清理: {emoji_dir}") return - # 获取所有表情包路径 - emoji_paths = {emoji.path for emoji in emoji_objects} + try: + # 获取内存中所有有效表情包的完整路径集合 + tracked_full_paths = {emoji.full_path for emoji in emoji_objects if not emoji.is_deleted} + cleaned_count = 0 - # 遍历文件夹中的所有文件 - for file_name in os.listdir(emoji_dir): - file_path = os.path.join(emoji_dir, file_name) + # 遍历指定目录中的所有文件 + for file_name in os.listdir(emoji_dir): + file_full_path = os.path.join(emoji_dir, file_name) - # 检查文件是否在表情包路径列表中 - if file_path not in emoji_paths: - try: - # 删除未在表情包列表中的文件 - os.remove(file_path) - logger.info(f"[清理] 删除未使用的表情包文件: {file_path}") - except Exception as e: - logger.error(f"[错误] 删除文件时出错: {str(e)}") + # 确保处理的是文件而不是子目录 + if not os.path.isfile(file_full_path): + continue + + # 如果文件不在被追踪的集合中,则删除 + if file_full_path not in tracked_full_paths: + try: + os.remove(file_full_path) + logger.info(f"[清理] 删除未追踪的表情包文件: {file_full_path}") + cleaned_count += 1 + except Exception as e: + logger.error(f"[错误] 删除文件时出错 ({file_full_path}): {str(e)}") + + if cleaned_count > 0: + logger.success(f"[清理] 在目录 {emoji_dir} 中清理了 {cleaned_count} 个未追踪的文件。") + else: + logger.info(f"[清理] 目录 {emoji_dir} 中没有发现未追踪的文件。") + + except Exception as e: + logger.error(f"[错误] 清理未使用表情包文件时出错 ({emoji_dir}): {str(e)}") # 创建全局单例 From ccbdc6ffe00acc92607c397f2f36c13ab1bedb5b Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 01:41:30 +0800 Subject: [PATCH 36/43] frrr --- src/common/logger.py | 5 +- src/plugins/emoji_system/emoji_manager.py | 148 +++++++++--------- src/plugins/heartFC_chat/heartFC_chat.py | 76 ++++----- .../heartFC_chat/heartflow_prompt_builder.py | 7 +- 4 files changed, 121 insertions(+), 115 deletions(-) diff --git a/src/common/logger.py b/src/common/logger.py index 12a9c1356..6c95935ea 100644 --- a/src/common/logger.py +++ b/src/common/logger.py @@ -633,15 +633,12 @@ HFC_STYLE_CONFIG = { "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 专注聊天 | {message}", }, "simple": { - "console_format": ( - "{time:MM-DD HH:mm} | 专注聊天 | {message}" - ), + "console_format": ("{time:MM-DD HH:mm} | 专注聊天 | {message}"), "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 专注聊天 | {message}", }, } - CONFIRM_STYLE_CONFIG = { "console_format": "{message}", # noqa: E501 "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | EULA与PRIVACY确认 | {message}", diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 62b2712ca..5f3776782 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -37,9 +37,9 @@ class MaiEmoji: def __init__(self, full_path: str): if not full_path: raise ValueError("full_path cannot be empty") - self.full_path = full_path # 文件的完整路径 (包括文件名) - self.path = os.path.dirname(full_path) # 文件所在的目录路径 - self.filename = os.path.basename(full_path) # 文件名 + self.full_path = full_path # 文件的完整路径 (包括文件名) + self.path = os.path.dirname(full_path) # 文件所在的目录路径 + self.filename = os.path.basename(full_path) # 文件名 self.embedding = [] self.hash = "" # 初始为空,在创建实例时会计算 self.description = "" @@ -92,13 +92,13 @@ class MaiEmoji: return True except FileNotFoundError: - logger.error(f"[初始化错误] 文件在处理过程中丢失: {self.full_path}") - self.is_deleted = True - return None + logger.error(f"[初始化错误] 文件在处理过程中丢失: {self.full_path}") + self.is_deleted = True + return None except base64.binascii.Error as b64_error: - logger.error(f"[初始化错误] Base64解码失败 ({self.filename}): {b64_error}") - self.is_deleted = True - return None + logger.error(f"[初始化错误] Base64解码失败 ({self.filename}): {b64_error}") + self.is_deleted = True + return None except Exception as e: logger.error(f"[初始化错误] 初始化表情包时发生未预期错误 ({self.filename}): {str(e)}") logger.error(traceback.format_exc()) @@ -146,8 +146,8 @@ class MaiEmoji: # 准备数据库记录 for emoji collection emoji_record = { "filename": self.filename, - "path": self.path, # 存储目录路径 - "full_path": self.full_path, # 存储完整文件路径 + "path": self.path, # 存储目录路径 + "full_path": self.full_path, # 存储完整文件路径 "embedding": self.embedding, "description": self.description, "emotion": self.emotion, @@ -170,11 +170,11 @@ class MaiEmoji: # 数据库保存失败,是否需要将文件移回?为了简化,暂时只记录错误 # 可以考虑在这里尝试删除已移动的文件,避免残留 try: - if os.path.exists(self.full_path): # full_path 此时是目标路径 - os.remove(self.full_path) - logger.warning(f"[回滚] 已删除移动失败后残留的文件: {self.full_path}") + if os.path.exists(self.full_path): # full_path 此时是目标路径 + os.remove(self.full_path) + logger.warning(f"[回滚] 已删除移动失败后残留的文件: {self.full_path}") except Exception as remove_error: - logger.error(f"[错误] 回滚删除文件失败: {remove_error}") + logger.error(f"[错误] 回滚删除文件失败: {remove_error}") return False except Exception as e: @@ -213,9 +213,11 @@ class MaiEmoji: else: # 如果数据库记录删除失败,但文件可能已删除,记录一个警告 if not os.path.exists(file_to_delete): - logger.warning(f"[警告] 表情包文件 {file_to_delete} 已删除,但数据库记录删除失败 (Hash: {self.hash})") + logger.warning( + f"[警告] 表情包文件 {file_to_delete} 已删除,但数据库记录删除失败 (Hash: {self.hash})" + ) else: - logger.error(f"[错误] 删除表情包数据库记录失败: {self.hash}") + logger.error(f"[错误] 删除表情包数据库记录失败: {self.hash}") return False except Exception as e: @@ -323,7 +325,7 @@ class EmojiManager: # 计算每个表情包与输入文本的最大情感相似度 emoji_similarities = [] for emoji in all_emojis: - # 跳过已标记为删除的对象 + # 跳过已标记为删除的对象 if emoji.is_deleted: continue @@ -421,17 +423,17 @@ class EmojiManager: objects_to_remove = [] for emoji in self.emoji_objects: try: - # 跳过已经标记为删除的,避免重复处理 + # 跳过已经标记为删除的,避免重复处理 if emoji.is_deleted: - objects_to_remove.append(emoji) # 收集起来一次性移除 + objects_to_remove.append(emoji) # 收集起来一次性移除 continue # 检查文件是否存在 if not os.path.exists(emoji.full_path): logger.warning(f"[检查] 表情包文件丢失: {emoji.full_path}") # 执行表情包对象的删除方法 - await emoji.delete() # delete 方法现在会标记 is_deleted - objects_to_remove.append(emoji) # 标记删除后,也收集起来移除 + await emoji.delete() # delete 方法现在会标记 is_deleted + objects_to_remove.append(emoji) # 标记删除后,也收集起来移除 # 更新计数 self.emoji_num -= 1 removed_count += 1 @@ -453,7 +455,7 @@ class EmojiManager: # 从 self.emoji_objects 中移除标记的对象 if objects_to_remove: - self.emoji_objects = [e for e in self.emoji_objects if e not in objects_to_remove] + self.emoji_objects = [e for e in self.emoji_objects if e not in objects_to_remove] # 清理 EMOJI_REGISTED_DIR 目录中未被追踪的文件 await self.clean_unused_emojis(EMOJI_REGISTED_DIR, self.emoji_objects) @@ -538,7 +540,7 @@ class EmojiManager: if not full_path: logger.warning(f"[加载错误] 数据库记录缺少 'full_path' 字段: {emoji_data.get('_id')}") load_errors += 1 - continue # 跳过缺少 full_path 的记录 + continue # 跳过缺少 full_path 的记录 try: # 使用 full_path 初始化 MaiEmoji 对象 @@ -548,9 +550,9 @@ class EmojiManager: emoji.hash = emoji_data.get("hash", "") # 如果 hash 为空,也跳过?取决于业务逻辑 if not emoji.hash: - logger.warning(f"[加载错误] 数据库记录缺少 'hash' 字段: {full_path}") - load_errors += 1 - continue + logger.warning(f"[加载错误] 数据库记录缺少 'hash' 字段: {full_path}") + load_errors += 1 + continue emoji.description = emoji_data.get("description", "") emoji.emotion = emoji_data.get("emotion", []) @@ -558,21 +560,22 @@ class EmojiManager: # 优先使用 last_used_time,否则用 timestamp,最后用当前时间 last_used = emoji_data.get("last_used_time") timestamp = emoji_data.get("timestamp") - emoji.last_used_time = last_used if last_used is not None else (timestamp if timestamp is not None else time.time()) + emoji.last_used_time = ( + last_used if last_used is not None else (timestamp if timestamp is not None else time.time()) + ) emoji.register_time = timestamp if timestamp is not None else time.time() - emoji.format = emoji_data.get("format", "") # 加载格式 + emoji.format = emoji_data.get("format", "") # 加载格式 # 不需要再手动设置 path 和 filename,__init__ 会自动处理 emoji_objects.append(emoji) - except ValueError as ve: #捕获 __init__ 可能的错误 - logger.error(f"[加载错误] 初始化 MaiEmoji 失败 ({full_path}): {ve}") - load_errors += 1 + except ValueError as ve: # 捕获 __init__ 可能的错误 + logger.error(f"[加载错误] 初始化 MaiEmoji 失败 ({full_path}): {ve}") + load_errors += 1 except Exception as e: - logger.error(f"[加载错误] 处理数据库记录时出错 ({full_path}): {str(e)}") - load_errors += 1 - + logger.error(f"[加载错误] 处理数据库记录时出错 ({full_path}): {str(e)}") + load_errors += 1 # 更新内存中的列表和数量 self.emoji_objects = emoji_objects @@ -580,12 +583,11 @@ class EmojiManager: logger.success(f"[数据库] 加载完成: 共加载 {self.emoji_num} 个表情包记录。") if load_errors > 0: - logger.warning(f"[数据库] 加载过程中出现 {load_errors} 个错误。") - + logger.warning(f"[数据库] 加载过程中出现 {load_errors} 个错误。") except Exception as e: logger.error(f"[错误] 从数据库加载所有表情包对象失败: {str(e)}") - self.emoji_objects = [] # 加载失败则清空列表 + self.emoji_objects = [] # 加载失败则清空列表 self.emoji_num = 0 async def get_emoji_from_db(self, hash=None): @@ -604,8 +606,9 @@ class EmojiManager: if hash: query = {"hash": hash} else: - logger.warning("[查询] 未提供 hash,将尝试加载所有表情包,建议使用 get_all_emoji_from_db 更新管理器状态。") - + logger.warning( + "[查询] 未提供 hash,将尝试加载所有表情包,建议使用 get_all_emoji_from_db 更新管理器状态。" + ) emoji_data_list = list(db.emoji.find(query)) emoji_objects = [] @@ -622,29 +625,30 @@ class EmojiManager: emoji = MaiEmoji(full_path=full_path) emoji.hash = emoji_data.get("hash", "") if not emoji.hash: - logger.warning(f"[加载错误] 数据库记录缺少 'hash' 字段: {full_path}") - load_errors += 1 - continue + logger.warning(f"[加载错误] 数据库记录缺少 'hash' 字段: {full_path}") + load_errors += 1 + continue emoji.description = emoji_data.get("description", "") emoji.emotion = emoji_data.get("emotion", []) emoji.usage_count = emoji_data.get("usage_count", 0) last_used = emoji_data.get("last_used_time") timestamp = emoji_data.get("timestamp") - emoji.last_used_time = last_used if last_used is not None else (timestamp if timestamp is not None else time.time()) + emoji.last_used_time = ( + last_used if last_used is not None else (timestamp if timestamp is not None else time.time()) + ) emoji.register_time = timestamp if timestamp is not None else time.time() emoji.format = emoji_data.get("format", "") emoji_objects.append(emoji) except ValueError as ve: - logger.error(f"[加载错误] 初始化 MaiEmoji 失败 ({full_path}): {ve}") - load_errors += 1 + logger.error(f"[加载错误] 初始化 MaiEmoji 失败 ({full_path}): {ve}") + load_errors += 1 except Exception as e: - logger.error(f"[加载错误] 处理数据库记录时出错 ({full_path}): {str(e)}") - load_errors += 1 - + logger.error(f"[加载错误] 处理数据库记录时出错 ({full_path}): {str(e)}") + load_errors += 1 if load_errors > 0: - logger.warning(f"[查询] 加载过程中出现 {load_errors} 个错误。") + logger.warning(f"[查询] 加载过程中出现 {load_errors} 个错误。") return emoji_objects @@ -661,10 +665,10 @@ class EmojiManager: MaiEmoji 或 None: 如果找到则返回 MaiEmoji 对象,否则返回 None """ for emoji in self.emoji_objects: - # 确保对象未被标记为删除且哈希值匹配 + # 确保对象未被标记为删除且哈希值匹配 if not emoji.is_deleted and emoji.hash == hash: return emoji - return None # 如果循环结束还没找到,则返回 None + return None # 如果循环结束还没找到,则返回 None async def delete_emoji(self, emoji_hash: str) -> bool: """根据哈希值删除表情包 @@ -886,14 +890,14 @@ class EmojiManager: """ file_full_path = os.path.join(EMOJI_DIR, filename) if not os.path.exists(file_full_path): - logger.error(f"[注册失败] 文件不存在: {file_full_path}") - return False + logger.error(f"[注册失败] 文件不存在: {file_full_path}") + return False try: # 1. 创建 MaiEmoji 实例并初始化哈希和格式 new_emoji = MaiEmoji(full_path=file_full_path) init_result = await new_emoji.initialize_hash_format() - if init_result is None or new_emoji.is_deleted: # 初始化失败或文件读取错误 + if init_result is None or new_emoji.is_deleted: # 初始化失败或文件读取错误 logger.error(f"[注册失败] 初始化哈希和格式失败: {filename}") # 是否需要删除源文件?看业务需求,暂时不删 return False @@ -901,22 +905,22 @@ class EmojiManager: # 2. 检查哈希是否已存在 (在内存中检查) if await self.get_emoji_from_manager(new_emoji.hash): logger.warning(f"[注册跳过] 表情包已存在 (Hash: {new_emoji.hash}): {filename}") - # 删除重复的源文件 + # 删除重复的源文件 try: os.remove(file_full_path) logger.info(f"[清理] 删除重复的待注册文件: {filename}") except Exception as e: logger.error(f"[错误] 删除重复文件失败: {str(e)}") - return False # 返回 False 表示未注册新表情 + return False # 返回 False 表示未注册新表情 # 3. 构建描述和情感 try: emoji_base64 = image_path_to_base64(file_full_path) - if emoji_base64 is None: # 再次检查读取 - logger.error(f"[注册失败] 无法读取图片以生成描述: {filename}") - return False + if emoji_base64 is None: # 再次检查读取 + logger.error(f"[注册失败] 无法读取图片以生成描述: {filename}") + return False description, emotions = await self.build_emoji_description(emoji_base64) - if not description: # 检查描述是否成功生成或审核通过 + if not description: # 检查描述是否成功生成或审核通过 logger.warning(f"[注册失败] 未能生成有效描述或审核未通过: {filename}") # 删除未能生成描述的文件 try: @@ -943,9 +947,9 @@ class EmojiManager: replaced = await self.replace_a_emoji(new_emoji) if not replaced: logger.error("[注册失败] 替换表情包失败,无法完成注册") - # 替换失败,删除新表情包文件 + # 替换失败,删除新表情包文件 try: - os.remove(file_full_path) # new_emoji 的 full_path 此时还是源路径 + os.remove(file_full_path) # new_emoji 的 full_path 此时还是源路径 logger.info(f"[清理] 删除替换失败的新表情文件: {filename}") except Exception as e: logger.error(f"[错误] 删除替换失败文件时出错: {str(e)}") @@ -954,7 +958,7 @@ class EmojiManager: return True else: # 直接注册 - register_success = await new_emoji.register_to_db() # 此方法会移动文件并更新 DB + register_success = await new_emoji.register_to_db() # 此方法会移动文件并更新 DB if register_success: # 注册成功后,添加到内存列表 self.emoji_objects.append(new_emoji) @@ -963,20 +967,20 @@ class EmojiManager: return True else: logger.error(f"[注册失败] 保存表情包到数据库/移动文件失败: {filename}") - # register_to_db 失败时,内部会尝试清理移动后的文件,源文件可能还在 - # 是否需要删除源文件? + # register_to_db 失败时,内部会尝试清理移动后的文件,源文件可能还在 + # 是否需要删除源文件? if os.path.exists(file_full_path): - try: - os.remove(file_full_path) - logger.info(f"[清理] 删除注册失败的源文件: {filename}") - except Exception as e: - logger.error(f"[错误] 删除注册失败源文件时出错: {str(e)}") + try: + os.remove(file_full_path) + logger.info(f"[清理] 删除注册失败的源文件: {filename}") + except Exception as e: + logger.error(f"[错误] 删除注册失败源文件时出错: {str(e)}") return False except Exception as e: logger.error(f"[错误] 注册表情包时发生未预期错误 ({filename}): {str(e)}") logger.error(traceback.format_exc()) - # 尝试删除源文件以避免循环处理 + # 尝试删除源文件以避免循环处理 if os.path.exists(file_full_path): try: os.remove(file_full_path) diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index 5b1e31515..3dc648ec0 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -15,9 +15,7 @@ from src.plugins.models.utils_model import LLMRequest from src.config.config import global_config from src.plugins.chat.utils_image import image_path_to_base64 # Local import needed after move from src.plugins.utils.timer_calculator import Timer # <--- Import Timer -from src.do_tool.tool_use import ToolUser from src.plugins.emoji_system.emoji_manager import emoji_manager -from src.plugins.utils.json_utils import process_llm_tool_calls, extract_tool_call_arguments from src.heart_flow.sub_mind import SubMind from src.heart_flow.observation import Observation from src.plugins.heartFC_chat.heartflow_prompt_builder import global_prompt_manager, prompt_builder @@ -788,7 +786,9 @@ class HeartFChatting: logger.info(f"{self.log_prefix}[Planner] 连续回复 2 次,80% 概率移除 text_reply 和 emoji_reply (触发)") actions_to_remove_temporarily.extend(["text_reply", "emoji_reply"]) else: - logger.info(f"{self.log_prefix}[Planner] 连续回复 2 次,80% 概率移除 text_reply 和 emoji_reply (未触发)") + logger.info( + f"{self.log_prefix}[Planner] 连续回复 2 次,80% 概率移除 text_reply 和 emoji_reply (未触发)" + ) elif lian_xu_wen_ben_hui_fu == 1: if probability_roll < 0.4: logger.info(f"{self.log_prefix}[Planner] 连续回复 1 次,40% 概率移除 text_reply (触发)") @@ -805,10 +805,10 @@ class HeartFChatting: observed_messages_str = observation.talking_message_str_truncate # --- 使用 LLM 进行决策 (JSON 输出模式) --- # - action = "no_reply" # 默认动作 + action = "no_reply" # 默认动作 reasoning = "规划器初始化默认" emoji_query = "" - llm_error = False # LLM 请求或解析错误标志 + llm_error = False # LLM 请求或解析错误标志 # 获取我们将传递给 prompt 构建器和用于验证的当前可用动作 current_available_actions = self.action_manager.get_available_actions() @@ -833,8 +833,8 @@ class HeartFChatting: observed_messages_str, current_mind, self.sub_mind.structured_info, - "", # replan_prompt_str, - current_available_actions # <--- 传入当前可用动作 + "", # replan_prompt_str, + current_available_actions, # <--- 传入当前可用动作 ) # --- 调用 LLM (普通文本生成) --- @@ -851,8 +851,8 @@ class HeartFChatting: reasoning = f"LLM 请求失败: {req_e}" llm_error = True # 直接使用默认动作返回错误结果 - action = "no_reply" # 明确设置为默认值 - emoji_query = "" # 明确设置为空 + action = "no_reply" # 明确设置为默认值 + emoji_query = "" # 明确设置为空 # 不再立即返回,而是继续执行 finally 块以恢复动作 # return { ... } @@ -860,9 +860,11 @@ class HeartFChatting: if not llm_error and llm_content: try: # 尝试去除可能的 markdown 代码块标记 - cleaned_content = llm_content.strip().removeprefix("```json").removeprefix("```").removesuffix("```").strip() + cleaned_content = ( + llm_content.strip().removeprefix("```json").removeprefix("```").removesuffix("```").strip() + ) if not cleaned_content: - raise json.JSONDecodeError("Cleaned content is empty", cleaned_content, 0) + raise json.JSONDecodeError("Cleaned content is empty", cleaned_content, 0) parsed_json = json.loads(cleaned_content) # 提取决策,提供默认值 @@ -881,28 +883,32 @@ class HeartFChatting: emoji_query = "" # 检查 no_reply 是否也恰好被移除了 (极端情况) if "no_reply" not in current_available_actions: - logger.error(f"{self.log_prefix}[Planner] 严重错误:'no_reply' 动作也不可用!无法执行任何动作。") - action = "error" # 回退到错误状态 - reasoning = "无法执行任何有效动作,包括 no_reply" - llm_error = True # 标记为严重错误 + logger.error( + f"{self.log_prefix}[Planner] 严重错误:'no_reply' 动作也不可用!无法执行任何动作。" + ) + action = "error" # 回退到错误状态 + reasoning = "无法执行任何有效动作,包括 no_reply" + llm_error = True # 标记为严重错误 else: - llm_error = False # 视为逻辑修正而非 LLM 错误 + llm_error = False # 视为逻辑修正而非 LLM 错误 else: # 动作有效且可用 action = extracted_action reasoning = extracted_reasoning emoji_query = extracted_emoji_query - llm_error = False # 解析成功 + llm_error = False # 解析成功 logger.debug( - f"{self.log_prefix}[要做什么]\nPrompt:\n{prompt}\n\n决策结果 (来自JSON): {action}, 理由: {reasoning}, 表情查询: '{emoji_query}'" + f"{self.log_prefix}[要做什么]\nPrompt:\n{prompt}\n\n决策结果 (来自JSON): {action}, 理由: {reasoning}, 表情查询: '{emoji_query}'" ) except json.JSONDecodeError as json_e: - logger.warning(f"{self.log_prefix}[Planner] 解析LLM响应JSON失败: {json_e}. LLM原始输出: '{llm_content}'") + logger.warning( + f"{self.log_prefix}[Planner] 解析LLM响应JSON失败: {json_e}. LLM原始输出: '{llm_content}'" + ) reasoning = f"解析LLM响应JSON失败: {json_e}. 将使用默认动作 'no_reply'." - action = "no_reply" # 解析失败则默认不回复 + action = "no_reply" # 解析失败则默认不回复 emoji_query = "" - llm_error = True # 标记解析错误 + llm_error = True # 标记解析错误 except Exception as parse_e: logger.error(f"{self.log_prefix}[Planner] 处理LLM响应时发生意外错误: {parse_e}") reasoning = f"处理LLM响应时发生意外错误: {parse_e}. 将使用默认动作 'no_reply'." @@ -910,12 +916,12 @@ class HeartFChatting: emoji_query = "" llm_error = True elif not llm_error and not llm_content: - # LLM 请求成功但返回空内容 + # LLM 请求成功但返回空内容 logger.warning(f"{self.log_prefix}[Planner] LLM 返回了空内容。") reasoning = "LLM 返回了空内容,使用默认动作 'no_reply'." action = "no_reply" emoji_query = "" - llm_error = True # 标记为空响应错误 + llm_error = True # 标记为空响应错误 # 如果 llm_error 在此阶段为 True,意味着请求成功但解析失败或返回空 # 如果 llm_error 在请求阶段就为 True,则跳过了此解析块 @@ -923,7 +929,7 @@ class HeartFChatting: except Exception as outer_e: logger.error(f"{self.log_prefix}[Planner] Planner 处理过程中发生意外错误: {outer_e}") logger.error(traceback.format_exc()) - action = "error" # 发生未知错误,标记为 error 动作 + action = "error" # 发生未知错误,标记为 error 动作 reasoning = f"Planner 内部处理错误: {outer_e}" emoji_query = "" llm_error = True @@ -944,7 +950,7 @@ class HeartFChatting: logger.info( f"{self.log_prefix}[Planner] 但是麦麦这次不想加表情 ({1 - EMOJI_SEND_PRO:.0%}),忽略表情 '{emoji_query}'" ) - emoji_query = "" # 清空表情请求 + emoji_query = "" # 清空表情请求 else: logger.info(f"{self.log_prefix}[Planner] 好吧,加上表情 '{emoji_query}'") # --- 结束概率性忽略 --- @@ -956,7 +962,7 @@ class HeartFChatting: "emoji_query": emoji_query, "current_mind": current_mind, "observed_messages": observed_messages, - "llm_error": llm_error, # 返回错误状态 + "llm_error": llm_error, # 返回错误状态 } async def _get_anchor_message(self) -> Optional[MessageRecv]: @@ -1178,26 +1184,26 @@ class HeartFChatting: action_options_text = "当前你可以选择的行动有:\n" action_keys = list(current_available_actions.keys()) for name in action_keys: - desc = current_available_actions[name] - action_options_text += f"- '{name}': {desc}\n" + desc = current_available_actions[name] + action_options_text += f"- '{name}': {desc}\n" # --- 选择一个示例动作键 (用于填充模板中的 {example_action}) --- example_action_key = action_keys[0] if action_keys else "no_reply" - # --- 获取提示词模板 --- + # --- 获取提示词模板 --- planner_prompt_template = await global_prompt_manager.get_prompt_async("planner_prompt") - # --- 填充模板 --- + # --- 填充模板 --- prompt = planner_prompt_template.format( bot_name=global_config.BOT_NICKNAME, prompt_personality=prompt_personality, structured_info_block=structured_info_block, chat_content_block=chat_content_block, - current_mind_block=current_mind_block, - replan="", # 暂时留空 replan 信息 + current_mind_block=current_mind_block, + replan="", # 暂时留空 replan 信息 cycle_info_block=cycle_info_block, - action_options_text=action_options_text, # 传入可用动作描述 - example_action=example_action_key # 传入示例动作键 + action_options_text=action_options_text, # 传入可用动作描述 + example_action=example_action_key, # 传入示例动作键 ) return prompt @@ -1205,7 +1211,7 @@ class HeartFChatting: except Exception as e: logger.error(f"{self.log_prefix}[Planner] 构建提示词时出错: {e}") logger.error(traceback.format_exc()) - return "[构建 Planner Prompt 时出错]" # 返回错误提示,避免空字符串 + return "[构建 Planner Prompt 时出错]" # 返回错误提示,避免空字符串 # --- 回复器 (Replier) 的定义 --- # async def _replier_work( diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index 7cb847e0a..1e5d8d21f 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -7,14 +7,13 @@ from src.plugins.utils.chat_message_builder import build_readable_messages, get_ from src.plugins.person_info.relationship_manager import relationship_manager from src.plugins.chat.utils import get_embedding import time -from typing import Union, Optional, Dict, Any +from typing import Union, Optional from ...common.database import db from ..chat.utils import get_recent_group_speaker from ..moods.moods import MoodManager from ..memory_system.Hippocampus import HippocampusManager from ..schedule.schedule_generator import bot_schedule from ..knowledge.knowledge_lib import qa_manager -import traceback logger = get_logger("prompt") @@ -50,7 +49,7 @@ def init_prompt(): # Planner提示词 - 修改为要求 JSON 输出 Prompt( - '''你的名字是{bot_name},{prompt_personality},你现在正在一个群聊中。需要基于以下信息决定如何参与对话: + """你的名字是{bot_name},{prompt_personality},你现在正在一个群聊中。需要基于以下信息决定如何参与对话: {structured_info_block} {chat_content_block} {current_mind_block} @@ -106,7 +105,7 @@ JSON 结构如下,包含三个字段 "action", "reasoning", "emoji_query": }} 请输出你的决策 JSON: -''', # 使用三引号避免内部引号问题 +""", # 使用三引号避免内部引号问题 "planner_prompt", # 保持名称不变,替换内容 ) From f363b7ca0021f085c8a48548df9d491305b910ec Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 01:49:10 +0800 Subject: [PATCH 37/43] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8DLogger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/heart_flow/sub_heartflow.py | 6 +++--- src/plugins/emoji_system/emoji_manager.py | 4 ++-- src/plugins/heartFC_chat/heartFC_chat.py | 20 +++++++++++++++----- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/heart_flow/sub_heartflow.py b/src/heart_flow/sub_heartflow.py index 291800cf0..75918e1b7 100644 --- a/src/heart_flow/sub_heartflow.py +++ b/src/heart_flow/sub_heartflow.py @@ -346,7 +346,7 @@ class SubHeartflow: return True # 已经在运行 # 如果实例不存在,则创建并启动 - logger.info(f"{log_prefix} 麦麦准备开始专注聊天 (创建新实例)...") + logger.info(f"{log_prefix} 麦麦准备开始专注聊天...") try: # 创建 HeartFChatting 实例,并传递 从构造函数传入的 回调函数 self.heart_fc_instance = HeartFChatting( @@ -359,7 +359,7 @@ class SubHeartflow: # 初始化并启动 HeartFChatting if await self.heart_fc_instance._initialize(): await self.heart_fc_instance.start() - logger.info(f"{log_prefix} 麦麦已成功进入专注聊天模式 (新实例已启动)。") + logger.debug(f"{log_prefix} 麦麦已成功进入专注聊天模式 (新实例已启动)。") return True else: logger.error(f"{log_prefix} HeartFChatting 初始化失败,无法进入专注模式。") @@ -397,7 +397,7 @@ class SubHeartflow: # 移除限额检查逻辑 logger.debug(f"{log_prefix} 准备进入或保持 专注聊天 状态") if await self._start_heart_fc_chat(): - logger.info(f"{log_prefix} 成功进入或保持 HeartFChatting 状态。") + logger.debug(f"{log_prefix} 成功进入或保持 HeartFChatting 状态。") state_changed = True else: logger.error(f"{log_prefix} 启动 HeartFChatting 失败,无法进入 FOCUSED 状态。") diff --git a/src/plugins/emoji_system/emoji_manager.py b/src/plugins/emoji_system/emoji_manager.py index 5f3776782..d6da4ce3f 100644 --- a/src/plugins/emoji_system/emoji_manager.py +++ b/src/plugins/emoji_system/emoji_manager.py @@ -1052,9 +1052,9 @@ class EmojiManager: logger.error(f"[错误] 删除文件时出错 ({file_full_path}): {str(e)}") if cleaned_count > 0: - logger.success(f"[清理] 在目录 {emoji_dir} 中清理了 {cleaned_count} 个未追踪的文件。") + logger.success(f"[清理] 在目录 {emoji_dir} 中清理了 {cleaned_count} 个破损表情包。") else: - logger.info(f"[清理] 目录 {emoji_dir} 中没有发现未追踪的文件。") + logger.info(f"[清理] 目录 {emoji_dir} 中没有需要清理的。") except Exception as e: logger.error(f"[错误] 清理未使用表情包文件时出错 ({emoji_dir}): {str(e)}") diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index 3dc648ec0..e4aa28ab8 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -230,7 +230,7 @@ class HeartFChatting: self.log_prefix = f"[{chat_manager.get_stream_name(self.stream_id) or self.stream_id}]" self._initialized = True - logger.info(f"麦麦感觉到了,可以开始认真水群{self.log_prefix} ") + logger.debug(f"{self.log_prefix}麦麦感觉到了,可以开始认真水群 ") return True async def start(self): @@ -261,7 +261,7 @@ class HeartFChatting: pass # 忽略取消或超时错误 self._loop_task = None # 清理旧任务引用 - logger.info(f"{self.log_prefix} 启动认真水群(HFC)主循环...") + logger.debug(f"{self.log_prefix} 启动认真水群(HFC)主循环...") # 创建新的循环任务 self._loop_task = asyncio.create_task(self._hfc_loop()) # 添加完成回调 @@ -439,6 +439,16 @@ class HeartFChatting: # execute:执行 + # 在此处添加日志记录 + if action == "text_reply": + action_str = "回复" + elif action == "emoji_reply": + action_str = "回复表情" + else: + action_str = "不回复" + + logger.info(f"{self.log_prefix} 麦麦决定'{action_str}', 原因'{reasoning}'") + return await self._handle_action( action, reasoning, planner_result.get("emoji_query", ""), cycle_timers, planner_start_db_time ) @@ -760,7 +770,7 @@ class HeartFChatting: cycle_timers: 计时器字典 is_re_planned: 是否为重新规划 (此重构中暂时简化,不处理 is_re_planned 的特殊逻辑) """ - logger.info(f"{self.log_prefix}[Planner] 开始执行规划器 (JSON解析模式)") + logger.info(f"{self.log_prefix}开始想要做什么") actions_to_remove_temporarily = [] # --- 检查历史动作并决定临时移除动作 (逻辑保持不变) --- @@ -948,11 +958,11 @@ class HeartFChatting: logger.debug(f"{self.log_prefix}[Planner] 大模型建议文字回复带表情: '{emoji_query}'") if random.random() > EMOJI_SEND_PRO: logger.info( - f"{self.log_prefix}[Planner] 但是麦麦这次不想加表情 ({1 - EMOJI_SEND_PRO:.0%}),忽略表情 '{emoji_query}'" + f"{self.log_prefix}但是麦麦这次不想加表情 ({1 - EMOJI_SEND_PRO:.0%}),忽略表情 '{emoji_query}'" ) emoji_query = "" # 清空表情请求 else: - logger.info(f"{self.log_prefix}[Planner] 好吧,加上表情 '{emoji_query}'") + logger.info(f"{self.log_prefix}好吧,加上表情 '{emoji_query}'") # --- 结束概率性忽略 --- # 返回结果字典 From e3be745452ca868e85f73692764372e19e12f08c Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 01:54:06 +0800 Subject: [PATCH 38/43] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9Looger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/heart_flow/sub_heartflow.py | 4 ++-- src/plugins/heartFC_chat/heartFC_chat.py | 4 ++-- src/plugins/heartFC_chat/heartflow_prompt_builder.py | 2 +- src/plugins/heartFC_chat/normal_chat.py | 6 +++--- src/plugins/heartFC_chat/normal_chat_generator.py | 6 ++++-- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/heart_flow/sub_heartflow.py b/src/heart_flow/sub_heartflow.py index 75918e1b7..8d07e6b52 100644 --- a/src/heart_flow/sub_heartflow.py +++ b/src/heart_flow/sub_heartflow.py @@ -511,12 +511,12 @@ class SubHeartflow: # 取消可能存在的旧后台任务 (self.task) if self.task and not self.task.done(): - logger.info(f"{self.log_prefix} 取消子心流主任务 (Shutdown)...") + logger.debug(f"{self.log_prefix} 取消子心流主任务 (Shutdown)...") self.task.cancel() try: await asyncio.wait_for(self.task, timeout=1.0) # 给点时间响应取消 except asyncio.CancelledError: - logger.info(f"{self.log_prefix} 子心流主任务已取消 (Shutdown)。") + logger.debug(f"{self.log_prefix} 子心流主任务已取消 (Shutdown)。") except asyncio.TimeoutError: logger.warning(f"{self.log_prefix} 等待子心流主任务取消超时 (Shutdown)。") except Exception as e: diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index e4aa28ab8..b9c50b402 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -1001,8 +1001,8 @@ class HeartFChatting: } anchor_message = MessageRecv(placeholder_msg_dict) anchor_message.update_chat_stream(self.chat_stream) - logger.info( - f"{self.log_prefix} Created placeholder anchor message: ID={anchor_message.message_info.message_id}" + logger.debug( + f"{self.log_prefix} 创建占位符锚点消息: ID={anchor_message.message_info.message_id}" ) return anchor_message diff --git a/src/plugins/heartFC_chat/heartflow_prompt_builder.py b/src/plugins/heartFC_chat/heartflow_prompt_builder.py index 1e5d8d21f..66cf6af8c 100644 --- a/src/plugins/heartFC_chat/heartflow_prompt_builder.py +++ b/src/plugins/heartFC_chat/heartflow_prompt_builder.py @@ -88,7 +88,7 @@ JSON 结构如下,包含三个字段 "action", "reasoning", "emoji_query": {{ "action": "string", // 必须是上面提供的可用行动之一 (例如: '{example_action}') "reasoning": "string", // 做出此决定的详细理由和思考过程,说明你如何应用了回复原则 - "emoji_query": "string" // 可选。如果行动是 'emoji_reply',必须提供表情主题;如果行动是 'text_reply' 且你想附带表情,也在此提供表情主题,否则留空字符串 ""。遵循回复原则,不要滥用。 + "emoji_query": "string" // 可选。如果行动是 'emoji_reply',必须提供表情主题(填写表情包的适用场合);如果行动是 'text_reply' 且你想附带表情,也在此提供表情主题,否则留空字符串 ""。遵循回复原则,不要滥用。 }} 例如: diff --git a/src/plugins/heartFC_chat/normal_chat.py b/src/plugins/heartFC_chat/normal_chat.py index c159a329e..60a6d7cbb 100644 --- a/src/plugins/heartFC_chat/normal_chat.py +++ b/src/plugins/heartFC_chat/normal_chat.py @@ -443,7 +443,7 @@ class NormalChat: logger.error(f"[{self.stream_name}] 任务异常: {exc}") logger.error(traceback.format_exc()) except asyncio.CancelledError: - logger.info(f"[{self.stream_name}] 任务已取消") + logger.debug(f"[{self.stream_name}] 任务已取消") except Exception as e: logger.error(f"[{self.stream_name}] 回调处理错误: {e}") finally: @@ -456,12 +456,12 @@ class NormalChat: """停止当前实例的兴趣监控任务。""" if self._chat_task and not self._chat_task.done(): task = self._chat_task - logger.info(f"[{self.stream_name}] 尝试取消聊天任务。") + logger.debug(f"[{self.stream_name}] 尝试取消normal聊天任务。") task.cancel() try: await task # 等待任务响应取消 except asyncio.CancelledError: - logger.info(f"[{self.stream_name}] 聊天任务已成功取消。") + logger.info(f"[{self.stream_name}] 结束一般聊天模式。") except Exception as e: # 回调函数 _handle_task_completion 会处理异常日志 logger.warning(f"[{self.stream_name}] 等待监控任务取消时捕获到异常 (可能已在回调中记录): {e}") diff --git a/src/plugins/heartFC_chat/normal_chat_generator.py b/src/plugins/heartFC_chat/normal_chat_generator.py index 02baf94d4..6c7abc7dd 100644 --- a/src/plugins/heartFC_chat/normal_chat_generator.py +++ b/src/plugins/heartFC_chat/normal_chat_generator.py @@ -82,12 +82,14 @@ class NormalChatGenerator: sender_name=sender_name, chat_stream=message.chat_stream, ) - logger.info(f"构建prompt时间: {t_build_prompt.human_readable}") + logger.debug(f"构建prompt时间: {t_build_prompt.human_readable}") try: content, reasoning_content, self.current_model_name = await model.generate_response(prompt) - logger.info(f"prompt:{prompt}\n生成回复:{content}") + logger.debug(f"prompt:{prompt}\n生成回复:{content}") + + logger.info(f"对 {message.processed_plain_text} 的回复:{content}") info_catcher.catch_after_llm_generated( prompt=prompt, response=content, reasoning_content=reasoning_content, model_name=self.current_model_name From 261f93530d119124ecea5e4233f2014e6156372b Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 01:59:28 +0800 Subject: [PATCH 39/43] =?UTF-8?q?fix=EF=BC=9A=E5=85=B3=E9=97=AD=E5=BC=80?= =?UTF-8?q?=E6=8C=82=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/heart_flow/mai_state_manager.py | 4 ++-- template/bot_config_template.toml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/heart_flow/mai_state_manager.py b/src/heart_flow/mai_state_manager.py index 20f8f8ad0..29277820e 100644 --- a/src/heart_flow/mai_state_manager.py +++ b/src/heart_flow/mai_state_manager.py @@ -13,8 +13,8 @@ logger = get_logger("mai_state") # The line `enable_unlimited_hfc_chat = False` is setting a configuration parameter that controls # whether a specific debugging feature is enabled or not. When `enable_unlimited_hfc_chat` is set to # `False`, it means that the debugging feature for unlimited focused chatting is disabled. -enable_unlimited_hfc_chat = True # 调试用:无限专注聊天 -# enable_unlimited_hfc_chat = False +# enable_unlimited_hfc_chat = True # 调试用:无限专注聊天 +enable_unlimited_hfc_chat = False prevent_offline_state = True # 目前默认不启用OFFLINE状态 diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index 23368ccaf..c924d35ab 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -104,8 +104,8 @@ mentioned_bot_inevitable_reply = false # 提及 bot 必然回复 at_bot_inevitable_reply = false # @bot 必然回复 [focus_chat] #专注聊天 -reply_trigger_threshold = 3.5 # 专注聊天触发阈值,越低越容易进入专注聊天 -default_decay_rate_per_second = 0.98 # 默认衰减率,越大衰减越快,越高越难进入专注聊天 +reply_trigger_threshold = 3.6 # 专注聊天触发阈值,越低越容易进入专注聊天 +default_decay_rate_per_second = 0.95 # 默认衰减率,越大衰减越快,越高越难进入专注聊天 consecutive_no_reply_threshold = 3 # 连续不回复的阈值,越低越容易结束专注聊天 # 以下选项暂时无效 From 6718f81839f65281f83774ea8a2125a2906fa5c6 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 02:03:50 +0800 Subject: [PATCH 40/43] Update normal_chat.py --- src/plugins/heartFC_chat/normal_chat.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/heartFC_chat/normal_chat.py b/src/plugins/heartFC_chat/normal_chat.py index 60a6d7cbb..9ed63c2df 100644 --- a/src/plugins/heartFC_chat/normal_chat.py +++ b/src/plugins/heartFC_chat/normal_chat.py @@ -358,7 +358,9 @@ class NormalChat: processed_count = 0 # --- 修改:迭代前创建要处理的ID列表副本,防止迭代时修改 --- messages_to_process_initially = list(messages_to_reply) # 创建副本 - # --- 修改结束 --- + # --- 新增:限制最多处理两条消息 --- + messages_to_process_initially = messages_to_process_initially[:2] + # --- 新增结束 --- for item in messages_to_process_initially: # 使用副本迭代 msg_id, (message, interest_value, is_mentioned) = item # --- 修改:在处理前尝试 pop,防止竞争 --- From 54fe078e90c954a5c157ed39b5b9789c12c4059b Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 02:05:34 +0800 Subject: [PATCH 41/43] Update config.py --- src/config/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/config.py b/src/config/config.py index e6cf16d4d..fbf558a37 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -22,7 +22,7 @@ logger = get_logger("config") # 考虑到,实际上配置文件中的mai_version是不会自动更新的,所以采用硬编码 is_test = False mai_version_main = "0.6.3" -mai_version_fix = "" +mai_version_fix = "fix-1" if mai_version_fix: if is_test: From 2d062118bb9de7850fab52d6048ab68b16128ca4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 30 Apr 2025 18:05:45 +0000 Subject: [PATCH 42/43] =?UTF-8?q?=F0=9F=A4=96=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/heartFC_chat/heartFC_chat.py | 6 ++---- src/plugins/heartFC_chat/normal_chat_generator.py | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index b9c50b402..73d679e4e 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -446,7 +446,7 @@ class HeartFChatting: action_str = "回复表情" else: action_str = "不回复" - + logger.info(f"{self.log_prefix} 麦麦决定'{action_str}', 原因'{reasoning}'") return await self._handle_action( @@ -1001,9 +1001,7 @@ class HeartFChatting: } anchor_message = MessageRecv(placeholder_msg_dict) anchor_message.update_chat_stream(self.chat_stream) - logger.debug( - f"{self.log_prefix} 创建占位符锚点消息: ID={anchor_message.message_info.message_id}" - ) + logger.debug(f"{self.log_prefix} 创建占位符锚点消息: ID={anchor_message.message_info.message_id}") return anchor_message except Exception as e: diff --git a/src/plugins/heartFC_chat/normal_chat_generator.py b/src/plugins/heartFC_chat/normal_chat_generator.py index 6c7abc7dd..ea698bf2c 100644 --- a/src/plugins/heartFC_chat/normal_chat_generator.py +++ b/src/plugins/heartFC_chat/normal_chat_generator.py @@ -88,7 +88,7 @@ class NormalChatGenerator: content, reasoning_content, self.current_model_name = await model.generate_response(prompt) logger.debug(f"prompt:{prompt}\n生成回复:{content}") - + logger.info(f"对 {message.processed_plain_text} 的回复:{content}") info_catcher.catch_after_llm_generated( From 93e872db6b7992cd4e582b38d605c0bd8de63258 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Thu, 1 May 2025 02:08:19 +0800 Subject: [PATCH 43/43] 123 --- src/plugins/heartFC_chat/heartFC_chat.py | 6 ++---- src/plugins/heartFC_chat/normal_chat_generator.py | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/plugins/heartFC_chat/heartFC_chat.py b/src/plugins/heartFC_chat/heartFC_chat.py index b9c50b402..73d679e4e 100644 --- a/src/plugins/heartFC_chat/heartFC_chat.py +++ b/src/plugins/heartFC_chat/heartFC_chat.py @@ -446,7 +446,7 @@ class HeartFChatting: action_str = "回复表情" else: action_str = "不回复" - + logger.info(f"{self.log_prefix} 麦麦决定'{action_str}', 原因'{reasoning}'") return await self._handle_action( @@ -1001,9 +1001,7 @@ class HeartFChatting: } anchor_message = MessageRecv(placeholder_msg_dict) anchor_message.update_chat_stream(self.chat_stream) - logger.debug( - f"{self.log_prefix} 创建占位符锚点消息: ID={anchor_message.message_info.message_id}" - ) + logger.debug(f"{self.log_prefix} 创建占位符锚点消息: ID={anchor_message.message_info.message_id}") return anchor_message except Exception as e: diff --git a/src/plugins/heartFC_chat/normal_chat_generator.py b/src/plugins/heartFC_chat/normal_chat_generator.py index 6c7abc7dd..ea698bf2c 100644 --- a/src/plugins/heartFC_chat/normal_chat_generator.py +++ b/src/plugins/heartFC_chat/normal_chat_generator.py @@ -88,7 +88,7 @@ class NormalChatGenerator: content, reasoning_content, self.current_model_name = await model.generate_response(prompt) logger.debug(f"prompt:{prompt}\n生成回复:{content}") - + logger.info(f"对 {message.processed_plain_text} 的回复:{content}") info_catcher.catch_after_llm_generated(