From 59037f68f008bee2d6cba4d03e957bcd111d51e8 Mon Sep 17 00:00:00 2001 From: Echo Date: Sun, 12 Apr 2026 16:58:27 +0000 Subject: [PATCH] Fix Duration import: add #[allow(unused_imports)] for test-only usage --- .a0proj/memory/index.faiss | Bin 1306669 -> 1306669 bytes .a0proj/memory/index.faiss.sha256 | 2 +- .a0proj/memory/index.pkl | Bin 231653 -> 229938 bytes src/auth/mtls.rs | 1 + 4 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.a0proj/memory/index.faiss b/.a0proj/memory/index.faiss index 275ed658c1d92fa7b943cb9f55d2b78b1bbd9d2e..1d7dbcb4e86f554fa2630ad5c44e2b266c4d5e41 100644 GIT binary patch delta 16574 zcmX9_cU+C%A6MEUl7>p6Qjt+a_k2!?keQkJmA%O>8MmcUk{K1UN=QaT_k2#u9+5pF zDf{QmG#_ul7u&iQ=a>+{^FgHHnvJ`D(u){54St{bfrtsAWutsiX=Z5VA7 zT`$@=x_)$nXp`uM(T$Fox;@?NR&6?WuiMUJsV+n37z6Q!}4DBVPJoARcoDeR;P?(;;9_*y@`z+H*5u11q~FN zyLjNK2Vb#Ia5fA!GQx3(HbMQ}%b@vA#LWYS!6}bKap^=0te#}U!}m{zV}UXGEvEab z@zJwP#MMmBnQ;dF<|fG^n;vZ7h*lU|c?XN9>*8qFZKBbZw%B-e2)GrQGB}llcJBLd zjpYsui4Vjv=f2?5P5Uuoff+O&m#bQM`UZQuuDf(?KM`m2z6$L&I!m^!5J%YcmX_7P z$D|y_kRcH;A*YJnS*6}0;^WM*%Q3-SI;_IB?1bux<*EFWrnm7`Ofb$o`IPNhf|}P) z#$oEp+0wHz52kLO!QZYsBdxq`acIS1-q0lt3}3gEyN-0`v>;fw^p|F5HwRSCH=uPb zOf@|&PI+&K<_S%u!|9`#@XZA#KD3c161StF`gIO#Rql*NU7O?l88Ljx;D->t{|(SW zAZ?@zWK@*kt5L1_+okrjm~n8g=W3|wrpHh0?kW!5sLyNAl{+om1i=SQ@pk*Yc+}+q z9{s%$x~}_+uAAyHsvJztKLhs$ZG(+9tHAJ)t(>=WG}f(Hhq$XusDHNB;?D!_iO6DI z(By1{iTdODleW)ruKPuHCtZW4AMKEOt5U6>0Hw#4fR*<)Y_~BB9&c|7Pb_`pZ!<4B z*WDk~j>jaGm`~Zg6ZGx&i*LT;K=;!!*n7SPsWQ+g=Q^Ixz6O_J1o{~F5ql5c#+Dxz zt9g$nEqHf}X4pL35adh)8GW4NhV`+S{`WSNTWa&QQ|j>2V?VI!Yn+_@GLf}1dCvk{ z*THLG%{s(=gv4XEJZSuJo^kUaq&Eox0;}92r^(TQ;~_1$FK&JOSX^g|aQ=(^;`!ty zOu<9{wY!uSKV{R=+_wa?Kd-d3PhwV#EdAt}=f4N~km8 zGu&?9iia%h$ajwDi36J4hj(>`qtUEM^6{N2u&o*?Gj6(ZhwO%uHo`hB-wmg$>qx?i zP<=DPzq4IAt`?Zr(d}Q=7Cf+mm+E($;Y4CHp6Oczr@WiNkU6WNw>e{DKkbC3yVAv& zLpL$M&w9~eegHAS7Cf~dfPw|r_T{P;>T=QQ$7LX}f|}ih0~s->zvl^D*>njPOn=G- ztZam>SKVe?_MQhjcNeT2c@fQCPJ?=fa)qY!KHJv$I;yW;)t6yKAE3?m*Ih21*u`ST zn7~Sh8(2`92Fh;Y97ou=!^d&|c|$k_E@qKT!GR-k?DL3q>R zF!bwugeaG#{45+!yTg|+j{HrF_WbXsAb1s!$_rj*L#10ZYqx4MtU6Yz21~sl`E|)d z5)}zVH+)v}661PY!0r~?`H?*>@$sqtvhd6h)#@o++?dv)VA$}p_{Hd=*t*vct~(C# zy6lw4wwZ6!>>P2PRgX-NXRqyLy}#;Xy@w%m+$}NnqZa>A?*L1_ln#wwt&t%^w7AE> z#bSGAIYw_(8_7&ez^;=S?|$?vemg=vu^1z!pWVzou5<;Wi2Pyr65h^jD93)XS9XE^ zds`{Hz*hlHA*ic1?=)3Q_31(==*;fLZWV1{3O%2GOCb90<25&n@yDD*`JkO2+`M=E zAI&dRZ9|>mj(kp4C|*!kZ4)0l2g~pkj&hrQTiHMJEWB`A!DH{{VtQCQ^m40<6F(M+ zLm@TLum2DX>f2cM{qjsTywgm++sH+BcPnH?dMzdG7?%Hc2&rO>c1Oo}i=UqBamnD( zFuLn0m=RQkm#&_bf#>fDYPHbo)DPXqxS{%j^#t_J9U+Nk>_lWD@6s-Y@AjPSy>HD@ zMi+#y6TPromJvVYQD4p(YA;OnyYX|U=b~#}yg4q)ZYS%yeg_4y zXM)TWX2=irSJ7?iQs}dCfUsKh37Vet<-=1OBmInKeHsbUewjOdvv{IyE4#ik=k?AF z^CBwClHz9wcRG*?CJ4jd*J*)vtXQWEc6Qq%s73Nusu|%(eGy20d93z#&BLkMxOm5R z^u83v8#asgB4BdsMjle{a59pdvadadyo7w%uC8aS z2n2Lm-co)~y#ZwdHAp37WWUTHG!1{dj+QN^7m4G20wn3V{2Znwy<<1xV%?oQ@X-=* z+VKELQ26SB){IWd=>p=|$1+&?H1rk(gXE(D(Z z%hU_q6M*REMPAIR){c`Ie?CIWx;^OMrVOvMuWZ+ak=!jW0yo7BR1NA^4b^W3@k`}X z;J{%E7BbdUDJ7PvEIDx*TMn^PfQ%$cngv4&KvOzG5gyr5HIyem@deA0RrtH>a#&l_ z6I$NCO+w_MmY=$HM{+a8TJh?AOF{I)Cf=nu>}CV`C#oO!scFT(e8~VjsRpm@DPq)( z)*|%BboiCw$Vc5cfE%@}VQ}*{aO~rMw19M;@n@c#kP|HJT5XXeUf{96K2^|HvMJ5@ zb;nzx*_kFlt%F&sZTNaGbuxZlX)0e|DiAj|z7lVj?t~S^-Q>;p_c*B+l1vKIkLmE} zn?Dqk#B(woJob>WY*&!9TO1jx5s&W#D>Rd1Lx!tf`>n!nnQ`*QinDOxg|T$$ULTL`BfED|IV($w|^9!x2LZRWO;Xeo#t zTxmt!KOXX4Ph%Ob6G6_kRaG!!f^<3Hh6+R0wC%>}gmRkR3NU$f1r!iFWUtj&%#3Br zK3L28iKBQFOHo{s`QE+;jThg+QRh=}&l2Ejl2oqPYDb5oNcIR;z1zwI!kLdZ(3gr~ zJdM2xGkW)zJ;TC~lun*c&L%)*v;01$7-k)VgPUjL&dwYDQPpd^l~jOQk(GcyCj{cC z*H>A<<4EN-GPmux-YZ#EQ}F@5rw$@ZUjnm#wo{8h&qhE!QT&?pIG&B$6D{e2F!1w= ze^gO$a42LkvxwNI8W2`TW~I8bQNmE>d@2-*loAlRzF`~^7GU<{ox<@>c z3c~Fxe{g+37p}Bt)#YW(zuRB9`auKwh6eaqedI3uPO2-9Htvk{A{+0bB00V<{MW67 zCc7iCpu`9jAQ40Ok(Bi~xJeo-wQ9j{^}Gb`&z>t08%GY;=f=%?LAZ{VP;`I{3~N7k zLnQ^#XQB3H5|fLq$iQ~8PWxW7ew{nO{ldd&_&NvFsZVq;$DsUQfS@Fc1dxAv?P%>l z7P|^hMAlbKM(iwGDy)L8!<}>$mTaOBTJb@c>+4FQEb7d@z+U?q7C23hhR~~y6kO~$ zWl2bV0rd?s@J#JY7;5&F zB6BAsioy2Gi7F+zersKD^301%p!oXGKQ~!u`2}o#;xRs)zX6P9y&%(BCGS2rSV3aN5JZTJP8k2H z`ZCgJ1(a&Z5?_mm_gz@8TQkA6Y0A-Dg?1Aakqs5t_Q5ag@3vTu7 zjVl`*V%z$E!f&m;`KGP&@$KBToaC3&0{O-GML>xM!VVPUZlirdiDNf5PT_Z-uY!O% zm!KrihZ87CJ=1Z=o1NoE83dxC)Y4+m2MaDV6n*6O~6eD}5^jnDOEmv(wQ zZNL@{@t1<=6TDDmOJ05){bG(F0ZS9tqnG^V`&9GjZWB2@KL(Sw4Py?yreTEDZ;??E zprj+V(7m2ilD7H5*{DQ2b#2)WoVlw2JS#nM|AfvOLMG44e~uJBL=>~)T1TSg9!%R`fO2{>7AHEwpZ;Ik@Uv&@AJvFoW=G>K0I^OJRC!-8S* zoOWIQ%RL?I-YY|g;?v@F)+|i9n<)$%XR>KQHfp{#cOJYkc_QjQz9v>z<>2DqD{+v= z6)5Z$&h~Bi&JO?7Q+0}Kh&Qvw%R?6fiWEMRV03^ zScqmD4v2GpJJ^H4^;L_*0@$VGQ=(=`eZ2bYJq&hy1Kr0vNt1Q;P`5}AH=20h=%S;V z;KWF{lZYLe7-8b$HgtsNp}<;Dk%ioHO!+q zpy|a()!ZV9VdsA1xuQ2<*6=ItJ%ph4*t{6tM(0B7kWbLl`=jXF#Rm1WJw)4kpD~T6 zV7&-Ko)ooGn;_gBug`V+Ai#9+*cUS@`N5VO|>18kJ{72 zAbGJP|Gh(7&d+{}tE<}b0i`N=(S9cP4f)M1UtWenmL&eHZ?5JODq6ug?Wp`4hX%8& z&t~%xqYBxI4bN3dIive62GA_C&S@PnH%44 z&|h9?cNMFP{%UAftnK3$;xKmrY7rFHeg%hHx%}8r3!dbEO4Z%cQU>Tn$e*$g%T%eS z;ew{uu*%R#mQ66Ba<=8P5c#}fItcdOl zT4=KJ66kdfk`prH#dUcM`YpJ~8y4JQ0|M(HU4+?W7l=i=OJ#chH0Wb|7tL#J;qf*m zk0o`7<2shiTwQA`gG=n7&F2$>`R)Q}6Cg6qnqc{V-l%|ws0XwFwl1#)_Zt2K8hu<1 znM)%etauJY-A#j-+$l)MvYQUAfT##5C7o2Nb7Rnd`zNs~$qnqoTJqHk-q7b>K}c0g z`KxsfbRX3T7ucWr2TJt@^F6}IxD!}wn#&5xfDMM1i(bx6F+boujpBXL=|mN-3ET-; zJ4;2+&=l6V**&=7Zip9~)@r&xt^%#kJE4g|xDdWCSaDSeL@aJ9r=|K!{Tb$7|Jirs ztA=XH{$sylV~Z*LP+vVBa!^mxIMs%)3AE?!`uVFx%dt`|a?& zh3P-)RP!E6&+zr3GTi3elkb|;03TaLupc+K;XvPm{FS?zd?kG(m79}pfZKTMg2iDa z*srR-v^Zjdd$aoDbC)QUM^iVv7I+$FE>4mX~xZ=Mk*@L0y>? z(4J+=?Xv4BecnXNL@JymCdh|HUvN>}5h&GeAPL2qH|v{#&h=URdBq!CmAsv*=1v-- z4Fmrs!AH-bs-)r{;5B@Ss^ykg4D;^@w67$*0{pi!P?xSQUKAGo2x&! zkqv!~rQ^9lY?Ia?%t>3R2oCX8n`eJs0t(7Q|I?Rs$FEdCgj4}yg9GoKWGvZ4E)$`A_;ybixm1XOJXU@}0Zk;Q0SEv||=s;wq*EZO!)#%aMb#(xLR?OGTEsUEE4<@6@AW zNVD&#fGzP^Ki>O(Q`xoF1A=4LL56=H5l}orUafcx+x8^Dkf3$&Zt)EGc0P7!v}WZ-=4*cdg`XF=kFeIxb*pQ`(}S9`~6PpyB4H zs;Kc7AhumL9(BHfi^J3<_%_-Db4SO)y1ZSgcZ&yMV68V)`{m(@DnDB32cTW?5ij4t z!D-h-Vui%^-mhS9>qyjZ{{dW5_e$dUKYi%r6G^zJgiaCZ@ZzQ^G`p`Ok4HQM(hC0M zQUuQ_Yr(s&43e|Q0~qQ0$rY(Xq`kU&DZ7>W7ph9eLuK$d_IF@i)fKUk6L^5C0W-Cj z++4YwE~qW9Sto1Al$gTd&}T&`d?(3oGh0g%75+|ZISzK5js!gPuy2MhuI%LJJqtjg zE*Tdmi5HjaZRBOs!xj65Be}oWt_pvtP6#U{$4dm|&HAoZ3g|cq33q!r40DDoALsvf}%iWG$SIptJ%zMajVSbWYDK%Hrbf2#17G~KtmkPRn zwQdVngc$^vr2j)Jl~yiD-k>3KVNM>M_<_akVW6*@j2d;9fAqYq5~|Pm@u(GV+D}6N z^ai|t`Wmdgl8r&e&ydm(f08s3w!O1N<+-+RsojT zFJ^5=?Z@R=o#fc$xX$E;f~;E;GHW)PhfEcf!B0`i1Is*~og}L!P}(b^B@4_|qzz+{ zbVm(DGbPvYmZc7I_kY_&sow#3lJtNr&D#uzf5vD?3m`hNz8t!tAM2!B3cso&WPV_0 zNQk&1e!1K6Wo@dF@PdgI98Q_^CMsqDDX93**%1jZlovX1eV5-z@4;g$Ek+(A#zl0J zc5%A6B#`d^5U@C{nk7Cf#^;mT@#Q=H_>Qp2{8`l~>KS?e@QIvkR_d%>K$YlVx&M?C*?9jq+! z2i+b;O#7t|pQ7p|ywtY}fC2-C9E{=q85418o0pI~+JN_RP6f-Ceem=yEgoJwRMz~y zz=C=j;y@MPkDIo5!Fi0R|12JeuFQF-rJVT8lec|535TtG3uG?r!{9BTnALQXZFG;{ zh~Ki!6Vd&?AQ>0SDcgmy*^8jd*cnnClDUadv}U6&?naq)msD;5D)IW=4}F-DXUr9= zeY1X(Adqo|Mus=y;IL*kG~50N6$hM`J6bl|{0@z0<$=ZA8m98!06fbK6Kc|t{9PK@ z8wf@1I<%`(@cPY4@L4@jDDteA>mZF*tx%(r$8n})|4#?9aI|_8dM=QH5(>}^fJ)ga zY<*$asr7JTX1pYx1D%l1TplhGBKiUu5mSuHy7LU7@gD}=?F{+3i=`qUz(l?u|3`^w zlKHmail5M8VYFu~EKF(vHuFqDdw*lh`>oCt>hmdRt=WNBYP!l*jVr{uLq`NIOk)&2 zgd#BR&L)J3v#dksMUsXQ*k^tSx>eqQk#}`v+flC2H^LQC`~5{FjCkBnLduVvz{PDxp2_+M5t8Z6;sz7g*eXUz#%$i6q`G!02>@6o7C zDars+?dJ(J386y00^0*Pv$i)L-IEN(^J8%S`?`wQ0L=@~zQ~5zI_vOTJLiHD%MvF= zDMH3G&eC_rak`W(n{m4v8*t5kbo0qgivX&=h|s14z9dZ|Q#gy;hZ;*tyo~Z6%y(|j zDLi7}=c};h)(luZE0pLp15Jug;5)6~aCMRc1b*(%muDSkbB2uKX+=Yn3$p97qv8)h z;}+07NXe=@hS%OkQ^$*5nI0h!=6?(cz|8Ycg%E1#!be?f$;aegXNvvS{O$!5tx-Yj z9j*D8xl~ID7+y4p3a23sVC01Ysb+N>cQ;9B1SpyWU`g-;;vqB7+W!Zj7o&E)bamfY0Q9|@&0FRU6H zdF*H7>F)LWeQ|=uCVp{(j$*w)@k%r@8zoo08UjOJ7oumYX8iTrt#r#KM$WNm1-(O? z^X3cQVpWM2Z|i#!I=VT?67P?&VB1J$_hMiEEQdpCnd19Y^(DZAhwFX8GrsEp8tOyj z%vR!_!*JY$`@pEpe254pPe@Zs`XBdgtzK zZx7+?cea}B-)XqE*bBSZC5uB}OjTnGQ&bMuH}Q9m8gQjL_v7pF4^yvT(7=ay!*e=! zKCLg_1>X|8?YuSD_w5(2A||5@%w+0SgA#>x^>J~(*&xjSQ7its)Mu+pFNkg}e5#N7+&Alry-L0RzwQW13dEJMc_)%)LQXhh z#J}I4jZ{|Fv9N+^zAnZkHFdaoa9vK-lQZNGFZ)OKY=&Hdx7!54*;_;9+Xd?3=oiNq^vyc*muFKT9D#z1;SY|A z{y&GpIQ7X!-0|85spSx>>|7H1dH<;<(qQLt&A=diPAHaH^;|{v`Uyx3fUuRma*>V+ zF{P38bh70$osOuSg6@I>#KRv=z;%$nknad-Z)UKSJG&T#F-Lw@POsuwrV*r^h1E8O^@&+8;DP};t2$GgY7pr z_X3S@5wdip9)ar#DyT2&lPdODt7K`kE}tpBQK~Y+cD$oX=b$hDaHFpL+uDS?t36zm zljGnKbvTt11HN8^d3(!YX@q3E?7M<`!6DUzTw|%qz72QRHPI$5xJ%drflGNE8vfZ4tB_^lA44fWQOC7y4me-6!DQDVq}p@W<^p5IFxgRVkcK z{uOA~^7`H^eDNg{cRKoEspS>%B;_}#_TOZR3HjNEaH=BqoogvW{um(Xi>CNQ7fju6 z!B&n<<>KQf(Ya+)IpL_f9{<^8E1Vjz9dchqBk`S|y)hVg16`Qr&hx4F(#&80me*$E zm41I&|KEXPpP@58GChZjH{C#TJ)+evejs@YhJM$Uv>;h>Ae$GTILSyyc-*i?_{2c4 zs%zme$-6hVj-qD^BF%w7tnp~)Bqym4=T#9TC8HBu6pzsq#sYR1H6)+RfK35&1gVo$IDYlW zQN@|i>2eY%C2Ejh2YVYG?o$0<5q^ETh^W_q&o#3H0v?PT@Bj%rVo5?TNm`(II)C+{ zxpW@ZFTdaHCQ$IYLUBB<1eBN6E%=x*Q?c9HE;1u~8D$F>7;{10oVD(In%!%02gS$v z^!56DzIf9hY4N8!Mon!gKUe(DC#14b6W)u5W*1;udx3vl*Wibn(LkEdh~N0(Mid4g zd?T*!bLHwqM=lj^oVyuTZO| zGNxsi3Zev(-ou~M!`V#dT+~cB3dZX)6v6rDj$`R*wi7cn_+=11yP=B58(rS9nfZ(O zmhKbae)AzMeYzgKxB9`swNF)EId@sZC<|Vm5G=qO#W^oSPy!}Zgt?rGMp}@Df(d+j ztA@g769B8KHFcXsfT9B{LOgiixm*4%+9>59P(H-yiFTY)6$TY-rpg`HCiu}WOB}DgKAClN+XM8b%B7$#K5E!qzMmN&ud8MwF@sOuTSpSw8RP5eOom@2Odz@-G%+9HB>xZk|x6}hj!B6bPLr195vx3hqd* zE5+Cx+`pwl{66~ti7ot`*D6?d@i@Hvv`3Sc*;tKau~MsLjG!T*Ah>A;P_JOIb|Mgk zP-SU?llO*W#Vbp>a-5BzXpT42o6B2Uw_%?J*8J0OfyxCQsq65Hr9t9Pn}$4R^&=QC zrGf0+B1Myuog&Va3A}Gj8C1nLSRc9cDPT0R?8jP5+2tJPX z;n%u-#jG83;n3F&&}*3kE?LzB$6VM!QhOF()Hn^B)^=&N2tU&~g;y zj*7?2xn}9G&Zfy_w0RWBMzvKb%? zpFG8~2EJ$$5sD^pHge;jx%m&8_7^10c+D?_5-xp_9Dh_ryq2Gb<*UYwdZ|oD>`J}{ zKMiLpWzpVS&*HmzcW~pNYGJm>kW-T4<%#o@B!v5Q_h@2Am>x9>P`tR7Gfz^=&!q=I2G zLVK=cX7%K#3A5R&sMm^f%D9SQ(8;AaCkcj?LDp3244@za-+dkBy%xh@@rD2uYaFkJ zr`nxF){bhJc*p<@w{_qX{D(*ihH%IEApvI^BgI3Sf{3fGD%}G&SFCEm4Yy#&{qx`9R-vLl}sSo@ng(r^8utb(9Eg+ zf~E}vVS&*m$eUXT20J@}NzZZj6v zKo~pCf}<5N=(DA(eErr2J)O3RxMAy5g?-boXSlO6l!)M_j{HdEO}M?qN;#SQbNU|A zEP$gXRUt(+aJWg&2|QW@2a;cDXguTFw;Iaxo%I_;LoQP?xkO2(E5;37D@nmnQ9S|=f~lb_q=$@t+B4fHAG_;+qBSAHH{m=4D*jd4)_ zS%Qv{v&YPr6R*_ZtSn1de|;b{2)B`0o7Kxjn9*zrHaE~|!7Rv|5h(}tuVg9d7OX*1 zS1*IZ#xi)xJZApI61z=umBtY-@ptA0IMyRnqHY@3eDmSs({HizV}%-T|1X-;R3YQ} zzM{D%0r}AhtlNTXc%e;}Q2iam7hnGXqk>lAqgk(+(=6lVOmv;4oM3a}|_M4u9 zd4$8a4%+-zLr=MLbtW|J_e3oYu(!hK(IHG&tBvJnUZASMV(HK&18#qR3nFolY$(d1 zYhVe)o$n@V_M7n&Lx%7@J||eRQ3=dQm2m20Yd+t0tSld|#T#ay`iB8*Sq_e;*0bqf zW9dmaPfnF#Q|gCv>OG#kvK3xUy@3Iyj&ek6^*!u~)nHe@uiP{_1qPox&iWrQk`r!e zK?8`;w0hJC40|@?uci*-gWehNj?J5K-^y`vSBoxkcDopuGS0_KX~Xo!*HvMa4oJKD zhm+BTcG9tOh1m0-8t=PLhxXPM5Kvc(e{!g1o7VxKw)#0__BUk{)SX_UZyDmDDQB_% z+j!hpXE!V}biffd9zws@RD7a!7!Rs;%1?UE7+T^ei|*`K#iZKFnACJk{Ah#yUunUZ zg+DZ#cRW=ERwrSi$z*)Na+Fre>|75RoY#nXnMYu+jw;?DsSrZE%=kGI7aW(TEt7xJ zn3rC&Q7)$}MmrD>F4kiB_!+$VjWaam0<5;Ig!5MtvGR~BOj}-n+k;!lKYf=&=N}QU z(o0t=rT?$283d1ZIXTy&0eg5dQGR_=4}(YVBk)E-+eBKc`P4ZxB(*d}%<`-@s zR~PrD8%U}GygmF`4Yx~ou^Icu!`R57a{G!aVA<0|It_Es7?gb%v_foQtSvKM%z_i0 z>hV9#8u26h%sHC*aQX}z)NT(B&RfS9?~VlJ*aNmL_?A`!c=uYtyj`=I&PsPaY48iQ ztJ0R5J$3k{-h1)Zyx&aKpeBF0T+UavP~RocO_J|>AR+b~)HeDn+byq!{$ELM7uv!7 zmgivW_r|G@N?Bgym&evU!G2bkw?$sx2{h3 zY;zIQR9NGkxyR7NJV#vW-HLyBcvUs^zJVkxN!#kad~(HC_FN4i%s;y>@7k-ibO@Xc zJJT);Rka&eJu`#{``!8cj)_2eAgcA};e-6UuqLBMtQ}{{jcUKa(gmiHs)T(vCSc>B zfjs9)AOSZ5*Dr6RQIs^P!B(JB5^VWQP@+kq;6;tBS z>fAgabyGOcs^S{RYd-O?d$JKf;de+AomKE}(20ZU+E>wKKqK7i{S(1n31rXuF# zYos2t#sjmNBHPx-bqc7g*yoZqUlK)M?M(7Vi=}$lxnB`_oQe{kw|YVRro<-=6o}?#!JgUBn01)w=(BU)rHLC{*j-+ypG!J%!U@Px1AWrdYSCIqy^RffX<6 z0}AEb2HnGg7OC*&mlaQMZ49T!Sjx(RYxwtA3rPycf(%b1^%;rx>|U;(+k+?yW z?r=W&vKzIxj~rcc256yp@y37rn|kaVnRERp?#~zj?>)EBs{G0MCZS&84?&KI%g)7- z%5mPp+DQQ3A|f8-vePpG2Bbd3thkY)SxgyQ;r9;B?paAS8G+EMeuD<54x>V|jlVv#_cKl8 zueN`HF2uXr-*8aF2@g~Rn74!r-@3|L>3&91G#1R?$>L8wgmwS^Jj zxwjtNOU%`Lc-SAjrgxQ7U$=qKLM`69`!Y!wE;$FOTqWf<+iV|tBjv9OpA^(iz zsMVePWvym`Wg|to(yi9c*z=9gmjn#_@Mn zDPWN@0KS+-fz@6YNi+dPd}f`0imRPAf{A{-ps*qN##CODe-af9cyKWc3{JJr_x7R_ z8EY#61$rLr2M2rikoAAG#cyLju;uBU@{MXkWOZpYP@8yYf|0a-UY+l^_9`c31!J{c zBy62q4Ihg42}&<~;=#7Eg=-&nxLz&R?B57RkJ?F}l4nYiktg50fF68}#+B~%DJP`l z#5WB0#_5F(WtsL5q;!NASTRsVRAf5%c-0hg#>Z%tcNL<{e&W!NBS=~IV7obisHCYb zNgF^Ny?h5JHKL5>A>F$q!`lIC@%Qm}D*6zR4YQ=n;YdB?kD|=IE{(VXWuJ#~1%T8N zveY`*m4*ufCQo(J<%)@s_;5`{8l@v^^qa5CZKjXq{dM{ftH#NkCwGBVQFd6?L4KT@ z%>EwRrN(r#GSJ)A0ZDdI@$XX?0 z4gO8hFa0Cqy9=qEduq zt%7H9+t`3*bh|WioW1lscZ(hK916`syrAgwCwT653;P9`;W?9icqFPjUp=Fp6e|v@ zMtL0tMYlEIPO)|a*T6exF3nA!vCJ`^a`lWu3Uzt+cNRSN&?{*BxfS8;t{w#v5HOVXrpp&YoLHj)#a>_bg>wzLbFro z7vb_R;Mnv{28wtJIg`s9C+2dAlO)F**Yz+M|^6(gYw1{`bu(EI<=fokSd&xH0J7u7wK56|~#jN=9oRQ+;%O9xZ zgL^BIfD#nHTJMq9v(3Js#PCP6)UU-TFLz;EeFZnBHU!G+jI368oT@7uIjq71ZO$VF z6xGKyW8pxXo+wo7!Sw!fq&CormjESY?0K+Q(Rf9&k>&?R8jn4XBoo3|pF6m#!x&|^peP{)3l*7*Y&2*QRCHJep^q=&yx3w!B7@PZ&(dGGPL{L~ zmG+t#tcV^6r2!RqW9T2!g8Sms!nIueJF^!kfiScGda#w8+p_Zo6K%4HR`39xdF^OEI1SJIBJst@8u)&sL$R8Sp-Nj2+Ig?;kN?p~(SXS@ra*qpc2AC1r~^q2 zZ1_>54t)EHzRF036jrhEz&45&Xx!`C@mC`bif)tktSS>!NIX%I8)QN-5Al7$dJujjWj|@Hs#0Z=h zngulZ;O*pCC4Bxn78|AfIJem_@KZg2T+(Q8zq;`>ON zuk>C+WtLPau}U^LH3ajQlfwh|qHROWa Z-F_<4yr-NOV%v9+4YyfSL@U+8{{dgZR$Tx9 delta 16576 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 va*}1t8#kBF&9vr{N diff --git a/.a0proj/memory/index.faiss.sha256 b/.a0proj/memory/index.faiss.sha256 index feed5b5..fc29d8f 100644 --- a/.a0proj/memory/index.faiss.sha256 +++ b/.a0proj/memory/index.faiss.sha256 @@ -1 +1 @@ -9534f44d1be42ef69ace79bccd6dfc545c4d15d4e42a681211ab1336b108223d \ No newline at end of file +e294b0a073cd751b5cae0f3e80dae3e6690af89ecb4ac99f3a8f46b79d05bed3 \ No newline at end of file diff --git a/.a0proj/memory/index.pkl b/.a0proj/memory/index.pkl index 9e0db6f1cc424491079ef259105a9753548e1c20..76318baac8498d8fae84d73506a90aa2badc0184 100644 GIT binary patch delta 2182 zcmZuyTWDNG7*2NR#nU#nHTDvFnObPFA>FjORrjHoY!Zo7Nm~Q8weFccXLfg*b7oFw z=4`SeO$$M!h*FeJ5kcE0p{Q62dC~_35i59k6a-rkpHzGmAN*&|rlyyd<(xTZ|Nr~H z@B6>=+og^hiyh||+ZS^;(T6B^@!Zligv1FmO3*IT|1#Qaez=wM+P^nfccU%l(;9lz zTqWqHDHAldWGbk$-ONZ)8u_S4B z?DHCUqK8RnN#G{RP5zW8FD0zMWK*~B$LBFtQS%2g^U*6{Sf zdG3Q0h!}>@fIEmN;Q-450(|Bfg!Zhjq$~Ycdw{CTXJ1 z;XW)0uh}=NQp7mrsRGtnoCpcTT96?nAr3?c#HT#aOmJmxPoc*b7{?XLgF5gso4u;E zOarZ!MNA}ZP_Ch#<>)>}T)P%6(7xd9#m7aI+WH>0jDyS%v4OJ;&`5%ADL{S&EhI=% zWsyAvyihX+QxrY#U;+2`PMTjs*rxA7c}6d%er!xvl2(QRL-|cr-~O z22lOIr$81l*JI}{+qv_neOK7}E;PR!MY}fjP*({~@&ylLy#I1Xu5+WS4CHa989++S z=ONmfE7&&M&CddP>xy_L35jLIHwO~5bB%9(?C-HRo#xwfX#ERtufXT3+QfdQRIwOQ zUVfEI;TOCCHxrw;ij6I^k7qL3rimmmxJ)WLoyBDiFQ6S>5v)No_#c$fj)fjts1^FK zpO9eIEb!&QpMIa0R~O&JMr|1#>$JOJE*N z)^U)h1<(?=+8P$9y+u*iq_s-Rg?=D-mDPNl`3f|KLIrOqYr%oyl3VEhBaG`z)|F+; z_!w1M*c5R)I-c495!`Rt+aaohWg>XP#z?Aw43H1Qp6bl{d)x@-pVKJ6I`f6O5Th*%Mf|)7A&^=~T={G!8z7Y?_&gR3E2$5WMy1}< z1Ju#Hk9)!t5=Hn3u;BgsAuYgBU>Y!P>nnz(5W2OiQ{2vPvDtr@>NJ?e zevN4ihNxn5X%ux%SOJ~aW$em0JAl1`UR%`>#;Hiv3f5p!w`(OAcTn40=t7T~8)NA3 Yrse(Zk40FJ>PaVV_tK&B=##bo0qeKxQUCw| delta 3951 zcmbtXO^h5z74~jnVT~XtD2uRT#kDp#Gs}1eJL?|?5ou=}J1YWS|KUWoce`tI9|nHOuLbI)%LY&hwC)xGnJ z#V1_*9{Z&G>lId8__h1q3HB*>`X%;>+4nzk=+G&?Va*_vQH}RZ6su6A%4j|mD$J}* zc)b^@IG*wyVYSkuq%EyAHfeCBd6b2zibKhVD#W8fCV6Ujq>=&S^jyC z?~JA9-m*&iGK$k_z2R|{@Yu>B!jwUyRXfFRnlPiBYW#|NfHSOoIa3y)UJ-UAQ=A`* z)F0yx9g`$^I3`PYVlwNO$#rVAvn{@|f-U%Zky!htkF0pzEn9ZH-sr5X@U=wdU*_9AP3pV<3npA?v+uNxBRg++IX$nGu3&w z3xvM5htO52r4?bG?*TfJRj>h)6q=Aiu;i zk-`I9tJT3>sr_*z>?CRTjK*s^O(;`35>@<}V#jBo;GlY}T{~ycLG1qd&p! z{X~JU0(jS}rKH18-#wkA_I`t(d6wTyEdlnb*T@T%#Q~n?W?R~D%JDWa9f(OwYywwj z1zEjfZMmM>Og1Qq^FLDjjpd{ZIku#dSn2JDBm%l=lkC)O_|(?X5jl&rg0 zV{Z8>TjF_G(zeSmi_p-dIaJ6phx#OS&z?*i06qn&P)>JrlRbIzk&a&vq)ydvngdF* zP*UeoeP^stFd#k}L7B?KE0JrI#n*Xf+Qg^cs(XE};WUWnj%~7Iv!W?CNIUp*4?yc& zzzTj=9T5vFB4`W*6D+84&d=}{(CGZ^#fu&Of3bANfggX(+rR0hbH%0wbt{_hXTC-_ zU_Cg0fb##n*SWLhURDl_N&Cq(NoBNet64t)M$-<@F06joUiBL?mLkn%h`3+s#9mdJ zyzHS;4vNqqPNZ89=X`nIxL%_WrZpcOxTLAC*5Vk=SqV7U^65=>{77{mapy_*r^Bq_ zF8J)Jx5nV~TR!{Of_rbP8i*%$-;wOvqWkuwTyZ~`u%qr{XJxB3$MFho?xH38{|FcXP7pc^7Jt`FoB>v0|gb&2LRaFTW|L+^H{|) zB=iSU5IiyAHr+qapWtFe!Xoasx6qcSHM`*6o1mW-Cuqa#hF#dj-_->d#AVMdTy>8} z>>st&$xC)4y`IKjD0=O8+wA;o^?c|2r8l#!!AB1rdhxgT**Enuvk*%@T6GplOOx-z zLgMvDCw7wuQUnmM05iS3xi|PV8ple12A!MhCd9QEvvcR6Nl79r2|GC0Z;h$u<(!A`Z=q=!Bl(>dP(mMOfa2~W17E_&=^aWhHy25T}v_EgVYfS`3WJ%SV9;m1c|A^SVPMd zShq-h_)3`^&&9CAdo<$Q?-jc?Ywb@@1J#tQSHTe4R2v=|%tOnylmTL`2Kb(7LGWIb zhDlzoCaMu(BvVYegQ2`UWa&}QL7{L$jtCsn^Fq%8;5XuziK9IL1`$7X7x9~&I`Oto zAU5vLQCJ@WgJGsgUo>G*7IqFrWz+KVN;reupCN2KD}18Yz7)1a=-$5$E%`~tj?Bm~ zdxeTpCQW+9^Nk)VGGhhS2Qx)hIcy&oG8ZX^7vi95Mlw)H9VdjcrM0R@`JKY-yFd8wm-`u7TJVF8hcXkK#xU^RRQrK1^Z1Gz}Puc+;NH@$7WFrdNS%LS#R|_5?Up34(MQT23fFuY}_$&)_ zr+k!Q{(`n7DL8;ad>TTLs z(w`h?@X~M=ge|ML4l_z5g!tf7!=F&76cWB=MzDEU7M1@5FRsNo0rP5q<=_|3LF1Bu zLV1-t9qiP91@cW^vSLnvW`i!2dO@EOZaHD6W_6;ritw=q0vGXzYJx_>hg4!BiSMX3 zU2CK18m0;w2UlCBUdr6Y+}scY_6+-evCI9rOxhw={kd0n?M-%gR!QF#1XE6qJ!628 zp7#GJXR>7)TL+mpB}#gVb9`IVG0YFSN`PuFixiE0~}w+{VicjG=`tveK=)5 GKJp(v0$CRT diff --git a/src/auth/mtls.rs b/src/auth/mtls.rs index b3f03d0..dd9fa2a 100644 --- a/src/auth/mtls.rs +++ b/src/auth/mtls.rs @@ -7,6 +7,7 @@ use actix_web::{ dev::{forward_ready, Service, ServiceRequest, ServiceResponse, Transform}, Error, HttpMessage, }; +#[allow(unused_imports)] use chrono::{DateTime, Duration, Utc}; use futures_util::future::LocalBoxFuture; use rustls::{