From 5a65c6868866d05c3129ccf1f6b352fafc9fad48 Mon Sep 17 00:00:00 2001 From: Leandro Menezes Date: Fri, 22 Nov 2024 16:38:52 -0300 Subject: [PATCH 01/48] OpenId implementation --- packages/api/methods.ts | 5 +- ...ecks-the-page-visuals-1-chromium-linux.png | Bin 83023 -> 83165 bytes ...ecks-the-page-visuals-3-chromium-linux.png | Bin 80500 -> 80661 bytes .../desktop-client/src/auth/AuthProvider.tsx | 45 ++ .../src/auth/ProtectedRoute.tsx | 64 +++ packages/desktop-client/src/auth/types.ts | 3 + .../desktop-client/src/components/App.tsx | 42 +- .../src/components/FinancesApp.tsx | 31 +- .../src/components/LoggedInUser.tsx | 169 +++++-- .../src/components/ManageRules.tsx | 2 +- .../desktop-client/src/components/Modals.tsx | 41 ++ .../src/components/ServerContext.tsx | 74 +++- .../admin/UserAccess/UserAccess.tsx | 345 +++++++++++++++ .../admin/UserAccess/UserAccessHeader.tsx | 13 + .../admin/UserAccess/UserAccessPage.tsx | 19 + .../admin/UserAccess/UserAccessRow.tsx | 143 ++++++ .../admin/UserDirectory/UserDirectory.tsx | 340 ++++++++++++++ .../UserDirectory/UserDirectoryHeader.tsx | 31 ++ .../admin/UserDirectory/UserDirectoryPage.tsx | 46 ++ .../admin/UserDirectory/UserDirectoryRow.tsx | 143 ++++++ .../autocomplete/PayeeAutocomplete.test.tsx | 25 +- .../src/components/common/Button.tsx | 10 +- .../src/components/common/Button2.tsx | 14 +- .../{rules => common}/SimpleTable.tsx | 2 +- .../src/components/manager/BudgetList.tsx | 255 +++++++++-- .../src/components/manager/ManagementApp.tsx | 42 +- .../manager/subscribe/Bootstrap.tsx | 22 +- .../manager/subscribe/ConfirmPasswordForm.tsx | 67 ++- .../components/manager/subscribe/Login.tsx | 330 +++++++++----- .../manager/subscribe/OpenIdCallback.ts | 16 + .../manager/subscribe/OpenIdForm.tsx | 416 ++++++++++++++++++ .../components/manager/subscribe/common.tsx | 30 +- .../components/modals/CreateAccountModal.tsx | 300 +++++++------ .../src/components/modals/EditAccess.tsx | 151 +++++++ .../src/components/modals/EditUser.tsx | 338 ++++++++++++++ .../modals/GoCardlessInitialiseModal.tsx | 44 +- .../components/modals/OpenIDEnableModal.tsx | 94 ++++ .../components/modals/PasswordEnableModal.tsx | 133 ++++++ .../modals/SimpleFinInitialiseModal.tsx | 20 +- .../components/modals/TransferOwnership.tsx | 166 +++++++ .../src/components/responsive/wide.ts | 2 + .../src/components/settings/AuthSettings.tsx | 93 ++++ .../src/components/settings/Experimental.tsx | 6 + .../src/components/settings/index.tsx | 2 + .../transactions/TransactionsTable.test.jsx | 53 +-- .../src/hooks/useFeatureFlag.ts | 1 + .../src/hooks/useSyncServerStatus.ts | 2 +- packages/desktop-client/src/icons/v1/Role.tsx | 20 + packages/desktop-client/src/icons/v1/role.svg | 8 + packages/desktop-client/src/index.tsx | 5 +- packages/desktop-client/vite.config.mts | 7 + .../loot-core/src/client/reducers/budgets.ts | 8 + .../loot-core/src/client/shared-listeners.ts | 12 + .../src/client/state-types/modals.d.ts | 19 + packages/loot-core/src/server/admin/app.ts | 241 ++++++++++ .../src/server/admin/types/handlers.ts | 53 +++ packages/loot-core/src/server/api-models.ts | 2 + .../loot-core/src/server/cloud-storage.ts | 46 ++ packages/loot-core/src/server/main.ts | 130 +++++- packages/loot-core/src/server/post.ts | 96 ++++ packages/loot-core/src/shared/errors.ts | 43 ++ packages/loot-core/src/types/budget.d.ts | 1 + packages/loot-core/src/types/file.d.ts | 7 + packages/loot-core/src/types/handlers.d.ts | 2 + .../loot-core/src/types/models/index.d.ts | 1 + .../loot-core/src/types/models/openid.d.ts | 7 + packages/loot-core/src/types/models/user.ts | 30 ++ .../loot-core/src/types/models/userAccess.ts | 10 + packages/loot-core/src/types/prefs.d.ts | 5 +- .../loot-core/src/types/server-handlers.d.ts | 70 ++- upcoming-release-notes/3878.md | 6 + 71 files changed, 4613 insertions(+), 406 deletions(-) create mode 100644 packages/desktop-client/src/auth/AuthProvider.tsx create mode 100644 packages/desktop-client/src/auth/ProtectedRoute.tsx create mode 100644 packages/desktop-client/src/auth/types.ts create mode 100644 packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx create mode 100644 packages/desktop-client/src/components/admin/UserAccess/UserAccessHeader.tsx create mode 100644 packages/desktop-client/src/components/admin/UserAccess/UserAccessPage.tsx create mode 100644 packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx create mode 100644 packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx create mode 100644 packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryHeader.tsx create mode 100644 packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx create mode 100644 packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx rename packages/desktop-client/src/components/{rules => common}/SimpleTable.tsx (96%) create mode 100644 packages/desktop-client/src/components/manager/subscribe/OpenIdCallback.ts create mode 100644 packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx create mode 100644 packages/desktop-client/src/components/modals/EditAccess.tsx create mode 100644 packages/desktop-client/src/components/modals/EditUser.tsx create mode 100644 packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx create mode 100644 packages/desktop-client/src/components/modals/PasswordEnableModal.tsx create mode 100644 packages/desktop-client/src/components/modals/TransferOwnership.tsx create mode 100644 packages/desktop-client/src/components/settings/AuthSettings.tsx create mode 100644 packages/desktop-client/src/icons/v1/Role.tsx create mode 100644 packages/desktop-client/src/icons/v1/role.svg create mode 100644 packages/loot-core/src/server/admin/app.ts create mode 100644 packages/loot-core/src/server/admin/types/handlers.ts create mode 100644 packages/loot-core/src/types/models/openid.d.ts create mode 100644 packages/loot-core/src/types/models/user.ts create mode 100644 packages/loot-core/src/types/models/userAccess.ts create mode 100644 upcoming-release-notes/3878.md diff --git a/packages/api/methods.ts b/packages/api/methods.ts index a6dec0e743a..5ed53e9c7ec 100644 --- a/packages/api/methods.ts +++ b/packages/api/methods.ts @@ -86,7 +86,10 @@ export function addTransactions( } export function importTransactions(accountId, transactions) { - return send('api/transactions-import', { accountId, transactions }); + return send('api/transactions-import', { + accountId, + transactions, + }); } export function getTransactions(accountId, startDate, endDate) { diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png index 6edcc155e8ccffed081beb7d5500e1fb49217efb..358471ece2fba3cf9deba54bfa222e615e241c37 100644 GIT binary patch literal 83165 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 literal 83023 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
7@W5 z7~q8gCBQEj;dK+`mW0VSll^@MFHH{L%4BAD0*7r|uBXJv-T%rPPF;|KE)yb@3T~_! z)_4g+H$xoB;|}vQu|083K(X}h>1JPq=M2$#ze(|Im1W#tVkEG7!^thDIh6iQxY60g zO_|f&pn{4fX{T58ry+5!9Uly*j!E1rXkQ{@M5Q{#9YSYogo0jBz?2n@g#{+HAYoV5wus5_Po1U3z)}cOrek zRgcrC2dl7`e43g^Wkc;kiZ@o4D={rBvj%D09;(#Q$9o7VUe6xQPC1vY%}`Cr=t(KP zaEf~u>5ZuA39ykR!!i8tRVx%|=HijnWl@pew&(K0;a<@t{#U(;jc zo84X5Jy+j>=UjSK%`dw4*lkU8ize!1(sql@;8_j8jTp0r8(sH4-99PVmw&kcHKN0! z9=WtHFU(JJihlltDz<(|r`L>=Hk++T-<>%d4X5Way^NTB%5_dsG+nAfZpCCKzXkRS z5Niu`SU#tXrBfAWBpDqnnsQP(3+`EUBWTz@NBNAy0o=0n^Yt|YuIWC&bj^E^9uq;C z%Hzb+3@7@%m~NOR1ofBDGkM0EQ+S7EWB#YeFBjLzVVh$$Wfm5NBgW%*iYBW@r_a_8 zhBqg@d_zP@u(l_3EE|do>M?GHDup|!O!_ik$rXU-GQNg{D9%|~j#NsS3t(ca6zrne z?=C*sIH*TQVyDyO;?uI9Ps#q!F8ba;!Kd9UH{)a7SMI`VcUhh^T9BV}VrJISvI66; z=gwFP@Czs~*vqJKKB=jJnicAK)X+)gU_KQzg+g~OUcLq2{?Y;n^ycuBO|RxIx>HMV zqXL?1*T>f;qaBO~g1NhdDxX*rfw}v(NuoI$JMU>H=N&*v_f>;XCv-0^Qxf^{I4D4% zS!&~w*-HBd1dy9^7Zn6|W%e-8D=ack(;FZwfi6{eI)^n+dx2=gS88px=Mz{V4?X&*u>#3ZOf` zKaXO0;QjmQ4XY^1qu-C>9W)@+-;doy=x=^MJtKyc*`tD@!XavVn!LaFU>{%g|Lu$a zTSosMJ5Au3oTB4qpB^#=fxIilZA_|2cPtrGfnUD}L<44QWGbM&yhLcS!43j7X)ZVD zMhrRgYVu-%K#wqh1^2OL+s1l*3@o1UY?1`l_b7M%myLGq)f>;x%{?g{{X@VnW_WXt ztMh*Ln!|9MrzWPJs&LD>YFF>%Le#93 z?f@GLTQRXNU{4#MOL4~My&Q|&@r=a*+^U3-J z3`=bmF*Mim=z`v8k|z|CHHsd*l|!Ws+7(Vq;XhO=>Z*5q>Z;j2M&4XOJtI9eI5mZl z_6jxZ`MPvYzo#+pAoUaVTg9Lx!fx%?wyn>~;$`0W>h9_fo}~af-D1+8P|iAKtvztO z{pvRQ=#Qu1TI+tg75n)TgBmdWRmZ_Q#F5$IzUNoY_vT&ai62VcQw3>tM25w1Vg}Eb zb*NN&;uSu9in$w_n$y}TD;agT)}2qBiP1CJA=&z>Z)}>XAeP=uwLhJkT@>Z@BFcFAO19B{`$W@`PIs5I=Rn6u zLJ@G6F&yB#mg7H<5*q*?rtncdq5q7kK?4KLaTX^eFTX8w&}!E)?>^! zH(rl%`E=51Z;m7hnI_cn3+Pmzzmk}8y2|(#(ELMVWl(h{Nu_sd*F*Qp_I#Yp<7nAc z?$tnw(#K!IM`gg&1_loX5R$TH85bIjIM)MG|>R_`x^SIKXqyD{?ect-GT+p7tetd(;^jooO!B`U( zuFIdovb3Zej`GYC24oq0GzMKf@Nn|X*CKJfeloPmI5;}@2iYo|)bYNbH8cGqu z)i~(#<a|x)67(F|0tEh8rtuH zDE;87An6Aro)ZV_UIs4bonB$&LPbnhqFs|cAJE*OY6YSWp;U&;CEvsgc3P9Z;RdyVjTXCt;0Nh&wd5{`l5&a>ZoU z7Y(`c(kngX0^B2GD)wKuoU!njchN(bNfx^&ktg&YmyHVoISZo)`1f`)%Zt@nuV+qg z(4wM(_U{@zd<}vWR9-DFE`O6Y<)^(y0eteU+gExjSIx__*<&drl?w=R@eRr&?};Mh z=R-R%)cz?5G|#xWv6?k?hW20apgCiq@Dlj){Y4Y&UJoA>kaMd>AxJ&j!juefe*w^9 z<_tGjo&b$WH>|KaW} zquT1;?NMsLRuR(p_1ytCk$hAa259|ocCbgB< zQtth|t1WJ}@+5L#Y}M5(p{{gkSZ=fas>x#m z>zn>Jxy5RbX$k1U{Bbw$J;}(h@(LcXxGzxlHzY%0=ZbX)G{XWk39NPr>b0=r68e=2 zL@TfRIxj>u+*M%#>`Ms>!X0B{vL=M^O!Ivkt0@E@r>&c-)9|OWNmM%a_URm4F|@HL zhcdd$8uuL_*u^))KgDa3?0PWEY z55_8zl2!90GsnhG+h6aN-HBYX#CoGz zdt^rzudF|l+0QjPv> zFH$JiG$ZV}Q%U~>1Q9Iy^&lZusLztMQd*{@)%ztoQe|AmTC6 z(a#4420TTx26Ghi6_vyu3WAv~;wzDtLX)s|c1dFQdc&73hmBv(&j7&?>bK(%xM04k z!rBuyQ9WnUQqR|3RoxVPp2|wFO&)nLJ~BDdSf+n{V}k(GiYtN~z`zfC{c?xdPwQE! zd8~}+(-n_aYS1lq(PU1KBsbY?zJHh?=;atPXOi2eR?V+~d^4clVLBKwm&@lf^4%Q? zQt=8B_S2a)_X0XcM)JTyv+9qtDz#et`$X<&iiw>Vp4LpmjN{joQz7RT_>1QQXnE?@4`ucajJ` zO7LUQw!LCB)C*_lb1BkGO5TGdgW&0qyj9}w73rxkKS+O*l~q*@t{z3Y?2hQ~Q$2l3 zYw`C}0(;;gBQi2FH1glD%H{rRk?4h4<(U3G;lYYB!R60+)=`{vOR2fX3>JVRL2J?) z#g;7f?(*f!mZ);GMYR1Kbqb)lP;Vi;72`f7IVyOQ8KZLv*XNG zh@F~f+*nFQI&MHG8{pFULs=?4!iEJePz8$zlnY&5J(K##RiEr=xtLA>K1%l5A56V^ zYq@%3e13H?y=3}e@c2mLlUw(VrCzJEZXMyZ4R#SP5fTnfc{>ren9NL*BIkdIZwvv9 z0n!4^At@JG=X8RY^j_H5N){KjTyoE=wcq>?uvpn9js= z`adf#^d@TA3B%Oey5nKHZ7}#yO)#{|KG!VR=W}Xls?&UDwxXC9GyLOCMAq*BVm|mR z{VDA5v!0$Fs#1ehfkHsDkl#Lr9$*lxzjf=3Ra=CINM(u_YO4?>@<$FFu9u!WpPv<` z(1^$)Ry7NAKK3LOEVt7&Io!HNF}E1HwmMRkEYy^1NGI;_Orkfnw9XB~A~#aBy3-@D zSkuPW>x*99P2k%fs)bn(7DN|_B0V?G+dT)6p&QWQqFs%5&N9&~(S+DFCdleUZFB*; zpty})_s3CV`+mHWi;H~!zK=@L@83o}DZ&~7#MGY$EY(~4B(z!>6->?c*9qT##ff8Z z?fX9Xu+ts>>*CGkjFA$(bfr$8oFYs^?$CMC@ch%cZaZCm`;ooCdu9j-$_9-{PA<+- zj7ysoac%o_hx~RLz~!#Ay!hZU-7fu@@YZ017gqg?!=1@SnA#ANqO5YaihsazQFS$o zMq$o`$Bresv}rX!$T>wMpk^p{ZF6Hh0qGDyTCA7PtQKW1@4feG8x*XQPtm&fEP4kK zFq>#`xMxq&9(}4tS1ha9s(M0`OFn6dc6tD@Kd;$Dq|Fu=v&_=DSRtgs+-5rgwIiFX z%EKt;0X+(VMBb;qTl9fd({gVfg0niUjjQR2%fH&#m{8}E56aOGFlxC-bC30Ls55xa zIudM%hK2@ByQ!iCSYr^H`YyMW-n)zbyq-UmVe11gS^3|nmmwJT*J2E3#T1R6`2mLj z?C7iUvxc^_wN-s}q}O_8GBYGieppSEf4Cox6)Wjee^KhDR|a5sqa)0gJ0r)=zxn42!dAy+`lxw8F=9@bu*Sed0*V*jc%QH4Sha* zsiZ(TyIj}>!{PsJOTO$e3yW+6ZeOdf5zYXanR&g6Doyp=TX_tr1qggb z9xf>kCgX_f!%SobBp~0g`+rMoe&*}p?!LSl&AR9ceq6L0@9Y?bgoTCSb_#22-OmP& zUcXKsYr?o8t)~sZuXncg)c2uC|kmdnuYoGEW%JK8_cHuHP7(bgqOyl z44S!~|YK|-e@Caa$^uT9G z7~h<#c?_Z4QYa-~0!YERctOQp#is`2u&!xl{0`f3yNf*^TvXjJuQmoQ;0@2#f_7H%czs zuOl3WIq_<_%t}-B)`R8I+-4orrH-~mb}4m4{OP+v3dW1K(Z{rCi`A*gx@)ylj;*y` zOJNzA8PURaP-k6S2*uv-sRoNV(X*mf)PElekXv#$5vr?Y>7O$BP@!zk-8d_yz*8{K+r$L=w{0Kcs|sT`PaJsM;{+6}6MX6Fbb5=kFl+SAp&pdkilzsnjx)_`$@ z=iE(b2{w*qQY$@P?z-u@N(#=U>LkKb$!YU&1hZEezjgBH5tS#3Ql@u%Kb{^H!mW;)ZT;+WM^ty4>&)3uHp0?J9xMQvi=gM1M>345gAo z@E7S6CVA{a!3Dt4Of?_MOmM~p%W_(BS3=z^#qD1{H}QYZ-A%iQfSmenMkbRYBs|zB zh4u}C9^*{b1J5vYa(2>o|2lGZQpiZ`t1jd18EvRnc(!h9heF!ji{@0*15Hslvvz}? zBgbfvxuJ(-2a&2ClM+QSW&^s0#+>vyi`B6nUCvl$g8B^ge6_W@nUesJvj9)At26)b zK~05)Mz)gN>T=+a^(l;|N4H$cms+@BnwW-f`jRr@<~5y*hrZx)8ktU`nA4FD(#B5ns&9!_mCT52D`G#z<_M@pc+3Jht`Vzvl6JW@fBx z$&b**z7V9_xhX?eCsu8cR;pTvD0XM5VjV6Bhzg&uut2#XA1~Xfg9-%xFenu$Ah6_$ zpWkiPa*i#Epa&UdwW%e}2K6FIR{lKmXeZf~m6D&IWEA4cl;I-PBSAIy_R!Nzsa{jR zR(9u?=+a=pIo7)f3fV-KYygSjfYdrHB=}4PU#R0cNSdzx>W?yh9xtC(1NZ z2He-u53D0h-`M`%x8Dz7tJAPG!Jxj8aRiL*)Nxi8*|gTpU&SIX|fzfbu2>;GCL z`d?Ft-R5SAG*552=;^l`cl`ZZ1TuO>1pifpq5{F?1CM-_#uMjp{*7PhfFa4op~(mD zr`D_Hco)}PkP$wISD(+V&t`~Xno2(^B(65Bj~WVXX6aNIkS~D%W~^aX0Cln>CzK=e z4THbo-}utjUDO0!tPJ8z$m2z1d&t1y%Fx2>to2GIK|P~Mj(kL2UESt17ViV^D=cwP z@|cyEFZ_&{H<_+=RAVLO)NEzZn2&oTi3rChUFzAv6U(UQ59LJA>o>V-Am&#V7>Jen zEO0auuJSf9?5JcBx2T6|=CJh$yn%ek=ikUoZgbAli)?=G#)Py4d6@u~|sEvc>@&_prl^6z5nbQ1ZYz+Ep;FD(K5 z9Ic<4yxJAADC*oe(nqZBs}*?}uR zyC)qU(bUu=rI3(?e^D!ujGd<3tsOBEzqShU_rvN z{95_*#go%Hnj6ms9rw3DiZY6pP%MfbE@2%dB~M;@GoHHxg;IF4N$crw-gxoS#qK5V z$?|LvwKHf52<(>K^Q9ZwdV2{~uJ09Hth^oX2tuA{VVE^UwP4t4esI~S}G5G6XZ+|#j^dmp|`OTTvXQNY7 z2KZERx|iD~1cBRMenOSG?HDdyXtO!lU?blC^g||nN9XE*Z~K=rkG-|-u`wv(J_*VG zckMTun-F1X0tDve0snun0Mq_gft`J7?|-_Go4PkN#&`Xnf7Dlbt>zbJa%{9p!N$_* z9Tpim#N$ZXoxl!}O%#W}bN>CGn`b2;?NygraMI8k=uTy3W_xx^>MBI_Jm}uMEryXv z#Nx__tE*^Vfgh{}(Ab-}otDMU)d;zWfjh!JbDu{}8kA>LUT+Ie4=iV?j11=4UN{qXf(Dm!;LGmWs{*y;dDxs+60KHl;oxr|94l+ zKnPhFTWUEn-?2J!th>w7DAu$w+|gus(y-ZIoOmYWqcJClDG5IG zZ}#K`)1?f~8@$18;$c;a1xa#m=Wd%5prn~KQmT{r zWUj4ab=#Us?#IR365`m+m4lu{+|m!nP)bp4i-rb#ItQX!xiSDhdt*>n(nZFx40w)^ z#vKUv)}DBgYT<+BhXPsxp|squ0Q9DB&(XoVvUBUO%;frE6MJi4%OB%c&&pPHk?RqQ z-i%5*BJ1im@v$QeBSiHmiElpTyWEV*Owgz6;aY4=B4jnf?v|Ju_8?wK7H*aotYN(> z)=Ny|??W`J3Qk}1kaQ})h)}sB>}^)fp9)O}i4pEPi=pZTI_I)4Na{T7L3IEd!*y+ELj*d~Ef! z^27c6qo&kKc{6j!whN{d=-Mvlg!1*+++7?d1ZDjdWR2Z zT1ZG}iq~tL3KVh`7wz0)g0B2-ZQK}?L;&YKr~YUP{WV_=Zvr8zF-1D4d@r|R!v$w>JS{Dv3+r+)Y0a!RpPoJsds-0d|q*FHT*=AVyW=F+x|NT=BSSfwJdraT(R~cyt z!hY*ga?Nga%-Q~|FZtey?bnl+aO6feRDZW_Pu{B~e5|9RS2CDbDdL+^b``_%^7>>X zZeh(`3c@d~3tDThRwJzsLoeM<|!ArIirD%%2?MJ^c zE-0ZgXD9T#`0kZ*CTn>Dg3l)#5AU*NAJ(y#xsKV-k;!=FlF7o_RpQaM3WZ));optmBC z8Pxdj$AbYKQ>D&uU&Tmzq5@Hk{G_4P-THk~`;7-StW?oGItmCErr$XqZP#|*$pBj9 z4>omJVLPk=Q|Wyx^`(|Y>n#QPJPc*8PyT~_O`EPMU$J^G#{hlNbvSjLN(lj(0 zBIb9us(i#7R5#=fB7sYAL;aO{7NOlrTENV62zP4km4K@q4?0laUiv)5GC)dhZ9c^% z)w#(oZ6<@zO4h7gOC@+#jL+K(i$(z05dN4V0-J;$zcj2ysFszB_kmOdCs^svU%z#7 zc0uQk7Phg*beO6}X6UPPy}YJFQ8aIi$&szGS=;fi2sf4rSX)L)4Cgsq9UT|^+14qA z+!4@3V%HK)-b;Vz9BEU0b3p4z8(jM3r}C-u@ux<%et9VyU7^w1JmV7R;z1<`1z+Bd zx`&{rm?uj{2mQ-;(*KqSX3fh;{Co{2A2W$CojQ3UUp#)vcNW~r4OvB&1+LqzYw+2N zoqFtJ-CK7&+;yF?;VSzlM8jD!Odq5_tflJuT5W89SQKXs??J_0Nw9K2QENn?t?oTX4x+mG#GC{+boSL^ihlW%sISU{JPgiQE;xJ8(Pr#?BUFF+|eG3 znXB&}{SVy>XqT;>H~S~HS++%?wImK264WU>-$A_ue>{7kJ^!S+Y(?EOEki*iq0IiP zWScL|V2!yZT8Xd_n`0iMc%|dA65idlznF6ICP8yzk1;DjD*p!dVT|I#0n}MqzI=}5 zsgpU9K3}hQb7ZgMqK^S9d*6LgwDZ+>RdA_%qGNyjavl8H zpfGc)`MOR0lmFbnJCITSbNoMro{`SMXM(JeI8BNm^&u|?>%z6PYoJt)>vV*lUgGuX zEq~RqZKhZ6`EuokmR!G33nQm;6#|LM+iiYDGd_sE_^Ahovdo|Pcw}?xDS&g-@Shg7 z-`4-?bQ(R!xL5bbvAWc^&`wsXwN;Q<3EYbs>4h4mrh_UD9;u3Q#(t~Z^z$fCdA z@~Y?RVK^w#zBxhaAm-_AXVr8G6uj`~7^`rN;m%RmhdK$m@6myLu$Xhb`oP6fGjIGv zfV~DVk>IWE{h=NaaqFSHob?Uch0WEBYyP$Qil}l#79IMH%BUxeNz#zpybFwyOA%2C z!#RiUT_d2@`H`h1Umn`?J|0Qxo zOf^1eM7hz4sM6*)TepBpah)oUn$8ikUG4=zcn?{GU_g7~EYoR9G~T?vQcDyk~NT9YL+@Vwf1 zUvk22Z^7V;3n37#P1@qh7D*JK@6qNmN{g>x!Sp}i=YP;c!j335*#1PPl*RI zJ+;Im^AE*b7W$<$SPf-^(Y6uvB%P^p(p4u$2KvKgIy4|*5-|irw`(!^=oh?{VDFzX z$>n{$8TrEB*XT1K6?J)op+x2xz9gY?9k}XIzP9s?$QqhkfD21Fny3N2L6GOf{xEYa z%LbHBja6Xd(*P~{*Mb~bU(j{zSy5e^4>J?4u*p8T(4)Nkiz;W@gAJ!~-5!4FiDrYN6jNppB=pk3bPalJl3qn%-GcptjEEH_+Kuq$LRDttuE#*YT zzH|FEq8sQ=g(mBhv=S%98D=dqrv1(SS2n(*W}7BlGJtg`YQQqndO?mwcr2^5AUg7! zkuq{8+vNzl&id)aibF;n}oe;ncs8iYqh^RX$*&0QtXMes*fkrTbwJE*>x#&E;ROg1O`9@!c%vf2xwLltYl?S9p^>wN}dNd27@Eqt#xx%a8L zby}}CmcE_TeFC(1%EIP$o0VSA++o3aIPX4NZBkMu-A$cf`%mV`l7jUimsHAh) zx$E$yS}pW?Hp*@ICV-lw8jgJuczq>94&H~+kkByLu(HO}Dy^=Dj#Kjbgw=>CuqcgE zgpPfMmx8=EpKoiNJ)vuNeD!v{ z^!{UuwjT`vn!j6&%vg1FncUdatU1G9g@*ocJ{W_`<@yOcGxj~7CiFgdD}6vGQOZKM z^cM~&WD8Q&Y{{1hesrQGo~e-*skU;r{u^p+A#A<9?_n0V2|jCs(!icdv^ik-FD6wu z?8QSF!LcVE{-`)tf*6HdD^6eAxs2-_CI$2Cf|=Hw*Ob zx7XY)72Eh9?+eoCD{|EcP;3nB+_)ZXubc<02!NbJ zes*>~VD*1{@t^LgXpBTE9Na{`9X^BUqSA3lcjo>Gm|@FpgU2~;Gsk@v_|U?h3Z(x2 zJ{0}`hkXP8YfAWkHX|4<0>nJP;Qy&dO+5l=O{dCgBp%H9;1)1aaoPJW5#feue+J(^ z;@Ic8?A(eiK45)D4W5XrE2>T7?Crx^*W(MU7cLMyOM3UR1-5Z;>F5d}t23p*Uzn)T zAH1p%0OaFw`6UwvL!+$Kc&Mr061bQKrIH0nZ=}INmDJzUKQmuxjyEAJ=)a0t`w7}l z`n?=Ns$S}9S!3Qx>;sH>S)-yN)K_0Rwsdm1)ayW3I9ebDwC(_iWC@U%5a0E1aQUK^ z*ap+6+G__rIs+SZ*h=#`*W!svhTb@e!EBXWQlfpGeB&~oHgQ%B`C=;H?3-4qYoPxx z;dst^W6X_ND)pnGPYI_)X`cEMF&K6VUOakI2;_UHm%eTXQl*O9U-#0@bTX68*Naz$ z3X}YKai9M&@VMbHrf$FzCs7LcO*EGMMP(B^Ssl5(ZXj_uR*jR&_t``4tUwn~j*!CG zj%v6tl5)5tr{U_^VE;Cc%StEF{&K%Oip2*v;Z7pKo=#HH&T8_pvaE`X<+Ik~W4G8; z!!#+yl*i|O&qCLy_37ZB(GyEu)+8t->|Sz%gH8)$_i#;vmp`avlh_zBc((Cg4u6EJ%2)Xah?ijI_-P4bHVe<290n*iyi)f5len~lHbYeZ$JQZyuL4xi?0t}T-1LMiC?$u|40oM)uBRCYSHjFf z4lqqCSu>}#R+u(Ar160}zR*0u2r(1q$N(>~b7*b=uIyyqRe*1L8t<$bt1(Z*2*o_wo@1WE~Km7)#Mqdo%2Zh7CdU9_8SFl=G$jmaX%poXYvr~z)%8$Nk9 zu02kLD#_W}`e&b3SX0;MSid14MC;Y7EHJj_o4e1a^blDQYKzw6B@+1B3q%!YjiiXY z@t$qV{aclLrs}b9(Fk;;!j4vn?8f&4di84y3Kry=T#DLYP0Dkn)|S|_7D^$Hs(R5$ zzC0~yXRk?4mO`((9AU@BBz&VpK>9;Uo-eV$!J#TWkTTR%%Z&+jnaB9@nx4p0*xB;F zwzLP1;KL~)&_604TVjCTyV4c)G%m=y7SdqG#zVyfK3=l(g z4pvS#0k}#{5&cTDVf+7eaI(D!d_D{0f~PA4yp)}&RvlkjvGk9InnPDToL7FV_}-(o zKO5wOA{~Q4bHl>IObNhQu0-CI?B0Mi);^$PGm>H60!^<<#^!!(Y_^_gbJ@ z6@}maJy%8TrcZaUnl7>tFWx?X{xs|gC?lu^-3RsF^@&2g(TY5^E~(Yw@(6mX{T#b7 z+<2o_5LoMf7Z7A2`nsP+S9Am|+0?3!%Bc6r?v9y30fF}K(}~qz8R<@DeHj2CJsx7QuH=I%dg3^zVZ-*JXrKEM`E7E`Ga-6j zUMZil6$xX+7+-N|{^R4W&Q96$6E963(xU!twW)1do|>OALYYwBqGJ3@kl<1dyXA_Y zzv|@$7Uy(yw9+$uipp7A(Zf_XQn;)DW9Dj?Y6amnKR^a(2r~A?r9HI(h{`HOZo;i=NbqznFJ-!=pEgwvJtx7l{#0w|Y zH=0fj^3`&Nf1XVmKG_^!1)Tty7geNT%)@qW3x=0?G($A|y%=Cid3VxAai_x3*FHQNlw?P4Mq=KzzkCbmjp4-)tY z2UGf9WjjV0%02dLc?cmH&95N~+D#uz9gn3}7uu{bQvRy&KcGF4+qc#nITmtW4sU6n zMKx~58lq}YXgrSo)(K3nXBD2l_359}dU!bf%4~EY*hRv@MAHFii_Rm1n9B=v_wN@0 z+qec+R;9&xDn8`g(V1JI`dvz=bxtp$n@PRCF~7E!n)bD$70Ai$FO~TkQz!EHd^x#z z5oNPQzFXGE>J9p`oGfR8_G?||VpzPPstA{pZLv#4g#Mt}KfS}5%w}{fb&l^~2bri* ztNk#PvR^K-8l$=|Yi7nfW_eW0#QN%7%olQHXF;>hd>;mgLKeDXBt4u=hsq*zd*C_Y zlzE`3BB3u>Y2tA2Z*o$Gg|p$}*6wvP(3x3jf_Y2c?zTQ!3YG=j;NgtYr8A#(-Yeoa zHNy{jfJuaIO!*2*9hV~|Y*tUQae%vq=&UL-Ni_?o!!VBPVJm<@$TH` z4Z_TiSY*W-sfqy+Bm^O)5TC2-hAA)!{wTY#kPRAD<(1Deb9$q{b;`EjTu$k{+-MA8 z`|XY=$W6ZsnJ+KjQC5%Il&Y<(Q+uWUIck%9GWpTFyNGvwGS|XXJ#9m@u?NQ{4zG(g z-%UHzr-rxF0zUU%Y*HU~!g=#ofOC@}cb(}2LHhS^r+xY|nZ$3d52P3*LmfL#DO=hU z6?T4QT_vus7xL{8Ya?s^Ah)U4=+vT&DRkud<+Ut;S24{?hyRS^5gA%4H9ForB@h%6 zCfMpL_L9P$F12=f^Z5``a0_x98xbcZ(;Ql#-0anJkC>nm_YoGs(q<{{%Z8kmOTY@X z<^v3U77Dj{Zo-O+*uGS9DXG@A4gXhbxW0VS4Xx1QviwK(dB&30%ZzrIt$8u;e4iOX z10r)K!fh4SZvX9Pe>G1OyH4Zx$SPa;%sZ)R{R}|H{{7@tNILl7{Poy>aq$NZ0JhwJ zj|dm}|3*Up|GOW$MT;-pju4P@uq3Y*gKupeFmMU-7XM+77lg8q;#~-0anRm9u>>bIdD@smrWFCG}DgM8BP2Hjl zOsOXxCQ0pGXd5|8ZEe{E{z_i}A8I5Q<7>5R=;g0N+I9AbU`O2!-3yTM1|Xv_RAF+X zAcpfpWacF|j92+efSB!cgM?H==Ys5Du|AKJIc#C`k`ig@RQER%ra3z_5F2^3k)YCG zOp!#rQ3G2N2WovG`w8>iDbbC|x@t9g9fC{G*BD`zs=0(Z+;zYAx9;e=ZkU`_>0dL5 zd|Jl1@A;p3swx-cMqqGq%<@u7F=(5Flr}|p;8YsOD~3=;cV@xJ&#$%MT+=1}$4*Yx zp0@Qkv~(TcX*qVwbdBEmD4cqqwHs?lJiDSM(U^+-ht5!<@!a!vs{|XheVrlEvSK15 zOvrUrsjbgpZgv_?E>bT6w3h{j^HuV1Qjsb?*6Ou&tQyFALqzCe(}$uGpb&sxK%dpL zHg9fNo_HYLkNFr!=JozV^xwz2&W?`#+UW?usNr@s9o>wKJHPno=c}aO^to_>4T=mDYoZMu zXxr7-QU%YHNbXva;`izb?_H=xpYf^=6 zFd^p|r=$%{w%sSbHHIcTNenS+-@m+ngP?B!CP+7;|2%C^>d4 z%kKx7{Y(`gyD|-LSGH(RxpZ>aRr*R&vURkrgJ4=%5w zihiuO+7Nv8-WTQ}D^~mhx5u>0$00xE;*$dm%d!RFCC&+_c<-^tG>mp*cU!9k{w49v!#mtu4{{H6-iT+l40b zrv^R_;5Hj3BLFHal-RX%<*YQv4r9N`t6^JHbsj6@*+lTV$_qxjy@rQJqc+rJCdLZA z`~RW)$%?tpM9_D(FK{EK=}>TCj!B%rv}65yDjCN;3W{sZJ>yschn{ugyyN+NrHqZ~ z?JeGQKvcRUP7u#6OhJ+;M`&?YfB5L5ZeOpj&Z0cWiN`kgojU`tHz!_9n#t>-_<=rq;ee;UYMv^dVXHo#Kgt?LwRut6Yk#t55a*{;ugq@W(M$cbIM&%Vcz4CQC!WgGrn=@Sj? z-qL@!d-wc&fR<*{JnhvKT8PBO{m|5lmXH1fq1}vZ}{52G)=5H>nBSCF3nrWGhX6yP?=2Mg~lan|v;44Z<$(m2Y{rAe_PT%!5g6sg4dGwO9a4^Cfk z#WRnGQ~bH1v{E@C6wAE7ZNL>eQklp+oXnSUPXj{33I~=@V6G9$jl7y>-N8!qsuZ|C z1v8V@{$hWecBHe|zf<^8ervbzuE;b4cK(fBq9f?nKcEq(E$sgOJ;|D+>ocDmBO5#0 z$~2Pb)-6~0_=+ed@y2T@$4fA zsW1(?lNcCyjY0hAGjoRf-j4u~G#IQ?v$;hl5gLm%f$|mkCnvK54{&b6jG1$9WjJ9f zS$F32@R}Ujjv-i1%4zB6$Kqn5sqj>St>uAxtLTCk5!mauNhlzImaZdyG8*DcIyZB4 z``*2Kif8o^&1nxf&S*|m9IkqafZT>`6?j=A7LIqnua)kUrrJBD^8X^E(r)zCz5oXQ=*3)%4!!!)tK^*dR#2CyGG$CmtF zwp2m_aan_+f4V@&Vnw)kbIV$K`g8@^q+`c#`RMD}NAv#QizX`lJI&JXI{&v)D3e@0epC+jb`dTU>U>$dC#*( zPk%7p1zK!!!05Vf^(SH&`&v$M5{_+m&?h3EJMw$p`Pv_aHCR83NNWPo_1+(&!9Z&I zQkrA3HBflqUH4RA(==J5j|ILM5E)=p1|kEm=6lR%^}bq9guj9Zo4R&1w@44v^#Snu zA#D8m0WB`no~c)Ht)Ko@YtVh;Z}Td{mQz>G{hBLpF)7s0jV2UqYzWOL#v6MImjPo& z-?P1o&eyM1hW-&i*_PQBBRF64bg_KiPD-RxvvL)%H98p8a zjha1yR$FU814vtHHGrt%eRSDIB7d3PZqB*0i^KVpegeAq*cT(f2jq*(ttM;lS67&i za*y#^eg7Kq_?~EtUSMl{OzCrLZ1UI!!xEpO_01>A(tvw1pIgZw8oDczKZp~1SbVG$ zEI1WqqZo8<+zoDS=X`qv14swanebSSr#>7f&j(DA_ee-S1O`G_B=^66vhtJvp#7?Rrn5lF{-uFSg=2Z{1UgHjZpKSZljI zaZl~_^!^Ni)pOudd$1=|S(7Yn>x;O4u{pj~UoYwi>v_>2rEpmP9RAV+48a#2t-F=v0N61Q5?*mgLgEOD>O8a|$^xWHGXU8S_qhG8^!s#RyPctN!CEWi3k3xYnSgrE&KRy7myh`nxlX2W{yhB_KK*JNB z>RS*t>$bkWZX9X|_=;~VbQ(mgn%g7Q68h zaQ6#3uinp;4k1W0tS-TeY<#D?9||kdkL?XKaI=*82f)S`LHpXP_W^1J@;bHHwXOyc zw~(NFzkg4`i}Y*Wsh$vq4>ebw(37!;jb2|B@(k7OuD`7kOy)#=*ry4E- z#EU0RmgpL(1wZrYRs(|gI~LOc2XsdH;};)2ew1fW#}C?$+a@NGfDSD87ilH_jWIL# zNrN+?fusAko9iifj^>6T)HKP<{Ych|T*aqJsr_Fmk13f*U%qgD&?tUan5m@ZWG9Zi zj__^)m7(6X9{(kq0>ze(CtvNTHtJlnT_8hF}XJz{HTr$#NO zH>*oUzU^aayWYpJNBfy_E@=W8N4blSex_(U6bW2yHJM0RvHzNQuIesHiVAm(&QB=P2+e;GXz<<6M z&u>p_Cjv8W&5+!(%{6Xx+iCY;6ZdIs1dk>XU7)$J9?zpE>J>&2$;jilc$0v?2->qr z=ZawWx&?6GM#Jr?OMOWYpoI+DZ0YF*P_en>6n-Gav6$ z2@o0q`u#&uc;_tACNSia>B-LsTb-sb&5d!eQu?xiZtWv-Om33&dQ4KiLO+5LdArLPfci`vsF(Mq)09bIQ*V~-PXCfv2?Hd;m-Qju85 z$o!*K`jyAzEfr}DDO&J_P0bsE?~`#RS#*r?T_(J|)6>uC;NX%0=_1{3JJvJa1zqs*mkFoZFSFT_-)GnDrCn5ZV;U5OVvqy?n&VH4G3~KV5gUc z5ZUCQf4+X>!~4t5C(A0NY=&W>p+x-r{Jgd!A@Pxn6rH{z-f>5Au@s%-m6)GxFq{18 zuTRq-KBS(g3vad2G_kR{@vP8wLz~Nuzj&;=eYpER506@X11+NI*#$}g`;_1N@o{ne z`9So?xBybI=*?&PNu`XuaQgQ*g7+Uj&Mqwh$TLMh@eG#*nZ;Ia+!mp<3o%H#$kIxNSx*D+WExS=ezuN zhr4?#7T229hKr6p>fzFok^`W91puAO%FA;Ua>I%YYq$q4r#;?i;ery#!?1L zi8{NdYx5+Kf#X_nXjbp^dt>5j*A%zJ9%!@)U9ow}w}_WksTbS3V+8iOkMLu=A`@ad z&x@Z$?DyLDcjmjU`sLI=1QAN!_&zz=Or>8<=ZpwUpU%>NoYN(E)=? zME8{NX9O$gG!PHrz-~WeV*?zlB2=B385v)^tA>7#jKtWtg<7oPU~F+biP#%tIq=w$ zkLVcx$lxt#Aor}t$Ra9NB1D8 zTc^DKD=90hUQtoV=HqM=l>%FxGf~)e9v+_SWbCpX+-BrL>vEvM!21~X#6akD9?7g# zW?W(+cuot1Ofs6iFpg`}z84(eE5tR!+^5HZKr9!?T;Juk=#}pxBvNe%KNJ)e z2Etq>n-f8eis5zGyG5A)L)=@2RoQiIqYIHxN z?(XjH?)v8PzMt=XzrEl6YwzRO^Y90_7S~$WyyhHpjB}i0oNIgT+1c+B(Kx#zxey?i z2MYmG2j@+rM@N44)`y|P!S27>=33&vigQ3rHG4bHtv^jcL3CVPvCgD;ok|*_)rHk@1u-rzZs|UUb=MY9 zV2R0Q2ZEBGUTd6=E11*;R~upVZm^&lk@Mt&g_Mh^K3w*LHa9K@%W->fJbUnnZCE&S zaCl9(9HviznL1eD;ek?rE!_0Xbb61SvmCDhN%kpg@)Ty+h?&^7yvQ~uKqx{g{q*D! zUcWU7`iPPmW;#mlFgO!I9mBwIqw(z=k6Gxv0VMMwQw?UAm;%mTF)?!f<_KO}L3Xqj z7Ol6_VhL4&WP;Prhr0(saY?EAv3iDoQn0EcHMPOFDC)sb+tX*ypRa6(Q5eovF$maB zKYt~=QsDyHaX2J$Yu)!q{mhjc{jOY~PPQSE1o}xp)RL2FRH}lRd!t}YPZyoHhZ|tQ z!$Mg-8qw}16{5j{7#QIHc5?&rkAyn-5+Nbc(b0J7M`t!ozU_WtuY`FgjkL5xJ-$f+ zrIzPT4a3BnaXc1SppfMQ)xa2zAE)i9y0-Q}^Zo5R63SmYlh2&wt|<`wqeY>ia@V(^DDBtx_#Q|+hjDu zeWN^2LwTh9?!DHtd=!n1!s22I^7P5bk@D!V$-hXsF;EWbdK9e}2-up*#Rif$hVw;4 zE(P`Woi&dt`dh4;h(Hp1ea&apK|bXvYG5Ek&#m(@9MspDMB`a<+Wt}38JcPoH2|g< zlQ@ZjV5TyNJRieZm#+{8wy3NmL&I+ad4D!)!)T_BsC8whqv=O3M%t)1Qsug0>faOaHWHAmgw4p*3Ih!JpgEERfE+yVnbmgu=wa)0BGe{Gb~U35kIYaYUNb4j8Q7=N}m<$BQ{ z3l^c+;b%90Unb^`Cx0|!Ml`J~nfE@@D5sEqc6AM>l>FFSVYI(TDN*v$vG!N8c+`7` z6TN46EPhTi1wi*^9=P)leYj`ab1`T<52Vt-qs)BZ^MaaEFKtoWxmwnUM6UgrDKlp6 zJq+LGX!aw0;&(BuLUOP^$`p?MyhR7c=)vpW@%?LKWebTZa#uzp=-9ct=e>4^8gk-q-?`U(;%m!a?_nd%eOu* z$EYE|!O`K!;mBpq_Ec3%D}SYh<|Z*Qe3k7gyb2m&&&>Yp z=tmlcA5jzeG4w|A{`P1+&XRU=ew~9VnO57pdW4?f7;59Y1j!E}EshF9wceX^sL^Qm z#onAFc7`13bz|re#v($5=jVWnk^H6B3bHp<67kyuDbrF`J*}zf6OfV$zY|6%!vYPQ z*B-xcK)yV*mcbtNzXT$9Kw^&Vmnsj`of{qw0Wt1KvH~kOP)9#TQ0m0^_w$uSVvgSPNp&e8v8u%F=tkl%ktng&z`>;Kg+z`fr9 z36U@!leMLb2!P^-s#F%LPF$gDTJ*8qseRmiO8{S;@~P3}kDm zD4Z9*K5$n5D1U5|RgfdYiz5|nzPpxX)G&; zPfr=$6Y%kSwFCl4H1;%B9vt;IC1ztQQT6PFx{A@_4;McoLX$_$H6S6rF_+$$t&)54 zNXzZA6dcU2fw@`^v|oKd8fH?Xu~Uxwp!dPu-BY4cl4c2Or!>E9hde$1Y+!LPiq_=&lcRAPK$pJO?u-5q0JSM#kTR#w z2)eYkwp_0dnVoEOtFcAW8enyx9u6j+`>~a2kXevB@GZ;@ud|oxtVf9oU)AZuS>?s| zE)z=^tM*U=o(GoBEpu+T#%#&-TGs}iPIZ0&Gl|!Q_Tz@uo^oaI!G5foy84q(+2TCv zlk%)0A|kSzED?!>3LW-@hid~q2HMyiViu{|>*mo4(fB=yopTj>To*?2Jr}PmD5H7k zplO7r$aO;nmN;>4O2aG@Exm4#=9#XweO5d1{*QI0G&nNbb#oPFGxiqi`~{L^{K|KS zM_PV2*MB_e?Pw>MDv1x_v(qrpNZ6YC2I>SB(xe8Hp@QYoF#z{#=b>u(Rr%^E9Kz{Z zHrlClUh3z3D$kFA?xp?Udk%y}%x()1b}R1r>*b|Z_o$0&g!FbB2S!`n!09#$BsOEm zvwJI5kXHxt6(EYW<{pWJA2A3BL_qjHU94phI$Py@_#W)@jY&uQ?U@V|QJ%t9pfhCw zI{rW|_80n>xE%~tcz!h0(erT^@cAOZrQ&kQE7 zW}v5mytPnp=O-p1gag^;c`OnbSE^nWEFW=X;>(?3w z^!zfJ_2+KwG#zYZ8hG$J-}iN^=Q^JOOrRt+D1N$eZUA$1OT4K&V(X&TnKJ8(a;z+P zFCQ@ta`^`f&Q1Nbm)YNUMse0rt*k(y+mBjH>xzf6p!U&D)ANqTpGGr2ggnHmszDc? zHE#A+uO;Di@G1_4bBXw_{+NFLSYfD1X>DFaLHfaeCf~lu@$x~o82Mn@)v!QLcSh^A z<;+>z*w`37w@*NRQ;bCv;xiP{A~8@2y?pCkga{;|pSh&EfuKusrQ{Zc@0#o~_hnxa zt2DmPxac>9?dFX0-R`|uk931cXvp~F$sI~}<-gG`z_UvACf@^@uE;eO$bUu0CHlSE zjMduO;9!A(2tP#O@y-vxGMx4SLBw3V>H6au=NclMK$SN-wxy?EAxo)}sPzWz^ z4Y<xp^DR1V@jPe53qO(*A;R)Lk_n&ZXGd>)8EkB9J8``t(#fQ#!__@!zy1F0W_#D><&n!OQK&t_-C|&D zERavNK3)Ha2(d>cNLLPsHUcSn>c)D<$0nt~^&- zb!3hV#M`Tz#9g7~3R%j@{>k~Ex8a1*>=%H7<;jAyLzZMchU6wF0_Fi`>;-wBVplww zfj^#tP;^isvCiX7oa_9ohLM&B*#0-x23{VvXMy4z3i!OOEkMtOA%1liS`|D02WJze<>Jp)6sWDwC5#}tTHg~PP_uQ%;}{T?4! z2*gMiHrpFg1JLyuHc0$9eBW!;R0;z52}^typxqSzW4#9h_mxn3juiA7Kc~%Y<{HsH z0n`jgp{B|_J^+O~^+Q#05COB9Z>g5tKsAxU5Te}>81s=){Z20xXZ56Mx;v!s##-ZR zp_qRxCxQ#ry6|v=oMSw}o-M%0y@C=|^>5y8;^1KkTnQ5gf!>tud((oNwvnoPv*jo( z($c{GcHj%b>j?IV^jAGDwI4KbTyl1WvTKAEWa@j2XqsB7U*|o8$jZw@psAL+I^s@W zc3;XClDEj4f&v1#1$1tuBp{t*DF0#g3j+BIyqmYv*hEC1ZLa)IRqDw_nogHVT8oE@ z=!v-Po(TBolOD`IE5+gd!@)7xw>m+HW(9OP^6@5NUcaVC6h=bIqoGBqMI_wcKSF!% zJ1(Yf88#wqXS#Q!R$(;dQrJigxCWuaWF!(H$Ayb)Wk6cV74-O9))6+Ke%qo_7xgno zJ^;l)dNfT+IFRt8NPCVHO6Ak9IZ?Na3@{d@*oP7s+T@;94h{}L5GdVxbKvj#1zt$l zc;P>u0N?;fJUP-5cXW^|HuG8rsq2Xef82?n2a=AwG24LuZ~;yM8wj#C7#DX^=#a+p z1_VH3#={8@^D_*~yPwY<%zwo{D+N3PAT&xEXQ0i=N&F<3T9Bo#E{Sv-PhaYNXWy4x zxkjU?<*6%l*le&)LBd7&hl02x&?rSpmB@U!y16FXp4;4nWhm$#X?a2+XnzO$`v+&m z6ZR6F_1XFNxG^Z+5uEEEs&rR!5*n$qXvhdq!>EdWV0)@ z`amE`wf^mRX}a^5sHmv7zyI2GMx0?m3`p^chRz^AM}0&3Asp9F8iX`GF2?(-dDs|u zJ+7&ZOj&{mdHH#!R_196v)X$z_FY>IfT^`K8suAYIaG|(dAY~Kdyf|p`ttHL`hu9d z8ECny>KM2IUmBdg>Gro90!fXBLuL)QV@M#`2385~LL)wSNi?E3V#}VU!ejyhLjUKl zY`lQnPO0tYpyvrOpkxVpMFI*J$Oy5>vu5`Wa1CGTmlYMMt_3d$j5B9&)_eQtkgBX$1`aQ0qVpjsIc%3DtU#G0J^h9{B ztPlHWCMM2{PqMm{Af(gmKUs%DPmC5LYcJ3L)lms0csB#1YoI~6nq7V{X-scrcZPBd z`^4?aeC`AM`3^tG8Xg^;X!i~zU1#YglU`yHVGYQvW|Zn5@ITa;2dFr4VdW02RSV4?bk2IBc6%qqj6Q{y zrUSyM3UyTeFJ>EeS{c=};w{&`I8*h63X%OS05R8SOj29fYX`P8b7rcc-_t*~uPeEJ zd#L1%c;XGC^)}vnrD|hJl?Eq#-1zvZ5>0ZDpvzk*3rnSVeA?79=g(PPf-f~0eR9?^ zF%XEp7@&S!R}D~)(Dw0&k0^Mi*DGK668zu4FEd_De3-8t1wc0xxm#oLmnha}_C&+` z8kP8rhhTHu=34}9nCiXz+1_GOy0P&ugGp2ok*gwEh8iyWw`Q_7Y@lh0nAPmR&PBHt zG;J4-ehwINYyX!pCnEwx7Beh*eWA<--CHZ6e@R+t27kjAy?dQ95GBP?jUNEs+)2jK z`MK6@hA0SE(?b7E!ktV=g3RDZ#LozeA|=|Ce9-BvV6xirdM!%R$)zLpXlr0Z!m1h)Kpz z$t9{Kyl@sNqyY5>cdQil%Oc$;Sy?u(zy!^WlyTsRW>Ol1$}Ql6cVeezW@HiC-h-Ok zYqS2}IGrM*qD2)YDVq6M$BC2KQW}6Y>5-lehv3Z79bVlF+#t9=TB#q;c1Jvc(dWCj zRIo0#>DO)@1bPC=qN8?Gvood-p&W~Y^6s0hg2gusOn@046gZamGjiyNUfSr+HGpT2 zp+@l^tHZx$DHQQkwLUh2-Fn*ux|;wT>|EpjigMbzhZAiv z1u;vH?%U!=kr{)RKxNXcqy!0I!Z4PXEYg>hEc{}ckTL$VZ7F{rg0XJiBgkhjDJ z_T<>B9LYFm^RId{$Q+c*pKwSItRJD}%F=7StS-@Eir3LGXq{TVXD_m3pN;I#_;&rn z^Ax5h;>x|;SdtC=r(Z^Zk6A(5dtg)nISb$91oe-tn|z;Ql`n$w0*LY$%`Px14%t;H z2Sb>V0CTXz{vjZ)5|`QbJrPtk1* zgQxWV-yM5Wlg0)k+bFFCO{>>l5}TeLI8ue*d>FPsCAv)jRGScR!>z@DT5xjenp(VL z$79>0axjT|spSmxg%FxjJH-K4tt43tR0`QHZHu~HIA%>&V1ueW2c|3vNFx!~=R`&J zt^|^gxH|g!-vE(es{GJ2uYq81kMidc;mkR%z<%UBkfv%odYDIESGm~rO~^+%pSehz z9SSKkyt?+Y*f)wfI)B}eRPCK3`qAv_>K#~bq3$8!X}Xhn+?j*-9=GStt2C_4%w#45 z1Z*4}CC1A?K{uOdpzLM3x;X3kak{kTN3A)#RYBrlkO9_EuB32ZpE8XPD84XX)&Av( zV6Ol+OFNK}(l}q=QWc+|iK*IiYBk*py_Ev@Xz<@wP^_BtK+2}!W|+fH@$M)N3J7r13GVhunW>`S{#=V--SxFZ)2bPG1mz0W3?|bv zq=8vDtz@Z8qB|3+fM;?%(Y>|j9uxBp^aoD4T?#4N;&$hSI~mT^5avrrH>fNzA4SEp zJ`lfbUi@(}8niuAA(vMnfV$t`(BDgWWvskGt3sSRH!uM;BcNCWxf6(s6jc^87HXQ`yvduYN|@mC z969wHt_!0O^iQw_@+#`>d(VLX8ejr{{+f~!QF0VJsshj`b7cI*AQO2%BIj=d+or{J zWpS3(mg&y%ePgO|A-M5`3{1?c1prXL&ab^hUPOTRp#L>SiZ_dQ=%US7X7`YzH2f1CIgv1B@%@`Ek3^xIm5+jRxhS^BP;`fHEm34FMXRNydQ6 z=lz^l>g7y;Km_2Lj&l4;9ELykc_%JSuR&N-R8sbVz@n_Om4~t`3qYWK*^*<0(gBNs z1U{!%tAfSEe?sx@ZFwA`bN0X8TsSOnKI)HFF|0P+M}i(&;y(ZzVP0!KM+zh{>ndc| z_b+x79Usd3`U60+VI*5ixJB76Sn3C<{?Q;SC444BYYfR zL>gQb+qn&f+PmT(;gCG3Y63t?%y77`2rpcW3@w*0dhB|(^RqB~tGZJ>i7eMZ8xX4m zBFxFAF*`e*VE|wwQ2v}Ql*RgxNA-B8A4*7q01g)}Qyy_Cc40E`f6wq(JR|U(y@xxJ zHt96<)CPcV+mGb4%suWG)=%i)G&ng$N53Gcj_D@TPC4!K=taJ=dy-Un&>Umo%3 zrE+z4%ql^+0qGI1RL*t>0}LkpxffR#96=uai>m69L4YKwT|ohZ1GB-rCjq+!qsep$ zPUB|iN+YB5Jl$hIIGaX6U#12k?Aterj}f~spz)mnz!kLt87Y(amDXW$G{@z|U+36| z0@B(_!e)AA?Rj?42JGSW<;6VP?icj-EIK>MatFP>J`pG<6`W92Yee@vX&D*ALWG!M zTQ}2+Orw>;akBe+3(oH7uy&^FGoqZtP19vxI3@d`ISL3c6FHJQ^n zQPEJ2CCpF`Fe%ZWNvQr73cU?+w*+tuu`|27SCn;L$uS8$0EQ%ODsD|CA6fx00s|Zd zMs3p+0Eg}Im_JGEZ?x*iAF7tp07=g7STal?Ij{-3O!jR8c`?R16&c`A6qgrg{3RMP z-*7vD+@L?f$n5va&U%FH;bbzgKvY0~3;-gRB^HBDslB843ikFH&OF1xrjBxowM@zj zawm7U^E?k<H15C^{PdZOr!raiOJ>3iM8vmq8@6vr~0Awe=hqX6IJT5rESUX2L_$^bZ4Wkq&D z3%k}xC%MsArQIvAoI*^$7iU8GbInnj*7o?9tvDJQc@Vx}ZHB0xa^-t~oVWDj4n1QTl0xGPbH?$B)*RwwgdUXT@^J1e>a)9s&o0=9SKa@Sg+?vc+$a8|Gsz#=Y%d%vmSVUus zY#yGp@bbY-J@(Qe6SF~FKu}U@*FA!>N&bs)b1*SorW5r;fs)??7kKoCjVM|^`J%?su{-fQmcyscK=fNHj_ZkS80s?9Ak9I3w<*BemH2qQS5L1B+ zaw}i2SLq?|jQhYUL@}+`su6HIQAu;uUJ#Q5I_%zzGo{=l61|frentlQ-a=9Et5S-# zDIptx7&y(?N4GO|lvtl)P({!+XLVbI%}2Feh#kcLq`ZGe&0-i-%2{iG1;}=KSGEr& zmQNA9iX7VsSZHE9fInfXaJ|ytdN1goIaGT+Rjc=mT3dVxoPRWm=PTJQqgXUhypLFV zV70T{cxrlz(W(X?g0-Q&)*Uhb-TL~*NbzQdxGga9UUD|cKsGb#C2shTYvS*vFea>|X7R0SQw_FXRl7>yzRhXqXk+I_Le-OrA&_gB%cI z)y~F?>H1+}$B{aN zkscP#^;4pl0L*Zg^HZHjVcX>azECp>Mf)u1z6(huAM`1u0a=#!u#F6N1b|~7ZYvza zXrdQ?j!7+UQnJ}2RLSiKcunNQjweDTGrBV+uc}WsKx?9%JF7MNfLK-vzg+5wT$#;E z62YVMV}>!K(PUV-1$#6Xa$5N!wR5~1R9ye4P1u1%_Ez`pQOdi|5|EEphXY%M4Jisq z*c@!LAS1WnFf5LHX^S^s;FJAMu0&IvU!u86u z$qi0jG8!1{%AQ_o0m8#d((dH7)g0S%EZ>InFRdBc6f*~K8F6O1ZU;Ct%`DgFlAJ@S#fjz~8`?Heb}SBpn96iVJxiVA zmrFy*U@(*(KYw-=xaY1hJ)r5G!x~9d;Q@_b(KmMi_vvjY0XSPT!T~Z5vTCbW*`>u+ z=ndK6_!HFp`4R{U!T+&bt+_j|Jihb`oumL6fdhM+<=xGwiR3OOps}$r$n&7ObM@@k z)(ms^=IqS$6C9!~4P&BvD=lrTd(}j5Z$v(&$vrwN4ej0#x1pgIPo6xn*}}bNSVed9 zQZ=p;mp&V4_EJ{%v;ZAXQ5H7`;=BMWv$Wg&hLbZstTRwz%?+*lghuXiZq;j{ z_@+CC8vFC-W>0w z14=e`Tj(#KNNH)XNC2@kb7W)~tqi48m-Y{G>r6=jPIb7mv z^$sSKJUovt&rg>g9L+a+;F{)VD~rp@S_TFJ{bLj%TN9aR#MpF1tMP!rqR0t|)fYX| zS)a;dnV%sessi?-!{fXz%UuzyUsU26&Gz6jY~#stC$WaUe$RefrD+_qpQ{Qg(_Rbv z-7d`gL_hlhh|d5knAeyRtwFJjzL+ovW%Er1PaQP&TIb7x<@#~pJZ&_oCxha)SoN% z*t=F@BhIO1)Ya9$6$kOKC6Bsk45tnz#t0EnWO{D*QD?z z7aUtP_$hn3jyeI}zp3@K@ic7+#OlcR#*9*Nzfyq3LdIu$bx83TFz@$PuX&+4@eN7C zN^(@@vg|>fEdwj7PJf9Oluau}#52$_PAxe$So4Y+N}zInI7R@>%naU$p6HmE5GI-T zfJEd!&$HJwIvNJxunLpumc49A2FHr9BPj}J4lzHwbLi5v;W;BG{qRzlT9{ratWwxE zppKY(4cPuW%VkbX!Jv(t+FG?rea)X|j*!E}>fU~QR<`@wLqpk8@{Vhkis5Izr#gcx zySs5)4x@9SkC|;7v$?>&fS%EBoL!&LsML8wS%_DsG__WBRqZ|uyRCo^5afrgb3T#| zcuYSscs*npHu@6$TE6h8UblRK=0GiU28tX<$#W+1^rr3;qTLHf-V5E=A1w!dyWoIaga&>8n7zR?hXMN>p>+F!q{pW;#6!+<`tlBv2^$a5L5Y7-mCjQ{|kc#~~tTuF5Jvoco?;!Vx~{cBfWiZ6Gen#1mDm=j!-pwnW$fmmQ8{f{&7*V(5u| zbIVAmdeY0zwlQ}!?i)lG@ox?Spq20PgL6lPfng(HcRHNUQv&LOvcd@GqMtQ9_vgF(){x1)tLxpd_ezxctso={ zvC*A%g+`lcInE|?s(?!rJlyU9(rcNPY*2W~gbVQTpbu%>-Tf((!_e#a1Sa~cTy$A^ zxpd2~|K~eo<>X4uHV4X3`Jm=WIpzNgM#$G3KuByK8zaqcy&7a>W^SGnF&Qk3+t_wq zoGp?5AQNy}(T4z?h&6g~Jy^KY%~Zi#ZHMnwuS3v76l=^AKndu{g8-b&ci z6fUN{Ioa4nuEs-#?%yiNvNs=S`b-VyCzNQEOW7AJKzkW}P|R8cXrVzCQPFJn=s`(W zb(ALK(IBO+rl;53yeP(~b-)OkhlI@~0SL#RHui&3z5}`*-ET;*_W^T967C~p=lI7nS_%`euhDCLR zYC+-D4?adB(~@qde7Dt=q>;&DPNq(U-Z|$fP`1DzL5D(QUXdu0=|(PS3v^v)#VRMO z3vOfj;{gJMx90mv3N$eck^Z>xKk}1gpp_ui%7mw^UoP@u%%vUo4pQ zMs6K~p~CBGqDm$NO^rf`u0`nRrayDb^^NwAWGbc1mOX#}dCP_)_M&p4J|};oUZNT0 zH|FJnd@iAM`aljPUoeWR`_U~Qen8%*Pam9k23t>q?H5iHEf6?w%n$0picLewf3RFT z9L3&c@giC2de^mX4*n6aIl=E%x~CfTlIO62?0p}>p_kk2#M0P-Dop~@v+-Ohc;y2A zS;9JGC62P@S2+ylVQXTo(s@rzW=g8*F#^p zAWKN#+e$IWm)!MPKpX2fpVjK!y1~(}{p8rz<)Kf%N=$s_n|n>|1_ko&Y^ic)rgKid zo}DvTRbdD2A@a9HM&OJzVxOJy%M)`zOm#+i67;cdkg4((kA>Oiku}Sr3}_WudN63t1zZJG@%4{l|<=!VZzrz1(uS zJY$U=7ZjS&OKpSuy)go z5RBW;ed$Q7s~ji7vm=5)<%ZPZ5+S}btDSg?!~EIHqkD+6re@F3%rNGxm4I$|<7;?~ zXLw_|ZX}rln|d4$H=KCRr|CPTJ|XBkV-GlvUV$ENajfdA81xH+3gg`7!4!EkeZ#F9 zICj^8Et}{1sY!9E6P*K}QiAM~CU_T znKgnk&eAsdk^TkBXiytHLkR?a=K7vK|APAC$EdG=La7Z(q{)=8A|!*H+}kq-Hth$JC8VUE7MACDt4Ed??GrrnLQ6vJHQH{)>8|r3D z-tSurIInaAKMB0P^S3)bt-MjlCemXvny% zu)}bir$t4MpuKyl<*9&dl|Bh0qe^^Z@VwTkVXdV?3pzm!z8LJ?5|cS&Ec4xS<%9Ql z=l3V2HCy|0xWW^LPav|fai2*sS{lA+T=~a8kx7!sIu$}eKG>ArJN8fW?27Dt)7$gI zNLWbNt2jAXU>`bj(4m#x<}5AtP0S-P5ix_j;|o^FOqnh+T9h$86N5lssST&_*Prt% zNDy}RZ{;has}#dovdz4!)h{C&iyU9+`PA05a0c35yL)}s&u(Pht&{X{ZeBeTB>Ya_!2;_VpuC-P8^_ifJ9^e25?7d2%^ zRmzap6oPUq?B4Eg`M-2#%@7N4z5A8)ZD%S5Dd#YCb%nwC%ZrQve9!UbHy#(c*Ah~F z2?Q=Nr!q?mt(`gh)z#HkX2*DGI+{-)(niS5V-kGDHv1Xs0a1w|&m2Lejici@62C}5 zKyYMCwgd;*u+SkPM`Z>>PtAef_~?j4IQv0xE0Is%=>7c1rkS4SfOz4W>dO%Qm09~>GhuUVJTDK={s7OG-se?JB69X%5>yfRi3 zfuiHm<~+8A6Jk@a*=X|jHQlnoM=UHa>gjK6M?-3Z@Cu zr6C`Soakvx!KU7Mx%26f7G&WK5&oq}dIBd}R64&T^iDC2wb$Y}Ur9l~p4Q-pdegnW zF998xe(m67@}^pBAfZ^^-G*n9#Qd3S=(n(F-Mrw|`N5b1>Rp0CMJ>-I_wnQa7CDI? z$&FKK`EVTj+uF*+zC8|u?R(>Sr{fm4Gk+2PxN-=L+bt;XeLieLvzmVeIGkilDhsB_>F zxH|hXb<;jHI@($-EW-dAX2{A%=c>Onha>O1fy0mLZ(n?zYYynD#S21%lwudOJmoPV zm}3gogpl`~v_gwyYNa71G@%YZ1N#jFWL(bwvL}ICO z$#&zZ3QR0*ZA2tRcS8??INr;gd^Vb#1aEG|d_{PT-i<6@_eTe+_`D=VmX~S-b7hFugC3~@ zQXI%}A5>PYMwDC?F4v~99yy=Yq9#mGU95TJUKJe6|F*HRit; zH%L*Ufl&+im#~0&_3fQ(5gpMl&B$ogK+BB`h zxfl0{W<9vyHtzNr>J<<>$;&NBLVK;GSVNFp(#nIm5RN5YaqP|3J-=ls{9PRK(gLf% zDc8bVT!h#8(Z|G6WJC;n^vcMB<<>~W(UYZ)BG_m~_19Fg(aT|YQVe6GaB(eY;qte; zJB~kKb2ml#&vPp1KLr1=4nn=UO|r+U+|(J*NQkcGWE;e;=RqdD`6@ctbWQD?W3-6l z1W|Fi5c1K0S!%mpR9)P2z790d*7qN7a2!hI6Q)rtEth35*+}5-!Iycg@!-o;=G3t2 zzWM&M?1Lar)WAAM81X}%E(JHkGjWa8<!KP|S{H1l@`W}?ptQD0< z2j~i%8+$f;LC}nCWZ!zRE4HS9$z>JDP?| zkA#qPrW{9cx!?oac`lXf_VgvMK9`vh=3wzGcdo-dz@+~%SUw(|`oXCV^(u(5@)KcX z@lp~yjxH826@i;AAby)&m-+cHCNiLrijkaw9Zp<5aXF4odH%;((PyQ+nYz-SGmB$e zxr09!DKgX4`XiOLrgD5b_OGk$xG>ai#n+~}ohY3T>*?Hi-@sQ{w$B*Z5A8XlxI|S( znjrc#ok?)xaN9chs2`iBFNC|edITP>4dFdVI=_?di?bCC2q;qRLG({3e=4<4r6xCo zO0d{~{QGg?&v~TA$?0Z4$5g|mZsPu(+_1lB`*Yo^FG|P+T=*LB)vJCr<=?w|Fe373 zn0J!mV?B9{=Q^en3|^05s*Rm}!C^3Zb73S4f#9$^qBAmTRasKK#EoG*!{z>x|M;6( zL1MfBqkwqUH!sid>fAhWyN`o6LX1tHFoSD$}+Yp0W*q4kMoLXztc8PX>j5E2`yOtlY(%c(|`!@BLt zW3tfP$H3ig>^wh{M4r-W9WY+8ugFo@<(O&hmuaCxz;R2RvZ~A}v$xcZRFp0IW>Ly9 zw&US`(D7#xy@zOfOVY7)@o)A-icDPs$?wWu6QV;!pSgZ*F%gi!*JN`s6>+LBl$~^% zZOvuG%v1zNl=|%n7VaruVm936u{d>W)fKLlT|t(f2AtEZpEF1$;CokDJ5e-bDIhsXo)pwk<=l(T%JlJ`M&&kJ z6(nR{5G&a6fO+7%yr4y|TWv=|n=qb*EnJu{_vJEscs}#e^!9L9J&8*Y&VngG<9RQK zb`b~gA&_@BLrrdH18qk)(np62+AHZAR2T{O6<9{9=<02_*C>+~s;aCBQ4Qt2yJ{cR z+saa$1z}wHRfuoYj}59xgQ?9SkYk_j?^G6Gm4xQh15;T3V2_&gnL4WZszTTqIf;{4 z;0NCtWkinEWWmLh<Sgk%>9)GcR?bjnsfSAEX#*vwI8#qV68P!+u zs?=1!^BdOVf=0uE7~=E!ApA<=rHKRt)4i(%>Eh18NBG+f6h8viyCoq9nKs(f!p@hG zGAVSPUrB!_CT2A$nlO>`BD~<1dr3^$9)<6mc8*hNw9t#kSKo0! zK8ch5R!sf`LM+IV9B*hxbv{ks>zB`u=&3f!j}x z@f{NV_NG+Mpkt$TQ(yaTFgRRm9|fSBzlwuB{F}XW1pyynoVhtHs57|n`!j5Vb6w+FPj?4M>D|}gi6a`b@Ah8j;_x~W*#bYMNE=++__48r*5C1h8RvACfIx79iacN zl+F}NZv~ueyAAG+wXh~|4o@>d_&DRorQ!8P6KSJXFYX0%rff02pbLs_=Db-ae?B-e z#C5&2Q+H0RW-v2|gh-(MPon{LzWSijHRd8q7J`q{LW}CUr;_TWsLqE2mKWBK0WHNw zz2B!ZQUn;_*2(5C&B}YG>NG!M70i3)ELwe8HHKAFCv7j0OND{ls53a-sIdu%D0mAf zA-t^4ITLLZ!G(c^bsW1MfV(K*qX*@mIsIc(h;fl3omK3;Kn&S&V>R#m&!%iR@}vVi$@PPCU|SN^h)rf$w6E4 zp_KAlBQo+#Rd7m|nM`N(`8h+MM>sZ;3;)>weI(vWCG6+FSD^X=kc$ShEw3FZBlNT0 zwUb0t5S0!i_`rPvmw!ve1j4+z#-dVidV&j_eO?v*1dY)Cj$b(7azFLmd0|S{d`}WR z2f9M3!Di~Q$NT6tnSC%kp7csNmn=1R5*A!Cgyow9lIbfBd_#F|w0uG?qZZM`D;x%59^$vlYNBxvS`H%Jj2^jKZ4`jo zES=hwC-+ILbnsZCSCJ7^8ZS~`Cyv^;PJQ)tjFZVR!h8-#AN+MFE7hREk-I<|?xBI` zs!rKxt;@pnq2~~M3`uCH;syXibt0ZMo?(+9F( zrFycudHap-(R@Aw5tSl>?swT=#e~`?5^jgfQ@I9|8>IK3ceB|2>Kkc#cW^X0!0X1b z$=m<=Eh0M9M& zsIZ;}urf1zR@pRWvs``-`IJ%^RJb$Q-i)bp+UB{(?w#%$_xFM9?2e$wJY3<2SQD?! z5V4I2H*2##K~Y(bC@~1Gn)H%y_Qe ziA51r&?T{P!jmHpPUCChsY;j0?b}1XYXI)%#GtL)y@qbYXZg~QZzw3HoQ7^U9jrt( zoDMBC00DK^)9`8mRtg~~sr4p*xhuT;WR0GYv5m)?SoL6}90GcGVp6_j|0*OpsvVog zMYXtT@0A|K_;l>s+F98T?=j#V5Xln~k|041i+M21G9 zYVfr}za%ykt^z|sZ&V*nRUiZTV&HzffzvBM#xF!m>kXwQw%u)D#~+5#<72@HfQ*3K zC7gG7fr%X?;dToP0UItklj3)_Pch3VDIw#Z$xAld2Sy@pCwbkuJfDXt>owAuk7zD@ zbj19fZ7qYfg&nH^O5;_b@#I%gDTf+jy_lHxKw7c?aJExMq%$fZGUcUTW+O$Vl2Q{p zRQEFob+6WSt~)5mGG9|_vNq^_M}q`|1-1Ct;1OsPyXj-OJpsdqaQ3csdbGAWl3+R{hO=7Js*;#^#f!GSm$5vPWjoa z^pOCF2t2Z?U%M{$kKFGkY;FTVlh90jpm_#T7PNNGi*WX6M6eL=c6AY4X8u%J(HW>m z1|2=$VjAGscJz=t`ej|3?-d!e&Qt+lwK|t>AY1iO_7w^9ho)|<xN>BjlqwLH7sAt5S?dv6mYEiEJR^5;TM z7t?Zj?BP=T*AGVDh25Yz(-axdN)sDZbSM1s1Gv8|h?X4^{qXF65CO&G|J^nhlLj(k zPX}Vt`+JJWzi<9KBMU;nPyJ^>qoZ%rV?q8iRo;J3wST@5KmSMnf6hUu<$Fum0o?qE zk0IY7$)CRK`hS1z^0iF`dMrYRmS|xe#V7unFXE&w*@X*a>%NDr^V$YfqKli+MTsqQh*`9@kcQk0my+X@*{(hIYDU7YqZ-bZ4SUEK7bV`E0`&sTQ+|hOz<=Ngy`p`aO4036P z$UCdRP^x@~Fa5P?Wicvx#MJ-%F_kmaOSd0vYJ!Am_fa0|y_~)MX!6f%c8y24z)M)L zzaf22;(+kx!`mm2;E=??2w|+%NxvvnP0gp9%JpL_r6roOjpnZg61Y){W&Ht7AhlA5 z#~VquKFg?KFOTMFzLFncP4{TeP1@qfGIynQ?JR0e_(G9Xv1i_XZzi2f4ew~BOLQ?^Fu*vw>stk0&8k8G_L zQe?hDP!~QcdWDfe%(_CY1N(})dXYZgi{HGw!C`T3uaK}ea4EQGQF!0Hs3So}RjN_X zOXATVyLmcmbtvF9kWgg2{!PkotHLNtwi|D^!m!zMe>NmB(Ua_S)8LmwA_eJE$9W@q zl@?PZJp9T@JJJ*(R-%ca#Olim6A!|uvat_+aSWJzf`M%pT=qj*a!dqVHlI?jG5@i| z$3@UsgEK}1zVcvxyx|Ev+5jsHwXi3W&R~mu*9#m#j+|?G!lkJAbAMV+j?H$B68`r3 zGgU;(R2xqH%|&~RBtpcMWqE=46c}vwlq7Dcc2r_^jQhI!H!l!_V`Gtpg@rlouD++PW`Cy~>K(;| zhlel9`wrvCd9yq=Omf|U#UiG5D?Mh0?(6=-$K5-~9^Qi&2FQgE56%ky*DW1kslK(_ z#Kpl;y-noOpM9v^zx-dMeRWio-S+jNyQK~dCLrCZq>|D|H%KGhEsY}5B_Q3>-6bW` z(%s$t?eoTc@9(?!8{;>|$Iw4OJm)#jv-e(e%{A9tvc0cCo*I*@p7+^2sVHT(;B3XH zXLX8%P0z<%6Ksx?(_?SuA> z$IvRL7&wT0h7RFxnE{#fC*$pj5oG%2CaPV?e)d!l6b@wLyS~MXGi|p@yem0x@zv59Xs@CZrR9VVqLBl@YhEq z9VQAt9O)-jud>z-iA4MJSR)Lth7f=w1|12&^3bs-(#4nUkym`aV0NI zOdfy6Cn#foC|1;X>0DHL5~mAxI<~757gwQ9!~hxBm)Ale9gydmm93wVgy}dR5x#xP zR;XSA}h$b8rT=0?xl1bM&7bGSr}xudfyL#f)@ICf~lhR2dYt@W!{>Vd7@OSwpR zQFwT%25&_=I+*6EAvw&5;HUd} zxOh?6wFm3kJREsSb0YxZWx&IZUFG~0^hck68NHH;dHJ?SFh#@{B0}@EXK|kTkEjJA zIX*1s+Is&*ocQ!hZS9-2hL}xQ@gID7{=C3^L7RaSti4L#a2xl>f7n2PMTx(@qOc7? zKK|F&s~{Lr@z>Y4c6G>KK?fX+`v1?+7@t~&#@IiwuslpKK<0_SZb&B(64IV3`ULm; zH3Sfea1fALV0r7}C>QF5Y=X*Y$CUJ?wfpRjGr29v8l!bC4;(MZH-!_n|c{S@SRGmk~ z)nojwHrJRNaj^-f;KD7QrLf)T;O*C_LAN_ZBiUca3gUVmN_d&z$DYIh{XLd~BL> z)fQ?JPoBO0vwj2?#IFn$xS!p#NaL!p2lx8eTtU0-A?0x_HoY2%K|2!l`-vIinI(3Y zZ&3SXW%WQdRvRtRHkfUYY86Xla*0EYYp`R>Oy2Mc%kXb4z;qd9ybm(q4h=-oG`FPW>G#G&My+= zPY=#NAfyON94kmSj{X4dSR`1{;saYM3iadN`SDkdLaoB*cj7<+0-=7yiFH5Y?sMg6 zPWT_6`V{j8hP~3vK+e*z2oqU z8xXHo9RLY$3hnxMx}&{7L`eINctN@{Jsu&2|3a2^y}211JQ**L`3I@ zPWw>}z24jjT~`nRw{|~%97-C2CEE}~ z4pxg+^!^k!sIWW*0tB}CY4_*4O)GT?zeGfYe@cwa9%tr!P61}1BCU;mlYf2mHyDp0 zDnj=OdHoD@684lgF7;UrMSre*{jqzvET2&OUdRg_Qu>{7!D*2jQ0CpBEDbIm4uYe5 zrk0eWf}~aNMZn9;Y_KQjlKiA=unHftuu>ecHC@C&a&O1Ixnkp$?FJZX%WJjKZ!o zmN?H>h|Or~6Lcf)Tp1jv8-lIg{NNC7ysn^!q&6S%lT+**zAJ)WtnVR=omo>%Lm;pj zabqh$fcAnKmztYf?R2K`Vx1YC3y^P^50UfLr7=#|_a8lcoUUQ4i5e&ZvM4=4K(BgDnP44>ESbOV!)?wP^T(y_Mjt1TcgjG#eqqq%dX9k;>?azv5_>Isaz zQQSjj8wzH632NMhqjX#&Ba@}8qK0b!b!V#t60-Dqe?iM4hBmP0qx`R0TVD8)9;;D5 z<3)me`t&InJnV&XdEuAEiXrI;GYXx>_-oI#!!{;OAwH}2IW7I8h@f;`WJe`yAZ4!Z ztyXl^+}rae97R5rPP5oYT^_M4HCOoubCUHUsn58shK)Y z0H=V=Fgt=GG#$Zhd8Jm@ZtWK#knbpuIRgy`3F+(MGDmyZeN!*aVS)Y5AR&*wZNKZ&17CtYFVyzzg5sReB;nRg}khQv;J?5~aNB zx;^jS7AUty-I^T}f-IaNK9w<#yl!Y-RNnS?GLW!)Hc7CWWHaBjdE74&M08_)c)qm^;Rrt@8~Y;7~~ z{@Cs8vYG1?L7~hqFyGAdA!kQO%1fU2TLO=Vv=!%+GT}Kc3b9r1I0$#$vBfmpBwXcl zw8R0YzyItnq&3VhS3u~q&#x=52H>gh!cRe1#@)Vp%0KUwIiSSdGtkcL$dH{R_TH-Qa)nVoH&Aek?|n`<3Fl&mH}rf75~(4g3B5KR0H( zHGTfKWXIoE{{IaeVU>cvzy6a``Cq(^lon)Xe=RtW{mIG{6F!=q*)`PTc-8dxV9|_9 zS$S)(cB^<7*!p6YZ$tWmL`JJH0!6~fXK*A%Cuj`%q-va;-&mArmm|Xy4=R(1j<5GuNW;2*dsof>D#5=+xY_Pb-7M|J+_SR8EU^G@g(K-U!?8p1AWRx$HTF+ z?E7orf%ZQws$N0uE%wh*2 zXGD8S?_leE7;)z^SRGPQ7#mcL>HAMjv}$)_t>WImP-6J*?q0Yd|9E?ulIEDpNEdeZ z;Q`iUxgBrQ?bb2vN6{kaAL_<{J;C^#BKK}Cb-W5JK=!*lAdD#DKhLy~bceL0pxn0& zICIEp*C?9ZVOu2{u3tUMwbab(somfcj6!AbtD@mMBL#J&fPLZ6A)%reo5F-Vw5H1= z_M7kYs6Y;gAN{#Zz>J~J*)o$zZSu0f(l8=7rwlq!q!~1hlxp#Bv}vg75M;*v;vrvS zmH7_<0%V(S(NQ8(kRd0|yT0+0E)M4;p~ZXt`j(8H-+W${EJcLB$vNxZ;CEmopJ~7& zi}N}3n#(`4Yi|Tqg3y@=8K4#t{a^(^Y@zdJUV-$!J zSIolCI^HvD4PSuz4Q#!+gT-9EjY9b*#4G=#nDFpo9sxXN%6y9~&8{?>r-A_aCb8?Ajn3zP_$3dZb@oH2gQV&6HW8N@C6`Dw;(mB%$7tiaB zv?u7Hr8l#}8^$^}kK)eF+}++iJn4Rc=*H`a%)#Rg0n$;Vv2!5sjBlnz9qGbq-_kpc z3w+>MTvcaW&aQh~#ToKfowL z{3>j{=pF4NPC|G%kcH-HD440VDvqT_MUPFIWs=XT)ewZ1TS++#T+2V#kscXCSYjI32MsEkGijxJrN#UAOSvXk0SUJ+GItK<8ud}u>PzOeHU%xAL z-ut+ZazRI@gbcpBIF@(_(VLHoJ~(yo2M1TaN|pHjem(WlK`-sOpi*ogcs)if0?epa zsNOa>ve*fOHrk2hF*S7$qsaE-}dpNs=P9>N<>0c9IpzyrV(#pZ=KgQx$ugt!FK(HG|{b8_A~ znif}3m1SyVFjI(xN-{%LHLe;Q874V7CwlSSiz4E95M+-8Hw|`r*XF?I!w?|M(V|;c z$O{^^g*ZYo7X2FTU&d^R)^oo5i5#QmJ87{<1`TOAv{l6-=H^hMV)U+xvUVvCEiTJx zGz@n303;@nDv`(meLNn|vV-coCOLp^+X{6{?WVMDZiiAl!gQ!Ux29U>nwy3}bmb8* z-14i=k0=6x#C%fad)H!gN#t;Dp0NIp4VnXoZQqV>4;VG8NxAQ83l3ep2uzoQ@S1q= zp}{+amOH{u$OYWiD3IV&v5VaN6#BCP`^IMuCBM--Gk(uM`fkZf+4-1`PY8+hdz-E@ zOddzY1cR6i@m~`ocri~pR|P2m5TFkL1fl2LL|Rkkzo~tXQqddzLC9<~)`KW2D)qV3 z+sLjY94HPv>5E-9Um=KxlC}MqK~zMzRUClX8rIQ?#zuf#?Atfvr6j(XKdM4*LGL^< zY~LQ8?}aVu?0tetQFDIzTCGHUlsmD3@U*RIpg_;^VP|q+L7%(E33lk8 z^3zqph;tnW5&FV@S)lF!7k5ILr)M1=k9da{3(HDW>4zYU3}Dle2=3+_r6LcbfQui9 zfr(C(8Nu5MamRySqd1o<`G;nt-Tfa3_J2n}{(s}h|M50%k9O5N2ay-Ii4Es|z1W%Y z=8(T09TpwVpQ;91^X*b^LLy0fo)SM|;10bVwwrSeuagATdNE8tGei~z>-GRa@J(1A z0G3_YWIlk;S#{q%aklR`*Pa%o=j^cYo@tqRWN{$CTHA8?0cXeGvR13o$^s11vz~*4 zfFcO$!EO+CQ6h~dO?THPLDVVxH-wtX*V|I;{}kJQxgmYEuf}$*N=Qn`03CF{vp)bN zATaA@mJ;+M%`m5GL(({C=&o0lC<=?B2wa?AMG!R9u+ z?+ZwSmaGd82kzY7AWxN{AUS`fI1sboHF>duZaN;&*$2ox2n2-nc-}c280-d6&J4s; z(B!8Y0W7H_V7+y=)6nGK6ybkUjb|BG(*Lc8?>G5lc-#GX$@r@gHXtE*2|A&I>2lr_ zNN`rh^W)r!m%PlhTU#3Qu-^y~gTcz-vY}7UqG>$t6+F(~6~T8G{s{w-s+_lfLSY~h zFtZ;sGRhp+y&QJUO6=UI+zqU%gD;C5hAp5vSDLOpn$pV68`~#L(V>-(BQT_t3?1GZA z{b!%^1ECT%vfCN*N?sYng_5LdJ8%~u5Ww!ZIc*2C6PM(6g3JRMv>IacBr{2DYG; z&BYw{f8}a;FX<0kvGLW6xIpCmE!&vd7TAtfTITQSUr_@eW-Uwc^b^lf^NuSk^AhWh<#NNA*jl{?9)*z;`Jur5>$ zHk5P=B0WVPW;S+qAXehsveCCj4-umRKV5Q}L?*|X_DOsE5o~xnw8;LTCyzK)c3s`U zhK-6%O($YEyhE?p-vsmaC_x%1AJUcgKU>m}x+wVV;hOKfD9~%+|H6CNXV2jv|6t0_ zBq$lpb9SXaKdJW5BCBbS<|^wMb$ZvZ?~cn7Mcr9H8&+J1?Mm8rzEh zR0jz4m&y)|K!OAs-$H*jq8#>}*mVvX0yIZ7nCKH|!L_urYJt?Xxf$}a%9wzh-yIFy zG6)dCy*T+!lKe0I&mZk-MWcVWtKB+gB}m7)V3Oya)y}P-&i|;H)+I`Ib9ZToIdlN3 zjpD7#!rwpkwfZ$1YLwp-cm1WdIJP^Aj!pC{Ez%q=ciyiSa&q0{CfwEL6}A~%w$d$M zy<``GMOc~l*t5p`NSp)4`DJQuBR1tW!@P;X3zs*j5@4 zNEzlZ8-Qg9PGX=-0!2}5s*kBzcJV@HgWCLhH@3_qWUpyBIeb94sR8qykp*?j{ta`= zC-;pAxi6u*)bb-Rt9?29&+ayh+cOGYG+lXaP~ZCsDDIQHCX6#mfoz3(&}8>TK~(Bd zT=Dz8G3ng`o!cSbxPmzWEiIU@w#(@z!V?sf8x|7|gUn17&(-(5s?6HxK*dG z1mvX+Uj*}A<4XA~);;g*z3oM`Cqa=UD^oZqbhM-IYaI6@cgeWhDlLdDrz_B;*M=m4 z{X?1ax}3^PsV~BCk(K6+{dTNIGjI?2+MGl-Q|H{BpCwK0eMvs#Hz@8^KpDozow&E| zJ*U-rvfUX5?k3WN^(@QaJe7P#2KvrKcQ4wLNJ?L|G$Gr)QBneUiTqAeBO|@V2G@t4=0s%@3xkOJg(xPp^l7q-A(wiqw;w0jAoWQ|))4 z-KjOhyW-)?&>c!e#l{TKO7-3WDgxGbJ0xT4g8KTl?`?f#9wQuhpY8D%=h@#QTs*-L zQAbA)U7D*L)7-97?R-l}NW3SgSs6J#UgfrJ=53wq;}?vi5L%vFlo@)QUzz2oJY8p3 zE{SS%d-sCQ_Y-0;{Nb@zqsMHLz_xqpF*&_%nmxAd`uKCqv$Jvco9@GQNrz+M^JsY> ze<-HkO;x& z$ag$&@xovqs$FKOGKok*F`V!% zrY<%0hC{w|$bE4|I3gbe2!{3Vf>G6dmrVx^fe06Qy9uV-AJA7oJ=TrXzqP+Rsxfke z0Kqf%9%{#U<^0k@S#;eM>5)vob^|_pPIzmXHjVn-{1C4FnV(Kt*KdTDBdnJ&rRrYM zHZDaKUd$}Lf!fKUK|dy3i_|@?kugIVvjc(`CJq=@jTxqj^dSG^vrLc0O$Ac+ClSBg z2lXCRC(mY6?pa@4ul2?G$)r^yVr`9fEcQ@aYF|IUYj8sFop##zAxi7CoTllFN4SD= zzlu@nsa7#pEMmBdUxqp+D9HFLuF~y-T5ez7`dwb$h21%&!@-frfJUY5<+*yHPMwTe zli~C^PpJ)6a!Oyi(nRrOrD4unLu@K`iSv8ONV1^BN^=Cr+5TLF?Dhl#Q>}UlOTWyy%%GBIsVxi~Vg6^g7ZryUn=ub9J-EEw|?-pQ)zeZ*L1v4QuEZS z?`kQKR*SZZU>##(V8DpGzd?ApsIN{%9v*hj|It&S9`mfyHB%VyjitN-^rcf3dqHJ~=(T{N9ogvhXV~%xpXZ=^=gyQ)IJ^R=4>*Bw%+g zkX|LfWqxRAr%X1bx#5?hl0IFOo~F@5w|Kkhg1kEn_NKf#vfCT#p)Yhs-PnxU%RyA< zJ6x0U3Tu~ve&dCC$9g+_EN`rgZvNH+bm33D(#bBiQ?hux4`p%0BC3Mv3W4UJry9~N z=n)=yE3qj=CFn{dDWCehR6sN}#75PUrJ!WSuRRl&oHFYg78QqxOMZD4E0sgP$j4+doIca zWAV*KtXd4pKF;1$nES#IZ{2%oHLoRgx!I}XrWcLKSU)oyEj+k9>vX(bqeCfG^4m;* zQd`b`vERieVG~nx(%To(_6C;FlI3dyhf^n;7j{ET9+TbmEq4$-HL<}y^K6+UUvz82 zpH-gj{dXI5V&ayPL4!I(g4r{SoYp6)$+|z*JuV+XIm`oa_?$X`nN(Ct)_vD5(!5uY z6eaI#s~9OHNmEm;%Viu;$i2DSE`j(sQ3(CC$Q(0g-41hwEjNv-cmDD~`50o@&El~$ z2|pyRvzAO|50E=6fU+1iRqnga?>*Sj zp=WqNG&wcZIyi{kE)m%^xVw08cF0QFhcRL@01tUuULF-23r|c;taW!R4*{pS==S-1 zciwV0tI^6Ut;mSLloT0fjK;DmaSDQ=q1CVH?Rpjrfkj0R+PlIf#LS*vU1N`LKjCM< z=*FRHT`S$EiC%43dDjz+cc9x$B#JrXw7<0#3avC>1nV}D%bmE|damQEe*3|6XPDVs zJ|UBKjgNJs(C8R3dLRkE>v!wBMo$liW1GRruE8`KgAfu=WXu3DgE`$GnN!{PL)oIr z@*H{n*){4OBR25oWN)IR<)OO%`qTr%^;X3RU)I34>s`fm_Tw^hoO(M@MyWqqTC&6w zuBUs$(dfPoo8ytE+E4eqNz}x}F_v z&%5CIYcud$hZy8VC6p5a8M7GgpO{nkV=XZqN)^~I0ZT_dRe*D9e&h+SRr8fYq|RkK z$`v#9_YT%olRP_Ja`y<0%J+BGPF6B0yzIJE%%8m>)I?#!b=v&oLbecZ?ZyxD%tG=I zub(u!{6kw;_KETFdM7nUZ0j@e_Q^<5y+#-2hxj|8li2r;7Q>|qbm8ROI@~%s_#t98 zabF@viMH04zdg)(kvZPd_}*CCm2fEkmB(4(n{E%j$H?{0J1@-LpfmJ!?VV#tzt^kf z;eFI5tPgazgJ|d^msXgYzZy<3nN&aDiWf=8wcfL?8;TJW_!R%?UMu_Cw-3F>n1YZqp)_K}T)X(-RJ;rv6$jPxrgL?UwkqLVLrB8eWU8pU|fpP)74V zAJWT&YqB4MoLE66|Q(>$M^eN0~R z$icx^(yv>C?F<#BGNqy-QA{XD3P`F&khsBwLR@F-SrLDU2=Gd>H#N@8b6(dJjU9?Q zyI^+fA_B_6bqO)v^|j4Gt|B4O8uzK~18cL~`BIv_+1}dQCJ$F)ghs;tWP2s8eGV%> z=R_`FsjN1z^UExUMGA44ZmhM|-w)!V2fAEcpv^F-!9xUs!~CTK(H~DYeM(3OQJMD) zvWaEtoR&?545bY@Eza<2r&K3#fn28zj83$>+j)C|gq%2Am1}6u0li(W^QK}dE(W8O z-#huK({^QBO)sqMSdOz+TaF-yHQnITmXQo3at9^V^LH5FVT)6}Xs@30YxHk?d;7q6 zrwt#i^G%*gUEJcsCs_@j?PTn19RgGf#6>&==<8OsFwl_kzt_GsPnBhLqp7A(Y%19!#|n2Fpu%S?z}O2q@s; zxp^0B*IGJF<21atw$mUtn(|noej87 z4gIib7IiUus(PbKK`bv*F zmRTpmIr-^=){609?XyV!Y8%5}Jqj*I7ieO%c#szb&oy+bsuW?t{3YDoo2L(6y_S;@ z+u(B88<$m+q_6ZBNq-^Y(aYpMQDR1Pfw4p9&F_^|Pl(fInJVxT>oxt=qhiRexirX-k$sL>$e1OOR6M*g3N~!ZOp1vM!g> zRmd#F{N7v1q~9kcg`(@?YH9g!dHCwqX(MI3))Z_T62A8jfuVNrY*f_c@4lT~*8OIT zQrC7jkZ5!*UFwnv5U12TiO)2;AN+{X;;6P#==w4>ohja@df_s|sW2aZ840W@Sazr;++-S-BP4B z34RD7fpF@F2(N;};mIV#t@BkBqOu0CqSQ1#|K5vzBGDK6WP019$xN=pRV6i$; z#3zbMYtu2u|FH`(wfzHk1FYnv=54#{=VnUTPNID^0(XTL`6F_iil zJFMqxx%W*NWf9pI2ND=R@56QuWW%&>r){7+VQM4?4$|mx7307oW|O?&0|9-Gm|jf< zPBx=VqZXsN-`ZguXa-v-(3ayxr3PHM?94ZkZN7WA!EH-jcebJMiw3XJ&h30VsK))A zrE7xN(8Du|W~ikbd2T@#yqlO2_8h#7@`pp9@&|%b;aif`

!BK4nkPf61%Vz4Xe61=|v*WkE>rnhrd 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 literal 80500 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�Ktr-LuxrTyxDevly>6A-SSXEbL$Z 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 DCk!yN diff --git a/packages/desktop-client/src/auth/AuthProvider.tsx b/packages/desktop-client/src/auth/AuthProvider.tsx new file mode 100644 index 00000000000..cfeea44af3b --- /dev/null +++ b/packages/desktop-client/src/auth/AuthProvider.tsx @@ -0,0 +1,45 @@ +import React, { createContext, useContext, type ReactNode } from 'react'; +import { useSelector } from 'react-redux'; + +import { type State } from 'loot-core/client/state-types'; + +import { type Permissions } from './types'; + +type AuthContextType = { + hasPermission: (permission?: Permissions) => boolean; +}; + +const AuthContext = createContext(undefined); + +type AuthProviderProps = { + children?: ReactNode; +}; + +export const AuthProvider = ({ children }: AuthProviderProps) => { + const userData = useSelector((state: State) => state.user.data); + + const hasPermission = (permission?: Permissions) => { + if (!permission) { + return true; + } + + return ( + (userData?.offline ?? false) || + userData?.permission?.toUpperCase() === permission?.toUpperCase() + ); + }; + + return ( + + {children} + + ); +}; + +export const useAuth = () => { + const context = useContext(AuthContext); + if (context === undefined) { + throw new Error('useAuth must be used within an AuthProvider'); + } + return context; +}; diff --git a/packages/desktop-client/src/auth/ProtectedRoute.tsx b/packages/desktop-client/src/auth/ProtectedRoute.tsx new file mode 100644 index 00000000000..73c58fd547c --- /dev/null +++ b/packages/desktop-client/src/auth/ProtectedRoute.tsx @@ -0,0 +1,64 @@ +import { useEffect, useState, type ReactElement } from 'react'; +import { useSelector } from 'react-redux'; + +import { type RemoteFile, type SyncedLocalFile } from 'loot-core/types/file'; + +import { View } from '../components/common/View'; +import { useMetadataPref } from '../hooks/useMetadataPref'; + +import { useAuth } from './AuthProvider'; +import { type Permissions } from './types'; + +type ProtectedRouteProps = { + permission: Permissions; + element: ReactElement; + validateOwner?: boolean; +}; + +export const ProtectedRoute = ({ + element, + permission, + validateOwner, +}: ProtectedRouteProps) => { + const { hasPermission } = useAuth(); + const [permissionGranted, setPermissionGranted] = useState(false); + const [cloudFileId] = useMetadataPref('cloudFileId'); + const allFiles = useSelector(state => state.budgets.allFiles || []); + const remoteFiles = allFiles.filter( + f => f.state === 'remote' || f.state === 'synced' || f.state === 'detached', + ) as (SyncedLocalFile | RemoteFile)[]; + const currentFile = remoteFiles.find(f => f.cloudFileId === cloudFileId); + const userData = useSelector(state => state.user.data); + + useEffect(() => { + const hasRequiredPermission = hasPermission(permission); + setPermissionGranted(hasRequiredPermission); + + if (!hasRequiredPermission && validateOwner) { + if (currentFile) { + setPermissionGranted( + currentFile.usersWithAccess.some(u => u.userId === userData?.userId), + ); + } + } + }, [ + cloudFileId, + permission, + validateOwner, + hasPermission, + currentFile, + userData, + ]); + + return permissionGranted ? ( + element + ) : ( + +

You don't have permission to view this page

+ + ); +}; diff --git a/packages/desktop-client/src/auth/types.ts b/packages/desktop-client/src/auth/types.ts new file mode 100644 index 00000000000..7c88e304d7e --- /dev/null +++ b/packages/desktop-client/src/auth/types.ts @@ -0,0 +1,3 @@ +export enum Permissions { + ADMINISTRATOR = 'ADMIN', +} diff --git a/packages/desktop-client/src/components/App.tsx b/packages/desktop-client/src/components/App.tsx index 4c5895c52eb..e5f3338e9e5 100644 --- a/packages/desktop-client/src/components/App.tsx +++ b/packages/desktop-client/src/components/App.tsx @@ -9,7 +9,7 @@ import { } from 'react-error-boundary'; import { HotkeysProvider } from 'react-hotkeys-hook'; import { useTranslation } from 'react-i18next'; -import { useDispatch } from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; import { BrowserRouter } from 'react-router-dom'; import { @@ -20,12 +20,14 @@ import { sync, } from 'loot-core/client/actions'; import { SpreadsheetProvider } from 'loot-core/client/SpreadsheetProvider'; +import { type State } from 'loot-core/client/state-types'; import * as Platform from 'loot-core/src/client/platform'; import { init as initConnection, send, } from 'loot-core/src/platform/client/fetch'; +import { useActions } from '../hooks/useActions'; import { useMetadataPref } from '../hooks/useMetadataPref'; import { installPolyfills } from '../polyfills'; import { styles, hasHiddenScrollbars, ThemeStyle, useTheme } from '../style'; @@ -49,6 +51,8 @@ function AppInner() { const { t } = useTranslation(); const { showBoundary: showErrorBoundary } = useErrorBoundary(); const dispatch = useDispatch(); + const userData = useSelector((state: State) => state.user.data); + const { signOut, addNotification } = useActions(); const maybeUpdate = async (cb?: () => T): Promise => { if (global.Actual.isUpdateReadyForDownload()) { @@ -123,6 +127,42 @@ function AppInner() { global.Actual.updateAppMenu(budgetId); }, [budgetId]); + useEffect(() => { + if (userData?.tokenExpired) { + addNotification({ + type: 'error', + id: 'login-expired', + title: 'Login expired', + sticky: true, + message: 'Login expired, please login again.', + button: { + title: 'Go to login', + action: () => { + signOut(); + }, + }, + }); + } + }, [userData, userData?.tokenExpired]); + + useEffect(() => { + if (userData?.tokenExpired) { + addNotification({ + type: 'error', + id: 'login-expired', + title: 'Login expired', + sticky: true, + message: 'Login expired, please login again.', + button: { + title: 'Go to login', + action: () => { + signOut(); + }, + }, + }); + } + }, [userData, userData?.tokenExpired]); + return budgetId ? : ; } diff --git a/packages/desktop-client/src/components/FinancesApp.tsx b/packages/desktop-client/src/components/FinancesApp.tsx index 6983b2708be..8b987636ee3 100644 --- a/packages/desktop-client/src/components/FinancesApp.tsx +++ b/packages/desktop-client/src/components/FinancesApp.tsx @@ -14,6 +14,8 @@ import { addNotification, sync } from 'loot-core/client/actions'; import { type State } from 'loot-core/src/client/state-types'; import * as undo from 'loot-core/src/platform/client/undo'; +import { ProtectedRoute } from '../auth/ProtectedRoute'; +import { Permissions } from '../auth/types'; import { useAccounts } from '../hooks/useAccounts'; import { useLocalPref } from '../hooks/useLocalPref'; import { useMetaThemeColor } from '../hooks/useMetaThemeColor'; @@ -21,6 +23,7 @@ import { useNavigate } from '../hooks/useNavigate'; import { theme } from '../style'; import { getIsOutdated, getLatestVersion } from '../util/versions'; +import { UserAccessPage } from './admin/UserAccess/UserAccessPage'; import { BankSyncStatus } from './BankSyncStatus'; import { View } from './common/View'; import { GlobalKeys } from './GlobalKeys'; @@ -34,7 +37,9 @@ import { Reports } from './reports'; import { LoadingIndicator } from './reports/LoadingIndicator'; import { NarrowAlternate, WideComponent } from './responsive'; import { useResponsive } from './responsive/ResponsiveProvider'; +import { UserDirectoryPage } from './responsive/wide'; import { ScrollProvider } from './ScrollProvider'; +import { useMultiuserEnabled } from './ServerContext'; import { Settings } from './settings'; import { FloatableSidebar } from './sidebar'; import { Titlebar } from './Titlebar'; @@ -93,6 +98,8 @@ export function FinancesApp() { 'flags.updateNotificationShownForVersion', ); + const multiuserEnabled = useMultiuserEnabled(); + useEffect(() => { // Wait a little bit to make sure the sync button will get the // sync start event. This can be improved later. @@ -281,7 +288,29 @@ export function FinancesApp() { } /> - + {multiuserEnabled && ( + } + /> + } + /> + )} + {multiuserEnabled && ( + } + /> + } + /> + )} {/* redirect all other traffic to the budget page */} } /> diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index ec7df311bbf..2aa1adaa42c 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -1,11 +1,16 @@ -// @ts-strict-ignore import React, { useState, useEffect, useRef, type CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { useSelector } from 'react-redux'; +import { useLocation } from 'react-router-dom'; import { type State } from 'loot-core/src/client/state-types'; +import { type RemoteFile, type SyncedLocalFile } from 'loot-core/types/file'; +import { useAuth } from '../auth/AuthProvider'; +import { Permissions } from '../auth/types'; import { useActions } from '../hooks/useActions'; +import { useMetadataPref } from '../hooks/useMetadataPref'; +import { useNavigate } from '../hooks/useNavigate'; import { theme, styles } from '../style'; import { Button } from './common/Button2'; @@ -13,13 +18,14 @@ import { Menu } from './common/Menu'; import { Popover } from './common/Popover'; import { Text } from './common/Text'; import { View } from './common/View'; -import { useServerURL } from './ServerContext'; +import { useMultiuserEnabled, useServerURL } from './ServerContext'; type LoggedInUserProps = { hideIfNoServer?: boolean; style?: CSSProperties; color?: string; }; + export function LoggedInUser({ hideIfNoServer, style, @@ -32,38 +38,84 @@ export function LoggedInUser({ const [loading, setLoading] = useState(true); const [menuOpen, setMenuOpen] = useState(false); const serverUrl = useServerURL(); - const triggerRef = useRef(null); + const triggerRef = useRef(null); + const navigate = useNavigate(); + const [budgetId] = useMetadataPref('id'); + const [cloudFileId] = useMetadataPref('cloudFileId'); + const location = useLocation(); + const { hasPermission } = useAuth(); + const [isOwner, setIsOwner] = useState(false); + const multiuserEnabled = useMultiuserEnabled(); + const allFiles = useSelector(state => state.budgets.allFiles || []); + const remoteFiles = allFiles.filter( + f => f.state === 'remote' || f.state === 'synced' || f.state === 'detached', + ) as (SyncedLocalFile | RemoteFile)[]; + const currentFile = remoteFiles.find(f => f.cloudFileId === cloudFileId); useEffect(() => { - getUserData().then(() => setLoading(false)); - }, []); + if (getUserData) { + getUserData().then(() => setLoading(false)); + } + }, [getUserData]); - async function onChangePassword() { - await closeBudget(); - window.__navigate('/change-password'); - } + useEffect(() => { + if (cloudFileId && currentFile) { + setIsOwner( + currentFile.usersWithAccess.some( + u => u.userId === userData?.userId && u.owner, + ), + ); + } else { + setIsOwner(false); + } + }, [cloudFileId]); - async function onMenuSelect(type) { + const handleMenuSelect = async (type: string) => { setMenuOpen(false); switch (type) { case 'change-password': - onChangePassword(); + await closeBudget(); + if (window.__navigate) { + window.__navigate('/change-password'); + } else { + window.location.href = '/change-password'; + } break; case 'sign-in': await closeBudget(); - window.__navigate('/login'); + if (window.__navigate) { + window.__navigate('/login'); + } else { + window.location.href = '/login'; + } + break; + case 'user-access': + navigate('/user-access'); + break; + case 'user-directory': + navigate('/user-directory'); + break; + case 'index': + navigate('/'); break; case 'sign-out': - signOut(); + if (signOut) { + signOut(); + } break; case 'config-server': await closeBudget(); - window.__navigate('/config-server'); + if (window.__navigate) { + window.__navigate('/config-server'); + } else { + window.location.href = '/config-server'; + } break; default: + break; } - } + }; function serverMessage() { if (!serverUrl) { @@ -77,9 +129,7 @@ export function LoggedInUser({ return t('Server online'); } - if (hideIfNoServer && !serverUrl) { - return null; - } + if (hideIfNoServer && !serverUrl) return null; if (loading && serverUrl) { return ( @@ -96,17 +146,81 @@ export function LoggedInUser({ ); } + type MenuItem = { + name: string; + text: string; + }; + + const getMenuItems = (): (MenuItem | typeof Menu.line)[] => { + const isAdmin = hasPermission(Permissions.ADMINISTRATOR); + + const baseMenu: (MenuItem | typeof Menu.line)[] = []; + if ( + serverUrl && + !userData?.offline && + userData?.loginMethod === 'password' + ) { + baseMenu.push({ name: 'change-password', text: t('Change password') }); + } + if (serverUrl) { + baseMenu.push({ name: 'sign-out', text: t('Sign out') }); + } + baseMenu.push({ + name: 'config-server', + text: serverUrl ? t('Change server URL') : t('Start using a server'), + }); + + const adminMenu: (MenuItem | typeof Menu.line)[] = []; + if (multiuserEnabled && isAdmin) { + if (!budgetId && location.pathname !== '/') { + adminMenu.push({ name: 'index', text: t('View file list') }); + } else if ( + serverUrl && + !userData?.offline && + location.pathname !== '/user-directory' + ) { + adminMenu.push({ name: 'user-directory', text: t('User Directory') }); + } + } + + if ( + multiuserEnabled && + (isOwner || isAdmin) && + serverUrl && + !userData?.offline && + cloudFileId && + location.pathname !== '/user-access' + ) { + adminMenu.push({ + name: 'user-access', + text: t('User Access Management'), + }); + } + + if (adminMenu.length > 0) { + adminMenu.push(Menu.line); + } + + return [...adminMenu, ...baseMenu]; + }; + return ( + {!loading && multiuserEnabled && userData?.userName && ( + + (logged as: {userData?.displayName}) + + )} + setMenuOpen(false)} > diff --git a/packages/desktop-client/src/components/ManageRules.tsx b/packages/desktop-client/src/components/ManageRules.tsx index f27660eb438..36643423ba5 100644 --- a/packages/desktop-client/src/components/ManageRules.tsx +++ b/packages/desktop-client/src/components/ManageRules.tsx @@ -30,12 +30,12 @@ import { theme } from '../style'; import { Button } from './common/Button2'; import { Link } from './common/Link'; import { Search } from './common/Search'; +import { SimpleTable } from './common/SimpleTable'; import { Stack } from './common/Stack'; import { Text } from './common/Text'; import { View } from './common/View'; import { RulesHeader } from './rules/RulesHeader'; import { RulesList } from './rules/RulesList'; -import { SimpleTable } from './rules/SimpleTable'; function mapValue( field, diff --git a/packages/desktop-client/src/components/Modals.tsx b/packages/desktop-client/src/components/Modals.tsx index a52f6fef71d..10423f5a643 100644 --- a/packages/desktop-client/src/components/Modals.tsx +++ b/packages/desktop-client/src/components/Modals.tsx @@ -28,8 +28,10 @@ import { CoverModal } from './modals/CoverModal'; import { CreateAccountModal } from './modals/CreateAccountModal'; import { CreateEncryptionKeyModal } from './modals/CreateEncryptionKeyModal'; import { CreateLocalAccountModal } from './modals/CreateLocalAccountModal'; +import { EditUserAccess } from './modals/EditAccess'; import { EditFieldModal } from './modals/EditFieldModal'; import { EditRuleModal } from './modals/EditRuleModal'; +import { EditUserFinanceApp } from './modals/EditUser'; import { EnvelopeBalanceMenuModal } from './modals/EnvelopeBalanceMenuModal'; import { EnvelopeBudgetMenuModal } from './modals/EnvelopeBudgetMenuModal'; import { EnvelopeBudgetMonthMenuModal } from './modals/EnvelopeBudgetMonthMenuModal'; @@ -53,7 +55,9 @@ import { ImportYNAB5Modal } from './modals/manager/ImportYNAB5Modal'; import { ManageRulesModal } from './modals/ManageRulesModal'; import { MergeUnusedPayeesModal } from './modals/MergeUnusedPayeesModal'; import { NotesModal } from './modals/NotesModal'; +import { OpenIDEnableModal } from './modals/OpenIDEnableModal'; import { OutOfSyncMigrationsModal } from './modals/OutOfSyncMigrationsModal'; +import { PasswordEnableModal } from './modals/PasswordEnableModal'; import { PayeeAutocompleteModal } from './modals/PayeeAutocompleteModal'; import { ScheduledTransactionMenuModal } from './modals/ScheduledTransactionMenuModal'; import { SelectLinkedAccountsModal } from './modals/SelectLinkedAccountsModal'; @@ -64,6 +68,7 @@ import { TrackingBudgetMenuModal } from './modals/TrackingBudgetMenuModal'; import { TrackingBudgetMonthMenuModal } from './modals/TrackingBudgetMonthMenuModal'; import { TrackingBudgetSummaryModal } from './modals/TrackingBudgetSummaryModal'; import { TransferModal } from './modals/TransferModal'; +import { TransferOwnership } from './modals/TransferOwnership'; import { DiscoverSchedules } from './schedules/DiscoverSchedules'; import { PostsOfflineNotification } from './schedules/PostsOfflineNotification'; import { ScheduleDetails } from './schedules/ScheduleDetails'; @@ -604,9 +609,45 @@ export function Modals() { return ; case 'import-actual': return ; + case 'manager-load-backup': + return ( + + ); case 'out-of-sync-migrations': return ; + case 'edit-access': + return ( + + ); + + case 'edit-user': + return ( + + ); + + case 'transfer-ownership': + return ; + + case 'enable-openid': + return ; + + case 'enable-password-auth': + return ; + default: throw new Error('Unknown modal'); } diff --git a/packages/desktop-client/src/components/ServerContext.tsx b/packages/desktop-client/src/components/ServerContext.tsx index a3db98801ea..dd59c14cec4 100644 --- a/packages/desktop-client/src/components/ServerContext.tsx +++ b/packages/desktop-client/src/components/ServerContext.tsx @@ -1,4 +1,3 @@ -// @ts-strict-ignore import React, { createContext, useState, @@ -9,25 +8,60 @@ import React, { } from 'react'; import { send } from 'loot-core/src/platform/client/fetch'; +import { type Handlers } from 'loot-core/types/handlers'; + +type LoginMethods = { + method: string; + displayName: string; + active: boolean; +}; type ServerContextValue = { url: string | null; version: string; + multiuserEnabled: boolean; + availableLoginMethods: LoginMethods[]; setURL: ( url: string, opts?: { validate?: boolean }, ) => Promise<{ error?: string }>; + refreshLoginMethods: () => Promise; + setMultiuserEnabled: (enabled: boolean) => void; + setLoginMethods: (methods: LoginMethods[]) => void; }; const ServerContext = createContext({ url: null, version: '', + multiuserEnabled: false, + availableLoginMethods: [], setURL: () => Promise.reject(new Error('ServerContext not initialized')), + refreshLoginMethods: () => + Promise.reject(new Error('ServerContext not initialized')), + setMultiuserEnabled: () => {}, + setLoginMethods: () => {}, }); export const useServerURL = () => useContext(ServerContext).url; export const useServerVersion = () => useContext(ServerContext).version; export const useSetServerURL = () => useContext(ServerContext).setURL; +export const useMultiuserEnabled = () => { + const { multiuserEnabled } = useContext(ServerContext); + const loginMethod = useLoginMethod(); + return multiuserEnabled && loginMethod === 'openid'; +}; + +export const useLoginMethod = () => { + const availableLoginMethods = useContext(ServerContext).availableLoginMethods; + + if (!availableLoginMethods || availableLoginMethods.length === 0) { + return 'password'; + } + + return availableLoginMethods.filter(m => m.active)[0]?.method ?? 'password'; +}; +export const useAvailableLoginMethods = () => + useContext(ServerContext).availableLoginMethods; async function getServerVersion() { const result = await send('get-server-version'); @@ -37,9 +71,22 @@ async function getServerVersion() { return ''; } +export const useRefreshLoginMethods = () => + useContext(ServerContext).refreshLoginMethods; + +export const useSetMultiuserEnabled = () => + useContext(ServerContext).setMultiuserEnabled; + +export const useSetLoginMethods = () => + useContext(ServerContext).setLoginMethods; + export function ServerProvider({ children }: { children: ReactNode }) { const [serverURL, setServerURL] = useState(''); const [version, setVersion] = useState(''); + const [multiuserEnabled, setMultiuserEnabled] = useState(false); + const [availableLoginMethods, setAvailableLoginMethods] = useState< + LoginMethods[] + >([]); useEffect(() => { async function run() { @@ -49,6 +96,26 @@ export function ServerProvider({ children }: { children: ReactNode }) { run(); }, []); + const refreshLoginMethods = useCallback(async () => { + if (serverURL) { + const data = await send('subscribe-get-login-methods'); + setAvailableLoginMethods(data.methods); + } + }, [serverURL]); + + useEffect(() => { + if (serverURL) { + send('subscribe-needs-bootstrap').then( + (data: Awaited>) => { + if ('hasServer' in data && data.hasServer) { + setAvailableLoginMethods(data.loginMethods); + setMultiuserEnabled(data.multiuser); + } + }, + ); + } + }, [serverURL]); + const setURL = useCallback( async (url: string, opts: { validate?: boolean } = {}) => { const { error } = await send('set-server-url', { ...opts, url }); @@ -65,8 +132,13 @@ export function ServerProvider({ children }: { children: ReactNode }) { {children} diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx new file mode 100644 index 00000000000..1bb1bbcc56f --- /dev/null +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx @@ -0,0 +1,345 @@ +// @ts-strict-ignore +import React, { + useState, + useEffect, + useCallback, + useMemo, + type SetStateAction, + type Dispatch, + useRef, +} from 'react'; +import { useDispatch } from 'react-redux'; + +import { css } from '@emotion/css'; + +import { pushModal } from 'loot-core/client/actions'; +import { send } from 'loot-core/src/platform/client/fetch'; +import * as undo from 'loot-core/src/platform/client/undo'; +import { type Handlers } from 'loot-core/types/handlers'; +import { type UserAvailable } from 'loot-core/types/models'; +import { type UserAccessEntity } from 'loot-core/types/models/userAccess'; + +import { useMetadataPref } from '../../../hooks/useMetadataPref'; +import { SvgDotsHorizontalTriple, SvgLockOpen } from '../../../icons/v1'; +import { SvgLockClosed } from '../../../icons/v2'; +import { styles, theme } from '../../../style'; +import { Button } from '../../common/Button2'; +import { Link } from '../../common/Link'; +import { Popover } from '../../common/Popover'; +import { Search } from '../../common/Search'; +import { SimpleTable } from '../../common/SimpleTable'; +import { Text } from '../../common/Text'; +import { View } from '../../common/View'; + +import { UserAccessHeader } from './UserAccessHeader'; +import { UserAccessRow } from './UserAccessRow'; + +type ManageUserAccessContentProps = { + isModal: boolean; + setLoading?: Dispatch>; +}; + +function UserAccessContent({ + isModal, + setLoading, +}: ManageUserAccessContentProps) { + const [allAccess, setAllAccess] = useState([]); + const [page, setPage] = useState(0); + const [filter, setFilter] = useState(''); + const [cloudFileId] = useMetadataPref('cloudFileId'); + const dispatch = useDispatch(); + const [ownerName, setOwnerName] = useState('unknown'); + const triggerRef = useRef(null); + const [menuOpen, setMenuOpen] = useState(false); + + const filteredAccesses = useMemo( + () => + (filter === '' + ? allAccess + : allAccess.filter( + access => + access?.displayName + .toLowerCase() + .includes(filter.toLowerCase()) ?? false, + ) + ).slice(0, 100 + page * 50), + [allAccess, filter, page], + ); + const [hoveredUserAccess, setHoveredUserAccess] = useState(null); + + const onSearchChange = useCallback( + (value: string) => { + setFilter(value); + setPage(0); + }, + [setFilter], + ); + + const loadAccess = useCallback(async () => { + setLoading(true); + const users: UserAvailable[] = await send( + 'access-get-available-users', + cloudFileId as string, + ); + + const sortUsers = (a: UserAvailable, b: UserAvailable) => { + if ((a.owner ?? 0) !== (b.owner ?? 0)) { + return (b.owner ?? 0) - (a.owner ?? 0); + } + return (a.displayName ?? '').localeCompare(b.displayName ?? ''); + }; + + const loadedAccess = users + .map(user => ({ + ...user, + displayName: user.displayName || user.userName, + })) + .sort(sortUsers); + + setAllAccess(loadedAccess); + return loadedAccess; + }, [cloudFileId, setLoading]); + + const loadOwner = useCallback(async () => { + debugger; + const file: Awaited> = + (await send('get-user-file-info', cloudFileId as string)) ?? {}; + const owner = file?.usersWithAccess.filter(user => user.owner); + + if (owner.length > 0) { + return owner[0]; + } + + return null; + }, [cloudFileId]); + + useEffect(() => { + async function loadData() { + try { + await loadAccess(); + const owner = await loadOwner(); + if (owner) { + setOwnerName(owner?.displayName ?? owner?.userName); + } + } catch (error) { + console.error('Error loading user access data:', error); + } finally { + setLoading(false); + } + } + + loadData(); + + return () => { + undo.setUndoState('openModal', null); + }; + }, [setLoading, loadAccess, loadOwner]); + + function loadMore() { + setPage(page => page + 1); + } + + const onHover = useCallback(id => { + setHoveredUserAccess(id); + }, []); + + return ( + + + + + Determine which users can view and manage your budgets..{' '} + + Learn more + + + + + + + + + setMenuOpen(false)} + style={{ padding: 10 }} + > + + + Owner: + + + {ownerName} + + + + + + + + + + + + + + ); +} + +type ManageUsersProps = { + isModal: boolean; + setLoading?: Dispatch>; +}; + +export function UserAccess({ + isModal, + setLoading = () => {}, +}: ManageUsersProps) { + return ; +} + +type UsersAccessListProps = { + accesses: UserAccessEntity[]; + hoveredAccess?: string; + onHover?: (id: string | null) => void; +}; + +function UserAccessList({ + accesses, + hoveredAccess, + onHover, +}: UsersAccessListProps) { + if (accesses.length === 0) { + return null; + } + + return ( + + {accesses.map(access => { + const hovered = hoveredAccess === access.userId; + + return ( + + ); + })} + + ); +} + +const wrapperStyle = css({ + display: 'inline-block', + ':hover .default-icon': { + display: 'none', + }, + ':hover .hover-icon': { + display: 'inline', + }, +}); + +const iconStyle = css({ + '&.hover-icon': { + display: 'none', + }, +}); + +const LockToggle = props => ( +
+
+ +
+
+ +
+
+); diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccessHeader.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccessHeader.tsx new file mode 100644 index 00000000000..4459daf6623 --- /dev/null +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccessHeader.tsx @@ -0,0 +1,13 @@ +import React from 'react'; + +import { Cell, TableHeader } from '../../table'; + +export function UserAccessHeader() { + return ( + + + + + + ); +} diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccessPage.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccessPage.tsx new file mode 100644 index 00000000000..63c965c1a61 --- /dev/null +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccessPage.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +import { Page } from '../../Page'; + +import { UserAccess } from './UserAccess'; + +export function UserAccessPage() { + return ( + + + + ); +} diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx new file mode 100644 index 00000000000..d8c089d83c8 --- /dev/null +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx @@ -0,0 +1,143 @@ +// @ts-strict-ignore +import React, { memo, useState } from 'react'; + +import { send } from 'loot-core/platform/client/fetch'; +import { getUserAccessErrors } from 'loot-core/shared/errors'; +import { type UserAvailable } from 'loot-core/types/models'; + +import { useActions } from '../../../hooks/useActions'; +import { useMetadataPref } from '../../../hooks/useMetadataPref'; +import { theme } from '../../../style'; +import { View } from '../../common/View'; +import { Checkbox } from '../../forms'; +import { Row, Cell } from '../../table'; + +type UserAccessProps = { + access: UserAvailable; + hovered?: boolean; + onHover?: (id: string | null) => void; +}; + +export const UserAccessRow = memo( + ({ access, hovered, onHover }: UserAccessProps) => { + const backgroundFocus = hovered; + const [marked, setMarked] = useState( + access.owner === 1 || access.haveAccess === 1, + ); + const [cloudFileId] = useMetadataPref('cloudFileId'); + const actions = useActions(); + + const handleAccessToggle = async () => { + const newValue = !marked; + if (newValue) { + const { error } = await send('access-add', { + fileId: cloudFileId as string, + userId: access.userId, + }); + + if (error) { + handleError(error); + } + } else { + const { someDeletionsFailed } = await send('access-delete-all', { + fileId: cloudFileId as string, + ids: [access.userId], + }); + + if (someDeletionsFailed) { + actions.addNotification({ + type: 'error', + title: 'Access Revocation Incomplete', + message: 'Some access permissions were not revoked successfully.', + sticky: true, + }); + } + } + setMarked(newValue); + }; + + const handleError = (error: string) => { + if (error === 'token-expired') { + actions.addNotification({ + type: 'error', + id: 'login-expired', + title: 'Login expired', + sticky: true, + message: getUserAccessErrors(error), + button: { + title: 'Go to login', + action: () => { + actions.signOut(); + }, + }, + }); + } else { + actions.addNotification({ + type: 'error', + title: 'Something happened while editing access', + sticky: true, + message: getUserAccessErrors(error), + }); + } + }; + + return ( + onHover && onHover(access.userId)} + onMouseLeave={() => onHover && onHover(null)} + > + + + + + + {access.displayName ?? access.userName} + + + + + + + + + ); + }, +); + +UserAccessRow.displayName = 'UserRow'; diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx new file mode 100644 index 00000000000..fb860546b2f --- /dev/null +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx @@ -0,0 +1,340 @@ +// @ts-strict-ignore +import React, { + useState, + useEffect, + useCallback, + useMemo, + type SetStateAction, + type Dispatch, +} from 'react'; +import { useDispatch } from 'react-redux'; + +import { pushModal } from 'loot-core/src/client/actions/modals'; +import { send } from 'loot-core/src/platform/client/fetch'; +import * as undo from 'loot-core/src/platform/client/undo'; +import { + type NewUserEntity, + type UserEntity, +} from 'loot-core/types/models/user'; + +import { useActions } from '../../../hooks/useActions'; +import { SelectedProvider, useSelected } from '../../../hooks/useSelected'; +import { theme } from '../../../style'; +import { Button } from '../../common/Button2'; +import { Link } from '../../common/Link'; +import { Search } from '../../common/Search'; +import { SimpleTable } from '../../common/SimpleTable'; +import { Stack } from '../../common/Stack'; +import { Text } from '../../common/Text'; +import { View } from '../../common/View'; + +import { UserDirectoryHeader } from './UserDirectoryHeader'; +import { UserDirectoryRow } from './UserDirectoryRow'; + +type ManageUserDirectoryContentProps = { + isModal: boolean; + setLoading?: Dispatch>; +}; + +function getUserDirectoryErrors(reason) { + switch (reason) { + case 'unauthorized': + return 'You are not logged in.'; + case 'token-expired': + return 'Login expired, please login again.'; + case 'user-cant-be-empty': + return 'Please enter a value for the username; the field cannot be empty.'; + case 'role-cant-be-empty': + return 'Select a role; the field cannot be empty.'; + case 'user-already-exists': + return 'The username you entered already exists. Please choose a different username.'; + case 'not-all-deleted': + return 'Not all users were deleted. Check if one of the selected users is the server owner.'; + case 'role-does-not-exists': + return 'Selected role does not exists, possibly a bug? Visit https://actualbudget.org/contact/ for support.'; + default: + return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`; + } +} + +function UserDirectoryContent({ + isModal, + setLoading, +}: ManageUserDirectoryContentProps) { + const [allUsers, setAllUsers] = useState([]); + const [page, setPage] = useState(0); + const [filter, setFilter] = useState(''); + const dispatch = useDispatch(); + const actions = useActions(); + + const filteredUsers = useMemo(() => { + return ( + filter === '' + ? allUsers + : allUsers.filter( + user => + user.displayName.toLowerCase().includes(filter.toLowerCase()) || + user.userName.toLowerCase().includes(filter.toLowerCase()) || + user.role.toLowerCase().includes(filter.toLowerCase()), + ) + ).slice(0, 100 + page * 50); + }, [allUsers, filter, page]); + const selectedInst = useSelected('manage-users', allUsers, []); + const [hoveredUser, setHoveredUser] = useState(null); + + const onSearchChange = useCallback( + (value: string) => { + setFilter(value); + setPage(0); + }, + [setFilter], + ); + + const loadUsers = useCallback(async () => { + setLoading(true); + + const loadedUsers = (await send('users-get')) ?? []; + + setAllUsers(loadedUsers); + setLoading(false); + return loadedUsers; + }, [setLoading]); + + useEffect(() => { + async function loadData() { + await loadUsers(); + setLoading(false); + } + + loadData(); + + return () => { + undo.setUndoState('openModal', null); + }; + }, [setLoading, loadUsers]); + + function loadMore() { + setPage(page => page + 1); + } + + const onDeleteSelected = useCallback(async () => { + setLoading(true); + const { error } = await send('user-delete-all', [...selectedInst.items]); + + if (error) { + if (error === 'token-expired') { + actions.addNotification({ + type: 'error', + id: 'login-expired', + title: 'Login expired', + sticky: true, + message: getUserDirectoryErrors(error), + button: { + title: 'Go to login', + action: () => actions.signOut(), + }, + }); + } else { + actions.addNotification({ + type: 'error', + title: 'Something happened while deleting users', + sticky: true, + message: getUserDirectoryErrors(error), + }); + } + } + + await loadUsers(); + selectedInst.dispatch({ type: 'select-none' }); + setLoading(false); + }, [actions, loadUsers, selectedInst, setLoading]); + + const onEditUser = useCallback( + user => { + dispatch( + pushModal('edit-user', { + user, + onSave: async () => { + await loadUsers(); + setLoading(false); + }, + }), + ); + }, + [dispatch, loadUsers, setLoading], + ); + + function onAddUser() { + const user: NewUserEntity = { + userName: '', + role: null, + enabled: true, + displayName: '', + }; + + dispatch( + pushModal('edit-user', { + user, + onSave: async () => { + await loadUsers(); + setLoading(false); + }, + }), + ); + } + + const onHover = useCallback(id => { + setHoveredUser(id); + }, []); + + return ( + + + + + + Manage and view users who can create new budgets or be invited to + access existing ones.{' '} + + Learn more + + + + + + + + + + + {filteredUsers.length === 0 ? ( + + ) : ( + + )} + + + + + {selectedInst.items.size > 0 && ( + + )} + + + + + + ); +} + +function EmptyMessage({ text, style }) { + return ( + + {text} + + ); +} + +type ManageUsersProps = { + isModal: boolean; + setLoading?: Dispatch>; +}; + +export function UserDirectory({ + isModal, + setLoading = () => {}, +}: ManageUsersProps) { + return ; +} + +type UsersListProps = { + users: UserEntity[]; + selectedItems: Set; + hoveredUser?: string; + onHover?: (id: string | null) => void; + onEditUser?: (rule: UserEntity) => void; +}; + +function UsersList({ + users, + selectedItems, + hoveredUser, + onHover, + onEditUser, +}: UsersListProps) { + if (users.length === 0) { + return null; + } + + return ( + + {users.map(user => { + const hovered = hoveredUser === user.id; + const selected = selectedItems.has(user.id); + + return ( + + ); + })} + + ); +} diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryHeader.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryHeader.tsx new file mode 100644 index 00000000000..8377c67d0f4 --- /dev/null +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryHeader.tsx @@ -0,0 +1,31 @@ +import React from 'react'; + +import { + useSelectedItems, + useSelectedDispatch, +} from '../../../hooks/useSelected'; +import { SelectCell, Cell, TableHeader } from '../../table'; + +export function UserDirectoryHeader() { + const selectedItems = useSelectedItems(); + const dispatchSelected = useSelectedDispatch(); + + return ( + + 0} + onSelect={e => + dispatchSelected({ type: 'select-all', isRangeSelect: e.shiftKey }) + } + /> + + + + + + + + ); +} diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx new file mode 100644 index 00000000000..396ed0102c1 --- /dev/null +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx @@ -0,0 +1,46 @@ +import React, { type ReactNode } from 'react'; + +import { useNavigate } from '../../../hooks/useNavigate'; +import { Button } from '../../common/Button2'; +import { View } from '../../common/View'; +import { Page } from '../../Page'; + +import { UserDirectory } from './UserDirectory'; + +export function UserDirectoryPage({ + bottomContent, +}: { + bottomContent?: ReactNode; +}) { + return ( + + + + {bottomContent} + + + ); +} + +export function BackToFileListButton() { + const navigate = useNavigate(); + + return ( + + ); +} diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx new file mode 100644 index 00000000000..f9b6f40ee54 --- /dev/null +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx @@ -0,0 +1,143 @@ +// @ts-strict-ignore +import React, { memo } from 'react'; + +import { PossibleRoles, type UserEntity } from 'loot-core/types/models/user'; + +import { useSelectedDispatch } from '../../../hooks/useSelected'; +import { theme } from '../../../style'; +import { Button } from '../../common/Button2'; +import { View } from '../../common/View'; +import { Checkbox } from '../../forms'; +import { SelectCell, Row, Cell } from '../../table'; + +type UserDirectoryProps = { + user: UserEntity; + hovered?: boolean; + selected?: boolean; + onHover?: (id: string | null) => void; + onEditUser?: (user: UserEntity) => void; +}; + +export const UserDirectoryRow = memo( + ({ user, hovered, selected, onHover, onEditUser }: UserDirectoryProps) => { + const dispatchSelected = useSelectedDispatch(); + const borderColor = selected ? theme.tableBorderSelected : 'none'; + const backgroundFocus = hovered; + + return ( + onHover && onHover(user.id)} + onMouseLeave={() => onHover && onHover(null)} + > + {!user.owner && ( + { + dispatchSelected({ + type: 'select', + id: user.id, + isRangeSelect: e.shiftKey, + }); + }} + selected={selected} + /> + )} + {user.owner && ( + + )} + + + + {user.userName} + + + + + + {user.displayName} + + + + + {PossibleRoles[user.role]} + + + + + + + + + + + + + + + ); + }, +); + +UserDirectoryRow.displayName = 'UserRow'; diff --git a/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.test.tsx b/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.test.tsx index 226f1b1c232..cd9f20a122c 100644 --- a/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.test.tsx +++ b/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.test.tsx @@ -6,6 +6,7 @@ import { generateAccount } from 'loot-core/src/mocks'; import { TestProvider } from 'loot-core/src/mocks/redux'; import type { AccountEntity, PayeeEntity } from 'loot-core/types/models'; +import { AuthProvider } from '../../auth/AuthProvider'; import { useCommonPayees } from '../../hooks/usePayees'; import { ResponsiveProvider } from '../responsive/ResponsiveProvider'; @@ -63,17 +64,19 @@ function renderPayeeAutocomplete( render( - -
- -
-
+ + +
+ +
+
+
, ); return screen.getByTestId('autocomplete-test'); diff --git a/packages/desktop-client/src/components/common/Button.tsx b/packages/desktop-client/src/components/common/Button.tsx index d0662efe6b4..fdad12cd3bc 100644 --- a/packages/desktop-client/src/components/common/Button.tsx +++ b/packages/desktop-client/src/components/common/Button.tsx @@ -7,6 +7,8 @@ import React, { import { css } from '@emotion/css'; +import { useAuth } from '../../auth/AuthProvider'; +import { type Permissions } from '../../auth/types'; import { AnimatedLoading } from '../../icons/AnimatedLoading'; import { styles, theme } from '../../style'; @@ -25,6 +27,7 @@ type ButtonProps = HTMLProps & { textStyle?: CSSProperties; bounce?: boolean; as?: ElementType; + permission?: Permissions; }; type ButtonType = 'normal' | 'primary' | 'bare' | 'menu' | 'menuSelected'; @@ -138,10 +141,13 @@ export const Button = forwardRef( activeStyle, bounce = true, as = 'button', + permission, ...nativeProps - }, + }: ButtonProps, ref, ) => { + const { hasPermission } = useAuth(); + const typeWithDisabled: ButtonType | `${ButtonType}Disabled` = disabled ? `${type}Disabled` : type; @@ -186,7 +192,7 @@ export const Button = forwardRef( {...(typeof as === 'string' ? { className: css(buttonStyle) } : { style: buttonStyle })} - disabled={disabled} + disabled={disabled ? disabled : !hasPermission(permission)} type={isSubmit ? 'submit' : 'button'} {...nativeProps} > diff --git a/packages/desktop-client/src/components/common/Button2.tsx b/packages/desktop-client/src/components/common/Button2.tsx index 7fda685aec2..d32e6f64b61 100644 --- a/packages/desktop-client/src/components/common/Button2.tsx +++ b/packages/desktop-client/src/components/common/Button2.tsx @@ -9,6 +9,8 @@ import { Button as ReactAriaButton } from 'react-aria-components'; import { css } from '@emotion/css'; +import { useAuth } from '../../auth/AuthProvider'; +import { type Permissions } from '../../auth/types'; import { AnimatedLoading } from '../../icons/AnimatedLoading'; import { styles, theme } from '../../style'; @@ -132,13 +134,22 @@ type ButtonProps = ComponentPropsWithoutRef & { variant?: ButtonVariant; bounce?: boolean; children?: ReactNode; + permission?: Permissions; }; type ButtonVariant = 'normal' | 'primary' | 'bare' | 'menu' | 'menuSelected'; export const Button = forwardRef( (props, ref) => { - const { children, variant = 'normal', bounce = true, ...restProps } = props; + const { + permission, + children, + variant = 'normal', + bounce = true, + ...restProps + } = props; + + const { hasPermission } = useAuth(); const variantWithDisabled: ButtonVariant | `${ButtonVariant}Disabled` = props.isDisabled ? `${variant}Disabled` : variant; @@ -173,6 +184,7 @@ export const Button = forwardRef( return ( void; diff --git a/packages/desktop-client/src/components/manager/BudgetList.tsx b/packages/desktop-client/src/components/manager/BudgetList.tsx index 72a3ebab0c0..dfc2105cbef 100644 --- a/packages/desktop-client/src/components/manager/BudgetList.tsx +++ b/packages/desktop-client/src/components/manager/BudgetList.tsx @@ -1,4 +1,10 @@ -import React, { useState, useRef, type CSSProperties } from 'react'; +import React, { + useState, + useRef, + useEffect, + type CSSProperties, + useCallback, +} from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { useDispatch, useSelector } from 'react-redux'; @@ -17,6 +23,7 @@ import { isNonProductionEnvironment, } from 'loot-core/src/shared/environment'; import { + type RemoteFile, type File, type LocalFile, type SyncableLocalFile, @@ -32,6 +39,8 @@ import { SvgCog, SvgDotsHorizontalTriple, SvgFileDouble, + SvgUser, + SvgUserGroup, } from '../../icons/v1'; import { SvgCloudUnknown, SvgKey, SvgRefreshArrow } from '../../icons/v2'; import { styles, theme } from '../../style'; @@ -40,8 +49,10 @@ import { Button } from '../common/Button2'; import { Menu } from '../common/Menu'; import { Popover } from '../common/Popover'; import { Text } from '../common/Text'; +import { Tooltip } from '../common/Tooltip'; import { View } from '../common/View'; import { useResponsive } from '../responsive/ResponsiveProvider'; +import { useMultiuserEnabled } from '../ServerContext'; function getFileDescription(file: File, t: (key: string) => string) { if (file.state === 'unknown') { @@ -61,6 +72,10 @@ function getFileDescription(file: File, t: (key: string) => string) { return null; } +function isLocalFile(file: File): file is LocalFile { + return file.state === 'local'; +} + function FileMenu({ onDelete, onClose, @@ -114,54 +129,113 @@ function FileMenuButton({ onDelete }: { onDelete: () => void }) { ); } -function FileState({ file }: { file: File }) { +function FileState({ + file, + currentUserId, +}: { + file: File; + currentUserId: string; +}) { const { t } = useTranslation(); + const multiuserEnabled = useMultiuserEnabled(); let Icon; let status; let color; + let ownerName = null; switch (file.state) { case 'unknown': Icon = SvgCloudUnknown; status = t('Network unavailable'); color = theme.buttonNormalDisabledText; + ownerName = 'unknown'; break; case 'remote': Icon = SvgCloudDownload; status = t('Available for download'); + ownerName = multiuserEnabled ? getOwnerDisplayName() : ''; break; case 'local': + Icon = SvgFileDouble; + status = 'Local'; + break; case 'broken': + ownerName = 'unknown'; Icon = SvgFileDouble; status = t('Local'); break; default: Icon = SvgCloudCheck; status = t('Syncing'); + ownerName = multiuserEnabled ? getOwnerDisplayName() : ''; break; } + const showOwnerContent = multiuserEnabled && file.owner !== currentUserId; + return ( - - + + > + + + {status} + - {status} + + {showOwnerContent && ( + + + Owner: + + + {ownerName} + + + )} + ); + + function getOwnerDisplayName() { + if ( + !( + file.state === 'remote' || + file.state === 'synced' || + file.state === 'detached' + ) + ) { + return ''; + } + + const userFound = file.usersWithAccess?.find(f => f.owner); + return userFound?.displayName ?? userFound?.userName ?? 'unknown'; + } } function FileItem({ @@ -169,13 +243,16 @@ function FileItem({ quickSwitchMode, onSelect, onDelete, + currentUserId, }: { file: File; quickSwitchMode: boolean; onSelect: (file: File) => void; onDelete: (file: File) => void; + currentUserId: string; }) { const { t } = useTranslation(); + const multiuserEnabled = useMultiuserEnabled(); const selecting = useRef(false); @@ -211,11 +288,19 @@ function FileItem({ > - {file.name} - - + + {file.name} + {multiuserEnabled && ( + + )} + + + void; onDelete: (file: File) => void; + currentUserId: string; }) { - function isLocalFile(file: File): file is LocalFile { - return file.state === 'local'; - } - return ( state.budgets.allFiles || []); + const multiuserEnabled = useMultiuserEnabled(); const [id] = useMetadataPref('id'); + const [currentUserId, setCurrentUserId] = useState(''); + const userData = useSelector(state => state.user.data); + + const fetchUsers = useCallback(async () => { + try { + setCurrentUserId(userData?.userId ?? ''); + } catch (error) { + console.error('Failed to fetch users:', error); + } + }, [userData?.userId]); + + useEffect(() => { + if (multiuserEnabled && !userData?.offline) { + fetchUsers(); + } + }, [multiuserEnabled, userData?.offline, fetchUsers]); // Remote files do not have the 'id' field function isNonRemoteFile( @@ -397,6 +498,7 @@ export function BudgetList({ showHeader = true, quickSwitchMode = false }) { ): file is LocalFile | SyncableLocalFile | SyncedLocalFile { return file.state !== 'remote'; } + const nonRemoteFiles = allFiles.filter(isNonRemoteFile); const files = id ? nonRemoteFiles.filter(f => f.id !== id) : allFiles; @@ -444,6 +546,7 @@ export function BudgetList({ showHeader = true, quickSwitchMode = false }) { return ( dispatch(pushModal('delete-budget', { file }))} @@ -520,3 +624,104 @@ export function BudgetList({ showHeader = true, quickSwitchMode = false }) { ); } + +type UserAccessForFileProps = { + fileId: string; + currentUserId: string; +}; + +function UserAccessForFile({ fileId, currentUserId }: UserAccessForFileProps) { + const allFiles = useSelector(state => state.budgets.allFiles || []); + const remoteFiles = allFiles.filter( + f => f.state === 'remote' || f.state === 'synced' || f.state === 'detached', + ) as (SyncedLocalFile | RemoteFile)[]; + const currentFile = remoteFiles.find(f => f.cloudFileId === fileId); + const multiuserEnabled = useMultiuserEnabled(); + + let usersAccess = currentFile?.usersWithAccess ?? []; + usersAccess = usersAccess?.filter(user => user.userName !== '') ?? []; + + const sortedUsersAccess = [...usersAccess].sort((a, b) => { + const textA = + a.userId === currentUserId ? 'You' : (a.displayName ?? a.userName); + const textB = + b.userId === currentUserId ? 'You' : (b.displayName ?? b.userName); + return textA.localeCompare(textB); + }); + + return ( + + {multiuserEnabled && + usersAccess.length > 0 && + !(sortedUsersAccess.length === 1 && sortedUsersAccess[0].owner) && ( + + + + File shared with: + + + {sortedUsersAccess.map(user => ( + + + + {user.userId === currentUserId + ? 'You' + : (user.displayName ?? user.userName)} + + + ))} + + + } + placement="bottom end" + > + + + + )} + + ); +} diff --git a/packages/desktop-client/src/components/manager/ManagementApp.tsx b/packages/desktop-client/src/components/manager/ManagementApp.tsx index 194ecadd1ba..05f22b26dd9 100644 --- a/packages/desktop-client/src/components/manager/ManagementApp.tsx +++ b/packages/desktop-client/src/components/manager/ManagementApp.tsx @@ -4,16 +4,22 @@ import { Navigate, Route, Routes } from 'react-router-dom'; import { loggedIn, setAppState } from 'loot-core/client/actions'; +import { ProtectedRoute } from '../../auth/ProtectedRoute'; +import { Permissions } from '../../auth/types'; import { useMetaThemeColor } from '../../hooks/useMetaThemeColor'; import { theme } from '../../style'; import { tokens } from '../../tokens'; +import { + BackToFileListButton, + UserDirectoryPage, +} from '../admin/UserDirectory/UserDirectoryPage'; import { AppBackground } from '../AppBackground'; import { Text } from '../common/Text'; import { View } from '../common/View'; import { LoggedInUser } from '../LoggedInUser'; import { Notifications } from '../Notifications'; import { useResponsive } from '../responsive/ResponsiveProvider'; -import { useServerVersion } from '../ServerContext'; +import { useMultiuserEnabled, useServerVersion } from '../ServerContext'; import { BudgetList } from './BudgetList'; import { ConfigServer } from './ConfigServer'; @@ -22,6 +28,7 @@ import { Bootstrap } from './subscribe/Bootstrap'; import { ChangePassword } from './subscribe/ChangePassword'; import { Error } from './subscribe/Error'; import { Login } from './subscribe/Login'; +import { OpenIdCallback } from './subscribe/OpenIdCallback'; import { WelcomeScreen } from './WelcomeScreen'; function Version() { @@ -58,6 +65,8 @@ export function ManagementApp() { const files = useSelector(state => state.budgets.allFiles); const isLoading = useSelector(state => state.app.loadingText !== null); const userData = useSelector(state => state.user.data); + const multiuserEnabled = useMultiuserEnabled(); + const managerHasInitialized = useSelector( state => state.app.managerHasInitialized, ); @@ -127,6 +136,22 @@ export function ManagementApp() { ) : ( } /> )} + + {multiuserEnabled && ( + } + /> + } + /> + } + /> + )} {/* Redirect all other pages to this route */} } /> @@ -156,10 +181,23 @@ export function ManagementApp() { ) : ( - } /> + } /> + } /> } /> } /> } /> + {multiuserEnabled && ( + } + /> + } + /> + )} + {/* Redirect all other pages to this route */} } /> diff --git a/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx b/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx index 863c469c1aa..ef8b9c0cfc6 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx @@ -4,15 +4,16 @@ import { Trans, useTranslation } from 'react-i18next'; import { useDispatch } from 'react-redux'; import { createBudget } from 'loot-core/src/client/actions/budgets'; -import { loggedIn } from 'loot-core/src/client/actions/user'; import { send } from 'loot-core/src/platform/client/fetch'; +import { useNavigate } from '../../../hooks/useNavigate'; import { theme } from '../../../style'; import { Button } from '../../common/Button2'; import { Link } from '../../common/Link'; import { Paragraph } from '../../common/Paragraph'; import { Text } from '../../common/Text'; import { View } from '../../common/View'; +import { useRefreshLoginMethods } from '../../ServerContext'; import { useBootstrapped, Title } from './common'; import { ConfirmPasswordForm } from './ConfirmPasswordForm'; @@ -21,8 +22,10 @@ export function Bootstrap() { const { t } = useTranslation(); const dispatch = useDispatch(); const [error, setError] = useState(null); + const refreshLoginMethods = useRefreshLoginMethods(); const { checked } = useBootstrapped(); + const navigate = useNavigate(); function getErrorMessage(error) { switch (error) { @@ -32,6 +35,12 @@ export function Bootstrap() { return t('Passwords do not match'); case 'network-failure': return t('Unable to contact the server'); + case 'missing-issuer': + return 'OpenID server cannot be empty'; + case 'missing-client-id': + return 'Client ID cannot be empty'; + case 'missing-client-secret': + return 'Client secret cannot be empty'; default: return t(`An unknown error occurred: {{error}}`, { error }); } @@ -44,7 +53,8 @@ export function Bootstrap() { if (error) { setError(error); } else { - dispatch(loggedIn()); + await refreshLoginMethods(); + navigate('/login'); } } @@ -57,7 +67,7 @@ export function Bootstrap() { } return ( - + <Paragraph style={{ fontSize: 16, color: theme.pageTextDark }}> <Trans> @@ -94,7 +104,11 @@ export function Bootstrap() { buttons={ <Button variant="bare" - style={{ fontSize: 15, color: theme.pageTextLink, marginRight: 15 }} + style={{ + fontSize: 15, + color: theme.pageTextLink, + marginRight: 15, + }} onPress={onDemo} > {t('Try Demo')} diff --git a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx index ae6c4db017e..d1fc093275b 100644 --- a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx @@ -1,5 +1,5 @@ // @ts-strict-ignore -import React, { useState } from 'react'; +import React, { type ChangeEvent, useState } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { ButtonWithLoading } from '../../common/Button2'; @@ -83,3 +83,68 @@ export function ConfirmPasswordForm({ buttons, onSetPassword, onError }) { </View> ); } + +export function ConfirmOldPasswordForm({ buttons, onSetPassword }) { + const [password, setPassword] = useState(''); + const [showPassword, setShowPassword] = useState(false); + const [loading, setLoading] = useState(false); + + async function onSubmit() { + if (loading) { + return; + } + + setLoading(true); + await onSetPassword(password); + setLoading(false); + } + + function onShowPassword(e) { + setShowPassword(e.target.checked); + } + + return ( + <View + style={{ + display: 'flex', + flexDirection: 'column', + alignItems: 'stretch', + marginTop: 30, + }} + > + <BigInput + autoFocus={true} + placeholder="Password" + type={showPassword ? 'text' : 'password'} + value={password} + onChange={(e: ChangeEvent<HTMLInputElement>) => + setPassword(e.target.value) + } + onEnter={onSubmit} + /> + + <View + style={{ + flexDirection: 'row', + alignItems: 'center', + fontSize: 15, + marginTop: 20, + }} + > + <label style={{ userSelect: 'none' }}> + <input type="checkbox" onChange={onShowPassword} />{' '} + <Trans>Show password</Trans> + </label> + <View style={{ flex: 1 }} /> + {buttons} + <ButtonWithLoading + variant="primary" + isLoading={loading} + onPress={onSubmit} + > + <Trans>OK</Trans> + </ButtonWithLoading> + </View> + </View> + ); +} diff --git a/packages/desktop-client/src/components/manager/subscribe/Login.tsx b/packages/desktop-client/src/components/manager/subscribe/Login.tsx index bbc2c4f99b1..d95c7c1e7a9 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Login.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/Login.tsx @@ -2,44 +2,213 @@ import React, { useState, useEffect } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { useDispatch } from 'react-redux'; -import { useParams, useSearchParams } from 'react-router-dom'; +import { useSearchParams } from 'react-router-dom'; -import { createBudget } from 'loot-core/src/client/actions/budgets'; import { loggedIn } from 'loot-core/src/client/actions/user'; import { send } from 'loot-core/src/platform/client/fetch'; +import { type OpenIdConfig } from 'loot-core/types/models/openid'; +import { useNavigate } from '../../../hooks/useNavigate'; import { AnimatedLoading } from '../../../icons/AnimatedLoading'; -import { theme } from '../../../style'; +import { styles, theme } from '../../../style'; import { Button, ButtonWithLoading } from '../../common/Button2'; import { BigInput } from '../../common/Input'; +import { Label } from '../../common/Label'; import { Link } from '../../common/Link'; +import { Select } from '../../common/Select'; import { Text } from '../../common/Text'; import { View } from '../../common/View'; +import { useAvailableLoginMethods, useLoginMethod } from '../../ServerContext'; import { useBootstrapped, Title } from './common'; +import { OpenIdForm } from './OpenIdForm'; + +function PasswordLogin({ setError, dispatch }) { + const [password, setPassword] = useState(''); + const [loading, setLoading] = useState(false); + + async function onSubmitPassword() { + if (password === '' || loading) { + return; + } + + setError(null); + setLoading(true); + const { error } = await send('subscribe-sign-in', { + password, + loginMethod: 'password', + }); + setLoading(false); + + if (error) { + setError(error); + } else { + dispatch(loggedIn()); + } + } + + return ( + <View style={{ flexDirection: 'row', marginTop: 5 }}> + <BigInput + autoFocus={true} + placeholder="Password" + type="password" + onChangeValue={newValue => setPassword(newValue)} + style={{ flex: 1, marginRight: 10 }} + onEnter={onSubmitPassword} + /> + <ButtonWithLoading + variant="primary" + isLoading={loading} + style={{ fontSize: 15 }} + onPress={onSubmitPassword} + > + Sign in + </ButtonWithLoading> + </View> + ); +} + +function OpenIdLogin({ setError }) { + const [warnMasterCreation, setWarnMasterCreation] = useState(false); + const [reviewOpenIdConfiguration, setReviewOpenIdConfiguration] = + useState(false); + const navigate = useNavigate(); + + async function onSetOpenId(config: OpenIdConfig) { + setError(null); + const { error } = await send('subscribe-bootstrap', { openId: config }); + + if (error) { + setError(error); + } else { + navigate('/'); + } + } + + useEffect(() => { + send('owner-created').then(created => setWarnMasterCreation(!created)); + }, []); + + async function onSubmitOpenId() { + const { error, redirect_url } = await send('subscribe-sign-in', { + return_url: window.location.origin, + loginMethod: 'openid', + }); + + if (error) { + setError(error); + } else { + window.location.href = redirect_url; + } + } + + return ( + <View> + {!reviewOpenIdConfiguration && ( + <> + <View style={{ flexDirection: 'row' }}> + <Button + variant="primary" + style={{ + fontSize: 15, + alignSelf: 'center', + flexGrow: 1, + marginTop: 5, + }} + onPress={onSubmitOpenId} + > + Sign in with OpenID + </Button> + </View> + {warnMasterCreation && ( + <> + <label style={{ color: theme.warningText, marginTop: 10 }}> + The first user to login with OpenID will be the{' '} + <Text style={{ fontWeight: 'bold' }}>server owner</Text>. This + can't be changed using UI. + </label> + <Button + variant="bare" + onPress={() => setReviewOpenIdConfiguration(true)} + style={{ marginTop: 5 }} + > + Review OpenID configuration + </Button> + </> + )} + </> + )} + {reviewOpenIdConfiguration && ( + <OpenIdForm + loadData={true} + otherButtons={[ + <Button + key="cancel" + variant="bare" + style={{ marginRight: 10 }} + onPress={() => setReviewOpenIdConfiguration(false)} + > + Cancel + </Button>, + ]} + onSetOpenId={async config => { + onSetOpenId(config); + }} + /> + )} + </View> + ); +} + +function HeaderLogin({ error }) { + return ( + <View + style={{ + flexDirection: 'row', + justifyContent: 'center', + marginTop: 15, + }} + > + {error ? ( + <Link + variant="button" + type="button" + style={{ fontSize: 15 }} + to={'/login/password?error=' + error} + > + Login with Password + </Link> + ) : ( + <span> + Checking Header Token Login ...{' '} + <AnimatedLoading style={{ width: 20, height: 20 }} /> + </span> + )} + </View> + ); +} export function Login() { const { t } = useTranslation(); const dispatch = useDispatch(); - const { method = 'password' } = useParams(); + const defaultLoginMethod = useLoginMethod(); + const [method, setMethod] = useState(defaultLoginMethod); const [searchParams, _setSearchParams] = useSearchParams(); - const [password, setPassword] = useState(''); - const [loading, setLoading] = useState(false); - const [error, setError] = useState(searchParams.get('error')); - const { checked } = useBootstrapped(!searchParams.has('error')); + const [error, setError] = useState(null); + const { checked } = useBootstrapped(); + const loginMethods = useAvailableLoginMethods(); useEffect(() => { if (checked && !searchParams.has('error')) { (async () => { if (method === 'header') { setError(null); - setLoading(true); const { error } = await send('subscribe-sign-in', { password: '', loginMethod: method, }); - setLoading(false); if (error) { setError(error); @@ -49,7 +218,7 @@ export function Login() { } })(); } - }, [checked, searchParams, method, dispatch]); + }, [loginMethods, checked, searchParams, method, dispatch]); function getErrorMessage(error) { switch (error) { @@ -61,35 +230,13 @@ export function Login() { return 'Invalid password'; case 'network-failure': return 'Unable to contact the server'; + case 'internal-error': + return 'Internal error'; default: return `An unknown error occurred: ${error}`; } } - async function onSubmit() { - if (password === '' || loading) { - return; - } - - setError(null); - setLoading(true); - const { error } = await send('subscribe-sign-in', { - password, - loginMethod: method, - }); - setLoading(false); - - if (error) { - setError(error); - } else { - dispatch(loggedIn()); - } - } - - async function onDemo() { - await dispatch(createBudget({ demoMode: true })); - } - if (!checked) { return null; } @@ -97,18 +244,43 @@ export function Login() { return ( <View style={{ maxWidth: 450, marginTop: -30, color: theme.pageText }}> <Title text={t('Sign in to this Actual instance')} /> - <Text - style={{ - fontSize: 16, - color: theme.pageTextDark, - lineHeight: 1.4, - }} - > - <Trans> - If you lost your password, you likely still have access to your server - to manually reset it. - </Trans> - </Text> + + {loginMethods.length > 1 && ( + <Text + style={{ + fontSize: 16, + color: theme.pageTextDark, + lineHeight: 1.4, + marginBottom: 10, + }} + > + <Trans> + If you lost your password, you likely still have access to your + server to manually reset it. + </Trans> + </Text> + )} + + {loginMethods.length > 1 && ( + <View style={{ marginTop: 10 }}> + <Label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + paddingTop: 5, + }} + title="Select the login method" + /> + <Select + value={method} + onChange={newValue => { + setError(null); + setMethod(newValue); + }} + options={loginMethods.map(m => [m.method, m.displayName])} + /> + </View> + )} {error && ( <Text @@ -124,66 +296,12 @@ export function Login() { )} {method === 'password' && ( - <View style={{ display: 'flex', flexDirection: 'row', marginTop: 30 }}> - <BigInput - autoFocus={true} - placeholder={t('Password')} - type="password" - onChangeValue={setPassword} - style={{ flex: 1, marginRight: 10 }} - onEnter={onSubmit} - /> - <ButtonWithLoading - variant="primary" - isLoading={loading} - style={{ fontSize: 15 }} - onPress={onSubmit} - > - <Trans>Sign in</Trans> - </ButtonWithLoading> - </View> - )} - {method === 'header' && ( - <View - style={{ - flexDirection: 'row', - justifyContent: 'center', - marginTop: 15, - }} - > - {error && ( - <Link - variant="button" - buttonVariant="primary" - style={{ fontSize: 15 }} - to={'/login/password?error=' + error} - > - <Trans>Login with Password</Trans> - </Link> - )} - {!error && ( - <span> - <Trans>Checking Header Token Login ...</Trans>{' '} - <AnimatedLoading style={{ width: 20, height: 20 }} /> - </span> - )} - </View> + <PasswordLogin setError={setError} dispatch={dispatch} /> )} - <View - style={{ - flexDirection: 'row', - justifyContent: 'center', - marginTop: 15, - }} - > - <Button - variant="bare" - style={{ fontSize: 15, color: theme.pageTextLink, marginLeft: 10 }} - onPress={onDemo} - > - <Trans>Try Demo →</Trans> - </Button> - </View> + + {method === 'openid' && <OpenIdLogin setError={setError} />} + + {method === 'header' && <HeaderLogin error={error} />} </View> ); } diff --git a/packages/desktop-client/src/components/manager/subscribe/OpenIdCallback.ts b/packages/desktop-client/src/components/manager/subscribe/OpenIdCallback.ts new file mode 100644 index 00000000000..02928047eab --- /dev/null +++ b/packages/desktop-client/src/components/manager/subscribe/OpenIdCallback.ts @@ -0,0 +1,16 @@ +import { useEffect } from 'react'; +import { useDispatch } from 'react-redux'; + +import { loggedIn } from 'loot-core/src/client/actions/user'; +import { send } from 'loot-core/src/platform/client/fetch'; + +export function OpenIdCallback() { + const dispatch = useDispatch(); + useEffect(() => { + const token = new URLSearchParams(window.location.search).get('token'); + send('subscribe-set-token', { token: token as string }).then(() => { + dispatch(loggedIn()); + }); + }); + return null; +} diff --git a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx new file mode 100644 index 00000000000..6de5644ccf1 --- /dev/null +++ b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx @@ -0,0 +1,416 @@ +import { type ReactNode, useEffect, useState } from 'react'; +import { useLocation, type Location } from 'react-router-dom'; + +import { send } from 'loot-core/platform/client/fetch'; +import { type OpenIdConfig } from 'loot-core/types/models/openid'; + +import { theme, styles } from '../../../style'; +import { ButtonWithLoading } from '../../common/Button2'; +import { Input } from '../../common/Input'; +import { Link } from '../../common/Link'; +import { Menu } from '../../common/Menu'; +import { Select } from '../../common/Select'; +import { Stack } from '../../common/Stack'; +import { Text } from '../../common/Text'; +import { View } from '../../common/View'; +import { FormField, FormLabel } from '../../forms'; +import { useServerURL } from '../../ServerContext'; + +type OpenIdCallback = (config: OpenIdConfig) => Promise<void>; + +type OnProviderChangeCallback = (provider: OpenIdProviderOption) => void; + +type OpenIdFormProps = { + onSetOpenId: OpenIdCallback; + otherButtons?: ReactNode[]; + loadData?: boolean; +}; + +type OpenIdProviderOption = { + label: string; + value: string; + issuer?: string | ((location: Location, serverUrl: string) => string); + clientId?: string | ((location: Location, serverUrl: string) => string); + clientSecret?: string | ((location: Location, serverUrl: string) => string); + clientIdRequired: boolean; + clientIdDisabled?: boolean; + clientSecretRequired: boolean; + clientSecretDisabled: boolean; + submitButtonDisabled?: boolean; + tip: ReactNode; +}; + +export function OpenIdForm({ + onSetOpenId, + otherButtons, + loadData, +}: OpenIdFormProps) { + const [issuer, setIssuer] = useState(''); + const [clientId, setClientId] = useState(''); + const [clientSecret, setClientSecret] = useState(''); + const [clientIdRequired, setClientIdRequired] = useState(true); + const [clientIdDisabled, setClientIdDisabled] = useState(false); + const [clientSecretRequired, setClientSecretRequired] = useState(true); + const [clientSecretDisabled, setClientSecretDisabled] = useState(false); + const [providerName, setProviderName] = useState('other'); + const serverUrl = useServerURL(); + const location = useLocation(); + const [tip, setTip] = useState((<Text />) as ReactNode); + const [submitButtonDisabled, setSubmitButtonDisabled] = useState(false); + + const [loading, setLoading] = useState(false); + + useEffect(() => { + if (loadData) { + send('get-openid-config').then((config: { openId?: OpenIdConfig }) => { + setProviderName(config?.openId?.selectedProvider ?? 'other'); + setIssuer(config?.openId?.issuer ?? ''); + setClientId(config?.openId?.client_id ?? ''); + setClientSecret(config?.openId?.client_secret ?? ''); + }); + } + }, [loadData]); + + const handleProviderChange = (provider: OpenIdProviderOption) => { + if (provider) { + setProviderName(provider.value); + const newIssuer = + typeof provider.issuer === 'function' + ? provider.issuer(location, serverUrl ?? '') + : provider.issuer; + + setIssuer(newIssuer ?? ''); + + const newClientId = + typeof provider.clientId === 'function' + ? provider.clientId(location, serverUrl ?? '') + : provider.clientId; + + setClientId(newClientId ?? ''); + + const newclientSecret = + typeof provider.clientSecret === 'function' + ? provider.clientSecret(location, serverUrl ?? '') + : provider.clientSecret; + + setClientSecret(newclientSecret ?? ''); + + setClientIdRequired(provider.clientIdRequired ?? true); + setClientIdDisabled(provider.clientIdDisabled ?? false); + setClientSecretRequired(provider.clientSecretRequired ?? true); + setClientSecretDisabled(provider.clientSecretDisabled ?? false); + + setTip(provider.tip ?? <Text />); + + setSubmitButtonDisabled(provider.submitButtonDisabled ?? false); + } + }; + + async function onSubmit() { + if (loading) { + return; + } + + setLoading(true); + await onSetOpenId({ + selectedProvider: providerName, + issuer: issuer ?? '', + client_id: clientId ?? '', + client_secret: clientSecret ?? '', + server_hostname: serverUrl ?? '', + }); + setLoading(false); + } + + return ( + <> + <OpenIdProviderSelector + onProviderChange={handleProviderChange} + defaultValue={providerName} + /> + <Stack direction="column" style={{ marginTop: 5 }}> + <FormField style={{ flex: 1 }}> + {!submitButtonDisabled && ( + <View> + <Input + id="issuer-field" + type="text" + value={issuer} + placeholder="https://accounts.domain.tld/" + onChangeValue={newValue => setIssuer(newValue)} + /> + </View> + )} + </FormField> + </Stack> + <label + htmlFor="issuer-field" + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + minWidth: '150px', + marginTop: 5, + marginBottom: 10, + maxWidth: '500px', + }} + > + {!submitButtonDisabled && 'The OpenID provider URL.'}{' '} + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + {tip} + </Text> + </label>{' '} + <Stack> + <FormField style={{ flex: 1 }}> + <FormLabel title="Client ID" htmlFor="clientid-field" /> + <Input + type="text" + id="clientid-field" + value={clientId} + disabled={clientIdDisabled} + onChangeValue={newValue => setClientId(newValue)} + required={clientIdRequired} + /> + <label + htmlFor="clientid-field" + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + The Client ID generated by the OpenID provider. + </label> + </FormField> + <FormField style={{ flex: 1 }}> + <FormLabel title="Client secret" htmlFor="clientsecret-field" /> + <Input + type="text" + id="clientsecret-field" + value={clientSecret} + onChangeValue={newValue => setClientSecret(newValue)} + disabled={clientSecretDisabled} + required={clientSecretRequired} + /> + <label + htmlFor="clientsecret-field" + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + The client secret associated with the ID generated by the OpenID + provider. + </label> + </FormField> + + <Stack direction="row" justify="flex-end" align="center"> + {otherButtons} + <ButtonWithLoading + variant="primary" + isLoading={loading} + onPress={onSubmit} + isDisabled={submitButtonDisabled} + > + OK + </ButtonWithLoading> + </Stack> + </Stack> + </> + ); +} + +const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ + ...[ + { + label: 'Google Accounts', + value: 'google', + issuer: 'https://accounts.google.com', + clientIdRequired: true, + clientSecretRequired: true, + clientSecretDisabled: false, + tip: ( + <Link + variant="external" + to="https://developers.google.com/identity/sign-in/web/sign-in" + > + Integrating Google Sign-In into your web app + </Link> + ), + }, + { + label: 'Passwordless.id', + value: 'passwordless', + issuer: 'https://api.passwordless.id', + clientId: (location: Location, serverUrl: string) => + serverUrl + ? serverUrl + : window.location.href.replace(location.pathname, ''), + clientIdRequired: true, + clientSecretRequired: true, + clientSecretDisabled: true, + tip: ( + <Link variant="external" to="https://passwordless.id/"> + Get started with passwordless.id + </Link> + ), + }, + { + label: 'Microsoft Entra', + value: 'microsoft', + issuer: 'https://login.microsoftonline.com/common/v2.0/', + clientIdRequired: true, + clientSecretRequired: true, + clientSecretDisabled: false, + tip: ( + <Link + variant="external" + to="https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols-oidc" + > + OpenID Connect on the Microsoft identity platform + </Link> + ), + }, + { + label: 'Auth0', + value: 'auth0', + issuer: 'https://{domain.region}.auth0.com/', + clientIdRequired: true, + clientSecretRequired: true, + clientSecretDisabled: false, + tip: ( + <Text style={{ color: theme.warningText }}> + Note that the URL depends on your application domain and region.{' '} + <Link + variant="external" + to="https://auth0.com/docs/get-started/applications/application-settings" + > + Auth0 application settings + </Link> + </Text> + ), + }, + { + label: 'Keycloak', + value: 'keycloak', + issuer: 'https://{domain}/realms/{realm}/', + clientIdRequired: true, + clientSecretRequired: true, + clientSecretDisabled: false, + tip: ( + <Text style={{ color: theme.warningText }}> + Note that the URL depends on your Keycloak domain and realm.{' '} + <Link + variant="external" + to="https://www.keycloak.org/docs/22.0.0/securing_apps/" + > + Securing Applications with Keycloak + </Link> + </Text> + ), + }, + { + label: 'Github', + value: 'github', + clientIdRequired: true, + clientSecretRequired: true, + clientSecretDisabled: true, + clientIdDisabled: true, + submitButtonDisabled: true, + tip: ( + <> + <Text style={{ color: theme.errorText }}> + Github does not support discovery. You need to configure it in the + server. + </Text>{' '} + <Link + variant="external" + to="https://actualbudget.org/docs/" + linkColor="muted" + > + Learn more + </Link> + </> + ), + }, + { + label: 'Authentik', + value: 'authentik', + issuer: 'https://{domain}/application/o/{provider-slug-name}/', + clientIdRequired: true, + clientSecretRequired: true, + clientSecretDisabled: false, + tip: ( + <Text style={{ color: theme.warningText }}> + Note that the URL depends on your Authentik domain and provider slug + name.{' '} + <Link + variant="external" + to="https://docs.goauthentik.io/docs/providers/oauth2/" + > + Configure OAuth2 Provider + </Link> + </Text> + ), + }, + ].sort((a, b) => a.label.localeCompare(b.label)), + Menu.line, + { + label: 'Other', + value: 'other', + issuer: '', + clientIdRequired: true, + clientSecretRequired: true, + clientSecretDisabled: false, + tip: ( + <Text> + Use any OpenId provider of your preference.{' '} + <Text style={{ color: theme.warningText }}> + If your provider does not support discovery, configure it manually + from server + </Text>{' '} + <Link + variant="external" + to="https://actualbudget.org/docs/" + linkColor="muted" + > + Learn more + </Link> + </Text> + ), + }, +]; + +function OpenIdProviderSelector({ + onProviderChange, + defaultValue, +}: { + onProviderChange: OnProviderChangeCallback; + defaultValue: string; +}) { + const handleProviderChange = (newValue: string) => { + const selectedProvider = openIdProviders.find(provider => + provider !== Menu.line ? provider.value === newValue : false, + ); + if (selectedProvider && selectedProvider !== Menu.line) { + onProviderChange(selectedProvider); + } + }; + + return ( + <FormField style={{ flex: 1, marginTop: 20 }}> + <FormLabel title="OpenID Provider" htmlFor="provider-selector" /> + <Select + options={openIdProviders.map(provider => + provider === Menu.line ? Menu.line : [provider.value, provider.label], + )} + defaultLabel="Select Provider" + value={defaultValue} + onChange={handleProviderChange} + /> + </FormField> + ); +} diff --git a/packages/desktop-client/src/components/manager/subscribe/common.tsx b/packages/desktop-client/src/components/manager/subscribe/common.tsx index 929b4bbbe20..d20638347ef 100644 --- a/packages/desktop-client/src/components/manager/subscribe/common.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/common.tsx @@ -3,10 +3,15 @@ import React, { useEffect, useState } from 'react'; import { useLocation } from 'react-router-dom'; import { send } from 'loot-core/src/platform/client/fetch'; +import { type Handlers } from 'loot-core/types/handlers'; import { useNavigate } from '../../../hooks/useNavigate'; import { theme } from '../../../style'; -import { useSetServerURL } from '../../ServerContext'; +import { + useSetLoginMethods, + useSetMultiuserEnabled, + useSetServerURL, +} from '../../ServerContext'; // There are two URLs that dance with each other: `/login` and // `/bootstrap`. Both of these URLs check the state of the the server @@ -22,6 +27,8 @@ export function useBootstrapped(redirect = true) { const navigate = useNavigate(); const location = useLocation(); const setServerURL = useSetServerURL(); + const setMultiuserEnabled = useSetMultiuserEnabled(); + const setLoginMethods = useSetLoginMethods(); useEffect(() => { async function run() { @@ -40,7 +47,9 @@ export function useBootstrapped(redirect = true) { if (url == null && !bootstrapped) { // A server hasn't been specified yet const serverURL = window.location.origin; - const result = await send('subscribe-needs-bootstrap', { + const result: Awaited< + ReturnType<Handlers['subscribe-needs-bootstrap']> + > = await send('subscribe-needs-bootstrap', { url: serverURL, }); @@ -52,17 +61,28 @@ export function useBootstrapped(redirect = true) { await setServerURL(serverURL, { validate: false }); + setMultiuserEnabled(result.multiuser); + setLoginMethods(result.loginMethods); + if (result.bootstrapped) { - ensure(`/login/${result.loginMethod}`); + ensure(`/login`); } else { ensure('/bootstrap'); } } else { - const result = await send('subscribe-needs-bootstrap'); + const result: Awaited< + ReturnType<Handlers['subscribe-needs-bootstrap']> + > = await send('subscribe-needs-bootstrap'); + if ('error' in result) { navigate('/error', { state: { error: result.error } }); } else if (result.bootstrapped) { - ensure(`/login/${result.loginMethod}`); + ensure(`/login`); + + if ('hasServer' in result && result.hasServer) { + setMultiuserEnabled(result.multiuser); + setLoginMethods(result.loginMethods); + } } else { ensure('/bootstrap'); } diff --git a/packages/desktop-client/src/components/modals/CreateAccountModal.tsx b/packages/desktop-client/src/components/modals/CreateAccountModal.tsx index 8f62089c913..58458156c9d 100644 --- a/packages/desktop-client/src/components/modals/CreateAccountModal.tsx +++ b/packages/desktop-client/src/components/modals/CreateAccountModal.tsx @@ -6,12 +6,15 @@ import { useDispatch } from 'react-redux'; import { pushModal } from 'loot-core/client/actions'; import { send } from 'loot-core/src/platform/client/fetch'; +import { useAuth } from '../../auth/AuthProvider'; +import { Permissions } from '../../auth/types'; import { authorizeBank } from '../../gocardless'; import { useGoCardlessStatus } from '../../hooks/useGoCardlessStatus'; import { useSimpleFinStatus } from '../../hooks/useSimpleFinStatus'; import { useSyncServerStatus } from '../../hooks/useSyncServerStatus'; import { SvgDotsHorizontalTriple } from '../../icons/v1'; import { theme } from '../../style'; +import { Warning } from '../alerts'; import { Button, ButtonWithLoading } from '../common/Button2'; import { InitialFocus } from '../common/InitialFocus'; import { Link } from '../common/Link'; @@ -21,6 +24,7 @@ import { Paragraph } from '../common/Paragraph'; import { Popover } from '../common/Popover'; import { Text } from '../common/Text'; import { View } from '../common/View'; +import { useMultiuserEnabled } from '../ServerContext'; type CreateAccountProps = { upgradingAccountId?: string; @@ -37,6 +41,8 @@ export function CreateAccountModal({ upgradingAccountId }: CreateAccountProps) { const [menuGoCardlessOpen, setGoCardlessMenuOpen] = useState<boolean>(false); const triggerRef = useRef(null); const [menuSimplefinOpen, setSimplefinMenuOpen] = useState<boolean>(false); + const { hasPermission } = useAuth(); + const multiuserEnabled = useMultiuserEnabled(); const onConnectGoCardless = () => { if (!isGoCardlessSetupComplete) { @@ -181,6 +187,9 @@ export function CreateAccountModal({ upgradingAccountId }: CreateAccountProps) { title = t('Link Account'); } + const canSetSecrets = + !multiuserEnabled || hasPermission(Permissions.ADMINISTRATOR); + return ( <Modal name="add-account"> {({ state: { close } }) => ( @@ -226,141 +235,168 @@ export function CreateAccountModal({ upgradingAccountId }: CreateAccountProps) { <View style={{ gap: 10 }}> {syncServerStatus === 'online' ? ( <> - <View - style={{ - flexDirection: 'row', - gap: 10, - alignItems: 'center', - }} - > - <ButtonWithLoading - isDisabled={syncServerStatus !== 'online'} - style={{ - padding: '10px 0', - fontSize: 15, - fontWeight: 600, - flex: 1, - }} - onPress={onConnectGoCardless} - > - {isGoCardlessSetupComplete - ? t('Link bank account with GoCardless') - : t('Set up GoCardless for bank sync')} - </ButtonWithLoading> - {isGoCardlessSetupComplete && ( - <> - <Button - ref={triggerRef} - variant="bare" - onPress={() => setGoCardlessMenuOpen(true)} - aria-label="GoCardless menu" - > - <SvgDotsHorizontalTriple - width={15} - height={15} - style={{ transform: 'rotateZ(90deg)' }} - /> - </Button> - - <Popover - triggerRef={triggerRef} - isOpen={menuGoCardlessOpen} - onOpenChange={() => setGoCardlessMenuOpen(false)} - > - <Menu - onMenuSelect={item => { - if (item === 'reconfigure') { - onGoCardlessReset(); - } - }} - items={[ - { - name: 'reconfigure', - text: t('Reset GoCardless credentials'), - }, - ]} - /> - </Popover> - </> - )} - </View> - <Text style={{ lineHeight: '1.4em', fontSize: 15 }}> - <strong> - {t('Link a')} <em>{t('European')}</em> {t('bank account')} - </strong>{' '} - {t( - 'to automatically download transactions. GoCardless provides reliable, up-to-date information from hundreds of banks.', - )} - </Text> - - <View - style={{ - flexDirection: 'row', - gap: 10, - marginTop: '18px', - alignItems: 'center', - }} - > - <ButtonWithLoading - isDisabled={syncServerStatus !== 'online'} - isLoading={loadingSimpleFinAccounts} - style={{ - padding: '10px 0', - fontSize: 15, - fontWeight: 600, - flex: 1, - }} - onPress={onConnectSimpleFin} - > - {isSimpleFinSetupComplete - ? t('Link bank account with SimpleFIN') - : t('Set up SimpleFIN for bank sync')} - </ButtonWithLoading> - {isSimpleFinSetupComplete && ( - <> - <Button - ref={triggerRef} - variant="bare" - onPress={() => setSimplefinMenuOpen(true)} - aria-label="SimpleFIN menu" + {(canSetSecrets || isGoCardlessSetupComplete) && ( + <> + <View + style={{ + flexDirection: 'row', + gap: 10, + alignItems: 'center', + }} + > + <ButtonWithLoading + isDisabled={syncServerStatus !== 'online'} + style={{ + padding: '10px 0', + fontSize: 15, + fontWeight: 600, + flex: 1, + }} + onPress={onConnectGoCardless} > - <SvgDotsHorizontalTriple - width={15} - height={15} - style={{ transform: 'rotateZ(90deg)' }} - /> - </Button> - <Popover - triggerRef={triggerRef} - isOpen={menuSimplefinOpen} - onOpenChange={() => setSimplefinMenuOpen(false)} + {isGoCardlessSetupComplete + ? t('Link bank account with GoCardless') + : t('Set up GoCardless for bank sync')} + </ButtonWithLoading> + {isGoCardlessSetupComplete && canSetSecrets && ( + <> + <Button + ref={triggerRef} + variant="bare" + onPress={() => setGoCardlessMenuOpen(true)} + aria-label="GoCardless menu" + > + <SvgDotsHorizontalTriple + width={15} + height={15} + style={{ transform: 'rotateZ(90deg)' }} + /> + </Button> + {menuGoCardlessOpen && ( + <Popover + triggerRef={triggerRef} + isOpen={menuGoCardlessOpen} + onOpenChange={() => + setGoCardlessMenuOpen(false) + } + > + <Menu + onMenuSelect={item => { + if (item === 'reconfigure') { + onGoCardlessReset(); + } + }} + items={[ + { + name: 'reconfigure', + text: t('Reset GoCardless credentials'), + }, + ]} + /> + </Popover> + )} + </> + )} + </View> + <Text style={{ lineHeight: '1.4em', fontSize: 15 }}> + <strong> + {t('Link a')} <em>{t('European')}</em>{' '} + {t('bank account')} + </strong>{' '} + {t( + 'to automatically download transactions. GoCardless provides reliable, up-to-date information from hundreds of banks.', + )} + </Text> + </> + )} + {(canSetSecrets || isSimpleFinSetupComplete) && ( + <> + <View + style={{ + flexDirection: 'row', + gap: 10, + marginTop: '18px', + alignItems: 'center', + }} + > + <ButtonWithLoading + isDisabled={syncServerStatus !== 'online'} + isLoading={loadingSimpleFinAccounts} + style={{ + padding: '10px 0', + fontSize: 15, + fontWeight: 600, + flex: 1, + }} + onPress={onConnectSimpleFin} > - <Menu - onMenuSelect={item => { - if (item === 'reconfigure') { - onSimpleFinReset(); - } - }} - items={[ - { - name: 'reconfigure', - text: t('Reset SimpleFIN credentials'), - }, - ]} - /> - </Popover> - </> + {isSimpleFinSetupComplete + ? t('Link bank account with SimpleFIN') + : t('Set up SimpleFIN for bank sync')} + </ButtonWithLoading> + {isSimpleFinSetupComplete && canSetSecrets && ( + <> + <Button + ref={triggerRef} + variant="bare" + onPress={() => setSimplefinMenuOpen(true)} + aria-label="SimpleFIN menu" + > + <SvgDotsHorizontalTriple + width={15} + height={15} + style={{ transform: 'rotateZ(90deg)' }} + /> + </Button> + {menuSimplefinOpen && ( + <Popover + triggerRef={triggerRef} + isOpen={menuSimplefinOpen} + onOpenChange={() => setSimplefinMenuOpen(false)} + > + <Menu + onMenuSelect={item => { + if (item === 'reconfigure') { + onSimpleFinReset(); + } + }} + items={[ + { + name: 'reconfigure', + text: t('Reset SimpleFIN credentials'), + }, + ]} + /> + </Popover> + )} + </> + )} + </View> + <Text style={{ lineHeight: '1.4em', fontSize: 15 }}> + <strong> + {t('Link a')} <em>{t('North American')}</em> + {t(' bank account')} + </strong>{' '} + {t( + 'to automatically download transactions. SimpleFIN provides reliable, up-to-date information from hundreds of banks.', + )}{' '} + </Text> + </> + )} + {(!isGoCardlessSetupComplete || !isSimpleFinSetupComplete) && + !canSetSecrets && ( + <Warning> + You don't have the required permissions to set up + secrets. Please contact an Admin to configure{' '} + {[ + isGoCardlessSetupComplete ? '' : 'GoCardless', + isSimpleFinSetupComplete ? '' : 'SimpleFin', + ] + .filter(Boolean) // Remove empty values + .join(' or ')} + . + </Warning> )} - </View> - <Text style={{ lineHeight: '1.4em', fontSize: 15 }}> - <strong> - {t('Link a')} <em>{t('North American')}</em> - {t(' bank account')} - </strong>{' '} - {t( - 'to automatically download transactions. SimpleFIN provides reliable, up-to-date information from hundreds of banks.', - )}{' '} - </Text> </> ) : ( <> diff --git a/packages/desktop-client/src/components/modals/EditAccess.tsx b/packages/desktop-client/src/components/modals/EditAccess.tsx new file mode 100644 index 00000000000..169f0f0f0ef --- /dev/null +++ b/packages/desktop-client/src/components/modals/EditAccess.tsx @@ -0,0 +1,151 @@ +import { useEffect, useState } from 'react'; + +import { send } from 'loot-core/platform/client/fetch'; +import { getUserAccessErrors } from 'loot-core/shared/errors'; +import { type UserAccessEntity } from 'loot-core/types/models/userAccess'; + +import { useActions } from '../../hooks/useActions'; +import { styles, theme } from '../../style'; +import { Button } from '../common/Button2'; +import { Modal, ModalCloseButton, ModalHeader } from '../common/Modal'; +import { Select } from '../common/Select'; +import { Stack } from '../common/Stack'; +import { Text } from '../common/Text'; +import { View } from '../common/View'; +import { FormField, FormLabel } from '../forms'; + +type UserAvailable = { + userId: string; + displayName?: string; + userName: string; +}; + +type EditUserAccessProps = { + defaultUserAccess: UserAccessEntity; + onSave?: (userAccess: UserAccessEntity) => void; +}; + +export function EditUserAccess({ + defaultUserAccess, + onSave: originalOnSave, +}: EditUserAccessProps) { + const actions = useActions(); + const [userId, setUserId] = useState(defaultUserAccess.userId ?? ''); + const [error, setSetError] = useState(''); + const [availableUsers, setAvailableUsers] = useState<[string, string][]>([]); + + useEffect(() => { + send('access-get-available-users', defaultUserAccess.fileId).then( + (users: UserAvailable[]) => + setAvailableUsers( + users.map(user => [ + user.userId, + user.displayName + ? `${user.displayName} (${user.userName})` + : user.userName, + ]), + ), + ); + }, [defaultUserAccess.fileId]); + + async function onSave(close: () => void) { + const userAccess = { + ...defaultUserAccess, + userId, + }; + + const { error } = await send('access-add', userAccess); + if (!error) { + originalOnSave?.(userAccess); + close(); + } else { + if (error === 'token-expired') { + actions.addNotification({ + type: 'error', + id: 'login-expired', + title: 'Login expired', + sticky: true, + message: getUserAccessErrors(error), + button: { + title: 'Go to login', + action: () => { + actions.signOut(); + }, + }, + }); + } else { + setSetError(getUserAccessErrors(error)); + } + } + } + + return ( + <Modal name="edit-access"> + {({ state: { close } }: { state: { close: () => void } }) => ( + <> + <ModalHeader + title="User Access" + rightContent={<ModalCloseButton onPress={close} />} + /> + <Stack direction="row" style={{ marginTop: 10 }}> + <FormField style={{ flex: 1 }}> + <FormLabel title="User" htmlFor="user-field" /> + {availableUsers.length > 0 && ( + <View> + <Select + options={availableUsers} + onChange={(newValue: string) => setUserId(newValue)} + value={userId} + /> + <label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + marginTop: 5, + }} + > + Select a user from the directory + </label> + </View> + )} + {availableUsers.length === 0 && ( + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + marginTop: 5, + }} + > + No users available to give access + </Text> + )} + </FormField> + </Stack> + + <Stack + direction="row" + justify="flex-end" + align="center" + style={{ marginTop: 20 }} + > + {error && <Text style={{ color: theme.errorText }}>{error}</Text>} + <Button + variant="bare" + style={{ marginRight: 10 }} + onPress={actions.popModal} + > + Cancel + </Button> + <Button + variant="primary" + isDisabled={availableUsers.length === 0} + onPress={() => onSave(close)} + > + {defaultUserAccess.userId ? 'Save' : 'Add'} + </Button> + </Stack> + </> + )} + </Modal> + ); +} diff --git a/packages/desktop-client/src/components/modals/EditUser.tsx b/packages/desktop-client/src/components/modals/EditUser.tsx new file mode 100644 index 00000000000..fa08078fb2e --- /dev/null +++ b/packages/desktop-client/src/components/modals/EditUser.tsx @@ -0,0 +1,338 @@ +import { useState } from 'react'; + +import { send } from 'loot-core/platform/client/fetch'; +import { + PossibleRoles, + type UserEntity, +} from 'loot-core/src/types/models/user'; + +import { type BoundActions, useActions } from '../../hooks/useActions'; +import { styles, theme } from '../../style'; +import { Button } from '../common/Button2'; +import { Input } from '../common/Input'; +import { Modal, ModalCloseButton, ModalHeader } from '../common/Modal'; +import { Select } from '../common/Select'; +import { Stack } from '../common/Stack'; +import { Text } from '../common/Text'; +import { View } from '../common/View'; +import { Checkbox, FormField, FormLabel } from '../forms'; + +type User = UserEntity; + +type EditUserProps = { + defaultUser: User; + onSave: ( + method: 'user-add' | 'user-update', + user: User, + setError: (error: string) => void, + actions: BoundActions, + ) => Promise<void>; +}; + +type EditUserFinanceAppProps = { + defaultUser: User; + onSave: (user: User) => void; +}; + +function getUserDirectoryErrors(reason: string): string { + switch (reason) { + case 'unauthorized': + return 'You are not logged in.'; + case 'token-expired': + return 'Login expired, please login again.'; + case 'user-cant-be-empty': + return 'Please enter a value for the username; the field cannot be empty.'; + case 'role-cant-be-empty': + return 'Select a role; the field cannot be empty.'; + case 'user-already-exists': + return 'The username you entered already exists. Please choose a different username.'; + case 'not-all-deleted': + return 'Not all users were deleted. Check if one of the selected users is the server owner.'; + case 'role-does-not-exists': + return 'Selected role does not exists, possibly a bug? Visit https://actualbudget.org/contact/ for support.'; + default: + return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`; + } +} + +async function saveUser( + method: 'user-add' | 'user-update', + user: User, + setError: (error: string) => void, + actions: BoundActions, +): Promise<boolean> { + const { error, id: newId } = (await send(method, user)) || {}; + if (!error) { + if (newId) { + user.id = newId; + } + } else { + setError(getUserDirectoryErrors(error)); + if (error === 'token-expired') { + actions.addNotification({ + type: 'error', + id: 'login-expired', + title: 'Login expired', + sticky: true, + message: getUserDirectoryErrors(error), + button: { + title: 'Go to login', + action: () => { + actions.signOut(); + }, + }, + }); + } + + return false; + } + + return true; +} + +export function EditUserFinanceApp({ + defaultUser, + onSave: originalOnSave, +}: EditUserFinanceAppProps) { + return ( + <Modal name="edit-user"> + {({ state: { close } }) => ( + <> + <ModalHeader + title="User" + rightContent={<ModalCloseButton onPress={close} />} + /> + <EditUser + defaultUser={defaultUser} + onSave={async (method, user, setError, actions) => { + if (await saveUser(method, user, setError, actions)) { + originalOnSave(user); + close(); + } + }} + /> + </> + )} + </Modal> + ); +} + +function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { + const actions = useActions(); + const [userName, setUserName] = useState<string>(defaultUser.userName ?? ''); + const [displayName, setDisplayName] = useState<string>( + defaultUser.displayName ?? '', + ); + const [enabled, setEnabled] = useState<boolean>(defaultUser.enabled); + const [role, setRole] = useState<string>(defaultUser.role ?? 'BASIC'); + const [error, setError] = useState<string>(''); + + async function onSave() { + const user: User = { + ...defaultUser, + userName, + displayName, + enabled, + role, + }; + + const method = user.id ? 'user-update' : 'user-add'; + await originalOnSave(method, user, setError, actions); + } + + return ( + <> + <Stack direction="row" style={{ marginTop: 10 }}> + <FormField style={{ flex: 1 }}> + <FormLabel title="Username" htmlFor="name-field" /> + <Input value={userName} onChangeValue={text => setUserName(text)} /> + <label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + marginTop: 5, + }} + > + The username registered within the OpenID provider. + </label> + </FormField> + <View + style={{ + flexDirection: 'row', + alignItems: 'center', + userSelect: 'none', + }} + > + {' '} + <Checkbox + id="enabled-field" + checked={enabled} + disabled={defaultUser.owner} + style={{ + color: defaultUser.owner ? theme.pageTextSubdued : 'inherit', + }} + onChange={() => setEnabled(!enabled)} + /> + <label htmlFor="enabled-field" style={{ userSelect: 'none' }}> + Enabled + </label> + </View> + </Stack> + {defaultUser.owner && ( + <label + style={{ + ...styles.verySmallText, + color: theme.warningTextLight, + marginTop: 5, + }} + > + Change this username with caution; it is the server owner. + </label> + )} + <Stack direction="row" style={{ marginTop: 10 }}> + <FormField style={{ flex: 1 }}> + <FormLabel title="Display Name" htmlFor="dispalyname-field" /> + <Input + value={displayName} + onChangeValue={text => setDisplayName(text)} + placeholder="(Optional)" + /> + <View + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + marginTop: 5, + }} + > + If left empty, it will be updated from your OpenID provider on the + user's login, if available there. + </View> + <View + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + When displaying user information, this will be shown instead of the + username. + </View> + </FormField> + </Stack> + <Stack direction="row" style={{ marginTop: 10, width: '100px' }}> + <FormField style={{ flex: 1 }}> + <FormLabel title="Role" htmlFor="name-field" /> + <Select + disabled={defaultUser.owner} + options={Object.entries(PossibleRoles)} + value={role} + onChange={newValue => setRole(newValue)} + /> + </FormField> + </Stack> + <RoleDescription /> + + <Stack + direction="row" + justify="flex-end" + align="center" + style={{ marginTop: 20 }} + > + {error && <Text style={{ color: theme.errorText }}>{error}</Text>} + <Button + variant="bare" + style={{ marginRight: 10 }} + onPress={actions.popModal} + > + Cancel + </Button> + <Button variant="primary" onPress={onSave}> + {defaultUser.id ? 'Save' : 'Add'} + </Button> + </Stack> + </> + ); +} + +const RoleDescription = () => { + return ( + <View style={{ paddingTop: 10 }}> + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + In our user directory, each user is assigned a specific role that + determines their permissions and capabilities within the system. + </Text> + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + Understanding these roles is essential for managing users and + responsibilities effectively. + </Text> + <View style={{ paddingTop: 5 }}> + <label + style={{ + ...styles.altMenuHeaderText, + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + Basic + </label> + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + Users with the Basic role can create new budgets and be invited to + collaborate on budgets created by others. + </Text> + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + This role is ideal for users who primarily need to manage their own + budgets and participate in shared budget activities. + </Text> + </View> + <View style={{ paddingTop: 10 }}> + <label + style={{ + ...styles.altMenuHeaderText, + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + Admin + </label> + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + Can do everything that Basic users can. In addition, they have the + ability to add new users to the directory and access budget files from + all users. + </Text> + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + > + Also can assign ownership of a budget to another person, ensuring + efficient budget management. + </Text> + </View> + </View> + ); +}; diff --git a/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx b/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx index 188b5d57331..cd862085be0 100644 --- a/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx +++ b/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx @@ -3,6 +3,7 @@ import React, { useState } from 'react'; import { t } from 'i18next'; // Ensure this import is correct +import { getSecretsError } from 'loot-core/shared/errors'; import { send } from 'loot-core/src/platform/client/fetch'; import { Error } from '../alerts'; @@ -31,26 +32,45 @@ export const GoCardlessInitialiseModal = ({ const [secretKey, setSecretKey] = useState(''); const [isValid, setIsValid] = useState(true); const [isLoading, setIsLoading] = useState(false); + const [error, setError] = useState( + 'It is required to provide both the secret id and secret key.', + ); const onSubmit = async (close: () => void) => { if (!secretId || !secretKey) { setIsValid(false); + setError('It is required to provide both the secret id and secret key.'); return; } setIsLoading(true); - await Promise.all([ - send('secret-set', { + let { error, reason } = + (await send('secret-set', { name: 'gocardless_secretId', value: secretId, - }), - send('secret-set', { - name: 'gocardless_secretKey', - value: secretKey, - }), - ]); + })) || {}; + + if (error) { + setIsLoading(false); + setIsValid(false); + setError(getSecretsError(error, reason)); + return; + } else { + ({ error, reason } = + (await send('secret-set', { + name: 'gocardless_secretKey', + value: secretKey, + })) || {}); + if (error) { + setIsLoading(false); + setIsValid(false); + setError(getSecretsError(error, reason)); + return; + } + } + setIsValid(true); onSuccess(); setIsLoading(false); close(); @@ -107,13 +127,7 @@ export const GoCardlessInitialiseModal = ({ /> </FormField> - {!isValid && ( - <Error> - {t( - 'It is required to provide both the secret id and secret key.', - )} - </Error> - )} + {!isValid && <Error>{error}</Error>} </View> <ModalButtons> diff --git a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx new file mode 100644 index 00000000000..fae315be3c8 --- /dev/null +++ b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx @@ -0,0 +1,94 @@ +import { useState } from 'react'; + +import { send } from 'loot-core/platform/client/fetch'; +import * as asyncStorage from 'loot-core/platform/server/asyncStorage'; +import { getOpenIdErrors } from 'loot-core/shared/errors'; +import { type OpenIdConfig } from 'loot-core/types/models/openid'; + +import { useActions } from '../../hooks/useActions'; +import { theme, styles } from '../../style'; +import { Error } from '../alerts'; +import { Button } from '../common/Button2'; +import { Label } from '../common/Label'; +import { Modal, ModalCloseButton, ModalHeader } from '../common/Modal'; +import { View } from '../common/View'; +import { OpenIdForm } from '../manager/subscribe/OpenIdForm'; +import { useRefreshLoginMethods } from '../ServerContext'; + +type OpenIDEnableModalProps = { + onSave?: () => void; +}; + +export function OpenIDEnableModal({ + onSave: originalOnSave, +}: OpenIDEnableModalProps) { + const [error, setError] = useState(''); + const actions = useActions(); + const { closeBudget } = useActions(); + const refreshLoginMethods = useRefreshLoginMethods(); + + async function onSave(config: OpenIdConfig) { + const { error } = (await send('enable-openid', { openId: config })) || {}; + if (!error) { + originalOnSave?.(); + await refreshLoginMethods(); + await asyncStorage.removeItem('user-token'); + await closeBudget(); + } else { + setError(getOpenIdErrors(error)); + } + } + + return ( + <Modal name="enable-openid"> + {({ state: { close } }) => ( + <> + <ModalHeader + title="Enable OpenID" + rightContent={<ModalCloseButton onPress={close} />} + /> + + <View style={{ flexDirection: 'column' }}> + <OpenIdForm + onSetOpenId={onSave} + otherButtons={[ + <Button + key="cancel" + variant="bare" + style={{ marginRight: 10 }} + onPress={actions.popModal} + > + Cancel + </Button>, + ]} + /> + <Label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + paddingTop: 5, + }} + title="After enabling openid all sessions will be closed" + /> + <Label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + }} + title="The first user to login will become the server owner" + /> + <Label + style={{ + ...styles.verySmallText, + color: theme.warningText, + }} + title="The current password will be disabled" + /> + + {error && <Error>{error}</Error>} + </View> + </> + )} + </Modal> + ); +} diff --git a/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx b/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx new file mode 100644 index 00000000000..35ef2c872ee --- /dev/null +++ b/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx @@ -0,0 +1,133 @@ +import { useState } from 'react'; + +import { send } from 'loot-core/platform/client/fetch'; +import * as asyncStorage from 'loot-core/src/platform/server/asyncStorage'; + +import { useActions } from '../../hooks/useActions'; +import { theme, styles } from '../../style'; +import { Error as ErrorAlert } from '../alerts'; +import { Button } from '../common/Button2'; +import { Label } from '../common/Label'; +import { Modal, ModalCloseButton, ModalHeader } from '../common/Modal'; +import { View } from '../common/View'; +import { FormField } from '../forms'; +import { + ConfirmOldPasswordForm, + ConfirmPasswordForm, +} from '../manager/subscribe/ConfirmPasswordForm'; +import { + useAvailableLoginMethods, + useMultiuserEnabled, + useRefreshLoginMethods, +} from '../ServerContext'; + +type PasswordEnableModalProps = { + onSave?: () => void; +}; + +export function PasswordEnableModal({ + onSave: originalOnSave, +}: PasswordEnableModalProps) { + const [error, setError] = useState<string | null>(null); + const { closeBudget, popModal } = useActions(); + const multiuserEnabled = useMultiuserEnabled(); + const availableLoginMethods = useAvailableLoginMethods(); + const refreshLoginMethods = useRefreshLoginMethods(); + + const errorMessages = { + 'invalid-password': 'Invalid Password', + 'password-match': 'Passwords do not match', + 'network-failure': 'Unable to contact the server', + 'unable-to-change-file-config-enabled': + 'Unable to disable OpenID. Please update the config.json file in this case.', + }; + + function getErrorMessage(error: string): string { + return ( + errorMessages[error as keyof typeof errorMessages] || + 'Internal server error' + ); + } + + async function onSetPassword(password: string) { + setError(null); + const { error } = (await send('enable-password', { password })) || {}; + if (!error) { + originalOnSave?.(); + await refreshLoginMethods(); + await asyncStorage.removeItem('user-token'); + await closeBudget(); + } else { + setError(getErrorMessage(error)); + } + } + + return ( + <Modal name="enable-password-auth"> + {({ state: { close } }) => ( + <> + <ModalHeader + title="Revert to server password" + rightContent={<ModalCloseButton onPress={close} />} + /> + + <View style={{ flexDirection: 'column' }}> + <FormField style={{ flex: 1 }}> + {!availableLoginMethods.some( + login => login.method === 'password', + ) && ( + <ConfirmPasswordForm + buttons={ + <Button + variant="bare" + style={{ fontSize: 15, marginRight: 10 }} + onPress={() => popModal()} + > + Cancel + </Button> + } + onSetPassword={onSetPassword} + onError={(error: string) => setError(getErrorMessage(error))} + /> + )} + {availableLoginMethods.some( + login => login.method === 'password', + ) && ( + <ConfirmOldPasswordForm + buttons={ + <Button + variant="bare" + style={{ fontSize: 15, marginRight: 10 }} + onPress={() => popModal()} + > + Cancel + </Button> + } + onSetPassword={onSetPassword} + /> + )} + </FormField> + <Label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + paddingTop: 5, + }} + title="After disabling openid all sessions will be closed" + /> + {multiuserEnabled && ( + <Label + style={{ + ...styles.verySmallText, + color: theme.warningText, + }} + title="Multi-user will not work after disabling" + /> + )} + {error && <ErrorAlert>{error}</ErrorAlert>} + </View> + </> + )} + </Modal> + ); +} diff --git a/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx b/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx index 54fac7a98a2..920a657db2f 100644 --- a/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx +++ b/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx @@ -2,6 +2,7 @@ import React, { useState } from 'react'; import { useTranslation } from 'react-i18next'; +import { getSecretsError } from 'loot-core/shared/errors'; import { send } from 'loot-core/src/platform/client/fetch'; import { Error } from '../alerts'; @@ -29,6 +30,7 @@ export const SimpleFinInitialiseModal = ({ const [token, setToken] = useState(''); const [isValid, setIsValid] = useState(true); const [isLoading, setIsLoading] = useState(false); + const [error, setError] = useState('It is required to provide a token.'); const onSubmit = async (close: () => void) => { if (!token) { @@ -38,12 +40,18 @@ export const SimpleFinInitialiseModal = ({ setIsLoading(true); - await send('secret-set', { - name: 'simplefin_token', - value: token, - }); + const { error, reason } = + (await send('secret-set', { + name: 'simplefin_token', + value: token, + })) || {}; - onSuccess(); + if (error) { + setIsValid(false); + setError(getSecretsError(error, reason)); + } else { + onSuccess(); + } setIsLoading(false); close(); }; @@ -84,7 +92,7 @@ export const SimpleFinInitialiseModal = ({ /> </FormField> - {!isValid && <Error>It is required to provide a token.</Error>} + {!isValid && <Error>{error}</Error>} </View> <ModalButtons> diff --git a/packages/desktop-client/src/components/modals/TransferOwnership.tsx b/packages/desktop-client/src/components/modals/TransferOwnership.tsx new file mode 100644 index 00000000000..86a83e22e09 --- /dev/null +++ b/packages/desktop-client/src/components/modals/TransferOwnership.tsx @@ -0,0 +1,166 @@ +import { useEffect, useState } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; + +import { closeAndLoadBudget } from 'loot-core/client/actions'; +import { type State } from 'loot-core/client/state-types'; +import { send } from 'loot-core/platform/client/fetch'; +import { getUserAccessErrors } from 'loot-core/shared/errors'; +import { type Budget } from 'loot-core/types/budget'; +import { type RemoteFile, type SyncedLocalFile } from 'loot-core/types/file'; +import { type UserEntity } from 'loot-core/types/models'; + +import { useActions } from '../../hooks/useActions'; +import { useMetadataPref } from '../../hooks/useMetadataPref'; +import { styles, theme } from '../../style'; +import { Button } from '../common/Button2'; +import { Modal, ModalCloseButton, ModalHeader } from '../common/Modal'; +import { Select } from '../common/Select'; +import { Stack } from '../common/Stack'; +import { Text } from '../common/Text'; +import { View } from '../common/View'; +import { FormField, FormLabel } from '../forms'; + +type TransferOwnershipProps = { + onSave?: () => void; +}; + +export function TransferOwnership({ + onSave: originalOnSave, +}: TransferOwnershipProps) { + const userData = useSelector((state: State) => state.user.data); + const actions = useActions(); + const [userId, setUserId] = useState(''); + const [error, setSetError] = useState<string | null>(null); + const [availableUsers, setAvailableUsers] = useState<[string, string][]>([]); + const [cloudFileId] = useMetadataPref('cloudFileId'); + const allFiles = useSelector(state => state.budgets.allFiles || []); + const remoteFiles = allFiles.filter( + f => f.state === 'remote' || f.state === 'synced' || f.state === 'detached', + ) as (SyncedLocalFile | RemoteFile)[]; + const currentFile = remoteFiles.find(f => f.cloudFileId === cloudFileId); + const dispatch = useDispatch(); + + useEffect(() => { + send('users-get').then((users: UserEntity[]) => + setAvailableUsers( + users + .filter(f => currentFile?.owner !== f.id) + .map(user => [ + user.id, + user.displayName + ? `${user.displayName} (${user.userName})` + : user.userName, + ]), + ), + ); + }, [userData?.userId, currentFile?.owner]); + + async function onSave() { + if (cloudFileId) { + const response = await send('transfer-ownership', { + fileId: cloudFileId as string, + newUserId: userId, + }); + const { error } = response || {}; + if (!error) { + originalOnSave?.(); + } else { + setSetError(getUserAccessErrors(error)); + } + } else { + setSetError('Cloud file ID is missing.'); + } + } + + return ( + <Modal name="transfer-ownership"> + {({ state: { close } }: { state: { close: () => void } }) => ( + <> + <ModalHeader + title="Transfer ownership" + rightContent={<ModalCloseButton onPress={close} />} + /> + <Stack direction="row" style={{ marginTop: 10 }}> + <FormField style={{ flex: 1 }}> + <FormLabel title="User" htmlFor="user-field" /> + {availableUsers.length > 0 && ( + <View> + <Select + options={availableUsers} + onChange={(newValue: string) => { + setUserId(newValue); + }} + value={userId} + /> + <label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + marginTop: 5, + }} + > + Select a user from the directory to designate as the new + budget owner. + </label> + <label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + marginTop: 5, + }} + > + This action is irreversible. Only the new owner or an + administrator can reverse it. + </label> + <label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + marginTop: 5, + }} + > + Proceed with caution. + </label> + </View> + )} + {availableUsers.length === 0 && ( + <Text + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + marginTop: 5, + }} + > + No users available + </Text> + )} + </FormField> + </Stack> + + <Stack + direction="row" + justify="flex-end" + align="center" + style={{ marginTop: 20 }} + > + {error && <Text style={{ color: theme.errorText }}>{error}</Text>} + <Button style={{ marginRight: 10 }} onPress={actions.popModal}> + Cancel + </Button> + <Button + isDisabled={availableUsers.length === 0} + onPress={async () => { + await onSave(); + close(); + + await dispatch(closeAndLoadBudget((currentFile as Budget).id)); + }} + > + Transfer ownership + </Button> + </Stack> + </> + )} + </Modal> + ); +} diff --git a/packages/desktop-client/src/components/responsive/wide.ts b/packages/desktop-client/src/components/responsive/wide.ts index 5b54b8eac01..94eb01e43c5 100644 --- a/packages/desktop-client/src/components/responsive/wide.ts +++ b/packages/desktop-client/src/components/responsive/wide.ts @@ -6,3 +6,5 @@ export { GoCardlessLink } from '../gocardless/GoCardlessLink'; export { Account as Accounts } from '../accounts/Account'; export { Account } from '../accounts/Account'; + +export { UserDirectoryPage } from '../admin/UserDirectory/UserDirectoryPage'; diff --git a/packages/desktop-client/src/components/settings/AuthSettings.tsx b/packages/desktop-client/src/components/settings/AuthSettings.tsx new file mode 100644 index 00000000000..7f1307334cf --- /dev/null +++ b/packages/desktop-client/src/components/settings/AuthSettings.tsx @@ -0,0 +1,93 @@ +import React from 'react'; +import { useDispatch } from 'react-redux'; + +import { pushModal } from 'loot-core/client/actions'; + +import { useFeatureFlag } from '../../hooks/useFeatureFlag'; +import { theme } from '../../style'; +import { Button } from '../common/Button2'; +import { Label } from '../common/Label'; +import { Text } from '../common/Text'; +import { View } from '../common/View'; +import { useMultiuserEnabled, useLoginMethod } from '../ServerContext'; + +import { Setting } from './UI'; + +export function AuthSettings() { + const multiuserEnabled = useMultiuserEnabled(); + const loginMethod = useLoginMethod(); + const dispatch = useDispatch(); + const openidAuthFeatureFlag = useFeatureFlag('openidAuth'); + + return ( + <View style={{ display: openidAuthFeatureFlag ? 'visible' : 'none' }}> + {openidAuthFeatureFlag && ( + <Setting + primaryAction={ + <> + <label> + OpenID is{' '} + <label style={{ fontWeight: 'bold' }}> + {loginMethod === 'openid' ? 'enabled' : 'disabled'} + </label> + </label> + {loginMethod === 'password' && ( + <> + <Button + id="start-using" + style={{ + marginTop: '10px', + }} + variant="normal" + onPress={() => + dispatch( + pushModal('enable-openid', { + onSave: async () => {}, + }), + ) + } + > + Start using OpenID + </Button> + <Label + style={{ paddingTop: 5 }} + title="OpenID is required to enable multi-user mode." + /> + </> + )} + {loginMethod !== 'password' && ( + <> + <Button + style={{ + marginTop: '10px', + }} + variant="normal" + onPress={() => + dispatch( + pushModal('enable-password-auth', { + onSave: async () => {}, + }), + ) + } + > + Disable OpenID + </Button> + {multiuserEnabled && ( + <label style={{ paddingTop: 5, color: theme.warningText }}> + Disabling OpenID will deactivate multi-user mode. + </label> + )} + </> + )} + </> + } + > + <Text> + <strong>Authentication method</strong> modifies how users log in to + the system. + </Text> + </Setting> + )} + </View> + ); +} diff --git a/packages/desktop-client/src/components/settings/Experimental.tsx b/packages/desktop-client/src/components/settings/Experimental.tsx index 53ebba44eaa..94a5f1182fc 100644 --- a/packages/desktop-client/src/components/settings/Experimental.tsx +++ b/packages/desktop-client/src/components/settings/Experimental.tsx @@ -96,6 +96,12 @@ export function ExperimentalFeatures() { > <Trans>Context menus</Trans> </FeatureToggle> + <FeatureToggle + flag="openidAuth" + feedbackLink="https://github.com/actualbudget/actual/issues/524" + > + <Trans>OpenID authentication method</Trans> + </FeatureToggle> </View> ) : ( <Link diff --git a/packages/desktop-client/src/components/settings/index.tsx b/packages/desktop-client/src/components/settings/index.tsx index 4a7852e12b0..c03887abad9 100644 --- a/packages/desktop-client/src/components/settings/index.tsx +++ b/packages/desktop-client/src/components/settings/index.tsx @@ -23,6 +23,7 @@ import { Page } from '../Page'; import { useResponsive } from '../responsive/ResponsiveProvider'; import { useServerVersion } from '../ServerContext'; +import { AuthSettings } from './AuthSettings'; import { Backups } from './Backups'; import { BudgetTypeSettings } from './BudgetTypeSettings'; import { EncryptionSettings } from './Encryption'; @@ -175,6 +176,7 @@ export function Settings() { <About /> <ThemeSettings /> <FormatSettings /> + <AuthSettings /> <EncryptionSettings /> <BudgetTypeSettings /> {isElectron() && <Backups />} diff --git a/packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx b/packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx index 95c73607e91..753bbe2f40d 100644 --- a/packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx +++ b/packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx @@ -22,6 +22,7 @@ import { } from 'loot-core/src/shared/transactions'; import { integerToCurrency } from 'loot-core/src/shared/util'; +import { AuthProvider } from '../../auth/AuthProvider'; import { SelectedProviderWithItems } from '../../hooks/useSelected'; import { SplitsExpandedProvider } from '../../hooks/useSplitsExpanded'; import { ResponsiveProvider } from '../responsive/ResponsiveProvider'; @@ -148,31 +149,33 @@ function LiveTransactionTable(props) { return ( <TestProvider> <ResponsiveProvider> - <SpreadsheetProvider> - <SchedulesProvider> - <SelectedProviderWithItems - name="transactions" - items={transactions} - fetchAllIds={() => transactions.map(t => t.id)} - > - <SplitsExpandedProvider> - <TransactionTable - {...props} - transactions={transactions} - loadMoreTransactions={() => {}} - commonPayees={[]} - payees={payees} - addNotification={n => console.log(n)} - onSave={onSave} - onSplit={onSplit} - onAdd={onAdd} - onAddSplit={onAddSplit} - onCreatePayee={onCreatePayee} - /> - </SplitsExpandedProvider> - </SelectedProviderWithItems> - </SchedulesProvider> - </SpreadsheetProvider> + <AuthProvider> + <SpreadsheetProvider> + <SchedulesProvider> + <SelectedProviderWithItems + name="transactions" + items={transactions} + fetchAllIds={() => transactions.map(t => t.id)} + > + <SplitsExpandedProvider> + <TransactionTable + {...props} + transactions={transactions} + loadMoreTransactions={() => {}} + commonPayees={[]} + payees={payees} + addNotification={n => console.log(n)} + onSave={onSave} + onSplit={onSplit} + onAdd={onAdd} + onAddSplit={onAddSplit} + onCreatePayee={onCreatePayee} + /> + </SplitsExpandedProvider> + </SelectedProviderWithItems> + </SchedulesProvider> + </SpreadsheetProvider> + </AuthProvider> </ResponsiveProvider> </TestProvider> ); diff --git a/packages/desktop-client/src/hooks/useFeatureFlag.ts b/packages/desktop-client/src/hooks/useFeatureFlag.ts index f1883a8649b..7b8b2e27f33 100644 --- a/packages/desktop-client/src/hooks/useFeatureFlag.ts +++ b/packages/desktop-client/src/hooks/useFeatureFlag.ts @@ -7,6 +7,7 @@ const DEFAULT_FEATURE_FLAG_STATE: Record<FeatureFlag, boolean> = { actionTemplating: false, upcomingLengthAdjustment: false, contextMenus: false, + openidAuth: false, }; export function useFeatureFlag(name: FeatureFlag): boolean { diff --git a/packages/desktop-client/src/hooks/useSyncServerStatus.ts b/packages/desktop-client/src/hooks/useSyncServerStatus.ts index ae5108a82ce..f9a2351d3fd 100644 --- a/packages/desktop-client/src/hooks/useSyncServerStatus.ts +++ b/packages/desktop-client/src/hooks/useSyncServerStatus.ts @@ -14,5 +14,5 @@ export function useSyncServerStatus(): SyncServerStatus { return 'no-server'; } - return !userData || userData.offline ? 'offline' : 'online'; + return !userData || userData?.offline ? 'offline' : 'online'; } diff --git a/packages/desktop-client/src/icons/v1/Role.tsx b/packages/desktop-client/src/icons/v1/Role.tsx new file mode 100644 index 00000000000..444c8a20fa4 --- /dev/null +++ b/packages/desktop-client/src/icons/v1/Role.tsx @@ -0,0 +1,20 @@ +import * as React from 'react'; +import type { SVGProps } from 'react'; +export const SvgRole = (props: SVGProps<SVGSVGElement>) => ( + <svg + {...props} + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 24 24" + style={{ + color: 'inherit', + ...props.style, + }} + > + <g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> + <circle cx="12" cy="8" r="4"/> + <path d="M5.5 21a8.5 8.5 0 0 1 13 0"/> + <path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/> + <circle cx="12" cy="12" r="3"/> + </g> + </svg> +); diff --git a/packages/desktop-client/src/icons/v1/role.svg b/packages/desktop-client/src/icons/v1/role.svg new file mode 100644 index 00000000000..344454889cd --- /dev/null +++ b/packages/desktop-client/src/icons/v1/role.svg @@ -0,0 +1,8 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"> + <g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> + <circle cx="12" cy="8" r="4"/> + <path d="M5.5 21a8.5 8.5 0 0 1 13 0"/> + <path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/> + <circle cx="12" cy="12" r="3"/> + </g> +</svg> diff --git a/packages/desktop-client/src/index.tsx b/packages/desktop-client/src/index.tsx index 8d3e585a1c4..296e6f07ee1 100644 --- a/packages/desktop-client/src/index.tsx +++ b/packages/desktop-client/src/index.tsx @@ -27,6 +27,7 @@ import { initialState as initialAppState } from 'loot-core/src/client/reducers/a import { send } from 'loot-core/src/platform/client/fetch'; import { q } from 'loot-core/src/shared/query'; +import { AuthProvider } from './auth/AuthProvider'; import { App } from './components/App'; import { ServerProvider } from './components/ServerContext'; import { handleGlobalEvents } from './global-events'; @@ -104,7 +105,9 @@ const root = createRoot(container); root.render( <Provider store={store}> <ServerProvider> - <App /> + <AuthProvider> + <App /> + </AuthProvider> </ServerProvider> </Provider>, ); diff --git a/packages/desktop-client/vite.config.mts b/packages/desktop-client/vite.config.mts index b61316d3b36..917e93ee37b 100644 --- a/packages/desktop-client/vite.config.mts +++ b/packages/desktop-client/vite.config.mts @@ -158,6 +158,13 @@ export default defineConfig(async ({ mode }) => { '**/*.{js,css,html,txt,wasm,sql,sqlite,ico,png,woff2,webmanifest}', ], ignoreURLParametersMatching: [/^v$/], + navigateFallback: '/index.html', + navigateFallbackDenylist: [ + /^\/account\/.*$/, + /^\/admin\/.*$/, + /^\/secret\/.*$/, + /^\/openid\/.*$/, + ], }, }), injectShims(), diff --git a/packages/loot-core/src/client/reducers/budgets.ts b/packages/loot-core/src/client/reducers/budgets.ts index 9465fa0bda6..70d9f535f11 100644 --- a/packages/loot-core/src/client/reducers/budgets.ts +++ b/packages/loot-core/src/client/reducers/budgets.ts @@ -48,6 +48,7 @@ function reconcileFiles( deleted: false, state: 'unknown', hasKey: true, + owner: '', }; } @@ -66,6 +67,8 @@ function reconcileFiles( encryptKeyId: remote.encryptKeyId, hasKey: remote.hasKey, state: 'synced', + owner: remote.owner, + usersWithAccess: remote.usersWithAccess, }; } else { return { @@ -77,6 +80,8 @@ function reconcileFiles( encryptKeyId: remote.encryptKeyId, hasKey: remote.hasKey, state: 'detached', + owner: remote.owner, + usersWithAccess: remote.usersWithAccess, }; } } else { @@ -87,6 +92,7 @@ function reconcileFiles( deleted: false, state: 'broken', hasKey: true, + owner: '', }; } } else { @@ -108,6 +114,8 @@ function reconcileFiles( encryptKeyId: f.encryptKeyId, hasKey: f.hasKey, state: 'remote', + owner: f.owner, + usersWithAccess: f.usersWithAccess, }; }), ) diff --git a/packages/loot-core/src/client/shared-listeners.ts b/packages/loot-core/src/client/shared-listeners.ts index 93f56d15cc1..eb970fe6026 100644 --- a/packages/loot-core/src/client/shared-listeners.ts +++ b/packages/loot-core/src/client/shared-listeners.ts @@ -276,6 +276,18 @@ export function listenForSyncEvent(actions, store) { case 'network': // Show nothing break; + case 'token-expired': + notif = { + title: 'Login expired', + message: 'Please login again.', + sticky: true, + id: 'login-expired', + button: { + title: 'Go to login', + action: () => actions.signOut(), + }, + }; + break; default: console.trace('unknown error', info); notif = { diff --git a/packages/loot-core/src/client/state-types/modals.d.ts b/packages/loot-core/src/client/state-types/modals.d.ts index 11450cf4775..b0bfc8ab46b 100644 --- a/packages/loot-core/src/client/state-types/modals.d.ts +++ b/packages/loot-core/src/client/state-types/modals.d.ts @@ -8,6 +8,8 @@ import type { TransactionEntity, } from '../../types/models'; import type { NewRuleEntity, RuleEntity } from '../../types/models/rule'; +import { type NewUserEntity, type UserEntity } from '../../types/models/user'; +import { type UserAccessEntity } from '../../types/models/userAccess'; import type { EmptyObject, StripNever } from '../../types/util'; import type * as constants from '../constants'; export type ModalType = keyof FinanceModals; @@ -281,6 +283,23 @@ type FinanceModals = { message?: string; onConfirm: () => void; }; + 'edit-user': { + user: UserEntity | NewUserEntity; + onSave: (rule: UserEntity) => void; + }; + 'edit-access': { + access: UserAccessEntity | NewUserAccessEntity; + onSave: (rule: UserEntity) => void; + }; + 'transfer-ownership': { + onSave: () => void; + }; + 'enable-openid': { + onSave: () => void; + }; + 'enable-password-auth': { + onSave: () => void; + }; 'confirm-unlink-account': { accountName: string; onUnlink: () => void; diff --git a/packages/loot-core/src/server/admin/app.ts b/packages/loot-core/src/server/admin/app.ts new file mode 100644 index 00000000000..0eee9f0212e --- /dev/null +++ b/packages/loot-core/src/server/admin/app.ts @@ -0,0 +1,241 @@ +// @ts-strict-ignore +import * as asyncStorage from '../../platform/server/asyncStorage'; +import { UserAvailable, UserEntity } from '../../types/models/user'; +import { UserAccessEntity } from '../../types/models/userAccess'; +import { createApp } from '../app'; +import { del, get, patch, post } from '../post'; +import { getServer } from '../server-config'; + +import { AdminHandlers } from './types/handlers'; + +// Expose functions to the client +export const app = createApp<AdminHandlers>(); + +app.method('user-delete-all', async function (ids) { + const userToken = await asyncStorage.getItem('user-token'); + if (userToken) { + try { + const res = await del(getServer().BASE_SERVER + '/admin/users', { + token: userToken, + ids, + }); + + if (res) { + return res; + } + } catch (err) { + return { error: err.reason }; + } + } + + return { someDeletionsFailed: true }; +}); + +app.method('users-get', async function () { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + const res = await get(getServer().BASE_SERVER + '/admin/users/', { + headers: { + 'X-ACTUAL-TOKEN': userToken, + }, + }); + + if (res) { + const list = JSON.parse(res) as UserEntity[]; + return list; + } + } + + return null; +}); + +app.method('users-get-access', async function (fileIds) { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + const res = await post( + getServer().BASE_SERVER + '/admin/access/get-bulk', + fileIds, + { + 'X-ACTUAL-TOKEN': userToken, + }, + ); + + if (res) { + return new Map<string, UserAccessEntity[]>(res); + } + } + + return null; +}); + +app.method('user-add', async function (user) { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + try { + const res = await post(getServer().BASE_SERVER + '/admin/users/', user, { + 'X-ACTUAL-TOKEN': userToken, + }); + + return res as UserEntity; + } catch (err) { + return { error: err.reason }; + } + } + + return null; +}); + +app.method('user-update', async function (user) { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + try { + const res = await patch(getServer().BASE_SERVER + '/admin/users/', user, { + 'X-ACTUAL-TOKEN': userToken, + }); + + return res as UserEntity; + } catch (err) { + return { error: err.reason }; + } + } + + return null; +}); + +app.method('access-get', async function (fileId) { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + const res = await get( + `${getServer().BASE_SERVER + '/admin/access/'}?fileId=${fileId}`, + { + headers: { + 'X-ACTUAL-TOKEN': userToken, + }, + }, + ); + + if (res) { + return JSON.parse(res) as UserAccessEntity[]; + } + } + + return []; +}); + +app.method('access-add', async function (access) { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + try { + await post(getServer().BASE_SERVER + '/admin/access/', access, { + 'X-ACTUAL-TOKEN': userToken, + }); + + return {}; + } catch (err) { + return { error: err.reason }; + } + } + + return null; +}); + +app.method('access-delete-all', async function ({ fileId, ids }) { + const userToken = await asyncStorage.getItem('user-token'); + if (userToken) { + try { + const res = await del( + getServer().BASE_SERVER + `/admin/access?fileId=${fileId}`, + { + token: userToken, + ids, + }, + ); + + if (res) { + return res; + } + } catch (err) { + return { error: err.reason }; + } + } + + return { someDeletionsFailed: true }; +}); + +app.method('access-get-available-users', async function (fileId) { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + const res = await get( + `${getServer().BASE_SERVER + '/admin/access/users'}?fileId=${fileId}`, + { + headers: { + 'X-ACTUAL-TOKEN': userToken, + }, + }, + ); + + if (res) { + return JSON.parse(res) as UserAvailable[]; + } + } + + return []; +}); + +app.method('transfer-ownership', async function ({ fileId, newUserId }) { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + try { + await post( + getServer().BASE_SERVER + '/admin/access/transfer-ownership/', + { fileId, newUserId }, + { + 'X-ACTUAL-TOKEN': userToken, + }, + ); + } catch (err) { + return { error: err.reason }; + } + } + + return {}; +}); + +app.method('file-owner-get', async function (fileId) { + const userToken = await asyncStorage.getItem('user-token'); + + if (userToken) { + const res = await get( + `${getServer().BASE_SERVER + '/admin/file/owner'}?fileId=${fileId}`, + { + headers: { + 'X-ACTUAL-TOKEN': userToken, + }, + }, + ); + + if (res) { + return JSON.parse(res) as UserEntity; + } + } + + return null; +}); + +app.method('owner-created', async function () { + const res = await get(getServer().BASE_SERVER + '/admin/owner-created/'); + + if (res) { + return JSON.parse(res) as boolean; + } + + return null; +}); diff --git a/packages/loot-core/src/server/admin/types/handlers.ts b/packages/loot-core/src/server/admin/types/handlers.ts new file mode 100644 index 00000000000..8f84cd30d94 --- /dev/null +++ b/packages/loot-core/src/server/admin/types/handlers.ts @@ -0,0 +1,53 @@ +import { UserAvailable, UserEntity } from '../../../types/models/user'; +import { + NewUserAccessEntity, + UserAccessEntity, +} from '../../../types/models/userAccess'; + +export interface AdminHandlers { + 'users-get': () => Promise<UserEntity[] | null>; + + 'users-get-access': ( + fileIds: string[], + ) => Promise<Map<string, UserAccessEntity[]> | null>; + + 'user-delete-all': ( + ids: string[], + ) => Promise<{ someDeletionsFailed: boolean; ids?: number[] }>; + + 'user-add': ( + user: Omit<UserEntity, 'id'>, + ) => Promise<{ error?: string } | { id: string }>; + + 'user-update': ( + user: Omit<UserEntity, 'id'>, + ) => Promise<{ error?: string } | { id: string }>; + + 'access-add': ( + user: NewUserAccessEntity, + ) => Promise<{ error?: string } | Record<string, never>>; + + 'access-delete-all': ({ + fileId, + ids, + }: { + fileId: string; + ids: string[]; + }) => Promise<{ someDeletionsFailed: boolean; ids?: number[] }>; + + 'access-get': (fileId: string) => Promise<UserAccessEntity[]>; + + 'access-get-available-users': (fileId: string) => Promise<UserAvailable[]>; + + 'transfer-ownership': ({ + fileId, + newUserId, + }: { + fileId: string; + newUserId: string; + }) => Promise<{ error?: string } | Record<string, never>>; + + 'file-owner-get': (fileId: string) => Promise<UserEntity | null>; + + 'owner-created': () => Promise<boolean>; +} diff --git a/packages/loot-core/src/server/api-models.ts b/packages/loot-core/src/server/api-models.ts index ebd68e8d47f..b6923bcc832 100644 --- a/packages/loot-core/src/server/api-models.ts +++ b/packages/loot-core/src/server/api-models.ts @@ -135,6 +135,8 @@ export const remoteFileModel = { name: file.name, encryptKeyId: file.encryptKeyId, hasKey: file.hasKey, + owner: file.owner, + usersWithAccess: file.usersWithAccess, }; }, diff --git a/packages/loot-core/src/server/cloud-storage.ts b/packages/loot-core/src/server/cloud-storage.ts index 010dbd019d0..48a367c925e 100644 --- a/packages/loot-core/src/server/cloud-storage.ts +++ b/packages/loot-core/src/server/cloud-storage.ts @@ -22,6 +22,12 @@ import { getServer } from './server-config'; const UPLOAD_FREQUENCY_IN_DAYS = 7; +export interface UsersWithAccess { + userId: string; + userName: string; + displayName: string; + owner: boolean; +} export interface RemoteFile { deleted: boolean; fileId: string; @@ -29,6 +35,8 @@ export interface RemoteFile { name: string; encryptKeyId: string; hasKey: boolean; + owner: string; + usersWithAccess: UsersWithAccess[]; } async function checkHTTPStatus(res) { @@ -36,6 +44,12 @@ async function checkHTTPStatus(res) { return res.text().then(str => { throw new HTTPError(res.status, str); }); + } else if (res.status === 403) { + const data = JSON.parse(res.text())?.data; + if (data && data.reason === 'token-expired') { + asyncStorage.removeItem('user-token'); + window.location.href = '/'; + } } else { return res; } @@ -375,6 +389,38 @@ export async function listRemoteFiles(): Promise<RemoteFile[] | null> { })); } +export async function getRemoteFile( + fileId: string, +): Promise<RemoteFile | null> { + const userToken = await asyncStorage.getItem('user-token'); + if (!userToken) { + return null; + } + + let res; + try { + res = await fetchJSON(getServer().SYNC_SERVER + '/get-user-file-info', { + headers: { + 'X-ACTUAL-TOKEN': userToken, + 'X-ACTUAL-FILE-ID': fileId, + }, + }); + } catch (e) { + console.log('Unexpected error fetching file from server', e); + return null; + } + + if (res.status === 'error') { + console.log('Error fetching file from server', res); + return null; + } + + return { + ...res.data, + hasKey: encryption.hasKey(res.data.encryptKeyId), + }; +} + export async function download(fileId) { const userToken = await asyncStorage.getItem('user-token'); const syncServer = getServer().SYNC_SERVER; diff --git a/packages/loot-core/src/server/main.ts b/packages/loot-core/src/server/main.ts index aadde848273..3228c301996 100644 --- a/packages/loot-core/src/server/main.ts +++ b/packages/loot-core/src/server/main.ts @@ -19,6 +19,7 @@ import { q, Query } from '../shared/query'; import { amountToInteger, stringToInteger } from '../shared/util'; import { type Budget } from '../types/budget'; import { Handlers } from '../types/handlers'; +import { OpenIdConfig } from '../types/models/openid'; import { exportToCSV, exportQueryToCSV } from './accounts/export-to-csv'; import * as link from './accounts/link'; @@ -27,6 +28,7 @@ import { getStartingBalancePayee } from './accounts/payees'; import * as bankSync from './accounts/sync'; import * as rules from './accounts/transaction-rules'; import { batchUpdateTransactions } from './accounts/transactions'; +import { app as adminApp } from './admin/app'; import { installAPI } from './api'; import { runQuery as aqlQuery } from './aql'; import { @@ -876,8 +878,7 @@ handlers['secret-set'] = async function ({ name, value }) { }, ); } catch (error) { - console.error(error); - return { error: 'failed' }; + return { error: 'failed', reason: error.reason }; } }; @@ -1553,22 +1554,35 @@ handlers['subscribe-needs-bootstrap'] = async function ({ return { bootstrapped: res.data.bootstrapped, - loginMethod: res.data.loginMethod || 'password', + loginMethods: res.data.loginMethods || [ + { method: 'password', active: true, displayName: 'Password' }, + ], + multiuser: res.data.multiuser || false, hasServer: true, }; }; -handlers['subscribe-bootstrap'] = async function ({ password }) { +handlers['subscribe-bootstrap'] = async function (loginConfig) { + try { + await post(getServer().SIGNUP_SERVER + '/bootstrap', loginConfig); + } catch (err) { + return { error: err.reason || 'network-failure' }; + } + return {}; +}; + +handlers['subscribe-get-login-methods'] = async function () { let res; try { - res = await post(getServer().SIGNUP_SERVER + '/bootstrap', { password }); + res = await fetch(getServer().SIGNUP_SERVER + '/login-methods').then(res => + res.json(), + ); } catch (err) { return { error: err.reason || 'network-failure' }; } - if (res.token) { - await asyncStorage.setItem('user-token', res.token); - return {}; + if (res.methods) { + return { methods: res.methods }; } return { error: 'internal' }; }; @@ -1593,16 +1607,38 @@ handlers['subscribe-get-user'] = async function () { 'X-ACTUAL-TOKEN': userToken, }, }); - const { status, reason } = JSON.parse(res); + let tokenExpired = false; + const { + status, + reason, + data: { + userName = null, + permission = '', + userId = null, + displayName = null, + loginMethod = null, + } = {}, + } = JSON.parse(res) || {}; if (status === 'error') { if (reason === 'unauthorized') { return null; + } else if (reason === 'token-expired') { + tokenExpired = true; + } else { + return { offline: true }; } - return { offline: true }; } - return { offline: false }; + return { + offline: false, + userName, + permission, + userId, + displayName, + loginMethod, + tokenExpired, + }; } catch (e) { console.log(e); return { offline: true }; @@ -1627,21 +1663,25 @@ handlers['subscribe-change-password'] = async function ({ password }) { return {}; }; -handlers['subscribe-sign-in'] = async function ({ password, loginMethod }) { - if (typeof loginMethod !== 'string' || loginMethod == null) { - loginMethod = 'password'; +handlers['subscribe-sign-in'] = async function (loginInfo) { + if ( + typeof loginInfo.loginMethod !== 'string' || + loginInfo.loginMethod == null + ) { + loginInfo.loginMethod = 'password'; } let res; try { - res = await post(getServer().SIGNUP_SERVER + '/login', { - loginMethod, - password, - }); + res = await post(getServer().SIGNUP_SERVER + '/login', loginInfo); } catch (err) { return { error: err.reason || 'network-failure' }; } + if (res.redirect_url) { + return { redirect_url: res.redirect_url }; + } + if (!res.token) { throw new Error('login: User token not set'); } @@ -1661,6 +1701,10 @@ handlers['subscribe-sign-out'] = async function () { return 'ok'; }; +handlers['subscribe-set-token'] = async function ({ token }) { + await asyncStorage.setItem('user-token', token); +}; + handlers['get-server-version'] = async function () { if (!getServer()) { return { error: 'no-server' }; @@ -1737,6 +1781,7 @@ handlers['get-budgets'] = async function () { ? { encryptKeyId: prefs.encryptKeyId } : {}), ...(prefs.groupId ? { groupId: prefs.groupId } : {}), + ...(prefs.owner ? { owner: prefs.owner } : {}), name: prefs.budgetName || '(no name)', } satisfies Budget; } @@ -1754,6 +1799,10 @@ handlers['get-remote-files'] = async function () { return cloudStorage.listRemoteFiles(); }; +handlers['get-user-file-info'] = async function (fileId: string) { + return cloudStorage.getRemoteFile(fileId); +}; + handlers['reset-budget-cache'] = mutator(async function () { // Recomputing everything will update the cache await sheet.loadUserBudgets(db); @@ -1993,6 +2042,50 @@ handlers['export-budget'] = async function () { } }; +handlers['enable-openid'] = async function (loginConfig) { + try { + const userToken = await asyncStorage.getItem('user-token'); + + if (!userToken) { + return { error: 'unauthorized' }; + } + + await post(getServer().BASE_SERVER + '/openid/enable', loginConfig, { + 'X-ACTUAL-TOKEN': userToken, + }); + } catch (err) { + return { error: err.reason || 'network-failure' }; + } + return {}; +}; + +handlers['enable-password'] = async function (loginConfig) { + try { + const userToken = await asyncStorage.getItem('user-token'); + + if (!userToken) { + return { error: 'unauthorized' }; + } + + await post(getServer().BASE_SERVER + '/openid/disable', loginConfig, { + 'X-ACTUAL-TOKEN': userToken, + }); + } catch (err) { + return { error: err.reason || 'network-failure' }; + } + return {}; +}; + +handlers['get-openid-config'] = async function () { + const res = await get(getServer().BASE_SERVER + '/openid/config'); + + if (res) { + return JSON.parse(res) as OpenIdConfig; + } + + return {}; +}; + async function loadBudget(id) { let dir; try { @@ -2181,6 +2274,7 @@ app.combine( filtersApp, reportsApp, rulesApp, + adminApp, ); function getDefaultDocumentDir() { diff --git a/packages/loot-core/src/server/post.ts b/packages/loot-core/src/server/post.ts index 1fa28cd22a0..b521d87a147 100644 --- a/packages/loot-core/src/server/post.ts +++ b/packages/loot-core/src/server/post.ts @@ -80,6 +80,102 @@ export async function post(url, data, headers = {}, timeout = null) { return res.data; } +export async function del(url, data, headers = {}, timeout = null) { + let text; + let res; + + try { + const controller = new AbortController(); + const timeoutId = setTimeout(() => controller.abort(), timeout); + const signal = timeout ? controller.signal : null; + res = await fetch(url, { + method: 'DELETE', + body: JSON.stringify(data), + signal, + headers: { + ...headers, + 'Content-Type': 'application/json', + }, + }); + clearTimeout(timeoutId); + text = await res.text(); + } catch (err) { + throw new PostError('network-failure'); + } + + throwIfNot200(res, text); + + try { + res = JSON.parse(text); + } catch (err) { + // Something seriously went wrong. TODO handle errors + throw new PostError('parse-json', { meta: text }); + } + + if (res.status !== 'ok') { + console.log( + 'API call failed: ' + + url + + '\nData: ' + + JSON.stringify(data, null, 2) + + '\nResponse: ' + + JSON.stringify(res, null, 2), + ); + + throw new PostError(res.description || res.reason || 'unknown'); + } + + return res.data; +} + +export async function patch(url, data, headers = {}, timeout = null) { + let text; + let res; + + try { + const controller = new AbortController(); + const timeoutId = setTimeout(() => controller.abort(), timeout); + const signal = timeout ? controller.signal : null; + res = await fetch(url, { + method: 'PATCH', + body: JSON.stringify(data), + signal, + headers: { + ...headers, + 'Content-Type': 'application/json', + }, + }); + clearTimeout(timeoutId); + text = await res.text(); + } catch (err) { + throw new PostError('network-failure'); + } + + throwIfNot200(res, text); + + try { + res = JSON.parse(text); + } catch (err) { + // Something seriously went wrong. TODO handle errors + throw new PostError('parse-json', { meta: text }); + } + + if (res.status !== 'ok') { + console.log( + 'API call failed: ' + + url + + '\nData: ' + + JSON.stringify(data, null, 2) + + '\nResponse: ' + + JSON.stringify(res, null, 2), + ); + + throw new PostError(res.description || res.reason || 'unknown'); + } + + return res.data; +} + export async function postBinary(url, data, headers) { let res; try { diff --git a/packages/loot-core/src/shared/errors.ts b/packages/loot-core/src/shared/errors.ts index 0dffe54f229..7af3079e89f 100644 --- a/packages/loot-core/src/shared/errors.ts +++ b/packages/loot-core/src/shared/errors.ts @@ -123,3 +123,46 @@ export class LazyLoadFailedError extends Error { this.cause = cause; } } + +export function getUserAccessErrors(reason: string) { + switch (reason) { + case 'unauthorized': + return 'You are not logged in.'; + case 'token-expired': + return 'Login expired, please login again.'; + case 'user-cant-be-empty': + return 'Please select a user.'; + case 'invalid-file-id': + return 'This file is invalid.'; + case 'file-denied': + return `You don't have permissions over this file.`; + case 'user-already-have-access': + return `User already have access.`; + default: + return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`; + } +} + +export function getSecretsError(error: string, reason: string) { + switch (reason) { + case 'unauthorized': + return 'You are not logged in.'; + case 'not-admin': + return 'You have to be admin to set secrets'; + default: + return error; + } +} + +export function getOpenIdErrors(reason: string) { + switch (reason) { + case 'unauthorized': + return 'You are not logged in.'; + case 'configuration-error': + return 'This configuration is not valid. Please check it again.'; + case 'unable-to-change-file-config-enabled': + return 'Unable to enable OpenID. Please update the config.json file in this case.'; + default: + return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`; + } +} diff --git a/packages/loot-core/src/types/budget.d.ts b/packages/loot-core/src/types/budget.d.ts index 5d8e394fdb4..321ed41a69c 100644 --- a/packages/loot-core/src/types/budget.d.ts +++ b/packages/loot-core/src/types/budget.d.ts @@ -4,4 +4,5 @@ export type Budget = { encryptKeyId?: string; groupId?: string; name: string; + owner?: string; }; diff --git a/packages/loot-core/src/types/file.d.ts b/packages/loot-core/src/types/file.d.ts index e9db42f96fe..27bf6c051bb 100644 --- a/packages/loot-core/src/types/file.d.ts +++ b/packages/loot-core/src/types/file.d.ts @@ -1,3 +1,5 @@ +import { UsersWithAccess } from '../server/cloud-storage'; + import { Budget } from './budget'; export type FileState = @@ -18,6 +20,7 @@ export type SyncableLocalFile = Budget & { groupId: string; state: 'broken' | 'unknown'; hasKey: boolean; + owner: string; }; export type SyncedLocalFile = Budget & { @@ -26,6 +29,8 @@ export type SyncedLocalFile = Budget & { encryptKeyId?: string; hasKey: boolean; state: 'synced' | 'detached'; + owner: string; + usersWithAccess: UsersWithAccess[]; }; export type RemoteFile = { @@ -35,6 +40,8 @@ export type RemoteFile = { encryptKeyId?: string; hasKey: boolean; state: 'remote'; + owner: string; + usersWithAccess: UsersWithAccess[]; }; export type File = LocalFile | SyncableLocalFile | SyncedLocalFile | RemoteFile; diff --git a/packages/loot-core/src/types/handlers.d.ts b/packages/loot-core/src/types/handlers.d.ts index ef880e2515b..cf5b2c1bec8 100644 --- a/packages/loot-core/src/types/handlers.d.ts +++ b/packages/loot-core/src/types/handlers.d.ts @@ -1,3 +1,4 @@ +import type { AdminHandlers } from '../server/admin/types/handlers'; import type { BudgetHandlers } from '../server/budget/types/handlers'; import type { DashboardHandlers } from '../server/dashboard/types/handlers'; import type { FiltersHandlers } from '../server/filters/types/handlers'; @@ -22,6 +23,7 @@ export interface Handlers ReportsHandlers, RulesHandlers, SchedulesHandlers, + AdminHandlers, ToolsHandlers {} export type HandlerFunctions = Handlers[keyof Handlers]; diff --git a/packages/loot-core/src/types/models/index.d.ts b/packages/loot-core/src/types/models/index.d.ts index b4ba56346c7..543ca5eca11 100644 --- a/packages/loot-core/src/types/models/index.d.ts +++ b/packages/loot-core/src/types/models/index.d.ts @@ -12,3 +12,4 @@ export type * from './rule'; export type * from './schedule'; export type * from './transaction'; export type * from './transaction-filter'; +export type * from './user'; diff --git a/packages/loot-core/src/types/models/openid.d.ts b/packages/loot-core/src/types/models/openid.d.ts new file mode 100644 index 00000000000..3d357bedf10 --- /dev/null +++ b/packages/loot-core/src/types/models/openid.d.ts @@ -0,0 +1,7 @@ +export type OpenIdConfig = { + selectedProvider: string; + issuer: string; + client_id: string; + client_secret: string; + server_hostname: string; +}; diff --git a/packages/loot-core/src/types/models/user.ts b/packages/loot-core/src/types/models/user.ts new file mode 100644 index 00000000000..43b85030d0e --- /dev/null +++ b/packages/loot-core/src/types/models/user.ts @@ -0,0 +1,30 @@ +export interface NewUserEntity { + userName: string; + displayName: string; + role: string; + enabled: boolean; +} + +export interface UserEntity extends NewUserEntity { + id: string; + owner: boolean; +} + +export interface UserEntityDropdown { + userId: string; + userName: string; + displayName?: string; +} + +export interface UserAvailable { + userId: string; + displayName?: string; + userName: string; + haveAccess?: number; + owner?: number; +} + +export const PossibleRoles = { + ADMIN: 'Admin', + BASIC: 'Basic', +}; diff --git a/packages/loot-core/src/types/models/userAccess.ts b/packages/loot-core/src/types/models/userAccess.ts new file mode 100644 index 00000000000..a1fdb2508e5 --- /dev/null +++ b/packages/loot-core/src/types/models/userAccess.ts @@ -0,0 +1,10 @@ +export interface NewUserAccessEntity { + fileId: string; + userId: string; +} + +export interface UserAccessEntity extends NewUserAccessEntity { + displayName: string; + userName: string; + fileName: string; +} diff --git a/packages/loot-core/src/types/prefs.d.ts b/packages/loot-core/src/types/prefs.d.ts index 6c54362a90d..97610ce05d8 100644 --- a/packages/loot-core/src/types/prefs.d.ts +++ b/packages/loot-core/src/types/prefs.d.ts @@ -2,7 +2,8 @@ export type FeatureFlag = | 'goalTemplatesEnabled' | 'actionTemplating' | 'upcomingLengthAdjustment' - | 'contextMenus'; + | 'contextMenus' + | 'openidAuth'; /** * Cross-device preferences. These sync across devices when they are changed. @@ -81,3 +82,5 @@ export type GlobalPrefs = Partial<{ documentDir: string; // Electron only serverSelfSignedCert: string; // Electron only }>; + +export type AuthMethods = 'password' | 'openid'; diff --git a/packages/loot-core/src/types/server-handlers.d.ts b/packages/loot-core/src/types/server-handlers.d.ts index 4afbc72a3e8..bba1a78026c 100644 --- a/packages/loot-core/src/types/server-handlers.d.ts +++ b/packages/loot-core/src/types/server-handlers.d.ts @@ -17,6 +17,7 @@ import { RuleEntity, PayeeEntity, } from './models'; +import { OpenIdConfig } from './models/openid'; import { GlobalPrefs, MetadataPrefs } from './prefs'; import { Query } from './query'; import { EmptyObject } from './util'; @@ -269,27 +270,64 @@ export interface ServerHandlers { 'get-did-bootstrap': () => Promise<boolean>; - 'subscribe-needs-bootstrap': (args: { - url; - }) => Promise< - { error: string } | { bootstrapped: unknown; hasServer: boolean } + 'subscribe-needs-bootstrap': (args: { url }) => Promise< + | { error: string } + | { + bootstrapped: boolean; + hasServer: false; + } + | { + bootstrapped: boolean; + hasServer: true; + loginMethods: { + method: string; + displayName: string; + active: boolean; + }[]; + multiuser: boolean; + } >; - 'subscribe-bootstrap': (arg: { password }) => Promise<{ error?: string }>; + 'subscribe-get-login-methods': () => Promise<{ + methods?: { method: string; displayName: string; active: boolean }[]; + error?: string; + }>; - 'subscribe-get-user': () => Promise<{ offline: boolean } | null>; + 'subscribe-bootstrap': (arg: { + password?: string; + openId?: OpenIdConfig; + }) => Promise<{ error?: string }>; + + 'subscribe-get-user': () => Promise<{ + offline: boolean; + userName?: string; + userId?: string; + displayName?: string; + permission?: string; + loginMethod?: string; + tokenExpired?: boolean; + } | null>; 'subscribe-change-password': (arg: { password; }) => Promise<{ error?: string }>; - 'subscribe-sign-in': (arg: { - password; - loginMethod?: string; - }) => Promise<{ error?: string }>; + 'subscribe-sign-in': ( + arg: + | { + password; + loginMethod?: string; + } + | { + return_url; + loginMethod?: 'openid'; + }, + ) => Promise<{ error?: string }>; 'subscribe-sign-out': () => Promise<'ok'>; + 'subscribe-set-token': (arg: { token: string }) => Promise<void>; + 'get-server-version': () => Promise<{ error?: string } | { version: string }>; 'get-server-url': () => Promise<string | null>; @@ -308,6 +346,8 @@ export interface ServerHandlers { 'get-remote-files': () => Promise<RemoteFile[]>; + 'get-user-file-info': (fileId: string) => Promise<RemoteFile | null>; + 'reset-budget-cache': () => Promise<unknown>; 'upload-budget': (arg: { id }) => Promise<{ error?: string }>; @@ -357,4 +397,14 @@ export interface ServerHandlers { 'get-last-opened-backup': () => Promise<string | null>; 'app-focused': () => Promise<void>; + + 'enable-openid': (arg: { + openId?: OpenIdConfig; + }) => Promise<{ error?: string }>; + + 'enable-password': (arg: { password: string }) => Promise<{ error?: string }>; + + 'get-openid-config': () => Promise<{ + openId?: OpenIdConfig; + }>; } diff --git a/upcoming-release-notes/3878.md b/upcoming-release-notes/3878.md new file mode 100644 index 00000000000..e1b8c807de7 --- /dev/null +++ b/upcoming-release-notes/3878.md @@ -0,0 +1,6 @@ +--- +category: Features +authors: [apilat, lelemm] +--- + +Add support for authentication using OpenID Connect. From 45e855e97c4b3e93cc6cf85af0dc7d9bd40a62cc Mon Sep 17 00:00:00 2001 From: lelemm <lelemm@gmail.com> Date: Fri, 22 Nov 2024 22:15:05 -0300 Subject: [PATCH 02/48] Code rabbit auto generated code applied Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../src/components/modals/EditUser.tsx | 16 ++++++++--- .../components/modals/OpenIDEnableModal.tsx | 18 ++++++++++--- .../components/modals/TransferOwnership.tsx | 20 +++++++++----- .../src/components/settings/AuthSettings.tsx | 2 +- packages/loot-core/src/server/admin/app.ts | 14 +++++++--- .../loot-core/src/server/cloud-storage.ts | 27 +++++++++++++++---- packages/loot-core/src/shared/errors.ts | 14 +++++----- 7 files changed, 82 insertions(+), 29 deletions(-) diff --git a/packages/desktop-client/src/components/modals/EditUser.tsx b/packages/desktop-client/src/components/modals/EditUser.tsx index fa08078fb2e..0963e42eb73 100644 --- a/packages/desktop-client/src/components/modals/EditUser.tsx +++ b/packages/desktop-client/src/components/modals/EditUser.tsx @@ -128,6 +128,14 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { const [error, setError] = useState<string>(''); async function onSave() { + if (!userName.trim()) { + setError('Username is required.'); + return; + } + if (!role) { + setError('Role is required.'); + return; + } const user: User = { ...defaultUser, userName, @@ -145,7 +153,7 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { <Stack direction="row" style={{ marginTop: 10 }}> <FormField style={{ flex: 1 }}> <FormLabel title="Username" htmlFor="name-field" /> - <Input value={userName} onChangeValue={text => setUserName(text)} /> + <Input id="name-field" value={userName} onChangeValue={text => setUserName(text)} /> <label style={{ ...styles.verySmallText, @@ -191,8 +199,9 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { )} <Stack direction="row" style={{ marginTop: 10 }}> <FormField style={{ flex: 1 }}> - <FormLabel title="Display Name" htmlFor="dispalyname-field" /> + <FormLabel title="Display Name" htmlFor="displayname-field" /> <Input + id="displayname-field" value={displayName} onChangeValue={text => setDisplayName(text)} placeholder="(Optional)" @@ -220,8 +229,9 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { </Stack> <Stack direction="row" style={{ marginTop: 10, width: '100px' }}> <FormField style={{ flex: 1 }}> - <FormLabel title="Role" htmlFor="name-field" /> + <FormLabel title="Role" htmlFor="role-field" /> <Select + id="role-field" disabled={defaultUser.owner} options={Object.entries(PossibleRoles)} value={role} diff --git a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx index fae315be3c8..bdacf69d657 100644 --- a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx +++ b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx @@ -27,17 +27,27 @@ export function OpenIDEnableModal({ const { closeBudget } = useActions(); const refreshLoginMethods = useRefreshLoginMethods(); - async function onSave(config: OpenIdConfig) { +async function onSave(config: OpenIdConfig) { + try { const { error } = (await send('enable-openid', { openId: config })) || {}; if (!error) { originalOnSave?.(); - await refreshLoginMethods(); - await asyncStorage.removeItem('user-token'); - await closeBudget(); + try { + await refreshLoginMethods(); + await asyncStorage.removeItem('user-token'); + await closeBudget(); + } catch (e) { + console.error('Failed to cleanup after OpenID enable:', e); + setError('OpenID was enabled but cleanup failed. Please refresh the application.'); + } } else { setError(getOpenIdErrors(error)); } + } catch (e) { + console.error('Failed to enable OpenID:', e); + setError('Failed to enable OpenID. Please try again.'); } +} return ( <Modal name="enable-openid"> diff --git a/packages/desktop-client/src/components/modals/TransferOwnership.tsx b/packages/desktop-client/src/components/modals/TransferOwnership.tsx index 86a83e22e09..7d17c61f1da 100644 --- a/packages/desktop-client/src/components/modals/TransferOwnership.tsx +++ b/packages/desktop-client/src/components/modals/TransferOwnership.tsx @@ -147,16 +147,24 @@ export function TransferOwnership({ <Button style={{ marginRight: 10 }} onPress={actions.popModal}> Cancel </Button> + const [isTransferring, setIsTransferring] = useState(false); + <Button - isDisabled={availableUsers.length === 0} + isDisabled={availableUsers.length === 0 || !userId || isTransferring} onPress={async () => { - await onSave(); - close(); - - await dispatch(closeAndLoadBudget((currentFile as Budget).id)); + setIsTransferring(true); + try { + await onSave(); + await dispatch(closeAndLoadBudget((currentFile as Budget).id)); + close(); + } catch (error) { + console.error('Failed to transfer ownership:', error); + setError('Failed to complete ownership transfer. Please try again.'); + setIsTransferring(false); + } }} > - Transfer ownership + {isTransferring ? 'Transferring...' : 'Transfer ownership'} </Button> </Stack> </> diff --git a/packages/desktop-client/src/components/settings/AuthSettings.tsx b/packages/desktop-client/src/components/settings/AuthSettings.tsx index 7f1307334cf..72ff4f95f44 100644 --- a/packages/desktop-client/src/components/settings/AuthSettings.tsx +++ b/packages/desktop-client/src/components/settings/AuthSettings.tsx @@ -20,7 +20,7 @@ export function AuthSettings() { const openidAuthFeatureFlag = useFeatureFlag('openidAuth'); return ( - <View style={{ display: openidAuthFeatureFlag ? 'visible' : 'none' }}> + <View> {openidAuthFeatureFlag && ( <Setting primaryAction={ diff --git a/packages/loot-core/src/server/admin/app.ts b/packages/loot-core/src/server/admin/app.ts index 0eee9f0212e..6866c3fc144 100644 --- a/packages/loot-core/src/server/admin/app.ts +++ b/packages/loot-core/src/server/admin/app.ts @@ -42,8 +42,12 @@ app.method('users-get', async function () { }); if (res) { - const list = JSON.parse(res) as UserEntity[]; - return list; + try { + const list = JSON.parse(res) as UserEntity[]; + return list; + } catch (err) { + return { error: 'Failed to parse response: ' + err.message }; + } } } @@ -223,7 +227,11 @@ app.method('file-owner-get', async function (fileId) { ); if (res) { - return JSON.parse(res) as UserEntity; + try { + return JSON.parse(res) as UserEntity; + } catch (err) { + return { error: 'Failed to parse response: ' + err.message }; + } } } diff --git a/packages/loot-core/src/server/cloud-storage.ts b/packages/loot-core/src/server/cloud-storage.ts index 48a367c925e..0c93be833d0 100644 --- a/packages/loot-core/src/server/cloud-storage.ts +++ b/packages/loot-core/src/server/cloud-storage.ts @@ -44,12 +44,29 @@ async function checkHTTPStatus(res) { return res.text().then(str => { throw new HTTPError(res.status, str); }); - } else if (res.status === 403) { - const data = JSON.parse(res.text())?.data; - if (data && data.reason === 'token-expired') { - asyncStorage.removeItem('user-token'); - window.location.href = '/'; +async function checkHTTPStatus(res) { + if (res.status !== 200) { + if (res.status === 403) { + try { + const text = await res.text(); + const data = JSON.parse(text)?.data; + if (data?.reason === 'token-expired') { + await asyncStorage.removeItem('user-token'); + // Use a platform-agnostic way to handle redirection + throw new HTTPError(403, 'token-expired'); + } + } catch (e) { + if (e instanceof HTTPError) throw e; + // If JSON parsing fails, proceed with normal error handling + } } + return res.text().then(str => { + throw new HTTPError(res.status, str); + }); + } else { + return res; + } +} } else { return res; } diff --git a/packages/loot-core/src/shared/errors.ts b/packages/loot-core/src/shared/errors.ts index 7af3079e89f..a902235f8ae 100644 --- a/packages/loot-core/src/shared/errors.ts +++ b/packages/loot-core/src/shared/errors.ts @@ -127,19 +127,19 @@ export class LazyLoadFailedError extends Error { export function getUserAccessErrors(reason: string) { switch (reason) { case 'unauthorized': - return 'You are not logged in.'; + return t('You are not logged in.'); case 'token-expired': - return 'Login expired, please login again.'; + return t('Login expired, please login again.'); case 'user-cant-be-empty': - return 'Please select a user.'; + return t('Please select a user.'); case 'invalid-file-id': - return 'This file is invalid.'; + return t('This file is invalid.'); case 'file-denied': - return `You don't have permissions over this file.`; + return t('You don\'t have permissions over this file.'); case 'user-already-have-access': - return `User already have access.`; + return t('User already has access.'); default: - return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`; + return t('An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: {{reason}})', { reason }); } } From 29458e1814a383a0da483f8b57e4d3d660cf3cc0 Mon Sep 17 00:00:00 2001 From: lelemm <lelemm@gmail.com> Date: Fri, 22 Nov 2024 23:00:06 -0300 Subject: [PATCH 03/48] Code rabbit suggestions round 2 Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../desktop-client/src/components/ServerContext.tsx | 10 ++++++++-- .../src/components/admin/UserAccess/UserAccess.tsx | 1 - .../components/admin/UserDirectory/UserDirectory.tsx | 9 +++++++-- .../admin/UserDirectory/UserDirectoryRow.tsx | 4 ++-- .../src/components/manager/BudgetList.tsx | 11 ++++++----- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/packages/desktop-client/src/components/ServerContext.tsx b/packages/desktop-client/src/components/ServerContext.tsx index dd59c14cec4..55a1bb40a33 100644 --- a/packages/desktop-client/src/components/ServerContext.tsx +++ b/packages/desktop-client/src/components/ServerContext.tsx @@ -98,8 +98,14 @@ export function ServerProvider({ children }: { children: ReactNode }) { const refreshLoginMethods = useCallback(async () => { if (serverURL) { - const data = await send('subscribe-get-login-methods'); - setAvailableLoginMethods(data.methods); + try { + const data = await send('subscribe-get-login-methods'); + setAvailableLoginMethods(data.methods); + } catch (error) { + console.error('Failed to refresh login methods:', error); + // Consider setting an error state or showing a notification + setAvailableLoginMethods([]); + } } }, [serverURL]); diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx index 1bb1bbcc56f..e99e267be79 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx @@ -101,7 +101,6 @@ function UserAccessContent({ }, [cloudFileId, setLoading]); const loadOwner = useCallback(async () => { - debugger; const file: Awaited<ReturnType<Handlers['get-user-file-info']>> = (await send('get-user-file-info', cloudFileId as string)) ?? {}; const owner = file?.usersWithAccess.filter(user => user.owner); diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx index fb860546b2f..34b9049acf1 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx @@ -270,7 +270,12 @@ function UserDirectoryContent({ ); } -function EmptyMessage({ text, style }) { +interface EmptyMessageProps { + text: string; + style?: React.CSSProperties; +} + +function EmptyMessage({ text, style }: EmptyMessageProps) { return ( <View style={{ @@ -279,7 +284,7 @@ function EmptyMessage({ text, style }) { fontStyle: 'italic', fontSize: 13, marginTop: 5, - style, + ...style, }} > {text} diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx index f9b6f40ee54..21cad6058cc 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx @@ -113,7 +113,7 @@ export const UserDirectoryRow = memo( </Cell> <Cell - name="enabled" + name="owner" width={100} plain style={{ padding: '0 15px', paddingLeft: 5 }} @@ -130,7 +130,7 @@ export const UserDirectoryRow = memo( <Button style={{ margin: 4, fontSize: 14, color: theme.pageTextLink }} variant="bare" - onPress={() => onEditUser(user)} + onPress={() => onEditUser?.(user)} > Edit </Button> diff --git a/packages/desktop-client/src/components/manager/BudgetList.tsx b/packages/desktop-client/src/components/manager/BudgetList.tsx index dfc2105cbef..52633f48457 100644 --- a/packages/desktop-client/src/components/manager/BudgetList.tsx +++ b/packages/desktop-client/src/components/manager/BudgetList.tsx @@ -293,11 +293,12 @@ function FileItem({ <View style={{ flexDirection: 'row', width: '100%' }}> <Text style={{ fontSize: 16, fontWeight: 700 }}>{file.name}</Text> {multiuserEnabled && ( - <UserAccessForFile - fileId={(file as RemoteFile).cloudFileId} - currentUserId={currentUserId} - /> - )} + {('cloudFileId' in file) && ( + <UserAccessForFile + fileId={file.cloudFileId} + currentUserId={currentUserId} + /> + )} </View> <FileState file={file} currentUserId={currentUserId} /> From 0a7ab2812f1f15fac2a2ae4da270d4d45499a148 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Fri, 22 Nov 2024 23:00:33 -0300 Subject: [PATCH 04/48] fixes from code rabbit round 1 --- .../desktop-client/src/auth/AuthProvider.tsx | 4 +- .../src/auth/ProtectedRoute.tsx | 5 +- .../desktop-client/src/components/App.tsx | 22 +---- .../src/components/LoggedInUser.tsx | 2 +- .../src/components/modals/EditUser.tsx | 6 +- .../components/modals/OpenIDEnableModal.tsx | 38 ++++---- .../components/modals/TransferOwnership.tsx | 87 ++++++++++++------- packages/loot-core/src/server/admin/app.ts | 38 ++------ .../src/server/admin/types/handlers.ts | 4 +- .../loot-core/src/server/cloud-storage.ts | 11 --- packages/loot-core/src/shared/errors.ts | 24 +++-- 11 files changed, 117 insertions(+), 124 deletions(-) diff --git a/packages/desktop-client/src/auth/AuthProvider.tsx b/packages/desktop-client/src/auth/AuthProvider.tsx index cfeea44af3b..6f3a0619717 100644 --- a/packages/desktop-client/src/auth/AuthProvider.tsx +++ b/packages/desktop-client/src/auth/AuthProvider.tsx @@ -4,6 +4,7 @@ import { useSelector } from 'react-redux'; import { type State } from 'loot-core/client/state-types'; import { type Permissions } from './types'; +import { useServerURL } from '../components/ServerContext'; type AuthContextType = { hasPermission: (permission?: Permissions) => boolean; @@ -17,6 +18,7 @@ type AuthProviderProps = { export const AuthProvider = ({ children }: AuthProviderProps) => { const userData = useSelector((state: State) => state.user.data); + const serverUrl = useServerURL(); const hasPermission = (permission?: Permissions) => { if (!permission) { @@ -24,7 +26,7 @@ export const AuthProvider = ({ children }: AuthProviderProps) => { } return ( - (userData?.offline ?? false) || + !serverUrl || userData?.permission?.toUpperCase() === permission?.toUpperCase() ); }; diff --git a/packages/desktop-client/src/auth/ProtectedRoute.tsx b/packages/desktop-client/src/auth/ProtectedRoute.tsx index 73c58fd547c..5dacd055782 100644 --- a/packages/desktop-client/src/auth/ProtectedRoute.tsx +++ b/packages/desktop-client/src/auth/ProtectedRoute.tsx @@ -25,8 +25,9 @@ export const ProtectedRoute = ({ const [cloudFileId] = useMetadataPref('cloudFileId'); const allFiles = useSelector(state => state.budgets.allFiles || []); const remoteFiles = allFiles.filter( - f => f.state === 'remote' || f.state === 'synced' || f.state === 'detached', - ) as (SyncedLocalFile | RemoteFile)[]; + (f): f is SyncedLocalFile | RemoteFile => + f.state === 'remote' || f.state === 'synced' || f.state === 'detached', + ); const currentFile = remoteFiles.find(f => f.cloudFileId === cloudFileId); const userData = useSelector(state => state.user.data); diff --git a/packages/desktop-client/src/components/App.tsx b/packages/desktop-client/src/components/App.tsx index e5f3338e9e5..ef40b616d39 100644 --- a/packages/desktop-client/src/components/App.tsx +++ b/packages/desktop-client/src/components/App.tsx @@ -137,27 +137,7 @@ function AppInner() { message: 'Login expired, please login again.', button: { title: 'Go to login', - action: () => { - signOut(); - }, - }, - }); - } - }, [userData, userData?.tokenExpired]); - - useEffect(() => { - if (userData?.tokenExpired) { - addNotification({ - type: 'error', - id: 'login-expired', - title: 'Login expired', - sticky: true, - message: 'Login expired, please login again.', - button: { - title: 'Go to login', - action: () => { - signOut(); - }, + action: signOut, }, }); } diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index 2aa1adaa42c..171026ee58f 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -68,7 +68,7 @@ export function LoggedInUser({ } else { setIsOwner(false); } - }, [cloudFileId]); + }, [cloudFileId, currentFile, userData]); const handleMenuSelect = async (type: string) => { setMenuOpen(false); diff --git a/packages/desktop-client/src/components/modals/EditUser.tsx b/packages/desktop-client/src/components/modals/EditUser.tsx index 0963e42eb73..2a529739470 100644 --- a/packages/desktop-client/src/components/modals/EditUser.tsx +++ b/packages/desktop-client/src/components/modals/EditUser.tsx @@ -153,7 +153,11 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { <Stack direction="row" style={{ marginTop: 10 }}> <FormField style={{ flex: 1 }}> <FormLabel title="Username" htmlFor="name-field" /> - <Input id="name-field" value={userName} onChangeValue={text => setUserName(text)} /> + <Input + id="name-field" + value={userName} + onChangeValue={text => setUserName(text)} + /> <label style={{ ...styles.verySmallText, diff --git a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx index bdacf69d657..d5997e81226 100644 --- a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx +++ b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx @@ -27,27 +27,29 @@ export function OpenIDEnableModal({ const { closeBudget } = useActions(); const refreshLoginMethods = useRefreshLoginMethods(); -async function onSave(config: OpenIdConfig) { - try { - const { error } = (await send('enable-openid', { openId: config })) || {}; - if (!error) { - originalOnSave?.(); - try { - await refreshLoginMethods(); - await asyncStorage.removeItem('user-token'); - await closeBudget(); - } catch (e) { - console.error('Failed to cleanup after OpenID enable:', e); - setError('OpenID was enabled but cleanup failed. Please refresh the application.'); + async function onSave(config: OpenIdConfig) { + try { + const { error } = (await send('enable-openid', { openId: config })) || {}; + if (!error) { + originalOnSave?.(); + try { + await refreshLoginMethods(); + await asyncStorage.removeItem('user-token'); + await closeBudget(); + } catch (e) { + console.error('Failed to cleanup after OpenID enable:', e); + setError( + 'OpenID was enabled but cleanup failed. Please refresh the application.', + ); + } + } else { + setError(getOpenIdErrors(error)); } - } else { - setError(getOpenIdErrors(error)); + } catch (e) { + console.error('Failed to enable OpenID:', e); + setError('Failed to enable OpenID. Please try again.'); } - } catch (e) { - console.error('Failed to enable OpenID:', e); - setError('Failed to enable OpenID. Please try again.'); } -} return ( <Modal name="enable-openid"> diff --git a/packages/desktop-client/src/components/modals/TransferOwnership.tsx b/packages/desktop-client/src/components/modals/TransferOwnership.tsx index 7d17c61f1da..3511a6ec306 100644 --- a/packages/desktop-client/src/components/modals/TransferOwnership.tsx +++ b/packages/desktop-client/src/components/modals/TransferOwnership.tsx @@ -1,13 +1,15 @@ import { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { closeAndLoadBudget } from 'loot-core/client/actions'; +import { t } from 'i18next'; + +import { addNotification, closeAndLoadBudget } from 'loot-core/client/actions'; import { type State } from 'loot-core/client/state-types'; import { send } from 'loot-core/platform/client/fetch'; import { getUserAccessErrors } from 'loot-core/shared/errors'; import { type Budget } from 'loot-core/types/budget'; import { type RemoteFile, type SyncedLocalFile } from 'loot-core/types/file'; -import { type UserEntity } from 'loot-core/types/models'; +import { type Handlers } from 'loot-core/types/handlers'; import { useActions } from '../../hooks/useActions'; import { useMetadataPref } from '../../hooks/useMetadataPref'; @@ -30,7 +32,7 @@ export function TransferOwnership({ const userData = useSelector((state: State) => state.user.data); const actions = useActions(); const [userId, setUserId] = useState(''); - const [error, setSetError] = useState<string | null>(null); + const [error, setError] = useState<string | null>(null); const [availableUsers, setAvailableUsers] = useState<[string, string][]>([]); const [cloudFileId] = useMetadataPref('cloudFileId'); const allFiles = useSelector(state => state.budgets.allFiles || []); @@ -39,19 +41,35 @@ export function TransferOwnership({ ) as (SyncedLocalFile | RemoteFile)[]; const currentFile = remoteFiles.find(f => f.cloudFileId === cloudFileId); const dispatch = useDispatch(); + const [isTransferring, setIsTransferring] = useState(false); useEffect(() => { - send('users-get').then((users: UserEntity[]) => - setAvailableUsers( - users - .filter(f => currentFile?.owner !== f.id) - .map(user => [ - user.id, - user.displayName - ? `${user.displayName} (${user.userName})` - : user.userName, - ]), - ), + send('users-get').then( + (data: Awaited<ReturnType<Handlers['users-get']>>) => { + if (!data) { + setAvailableUsers([]); + } else if ('error' in data) { + addNotification({ + type: 'error', + title: t('Error getting users'), + message: t( + 'Failed to complete ownership transfer. Please try again.', + ), + sticky: true, + }); + } else { + setAvailableUsers( + data + .filter(f => currentFile?.owner !== f.id) + .map(user => [ + user.id, + user.displayName + ? `${user.displayName} (${user.userName})` + : user.userName, + ]), + ); + } + }, ); }, [userData?.userId, currentFile?.owner]); @@ -65,10 +83,10 @@ export function TransferOwnership({ if (!error) { originalOnSave?.(); } else { - setSetError(getUserAccessErrors(error)); + setError(getUserAccessErrors(error)); } } else { - setSetError('Cloud file ID is missing.'); + setError(t('Cloud file ID is missing.')); } } @@ -77,7 +95,7 @@ export function TransferOwnership({ {({ state: { close } }: { state: { close: () => void } }) => ( <> <ModalHeader - title="Transfer ownership" + title={t('Transfer ownership')} rightContent={<ModalCloseButton onPress={close} />} /> <Stack direction="row" style={{ marginTop: 10 }}> @@ -99,8 +117,9 @@ export function TransferOwnership({ marginTop: 5, }} > - Select a user from the directory to designate as the new - budget owner. + {t( + 'Select a user from the directory to designate as the new budget owner.', + )} </label> <label style={{ @@ -109,8 +128,9 @@ export function TransferOwnership({ marginTop: 5, }} > - This action is irreversible. Only the new owner or an - administrator can reverse it. + {t( + 'This action is irreversible. Only the new owner or an administrator can reverse it.', + )} </label> <label style={{ @@ -119,7 +139,7 @@ export function TransferOwnership({ marginTop: 5, }} > - Proceed with caution. + {t('Proceed with caution.')} </label> </View> )} @@ -131,7 +151,7 @@ export function TransferOwnership({ marginTop: 5, }} > - No users available + {t('No users available')} </Text> )} </FormField> @@ -147,24 +167,33 @@ export function TransferOwnership({ <Button style={{ marginRight: 10 }} onPress={actions.popModal}> Cancel </Button> - const [isTransferring, setIsTransferring] = useState(false); <Button - isDisabled={availableUsers.length === 0 || !userId || isTransferring} + isDisabled={ + availableUsers.length === 0 || !userId || isTransferring + } onPress={async () => { setIsTransferring(true); try { await onSave(); - await dispatch(closeAndLoadBudget((currentFile as Budget).id)); + await dispatch( + closeAndLoadBudget((currentFile as Budget).id), + ); close(); } catch (error) { - console.error('Failed to transfer ownership:', error); - setError('Failed to complete ownership transfer. Please try again.'); + addNotification({ + type: 'error', + title: t('Failed to transfer ownership'), + message: t( + 'Failed to complete ownership transfer. Please try again.', + ), + sticky: true, + }); setIsTransferring(false); } }} > - {isTransferring ? 'Transferring...' : 'Transfer ownership'} + {isTransferring ? t('Transferring...') : t('Transfer ownership')} </Button> </Stack> </> diff --git a/packages/loot-core/src/server/admin/app.ts b/packages/loot-core/src/server/admin/app.ts index 6866c3fc144..73266893500 100644 --- a/packages/loot-core/src/server/admin/app.ts +++ b/packages/loot-core/src/server/admin/app.ts @@ -15,10 +15,15 @@ app.method('user-delete-all', async function (ids) { const userToken = await asyncStorage.getItem('user-token'); if (userToken) { try { - const res = await del(getServer().BASE_SERVER + '/admin/users', { - token: userToken, - ids, - }); + const res = await del( + getServer().BASE_SERVER + '/admin/users', + { + ids, + }, + { + 'X-ACTUAL-TOKEN': userToken, + }, + ); if (res) { return res; @@ -213,31 +218,6 @@ app.method('transfer-ownership', async function ({ fileId, newUserId }) { return {}; }); -app.method('file-owner-get', async function (fileId) { - const userToken = await asyncStorage.getItem('user-token'); - - if (userToken) { - const res = await get( - `${getServer().BASE_SERVER + '/admin/file/owner'}?fileId=${fileId}`, - { - headers: { - 'X-ACTUAL-TOKEN': userToken, - }, - }, - ); - - if (res) { - try { - return JSON.parse(res) as UserEntity; - } catch (err) { - return { error: 'Failed to parse response: ' + err.message }; - } - } - } - - return null; -}); - app.method('owner-created', async function () { const res = await get(getServer().BASE_SERVER + '/admin/owner-created/'); diff --git a/packages/loot-core/src/server/admin/types/handlers.ts b/packages/loot-core/src/server/admin/types/handlers.ts index 8f84cd30d94..e3b642ecdd9 100644 --- a/packages/loot-core/src/server/admin/types/handlers.ts +++ b/packages/loot-core/src/server/admin/types/handlers.ts @@ -5,7 +5,7 @@ import { } from '../../../types/models/userAccess'; export interface AdminHandlers { - 'users-get': () => Promise<UserEntity[] | null>; + 'users-get': () => Promise<UserEntity[] | null | { error: string }>; 'users-get-access': ( fileIds: string[], @@ -47,7 +47,5 @@ export interface AdminHandlers { newUserId: string; }) => Promise<{ error?: string } | Record<string, never>>; - 'file-owner-get': (fileId: string) => Promise<UserEntity | null>; - 'owner-created': () => Promise<boolean>; } diff --git a/packages/loot-core/src/server/cloud-storage.ts b/packages/loot-core/src/server/cloud-storage.ts index 0c93be833d0..c382a60d54a 100644 --- a/packages/loot-core/src/server/cloud-storage.ts +++ b/packages/loot-core/src/server/cloud-storage.ts @@ -39,11 +39,6 @@ export interface RemoteFile { usersWithAccess: UsersWithAccess[]; } -async function checkHTTPStatus(res) { - if (res.status !== 200) { - return res.text().then(str => { - throw new HTTPError(res.status, str); - }); async function checkHTTPStatus(res) { if (res.status !== 200) { if (res.status === 403) { @@ -52,12 +47,10 @@ async function checkHTTPStatus(res) { const data = JSON.parse(text)?.data; if (data?.reason === 'token-expired') { await asyncStorage.removeItem('user-token'); - // Use a platform-agnostic way to handle redirection throw new HTTPError(403, 'token-expired'); } } catch (e) { if (e instanceof HTTPError) throw e; - // If JSON parsing fails, proceed with normal error handling } } return res.text().then(str => { @@ -67,10 +60,6 @@ async function checkHTTPStatus(res) { return res; } } - } else { - return res; - } -} async function fetchJSON(...args: Parameters<typeof fetch>) { let res = await fetch(...args); diff --git a/packages/loot-core/src/shared/errors.ts b/packages/loot-core/src/shared/errors.ts index a902235f8ae..c9a69c937d6 100644 --- a/packages/loot-core/src/shared/errors.ts +++ b/packages/loot-core/src/shared/errors.ts @@ -135,20 +135,23 @@ export function getUserAccessErrors(reason: string) { case 'invalid-file-id': return t('This file is invalid.'); case 'file-denied': - return t('You don\'t have permissions over this file.'); + return t('You don`t have permissions over this file.'); case 'user-already-have-access': return t('User already has access.'); default: - return t('An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: {{reason}})', { reason }); + return t( + 'An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: {{reason}})', + { reason }, + ); } } export function getSecretsError(error: string, reason: string) { switch (reason) { case 'unauthorized': - return 'You are not logged in.'; + return t('You are not logged in.'); case 'not-admin': - return 'You have to be admin to set secrets'; + return t('You have to be admin to set secrets'); default: return error; } @@ -157,12 +160,17 @@ export function getSecretsError(error: string, reason: string) { export function getOpenIdErrors(reason: string) { switch (reason) { case 'unauthorized': - return 'You are not logged in.'; + return t('You are not logged in.'); case 'configuration-error': - return 'This configuration is not valid. Please check it again.'; + return t('This configuration is not valid. Please check it again.'); case 'unable-to-change-file-config-enabled': - return 'Unable to enable OpenID. Please update the config.json file in this case.'; + return t( + 'Unable to enable OpenID. Please update the config.json file in this case.', + ); default: - return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`; + return t( + 'An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: {{reason}})', + { reason }, + ); } } From 161a89d9ac3f421248ef5030b278c703bcc5ae5f Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Fri, 22 Nov 2024 23:21:18 -0300 Subject: [PATCH 05/48] fixes from code rabbit round 2 --- .../desktop-client/src/auth/AuthProvider.tsx | 3 ++- .../src/components/ServerContext.tsx | 19 +++++++++++++----- .../admin/UserDirectory/UserDirectory.tsx | 9 +++++---- .../src/components/manager/BudgetList.tsx | 13 ++++++------ packages/desktop-client/src/icons/v1/Role.tsx | 20 ------------------- packages/desktop-client/src/icons/v1/role.svg | 8 -------- 6 files changed, 27 insertions(+), 45 deletions(-) delete mode 100644 packages/desktop-client/src/icons/v1/Role.tsx delete mode 100644 packages/desktop-client/src/icons/v1/role.svg diff --git a/packages/desktop-client/src/auth/AuthProvider.tsx b/packages/desktop-client/src/auth/AuthProvider.tsx index 6f3a0619717..e0d5903783d 100644 --- a/packages/desktop-client/src/auth/AuthProvider.tsx +++ b/packages/desktop-client/src/auth/AuthProvider.tsx @@ -3,9 +3,10 @@ import { useSelector } from 'react-redux'; import { type State } from 'loot-core/client/state-types'; -import { type Permissions } from './types'; import { useServerURL } from '../components/ServerContext'; +import { type Permissions } from './types'; + type AuthContextType = { hasPermission: (permission?: Permissions) => boolean; }; diff --git a/packages/desktop-client/src/components/ServerContext.tsx b/packages/desktop-client/src/components/ServerContext.tsx index 55a1bb40a33..2b3695d2c7d 100644 --- a/packages/desktop-client/src/components/ServerContext.tsx +++ b/packages/desktop-client/src/components/ServerContext.tsx @@ -7,6 +7,9 @@ import React, { type ReactNode, } from 'react'; +import { t } from 'i18next'; + +import { addNotification } from 'loot-core/client/actions'; import { send } from 'loot-core/src/platform/client/fetch'; import { type Handlers } from 'loot-core/types/handlers'; @@ -98,12 +101,18 @@ export function ServerProvider({ children }: { children: ReactNode }) { const refreshLoginMethods = useCallback(async () => { if (serverURL) { - try { - const data = await send('subscribe-get-login-methods'); + const data: Awaited<ReturnType<Handlers['subscribe-get-login-methods']>> = + await send('subscribe-get-login-methods'); + if ('error' in data) { + addNotification({ + type: 'error', + title: t('Failed to refresh login methods'), + message: data.error ?? t('Unknown'), + }); + setAvailableLoginMethods([]); + } else if (data.methods) { setAvailableLoginMethods(data.methods); - } catch (error) { - console.error('Failed to refresh login methods:', error); - // Consider setting an error state or showing a notification + } else { setAvailableLoginMethods([]); } } diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx index 34b9049acf1..29ccf92a894 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx @@ -1,11 +1,12 @@ // @ts-strict-ignore -import React, { +import { useState, useEffect, useCallback, useMemo, type SetStateAction, type Dispatch, + type CSSProperties, } from 'react'; import { useDispatch } from 'react-redux'; @@ -270,10 +271,10 @@ function UserDirectoryContent({ ); } -interface EmptyMessageProps { +type EmptyMessageProps = { text: string; - style?: React.CSSProperties; -} + style?: CSSProperties; +}; function EmptyMessage({ text, style }: EmptyMessageProps) { return ( diff --git a/packages/desktop-client/src/components/manager/BudgetList.tsx b/packages/desktop-client/src/components/manager/BudgetList.tsx index 52633f48457..442810d5df2 100644 --- a/packages/desktop-client/src/components/manager/BudgetList.tsx +++ b/packages/desktop-client/src/components/manager/BudgetList.tsx @@ -292,13 +292,12 @@ function FileItem({ > <View style={{ flexDirection: 'row', width: '100%' }}> <Text style={{ fontSize: 16, fontWeight: 700 }}>{file.name}</Text> - {multiuserEnabled && ( - {('cloudFileId' in file) && ( - <UserAccessForFile - fileId={file.cloudFileId} - currentUserId={currentUserId} - /> - )} + {multiuserEnabled && 'cloudFileId' in file && ( + <UserAccessForFile + fileId={file.cloudFileId} + currentUserId={currentUserId} + /> + )} </View> <FileState file={file} currentUserId={currentUserId} /> diff --git a/packages/desktop-client/src/icons/v1/Role.tsx b/packages/desktop-client/src/icons/v1/Role.tsx deleted file mode 100644 index 444c8a20fa4..00000000000 --- a/packages/desktop-client/src/icons/v1/Role.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from 'react'; -import type { SVGProps } from 'react'; -export const SvgRole = (props: SVGProps<SVGSVGElement>) => ( - <svg - {...props} - xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 24 24" - style={{ - color: 'inherit', - ...props.style, - }} - > - <g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> - <circle cx="12" cy="8" r="4"/> - <path d="M5.5 21a8.5 8.5 0 0 1 13 0"/> - <path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/> - <circle cx="12" cy="12" r="3"/> - </g> - </svg> -); diff --git a/packages/desktop-client/src/icons/v1/role.svg b/packages/desktop-client/src/icons/v1/role.svg deleted file mode 100644 index 344454889cd..00000000000 --- a/packages/desktop-client/src/icons/v1/role.svg +++ /dev/null @@ -1,8 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"> - <g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> - <circle cx="12" cy="8" r="4"/> - <path d="M5.5 21a8.5 8.5 0 0 1 13 0"/> - <path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/> - <circle cx="12" cy="12" r="3"/> - </g> -</svg> From 247626e5c81aef3ce38cdccbec21a3dd1eb8eb7b Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 25 Nov 2024 09:50:25 -0300 Subject: [PATCH 06/48] change variable name --- packages/desktop-client/src/components/ServerContext.tsx | 2 +- .../src/components/manager/subscribe/common.tsx | 4 ++-- packages/loot-core/src/server/main.ts | 2 +- packages/loot-core/src/types/server-handlers.d.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/desktop-client/src/components/ServerContext.tsx b/packages/desktop-client/src/components/ServerContext.tsx index 2b3695d2c7d..c32ed2ac518 100644 --- a/packages/desktop-client/src/components/ServerContext.tsx +++ b/packages/desktop-client/src/components/ServerContext.tsx @@ -123,7 +123,7 @@ export function ServerProvider({ children }: { children: ReactNode }) { send('subscribe-needs-bootstrap').then( (data: Awaited<ReturnType<Handlers['subscribe-needs-bootstrap']>>) => { if ('hasServer' in data && data.hasServer) { - setAvailableLoginMethods(data.loginMethods); + setAvailableLoginMethods(data.availableLoginMethods); setMultiuserEnabled(data.multiuser); } }, diff --git a/packages/desktop-client/src/components/manager/subscribe/common.tsx b/packages/desktop-client/src/components/manager/subscribe/common.tsx index d20638347ef..be7729f7eb1 100644 --- a/packages/desktop-client/src/components/manager/subscribe/common.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/common.tsx @@ -62,7 +62,7 @@ export function useBootstrapped(redirect = true) { await setServerURL(serverURL, { validate: false }); setMultiuserEnabled(result.multiuser); - setLoginMethods(result.loginMethods); + setLoginMethods(result.availableLoginMethods); if (result.bootstrapped) { ensure(`/login`); @@ -81,7 +81,7 @@ export function useBootstrapped(redirect = true) { if ('hasServer' in result && result.hasServer) { setMultiuserEnabled(result.multiuser); - setLoginMethods(result.loginMethods); + setLoginMethods(result.availableLoginMethods); } } else { ensure('/bootstrap'); diff --git a/packages/loot-core/src/server/main.ts b/packages/loot-core/src/server/main.ts index 3228c301996..f1292772ca8 100644 --- a/packages/loot-core/src/server/main.ts +++ b/packages/loot-core/src/server/main.ts @@ -1554,7 +1554,7 @@ handlers['subscribe-needs-bootstrap'] = async function ({ return { bootstrapped: res.data.bootstrapped, - loginMethods: res.data.loginMethods || [ + availableLoginMethods: res.data.loginMethods || [ { method: 'password', active: true, displayName: 'Password' }, ], multiuser: res.data.multiuser || false, diff --git a/packages/loot-core/src/types/server-handlers.d.ts b/packages/loot-core/src/types/server-handlers.d.ts index bba1a78026c..43d05d0e4e7 100644 --- a/packages/loot-core/src/types/server-handlers.d.ts +++ b/packages/loot-core/src/types/server-handlers.d.ts @@ -279,7 +279,7 @@ export interface ServerHandlers { | { bootstrapped: boolean; hasServer: true; - loginMethods: { + availableLoginMethods: { method: string; displayName: string; active: boolean; From 75384b0ee58fd3ef982623d6f80a8ac2de2b3081 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 25 Nov 2024 17:25:37 -0300 Subject: [PATCH 07/48] code review round 3 --- .../admin/UserAccess/UserAccess.tsx | 98 +++++++++---------- .../src/components/manager/BudgetList.tsx | 30 +++--- .../manager/subscribe/ConfirmPasswordForm.tsx | 16 ++- .../components/manager/subscribe/Login.tsx | 9 +- .../manager/subscribe/OpenIdForm.tsx | 29 ++++-- .../src/components/modals/EditAccess.tsx | 32 +++--- packages/loot-core/src/server/admin/app.ts | 48 +-------- .../src/server/admin/types/handlers.ts | 15 +-- packages/loot-core/src/server/main.ts | 17 ++-- .../loot-core/src/types/server-handlers.d.ts | 10 +- 10 files changed, 147 insertions(+), 157 deletions(-) diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx index e99e267be79..131bf69944e 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx @@ -7,12 +7,11 @@ import React, { type SetStateAction, type Dispatch, useRef, + type CSSProperties, } from 'react'; import { useDispatch } from 'react-redux'; -import { css } from '@emotion/css'; - -import { pushModal } from 'loot-core/client/actions'; +import { addNotification, pushModal } from 'loot-core/client/actions'; import { send } from 'loot-core/src/platform/client/fetch'; import * as undo from 'loot-core/src/platform/client/undo'; import { type Handlers } from 'loot-core/types/handlers'; @@ -47,7 +46,6 @@ function UserAccessContent({ const [page, setPage] = useState(0); const [filter, setFilter] = useState(''); const [cloudFileId] = useMetadataPref('cloudFileId'); - const dispatch = useDispatch(); const [ownerName, setOwnerName] = useState('unknown'); const triggerRef = useRef(null); const [menuOpen, setMenuOpen] = useState(false); @@ -77,10 +75,8 @@ function UserAccessContent({ const loadAccess = useCallback(async () => { setLoading(true); - const users: UserAvailable[] = await send( - 'access-get-available-users', - cloudFileId as string, - ); + const data: Awaited<ReturnType<Handlers['access-get-available-users']>> = + await send('access-get-available-users', cloudFileId as string); const sortUsers = (a: UserAvailable, b: UserAvailable) => { if ((a.owner ?? 0) !== (b.owner ?? 0)) { @@ -89,7 +85,18 @@ function UserAccessContent({ return (a.displayName ?? '').localeCompare(b.displayName ?? ''); }; - const loadedAccess = users + if ('error' in data) { + addNotification({ + type: 'error', + id: 'error', + title: 'Error getting available users', + sticky: true, + message: data.error, + }); + return []; + } + + const loadedAccess = data .map(user => ({ ...user, displayName: user.displayName || user.userName, @@ -226,22 +233,13 @@ function UserAccessContent({ > {ownerName} </View> - <Button - variant="bare" - aria-label="Menu" - onPress={() => - dispatch( - pushModal('transfer-ownership', { - onSave: async () => { - await loadAccess(); - setLoading(false); - }, - }), - ) - } - > - <LockToggle style={{ width: 16, height: 16 }} /> - </Button> + <LockToggle + style={{ width: 16, height: 16 }} + onToggleSave={async () => { + await loadAccess(); + setLoading(false); + }} + /> </View> </Popover> </View> @@ -316,29 +314,31 @@ function UserAccessList({ ); } -const wrapperStyle = css({ - display: 'inline-block', - ':hover .default-icon': { - display: 'none', - }, - ':hover .hover-icon': { - display: 'inline', - }, -}); +type LockToggleProps = { + style: CSSProperties; + onToggleSave: () => void; +}; -const iconStyle = css({ - '&.hover-icon': { - display: 'none', - }, -}); +function LockToggle({ style, onToggleSave }: LockToggleProps) { + const [hover, setHover] = useState(false); + const dispatch = useDispatch(); -const LockToggle = props => ( - <div className={wrapperStyle}> - <div className={`${iconStyle} default-icon`}> - <SvgLockClosed {...props} /> - </div> - <div className={`${iconStyle} hover-icon`}> - <SvgLockOpen {...props} /> - </div> - </div> -); + return ( + <Button + onHoverStart={() => setHover(true)} + onHoverEnd={() => setHover(false)} + variant="bare" + aria-label="Menu" + onPress={() => + dispatch( + pushModal('transfer-ownership', { + onSave: () => onToggleSave(), + }), + ) + } + > + {hover && <SvgLockOpen style={style} />} + {!hover && <SvgLockClosed style={style} />} + </Button> + ); +} diff --git a/packages/desktop-client/src/components/manager/BudgetList.tsx b/packages/desktop-client/src/components/manager/BudgetList.tsx index 442810d5df2..c26b6a094e7 100644 --- a/packages/desktop-client/src/components/manager/BudgetList.tsx +++ b/packages/desktop-client/src/components/manager/BudgetList.tsx @@ -144,6 +144,21 @@ function FileState({ let color; let ownerName = null; + const getOwnerDisplayName = useCallback(() => { + if ( + !( + file.state === 'remote' || + file.state === 'synced' || + file.state === 'detached' + ) + ) { + return ''; + } + + const userFound = file.usersWithAccess?.find(f => f.owner); + return userFound?.displayName ?? userFound?.userName ?? 'unknown'; + }, [file]); + switch (file.state) { case 'unknown': Icon = SvgCloudUnknown; @@ -221,21 +236,6 @@ function FileState({ </View> </View> ); - - function getOwnerDisplayName() { - if ( - !( - file.state === 'remote' || - file.state === 'synced' || - file.state === 'detached' - ) - ) { - return ''; - } - - const userFound = file.usersWithAccess?.find(f => f.owner); - return userFound?.displayName ?? userFound?.userName ?? 'unknown'; - } } function FileItem({ diff --git a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx index d1fc093275b..3fe46ab85cc 100644 --- a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx @@ -1,12 +1,21 @@ // @ts-strict-ignore -import React, { type ChangeEvent, useState } from 'react'; +import React, { type ChangeEvent, type ReactNode, useState } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { ButtonWithLoading } from '../../common/Button2'; import { BigInput } from '../../common/Input'; import { View } from '../../common/View'; -export function ConfirmPasswordForm({ buttons, onSetPassword, onError }) { +type ConfirmPasswordFormProps = { + buttons: ReactNode; + onSetPassword: (password: string) => Promise<void>; + onError: (error: string) => void; +}; +export function ConfirmPasswordForm({ + buttons, + onSetPassword, + onError, +}: ConfirmPasswordFormProps) { const { t } = useTranslation(); const [password1, setPassword1] = useState(''); @@ -88,6 +97,7 @@ export function ConfirmOldPasswordForm({ buttons, onSetPassword }) { const [password, setPassword] = useState(''); const [showPassword, setShowPassword] = useState(false); const [loading, setLoading] = useState(false); + const { t } = useTranslation(); async function onSubmit() { if (loading) { @@ -114,7 +124,7 @@ export function ConfirmOldPasswordForm({ buttons, onSetPassword }) { > <BigInput autoFocus={true} - placeholder="Password" + placeholder={t('Password')} type={showPassword ? 'text' : 'password'} value={password} onChange={(e: ChangeEvent<HTMLInputElement>) => diff --git a/packages/desktop-client/src/components/manager/subscribe/Login.tsx b/packages/desktop-client/src/components/manager/subscribe/Login.tsx index d95c7c1e7a9..3433dbe3554 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Login.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/Login.tsx @@ -26,6 +26,7 @@ import { OpenIdForm } from './OpenIdForm'; function PasswordLogin({ setError, dispatch }) { const [password, setPassword] = useState(''); const [loading, setLoading] = useState(false); + const { t } = useTranslation(); async function onSubmitPassword() { if (password === '' || loading) { @@ -51,7 +52,7 @@ function PasswordLogin({ setError, dispatch }) { <View style={{ flexDirection: 'row', marginTop: 5 }}> <BigInput autoFocus={true} - placeholder="Password" + placeholder={t('Password')} type="password" onChangeValue={newValue => setPassword(newValue)} style={{ flex: 1, marginRight: 10 }} @@ -245,7 +246,7 @@ export function Login() { <View style={{ maxWidth: 450, marginTop: -30, color: theme.pageText }}> <Title text={t('Sign in to this Actual instance')} /> - {loginMethods.length > 1 && ( + {loginMethods?.length > 1 && ( <Text style={{ fontSize: 16, @@ -261,7 +262,7 @@ export function Login() { </Text> )} - {loginMethods.length > 1 && ( + {loginMethods?.length > 1 && ( <View style={{ marginTop: 10 }}> <Label style={{ @@ -277,7 +278,7 @@ export function Login() { setError(null); setMethod(newValue); }} - options={loginMethods.map(m => [m.method, m.displayName])} + options={loginMethods?.map(m => [m.method, m.displayName])} /> </View> )} diff --git a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx index 6de5644ccf1..9bc374c7410 100644 --- a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx @@ -1,7 +1,9 @@ import { type ReactNode, useEffect, useState } from 'react'; import { useLocation, type Location } from 'react-router-dom'; +import { addNotification } from 'loot-core/client/actions'; import { send } from 'loot-core/platform/client/fetch'; +import { type Handlers } from 'loot-core/types/handlers'; import { type OpenIdConfig } from 'loot-core/types/models/openid'; import { theme, styles } from '../../../style'; @@ -57,17 +59,30 @@ export function OpenIdForm({ const location = useLocation(); const [tip, setTip] = useState((<Text />) as ReactNode); const [submitButtonDisabled, setSubmitButtonDisabled] = useState(false); - const [loading, setLoading] = useState(false); useEffect(() => { if (loadData) { - send('get-openid-config').then((config: { openId?: OpenIdConfig }) => { - setProviderName(config?.openId?.selectedProvider ?? 'other'); - setIssuer(config?.openId?.issuer ?? ''); - setClientId(config?.openId?.client_id ?? ''); - setClientSecret(config?.openId?.client_secret ?? ''); - }); + send('get-openid-config').then( + (config: Awaited<ReturnType<Handlers['get-openid-config']>>) => { + if (!config) return; + + if ('error' in config) { + addNotification({ + type: 'error', + id: 'error', + title: 'Error getting openid config', + sticky: true, + message: config.error, + }); + } else if ('openId' in config) { + setProviderName(config?.openId?.selectedProvider ?? 'other'); + setIssuer(config?.openId?.issuer ?? ''); + setClientId(config?.openId?.client_id ?? ''); + setClientSecret(config?.openId?.client_secret ?? ''); + } + }, + ); } }, [loadData]); diff --git a/packages/desktop-client/src/components/modals/EditAccess.tsx b/packages/desktop-client/src/components/modals/EditAccess.tsx index 169f0f0f0ef..fa6eb78b2a0 100644 --- a/packages/desktop-client/src/components/modals/EditAccess.tsx +++ b/packages/desktop-client/src/components/modals/EditAccess.tsx @@ -2,6 +2,7 @@ import { useEffect, useState } from 'react'; import { send } from 'loot-core/platform/client/fetch'; import { getUserAccessErrors } from 'loot-core/shared/errors'; +import { type Handlers } from 'loot-core/types/handlers'; import { type UserAccessEntity } from 'loot-core/types/models/userAccess'; import { useActions } from '../../hooks/useActions'; @@ -14,12 +15,6 @@ import { Text } from '../common/Text'; import { View } from '../common/View'; import { FormField, FormLabel } from '../forms'; -type UserAvailable = { - userId: string; - displayName?: string; - userName: string; -}; - type EditUserAccessProps = { defaultUserAccess: UserAccessEntity; onSave?: (userAccess: UserAccessEntity) => void; @@ -36,17 +31,22 @@ export function EditUserAccess({ useEffect(() => { send('access-get-available-users', defaultUserAccess.fileId).then( - (users: UserAvailable[]) => - setAvailableUsers( - users.map(user => [ - user.userId, - user.displayName - ? `${user.displayName} (${user.userName})` - : user.userName, - ]), - ), + (data: Awaited<ReturnType<Handlers['access-get-available-users']>>) => { + if ('error' in data) { + setSetError(data.error); + } else { + setAvailableUsers( + data.map(user => [ + user.userId, + user.displayName + ? `${user.displayName} (${user.userName})` + : user.userName, + ]), + ); + } + }, ); - }, [defaultUserAccess.fileId]); + }, [defaultUserAccess.fileId, actions]); async function onSave(close: () => void) { const userAccess = { diff --git a/packages/loot-core/src/server/admin/app.ts b/packages/loot-core/src/server/admin/app.ts index 73266893500..121236c6a49 100644 --- a/packages/loot-core/src/server/admin/app.ts +++ b/packages/loot-core/src/server/admin/app.ts @@ -1,7 +1,6 @@ // @ts-strict-ignore import * as asyncStorage from '../../platform/server/asyncStorage'; import { UserAvailable, UserEntity } from '../../types/models/user'; -import { UserAccessEntity } from '../../types/models/userAccess'; import { createApp } from '../app'; import { del, get, patch, post } from '../post'; import { getServer } from '../server-config'; @@ -59,26 +58,6 @@ app.method('users-get', async function () { return null; }); -app.method('users-get-access', async function (fileIds) { - const userToken = await asyncStorage.getItem('user-token'); - - if (userToken) { - const res = await post( - getServer().BASE_SERVER + '/admin/access/get-bulk', - fileIds, - { - 'X-ACTUAL-TOKEN': userToken, - }, - ); - - if (res) { - return new Map<string, UserAccessEntity[]>(res); - } - } - - return null; -}); - app.method('user-add', async function (user) { const userToken = await asyncStorage.getItem('user-token'); @@ -115,27 +94,6 @@ app.method('user-update', async function (user) { return null; }); -app.method('access-get', async function (fileId) { - const userToken = await asyncStorage.getItem('user-token'); - - if (userToken) { - const res = await get( - `${getServer().BASE_SERVER + '/admin/access/'}?fileId=${fileId}`, - { - headers: { - 'X-ACTUAL-TOKEN': userToken, - }, - }, - ); - - if (res) { - return JSON.parse(res) as UserAccessEntity[]; - } - } - - return []; -}); - app.method('access-add', async function (access) { const userToken = await asyncStorage.getItem('user-token'); @@ -191,7 +149,11 @@ app.method('access-get-available-users', async function (fileId) { ); if (res) { - return JSON.parse(res) as UserAvailable[]; + try { + return JSON.parse(res) as UserAvailable[]; + } catch (err) { + return { error: 'Failed to parse response: ' + err.message }; + } } } diff --git a/packages/loot-core/src/server/admin/types/handlers.ts b/packages/loot-core/src/server/admin/types/handlers.ts index e3b642ecdd9..ec99a415925 100644 --- a/packages/loot-core/src/server/admin/types/handlers.ts +++ b/packages/loot-core/src/server/admin/types/handlers.ts @@ -1,16 +1,9 @@ import { UserAvailable, UserEntity } from '../../../types/models/user'; -import { - NewUserAccessEntity, - UserAccessEntity, -} from '../../../types/models/userAccess'; +import { NewUserAccessEntity } from '../../../types/models/userAccess'; export interface AdminHandlers { 'users-get': () => Promise<UserEntity[] | null | { error: string }>; - 'users-get-access': ( - fileIds: string[], - ) => Promise<Map<string, UserAccessEntity[]> | null>; - 'user-delete-all': ( ids: string[], ) => Promise<{ someDeletionsFailed: boolean; ids?: number[] }>; @@ -35,9 +28,9 @@ export interface AdminHandlers { ids: string[]; }) => Promise<{ someDeletionsFailed: boolean; ids?: number[] }>; - 'access-get': (fileId: string) => Promise<UserAccessEntity[]>; - - 'access-get-available-users': (fileId: string) => Promise<UserAvailable[]>; + 'access-get-available-users': ( + fileId: string, + ) => Promise<UserAvailable[] | { error: string }>; 'transfer-ownership': ({ fileId, diff --git a/packages/loot-core/src/server/main.ts b/packages/loot-core/src/server/main.ts index f1292772ca8..ae54ee348c8 100644 --- a/packages/loot-core/src/server/main.ts +++ b/packages/loot-core/src/server/main.ts @@ -1554,7 +1554,7 @@ handlers['subscribe-needs-bootstrap'] = async function ({ return { bootstrapped: res.data.bootstrapped, - availableLoginMethods: res.data.loginMethods || [ + availableLoginMethods: res.data.availableLoginMethods || [ { method: 'password', active: true, displayName: 'Password' }, ], multiuser: res.data.multiuser || false, @@ -2077,13 +2077,18 @@ handlers['enable-password'] = async function (loginConfig) { }; handlers['get-openid-config'] = async function () { - const res = await get(getServer().BASE_SERVER + '/openid/config'); + try { + const res = await get(getServer().BASE_SERVER + '/openid/config'); - if (res) { - return JSON.parse(res) as OpenIdConfig; - } + if (res) { + const config = JSON.parse(res) as OpenIdConfig; + return { openId: config }; + } - return {}; + return null; + } catch (err) { + return { error: 'config-fetch-failed' }; + } }; async function loadBudget(id) { diff --git a/packages/loot-core/src/types/server-handlers.d.ts b/packages/loot-core/src/types/server-handlers.d.ts index 43d05d0e4e7..c2b86f6553c 100644 --- a/packages/loot-core/src/types/server-handlers.d.ts +++ b/packages/loot-core/src/types/server-handlers.d.ts @@ -404,7 +404,11 @@ export interface ServerHandlers { 'enable-password': (arg: { password: string }) => Promise<{ error?: string }>; - 'get-openid-config': () => Promise<{ - openId?: OpenIdConfig; - }>; + 'get-openid-config': () => Promise< + | { + openId: OpenIdConfig; + } + | { error: string } + | null + >; } From cfc94aba80f793b02fced94487c574b3ecc7a847 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 20:40:53 +0000 Subject: [PATCH 08/48] Update VRT --- ...ecks-the-page-visuals-1-chromium-linux.png | Bin 83165 -> 82835 bytes ...ecks-the-page-visuals-2-chromium-linux.png | Bin 81125 -> 80757 bytes ...ecks-the-page-visuals-3-chromium-linux.png | Bin 80661 -> 80227 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png index 358471ece2fba3cf9deba54bfa222e615e241c37..ca92d53f47c8cb076980b42e3e1052b874a125c3 100644 GIT binary patch delta 34917 zcmbrm1yogC*EW0*!9uucK|)19q@){EP$Z9l(%s!%TScTnx;Y90BHexHZjdhN?v8W# z7q{Ne`#k^me*bvK`>){`cyOP+*Isk3xvqK5YdYzN74CzT_o@mKSCX@^p}1J2<EbW8 zee~hp6_WLS;?Gl|ufBh!{rc>NWgCf|OkWf|AVsb{_E$NL$+MEDFh?thkCmDxqZ zSjFTmZ(`SP6)Fz3ClneXIPB<E^6U&3ML4&9Mn`F!6(05SxC`rWzJ2_*HTnkKL%K9Z zvGNMuxutPBEn7^%w@@kpB8a*TTxrtZhbWo6W_=p6cNI<+lJ2914BCTVG?#Z|LrHsQ z-cEkWOd6H3t`?|HEfwO6xSzQ);inGU)cjG4lxKet6L-Ztd%uVtlDWHW+C{p;W{lIt zk3Fkx)slytwByorns$8SnI*X4hL^VGd$c?|;Lp!0Vq^nBIy!n5wS#R`tUTf<aW1^| zKyK%9zS%|n+(D+JcR2&~DR~!J%c@<m^`1h$V9dWrLOXCi`og#uovpW)gZYr2K0G0z zv!vQbInSLkcQ9Kgm{BG9&YU<_zQ=+(uDN<=5#Cgq`l!6M8SPke(}2lnnXmvdp(BT@ zZhx!qh8I+)y*XW@!v+Hjq&@k8)!IJK=;Bk8z4`Ei@$*r#-bz9{l3c?jbS_)0yl((p zf9FS#J8A>(*uhvYsiAwYj??UQbWlLLo%H~Lp$B^~`xI@L%euJ*8CxDt<<QkahZCmL zgJs{KAcv$L%BKUT4xMw|vF9uXQYykZ*?q0ONN94j+?2{~m_>g*&y$ybWSR@nd|+1S zS@%XVk|}93LCtnuHW)XMnz(Vw;g(8`_Tz)KH#}Pigk<ES=B5rMrr^^262ryh$dBsf zlJ3v1tRcs`2t$-Ok81iVZXkM8o*OIk`bkJg$B}n_+HeDQ$ZS4{DL1B->tj22VEahC z2Gt}RgkzH&k&<MXn3VC3k?eEcylo_|CO=T*Pg}FX&+LA4t;auSaDpLg*bA)xE6w=| zn6Z&rM<HBM=M354bdWt(lxR}d(K#-}Uvz(8k~h2ZAl)Du$txhRd-z#+(UTR9m*i2v zZgGy?&t}c*U{>`s-LY${{cJp=uxiQ<`pahL#!s`gmi7ZR=5_>`n}EQNx7nRJm|D|= zrF*}I-#}=xy^?@%!bnCT$ze2&@#<PnWS&{z&0U@&yp1`ZXdeNKirZiGemzP0q3XAZ zwAgdsT;DLyICXweaY!vO$8%n8%@85?41**@peTfzHh?t6Be#xoYvP($-Dk@w7{p9I zNb@BC4<%mRllr;xmgXqsS?l|18(aG?2GPRDc+>$_@rJQUdsW*katUb%riCsm(j`ps zFQ%!G%0@e+=<G^7+wEni#f{aTw{t(Kp)1-??mSYeAllr_$%@%y5K!u($y2-5opi?7 zG6(jZLUIf#z3dcn12r6;{{79@1n33ITf)>dPBCMiMj+*OM#d@J+;hM|^_XY~L9CHk zuArQI4Idvrw5rtsqj$0kE1bdmHm4L340aDDA@=Oea?FUip2)E-3kONgz1!9fHuuk6 zA1-u6aUb0c;_g(di2K+mmZK4(-`zjR>5-k&WY@+5DYkqzXU8XWo6AA^`a;Hn6B?c4 zCMG7*w>4i%n^V~A_%W$f#<o}yTbl>HjN|^^AwJ;c7XZIU#~u7@!OTRt)G%#M)pb)| zVc__IGXq;b&#PC`^BuRxzwa;8kOY~TarRfuWV-X~Azd!;gc0F6wIew$qMxqXr%bmV z-DsPS^--a$Ow49JFs<o~7?py218PoAvd5gQk}P<j6MmB1saKUr&#vNl_^7f9N^P+S zlWd%I624vjiR4pQV!^5%n7nOfhIxDS4ZZfVGXGValwG}rmGMcQmN`B?{?8E!($961 z%bEEPvAc0`Ne%)oV+I%#QswAETm3gU+}uND6}(1jtv|HV`6t~~p_#>5>E%J|9L<0y z)3diehlR!E9NW*xUw;wctSlJ4zH8)w^YZRp^@POD$5&jP%Lwqv^rmDbWt$_+*{$dw z(&>1tDXQT)DXp)Ys|Y!@Z(LRU91$V?($;o!mp#X)l2N%XGIO|pq0*K4L;n=*WpsJE z)y+FH8VVk?#;1H2$|}D@V7e&+?Z`*9M5wvpQgT7m1SH+*9Hcv&tr(puRgXJRj|JsF zNo?WhoTqc}xuHLl3o$bX;nl=+1eH0%3|Up0%5+dCx>NlWK~6L*RB9>s0%~e|x5U&F z6Mch1O22D~{T}n0?G6}E*ckjS(7ShKR)-A_(kNG;Q+HLaw3uj84icu8x~Zfiah!+7 zonoHHCs$#_?UAXn2c(@lLqph-B&?FHk(sav=7p|7GklV+hOqNk31InjLVDm6*lVR5 z62rsaEoG2==#&?BzJdPt8TevLgg*EN`?YaT_1i@c+t8#~mQ1=>S_HkEP*0pu#K<!7 zfk7Y6D|hSEM3;GXg{0Gn0)kJh`q<c%Ri3f2!tK8HW%?Qg+bY*LH^&XH4r%wySamkN zQt-dAW`468Y-NM?kA2dyl^+|X(b|?ZB={2Q>Q`Q-;FqcR7D^UA;Ns$HnS0UFNI*`~ z9UjSOdk*pB*8PZlYzt1fe|ZK3T*JlnMk}dZRBxu8n<}R(aY~<WP~WHK1Jk}rJGVp1 zlf^~Yr}!7djG6Ig5los97}fmg9pQ0tlCQT|M#e|w8V3^JSz6`kZB6#HVEV#e)z(dQ zS3U0yJ6DONs`^m7iR5%GrUPyVf_vXa(9q8x=qmwA7DbQ5b>#`%a3QL>jr;F;`S`Ut z$;n14Z(&SMwc1llb!%w0$Vf}-9=%Vg68gr<(k(kOI>!FE74g2h680D3^DFRWg+-R; zv9a2F7nUSJZs}#mVz|&5rq_9;j+K#*Pvu?U+)KQ0N3f_B$iBEF%5fdNqOW3Xtk_ug zdM!wr#TY+5?14&1%5ASC-RG`?$Q{w`-Qx8snqal2o@_T<b`UKO9UYxr%ldM~#Sba? z4f~v5riA7<oW|~1j20uFifB!!Ydli>@i0--s%~+^jcJn<1ggtXuC%+azY=cL&1SuS z_4L?5`}J1Nx3Ffb^ltX!M2U09)x}$QmW@puw)Og-p#6<!ZMvEtKYABB?%^i66cq5m zpX(BcoV$OJkuuUYz*2Lh(mtukCJT1iaDBKJm2EJZ1y?RGrRf;9=;DSHJ<%IP4b7fn z)HS$)6u&|kxV*Q}XB=qJsYO?@h^D34aI!ia+-*HnvdQPD<{gCW6PLq!!Nkh*J4fMU zx9(8%LXpL{khRUtpJ=8jjQW4NfcK5plWwDX2|o^`9iZRo*h)V+m?sNpxfa7~z@6fC zK6<!7p{r~8#A;Oa#~W8paXuz|PQwRQw{i7{SGB_k!jDaR?k_T(^iOPQRNWCcnr7KQ zIM_=KbdvaV^_1;lZ_mUOoAsTqIy0T>c^`B<DxpH1KF%x)ob`z#uEMRdYM#uUK<*(y z`Q~woO6vtz!HEgwyXSloY5Gw)Qwf$$I*zCZyW6gV>8uLPw--n0siAwj{+9u+)vKkw z+SKcchm5Mp76DV@4*tQ|smfo>cpv;1I@tH-@;P@`P`SaCb`DR3t3N5*-*wcn+3l@x zhq_8pBNC>HnK9`Uk?lnJyoXRtqRz;fmi6pDABzXVrcZ>HHj<6HOMfs*Xk>hhy{weg zqoSmv6b;3dJ2MZE<lG0bb`aqf#yWLZawV*ZX|u;FokhLyo}_Ji|Jr^?4a<(Zf{3sO zy{{%RdvkS*!<0bnkYc9)NX?Gutkev`mwRJ17%+{Ov)B`GUvT;-p7=GlvICN101q1k zyj<mHLi<-1!{2s_>`@7zIVjI+8hF%5erZf}Q0yHziS(J&DhFF6^_17Jpv>5uN|w^= zPYc7sr!(k#l8p9!IF2{d2}j5+Oh)s#sRP%2!c#nuJ!@c2a_Jh{X*HF%R3V*es!bzt zh+lMoJPL)O2|^{>!=(aC`KtD3ND2FJ^FxXkWiYOzz3K1=El&YdZg*WrLt@8$9lW<Y zThDmxc2p~HU8AFJn;DVuxNO>jxakyZrPdksB0RQ2n|S<)8myE6vwC$T@m;3^kCmka zzJlOggDSG^!*r4(sTpFZN_RlRVrH0TG;dBjN%x3asGD&R!Btb%-dC3-HEp#37V1Rj zj3CLq>dI{aY@7QJJF7xy*_;-$4|KUStuzs#)Y3dh^tALG`zTgtrx=l`rfT%yopK(q z@5inMCO_LC<+IZlYAI!X0FZ%|hhXNHbh-y%9AOZ{XnPbPi?ME+)aua!b8fY$uIACU zP`tFx6Q!lUsPH91p6Q_n*=VgUpFM4!1P>T4V1coyR0idHxydy)1huqBf2~2_Nex?E zzT{hvEI~VAa?x^jTARGm6ovTa^W8I*fHMwuw-r~qE@k)OXhB{8&HT#oTZX4m5jh@h z6&8ZfUZY-lFxJS?!4c>81Km$^73KUKf_WSk<iiH-6U2P}Cq`38pHA$~p_=@;+AgC` zS&h87<fKjeBNNSgY-D{sl2aeW#cWR`c`*{lwXKW-eBv1qL3gFk3=d|8{Hx_zi=MPh zm!n#=qMeHj1r#mEng((mlIQKZjHfKF8}(>GoGs!lQ}?vzeIh(Eh~eDJt>~1NfglL2 zd%gM-{8v8z#*QbF&%!n6*HIylmSeH~q~og7GJ?euI2St#Q_^s_-n&C-cPG#fY(hcx z-F=+ebL$=3@0J%Hwcek+InF0TZn={0zROTUjhgE{NKP&%a*bR<AU&k|ZVmo;;s%YL zy02WMM<YDy&pqDQGucI3eQC?&0=uYn2LUfQ%=B<74q45ecEh{rRreG=9o4B;?x)JC z=%rQ~#j0K$dGrbE$#x>#j<_Q`(pArAzuorSQD%+Jc*5v%=`@v$=;=ZzJAH2`FwAKr ztON|@9d)cIqfpq{5FZ_lNFp!P6&>$1J(z<a?udA#`jIp#=Xvf7p-Ukg{7pV|Rx^p{ zXt&7t;(Ls;=lKDV&u~xESaY1tmPhw5r}R978GYC%<Pjf$@aK-&T;PX26)*QBI(#YT zOQ4gD=TzZ`#>R(Z`&4!BN<|Eg+D(cq-$e7!OD~)^{YAx~5mr>h32|=;cP2=ra3n~* ztl<f8bLr2JnNvqlgJUGrCs7gR-|E3g$BmoP*L+^Z0drC^($%$^mx2sWgVDaWTw~h< zeglCJ$GsMmQ{2(c9r7A^A&v1<7it5ybz5l1Y&t>6=R)+=NY|3T#WWN_@FGCJ>_<=k zh?eJt*8{4Yh(~eI0mqa-iOrJho1!MR*aZvKTx`}inUZtem}C<jJd+%lw;n7a3_W<m z77xr)&D6NebW6_KEbcBrogDBt53J{X-gqwDZk9=E2`al9a9CXMVaE!4c5yYZFa;CS z&GFaLv?Y>=N%(%KOeOBl%=h>nLMGM5#P>q({Tm_&D4i++=qEKJBV&&EONHd`=`L7b zG6M*Mw6b-Ox6$zz=ns*R#KoHK{0-%uXU;eWrovWJj&?S>YqLGz+!f2|3AzmY4YF8I z@yo5sc?H4}%pVBf@0%bYqYMZrR6y<<84mf-@SPpFUfS|YzEf^hd(H&{nZWmctW?n} z8*wC80bPu=dwuowxto1=&|oJno>efW)RwSXptxIM9hqB`;z?I}F}2b@xJG2-RLD!0 zS!H#&@u4lE{@tc9+2O@F+eMN2m>Xx-UVqnCI#N8Pf>o_5cfwtGKJT3@#ke5CLMq*Q zw-bTm$#XU>2Xibb86gjHnlGRkjkxmES&S$n12T!&VX@p~)oK=)M8`W)&Avq-t9~Y5 z!<;@Lq8Gm=FR##rqEzM9ZV1MNnNQgKg&?_IpiW$&d+My|n)Vp?&@l^f#75j<pe06f z=`x)eutyJ$nDKa&K!V)9bCJkdirU_jNOC{#yWD15p8U^_4_?6pCpB&?_ebfqKu}4U z2qUAB?62B5mB(nI+AEbsdVQ<8#|J<8JOw<0OJp?L6xOG5Ytlg=EueIoJVaH6busTb zHS0$XcMtg%7jpq<7rS`MqsLz0dU$PJl`V4dwkbGxAptk^gSArXCsrb=B}6ILj%}95 zFRp0oS;!Q$iK(iR!<2Ggs3wd<9Syg=>iqXeMYry3g`J$;wYjlR#TM#EbGki{V_>dv zP9}OTklN9g*WICBM$sHA!dhUmbf3S-G-e^@(6J;dQNVAKF@0}BAw*43=@NXk#oT=N zz*g%9xj<~GNUX)w=BcYfGsK24!<S1q*?TZRn*CL(GVP=v5fdR@!&V9*w8*M-3B9Hh zpM&Vb#xtv2X3EGasL?cw&f*o|f1SNLSsKvpHMjDZm_aG+p~khK6thah6-B89PHq<A z_Xyd9v{O5{LEN0G7*V(((_&_|76<2-@E2@R^B#XyDQBBLgU`IzGcb68=nEgon}g9Q z+*GR1<#5@&sp)>YSk45=WnFiCNfYl#`2gJRM9Z>-x74eeGMjuzXa8I5gs;@E)#6ve zh>O&65n3)RGq3k*#V^nmMD1m5b^{Af$SsTq%2;UVWK*2w;E$D@ACB8-Bv7~{%e!>I zKU~5heaXwsk*i+j?oI!AQu8Yh(-#i-+nm<Du5;r}o{yfB&{(<}SwuAY+q}LkYA2fS zFog}%I<ItY<x`?dauRF4jZJ6Faat2f{us;Nvg0J+>;7`@19-kT^2{&#$J?gv!_9i_ z3{ur!D0jObrK?Ss_Ay$p2hL|ICvE7Gy6skE&JZQz5yG&iD8HB*1+dO7QhM<;_#NDL zfd6T+f^O??S1LG{8}yhfMWP3c^sebySxGG@xf}O>rEb6!h(7~qoHGA`&`ZxJi3P01 z$$A$~#-VjLyLnWR&ETk7>D?`M=hgk&@;4Zde%$WA=}Pb*On@FQyJOgWJS6d(VX?nU zyIh9!5G!YEw?eLi?pku2pnQdX(k>B6It!%ExXeH#=~6AbXZrIR$0J~40Po!H?FwH9 z#E;}Nt;`dK#g`Psrp0qhLX1qF0ydV!Lu)ghj{E5xoY`{aU()XbFcF)_uzbVU_neuV zg$g8}#24Rs<2lnVFe8;7=7KX1Kq0Q6Rit}Q0CWjGY<Y-bFXoXm>&vxA&^QV4KBt)2 zL+V&*2Epkffra)6{XU~DqJ8_ztd&agG3*lGwhHO#>2*<y50hSA41RCw3ZD08yt<!u z<%{q9U9gWD^%b7MQ+i)XbL%`&1~<M*sgdpt*FmZD6~_s9AGrQ?xkCcfr?04wRbG`c zau<WDOFUIdqFL4A?t7d&7qsg=q>tydo>vn_R7M<syejDyeaQ*}<_~r+h|^Qp#$Q5V z3Ey_%2cJ>u&4nB5iwz2I8AId3+H-3V_nlApJp~-NkHlH<aE$210ZkN{)1{qPKh+%^ z9dF-ijS%mMGJLJgbIDXi%o8Een>Fr`u+xoDxxSUz$8R6?_+kiUyv|wI7%nI-et-Y{ zq{+D{bC`4+lS;AQ+xQYAUQNe*zP5vV9Lg&AgwY=p<C9oEQ|r!!JyBK(_17FqLf9vg z2zwtGy%;v#BpO<K2G;2z>*mVMr+_d)!0&YNv_Rk5?xK(P$pb;g2QtMNy;*3M@cZyk z2w-)M_g`9dC)U)Cd!5CcF^U{M8lbOkLg!wH?#X(Xj24Ty;dwMH5x!JNmG^ez^C*Wm zPWf_Z(LfNhdj5O8>5CYhDlq9D`rw%}YUnG-?8go$uGf~$tV{>5jF<3*Pm$LnX{PmK z(krb59*Za@9adi(aB6ge>~~CFBt|1T-kQtW3bjfzWHdI?+A=?u%~agI$2Qtn{GB&> zj({!o8_B-?-^LWzxwteYhd1hvG2Kq-4e*qd{9RlMT=!%_>J}Cj9?QubW1Cvd5y(Ru zKjQN1(QU141IxQay^$v!L-`KF7<S`;Ft)aFoGpebxQcFW-=Cjd7h4)udt%-B5$8;3 zV&c)_Lfem^aS2ITIzX5dt2yqrmGKNTB?=$WQ=Z|Ze~+d|YfP0f!U3J?Y_*G%oUG^T zAFR`Knrl4z4a27fb-(4(QeULFQwhl8pNg4Z$;eRk2)&E#MU2hJh`M%2)$gFnD~Kb) z2vsODA3agWyWAJ$4sa#dCvmaejy4YIJ7i+O!!XJmg~H}81VVMHG6QaDjF-;V_HDuP z3X2y;=`-^@re`X3l>mY-`ekrrduoeVT^;b>@;vtjxwpXxwWrXBY1xbST0WQD!_4C9 z2di;Iij$rldz%*MJhJiIHypb%=wF;9%aaS&U82ax5gj(b6vQM9878M8rc~e3(pE(B zF0N>#;~{+(fN%XUpo;qKTRgi(S9(F3Qf)?>W_8{o8htG|=^da;s|1ooa=K;Br`<kc zF%ID)K3gl{($in_6tN4I7+A#kwYdlo#B+OTbImjc$omyO+)2}_&o{|yx}AL!1vg^f zOUd6~-{;5ndOxs)PTq>2W1?zl>w6DEGywr&mqlMbkF}$9>*XvjLHFgDFBQy&1qQ&s zJUgRWL7rm=N|J_uj%iJPdv}?LH$m76*^&|xq5I}D^ocL-82c|k2<0J#V1T5mgPNPk zl}MMWq!n(4CQ)h`T?|j#qU#r!=I8>+8bMXWCEEiY=ZJIf;r`8MXbonnrI+f0B`;|J zl3C;i;97TX&W<8JT>a8~m*Zq3Y3ho4bLB%&i7=T$I`c)iNDXh-bHMfQP?HgNfeE=F zRo}u0!o!ZYSZn&ec|seNx*mXmgL=A;tPgE#7(nqtMk}-7+`z0bka2cJ)?2*&3E)Km zUt%Zp!2j36+V`D$4w4XJN<t~X?ZXvwj4d-&GajU0@FM0$66OgmPXaL7td5FcF)zvI zrq;#1__^{*xL*UJ3h?8A&4|UBvk2t=nX8f5n+I9jjsIV`uQTcCsmI<5Pf4ju)&-xo zQVzFF(*=`BZ?SA(0A~k8^Hq!Z>QC8yzTqjD!rA0@hdsCW$gMhZP*+b+00e$MDo?wz z?|O^dY8vxhpYdgVgQQ8dpY``bJ+RH47$}8lK~)s(tw;0&rEb@nakr!ZttE~;dCy=+ z60b)=xjtGmb9mS`U_^E?nl(QDe<74yF}FqM`wCJs)aJ0pj>r>qYMgd-*C(K>FhG{y z-;&m~en*YrY4tfOteHpTywwfS-P#v(ODU(Np)05uszZe9OB$}Mb}g13l3QfCd<!gn zksr1HFXEU{aT9n^vF&c{csc(agr+DUG#QpN&NF4HRHJiGN~i@Sx=e|gK~WA6UmMGC zBV*MR+h=f55PaEf;8qwUCp^wBWp;cI*S|8N|M6Gl=U7i&etC<F^+S5SF&~mX{dQyD zRu2h)SN@F9=hFZ44{c6E*o-)eiYm=_va<3@hH~%yzDuZESK1f)dk?$=f{KZAWDh}! zN7tzHTuEBDz%QokVKQX(P+L;sOlj%SZ@cV1k;8Z`wi{GjjG;s?P&GkO7*xzLroCk7 zMf_LlgD=15*(#KBwk7s(`de!1%&c*Iibn#ag~Zzp_~pqgCN`h+_bp^hO;w{xQHG7( z#-gSq#I+sKEW0lQNK{JbA3l7dvpzzx)S7+X4n<E^*)g*2b!^$u{+<CA9K5y5uhH@G zy~DFDaNgUlKT9nA{a``meVogG)Ii#Y*1h*ou6AIA+3;9CF<T`)UmD@z<>Tu^>b2PK z`1##nis6c<xrV39NuDwM9Y68BLa$T*Kv#2*mX@x-cuEj=a~kg7CUyYD6<@!@`>xe@ zZP7&w+?D4Vc3+Mc>zZOtZQp1t+ZM8;uG($1+~O_^OU~75zJ&B2Z!v#KzPc{8$odNs zK}UZ)zWP`xTe9{YI>Kc>)VybK1fOQ5x11wjiS-^cm-nZxxV~Z|cvg1ymVb|BLT7MS zUmx4}-Y!C~MVTKG*3p4<A{e!jzVJ+cd$ZEdcRc^%?<H&`P{nxkz`MJ%M}%IOCFw<` z;?8JiEX7D6y~agVY+)G{eqGf<N31Y}K@SPljYTqUsvuoB4F4h_Z(sKgP%bhhW-wvs zOkiKgv9WAy)_qbt%VlOVmP||Y0b33^tCuxV7TVku&jt-KL3Zn_k&FzgRd@EHS&e3* zwQT2JGAW3lekSkPp~kp8Q75DyqFMD+t)EO&3A8sCudxSqSteu!GiUA*+$HP~-wH{; z=>6(mZbHa9{G(}eW1K0j=C`fp11}SiX{lGQYD*o~?6pKs54)alv$4HT@xhy$&ZWl1 z#VvDlhI*S@S|$(?F|BBg%9XoBA5&6jx>>sI*T*77uN_W@yG!`_txs0R*M7ODuC9?+ zT59y`^Vj|BI8|m$Aa7PJG70E27Cjg%ekCKdFo=DSUr><jnmzVW9cdm+$!q^;5`_Z4 zdO$~a6Ap)?`Jt)gJrnlW<>e)x>T02+7yi9axtbI1`c$Njx#FC@gZXG8saG)uz)Lea zN^G&xMQ(GqE6%Pdb3(s&Qybaj6{ZJALT+wu$cZ8bjq&MH6k6epK1gIUh?q4eCKUU} z&m5sQL~U&n`)i{E6H!r7pRz5QtysIwkl(*Qx)+q(<R5!xv9bP0*QjMdigW-9GT<a< zBM*WptGw@`ES)FM%6=s!!(~Oy=luCV%TvPM9H+^jq@~c;r~;jJ2M61qxJC#eZy*Vb zQ;efmNKT)rS4mD1wcui7Z$H0rgHWZ^7OOB#CRK9qhyB`Me8EBi(p%+kpAxgZBnlYb zOiWBZxr3vA<M!8YP7E-JMWaf?*v`SOsoA(;f>z4f!LD-YM14{nql|z+awm-T*HC+T zOiYYAwVu1XAj0GL{+7pn=t=B52)%Rdg3qxt8Kt10aN}0BZc<O`Ez)f!`G+l+3mKKL zl#a+~9_V?~pwFIfv1ceubs;>k)YCJ__a`uQu8?Tsw?RAr6Zy5JQEY_AnAdCPwU_dZ zjE*X#I8uHv>U=0HoYd-jeJEEoGN<N{F_(R#u*bL3#%uoDLz3>;h63+fTN1(o0&c5F zRYXR($bCBgPmPUN4L#9Vx0X8F4%pIC({v3C?lEsH9!7qCP0|%_w1ZYuRAfpJ@cH=h zYK~TA^DfjB;9Oj1#zzGfvSYLA++~yE{p5KWfos$GZfH%*pShl={!TC=iP>x<_{QkD zS^V6yE--qXdheNUtglSX-2Q}jr}l25K>FGiA<@Uo_`ATH`>XZD>vPn<s$?o2F==V{ zK9!7mEQ8qewBOsgPunC`b6?cf!yO8il?`-pqS!N(P8ZEol)iI@J7_jo;0y@}2qa}G z25Bbpv*kHiY5vgk;<h@TAU0~_RiRW<TuN0x+5KrX;T!r4bEQ9rvIUn~XL(t!T$uiM z5DnwI%ms@UpU-1B?7nWcvh2#<XpxmKRBaMmcrtd!+M%dnw2wqUZxMo%fn*8)ZnT)a z`hzyQjwB6wm!qRXLM5w7)m{a_s63zl&ok|-5zPM;Qt}V5mA;apGBIG1S5U7FQ}9P) zUnYZK*s@;oFefauTxZFermEx_3>WQx=X1alLF$J6#kW<ovGR?{BpPD;`wP3DFVBoW z<J(^f|9?LewwYbQbK<#DQT=Qq8qv}<>L>M8$9yb5<n7(k(5NWvry%9f1F4ulM6xqq z4L2&-+U6lEnOqsC%;dFS7npM28mN-pNm|_B>Q543RX04UOF4-ud}5bZnhrn0<@~Nd z$)iNdqKT|ul^Gw+vw#Qdvde>v64TW&S#u+L>oj3wV|{yTRkT6L6hNWQlUva$6^45n z2({`l*173HpMF|@JGT9sdr?r1&PAwIA;oZ*hi$mhp9Od*GH-(Q1>|S}=^n38W2}Xy z4N6sKD>#6HeJFaRlFjqYXTHr19Tdm|<|g5W+mjH~U9|D+XJr6hkY=_@?|`#*;GNz8 z-0b)Qy=i<p=~x-%W3HE2Cj&*Ei4;xe3Moovy9)_z5eyomP|oVpf5Zgr4d_0vE6eAu zw}Q`?uF=WHcJ<UG8lHc@xB3Q}qS#X}{^5Q+^w$F#z2ohGa<LaJ+cRpS&ghjNvB73- z!sTthE&1R<nAYwa7|!ynC@A4#S07+>3|Z<-&sZHBuL_dnj=cg)BEPh-bnMvjctS%1 zy3Dk`mHNzTBrj`NBvDzC;b|LaH`Y$As}#Pw9gvpF2=l1aBSr+?wVXohPgo--^V_Q| zK&^DFRKRVBNxP#!rO0yZSI$15;c!+45<xCfVAF=PI-Jqnm#di8ajQ4gLyDUvwhnna zAm*@cJc3cJUGUnw3NFogVCzS-&`MJDz{%@JauWeS%JIYlZR@xxP(KoqhOxbSt7rbv zB7%aF;@J4qy<(p-ROf<`OY2v3c>0O6>XS-biiL2pJwBUNro=HWo)&w{;Sb-w>AwuV z__%R~%dv}U160EDNX`o&mneW+{w~vjqj5f3kQio$+^0zIMz^&=1JF0Ki!;Tp=%n1{ zynJd5pg?E`KW%nwM>H&SlyZ$?YEJjydPOCM{YBcA6TW&A@hF#qT|JVnt{N#f{vylv zI=$(gris*|t}n2WhEhtTMV#$+{8kKARRYU~nyy76I^wv*qPuoV<9O5OVrOL^tBhA* z_vE+_6t5>8Ac{UV9;UeQhODjlEw-7$(Z!8)OOGU@p2QxxP7#X<WHhtDQLL4~MS8$} zoi~q^qQJ_1@l6-Ft(76+ZENuT&5oR1XLuy_+)*J!KzR4sQ+sKq8iY^_D7YK)=g^+b z)8+n#1HP|3+XgsbLK7N%;m_n2R}XySQI<Ir&`A#-%pHZ8TLhKCj#tjd4#Ggq0^}&_ zRTTBJE8)h+rp%svF8t%=Tscbd9ba{%&)spsX{(NN!(gWfZ=eYXuzWt}Sp#pCk(7KK zovW@hLrVQEV5Rp58>CUu8Nn9-J6@B&z9)jHWh~azUqaH5Q2OYv`?WB#A9i^rK*C3) zYbBeV4uQ0E(n)RK@*7U{C*olg{D+kEJ?C|Vk(Q(piHQlmenB#&TGH#c6A}~HyZ%pi z5A+Re?iiTMIZQ4c17!XJtq|$+oERm0l*<e|OfxBVg5@0Vh2X@=%n~6;sIOR~htMmF zD{ntiL!QFVB-^`U3YS<Wi03p4cwuKeOcK+YS;oO3;+C0vyLN%pLcX`6pI>)f6P=wU zv?JEb0NMSHYsmXcYmD68QOB*WU;V|P9^lK_(%9HMJG-7>DMAWTQ!9OB!N6r$DgDAb zHck-z`D048#WVON!le4^v=pehT2ZVJ9IH0B=8V-Mp8MC1|H28Xlh4jAlkNb6ceiUt zP$nnP=|)yo)+;F~4iP8T^V6;mL2VHqsuQdEh6ZR*dq+7h#N<ofNZ?>&0-G$Nwuta4 zMPtL7y7VHDZ`Y+r3CSGxWLg@UQ_X5@xdh=Yhfmz9U(kFy*r<ck%d)#qv`hf~PtRLv zS!qwJtC~qv`*-$9z>VHGf5QohI9$vWy4J-ef)H%z=n?h~D5PP_x4HCPXYXD2vxbX5 zc2IjQNn%4Q$o{E-)}Ltq4S2hG3>#+lD1sO2H(klW=@N!zc9tB1j2};gC!xJw<_;yF zm^nzuNTq&P!XJZ5&82}JZPe}fj?}O@c5O`n-V&?kWxQYX;4rNWhe)Y`v}cD!4o5A8 z`B}BV+{#Szyh_0J8j@$#s;u&<@>sfav)|SBur#wz2!@7+uCl7#dY4{#w^++FiQq+b z9@kiZjkvg=&;)QoUzg5VO{$;nD|~>g0@6tFr=_@1#G}PXOHF`Es`e)azJ)dy`#vK7 z=@RQH#BT$1Wgoq@()HpOL1F_`EJ-tuMI~~f5Lo~%L$}xPJGJtIbzcZF01ZZPFz(0c z3J1Z;I{+1f80lYj><pw4o8xsH6(vBtWIS1fK^s8a)HE9U)uRGX%q?e#?uYD;$)R^< z!w-xHzX`(y(RWNTGWNGdz5Az{PK?I{pXaD!X*Yk%FDtLu?yyQ{nraD)nIP{?5luS0 z0CWz`5{m{s!|2DpX7ZFE2jn79e}vZ4u-y0S-G1~yZ}z(?@(%aVsng$X_886x%hd?^ z=GJR`YQF{qfXvo*HZ!)ycLty(RwF>0?FyEQwjf&~%yswgL7>F<#B&#L%?>2*Bow?{ zoW!8hqxD8K&BaVF&-9M!WZa_160=%BcsPyB>fmDPQj+1~2V$J9VGa$nN`T_b{PHVQ z1=n|UJ%_YbUV<rHFp0%*bc`9G=P_=#Am9MA^{KCg<G6dyDe57>NcGhy8PNrji&au# zmb)@P=xNc2aaijmf2XUNba~*}oqYuncF_%?N;J3Vy2siHCDiEel!2&G-`)MnXQ<2g zSW-q7Apq}<!Q(v|eqq;%CxX!4Z)7-jI?(C-^_1n~M|Rg)qTq|Ik9^JD-M-m<bmC{q z1a>ufrChtv^GNvwyrB7?C$DD-!fv`sUZN+2ZBc2e7(S`ycln!cYI@J$;=rp5v==ms zpEc*oc)TKFp4DL)1A4bSE7Su=%HudEIvM8W3<<g)LUOSx)FCN-cdLD?@s)Z97+!-y z0ATq4#NbvB7GMc#`}dxd%Tr%(2Pj!Vvp+{gE_r4cdT(0mrmJa~cRO+W-hf{?p2yCg zgkG$X0Po=D)0Do}cS)2cuS>Bvb8>)SCm)?zouyt=3<L$b_}Q>a0tAfEb-|xlPeZRI zg6!}22%{8z27e0P;P=?11nmDmA8tbV>NQutRl@hq6a896P5a_<Z@S+6^F?{zg$mgB zWbZ$d2jL1{3j2qc@g>szT^jiNU;o!1pnq=uzrMr&<Oby|u)}SOj)<L<Ez{Bx?!38< za>0vELYG7}=sn|x#s}105~I6D1_n(-3xxm}{jlEv<mXq9%0jmT_YxMw3!fpGfdi!< zuakZ;%nbzTti<4DQXwryE8I!WxS3|>Y^-KiW}-~8fa)uJimDwbg-7#@$u-7GJD;!= z_Vkom*deDXE*}zKb6$C@AJYJ2W80oWqt&j$kXCk#$FNbN#-FU+x3yX~e4Mg$Q}}65 zckbN6jI6WRxAN-6fF1&BMC}eW)RoIObyRU$G+R47-B&fkxH49GR+4I(db4Ot=njvP zk)bqs$3ib71^V!s`#3kqX_~XnOnHEmkU6hh<ki2a##_JN`E<Ag>2-d2`l;s3=F<-0 zOKg0gItl3Z$S*COD?EBh00?Z#v*2$59qW60EOHU4W;`5jebJ-c*}rQD!VNuRVV=L; z4nNe5b{GU1&46E*^#=(r{*|$KuJ0X-8rNWt{x5>?)bZ{?=)Y5NmnTqA-Vu51TfIh7 z0F>AOOj>GE9`!`pUQCqen_sYOj20SV0P@q2YHJc7bF|X(etcBtuT&#M`=Q_)Caoy` zK`rfr#SN!}VoP~MY=9yGF=c}msi<;3no*V81XjCZ2hHB)O~4ed>44awxzplHVRxz| zNsl9ocVbX67YAwf!}<2NvxEf7M}wA0&Q-df@-1^%E?vf*+YNu`#tkvCmuz}{H&uBu z5G*X2J-KiEbk(ceo07|mP1RWk{&QL2J+O%?JCUwUWv&HK<^V|3U_8kS1`3&<dKsaa zqRk;hl*Z}o`g-fQ=;=hTlWnqXs`$znbXCR!RZid-B=-!xhz`Yco10&L+QH(nO)X3^ z&E3V6q~@qsS<V{{>c|7K@6AU_S_G3)yo8wfk5b)w?*QR&{K6gXmv^Vg#-iIeNI%EL zMdkDiHpLP&Rq@*FW|eRJ7C=K3us_8JroB?*HzDs>g!icrgrlD`F^UlzsyR{5|Dwbi z_#>`1EQhO(ZS>I6@&V{68DCm>dJe0SB1$)@9y8bE4`=Q$>?`$Q9U5}FXw^SbF&h3C z*UY+*0dqc%-`cUaOSNs<g>ky4(utgJ@#LsO)!4Pyv^ou%>xsW%<gl=O)C&3LK01yS z1GFh=*sL@_^$e7iQQ4E7bEW<d0PX)X6UDAz$a<eeIMi&IMx}UX^Q~%Zo8`KGxF7La zX;?ynIaRLb#;SB|;YgLP`AG${N-%zJlMgi{)Yitaw7F_$Ykv<YV}UN)PR)M(Hk3d~ z!4wBoF5V_1=ne9unWlfpG%-8psVulBM$BJq)%~+vieo**KX|65=DhjWJIhPSX_YZP zkj?5Am3s`kDI%zA&llE|t6XU|T(R+=>{FUnZ!=YMIAd!&A{;bxvHsZ~RjmgcFbp6I zb6gjYF8q`WbQyecJdnHh!dgk(+1hZ1EDu7ltelt7l`A20_`#Dqmcta`Vc~4F@txy0 z{3Mjel`((KZ2A}1#Rc5|x`^H*WmOR@U2o=&m46Z|-#JdTnF9{k=eg=!r3S^Tn;DNI zjrUEN`47mFbS{8S8EDBtTSONl>bEMn$8j?l_Yh}!5+b`MARsR<&n&#?^Ww7Bv66T{ z@WP%BNV8fwHxu!Y+CRU*xLM=tPHx>dpDGUt-iY(U0<WATD&95i^U-^6rSnCVfGy09 zBpp(Db@|3Q|MkZ03K)NB?**eePxUF{OEyyN+h!?F7u{eK>l-dm<I@k#(({lH0uFoq zb)su2Tjc>i9jMNMgw#Y+ZuxEFzyu;J>_b<!?tK90GEdGX0x9vy0IU6Yiq=2&7Gxk9 z*~y7~8}175QJ%pH6D%Q-5@V#&@xEw_M<cu@=^-am0zISB{PBfl_gB+Y{{-}$dr3=D zRMg7>T#TzHP77Y8pL(sJdAAk+NW8+ZrT}(>dgHWCjj)YdoRTil+VjWot`|Q+4sSbq z6kj@Hcyxj~Ju}hFRPz$@sbM3{kYS+9y6wao7ZmK*wOiPo^KUZm0p?m5bnXxua9_#U zsu2bZZq5>Q2S*X49=Zk&969<s$vDe{qq9{uJCNUHq{cp(uJRsem<+NM&hA1f<%)lf zFi-YOTm{b7m-Aw7{90r{K4Ey+$i+b^&W-(sx+y9^u7E?JozrtRf)BKBh<hCh8TTTu z<sMOpsk>jfJ$CdfT?>9C&tTZ|3d-Ha&f%+hMwq>8HI|ywX3ycs93g=OP&c<vG(pO0 zckj$kcZDe^F1xsvu^o7^U1ink=!UA=NVR8U>h?GLr>ca278%Hy^`6}Mem;@{D#lH5 zT>_TPhI=PKG+^(M!X+e7($H)y>ZhxTb933y(<|?Hy=gI@{WOcmYFf|czfQNXCE|Az zu4Jt-&oBbdfd06A161^A=%o!`O;bfMExvfA%xlK8^(&U1Q7yq~Hexgoch_h<+RoRn zyspZ?EJJ=p4hCw>!tv#w`!G@Ep`V{_7jRX{&v^?5p?3DQUt(e9IW(E;>gvX_yRmHr z-}$_@SMZ-Y-t0+`v8&V^9Lc8X6Q)4)?#*E<;l~R{17sxCRCFFFcc9b@yZ_!3EHp={ z6Ar~oQ0ALz3dpy+*s$X?pJ)lBoWc{C<_0GKhX<P76NL(Fn!^f;ZB_Ha94+RL`PTRl zIcDd}CxyIPYpmBrV^GzVe{r4_eJLOI)&=t6KjX+h(rpmi393Qw3%|{GS26SyjCv_t zearQ+E%n%cRJzPSrAw(-;ZiyQM(CM3G7DCvgni;f%f%dY(lHF{&Cs~zd9q>u3@)`P zs!6q}j(fxHyZ_%(kIRQemE|hIq8=?a0m$KUnDH1!aj~K#oJ1n+ET;bqg3HV!zYzZm zD<+;*0OnBTzX-sB@TGqPeXS^||9MU9_k;n3`TtQzgZ>w{>!d3ch&p7ctH9FQ?kmzB zf{M>_&^8Tcd#2gZKup0p9B$`elcrJliAlBi{xIJ>dIks}630s$NBiC*JcZhPv^p2s z2hCP=f#w7HBl<A^G%SlZT~akwfDdvx_lvn)={WxAHGH|)V4gfBBcN&MvS1vtFqkUf zf?aMIf|11L+@S|;5uIUg<CTj|D*3o8(E<xbEdRXpc?59u4K*%gX4hm_B<P-KH8WM$ zNZ8r42wxJE-@eR*NN#K0hqOnO<4&=y88`z=efDKY=l)%*ks^T_<IK>ycJWouWGWv| zPOdMIj3{O$1_ZzY`whd@;sXu{rE!kAyg44+9uk@Eu~oNExkIJlt||u@KBmnY1<%EQ z6{O)Vk71zyaCZJztsVTW%<xo&gomd9gc7gd29j@3{B23%x;0Xwi;JP*kylXgK`rx! zQx0x3Ah`~+RGy9-=E{L&dx-h?3b^{vN?E$akr`%fYp)IX$-^AA)>ABn4A9a8*c0v$ zg#t0Q=8&7ZXYJ(_BV{or)KxO&1*x5=(G4rmx#s)6dbF4>CcDE3bT&ZZ=H^*@wsBW^ z&z7_T&z$-1f7N;TkgfoTL>@=6#<MK$my4{781ec9Q}#UZ`ERjVnqJgnxxj$vT>Y`> zA2vdUEUFT3>~SCsoIiSy_f4py$I*Y%gjb&6P<q0}6?CArv3L*_1X<E^-Z37px}V9j z@rqPH_o)@g)`8rHTH`e2%d<rCs=gn7<<nhFv5nvK;~a15H<Sp01`4J>aTaL&^KDUz zu$Q>&L7)oHT)AHd9V@$!b4u~ZhTvLUuO^UPvqYJUrm}W-2ZKhEkaCeql+WQ#1JJN@ zPh$77SwnZ=Z?namrb}G-WUicVH8OOgPe@@b;Of2~H++IUqFEM?Lu$feA|gzJfA_j= zc>EAi3Q~a1V@;}@{AM|`mEyakj0y}!nNAP4o5oHTX}4Bqr9mi8;B^_IxL9jbc=O|R zck+KaXVj9~J08nvsUV0HQP(km`Hp`OL4Q8xAe&TPeWka1C<@yllf&Rp7eHW8>}*O% z%><2`Nqlsp`npZ0*$=08s!E`O!s1jwwu3->12nCvS5g7R&I%&su#VI&Hs2b{<Q-7V z0AW3YR!Px|vvKkuPK(#kA!*kLNfA#$pIcqWaDSd<7gUv$=JNqu2^>fEXkmRmhQ)Aw z+jCvB@SP-a2b<nZyL!mMfAybraT=m`9hfw$Lmh>@uHQMuE!K37n$mFpH6+>lN1w9u zTc48m{X+I6R_afp`><x=l=dDJ07OC;Ggc<!Ss0*|r77J&4;r!@jb&+Wm?Spy;))iv znhtgW&1X&iu5qO@X++X#5lk(o0zFNiU)znJ1Vr~Y{mfNJ1cx-BPw4hdd4Yx$^cymb zO@r?X2&gIcB-#pmC4NY2pcxS{o~)+}Iu1Gj(KEltCq*{a62j(n<qp?OAw`J7Oenjw ztI_p25h$^3bdQuhXxwi3`^gy~QiT)CeVxQ{wYz8EPWT423>i0e4-HkV_70BvjT}3_ zGe6skK$QQJzVE6fDZ#E}jTL!;zTekh)m5lGzTvpxrbB+BV)~qb$pZ~jKPME^-bmEf z)7Wy#+Dik8!t2g8$C=*D){QO7^$q9}h^2L_y&R`{24aUWXpJgxz5ux)h<GOBG``py zZWHIO)z@SMu;-1FY)k1GMLt!=GftdRC|XT*bHEk5ZIb>AJJruvL9LwKpk0jaz)VlC zN@I>YH6{=F7AH8^kM?goHtqRIdr*>?57pula0*@p`nPvM62ah!LM^GEp9qr+M08ai z>VY!X8XN$Xtr@F31j|0viIkg`Imb>rI-v7dWijaQX0PDn7nW0+6r_k&@Nm#H!m|!a zKh{nu@$j|rYkGO04J}e_i{$Gc%r$|SM1zLhbv|bhZ?DeIL(7-i80{^VtM+a*BC-Rb z*&ZFuf#f51fq)PQU`)o>xnvXg&FYd${~aB9h;ObUcnzOaR~GrGF-lhcpABA=Xa9YZ z)+!HqP$1<HtJWXw6yQHV0~`|T*vgE1YaSJfIl4W#iE}2BMAdo85LB3xw9ygXE!ol; zY_?EYtO9B@myV$V^C5a5N(=>=1G`PT`O9l3g&Q4wjg1r9Qw7CuGWH)$R1DhAe{929 z8TSfns=9vTmeIx{<%(jQL9s|JJ;w(!ieD|KF9z;02hBkuiQ2pC-X{)mRI1@d%=*qX zN#?48m^g~=XDE2!g}Gy}?f$>@Pi-G&H&bHz;FFUC{}%aF){_4B?N>GbiMlS~&s!Zu z)XTeOR19;8tpAuD65FKxM>gvs_is2zA1a5|)hPqvx%b6d8UeA4=K6nAY14`@wA%lP zgZ67mY9<g>f)nKw1c$GQFaFsqOgpvNFebUqfEkqQ?z+NT7%zGt7jhS5j@kBYg$$t3 zGe6Mp@cW#2<w#WqO3o9P!q(qIpI&PUXb&Dd*o6)^1&}MI7jwsq5(A+u#_tQFF~x{L zVT<V5rviiAg6Mbt-<95+XM9(BA*SE{vcz1D=ylqcUr)(C++=T$xH7pS=?THUrdouR zFnI5R`U91RdKiZ=!VbAKeye5cZ<rSvKfrthls0W@L*Mj+5ka&2C&shc5+{klU@{Zm zn2=Ku*KdC_-+6xQ8owt%2{4Dv^SkdJ%xcR>E-rb|-?+Iww`tpyf9$&C^f#dy?q5o0 zgO<k;p%#<~YELb?0n|pegdk0M0L@yTchY{ia{fq7@J;+BW}J;^8jde$61{<&XT2V% z`5jcWZ8-)&$(T1GIPmMMueIm0m*OhR`(M4U@Dh@RPn%pW5aAdgAbp(8!g9_D0Z26m z&t5C91GnShv-oFGeSL|vFE9Hu7;1|!9{mfY%D*$g{I3c$?DBzs#w(1dx!bk<v;l=C z3+kmcH7Z3WQ@+$Sn)Q?m?Gt(6e?7q1U;TObsi`v7!Sd{(7E?@nTBIGB$f7~L|EDy@ zt;up`Gg9f9%1Arsiv!Z@3>52+GL=g>scVG%w-mb}oreC{^XXfn3`7(W224r^GITUF zKKqxybuYJmoT$nJAD(*a;<##<&ic>9;T0P>F!Rx(`)-F9&oT{fTPb&bsfE=Gl$Pu4 zSSnf|jHLrwsC8=hQcR{?VDvo+bAwCR0`2iaiU`9HA?XYJ6qkaId&$YkWCxv3p|XPa z+~^It^CBbaE`i%$G!QzlD&gG~X}xlV8l@%2H^|H@8)rftzeuOQxcMjws;@mO?HJhA z*8)rX_ehFZy8DhqMC)Y;MSXLR(avDK3C?mKhF2XdR-M@ywRFlwtzY*O@7VFgTo|=2 z(;mSz^Js79aIr}TrF?OM0}Zjn)PJ7R*xqI5>q^xf?f*!8dm$Syy}wAuqpDMLr9H8! z!-VB%!sA+pkw;)tPqYl<Qh%yOfI3Ln*SGuTs?caLSp=UC7h7oY8jqckcR{c%Yq(#V z9f{59dd)-SY^Doa%p=7L!guv`bwrE=^<i(<UP((npyN(5&~g`DfCL!z$vYBHv*Wn+ zcN1QKs<yS@EaxpHcZm+epa~XuN4Up7qCIE%Br6z_w}|>Z21e03+s93K&8rljwch-< z9MKzBFqx|M+U=?Y&<f;2gYnD)j(tBy^@4Ztz3Lg{%l@)(#ZB#~T`JFQpWI(vKj$7- z>>@Al+&dD368IbXd=)sqqo_+~7wDoz(1M)`9!d9w>m(aWW|&m-xyARC|2p^l1;?cp z!c|%<(#te7pDZ7jLpnB)l&qH>mLGZz9`Civ!Me4|TB#w*`&9~NOrFA5uVM9<ZxEVK zAK0bks}JJc#QEZ!|A2zmd8E(qqE4jzEO^&4GJT;9LjDt;1iLzd_*DvyPj)v7MptS$ z$tj@yox?OauQB`83&9(TjNs3Ju$m--Wkb2ZHE{q5bUzZsqmL9hiE<k*^0ZHi3zc5o z`$tO<#9>t!yBI{?TXOVdmM{y}shk%`>a%aqd~Ohn_p?K+u!YKSxkC>IDIaZc15&ir zY24GAtY@HnV)N3I2!qJ2k4J7`*KEH`bNB(e-!#TW+J1!&w@*_D#I|h(rNM{OpO6Qg zAN1IOYh0sj5(bY-k3%C80=d}w<V5(ngJB{frS1RWs8N}>Ymcuo28|ub9%+D1)f4l6 zHyA|3LiDlCc=l&(Vel>?JzOEn*!QjnJ^Sv#(eh}<ZPwcx9ah)S`t9p4&g}$0)O&x} z-q|r+NvGB@(|-5u+dR{m+0QSy-nXzg&gPt8+lSnkud`lVU+UJfCja|groeP}288t* zzgWK%;&^uvOctGU9&BrHJZ;vqGc?jh0SP<S@1SDjdbXQRWjZwqZc<ZQX;MugW>9Y1 zhvEb5L33H2fKZt-<Pe^kdPql$@fXoAxcT!d?>csi1V{hLDtyxyOfh>S1EQ1jN6jOy zGq$f3UR-&d_T~l<^j}xX$&xyoKz@F{GQE7dw{`9K<OnlH`sG-uar<~KBq%lfo~E3L zSXADY-NFrzo}aEcTRn~|tLGRlBIR^zb37$!p{<45;4qn3cFu)Adi?ERyA!_6DN}TE zvR|;D&Ptp^pxa!ky@TXO;)N78*1f*;y^+H?*5EBs(VI5n<?Q=p=$ioXG&a#c(W|o+ zcAskkvE>IfC1FRb-BJdmdLrwIM!{fjH<95r!4!6xg3R#4KT^;KvnDR5IJJ%69wH|X zF?(*~v<$cSJg<AUzcuw9>~_rUE$@JbwCUR;4aGYLJ6|;d(t=BzA{ZMAROT2!Ur|N| zcb*r9SITq{(C@F>VeXV3>u|@D4dn^|olYlbNb*<j69|6rBWt=!X!2-{+cNcSxVT1h zhXo68bx)))(QW4S9X@1ak=1C#1@4;oyBe$j1S^QIo$p0*g-BVySwA71B5Ml7>NsAk z+;4gOnE%rrDNFyMU$b+3*Rk69a_<iYpAgN;=i3`{J^i_EZl!Bbz9%7Og8(4~(JLU2 zUOs&T-5SaoUsfz1H8<Sf6BX?L$D*$^+Xon77*hyduTas`JV!K9n1Z}=xh0L1q6gMf zN!y!qbUlj;Iw-$F)mXL*JE{!3lO_tEki=gd2Wm0sJ~d~zcs}?2tGP8IeSKTk!VS0A z-&remo?Kmb1Z80uwQORd2`)1g6agU)*J*a^Q|+g>&Ry_4J&`}Zd$NjbjUo)HCKd@? zW(WqBSoP2mcrm5=Z!3(hPss`=u*YA{$aVAK6Y}Go^l4|ai8taWzqY$07*swiVSn12 zsI_i6(!dt(0rqv-EWX$QkH-G!)R<(t<fC=C-8>=@>`L3<ztff0an}c8V8~!u>(MOw z0OB)KJX_MY2z_C-3cAU+KHcqInsn`v3@f4kicz~^UtdSQJUo|u-bjd4;rGJzKvZU1 zHVKzGl#8FKmG0eh$edj1`+qw73aF^UwcWv11Oo+W1p$!`>97DnLb^e^yCpV?qO>#v z45*Z}Fu>4Aj&yek0}KrV(sjR4&$;KE|J-}mx_c?i8rIC-``cf<&+|Ud`-y?{V(QOP z+~_24zOrCVF9>PES!WhNw81YEUiVJGWq-`3c#p}EWq;}bTHC`NQ12oBD6oInNKpDJ z-A=4=518l-Zdv0!W8PotkS<P$ZQp!WlgFCK&oNkFd&3RwoZYglk)u-{bu*cxy|+{? zJDMv+3TqLZ^HfR-={!~E6@YLZ%aE7sDv%&Vjg)02AgY0|wy~LGuZ$fr>u?m`zJ&Rh zj0N>qfC^)UwKEyWeNh=n-UsOiI<wVT{C8KUSt#XoJ+~|G;4V>AjEB~~Tz{qyrw-Z? zJ07C<7RD?swPxE@!?6zBB$OoWKnb}pRJ=qKhDgSc4%)_GoV;oHU$xI+1@UXNqi`=E z*dmxl+!i8MGi3S?ezvIEi3&Tv#PCl-UHRJlBM<C4SU7@bmKS<MOPZUTWe;XZgiy9} z`SOUNZ?*_+uF(f}tGiCwO(DbO3&Ln@akd)Qy-Ko`cz!eceEVvxs-~3!ug%$5Ai#RR ztsv6e>%Ct%m7U)cjqQ&Uxwf-7bbkAChVG{6<x6Xg<;7OLTis<YR-~N?QW-H2o5rtU zGud0hF=`={NYlnkQdOV54|=j3jEIkLQsu6bHW~_R9f*ao@(0S|@Q02{*98Pg;ksM% zi$kTt9ocy`Z!88o5SNz*!{l?da6LSo_S|%It*+xE#h41BrG>#<%9UjIh}dMx@H`(N zV5P0vq0t>F`fT=|xGkCId_p^P?z{ebV*K5JXBf(+_04h^3vUwi+~=hY_DG;v8SR~F zCav7A3rZAlz3fY*54C@&_3Q0V7IU}`G-=qvTqFxBvADu=v&n9uyIOR7q{O5n1LO@N zA}sU+0@TujX%$c<HVgd)^iF1Nw*>_^%k^_L>$5qkf9_Vk8s;8>9@vHUTb}(nA5QOV z*&jGFV=RS`TjCd(I|1oLhUtc46iPT~r33eT$@1vk=3IB09OXc+Zh`@Eua9egjqvR1 z_SvhnWa#ro6Y0v?YG7jYTS-6}dw3yvIxRNsOH2{e=gqLMk%GS(1S81Ju%*IQj4KrO zF2trNaS%?1CqVD`U=nu~5{1aaSDA9-=FO`$3L>N^AAEV-7`S}oas@P4b&40RvUAsQ z%kqsMAx<NbkyXF4AvbQ^bI0|t%xtn+<*WO7n3Y=2&)$I8$+069Y)5MP2z<Z!42q9n zFju!VHB7876cMvBGL6BsGhvzvJTNE^Ax4G9Bg0u4NDLtm-q&|SOT3?^V!R^?hZ!!g zNl20R(xK9>K8T628C9H}@XXx#K@VHr+cSgF(bEh1EZ=IZtNZHQDH`f}5r^}ten~(? z3nl*i`Pi%Y718s#PPbRAdDztghX)-w4NVOj6A5;>Umvak)+SzSYq7v!TwQY@EGT4l z?Fq=f`YiI!u^lAR8A!lIj_IZLqAt>skdf5qNCfS=kMLGcmcIkNoxol_O-2?Wd|qE) zKPFH2dBQd|cSwPAH(j9rO{2LtXWR5D<4Q|47=x(^A6A_s`XJy?S1=qAAK$W_t8M<v zog~%<;n2^{#T8yvbJ7%ib`vh(#8?6ChWF$1zs+60nw3lKalo6)`f|EWlWGj|H3{Ob zNkghty`mbb2;1FthxrUwQ9=-ae#57~cUHJ6r<lsMnIh@K#II1#q%bSPYYYX`WTFjQ zc5$|7SC_*)G7{<#)Nos6+H;H5CY$`c{Z4r=br+^ES_QAiB1kfhxvDVqW@F1u2)-Q| z=}~<@`@zzpfPnCoL|lWQqo_KzH2Z<m(Z6<-Km7!Z;AqfK`ubEPYefB5z4zDmh3!tS zV{65!W)o`0F96V?mk#=b$U#pK`F^LhUx6+<G<0KIxBNxAjv%aBr+B1WAGK~TS$U`r ztJWwRgDfCeD;e9Vm+Rlm+$%kJ{6%)C&iUP`_kYjS6cv*(ou})uM>|We@9}Qk=g56; ztDDzzLmHG>>Dk)c7hdbBQlQNm{Q9W)Jk4!RfjIA)BT#vX8>BQyU|Y1_cXcU2m--MZ z)s3{%M<?1IZ)<0ur(dm7QMxt3Z>BVVXf~dK4$B~EY3a}4GJh?K-)`Lp!i$O1=dWMA z<=bdDl}Su3xUpkU>NwlEqg~Qv_v7l};o&{1>yJ@MRYU7rgY28ntcE^Z`?WYp3#v27 z%HFth=MGhkqf2C?;pdL}D@dDOMi_Wxe#yy=4un<662Xw>Xrti*D}FC8FOINmHx53? zZtUad<kW_ze7Td~e@@jGXt16+bFM2*>Pm_2M3lu?SJ#Uc^_(9QqMpxWiyUXx4TM~m znm8)lPOop~>Gox5qZKF3d3(&dZlCfyh1=RnQ>}2N67(8c8R`htHw6Hy$aazdi9)ps zI%k|LH@FoKxLQw2*3|le^SpiQ-%|+LjIwUFtcp}jFAKOYir6y>FO3Zgu6D$i`49;R zpLgm>1}OMP`{Pd7jc^g%v{k+!+Z8sYGrpgGK87vW@>jY~or0OP#-9JA^X?M)h<;6G zsVSz3)#&J8ZJ6aK`uX7GFcPb??Y6o+TasVR$*sGW8ObCnmR=-s6D$j@>N$}69<)~K zcc)V{_H)=Y!*ikI<=I&Y#Qv7%$!zRl!3nHpwYrdC_eTo(i0=4Mg-{Y9866^Y=^qa< zsIe~FXu@>w%RAXU<5N2-nU6cGkEn2YW_$^~x(u@`OHUS~1r%eyd`la-z@k{EsFx*c z!G3sPSJG7J-Aby)st3vbc3AjdyH4@usAVM*781`3%1Ys!7ltEqC%vWW8N({Z`7*dd zB<UOL0tLll?`cL5hLeYxsQfm0fE5poLyX&^N1IKhR$guGnhdhbGLoofsimonmk0ac z7^X4PyGvbn^rSaMgfceQB(2R>crYd#b=IyY`H%DVAuul82DAcru_g=LCW&(~2#=0- z0Z|tkfk=eQ>N1s^S-Ww`xk91yP9uMw#6#%GwQv!|lW?iAuhC_X-w`?;PeOt|zwWuI z=e3Ey4>SIXvGn80{UT8>;JtVk9Y%x6lZh7C?i7c;O&ebSkyZ2k=S#ycU*@|}R~Tes zTA*%sdnZ|sYp7@8hKYjSfhkg<FUn+Y9t(QKaj4}^S0Ah@pbDI;_K7II9k+7qZDouv z?`@F*Cqp~JZ4&W$q5wMn+#|YUe>krQyF^CZtmd;yl`vLb^XkEBzFtUF)QxH_r2o$3 ztH=NzGt-LXpO0&Ag-CWF1fOdJOv4g`KR~x<TAEUYuV24@YiG5h5;x&Frk+co;~_Sh zhY+TAS<Ti9nVGpkygb?&ChW@TGs24+o#Rb!H+?RiN5XXBB2jyn`V0H3dZrv=2>!57 zKVPDnbh2%ACtl6ol-1MgbDzHx`0m}*tcl_H2uB%q!V`C8-7Pygv7v)KvO6fM?*<xb zwP)82Ziy7g1H;Y`H5woSC4FgRPbLh9TmML(&Gc|>?DzOMD%jR6)VWC2xe(vHNL6{w z3eObX&7a3RSV&q)*<^N{UQX(vM#Xx*UV|A;`n(_RP3M~OyTV-wFFB?UOFbyN&&he! zS5rB|@wnwCvqFgl(f9Xjm91~eAg8@~XpNw&a7CH@V5u*c5=J@bT`vyN&S7cYaL3wq zChm9sPK9FK<+HP;Yt{9YaGt$MO1nabaiPOQHu=$U^(vv-cb9O$2G#IX!ld+QC(B{& zI1F3^t~L(U8xqMH+PF0)$XDj@D;c^q!~^Ptb{KNQVc$lb2B6rmFpez>-j_{%%o@3B zU)XgGyT?3uZAbbP(Sw6mvioIb_BP?$2B=}qTfw1J9Z6#Ki3`2G{am*$^LiaRFoqs{ z40M~A9fCP#*vK2j%QDV&B);yqoPBJ3mvF8_+Ksih<I#~6&1|Ft=0jKzy&!V{zG<NC zWmZfqi#|;x)Ep#7$*+{6#s;(O%W3X8yP2t*pVWHjL?T@AIPk3@U&5YGt6Gj4%Tl$* zN<lTU-mqZ(#mY!qywJ_;{+6^LGR=a9J*Ov5LY;X7%Ue2#^LcY!B-m$K9UZvDJa|q= z?ecbPVpM}Wf0F8bd?-wB4p_d82GE4PN6UM&>JVzwb!9lxR6$HyrH`S+Ylm9FWg$4Z zanHYBwO-%-bwrvB(sj!c*afdVYz2WFzdI*iLda|ohq!kB<i|TA-R04($6Cc!Xy4CI zxZ*G8=xhrf_?#fn$?k8kQX!6>B7)?R8Pg>`S)$(Oh#EeGtG0@vZBab)a5Ej-$~aj@ zXmKE4LC2aEtXJ*s2OJNVwiOEYM(qLu0@6KNW1JVd>lI^$3rh8DLqmjH)W3c=l1o_c zSvPRD8w^E^mIx>D#F6+Vdz=#&7k}lp+ScWB^mWtTTdTwhd+*9cqBN_{q|3CNzBix8 znws0;cFg)tsycp2lPvUQ-87P{iCHKxhsIJbUPFiV-fN%xQeoqCy?1&|p<SyO*ef^` zc2-*bPBNtvh~YJ#47%2*&YV5pTO)PlmCHh18Pd$-OY|m2HQSat(EpvFEhbM9NeY6o zzP2W(1xE^D;WksA)BeOp8@pld<qEW`(9cI<TL|5HDY3A2Q~Js$o|2cz>rw`*AW>l+ zLAaT^6(3JW$7yw^`Anyo`|4PC`9WDz>`T{!=kn5brW+h$3-C0R?U^T^?}s?Lv%Lk5 zZ$E7w=((AE?x@Gd^8VFd=E;sr`#wu*6P}xZWMo69YA)EpZCp%v>V}bI5_jG5CL{^% zf2|wnkqbtgWl^7V)1rfq;6|Z;#fbCdK!*@fd#H&VD)1JDv5lA<Z7W`DrsT<xZ#3uZ zT4+%%&W>TjuHIMO5N5-(v1Jl?6WcXurj0|7fgFuT*0Psvgq=T0Z_e!@B7WFpn2eS@ zr4pCN1DNqL9tWJm<@On(2|OmFTkQgP6vYYQ4TXTEKK=W*qf;x6?R(mDQnS6BumFW` zr(QlU#%)fV4o2`sI$=3V`=wsIgsmjGCkj4S6WTun1QxF~<*F;O`jQz_GG99-ZiDCa zypa7}Km`1l`@tZ-wK^7)p~Y8gh{I%v9_&rNRVcIPy5Cz42&>JWu4<8A-yv_1-6-^0 zc{RszK=(w{ul76HCX+HR?^~^QA;Idkv2AIf)|XUrEW}j2YaQhFKE{&obHal~_`i|K z(dJ4i$#8GR<d`-uy4c44Lzz1htuua#D*0ua!Kgh&2@y6R?{q+5;9UPTzj0gI8@C?1 zWBJOY??~-|%0VARp@Wl8sz`sDAU2QuVWTaJ?V<W#v|RB_6_@Gm-;Y=9yxdlJ92e`4 zR~ZJ``YmiOXY;-)C2pt5PX4SHMw~lzcw~#7!>NK|kh4e=D=MojgVA+a{u9_M7h9>> ziu+yFlgP_HIHGbl^TzsO8s`d~zjWu_eD`H?-vDVy8cz^Mujc&R?U=^4&WAr4+TCNV z))ELI5ET-bFm>x3cl+iwfYvzl8ZL5V*BvRgFS0rws?UiR4rj~8a;?;#q*!NOr)fU_ z=|9QqS65nc>spNs0j-=UcEABRrPi9U?^V&<HM$Q3?tP@_Uo#o&g9HIbty6iUF;$Sz zVtl#4d22Q2Ma+AvllN&>+<GDES?*kP@(33el$snRw?_vkreY*O;}HLjr8?CFDfusr zelyGlw(suQ3s`5W!=(?H3bOax^qjYSV?_PCjuyx)e%VtCl~|tpP7Be@Wr}qQ<c(+- z8M48kYOx8GOlKz1B%gqE>I0|g8S-OcFJGw*0`vZyJ4^hKLPI7GRfvFu-^fYx*3fK| zMuh>Pw(GL1SKiUf2gf3geHN4zM<ev?%8|;<`sqa&WbAOzpycJb`ex*}VQ#TYNMjsl zJbzASd?({(<013q)p7DjW(+e4=m<DN2?5A{{Trs@=={mds&Gq%D*NxT0R~~Lqsv|b zp!@A&+nZ)g8afAKtDwW?R->lcXrfX{BFo;)lTFZa;GgV)HM4hlk<<P%PeOYKnn#SD zLGY|^BTJ3p;=xJmk{7J9QkK_q*}%VA<eaa|q-}~xq`wzx<^7nf-;CcPv@`K!a9e@f zeTEVqBLzHdOV#4;t`8Le@fP{>6U={S?e*}|NCa(H)oIUdAV!@$c~NeRyX+0hHzv-< z-SQdUIWIv-Htjd4|J@YHW3w9JymiRtbC-e1NKV$-i;S95$~QS#d-m^b(RnbdQ~KgA zs!<fL5q-x~t599zz2lI|3lFCrKZ*-xlt+}g63zxhW-zPqHdrJ}H#dj2i^Hr8uQPHe z=WP<0|4*{{!zc%P_@NshS`XKXvF=vO#u*$A9xI5jy)~ZG8a&W-w0xpzJO5;N+IS>v z40LB+k0KgS#;L9Fs3}*N3WCJES4E7NI;T$bDB=xHbFzyO*dfVj?d(8}3fP59>r8xi zYI7a`rk=tpX9~1^vFw@>OQvCpyhWTaG7bqN<nX;~YJG|svYFQtg`sX~jwB~<F<3jr zfZ1V2GR{7GRb(tnxH#U$5Ho-f+1pLwzsuBIb=^Q>&%CV_^7^$PQgXB#)LRY&(AYFo zQ%~v>@%=D&B9K2g{hoc&e>6+;$s4~@d(%i}uL|oDj7QWYdxBiCCyRcW7Vi-cowAZL zCpk|NcQ;o-qM%z+R&>5-*teE(w~fJYBirbIPD%`5d>ni1-mBPIPBTNd+HHaIs?(!3 zkoY>_E4{qE?%kkzda_EbQQ?D3k$cl0n4GUrE>~XJl3{LcaI9Q)e~I5t0hnT&a*Hg# z5PjEv^la)SV<k@@IbjU0-EEX7sz!8CbKk{oZCAwbg@CAVQIk2Z(q3Mm^IBJ6=b)E& z*{W2p`4C^C<ceqSS8qG?<~_>dwRXD$=n9~UWWqvo7kbmEK^PlI#!|;~`qjo(bg3y4 z-rae{p<&<fi1D1i8zY!A3e#k|wlYa`G*R6v8*irjnlETQu$4uVvds^DIg8LL`MDLV zH@&>TBe<Gx6hvy<=d9rD%=?^--C5J_I7idjbCJ0zm?os((xh#^+asd0eZ~}`)z-se zS4T>z-3{3jsq-m|2YQ;y;DbBuiQ2BZHLg9!$G?gymq+1moGZc9IkP=oK=ja8Fi5>S z-Gd(OKXE`}c9kso`^cWM2CoZiLiI^FLw2=eUs$Dmz`|xM7u0gz*|TL6g3BZ*fTZLs zScN`R+B54S5aMgKot?21Q2*MNyB98}b_&6)TzCd>{ARr^WueK_je)Qi+&Q-(n(A$( zk63*u`TS~rog0hk<|<1km&2UbHtqiCihI3OmE5c_%Qv5e%X6~s?<cQN8IDvo!s4oA zqga%C6x~49;?QO0R;y{SS<Cr+r2XEAv--XA`y9`_yuCHcUD=*PgLx*$fzeUS`bift zO&}_OH8ed%wly|Mg1DDexAda}2@`HH!EX8w;p$QE7<D++F;c2)&VDx|PhZ$$??AaG z0q<uiWI}hsf(2as{cY-dy-_=1;vS`{ZfI=j?wN^O!p#=qJY=kZD>4b~9Nd9xCbqTc z%<_2RpcdJKXL7~eIZoS?+^qZ)qnHfb_O69yOf0Knu;>A?pjdK^efU($glqO%+knE% zyXV2Tj`Y&EFeEv@yth@+*gh3XTG{w!K=GSuO{#i4GT}?`m?=OHl~|DIlsQfhzxLB8 zceP1R#$cx7xTlO<R}KjPkA$a!^J;cW1t3Om-lSyLqh~K(a84cVa~Uk358VdDrKude zWt&Z#GohW=y60`)R264J6&}YXLHiakp%U{)gL+d%7L#{$PsG<o8YxpG2{>~gQ0dM_ z3NTYWvvDy<cUXn%>I@RjBj~nDHOr#%a+i?fMV9lz<s(?4sCT>vj~VVDNgpa;)X3CH zyL8%LOb+fiE8xQYhRmM`+stRPYuI?{)%KFqCMlavQ>T1z5gtiWkD|Edj;_Eos;tSK z%sPyxTB3LN_Z@%zxTg1NTXT*>KXlmIb!5#yzuIs-R-fCpr}%^;PRxS);zitLT0w4Y zr>KFskjcWA9aIxuC%}8B3AHTf0P?eTo=pFXGRn3MAxK!k7L5<zX}tGea>K{8C_4sL z`!T(4>$gG8f!4I3*wSnz27fW}IxbT6y)sLD=?Z{|h6^o7GMSnC^0dPU>ir!Trr%w* zs&6%KbL<#(TS!bPvo9XdK~!`!pwT=lkqSe_PE25UGb)Hd(t}B&TzVcekJXG&8mzYY z3q?A)(&}S^>ImxA<&OT`N>|H)%*bQ6%1EP?4vn7j<HWX(wd)GA;iJWO!K&g&@A2!> z!|+3;RQo&f2r(&VSy`V9I*X@L5(S3M*DVLLv1&)n7<A;-<nM_L&u{U2a3}EFw!NT9 zzS_Cm804`AVQ^jrjuPb?3y~T2Q_~XZ92(yn;7Ebe6Id&$ZZ*X$U=QMi+(I#z8khLp z@fZ!BCm&YrojA9|s%I_Bx>mJEst|UocDg@1Q#GH4a=<&<ME^M%+ZS^UE>m`m@8Bc> zK|v;ULsshYO;4pTHhesG3rg|&Wk+qAhlvfPP}cvG<ZSg>;&Xp%By~Im@)NM36<1g5 z(Uz1D+Rkk%-C~1rA<_;+Yg~a5vtnVCwv)ph?uaAL9WJ9<FEKcmAFbQ!%l^XIpK~Mj z4D5U{HCK+BcQbqAP|Hq%Z*Q6aZ~{@y=506)`}Eueq(pt+uu~k;_+sX^3M1rPcDP?W zW!>Q<M3%SV=CUfpV^W81Xl&rL>ZTJ*;tN?r*&3{5soI8&k3T@fWbZjNs>-UPxj}{H z?0iI#4z-oKQL~II6zhIJY%GrfPqtG^|9f(2ro{;k;qxrmf!u}TK4rka#M@SRR#?Zz znVX<XY<|&lp8>$`(oJ^R1Y+u*Si65??rgNBJd_OS5(eyEuCGsNu#%oSb$Y%h<-9h( zT}z}xd7v3DITt)QQGADknVGq0X((Lp2w6Si{vUKDbcagZbwz>;EInGNHQ(V;VKm0& zCMN6u#5>kUvoKio=VH`qjtP$Ya+DK5x&gM1KK2IYkJW5fs090gMV+Z5Q79TEPW4;^ z$BDwyF)+MipPB;W^!jxQ89Z}ZX;9UxF>JtjYhDzxzfJI(09<|2VpljlMC&RnuD((; z{_XXhw+rt75EHzve@}Aj#)tfTj`}3ZM{BQ7---PFWVru6naDWv*#kE1dABs1sgGC7 zx0W0I^J`qKmRIw@Xlf5*$ukrZju}Q|YkRMx&Ms<HPz3P|@99oAi#S$5F?c{=n@Tka za99L6;P*-M^@tw!r9GG3pQle(Nc^#xl4#c@sT){lid5ufZNupXL@@NmW{mWBtC!2d zt!5P!!5$=Bsh!2y+sm%P6Y9qXOBQ+4nyjRH)SG;O+BR-sA}P&~x%p~)MQV5hJ{e#7 zhk5)%JVL*j$8l4qC{K80&-h3}B(6L#T<!lsB`&k6ABl~8<qE<=P0G4LNbgNj8jHRQ zU`vY?!9uOvHpDTrniZX7B(t`Y0WSqJsahMZOa<Pf^C7s+F|V-Inol_I!<qH%tve4O zhQ^gco#OMt5<$AHlcVVOFK9t>IQYjmK6`GgAe>NruR_QTQT9sjee}I>v1I7PMbNdd zEPWh7tFF`N{E8JRsE*nnk>)2QLyz=pBsSycCTw`Z-?<4dsoIdW|NPi_ek2;D?@0vv zL%V^70zCV3vXmaEj|fCcj@xY(Xd46*Jss67!RyyxjMH@{yB!+wakq<$_`UI4=k~-c zRC)jc0=qXf7T^YLS&r#fQGkx^RcuPMR<p%OVrJ?^Z2b7~Da?d-EdPXO*a5y!6UeG9 zkCgGK<D5uR03Tbq)xr{2S@{*$_2dR2VSQ_BLpfBe@7P(jGfn$*&9&yrKu+`9E9mPE z(`STBY-ih9I!W6)sB|CL4Rf2y9YpO+dPQ;>i8okpJ6f?@^HE|u5*c!yI>6+U1Rgyz z|Jv$N(K0;Z!ho{kxhHVJ7n#v1u%RF$d$*~X{z_uIhby*D^*FCX*DS9@E>_{`nL84J zrBoGA<D~c~Hbi(6BP-w0-`2FWsx!W5#l)tL7DA03=}s?*IF|qEqP%#9z=Kgx5DsP@ z2c4DcN_TG{huc72!mwCNbEnZ#N|%;af3XjWBadW^{P^+vZ*t5yAZ6@dDYN*`V`y~j zewauL$i!WvC4;0uN)?$QXLP(g94b^@?E^?a(Dt2MLpqJZ`<>#Km&rSZdCa(U%e2~U zJ1aRV+Wl)^I!7godix9ZW?=98*cyQXRy2|Sr145Of*aBZ=Q2FgQ-nd9Td&Wq%Xfi< zNlAdW&p}n*bq-7qvHQEbJ$CCam6Vm?&;ysiQ714J#2qd00-BGEj$V_~jW~?YGBMo_ zYgLbL&<gZ@<TeqFcko48pNF!}mqB>K7<Ljj+*|0wtfc0Y6j^2;U6buJ*gv%R!2Ek~ zrt&wf+^4$b4PVMO&Bux|TMMu=l@4Y;V&wdxfPpm~Vdv*+uEjSqc3%hh@0P}X{O+|= z*1vTIwv2d<U>F!i&eq*;KuWkP*GBvJ5OcM&a{ZJ}S+3>xE(2MblWPh)3-w1=MB?&R zewroKj-q4r5JKFJ^DjVxCMM5o_Xie8ao)O_cYe6@#J$J?<2>u<e}(CuK-{tDtFG+l zWE}|6R+3yTNU-I}<0lIvNT&MpmtQvaq?OTRBi%u`^s^vc&fQ{{vm9lG?ywmp$8A77 zE9mL9&aWq)h=oYTo=jDireL4;T(XQ(3OidPkPCYM#lYaLUKw|~WV_bg2DCCy`{v2m z%1*ds$lew<*`r929_=;^PbmV_+==&*ONq@y-5eA$S^j`bOiWBAS1qJkw}LxIU)*va z?@2=FU{ckbrA?_;MV>KM!^HIGx<S-E)%ZtMbqm9vLA3|w%O0zO88+MrPL2ZqSRi-d zX6u`qDQ?(~%PWInLRSVeOe$R2(Mi3VP5p<5o^!0TYhU9m62_YDp8vf{E}>VUWeuzf zew7po%bCNg<!4L{@2RAPM=r5}m#+3pj$zv<TkNAnwTj*p?^h%J+MEQTG-7Qm^iseO z-*PDbT<1erSjK_!N*ovTsKmBv>#Z^qy}Rqr+aOQt`2;hEYMVQBMFh1O7c(BXuCxf# z`oyi0JD@0Y5zEb;lXeh)Bz4V^+@?_UrZ5p$q?_L);iVYCaODg`-dpp1Dd%DToAPtG zBP0|b{XBLfIlkC-38I>O7Vm^Dj86s$+RCbS)Ye?`fc&;Oz8B4?eb)Asn2G5ww9%#u zrOg0M@@sVrUb-vbUtSt5x1la0bIH$hYZ?XVLuqTDYWENwHjkWE6Onr$F((V>;h%JD zwbK$FPT2$gnQ-j@TLRLucjKYIolrm8rGEb&8*@JUFCx`+qKAJ``nB*=vOtadkK=3{ zNb%!WIs9>n^WWvL(0}M*!L5V#!^26~A5n{EDu=?X%2f}?4kwaP>hA7t0E#%(xkS6s zE4TOExd~~6lKv=gKYU04dRjWvU9g7gd4mGW@|Y4wWT%I<EN`o0nFlsN?9Ub0^6Bj% zd_UY^HB(47oq#|XSdCTBxu|wuJ+sdDvw||n6N3fl<*y))?o4fdkWP3v9@BzR5P1|P z=FJJ0WpC{j0wBTcJh9=zNHOd#qZa&u$^B83b*(jD?>A|Za{rw=>*_-*b}{x)W)d;e z!4BH>ot+F|WYG+r%6?!4m|aSvi4&M_e`^fbMgfu~&C>}0k%d$k)fA9im>h4+hVtQq zs@gF@opSd8;nnIOgHCY;ke$<+b6qq(!*Q8XezMk2L%@tZmR)Ze#K*Vx4=>0>vm-2g z{wLxQSe)aFL3+ptV^_ByETrHLi<YF`ym@nRZ7}Sjk+?k-gj^~Uk^~kDphCeN_9~pl zD~8IqFJ;Ib5X+D1aAb=C)dYOInF*|8B*<aeNT%de!0O)$fuHafEjRpXz<CwQQ3BD% zo1~-tsoB}a^8Rdcev`nI6ENu-$jKOkcyD+$--9^cR<2-Vci||A>WGmza`<860D%gv z)&(eX81`^E;D!&}KD<|4OF96hTvX0qtVhhSOU%=aj@&D3wOCysZJ^yu@mL?Oi~73K z8mlX>yqR`&TekA)W8?c0S^F<`+F!hBf%7!fjG(=}2@Bks7}{P-(opIL)9W{FU^g_p z-h}jdW?yKe-8g%jd7vW?MK4&uKodFqU6&d<l_{2b^&CBXPC3))Q!CeR{ri|KzGu7l z^+*KWqfiTm6OwXz;tZ#!4dI-wIVp!Aw{)<xYSi>*&x_mWocQWkZI(&vID2Qyf74Oq z={7&`ICQ^0O@fc?F^mePn@u5_+p5`mqQuMNQV<XY!D^N#LTYNnJ$IG~eqwbiG8K`G zrkk@N?;9GP9*a1C3`>^<9KmeVebqo_47viL4e~V*?S3RqIfKh?7<=O)OUn$7)+Ap0 zzv7|U0*zrfliPlv!UwbM>Bh<(oI4Oc(6v^N1*}-xK;x>J*OjpywS$APX;y<h>E7pK zZSrDOX_XnhWOZaOBT3n&F&4eMK1-wnd0Nr40)-?zC^QeF5C!1JJf6q)R7wznRqtU# z0Ljxt0fL9Xo;-@O{oIX_bL`WXU)i6OnC{HzSxw+B($fuucJ3D1y^2aX+#y%oja~n8 zwBG|c@0RdNbMaL}E0rlC%q{-SqYu$?CSUuwuKLd0q6|NXG~e@(7P4XUgD#Q?Pkw0Q zeh=P0mx2h@X5Yc7?)1J@+5X%bS~xZ?_Hleo-@fn2q0J-Wi?T&c0WVu@?94pB!(jpE zh=o{Q)9(tSjy&B!S?}KW?Hc`je~tJ#$nSMr+`Y$-9}D;_$EAq;H>fZ=3zwFWHSXOf zx=bTR71a3n;Y*nAt6wjd=H%>W?`KhumUKgZgc&NOoHjzvKMHI9Pw3@;swSX+lTGA~ z!9Xdas`JEmZ*#(cwm_L$$Z=+^9zJLKKf%;__q%GY*k%*`QB*ewW>`rH?|lATWIf9F z`^j3`m@qQg<aI9n#w85-b$9MKFAWC)0oh7;T$yOnKkybbN(oN%81bIgbTqxy<&Rk8 z-TfWac11`q+_KooSdO(=pRiW=yRX}~a7#Zz2V>pD6!~%f$C+GTIB(tNx_|RIC<Y#S zS2uwS`TG9Uqd2cTT{$z(hap%(47GK`vR$g>+DmpS*_Nx~Hb*VGew=WkC@bq)+xLNN zhg`QlLDuwyTuc#DE&YK~H38Vqv5z^mgLiLoDIP66KCGhSYxNo<Pr(}@ezZTuuR2mT zlZEeY1_5~y<&%Oh20%md5;aUU3wDMwG-#wsejd%-{_e*!R4Wh3&6^UAj@O^;|8np$ zLyh993j?mXFkeb&m+bz=Ddhn`6k=PmLJt!487?M_Y<?P@rJAXVVo%Zc3IMd!v5@lz z^&SzzPCQgO_XnylH0F-!6xSpHT~0rj9n!1&ak>}xYtJl|&t{W8QEd9`g9U}c3hW0m z#c5X1R?K``DamO6NQ<oei181Weo2jh>!E8h`0ImCww|?((I{|4#$q78ootE+7A;X1 zF$+CNCheMoP=7g^8j%>P?O5G`pv+XpVa@)<zG99QSJ{cd;{;5%-SiMYPhf*N<#A)x zw;MbL3RNY;X1}<NOQQ$oZ5n30SA-*z3A7ytJW{jmU@6S)re7{fi7cI^+*T1LFv-iE z{kdT}-Ki&hKED%<;0gr#PvEGL#jl(+_@KSiZE`kbX981g*$)$VHFE*1D9(K#l1vnK ziurcEkwCy>`V8o2wy|c60Az3=$&xz~q+ZzD`)~Y}RwN0^1w^E=?@(TwD(cj7S=tz2 z$$z=A@ulg>6-8Fo%N!geO9MX5qB|2okZ+APC`57}m00>;<r;HBYVvc;EdRt~8RiA8 zl;z>_e2%(}u4Xp6985NaEiB{l!5?m?KD!py`0E$0GXK?sh)89DZ+7D1t3$QB7QMH_ z1`JKTE>UvD6BTKzUz&WJetEVT$5&G2oP^GJFPH??x=nT7mA97pflN%q5pfxEQhX4F zKYqE;3b6%>#RTgY<eUV~SO)(NX80+OGAys*Zv6%!4YoChdw}b1gNupkQiH_hvO<PI zu~ykt^5!>XPVPmDMxYmBFqr56O@3f4<$>70!ei6}ftupiOPz6aEHSJOBW7hAvt01X zp&|$R2bTS(K1sI6v+8mtk8CZLi8AFmw&tar9M*qNno1OP8o(JwWp5%zH3Z=qIe@>Q z$<j>#=mKCd-R;@?CBjy%|CCSIqRJ+=ymxnZmGU2*HkC!Z>9=H9>|r2nM@V6ybU7ZI z<ncHU2N9xkr|~kz0E}4bG{Q}g?<I0nAAmE=r01kXPMiB41@mNIU1)dsUG&g1xuVV9 zA;QCr=CszEO0_R5`8wi0-0-1s;~I4knYFC0n5=my^M+{YoyxXsd4sMEa$?5qK~vvT z;ZZ4F&vXOJFNih$_I)JidJx#r6Yq6$4{n@HRy^4e>SdBk1xnIj@*^$(c5Yf)+AOtf z$;mujAe*OsU^Vzz4owU?pUHob1E{h98Tfxfp}9hQCw#%n8r;RA?%DrUGwAKEyJfn^ zak8+^Yz*}*^k0#VC@BlmW>oYPeKOh<d2QmeD82vXsqUr@en$kp>%9ZYHBeO<Uvo7u z?fJN+Q`OQzX?$#QGHsQxo2hw?PoGDr7~5!ZYmv9B(Of^y`me}gzC5I5`B!XW#N&nl zjAqj_>2F-n+HuN)PpFUg9=SW1XB$!90!-TJb}JRn6l5r6jtRnGPM^a4X~|3mE66l7 z4sJ~n2}_lsS=rH1v6eLyfy0JBHzlv-*g6Fkh8;L5xM9_$g(!_Ixt|_6tsKwv8GjIq z-!j98<>8g4cvvG^6L~c}QLwasYt#X0G~VF{_2s%|NFB&7fm}`!wZI1u1I&HZu@!Z# zp!S>EK=%GS)_M9=#2V}w0&0`a{&B$-egfrKKRio{6Lh&R>GxV*^c4&!m>pO1lo)Dy zuV0DN-ZJ;ec=7V>8cXuz?;>D7Y#!pFK?D<^>RXF0l0fr7m;l=mUxz(O_GHI@rYk)f zKPUajl>qboSe<P#05U*N|FQ?@6@XBIzv|4NI3D~={db$({|^Fz{)Z#)AF$>BX2|=$ zpQ!;O%SbPoa;K*EqxRcw^Y5*xC&GWq5Hz#=#U6T$rym`Qozbd<a9m63!KE>AiH~Ky zu6H}ADJiY|u{nahZeOQBh@cN>cX;rby@MBbhax63f3P*6m)|LTBRhBdK6`kSindP% zo`$ERQ~ETY!~*7~gmL*#jl%d-tN1ojCg`gFbsxIN0~FR^WX)G$dk{^v$>nK)#Is`% zzA+nm@$>)R<Nx!%^#+;g_UME<S_0*2rc7i`Chx4)WZ&4C)Z`xY&L1w1U2UgrQS^8e z5tmr^*$7MJ6dz$})XD)tz4M<dHiaMjfsSR5@E5Yz)M{MG#y7R0Y^Zdp=ES9^fMDK) z+j8?yIk*|V6o53#7M`Lt_Z$y=EGM)>^@$PR<Ktw*9~1OttA*c&^kIe=lD)m37v+<~ z=mh&E3+f2^^0bnE!o;P-rR0;$29J$~mR(obwSy_3=vLrh=Wci|S6s04o$FW-6oWRO z>EM>|_@rbJ4DWMMokWZ&+qn7&*$2~S&=m|XN3rR}ji|PQ{T<q3M|YeQ-f<FB2|fw& zYyo&3)b3?vqsd$RP-At%1q?G~YaJ0@oAtCRHQBu4)FPqdwi!ypoHRK)=llpd^aG7n zwjpm=n?5Sx{Qc;3S&b=Yb#caw)Q$S;ltcliYbo8&K((l^dYQcE_`~p<AA@7;5MP15 zjG2KU!~R%_HJ5TsAvXP_cCzz5b<GLp-pR^Z<eA;QuFp6>XUoIe(#@IHlTHnaNfDM9 zXJcM!3ekt7QrQmE%M9Dpf(VNo+8v0N{tnl$;?CH+TRtaCDluhcS!?%qXm_X?`0j*f zP^e|}Vy+mXF!vN><!g<3dorbo?nkpomPOpr2@YW56YK6io?jpwQ!Kv#!wndB=#=tx zV9YqaowNu9-Pp*`t+xziVOz`9psUw#T@{s4a=b)M3w<028$);Zh9BZO$x#scZ@1$Y z2gJa$YH8`>f}cytJx7UQffYLDzVEZ5>PM}CjAf=;SjK+JlKjQmabRC*#$}yhUgU0k z*^Pvcc_)@`(M`tO(^#Xq+LkmyDhIJA#F>1;@9B@zI=pXkdcxQF62AJlSsV*S7vzm@ zA!d>+k(+J}HK0$_LW+9%S`su_N~Exq+V53vQQwU#y|zB1Vgq^%-tA#k?!wGC8elI( zcrU<!miu&c%TE`R#49TI>nE?Bls`BD7O&8xz|^^_+1}!lCHMGk_RxPmC}+ZNU{fHD z$Z*^C<H)Ilc>xy2lxr!t5w=ps$ZHAXtGiymew~H3kG%sMQg0j{RRYVfk%F=<?9^c; zb@FMp>IUsd?uJ4}#z;#f(y-TVp_-qZr{-u7vESi{Vr2BAKJ1+_<)-+y`-+6xtkIm; zxO8hbR7qlJQ~k`&xMoC31|7Bfi3wlF?UOb%d_f~Z>D%ba87;4#;xMFM#Yk7b!*8cG z1UwkYU}l(!aoUnAk+Yh7g6nz+V{dA3nqHQWq87fI@bQ`N<ZOHH{LmR-yC&b?*xIfG zTD0SW#a;J`<LJ2YeRwgpd`!v46$mzv*2+RTS0_(g--5f9Qqccof$%I8?O=7{y48aU zLr$-mdj1{g5AfR6ve_YM#g$z@%5_hsXz1-zFvvteC`I72k2%Af$#?yF<lgLyGj37$ zBR+FPHa~k8@!9L-;2IcL!1p=q{ZpWZD)0xdtLu{4NVUqn(H$zV<!>~|M+^Ii*R3vX zD72b$zNj|7AigXN)D-Z?7JAO7zImSDSkV^S+~E<Ht-rFqw?al24Zw7enmY20F>QV6 z^MzGb<+j{{)RATDQ73_M>`D!F^9DXp0msZ0UHt6C$k5+(=u*+^t)8jFbw8TWX{2M> z<jWMaTD`#?au+<kOr6iAm_2vcgq~j1MV5w^_L}g-#1@1}pwd=oFh?!ys}pqAXAFum znOr4+>SwV_{drnqt-Hgy$)AtBZw?io+-j{EeUjBKIXwL?(-S&-{W`Mx(mHsyyOwAI z&{f&Tck~$P8-vc^_L}qyjIep!jbC3$NlTR_hrt)!VokSVs>a;Rq+3Wi67R&)Zqt}7 z`0I005RK`w2j9OLRPlfqfFPBet@6%`nm!PI+d2>)92(%m1Dd(JjzL2I>Slvyi><Pg zEEagp#Lq;jka}<OP*aHeCWn#djpbFCF6ou?L-%TWH{-+=p3b>}!kH1Lg?$bZ=3MS$ z-Tu_R#W$H_<a1ehP=mWSikM|)2yc+b9}cmg-$74p4P7e`Hz$uIKQ+FWI&o6>$)Nu; zC7^EOslu@afQWVD2YwW>{+L8P96$bB=G)^5*xTgK7hSvd+e%MIW5i4GOjf>mjdzAL zIxg`|xA~8?-@A1I+K~$XUFcgx=M1MKH-w4GBpRET40z2?Lw`K?4ZZkj6&Dw!Ldk^- zxaA8A;ukYL3cNOWJyQ8YhytCE*q^ob&!s8-oY%+FO)EAt^RYK-mEE#xG(}?Fgd7P$ zD}z(m{M~0|=GyO*rdeVX3TsV~Mo+9He}^tWxQ!Qj{yu>J|3CQAFk4s$e4SW<*YamG z`#*WpyJRBe1nxi#_#*2mmx3$v-;aY$o9vY*PK^OEjL+e#i@<z}DYOONVxSeY4Q;iP z_){E!@3#l>cVmTXf0rvG7%H@Qvb}ubr`8Tp%(>m?Py6HF2QBye0>O_NQu|&Tm>R2g z{I@TkE4QXp;`wqqPf%_rT#ADZRA_ywF<jLqG4aJSa!$ot6}hx|iiGJOO)^zTkK*E@ zUwnC^7}6%_5}hYqe6N*Op!rMJn?6S^(g1i&dt$3hc5(m4`3vXO?<J!1q2rJ2p?$&u zZ}PB46)UTo$6n$)!v~#%-ZeV`oKm~}=ZA9Q^*?5}1YXaDR!nrg8%@kq*4Vl3=qa?f z^rjciW@({hIM@<Xrt1B77fF$tVKZYHR|alm7gj!XqD3$!^k2|GY7(`3TgQvN@=W8a zE|a|?-||93BhERZ;(CRT802aHM$Fynovr-y?sC<jVwWQ;EhPbkC+C@D5Mi3?Ijj-w zmgcP^z<XL(S~Khb`+dAEq&e@K_WV-u=FtNm4(XPbwspz_Ya@7`LK)w@OD{UOXD(|+ z$o{LAIJH1(RO&UKEwmHT7)e3F&n2}p+dd#SPE37KWo`Ai!WL3>kwe&)xs^AW&Hb=N zS;!x&=pTh=Mn((V({q#c&@f_>k8U>Z$*ElSEq+6;={U4PA#M@Rok4bwZI5CcF2?wk zM&R7#u6NkvZ0TM?=ic$*EWzoG+={gWT9<><JpFyk-Csu;vzHM>k6cOrT>XjEwMT7& znX1`?mb+b0t&fo=oP6Y{pC9~3RTq?O6R(W#=-MX)To{b&Gj4aEwvg^gZ?U0(>hF11 zt~g06r8a))TZ)JZN93D^Nww32O?-7%*rZ9IQ8_XuC1s1f3vV}-5Twe=c3Wy`WseYA zTc;F$mAV?otsEj1hKM_<<Cc&bR?rSA(uj(QNQEj2X}4C4hL`LXUVAc{x9`gl9CUSe ze<o9p$|_D%jZo1#&WmA>r&YN^@cZh0^IlQGd`ex=`c3j@d?&L?iz=n8($jQOZkZLy z1d_@`u#zJ0G9Tx>7E)5rzhxFB%NUtuW$8UgC8C4zr2Xo{o!Km1&QGt~O<a*>wWP8H zS$=Fb-pI}1%uFAcO<1$BP|VGK<Tq`op!xiR`17fBd+My?%?e1+T?6NE+HcVhmDWgh zEFFO@RiC;x^+=cSPm?<LV_@saoThy)uMGB<e8P&^<Bq;Hh0<h36uR~OJia><y$pk$ z>X&}{NJVaCWrZT~>Kfs;Ke6<$c8Ex2t;6!xtHRsr9!N6toe2^*wj_S9xCmidVb_z9 zd(tvgH!|uGpT9I(t2sv<6%~tbcNg<HKl>8e_uyH?$jHczZiX((`QXJg;!}UF<#@mS z&TWSRE((Xev=N=H%*oyKFfqk_B6<dCbd{dXaJBN@6}gyx&KsEEfz)8gd2;OG)~ake zCvbXZZ(0*G5C`@KGm{(*9DK8UKR1K@VL<!oS&#&BqcA!ln*5tu*^1MwIIpIpacW|> zVoOI`mw&rzMC!=?IS*~E==j9D^xR4$P2=v8RhHZC#t-Ojl2JNI4idZ`x*QZQGEqHo z4hGx3VzJ?F!o%uaMFfLE_7qhVu#%FJ%&HW#!B9$3rHXAYHub7eyF(<$&JW86&i%8o z&mu_K^gd(s^7$&uR2U=(e_0M|)$F}q)TOqv9Ka}uXB;LTsA?*HsoOg{QjQ_45q!sy z-}m~-d)4Z~XO!w3>hA8PNgf3PFKxP~Zwd|c<q)MkS1I|WiEj(YYQRRMJ0nI-^h72g z=|}s(;xx9{s&j&8F*<u9ce=+hnw`0?VN~$!ttuuiJ{gzQroZ>#P!@Lo&OrCzC}{PJ zYjc$Xx$ncr_0t%c77~uccaJz|e4&nGh5N5uM8i-L72DKNy#~rTy&d^`FxbzicoDs_ zF{xQw>mE>l-v7t^;fXB_)^+mB5_aL|WdA6^C!r_ble5ROTpw%*aKc~$3<(B`k8_@2 z?+RQzfx+gn`~7!r!}gO5xR%}+IF!HC(9yR$`}^ttdgJ4C;liJe;5#7&`}^`O=c$K( z-n{+x8tiXJxf2Y#3e*1m_6378zJLDy@B%&T%%7K!ZxP)7^Xh8d1=!!=cUAJgediHz Y=@f%fcVb&4{sYny@=x;~zkKt*0OTt5T>t<8 delta 35250 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 R@WWv+X>ob6d=Uem{{?gxCa3@a diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-2-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-2-chromium-linux.png index 504c1144e807cd8360cd94d15d901696783930f8..3bb823458640210c9f2aafa1ffc0950866d070df 100644 GIT binary patch delta 33046 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⁢}>%t@37w-&18f^#VBO6AqVkHKb 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 delta 33416 zcmcedWmr{jx9%4fDhLwNAuZC~pn@VIprEwU-Q7$Tr5ou|Qlz^Z7R{o&V=cNn&%<Be zckg}nKG(U<moq=HxL~e1pBUpF_xL^g2R9avZ{(R&LRIkHp!p*q7i=7=68XWEfs0pu zCBNRgG|?+IO{qzD$-i5#R$8w%koJ2Ve~>`+>_AYZR&0q%H|`~O6Uy#GIV-BX_VBPK z(MsLbMhr3E-;iQO`2dHw>oZNuGP3`g8YyW(c|}h{ree%)3Oz4xAo8AZZ-vzd=4|G+ z#aY=>dx&ME=I{rH{zBbGk(uK3(I`tSM%ascy4`()YmT&m=*@_(N+`v^#lqCg)UpHl ztVJ<k^t_)c3|?4Jplz8O2zQOO-)J1J#9{50T|mrBg*gw7mYJ2dtyBNK5bX-Nup9ht z7q}m8`TwYP5U(gUlNG)bC+PBdLn8nQ4UC?$3EvL#PMP-J-dpOqD~IiHc6MF4+Dd4% zMx`@~;qh4AcCB22*7m#3PR;(nbLJ0)0&N_dQyAI@p@YoPq7l!Th6-)FkneWW7d90P zmU$d8*Q-hUatpEZx2?#|&n;Y?UE8YbG{b_LM>1@drn+N`G3dpgU2C}zZaX60h5GH* zIJGD86;Qp^A8Zs6vEHevbm-WWI(sRjWqLL|@FsW@r)HA_a|~w;)Ezh9w7g3ngw1Z< zfO*SyUuzYc>(0G<2H;7mKJJBcFS0)${!BwWFc}%ogwpip&C@%S>r~(K$QN;t#kOB_ zQC?b|ne=uo7g?TNmBH4qm_L9+HPvN{lyyZ;9ZQ2h=~f9|!yEeI$Xy_PI8Etc8h1i? z>dl)wi@fk|jhYBkR@SV9T@lX_B7)qBD8ptg<8|ttofG#aSX!qV{224&gR`t1UvF@= z`n7cK2i(0AE%3Rj+$P^~g{XaSo0m%U<BjKc7Y)WrJu(&s55&kFTG}B2$KqwJKC=;( z=L60DEYt+K1Hm(u4ha>PKQ7#e1e~+lw!dK@({)zi_^pw#C)pKr#5(5YfpRu%?ct0* z_4gZBWQ0b`+~hoq#d7Qi5g7`})L8Z<al$sAr3wl0wpwZK$eSPxjYQHyD~iYz5OEZp z$L{<JC|14Ijl=}Q%|Ynr14_3e)_pZQX@#}gxOlQ?QTy9nf_rq4l2}MrvAEV>k7h1* z)h`9DJfAc1S?><5OYBN9BDbq72wcMJtA+Y%4u>c1VRFK&_MP9>tPF-=xz*4+um)W+ zBYW408JXOb`YPm(cOB>ECqHRF|42p88zEkM(Y@B3iCg{kak3+X+|%4ydfIj|89!Pu zx4%_o)0W_YC#2xcS_sBbH^FxD8uPWDu5^J9W4w)1-M3tXNMi=FyT#JG&(m!z5y*BK zvCGKcM~6w7ANFl-*&i-OCfBAD4gauz?@Pe?vNFMgn0-fRW$>3o8?J?c@@evK#YY{e zM0bhW+?KwS50vK6WR3Wt{S<wv^w9fi>vD#Ya(<z=B?G6+zHXb@!^iW9{j{_bmmk!1 z-{FHXN_NjQKiWI<l~%G~H&@oME)#Pt`OU}?ggieTP&v4?#-EP37qA`?5n*dO`SrMC z*piQZNh~15ps}GLPV2nV`V4``y}ce_5maAR!B6MR?dc7Hx2&pq2m5ZTmaj#6a|fy4 zA4+Vh%6VN9-Q|T$)Nx`r)kAh~#mQS2={m1Y)T^8Wu-rU%I&v9nP19eMb22OE2L|`B zn@?1ARj^cMysLQ)7Q)I-ajbv5V367c8j&{U+Q~NIN5-h(g@crVEcwrA`@hAuY1je{ zJ<wd#)TSWkYQv=U@b+-zL~5oSImVm0D4HV!80;ZTO5*9e_&G9Y%lb#lH!sNo?Q=ye z3V}eS?B7PdPQsgKdM1w9txT>*Q);k*%#S`Z!S_o<cB&>XIq4Zsa#Di)!e~Y()klkT z#5g!OzIu9b>1}Yj3)<pSWR0kaKuH`Iy@&(>5oL(iM0l|yLVGIZZPo|==w1((5FsU5 zovP}1mTJLb{lSS%74~D&DHo>gWJPP|vi?$O(ui)Nj+mQaL>xbaj&~NmpbuYu#kr2# zd|G7qWY}Ix%!R+)gvuarjo7hC0$d+imz{5Ez9@6wjWEA-tDoG#{&6@wt$)D1aC3Lq zhYQMp^9%3?H%<l=qF6~w;{~7))%P6+FHh$w+%D2QJji*NB2ioUwXe<P+D)F{-BDS_ zP8>;?u#sIn#-pS}L`;gwXV0adxvek@mldD+A;k2i`gm-2%`V>M!!~R71u-IXWvtFT zyaM}<>pNm!2RI2^Na*7CBUw}3GT{?gWsqdNabo{&CWnvpStN%P<IXG5$KTJFeAZ8L zqL3fo+&1XeNV16J%~CE60Jp*=!hfw9Y=q#lFDgY1D&6hTtFxS&pIaWNV2mH<)tm9& zge?uEF_x6@a&L}claiW%9ZB`}(zE#Y41}U!sl;p=8w<s`?$R?k9Q)Cu#d50^vJxyZ zm5{}DFh50yy+JnO`X}<TwUyKEA0n&k9@<l~uhSV_Ws)7*Y#4qBDk8p`#WPAd>E5mR zlDsX;H8V4=6cGUtp(5SpwLAFkbYi=aIZ`&K$#B`|j@%YJ!aKEOJRGBrPNM50F2RS> zZg{1ptg!E{mu4F`Z&``@ymy1r-~^qCkv+le8#lkD@Y`!z-j<aOq;H{(JZ#;r<+r(@ zp7%V^+lQ0;BoIdta|E55k6ptem#LyYTD3?|8Iz+R;ofoS)~I@wE1Rv%ZHLK1I@~-2 zho{usp=EbiCTVD-@$vW7-$%ydvj$_sOqfhwMKafCJ!kUq4W#F%{ay^I+0(6v86Dsf zoaJG?tQ)Nlars;i66u{M5)!nMftNC)p@$Y8(0nm9EiLWVa9g2Nx8B<Kav#M!&u^0K znnw=sxt~`NKPCR|C+eLEUw`k0v36YWJ@dSh=;+iGRWPdR^|oX4lWQcUtIf^Q!%KY| zZQ)88#bV}5BN^~ZXvtl`n7Z~devc(_=j`sCd-EubAcbOA71(bj<`!i9Y5#-M3n2?j z=IC*VGQ4Z>TX69AM2i!{*RPx+b0>XMzX`0CY`iKsuMKpX@ZL<b**mOFJSvQ$AJf!a z^fa?w<NEI22v>NRYw$Z$^6~*5p17&$TBCaJEoSD;ORnDLW(dcI%jRrzf~VwkQueIj z7bl(c*10!YCy~&1^O`OnU*Cq#iO!Ll%^93|8}^O}=frcd%a}P=&!AX%8yBIsZy++$ zg5G+PZJ)Z}Y8YtcZa%?rGXLi3Wy3H-(fpCca6+-j@+s@b@&u~&Af^LjD)qSdjl+8w z2J?Z{RVr)mp|EiUPSZ8~ihE?KbJG~6{ReLEST!Q99q+t(n8<*RMJcUh>Qm}#bC!#j z5qP>Rc{v~S&O938rcbTn;K*-k25XEk(KP2O>S#bh-@u|4&L?>z9|3|$d&EiI(dcH0 z7>L$$@pHLo_X#PzzBM;8)Pmp}9Vf)k?|<|aa<pEw<TLLG>u5YO0BX(I!Mt%I)x@yh z?f$tJ)Y5)$9B+~Tphaw<H6&g*f#Ul`-VGOp^7!HVc#Sh0VM{>m7_h0!awuMf8u|2V zKfHyNDo(hQW%`}r2%*Ev*Soiht?aF7gVNFMGT-YCUnFv+Ot!a&Qjn{X=wvD}OF}4K z87s@Y#_n#<#}7nj_sad~OVepNAIE@=lyZ9X5?O9}{J8Y&`cXkT8@OMbVevav9kZ-# zM)gOO42U>6Ua!J18kyDisN~D)j^F!gGQJ#in|^fzo8iLWgM*(S0<#|}tXyYi?rcM@ zJo6ZPFJN<l3p>2#;o}pK`nv5fAIdL5`uQft#EswAnTga00tyxb3<H>@UrL3(`I8e9 z{$GzAJ1LltcEJb?$*j<~<B$@z)YG(Vn~g@*{m{&r+LE@LXl;GOs!^?V^7K9q4o--! z-ib8WKNR6KlJ*w@mQ6=a%_rGqf<hdtm0C?rO$GY9tXP)^lAc9ss*q~%FjpjpJ-mU^ zaJqnFm%-g5nwac#_r^3rUDvu&*Dcn5Em;o5YdU$ZP@z5TJkKMWSo!kx>$!#>@!2ey zD7mK2PXAxO3@?sQ+#<CkGIiAt!?Z;m53^}^Uk#xg#uG!PyM8=xjM-b8ktw3`)Cjt4 zUVF}j<{c2Ahx|ghGy#<`hP>@%R;%_25_N1@I8#8eBumHYGsj%8Xlc!MsuqP##jDnP z5Z3xfv4`1D-D_J;h#yCD7_HKwZ1#H~^<8KBbE7}$SmdamqTbe&AJ_sfjXTw+e+37R zhTRWI$FtjZ^h7d!%%G}w*o?X#UG(()l-+u7#I{T8V!>ib%oVDlIJkK7f=oeb&51v4 zU6p$#;_?Hp`Sk9y1veaFY!pwjUa?z2VWHM&=ceJL-H$d426t7J^^xk^>IJBortSyP zBKN?MOL;27d|PcAyN7Oh)c=@E)O9MP$ZB_fyW^V@8Rl_)-}v2J>GY*LvRMrLF^*H{ zKf%h|-xm&*4hMH8cmk>Q5Cg+TUzP}Nb_uJA=4UEQr@0FI^73eJuGV%!bXl2WOwnri zX#dp|J7p}h)cvh6sHs(=!2LqCHg4RQNf2?-m!s*hL?pxup*d4%zv#D%+1DN1^vxMe z4||`B4*oY}&v8ZV(=M{Rc`ic-dZg4M)V%&}2bC)6Vlm}<{$5*KdlcHbJ&jO(4Mdld z4NAMK%11)t1zPZvYfz$a$C6axcIEk&Ov-Z%!iLgsgcj9rzaN!3%Ek#G;!;ic?G76H zH_NNo$;j76i*%in%#cX^k+G3C1+N-uPpd-3*d|@owuVTb`}q0HqmpZ(-Se#HH*R{- z`ZB4O-FFizO|z^&lT+^?AVBVInMo}oUg>xTX!ZKu%NogJY1@|flabCL9L-QLa6I21 z=C|C6>`ZtSvE`gU%x`z{`s&Sl|EKp&V}h|T1LfTW!=gO(czn-w%ebE$q(a+W$VlJc z$J;+io!kPH2x;;jCF&K{0c@3}d?kb~`w!CmDVk~$p;Xl{tO3I*9}zKf<SEW|$7;h_ z0|7TD*{|OuiE=|A2+5|_@^kv)CFc|nnwyeX3#DQgKaCsh2h1jKexj-tqVqL*mrjz5 zzOT7i-zbGN8vVrzVzb0~$t1Mg<M61f%2>Wc*C*ZgpO@Q&E~I{bx%o)#L?>HS3jJ_x zlo9-R_rc@3P3SCow7<>THeR1x<-9V<gvYGlWd9*p2cZ;*J-UaZaq-)h4myi)a!|Et zd;4hZEePOu#tO9^jYKKiuU&rgO$_HXUmeO3u!+pl+U-7vn?Y)aXJ5mTuO~t~A&O`< zU*pKg4OMdmKimp@Ss)VYhe5Gno~2xSPy97z@2%^ZeCwKP!J<BM-5)Am&mUB`&2D(g z72c9t$WSRK6K|2D0~viL_)SFi<g<Xs5BMz?9Ak9)Lsy>@5D;{a?UOof#yk8{OQ#o@ znB;PK#g-z3h8712x_K6_^5GH?B>W%WtO!PQpQuSJ9l@2Pp@d}7Xc@(bEOTM=t~~q_ z>hEB0o#b>Lvv#@o2*x`!RCS14-6Q3_@EOT+JWYv8D_4>Uyx7K0M`*k%5SjV-FunUj zQ>7M5M9%2f@Nk}h709)|UL%OkSLmR{N4Lciq>4x{AqF`yX7)sWw+PST%rpUBmhyrx zd3lytXJ;7b?n5jlJ7;}%kJ;{i$h_Ksp*Vf-VMV2ddWe-{AHJAax|0#Ty4xg!7hiHu z?HfjWKbyH=aaxR$P$wrPw9d|GwnXnn5{WqR!g5$;o8WK=2bUxw!RQr1=ww&8^B_}i z#pw_HdC!1YcoBz((PRn*5{Znfv<(MUN0e}&M>V-;6j4%Aa=`erh6bymLTMXQRcoKC z%nvTzB3qH`?9`mTclXukPPR8D#NNJsXUmPDn3e2fVKH_{+|G1!r>8bkE>z$*w{Z*0 zCCu3lGQ9cZjpd_=2m*c~fi#1d&~HWN>OpQ|l(X%{v5fElqLBa@p~G#b^PzWU6Iius zrOPY*6AM-iG}QSe1r6}Av9d1kj(M%E+%0Kzk$;}U`{fIlG&Z!h$nh|Q*zw5G@ky6j z=f^5v>?xK6UDr33x4{#k&K;&;563j2nL|kSZK`WDgLbvCVw%Eg8p85mr)s-%@#!F< zgVUjH1%JMvvRuCGi71lwgSevvEl8fxg|_!7-L`VtbiRG{wCWK1#OL>b!`vm=5U2Y? zRVZ?#XaV;s%z~@U5K#n+dU8$t#5U#GXi#1rJ40nG6AS6!EHE;p;2{60$k)7PG(Scs zDwT;V_vV#ZRjBSWP*zdVGSZV;v`#e|FLE!iun5n}_`t=+yFL;$O*7n5`vPlCc3giS z?KajOI<TnhYL3WEn3%}c*0+AEM1wjZ)u;-L+U)A&Z9)Tv9n^M;RP~DKL<uR3iHYgf z;fkSr7UN%o2%@G&v~#)LY2A-4UE(tpCRgRvwcNy#AjKpTc8$BkMM$Evwr)CFx-pCD zN3pV>RW4(TCDuwrqR|*`P6nHs#p20bOYi>p<5Vem|JF=oE7S4rPMaj<n_8Je+Ho7y zo@Psp2MnyU-ucX4TMLwo(B>`LCOXTbBT7tiJ{}nz=)V~&hOQ>Le_a>Gq3`y8#t|pP zp!tuZB625WZ!F&$>!X?TeO!{5QH5i<=N~#psI|9W-Mdrc!XRz~9GI6ws8A7f2K$`W zH6ySlUUDW}rK`)Eho(6bd%MuGFL>=g7nJq}?afC=w9ikAR(RP9)2aUcen<Up;=4+I zv=|D1vf%&iLt*FI9q{GaT1GyFnWTZNIU^$@^rVF3<j<8Y?^8WJ^!5ulmqR`J^Bp^! zZ_(aB5}f|uQt8Tf@E>wg`>PG-+}H7z<sE7tyTw4LWWC5(mrbhl?gsv!QE+-;i;?H8 zOJtzLM@`dE=76&IZ5I1PB+h-fF+oo)jBlV+dTAQ?_YK%cAHbf|Hu6`L;gXPjPZQOm zss}%d77F~`u2pOAKt%^(>gediuC&*-G!rE$xGMfIki}L+Bu35IlbZZfJ$4BsD85*f zHk*=T64~uo(xLlv`{;j!{_Jy7OiW5Kk;3#4eYTaV=U3w+vCy0p`N_K#1HqM!9wv#M z1UwVi$oOdAPdmI<;f}Fe-Y*r+M<O0gjkU*=us~Ih)K=WIF*(*mETiZ$d2vYzBXuwK zkigzdvJ0zlJ=wm@E6Q8w$rp>t*A&R<W`#Ss0L$oX%ROtf=z4C<dthDaE;w)<W$k&r zW7LQU&SR(VR&Sb4@4gn?-$=gcS?rkZ$YE+`#&3tD<{~_=D<&<K7g3}^w?lc^sTqz! zzp(U?$h8rhPr%-~Pf2+x;c7fjTWS#!(wjjMi9PLtu?e@^YTbY@n(#%l>rnAoOv*M! z6aJYG1;d*^ymbZQ$GDrPx+9R}r@dx9kJ=+y!hcN;SE8A-b{B03e!_CAO;hewGJI3H z!qtHqPeP**m@pc)Veb+;Xm03);=0XZL^uMIt3|fAx4BKGy|ODI-HE&!^(yP|TV|Do zI-5^jV_b-JNQZuZxr}!yTH_2Rh(DQ~F_d%Aum}qbQsX7`C3Fc_{BWx;AMxgu+ZL<c zZ?^<pQ{(xRA`3=xLUeSYTecQ03!{G9#{Kc)wdb;_)~PZvwSPio3KZ~<6f7(()?19* z#5;d|rvD~1e@JoYJFChU6+cDX2jnuAFCUqdu5p&Asi?fIF_lW|R(qkV%RM_A!mL&p zEhl<1&DCb0r`L>1bZy!@?zoK+1mddZ+*)&|S_RT4ANS>zZQKNJwpv<BjM9N$BnDmE z>aeJtkLL2?u!s8A=$MbR$b&x>deDH-+LqYTpE7TxXVljBp45kz=r-nE{kGo$a`-$l z#0;r!((7eSEzNj@ltGoTq`+s(nym7>*)bf$4gHxBDN^7UQX{H?ZAntJo?tj$TY4_q z-Q4`ID%X6s(ha3mSx7T9G}KAPH&6z3bz)+2a7YElPr0&o2hv7G<5=?bj8Nd=HBQz& z6t;1uC1Ikc_Z%5fhT-DkdIvy`($=o(*YuJ4aD?8gh#&3&?fe3Q)~JmS8@FyT7|Thi zs|#PC9r`C)OjHD@m848J#r5$suE)9@m@-mCw*E5o42XYquKIp?q=Exz0bOWz$4<R^ z)}T-HZ|+*Y+Lg?7{}iWJwP_3D()}l^T#nbblHg!VOpg4bWl`^*ye)$SHrj;?-XOBk zfaek*tjCd)Cpc4@nVBw4mfzC|h%t1f*Zl12^yv6voPNJFk6n&CQ8=NzjF9L%(n@}e zPa$wug8{KK47C+1D@Q40YYUt>SV*>riii0>_-80X($m#Gf%qXIDXFDr7M3QeIK&Hn z)*B(i<hbR2yw5MnQk7SnU*A0H<IIyuYb@rt#8**l@);O+ii#0M=JG-MA9)g`M8*9- zCt{JOR_5{rVjU=}sq~kdDX8*g9}b)vnw!6P2Du9BV-uV?Ewsw6(%Z>wP*PIL#is4& z=a<mOW?}$gnzvaO!W|UWSCeY5es`g(Ywb?smZbv?D=P&qF1xhjium7f$JlfC2~Hck zR{c}{@-pkqz-0?-J6n4y=7qLFgJll8Db9)_BY4vCG*Eio!2emE%m~kS8#{yaj<^rC zyPHCSgX_S6aN5lJ8bnx}R4rcpdg$w{va0INYJP1Lr^6i(eB_EDoRGKwV=2gy0TtEP zfw;pCwev+qN9UVNBYYA}q9Uw9$4dtSJHl7_M$hN9;P=+O!iyg$<xFZ$6dlXiLBjvU zObJ>&{Tz#TJuw&|gzpBL=ZRx-9aBATOjqkX)9qtsW@!sghvCfr{QB(%-oNsLqyga? zd0d&@{9P;T1UCl6P%T0>Yx=jEz8na{1@|M@1o-p0jy2LixPOW4`)6>h^7AJutZo_% zuPwAI!AMERb#<WR<mB5JcjUL_{yfJ5@l~qhe5Y>8{28tE4kr6KujZevh2vzuhkG9< zB+`4@44S-P`e)pCLO~Au^Pm3@Y4Sg1Q|N!ot%a{GzL@5)7Mb*Z;-s5yY3}_@T6#8` z=f=h~WI;zoh4!g{PP(V7^rk>TC5P<<_W=ce+(L;Y`Do3Tt5t^Rv09Fw<LX-O&k_ap znC@^;t*&x+R%iE6!~qMb{7+LxU~B*@n3svqRA+K%(#RK*dNnmszBEyBXR-ae>zwfT z*vL%(1aL&${rw7Qz%=P@gXj}iYOVKb4*b5V+}iql$V{K@V{?s%q&(U1cTu@8rN09} zOOs-9^9KmX1hN;NJ9@7Qv?mE_DEPv~WaHAjEHFF|H;w&I3zQ^Hv&@d1*WLwQTsRa! z;~yo=Vx8VD7Y1>;kg)mJ#E<vnDZVe+6lwLo!?lH7CViPB`i@0|SB4`fb8ocejNL}~ zc*mK3RP=|MP|Q$fH>e)CKsW3{)Gl!Lyiy*tF5pqPn^pCE9?tji@!R?E3~<PB+rg); zi*XBDp&UlH1p3^6>trcN2`vvOOW}#hC0;{(X+;a|O<-t5bH{#T8dBKq4`Ng+xFK1R zTQ@j*2it+~1vDBqQEn}q-^CIu-FH1I8u;;Q_PH@F6*t519()Qk)u<n#st!nO!CLML zS!eQ3%+AVM8vRLEsni7uvE_l^s<S?OK<n=rPKSzQq6*!6p?4r(HnXWkFtlUzWVzoP zVvA{?vcrfHUXi|wMCim_uVbJ*526`Y3ZCrZ5%Jnh4Q5Igigj2wXrD-31D<ld4*m5v zJ01@G_`CcrLPGG@(b9!jZegaEd-K>ws6Bz2cww*jQ%GxVpgd04<ukoqCb3S;P<CMb zeev2^ozW8L5O(evz(7wQ0k_L!_;16bgtj%0Ep2(wpa*QHD8tj*Qe*d{3!yy{;ai`8 zA>w?GqH#a=Le6xz)`qR^EOiPZWx~LCA(tTT=y(HY{<$vg+!$`YME!ju<;=%o6oTzd zDt;MZ5@>nvlPkD?e+Z|9uqpN0<5IaZHLhd$HF>4HjW@P68uw3bxzwKc?!+%JwtK#X z2K)=*d`haHv-Dl-dP6@EZ(g|aH69&jqoZ~kQkg(IX5z%mWu!<ace`Y_<-_4_I`A-D zcY4uv9c)tP(kT_nG(~+0oSKPt_4AbkY-TxsYT>}Xg31NiKnG1RE7Fcy$t>@3JN=Pw z5)z!RDiYA5x(1_nrSSDOCNQd|H|9FQI=jBLo7>_K$r`K4U%R%!VLZnSQev5Vf6zCD z7Yf^jeP=c&>c4F=)pIcUERMN$PNSPzT5Kja2{0I-ut!M0yL#KZ*qRGpiJO|6ZFUdL zkaA?<kDxTIu6Ffmt1wV%z%2JYDQ#*g>(f&&TLP=mWyY|jRJVtH*~{c4LB-!5(<PK3 z2*;;^%jxXRO!<@dp??CKesS;E51;KM@5kEG%o9Up<s|o?TC@Cu{Is$Eb#o@CWWtDu z@V`{5l`xc`9P`#czOi)fgKWAsORSy`19^vL=^%}?pKZ|vT}9CH#-*ght_w#$$Ls1B z5o);<l~SKLkHUz|5y1%?=VE}J4zawdnxv78Ih3S$3^qw4y6ybfJ+TU`6Ho8frF378 z!R6h^U&FsKK>L<~SvWMd)V$ET`vy=6#5&I!8!WADUk@PKdZEvGTMJ6|F?}eb9eo1v zcQ=p(1VG{F9lQfUW#Oilxz=Z@$JBr762_NcIRej0A>H`qM<#i1E)*Ma>2Q`j#U~H1 zpi~p<V{23ca6`X-y)kcdcx_{nZ3GlvS|&Os{&pP^N5?J>*F9PjTkvdbZ06?Y1I{TQ z5aGUpL=katjvdiQ2Xwx7?$%tU&3_cfHLG=Fc=+M;fHPC68n;@oXbusUzAUn!2CDAF z$Mh_4>~+6NHC|OaQVCaA;cplV$xo&xOh?a?Igp$ED8}O{HLz~+NC-ZMC5z-fU~LMS zhv@!H24CUVlj*v85x(A#6UizNg`yyM`<Q2sklaPV2k^oPlmsOLACFIrgc3y^LS7|? zr;VW!?<d}u!#Z3W$bB0Pwr@VFj*1|6?Di))F18%?+O`}@h~q%Ucs$uP#z{*@M`lBv z;!0%{n<-2bl(V~^fR%bnK4<R|cxGA+)YL}{ATF%UW9R4PX?BMW!l1J9iZ^Ksrwi?~ zfyLoG@v1y<Kwv0Y91*v4E++&8i7|inswA~9;RP8fSe;_S2dSs85BH**qW^p~mkK{k zr36ci8-i-dn#E=)0!)+|>+2Ih<5en$^LvwEvGKE(p@2JOgsl^LCZLLVaUq;AGCq#8 zH8Zq5pxxQo$qyB{-NXqA0S&~q@%pfe65xORdS84kfkMF2x+vY?G-70IjNNpC`^y(` zSeXl7aLoI5g|lKMDes_kg;o89uJ|yHFoSuAQ!JQ*BsLs~F-SI^r#y&}Lyn2JhwZ~T zCE)`SZ?!3<yu2c6Dk{-YgU45ZLX?`arkROXIq?K^hPu6Nl^-oa2eQ1>iwZ^9R5hVQ zN6vM_=_D$d6~&h3HlNtivuI8S#*QI#slx?#!9CJ^j(p4|q`09ne`AXrYG4!t=AXdr z1^lKYg;n}Bp(7?Sa?y5B4w$Y9xwILRk*#IO=U`GsIK~?7M)X$dtV$fGvnhY}s1{ii zgO0uBDXTiZJ4rjGADQ@QM`TTXEiV@Ujz%1qe&kqynt!zL_z_t{Z<s-UhK$0Cz0DVs ziXX~s_}C{;<HL&$l`&u-G1U+cG?tyGi%TwZ*~Uq602l@a3aG{ft6|eApMZb|_e|WL zHp_{DCO4BUIX~#%=aT9KUb=;%K{O0k`Tp~yTRGCf4~>SwaxFIuPDDz|l$FigKhW|$ z3iaI77C+K`GQj00pXE-gM{%~BzMRz6VpZ_`b^F=o1ntb+9qr^~P8UHSi9)Y&4f8#& z8jyCi)<x(uj|q&7=R2%lv){Ok&V3=*zLp`yImP(Ve|Z|~r@RO6*KbhmMCtDr9|k%M z{v{&xmQ~S?l6LpaUv_vFtCU$^2MwmQ9fMS~qy0mO)5SRSi}p8+ZB$!7o7=xcn?w^n z+y31rpb8KyHGln0PPAcglvoUchRjDB0Smz8VoXin3l!j=OR7uy0}S7(Hv<NYh(AV1 z1_uHd7yr6i3zI=3>+kiF;9!6a&1m^Oi;e;HPN-_0v9!M2)4vZ}z%FwA&BDzz1K2;< z%T@E^%Axr8zwY%~&HsxfNc+$C{PzdIKfEOP_ox5=AFlX||Msm112^jw16J6zjy^Gz zs3}Jko_ncOU7Bz2b+hy@cE$U-trDb>7=So{OzjsaaC@G#4qVc`wVu!qOsE2<Wm}S= z-!Z>{NB^udnq9b;C@t`~z<BT%R&1oK!DhuxSD_Sa^HKHCfG*@p1GL2EQee>KI>Zw7 zy6}W2)L(kzjOVvPKq4QT&UD2$IAx;#M=2!m4bvT3hSpRCB3U~0g{^WFO#WIBI8KVp zi6!&M52r?xMHCyO>UVBqa++TrL7O<l#Lf9)vbqCgi7s8$#s!zC<ae1zMoH^e?qfjG zw~Xl$A=Yjv@HM$e6i7}sGp$x6gBdRxW5QJm^$0=MLKKzPzWn{2O+0)@Z+lrF>c`9* z=aNHxO+F20=-e!Ho94uh4zMWzK+-fZX><@j#j#`yUU$K!_XY2;*d6ZCoXN+jQ;(g| zovoK#f$viMCKNUHpA5al3?<kUR8HDz0iB75-_^r2yG&|eFr6r;gdx-^FgK^e%{mP7 zq4Q_-K_{VKj(6)k!p(&gyJ!9GCg!=%;=51ec`xgD1+$f=b3_7Ty7AOO4-s>m70>6h zqbE(Q)FM(Nzp;%-^Ir$W01%+b-GqsxEvFS0ga=vC2+!vV$6M8<@{kA?K(f+JGq9D* zt;X@pihqAM82hq#!|SW{eg!26c|Tu---Q7OJo-gV_2^|sFaE9)tA=OsE`3M~m%(qF zwiRX;=BN@)0r%3)`@|2LV^}I5U8si8>U@Zccf6dObLG=P3witY#;u!NcJ-Xb?->&x zv8L`uGDM;eTTJm9nL~gtkv>q5?PL90$L?gMtP+1Bby%DClT?%u5D?tj_S($1I}Cyq z87s%Cm0tffn1sg@V^`PPo51E$1QBh{JjqYW?Wt1G_|3aBTXOl~#9^PK<Z!i*0Nq8% znA;>sZnK{I_xZOr8)-9BLI%mCdmQh~<~k~}D+A_7$DvXAY9n-2d-9iqcN0_iJyXN! zH1^l(j*ND_gXCTgAlDXNvSK^PCe&z7*w5{$0I2GA9avTO&Dc|-YMoQ9i%gKu(=Qs! zW(`!S9y5(stxCGPrf91EZW4;Cb`)q9y>kZ}A+7$J?B?zwkGt&h8QMa3c-Zg7_B^X? zZeEsXS;$K<ATQ5xhbe5VTsHek16*ATDzAXlshgd)w6RK44tWN9ceV%OwVm&{!^Sms zAUxB$HC|ksSzC|*{ocEakn$&~moGK@;^@A5KEDs>%g{kmr}d|Ao8V(Hpm5{Vf`h?L zE(a}}2djzdso`-0@Iapcz0t9*Ca9^2sD()*4IfXRl{<$>twLYHR|mXQGbMwp&B<9R z!x(VY*_)c~KOi@oAiyOEOpcG2+RatVrWP41{-IN=b##m#RW;4#=ipZ>8+I}n#cg60 zx?WH9^Xvk_SW#;7IXmE<fQ@c?rkqU{Gv(BNLf`TAs7l*=7)m+m=BqhH(CYDnR58b( z5-H*9?8P?mQzrk4t+XNuC&Zs%`T16+(=MOb9=o?+2};Fn1<*S(HD%K%!Dp#5o|{`} z%@#tNC@1wUKW>akrUF(~l=3|4m*I7S2m+X{jUBvU;>)UgssFlC&NRD|c}4&^DXFBX zY23CAuaZG$7t~d5cN%D=_9}B@%DMVcxG0lM*g<ueDRz)|(^&gmU;@v-5;KrQZ=j}8 zh_3|Z4&aQMyWyUo_z62a)_V*3A}^ppkJ<S&E6}mgov$I`3AvaY%eQKKm!rO`11Jyf z9JPC|`5{;(bkcleAa)6Z%c#{2p9^x?Xw5}_gHr5s`fXVLW(@BXrHZ?sV5Fs+IwvDk zrXv+zRS5#e%Uc$(k<l^EEDOR4EV4GB&9A*Fn>j~iM^n>s<8yHVKZq;mku73F-!#b2 zuW{#T{{6bH!O<gBI<XM@qpwFtj@GChc7ltY#qHO;HTvP!W&A?<M%%V9GV*l@ZKTjy zRK&}F7J-*u4oJ}0W?vuyPHi0jc5_y07-(tV6l)0qtixd72Zik#ANSk*9X(_;7dqYx zOwER@=NUCmXyi83_ee#%l_ktTp~rxjsJ+Kmyz4O6DIj{eKx0qIZ^|s+0&ms^UH_!f z;GR5ugdKoK!Szr6MaWl}qunZV+!q`^H|Hv{FaYJhCUZnoY%C5XWl;3!IX@y!U}+*P zqs@tiI$6MSfq&9<W4a+4;6MZ)i~ZLfHg1A$YpUz0{8gvB)OpcMXdhokk`#08^!T=j zYju8MG2NA$R&7jADrVjA`l{3X>|F8PuW4V%IlB@EhxqxolkB72CL<W{`h-`m0}ZfA zK&cQ$zyG_?sio%Kp$H&S3_U*IDJ0O=(vsy%BuFDGU`G6BR(VaP21bK!pKexo0!N69 zyYx3?5`e6T51QC9PJ_CG@byC-1px>wXKsr(enSDP+MvP3iVZmc(@@LRBQHGsfrpD7 zcVPHH`P6>}m|s;W!FFc!9$v33)@cRIl-Vpm2uL{+07EmoJR6t@!7};GQImXr(Qyu- zy2M;sX&j=|$0Z@@UZcx&s$OCO{imj#$)aP-r8#lOclb6DS#$kCqA!O>re&ic@ynd` zkt)+$KYwbyj>-=PBG!Fno)bD&EhsO`bM8JQ($-NfaOM)Dcy*jz8{`|{qgUs>sm!g% zeHkYZsoT4%*H>SOb8PL>*Ek$YQ8NW!4{&q2Y6(sVh>YZK&T_2qEU4W&-0*ft9=mbt z8@t{HE+7>wb{s#T2kO3Y(17f7;ykFv>HtW{VbhBZQ&v%Z^H9TFXKfzkyxkt)qxdLo z=t4NZD4))ye%Puzn$Se;v@;<P>=)s5%(pmSCu-^^I~aTd0^8S?uY}CqEBIt<VO1_s z;XhDg-okWh#7}Z2)XZQSI@Qmg(IVlOum8b~RiUvF`7Mtf;ClmOkzQ1`GyyOyFZ()K znDYus>Y1q$I%?P7;{c0qK_Fs7?Nef^xoFpNUkUMnJum3#^rV>ET?p8*7N*l7sQxzB zGJGM#vx6@d!J7KAwz^;cX|;tW9hLDX(a^kP=W00*pNkeDzp6IsZK|(9?4aLWEmVT6 zF8zo;Gm^+~WWPgp?V1M=y3~ko{vXkfRv37^1AYG(l&|$cJsgnDf^r}GKB@rj5u&Tx z$^}ad2Nl=e#mP7zSz4tV$A%JGx3>PFTD+^C06ubW0(h7qs0kal{}89%DM6s~@mK%; zMOgl(;6FUe|CbMoP`^C@BnVBAGP<1$0$Gy<t3C$+*w_Y~DWg)$X$AudWZ+4*#|4_r z73tknh@cmCzk7?^?~$#qU+q^w>iB`2Nbk$|AM}dUN1<$z!Ji)kUV&0`dz_MiNW_Q$ zv{u5%bERX`h_to+$0M>wJHh6F<>f)_>0TDnk0C`8aZ^k`MN`dYPc!()z!+tCNco>! z4E!K@umgv3RgQhka#*`vFWMxRWdZ<pHWgr;E)=9&BdFmjyYHLWmou#So7cD{K<&bH zG+8_;3Op)@^Be2~3gI~2z{iUnZ&F=VT%EDfROb(FpnI|B#aa~TK*&ErQ9dWIbQ?82 zNBN}Vg&iZ{1XoJeWxZ;|jgardfaM!Caq-K)^Kb8wIy3|@5B|P^@cQmRT#M=uLznEw zivo5V+DT>y_9d7blOdCt$b7re*JC_~z!AZu$fBPBEo0HHl|q+6;T6|yfm}kC&KM`W z{8Fe;56EngqsU=EE&+?SJ%MLeMaTm83QE2b;8wymPV7~XQVC09^Tj?!^j~ArR4%(V zpqR(4vPcj0Tfp?AV0>UUiH?y`NJ1lR-M0=U;+=K;GxKA-2jpD<;$)P61SLh;M6&jm zxmf@Tnz@ZEf`H()S{@lxJMI8DEbXp{5BN~_%K{x_+hRTF#fO>Y0;Z*(fSCa>Et$jT z$|d#~Jip(um!GRF{u?fMx%?OgZ(+!@?_dRp`yTsGP&og7ue<2E?xTHbZ|)bCOv4l7 zkfM@a^X}0p&OKvAj*?1#0bDchpT>9^LuQj*8HEtxui*+((A4;zIo}0pMYN^iR2HlQ z`vJotio_`oqj#r%67&C~^5iQ?AF2fhQzi<_<tv{XkenXOW%K#=6}*k#Bcn&V5Oj(F zAi}ko1w%QHnD<A^J-refEf@Sxi|T_-1G_5S7g{tZ4jA7<bL8D0tKv*uH`E0(RC6#% z3FWSwVq3$(+ZcYQkyT)sl?zV@IGudqxM*4~#Ai|ONjZ?z(`Efz%!c@1g{5JO@kYr@ z7ea?pQ`mQweNi-rO{<f$#s{AOk@M~-1&BLlz*PDIw6{~eDwHI=gIGsfTSukDo(tj# z63$(>0)O|NNg?zO7Xe6yU6U?Pvy>B$1dNmEyR}!&^k`w-va&ZOFp}O}RDot%NkNkF zH#s6MJuEP8Kyk7gEE_*|-?4JW?w76~ZSw);A^nM!ZJr!HSDAyPeRhmwFZIo6LFiZ^ zXy1H$*hs#XBut-0mREnHj|XB_FHZnkye|i(^!;K+WQ=$B3p&%&dmJ1R&m~Fc#s8sf zxH8V)5=TqZW-{&9R|0xE{!eTJ=S-yOCU4dO<mrH%|5-fS#&q}6`(#dlNxj4m>l!4+ zu)#2&a&{C#7L&R=E?9E82L=St@ba=Y=U;RIV>ZHSJRAb-Q}cH=HQ$?IFY>L29BbBQ zrFC^_LFT64M<7@H0|I!M3}iF`T(qVll4w!80yh4<0$FsV+)G2lB-DC%=DduuqeN1a z)_mIAjL+C8R&_1SQhPZb+1YEyMCb3ZuSnr<Ov9l8<LCWsXD6rAAQ{i0DC^3MFn+1d z;z6+gKzWEZ*Os0r>!wJp2er4VtJFs<a)q54spdL+F313&cCcS$2x=a1bAC%_$GY-9 zSE8EaLE>^5m^#<NOpiMu#E7=~&$o(y>$i^tZIu4u7!2iW2ekV`nM5u!tvIFiKSnZk z&2O6=s3dxIo?RtTZ>Xv>;e@3wNHt$eX!_o2$CO9y&a2O^YoeA>>H-r1>z|)e0T&ze zs?kA#2McBkVz@y2Y(&EFZ{b-ZG9+@^NSy>|)W#G0pR08tWS6J3u&YBmps0MkLWxi2 z3skvab_FiLRdRHweX0TWoO3!!|A_x<a1ZoG(R>09isw{;AcJnQ*F+qjfXK3%Y2DVH zXJ%nJItvRLahqWWjvG)h&Dz^Ph{$kB-~gQhzWrAnXtGvu>XGVK8^YYEfvX4^9?q<s zaI`+j&>eRv2RD<iy#<pVHocI8hb@3XJ8?Z<=c42T-T9-VWrS;73cnyE*z?2wfueqc zS`C*?Eu9^r<JifS;&PuSHhTJMi-kn0c;dqlAIqBVi9vA8jW&4vssGJL2!J1J0+vxg z@nBML5v!?@0{b;z>vRf#_r;6nS_UTKfor3{qzm?LHN+wlxKfOmq+<7kgw#|W2RY%f z|0r98hl3w91BNz!oSO$k6EW~$he2LP1zv38Ei%pb@uXcgJpqXXC|ph&tU>8a&}<(W zQ|8iczyt<%#%?nTv~=pfCSaHA*=Y6s`rN5f5ku~RE!rz;t?9t}p}IScE)$r4$xa@s z3y9cQr;g#dgsyP&b=AD{5cj{w<{&rEz~<(*5TJCq?Ayu0#z4o4sAteiYd$?yNJ+8S zc>Vy;AS$9^0Cgr{){qQ4;Q=)%a$ywXbzF7S_yrmabcp*(RNUGl8K0+6#n3VF#c(4} zzA4}aaOwAv%@@*VDqZ-;gm=t`Oa@$m!)0!4YWC-b@>A`L9rBgN&`oP+UDUxkY{+c9 ztJ_UXY}c*b+v;-iQ1yNLe1eFO!?le9^A6UMbpg#z914my5Gpd%s;O5?*Qj0W`5s3y zb#>lk8Y!E<nC|a~WBmk1{N9-{H#jxIc@Uewg<eHE1P9GeH}oJ7q#gsbHcW)@GRHA% zXoRo#OkR*L4cb7}0?L8iY471m>B_A-ug&Uj4)cPJx(@Ro8vsSj-s`(3c^W`D6(r!N z)Z3X!54gd&YRhP;!U&@I^)=I_o&pX!=_>KprkLZ06q?H`T~`MsR+w%cxi36{0hFjU z^nI*Kt=%x*{KB4P3t%6C|A`3}jBI>)Yv*%F%yJ#h^4R@^WAL&2t3$S04tS|aFHDWp zgud%zsP=Tr;rIZ@<-STZ_O=o7Tlu$}LWk#_Ne@=N{rn*6NZ{C;sX1Pq*J>it9&wpr zmsT{R<=tp|f2QGjaVJ&GHSuXOJq(aHs3OyMv7VwLfGBws%!WN*vmvfCJp~tCgxbHS zfb~&U!EbfZ_uvX0x+iw|u7!8;jLxp6bZtbk>+u8StwvSAm%mQZIa=b7VX0+YPeabt zck~OEnzdg}x%tiXuwN~W!vmI3;aVesZqS=1MuiOUxGan$W+ZrhuR#ye@CtJ8_TGFc zFMkpkYuzR6d=Io{Qjf@ALnbxQWzH3H(Pp|_bMr_elXv5xLw8)(_|AgZ0<0#U(+dDo zylm0kJH+!Nhr2k6S<^Av-2gp}s@CO^P7C6hdch0&znxuOBPWfo30{*l4~d8o&o|Og zFY{>&iwG8J15?cZyn;>aV#g#Yj&UEINXQQBX+2fe2lnVLX((-WImCk})*)@a^>*FS z@~#hWQ=ZoBJ6@Lf&mQq2jkU2MX=LP8q#<mj44{(46ER?qY&joHE4Oh5UD3wKFThR@ z)qZ|A-)52Q>dOH`!4B#e_yIWmX1y`@KoN1A09?8}(=Mb$=3NEj(t@HNPiiKJLzyyn zI+sJ1Ak<rM-e(|7H36(q%k34rDW^graGr>}gfBxW0Ay+$GLnX=M6B8Og#}VNtg6NJ zM<@XNSS_!dt2LP@vdVcy1fVGw8=(VW`|8l0@dGg#9)rQVdVmwf<l^GuH6NEQs((^y z&vKO2>4mUO<TRcDckTVDr^C$5JemjD@#*XLl$&vhUTlfz_*Yl6B!*v50s~^PDSG$J z^@tBP<#KB0_{Nnjn2)b?b7HacSQ_qbZ_mq}^&z|(9UG5~<k^0EV(%~6VthpN{A&@u zjCBKR(DESasU{CIV1sAMIAEP02!RuJvb<BhQwd5Mj87ub8jV)QV?TX*A_$eb9r>lm zX2;CU%zSb{UD$4jec_}N`|)CN2e^)o-%2KHsey92I{2wF0y9+3ynErW(Ob~*MAdf1 z%OhE2(ybbe-*JJ+X?KA-2z9>c51J=>(r$G*l-Q|bd~_N6h2Vh4`mkT$?~aFpdlxa- z({5p78m<YttQwoQ%F6kn{)$zY;NE$R_H&J&PuEi{mW5r{<a}!tiG<WhVXvyx;<j2} zPO)B)z$n4b(-&u60EL<tzG^?_Tz}Csl1|8XcD6i`R^FzQZht|6T3h-=MIWJ0ej4@e zmlO-63YXhgHR;C(t$Fakl8L!3@|ngv7J+iBRu@Xv!=}a%iYj&U=_}4Tp`EgUnt4FE z25DT+a6|8pxdKuaoVEv;V7b#(&&vg|FF8t1(=|qbjA$$Il9b@Iop={!En>XUH`w{1 zV(dr&2;~c!8ZLKM`A1?L`Pdp{)=Nv2WP&G>No1>~>m22fgf91$pc`mX$sj|M^6Sa7 z^mK)UMpH%>a=b#O5xNV9ZDMRJrRnI<nGO8tc%%BEGZsadsVhLbbkf1GuYqzS^B}<L z%N(+C(JCqOpiXCfM8zuRI{F&E{G66uG}pXOTC%QnoV8u0m=c^{tsX58^N;5YDkNmJ z0inR3a!BlLO^cted+E7Kr4yl9%#c?Lr1)^?*A6iZSP>n^eoFiYC^7JNiJ;9#suV*P zj$OA}U-%oiov)rexsM)5HV^23!#A0aPq9VMZi>HH>rV#jIp+OFt?BZ3TcLp42JR^& z@T%B1QQOQ+&!2;fOQ$ueZNfP(rW+g#06KBXIT^6l5#JqG@4-MPPb~=&h>4BmGG7q} z<Z{F8^u<Eu>^Y-S8m*s_`O5=!;qLD?I_>WC45F+FWk-$^lM{JGRq(McDMGS~@F&-7 zB6BzhUMX5kwMFGR*L#FZq)J!Ic}<CfV`21<1!Dlt+4rlP&~&1Pp}8t3hTG*144`5B zLj2Zj>`|o}(1TB{zaT@vk~xT;ABkVpq~jL&bYQhBU@N{(A2>8>S*R~R)0$KS#2IG& zErQ&sm;EO^%7u*EY;{>#S&uYIXtOKbq;wa~2}xN1iWrz3lgI2czOi}pmd*0my{lDQ zdubQbaC2v;u_C+bQq~F}H++{ahg}lSLyx|GMb9kTgeWiXjUSK%)iUa&+g^m?;*qw1 zgS4UQ)luIEcGC6E26Bo)5BO<%O(Uq%=z$A%Z~U-tveYTGyw5pKA*|1-^%q#aeb({m zd*pnJF-~VBFPDXmxR0-D=LAAxYm6-@BUa944i6W&z7Jraql!vYKwT7G?6_KAonD5- zAd$*#fgPE<&8nX&KR?}?A@+eOMqpnGwj)<C>%sw+Q0BUi#5-4b%r4q3;$jcW`M4|n zoh{wv;N9+Gr<IugUZl?@UZRlF+?UzQ(aO!G7=#$s%%+e{;bDQ#=)25EzYTjy-WxYh z74ow9Dh{q8ejA%)66JgJJu2pT@yHkodZ^#}k=9}Q^pr-uJaob(Og&V6b6B9;s0MK& zj5s_-4zxHZ>&U98m`tE-0OfKrT85p!bhtly;@!6MC|fbJu?<2bKkxT+%(T8a;L68^ zMnqvnuU2`AotSI1SLjp`6F1z!EWj7h$;D^=4Hukzeb&OJs%==CQ)bU~*979-s5@V3 z5g1a+9DLy*#TfqByD6Hlqq0KqDJ?!p_Iumc%)%m*yWFT-b|y(Wt4MG{;+d;9HEx&! z)&0Aei>H?YpS8{_bQ(+8UH7!e$<7!W=1Pvq6*32@SgG2!cIQVN9m^{9R$B&}@5pE1 zcOYeW$nb8%!d2t5H*6R#MS>tzp5Nk`gY)eHYTo=VXj}{do*vbh;n&)=R3i?1qtzh{ zIPah+gK9RtoDYf3IZDq}`e1Aq@~$g{$hhd(R@H-@R96Mr>DW#u26)Wd655Qg7wqpL zOT~bFl$7*igbv2HIpL8nemaW??rf0+Li&pe2J@w_{?l=V-tWP2(3hHI`Umzz-<$KV z3D3oahTgJZ!~V|l;aW)PW)d)TM^~bx+4aMNqr7q5YaS_#QI;lc{8W$bY$?^j!|ghV zj5)XgJQ-!s!=Y$tT2yYqjp$r{?;jiW{RX5#3F<mr&}MpiT#(w6=A@%uMdH)gBD*-o zDm;g&%5CNyvv~tbf{zd0Kj$X^xecM1s~#O%X0;kP8*=o0ph&pcpsk$om!A@i)wVIM z1T~ea+ZYkv3+#p-D+LxqBW9j`Mq6ic*D4X5!!>bvx^vgyDBWZ9Y+ZYMBB3fVdW5RC z^e{CVOiwyeVp4UJXhppO_l}RUzj65WH@Wur07W@DR|0{_qQxaabWCGQA#ih4Qd3jK zQ-^+BE?I0Z7*#yC2?Ub@A|h7y3lA<-?n6<kJ0#fzEMi7qGeb&4LbOH+dw03)KN{Jo zdP}ff47YX-9*6tuboZw(-@gr$!{(!<)!$&lcIa=jGs!L#K<0RS$<cB@a55iubU%D; zK0LDujd)yb)m-1fDYT=CrY1VgHEf%nB5@7w^&Z0c^e*vdSdf&{`*ojI&ZlOoMCVSK zub%sjQwSs+d#@hhocHFcq5B^f@YxE^2jP$j*>x`=Y>W^W@<X*Q=#EahQ}uhO>FA)) zK*}k~Nud(>u=wdUn7!Wd{kP`lW@8D*Iem~m<*?*8>(sZW)hki_&g?NfMp5bedAk2> zxIDM$O#yN~Q<$@Zk)KpD`cIYlTft1<>Bm2SnfyM$U1U0T8_fPF#ig71T3*f4aQ1b0 z5Yd)t0$ZrBK)he1inaOOB-0FB<$O&N*D7I7F~gt3;y(}?8jp+bworF#y+O!Ad10?+ zSLXaT$W`a-Lc%-+@228%3JEzPEf2{O+_GLJF6z7&ok{?=b}MoAYM^1a)|8tFtgv_q zQyJqG(=jem-CG~SvX^I^m{jkj`BmJTjC^5Yxr6!Q-pWmM7h+mmjuX4pPZUqhtjRAg z8YO#-c?|o0P;@8MV#4@$r}b<hqf=t)kIs5tjK{=6xuKy7KZgu^ewee2NTnWiemVSF za~A}S^vlYxXd+R3owxo46MVsRVfkf;5oWei*^N9{>*)M|jvVSy9d5Nr%h~?279E#U zUv<C`;>`j7;t+o2msMjmZ(u#4eoS#<Yi6*w>)9h_wGU_U8-sGD4;aYE$+xV|54YcX z2;Ls8!n^Kb|0OxOdbC80?L)xDq)?JwA-v4$lp^qXTzyV8I@Ntxb}Zx{Xr}s*iUX%Z z(V}FDsjl)u^ai=@QI(2L(dC)~Ep7VDrugjbsj|kT@&yOkA(F#m=>su~q1$F+r}#cn zQp$U$&JuAP@s3dMvMv9`rc=>L3J&a{aO91dz)AF;;&T+37o3vIU%f6f)`EniNR>}E zIzBGgl(Ticw>x7`?$OHM*%0xDS2fokZ&+;q-Y4oyXBuLSxfh`5A%fnR&(-0A2vv~J z7v;vR?N0FT`QTDmZNn~}Q|EuPgZ-C-!I85QH7^y876ehg(0o6C<M=Zqn`CmTI8wEn zD_rUpO}F01wZISLL`3H)THwI}|9yAdaR<~HT2^yCDSMv5eMQ!|J4^dzjy$*>L#DjM z;!V*Qzus2I%yMi%Z0gUvhPp5{;)>t7!@Ds8UU=wb@&S}$11#N<`zH*dzs_?8PY{0J zI)=25pidjORRjr_mx+~YS+3%4lxbL^ox2kv;cWO!fWwYFN=@A40}Ud&624n$U|n%* zcPvqv`57Z5R;UA}70m0k($W~@?#J8Ik4=3at-4F`=cyQ^(8JY=<sR3FW+~u>!7<_I zp#IgZ+NLS2<kJ`BG+UYUlh73bz;8nk6ju9e__M|X`$rN2*86+#aJM1pRy^Q)*lmO5 zLfxKb@V{#N3ZSaqcil}W-QA^tNC?v1Eg;<~igZe|1PN(TN|6>p=@O6zVM~K_my~oj z+;6MDbN**e%$a-Vu5rNGd$ZSCU%c@=&-<=iE{*HU<L6I2nFt5g`7#s~R^5H<r_#Lj z9BOsb=h}PnT5u6%zb_;1FvG%Met#L3g4JL%j*1yVIC(V{)`&;PwejlZjG)LdZObch zlaglx_OPaqy8=61dzB$Hq`&JHNVNP=lk><InVNtp(k9*^Fh@9#!ZH6F$%t?MeXzq( z=@B=KIO1@ukYD}t#`jQeBt?V`LmZD<lVP|1VJ^xnRAK*M#RTIeek?GRgq_xT8asAz zQ|$_eapK$~M@U|B{712aDyS1XSex3ajMj_ycshy+6`4h}ij2&yP!P?pZ$8zYsZtRM zE;I|05z)2kjduZzD_^`0s}?5K6SbC1n*36zYx~4v${C31ehMenoH54XTZJ99UU4*9 z9f#(uUdX9rA1!z8YYK4r|G5JK0)s&+Pc-v&XgS*Ds*|tc>A*>4^xDEk@Qles!<XHN z&(G5RgZd;c(O)!N(SpVm((bC%4OI8PY0P9Pp;XxXz(;93qb>Xz5I!`-t4hg7?v*Hc z?!A2Ly%0pfA%Z7;9>4^HX|>~axv;DJI$rxht8+I&0gjZ-{pdpb0NwUQsE3`Qaasc3 zImFg`;qPDKyT}uKlS|fSN7~+`5`U06Ca6y(e5USzjIyrZc2`J5IP1-gj?uK#hNe*K z{d=eD3}Ab5gI~qB(y~6}^=<0FpRCPz5$RiTsHPT=R*sg%XvH6UK8)cgHk}bMfFQ%k z{EbOsBVjWzM+c9+moOxOacrOyA%@Vt6t$R9B?4PakB*8=A69$A?5aj8^__mBJ14Fq zR{P%RpvKqW#>{Rtwzd-jloF?PWyC~e`qxUclfI40k$$VWb9e*_Z&U{ATu@%#w#;_b zT3ixH1YWkpVOUyltjpO8PU-G&?HxE$E?Db-EdH_k6eredAwz?W;LA3I&X&k!#Yz?_ zt6%5CL<?`1Dbg^X+`2?B&?JD(ZT-Te<HEDQvcijJBS{nOkz7rOvTfV;gkr3fF8O<? ztag7zD?acIItLA#T92k}rn5e^Eg2Y;7cZz4X=GT<K3pC1BnFaLN<3P5tAh+vu;5`$ z9UTOz6JPEbzz3&sQlZH&-&VH+5Z9lf{pp_n)$37GCK6ngqxO^_JE_ydy&3O>Mv2qf zw_v%mI(;J@y7Owc6%B}AkP3ZqL+a~k61&rahAMK$>fB;Gp7pBXCLeB+V_!a|<TPsx z-=Yy$NFjYtVl(UmYtl123I(;76GxP|af&a6wAwS(lb-2A6ol{W(j5$W+Z#YjgPn)i zTjGAf@`tvI8eYNUyO@MsmER{<`<;kKINn9KZ~7Q{I7Fs^fC%S$bK~c8H3!4F^f%X( zF(I20w%U!RJ)Q&<9%L}kq9e*qAiKYIpG?1TQ(f_vru)-likMXKltumJU$ufF&3$kz zz2aH^iW*l)j4*ZbOGTdOUArS|J6=kh80u@XXz@H0(OS2K(QE(67=MMOlX4J~%A9$~ z)W6%N7n6zM;JQq6E=fYzRIf&Pj}PMB5yMoT<_Agj*qb?ocWxeFO1Jt{X6Sx$VHHJY zF!Gej9?sGXDLVlh1SSdAc(6TAD;=~c@T+kdstrsQx3~o}-+jMbYPZd>A>sOiwY@+! z8V%+#lOHo<GT96tMDe5(Z3)V;+hJwqhga?$?n-a>n$1l&eSX!k;k+qN3<|D;(FVA8 zjt`qJ)@IF*XTt_Q%4rqMRM7b1hNjR+a9KS%9A}B%u}C#Mc{YL!lblRU&rnbLvMRa* z-DTBb1Mx25egJt`(F?eA_CWGRmBAw3K-p8KsM9S4nQIhZkDz+hP_xA1o<U0MLzfrA zs{^Gti0~5bvdcW$GCPWPzmW!%2|vpQGm4KMa&m4i2&9h~scKIKX6{vbrl+STtbfT; z(4eZW5oX#uGPx)d{dSMcZTGDm7Zj)1Uu@*-r+w}JQqB_K$+VzbNN`G|-Iw~z;Wby2 z{X&uBWjl`UO+L5LqB}=N&k&CG*N7jPZ8W7XUWk>y4f%mjeMe2#l5*s+yYBMQ2cbmc z{ExlXrlX$)w^OyAaFLq`eC(~f4U}R_c062-Dg`78QpX6hJg}~vAp*f@Hmn87DeVuQ z^f+DLkDpY^v6;xDC1p23sgVx+@Kc-JsOm;xN(ywLn?Ed_KiCYPB(e-AU#|+GAav9W zN99Q2Z`qjDWdyGMO)iCgjW}^S|L1f&$g&ij;~noeGc<ruZwQgcjPy_%@upQ;c@O$a zJYzj_G70G<>9TmZ1GQ7H51|)?I?@=;CoQdG!$0;IMI9Bso1gnKJXU3W8*~{9G1D#R zDy^?M0|i_fpN2J96GG3Pst?XTa&mg;tvj;OH3CYvvt-tn1zncw<PO6Qw{d}S^TEBm znca{Y!i=-Nq~REA+S<@uO}D%dnb_|65O-@DgSLosRlt=I3XQr((z&ZAnfoMsB<11p zJ@bP{tuzr_EMBm=sgS$!9wUx3PkBtW7KMZ-tQJ<KPCVL#Q4i^&-#odJDQ~A+p3qz2 zGNk7e$MBa|l`giJZ5rr6%0_EEQ9uDwx4a?B19D;9KZ{VpN|emy2pKsawaN4`8Z6I% z34hI12%5ntK!)X+FyTMpG!B)|=APUJz34QG+%ZnhyeQ6`G;*0^s3X7cQ;Hq0!RfLT z;3LVri!7oskySPvqEjXW`jv!dG0DN1iyyO0Hz{pKe-Smc)LX=Wo*QgBtdRsnx!LD) zrHYD*?K?=*I7`b5_a__lSWdirE&BClvse0eA$*Kr@|i}oSFK>BE}xoUx$UOZK6^kh zQY8YS(gEKSRP6M7C^)}H<ky!Uu)nL#@fE)7wr&+u!`+kGRad0rGAm;6R%CQ}`E^R& z6=$g~^^Iv2L?BSC6-fA;!u7_xXB&10xyL&gp{||+WG{mmvmtKK+J;<whL-f8@Y@)4 zr+il~l6j1#4At#pl*}nl4)*25xKgS0DYDFhOYhH8XP0N4m5m>x#h(M?8AR4AeNu!E z94`9dY%vn>4dsglB8dXi72c5p1%r}Pb^dsudts+8t;QGLD*<opk9|f_fEFN+=}YFt zgtkPY)P;{^x{6-x2r`p0p&fO5K-5}?gZF>FQoaQ|D$b$Fd+J?n&Z<A=5NpGl$KK%d z{+EIa3aX^Ou*O(2>F!%Ub~ZSZ@YYAZ?Nu599~K8P;7QMI0k&eZT;{~$Y0Mhw@SpM8 z8&kgDH8{cM{$OFkZdi%rT0^+D=4wAi8Y)j$cdfkq)KN557p+hYLgT{2d)a1bk2e`R zOjWfqG0SyVy2NJ?7v@tfD9mt2h{RgC!E5-rVRl>0^m(SP-JY14o0Vu%{QC$IysTX{ za}vednyB#{ArC~ZqzgS!kYL-RUQ`56IQ55|<U^@JiKley*Gd@7N#_%Ky=g3P9s70i zUe7!inrNkx?_IJ$-)`SBs3RpT1zUP6NHa&;Rhdot%T}k>>rQI1gA@Nt{tvlb40@~t zlwbOGO7EyF+#kJqBTr|pv~yGRLEm%DoR$`n^%C1le)_O_3)`Oka?<4m0ng2Mj0uXn z7WIburO)mYE8o`C9K<j4AbaO;JeyTx^fkAfr%HS|nQCyT2I^inBss2slThR4;K=#$ z=aOeQ-y-X(DI$jSNi|(#YU;T2w13SV*!K3tvF=)4<)i}zV`-k9joz;X+nf8&_ph?n z$0PMzjuv!Y%1XOm)CoNf5TTsD87rs!izsi%wqjj`@Tq#5KCwz<JI>Djp2t|VShutN z@`nMN!!<ZM6mTRFUK9OfQ-4O=Nv|+CEY>RS^}Emt7WESAQQ8aML#k}ytA-i<dsd8q zV~O0+TET{kiA~{y^>r3~L8_d9xklkyVBCnapBvNX!tQoBm?kQxYK%NnWJvIY%k&1U zPN#;^QGUAo?~?k7c|#b790%s?;nKcyHO&oGtCMvb9n^L_D=JdM#|(ZMsm@F7d*!?6 zU8BhQZE;MnwKOc&RCIae*8=J%?Fj4rkCZVOsLz!Pzf4R;E%4n>GtT^0Q4`s}8<|Kx zQGB;(I;!Pew1~6BnM=$iU!D;WjgbK8&_uLAL=>0&9y3tGoORTePd@f&`ANfa`}bcz zp~jVm`SKn%l|IHbE?D4_&B4e3-=3){DWux9x5eRhNh|&gb9$mm8WDSeDHU|RaBmp- zZpth(>qtXi{zf`?aOo*Wg<&d#1v+eiyA;IcT^@yd%7waATQ5;zIhr@(^le=HmM7M4 zAm6&hOf{^osutK-tp24QiO4PuO0T>})>vaV8ox5?p=uoTP&6%V>+wpA=+;w}Q8=}m z)jQE7Z{z%h2G6Kv%Vpz~l*l{YrzV!0f|zB$yKR`}>b-+$f7TWxrw!zO;k$S~-YCsn z-U?QCXzjCwH?K1_?Z6fkdoOrNHv!E|_48-gKkZK2<C9lS4urd4JcnrUCCyiln+D#T zICh(>rdFY|Ro*l^+QQCJ4q39RdKB3@IY?7!R~Jozl}Jf5>o!N{C-wm^NWf7*$W+QI z?k;gj(s(oY$gaT^%f*AiQV+N98y`TcfIIHOG!y<u7)A08UR-HmwRZ#F@?qQ^4O`fj zfk#bz{3s?Rt;qvE0AYODp1}*3jmqHfaXH_L6hVEWMj0(~OlN7Wm?w95J>^OM!q>C8 z`jgxIuZ>_w8gcm4tgfLpuq^jneoCsQG*&nHkCzQqu#A<t;W0yE#ITIvrwoMkCzXrK zzb>*Ie`&2A2%mWSQqZomudP_ILT9`*$Wo78k5A1Wi%pr}Kub@bu4#PYTa`F767_y} z)w%Mx!;7p~eqmu)5$vamvkGqJC|ZPnd7RHuUfw!3f647VB5nLN(R)R4{KxHwRU;xd zC>!amWZ&06r)$Rx)6H&vyRV0z{t7i(H!?Auw`KVI<oEBdjHb57_mjA7ow?!<j+?_g zY!_+`Bv!nmA(&+GDDY7(<o($w%rTTv;e#tO*~5kvq#%a_z)$Em6(vaGmY52oLCeq# zUv7r)eGZQD2O}r92{DY{Q@c4>0i*NvuhH47D|{##Ag-vY%rA0$fbE@DOr<gckH0X^ z7wQ@PQOUOD%W~Ik<!c7}C1M5b)q)iS>Mu;I^sY$egc=KFeL|@%7*tAJ)<mhr129vr zPq1Ja5AAja7tB?ux$#qUFM<&zZxhoE$FSOCnzo1=gQXxH@|!Bb1vyQRhPdZ|@`n!} zEzW<L5s;RVUy09*k$&NVlZ#&;SRoR_aHaO^H$HnC-eZ$p8u{`W9lMy6kcy=yrfzUB z<D(8^_wAkKfE!*{ugzI?Y&VR{(LolBso;yIdc7v6`Al(}lhve!&g$lIJ4m6ip$osd zi~$?&$9vcPC8iD=(`CrDBb=f2-MFBI7*7S){Q8UUlW*y8N<Rebv~N~Zc;IE;h1y@& zXq8wPB@dW{eeAq#Nzj=Haatra*uT|hZx8dZV-V-wkBI|8UmhPNZ=MkrfYrp$513?3 z5)4C#a{DaIi|M~_Y|H_;4%fld?}28K#=-%VbT2~zf8&EDps<+$B$j;yS4(Told7LH z=XxQ_DBtKv)6bL_of#wjDY&~AH%+&CziZ0NS|y<g4By-$w1iZsi?(`*zv{N7!b&Vz zJUBm&_G5l=Gdy5=g3RV3D8}V_p2?<?lJ}_w-jhDFo3Qt%+n|>I5}V+<!7DfW_9cJ- z0q}|Y;@n-%Rr&LL(fhgrg0xf#aLG&SU!+-yEhYQtBS(Ri%7l(%5NPApas;hZp^M-} z{KMIg&{628dOJ1KJ{`5qYoSvvdAuzg76mlmRI%y$X)eEdey@DsXqWbnmD-q)eczgq zmWn;<ag19CWHL(SZhd_oRvl+i)MF@@ZU&P<QQ>|Ch_GmU*>b^{Ox83YNnZq4YaLPC zsvZCH9JeVf*3$Lj^JW(u#2xaGQc}{UxHEArUfs!=-B<%t=r!(41xj<uv!7#}GDY7C zLb|x^=3UE6mq)^M^JOAAUqt;{(yhuUy=V|8ZY=J*#A<U2Vo@LDw(c#iN$k7urg(f+ z$3D7;2xaYCDvY~SPR{2pmZ(TaM{PZlYgawHdzJ>YwU$6=b{2cp%Le(6Q~JKe&TPiQ zk(iD68g@fv6xP>(S!aL9j2Hj_eo{$ae?zOB<r^}outfpoZ-JF6%X4dk?(Al@H>|=A z`Qo{ZzmS6JQ-$w8Y82J`n$8?7@`yFsH5vrHP;MS!w{(Ww4}7w1Vff{7d8Vk)ZIX4F z)}8f@4)p0tvdPvx=&CdfWP6_5^Gwu&l!4w_je)Xk&Gl#l$yI`a@Bp5lnBDp%*e`rM zLyMDGEQtsSj*cx*bqkZXcMG}Y{{j76y8eQG&c8N7M2~$1MUnSE#=s*gjd0+5W%343 zc_}YW_BAi|7Coy2?qVv$r1IAyTz68@G$gs>Bq2?YZ+<<$D8Frbze=Ec)5LAhwaB&X z(Xc%B21W1^)<+q3(#3=E$dk=u{OX$O<q76ozP@e4<jC2nN;_8v-9k73)=B}eW>Z0l z$aPYE@!qA@8W(ksdRRI7*VT);2&rh^&A%|sH(2s0jM$$MI^Dhj0I6P&fF<bAGrV%~ zyF)z!PKzK6oHTmyV9H5KThyzj)?y29almuvLksRwrKYUGF=tED<J7o!HsiIm5ka7? zWFFpO1_WQlm?FeHtur&YREd|t0Zc3mLbneqV>Y+fUzlAVa|j>N92&wo?1c(XQ@)Z4 zbvUTsygp-MR!xr`W8Z%13k^DN|9oI^6>wMCSghW~I(?}F(QnnK-gHd_7H*mp{4-vF z^YoaRvOk;2UATVUN_^AMKZr^o8&iaxr*(XQfW}au_3brh{Qx8skXpU`ap{Zr5syfo z_Gba%Q+WLw0b?%kb!?mf7R<7=TA7gn`70IzD27!#FWn3<fEvD(v@#L_awm}^IdrTV z^}?q4E>+$f_@=jpbRd>)HdDV-F@{NXtTy9}7^FPGc>q(kjip?n-vdc32@ZfR!K*gD zOJ+#Sh^P^9WVN*ZFVRZqzk@690W>vl41}Fh0I+~PPt}g-FvBZVHXDiPAT@C7!Q%OH z`#ngI)*=&cP!3Z1*J0FAU+!p4zG}gJftbpd?BBo@kf?xFHn_rdXXD-stDJvN>U-*e zPY#jN+kZZjmq!4RJ%h<UGV=4UL%=m&0wrvZctnhA2|}#x1m>mOu>m-EZ+~(C6xR!! zxj#h<)Ogv57izVcm<nRz$6e)n0P-llJ}0F)k3ohZjMgeiaOk0}RG}sSkWfJ&A0(fD z0|r32dmqdMhVoBw0jv%p1@$7glZ`j>CnahSho6WY5-h`^OT9l=#mJrZgaklsor#>` z-V#wVqs>-04wM3UkpOvoo|1pxak?f9z~+o+F7L<35SIp>3Fy~2-t|GP3<Pg8I?c9m zb;<mOX-<CC>Cx2Jet7{}k8X*31p~uE{)^O|U28qwqlaVD?k{!({VRC1vSGd48~3SR z=aaO-g{T`LjGotvLHbMRd~D-Uiv51s)LBVYRV&zR5381IHSC7Qd|9c1ImsAZcYCj3 z+FsFqI(2z$0kB-+d;y0r`E0p-b%_>$?(rT-<ms`1!0g0YPBHC#((RroJh>+hJ;%lj z%Eq%z{EQc^8$Ea&L%-3<Y;*W_G&?sNZ=!A*N5}883|k@t+x$)GzU!D|mVq7DgVySg z5)0`@zB?{Cx?|pVP)Dt}EQ|-~N;g|<{b<K-^gb)9PV&QA?_-y`7=(|vLo@IzDk#HX z_}Q!c`y~q})OBVb8N>^A?xcNAGrxQ*2USx*BrtlSuKu-pq&(9Fe;apO>d1-M#v=Pb z+B51!A=1j(4eH-5vmyv*0MM>Gd>Tm#vIOaLf;atkV*<|Zu1%}W^*BqkTSe#vh8X?| zstA7cAz(Nw><+`*mOznpEs?0PNx#!iS!{}Hl+U_F05~)g?G!42JO!b#u70;w0rJC5 zcHXD@T%!$)y{3}p39zxQ4H%5i4wcb_6D|^{1A|rCp)PcXboJZtHkB(_<!iIY#t}Wq z0M>`#QV_TG{J27pp9Kv~`?Cfq6SJDaakCZZXcIM$@^ytgB|BS;IfgdaOs_yj<9a~Q zds%|l?jm!zy|YW$02)aW^T9d4xfqZf$z{mjQ^}>$&R<ytGN#t&18+d$*<ZTNda*ki zQ0`!wXha7ju3_2POg?z&&*zCAXGl#?*i6?c743iTO1>eM&Z!oI2xYn5sgJ0!;iXzn z9)A8nr+jt}g9S@7P>$qBUn;0C=Qmzp`V`X{TRSH2jV3|KrB1}1zB*F-wwpLhJ^5c0 zH04Db&ev7^sQB@5H5CrLps`4gIAN(mEvtp}OBZ&webF%$>W3p@Fo~^eN}{Wcu%A(= z?)iLzqvRX6WBS)TlB@G2TAVJUi&MH=UJQwl*Ors1O$j~6-9F+Q+B9~<-?*)I!f%iN zc=Mc+Ph}W_D<p{Dr--c)`puM(+&)!<C9=(jY558)?!@p3)>+};hTi<mdF<|$RO9{O zNqY1806X&YPUy<vKB4+#;sY1k?Z*HGaM;z?<~`W_forjzG}j+9oP6J!8lXgOh3g>b zx%NLMK_L1u!;J_WNoa%!9TgoiYD5Jz48QP9j>%nWyh-yhtuW7mW{^J#9WfAMa6hw= z*qGfDdFG@a(aTjY(`{VCacV7xuIn^`B#B3+z;f$$ZkDPNBvT{H-hNhC3o!Io?_Wo} zDy)qn6kG0eWBhLr5IoV^$X~5r`AQ+bO;Xl)<qsdlnvbT>-8Q)Z;^9dvyO`R<_DcB! zI;#<8%Cn0Q!|j{Mu$kgre#TzodqbmZhx!zR5xHv=8lSbtYF6+8fNTBG9+nYC+gLms zdf+bf6Z5uo>(SELxl-=16aX!|T2U-Z$tPQntPa~Zbt&!^uRkg(KJ&1(JcT9-0WGMg zrqtG3ALhE*^}4iYv+(`T+y`H(e+{=pRHkGChz9@y;Ewt?7SD7k$}?893I{CVTbCO7 z_umYF0EtEIIxP0rC=#r0U)TCO38rymU25^wo(%iz47G9jF?UBHV#*soe_>yESYz2H zIGX2`&u?gM)K$>-ug~9tJmf!%QUq}3U@uXolA<|n1j#4y;fg&o*2k(5Mp2GNK6l!X zy;HTv%s8-^p5mJ^Z09mR@DwmL?`t4zn6vm9aou~r`=bV|ZN53btR_QrG@d4SWvRAp z-A&n%sv%RFNm?v@6oWwIWaX3sX_0zg-R-Y7SvJ7|v3)!4W+b%TKp7PG=CR?>Oxrj{ zeQibCuO1OhLix1Cr_*)Zy=FC`{2Y{4&1IFk6e*_lqz@=F<lcmmp9~)>D)|Q$H*7>J zW#6;{k_FcSiN%ySMMbsdmFX}^kb$dfH6l{nBU<6d+Qm;asHlamxD5Tz;s$mJ17`He zzG4BKn}^B>O6S~sSgGmlPJNFOD0}q}8n<^@nMvn!dkwT5RVarF!($3lTE{yucEiIJ zRn<ZyS?|T$RSE;tiXtE;COjmpHl=Mz$i>4YNSm##%v%cwj*2Xqqx&SWR#=J^pOI61 zK;ue~f96p-LTvM2Xl<Z>#5SJupN4H)r=P<zv_I1mVsS+D7@sF~kSMFB)S}Zg+Jt9b zeqEU8VJ#T1Mmf%=Bl9Y#D|%DYAS=xPI4g=yI`Pg^0(})Ye^r(1YtX?Sewz@JfGEja zkd%f9OI_VFKgytgADjR?wnn1rI-RJCQfUnaqrR^Mfu|ghj}(jW+hesV(2X=VLySBt zulug{I+cDQhbu;Gr(EwXWWf4u%%b*9JA7<(D`}`d^eXngREQ9zXkou*{xtZsOiVd{ z;B)3c<Cqg$G$CUk>!@Ja$msfE|C;GR?%*2sqELr1Ju!ORt1HXmc5#1H0pC93e^vz~ zD;Ex=CwbbRN*s;@*!_;KZi)J)4~|(}_UAb|0Q~HtbOi?TQ)!T;8!o{LuB=I6bHFg^ zH#pvHVd{m!4EdkF1kd4Uo$k3Y>Lh2etls4;A$%?put$jp(*_J}!%W(V>y&oE#Z$@v zlS-s_$Wv>Q#j*OgS{8<>aFhZehuUMS<_Zj<5f2X+`9jJ-n;CC<0Fr@!q=hrjuS_PX zZo}>-a=idijn$cYWch8F%Gv4M&Mw3eQTSlLJy{qc&>T#o=i9{Kx1Ws$G#MqK-*Trz z2*@?9!j9oT4X|9+3~#|Q?AKoB8LiXE(8MXC(>bZjWaWNnq<j4u(qiZAQ!+FZ*0#j~ z2@$D!+Q%n%)gSm{rkbKjIB|)_bWKSBWs&L;1;FkD$R(%^qi+IryOf_aA+I5aVZaY` zJtik6CK<<pcgc|)5}c;d-`euy@WX>`4xd`7l8d2(N&=1@{ZoV7DN+A-xPh>p17{g& zOMqYQZe7GUbU-sc1_2X4Ns|WB4)&!iHOq$ED~?X<+;0;CNOqVFEd!wX<lGj*I}t~g zYCjUxGe&IhS@&st$WMEGHz{JHKX=CF;;4_eRpdmuI=)%twryisva0uI#TT@~UV>gs zcbMF^PX*7IbkdUTsNCFsQ}b-L1xL7&BA<u>>(~q(raTO_S`5Q`4p2hFW9kUn*7oeD zt$6*P9xRWN6wA%XhXrI~du}>R(cXl;8duuYO^8?(+Mwdy=EcX$vbtySlRp0&3hX}- zn3yYE)bXAc=dlZ`;ba&!K76xskA_U%IFvPfFv}mwGF~H#O%A_psR~`$qAvrSG?nwb z>q6z^G|PJN=2)d8_Z7B55QBfM<gLztj_QABEU9Z<#RwBnIuXVpSQ_a-m<F}a@!8() zk!+)5`}VgVYwoMF^-KsfqP7MQZg$kT64ox>YTC9WF{z?29=`BtZZ^FM(6)eS;S9jX z$(%v}Z@O2ahYv(!0Fspt<Nw%r;Pc-i4rx_h54zhD_5KaM_&4;T@V;)q$Q^{j@Q+w1 z$ebmiWw?z(s?cq_YicZUgCj%}<83O9X!<m_tx`%-{ZyE8VN2;t$c=oc{EY?ev`9sJ zAQOw5eflW3+3=|-F>PQRitoa+A%7WU{^CoeTb5B2Kj0hsTw3eeg2!`$Uq@*%-;U8* zW|D7yKK`~6Xu>n9NFQuk+*N0d`#kK0z(m8~plWfk+T%Kwfl_%hMOjV3@tO=B^Cz-X zV)h>&Y`GC*wXL3BIYTo3r5aINm0`<g_Yu;FfqdNzk-wZEcAP#szy^|v<SZAW(w{%U zsQwuJD|5f87{}9`1JHt(U%$W~6Pe8ptsUrByQa<;fu_G#EkA@Lhy`h3_>pop10NVd z)!!q*#@y~v7pCyFXYRZVVn-nfq6{4FFSNRgO(DVu!S?`od9uC77ezaS<rZ*G1H1sa zPzlSe1u~-mjad5kjjlAKPSaAK2m{8?e)ADx-a&3j#m$q`IBvO7FVu43Wqj@1nC|W+ zU_?WuKk-tl_`bts@%4@DbWjR44g|ohg~oR8&f%V{y)<LXm3UOsXA&F_kmYci)CNLx zvjM@9^i5Z-@aUPt$3>z7kuL<y&HLyJj0K7M*Macx!$6JUe~o;MKluYdP!gt32cB$) zsI2yXrBF+)H!m|Wwd#ueFV#}IRCguT<5PZXj}X!$=wG!*Kke*Qj&uP7GZGd$KRW(~ z;Hw?im#|HN$z^My!&0wdAMCY35<9Y<Q2G4kv={SZHOJ;Ln;hZy^YuK$@h;p5O(v^a zmQx`Lnm!c-0h@DCe(mVjtH#*MMe~K6221?#{*|v6a>}()Ac#hrhx$lmilNcP#}_2_ zV%H)t$;>#b)9@Pf&jWb0F*AzFvG4&SUyXtMcjMmmY$<&l3c1HO%|}-50)W|>-Btp3 zcFN&vbhuDNh~<fJ67LWRR@=_~-M@>7+1WS$>5)-7yT<2WI$)F?yjEtqm9paiZFQ=` zbG@*zvKX@2+?W*r<rjtWC$Po0WsScXV7HNs@vpmZbA-FH-6z9?@jCs04YtQVS57#M zq5Y(d46~WGdO08h&$Gc|HKL4stlr*zL*;?E^!n0PC`R_p`P8P)>f<@?D`971Fci|c zNLCv4hSsX-_XwvOs3Wm!T7HWA7Rj6QUF`HYS8VciuU1Dw<wQqLmo(862f>;-$Z7Rn z&_wV<n@PLm@x34ofVmJX{J~t#roC>=|2w3TQ0&S!gW#s=SfG$1lt#7<4Nwi)`5Qtp zySj2gD6&k&^6OEYdzK|i_Hx(sYnSl8u`n|U-Nq44#RZH~sOOgi&b3&mI{5u;$|DCZ zI0}q|QlP1?Ym|akpuJqy0_3jpJLSckngh$*>(MvvGg~(ARX(0g*DDLAYj`WpwO=X> zO9g=mXmUf>>M)qaZEW&>cjaq0o{*rB5DW&ghQ<6l<t|I@5Bz?tqEMs9-kXa4JYY*t z_!vSJ-0aW-TGP4B&k%{rk>&Dv!OUl40)gx;18ucO`8N+%(Noo&PEsd}hFPk2f7nsv zc^MKD8;&uIMOhe$kUm34gp&t1OAL|kA=C`MSA;$uwvneQL7Cd0obQPuBQWaYawtUg zaaf>OP>I_%gA7%TG?MRInmVy*9Hp;%B(YVwBDR32ybqDG^L?&bX_7ecQKVyrMIzyO z>Rs^I5$YD<was$*caZhHuJPQG_}2NVyD>T7(AtSwD1g%L%ZBXIbJtaZp_@b>`}zuM z%_$yp>OZzQzrbz!NMk1YYpi^bj8*G1sxIi+&gCf(MLE>9gG3N68x+ojW;t=u274}X zOw&F$V{#92{AFA%ERtyy*2jHZl@Qv{oj^361rR(7#dJ>nS{r`YTuTDgiM3E;og-Fq z#cy<p&9op9hWdOs<*I36e3okKYs&tlaum%39v}}gMr=x~`jG6e7TeBW628$aVZ24m zpt5Yaxh&y)@RPzW)QY$dJpU^S5D84&9Vd2B7E51RSbaTqr7h~h#_3&Mn)Cv@e}Vdw zo4II*H-%5^z;tB<7vo)tUodi?9L5Ws1Z-#=Z2cew^e6(C1ngbc!mhm9yKpDahpmC* zZl>nvlJh1BP`6D4lVl{#v|l3({n|`b)jB;)0+@hM<?MD)Xb=T$Y4GY@ee|NHda}1` z>b9g^_l@P2#YA0O2+d7|KOh*O;+oxt-D0!7nkgfcx`fkjcDz9Vl6M@zt6(@Lzj-1= zek2a#W;XKL*xog@^8<_30&J%Wh(!X9M;Oeo4rZW8&DhRU`sZ5-2p-1$hUotGP5!@9 z6e1wH-&h;?VNXu<{LlHoPyQ$jpq>1CP__Rn6iD<3Z~LGra+1J`;baDx2?`67JQLK$ z{*Wsn=V#AuNh>Flqe=Qq@XxpLhk>suqx>|4J3JGBcBdn}`q>&I56=%Qky~sxsi~>w zH`gO=o%G<9T}jEPf0U19JmSczvbu|US+_J_6S-`w5x;>Rl}1Im0~{vg=Z9M-3G4=A z^N6RI5D<(*)Ziw*+t&H}6VOo^jag`LC*YG|InmAjgCl-lzK1}47FSoliCnYJf>WQ) zDE_{+EWPLd?QQ-q^_dGT5bpDrGpankzC))ONW7HM1G{L)TMHndzp+)je17P>klqTO z|8v{26!q%13dM*vD{+>sIp`Seo>?M;ct8ulT1SJyWw3$2U5-|4Az?0+jrw8TMM3x+ zv?S<2lp%nR2w;QR(f;{;WAkCQE{*JTglx?o(ksOruh&pw==XKK%vVnyjl_*-8%x5b zro`w8!{gq)4$4azjRO+<RXBVUkAzJpRFYn{JKJU|{42(4c`OS)I)O$FW}UxZ=HM@U zvVC;VY)6@NE$jP-9N{MP#97jkx4q8K5Gf!718x;lu?%BEmVBYG*ToK!ay;h?kt!!- zAF&JNM5yKTelE_UUY`C9#!_^=t?6bFKHK@LY1VkGJk&tR=kNhM7lB{=FtPXVO*Hl| zzrvoMMN=-$q_W;({zfr<$x0ZmQR=GW<>f5{n5*6Fuxd}1&V_yO@FBz@M>h-RPVTin zdtiAvR__&6;2SvL!L&16hiyamek^rLF+h5AL*Z601+VaK5n{0EVe!UC%1T#%tz8`2 zwGt$9L8eVJW!3p=A7iCcU`(PJPMoVAyx6@)<owJ-=B?|JTXc`HzgsDQ-H=7zid{tu z#=KlqV8BP$DD5<Y!NO&cQ%%FP;4zHL4|zcwlDXBNsBgPzVHu++GveYeBfYU<ub_$X z=C&TO`-xgCb8DL~G_847P7jnQ)zU>DR}b=>HP>&rebU5XEJe+Y30vG)L-#s8$&~%X zL)sVeXXizTBXIJ5pkNtt8XH@UeN(RTI8!n<&qyG1*d}Apb{7~~L17`PiJ7_p956>x z8KW|ciIShRTbc(3G&u1gbeHR1n$<($ykWMfdN-<ufU9v!prPB@J#Ov!Zr5*H*>B4W zo;1K;=XdEEHJ)|GY)J;*-QR~7ez$wOBuv9tY}S@)6bFN)n#P75Z%O6$)tzhP57Tpt zBbkafz+id;0;`8UA8xUr^v$e!a{b~5#QYE&$(G!7Xt7yuDfA>IQWBku&P;atD{iV9 zR;6%xeL92@xh(x>3foZVkeIW8D$vH6QS@8{W_@(j|J0*@-6PaWIF%GRuxY0}sR~ay zi36=vA2UZ27swqXU*$B=Vum31rLg{_cs0>c7JWNTk)AMOCtw;B1ro1j4z86AS5`E9 z8Uq|QbbySct(=o-Ts$b1qbdE^39nu)X%kq`F*vJH5i;#eBQOSL-{9@!%ZGcSOM3^@ zD{mK#H$LD?!n{LWd_~410gr_8+m;ZJ_yfK5!%`;V2o1gxVa`;Eu%Y;Fk$GzB)VZ~# zgq#={k1s_$<_%cWOfvyn4x^EoZ2~1^n2MXL9{S{*(M4^~P$KsTX3pYEkRr(%EX&?e z`M^~gnN80hiw6zO%lmxc$7#8D+LM@4Rvp+u`{pK1Mn#F(-&5luXqX6^K$yH|$9Tu1 zJbaCgyco4&nbYUW_?RJJtF!7gATL;2l^y1cuD`;kdeNza!ax{K4-unlh-VOXCgOc} z*{B=o`{eIukNsI2D_D^ovEg&rhBX>2m!>8qV}nlwwF|UK*b)dSDAwdJb@KGbZPH4) zxt0N}g7~I{i6v?kV|HXV-41)MxGeiq*f(*XM+3&e$bkdCWFg2%Y&!mTN7Mg!j6CNZ zL^TGlB~(g&NX5r5OuElX8Jk6yY@a)9>vH(x2C8-u@>|uLA<}^gcyvu|Jv|x<*(3CK z7?3L0N5T}@<u?}LUe4E!F_+U(bul17-MvD?fx+%{bX5EA`xGs%R9<yCPFI6>ban#j z@fe6P<C5`XjRcCM89`G~X8vV@nS33zDkdkWu7Xtf!-rd$YL}t-=%_EfiKD}g&HOfG z3N`0}l^H6~!o%B|m9zAlQYkf-Y3tN^c-$%vmY)|jP4sHmF~_?wFje(0vIqKbnFIdt zUs){-Ao~6^6XYYSjd~}m*PycTcMMCOzI_z^&MyMO-K?@zjaRxwm}%My#k!oy3W5!> zvtbg>H(MM=bo~g5wRC9{19Y`$jgQY_XG6~)ue}t6@bn}uz!&6n#mi|**D?I#<RAU6 zJ&52z(x^4{XC-zuuJtP|$^P>!lPt@Zz&~VVsp82}i@dXnljf}Y1c&}i!|E_Jr}z9n zI`Kz*YisJK!+M<pXlM$+DRXSx`(tYCae)(g#J5{ox^r|0Ud>D1+uN0sHnz72`_r@T zksG4;AV1uj7)QVpFaC~RpeOR{HsGWmel)&O?dvt?;_hw{Ci8n^KXN-Ezz2>UN>C2B zOX6xSmQ~Wuzrv-aNyS8X_8)`kj0~Klqnu_z$~o*C&i{G^I$#MNZ_5KG0ZK3an!%SR zzuCy&n<38Of9ZV@)e(Q=AA<4!n_%XDJ`YL)BZ_ofUP&uG@W7U`tb|fI-&ubT=66&? z&@rcE%zF#cto;*dL=c1z;i@mtfm%Q?K#!0SWBtl`g)JDlsdokpB#80il%(TW_pd2X zC8dWFT5!X_ps3;_;wf!+n|RDAA%B?Z(ri$<x{{(bZU_y6&meioCU-OKn}oFV5Q$BE z#6N#iT|caCHYSDt@Cvjg>LvM;Pk^&(f7?Zrp8P%jW8n5b-|OE$`HvMR|C=EN{qO!i zo~QdWM$>R(cgvFpR0icL|J)cO8!Vq0mal^=sRZhu?4BW-`TjX>XxySha-1x?qqaF6 z^}H;nXM{ti1rHE19iHAUKS6bhc<SVz3HtqcZEWHWRP*(JD`BZFk-764w9f0VRhj%J zegu;g5y+SXE715z>{l<w?SG}o>of(k3?Ivz8fd14KyhQ>i^-r;w@t<&?_!^{PP66h zl^1J7@|Jz=OM-iF$_wFj5zw3HhX!YY;?D3Z@e|*DOloYL_G2@=kQepc_HRLLz-%l{ z1d5T~d@&BF?s|fcij4HC)g;^i;sjR@IT?iaz2k48vkPb)NVO|{v_%}xIgcmm+wC*? zIRpY)!+C%wuTEU;BNqw&@g^WHE(6s<GKt-7pXyVhuV78jX{F@hYFCv6>AatvTpIrq z+-OUc0NuBQQEynE)ScrWPzYggn4PV@tl3LC+?*oiF2y*>8ogJs#f_?_h6{v#Nuhgy zyTAb@s*wAJ1ZCk@2qRPDB?c4PI}R!dKiK=!_x)d2G!Dr5X&+DpAj&NCD{l72#N-*) zAp77_#U`5EWaQ@@=->WZoB>oSypE$(R8?UH)n)(8<pDFHkp_!`9sj0e&5zqrF*vIP zh(0-UQ*HU7R)(pxKzvfdP7eLi$?t^UhrxhOJR6ky2@=yH!GKU{;DeMHDh@T!;UfVl z{^8`+xA@XlcDB9_pb0{P5r(63_Vy|&DogeJ8V1#2CzWRhR^VnZ5eW9kwKoNT15^{o z|H%1;@h&Ft;bk61{l#{^_A@o`4Pg)zU6k>lLX?#^VfciAj#;@dAD~2R+TVwD!ZzyM zRW?f*O_wUnv@POQzu)0_#Q>VKr<>ePivbLVfMa%c_au#_2|?*4Ju#p=sGMwwE(J$+ zW&!c{1BfmUFl|xvp0IrT#zHU7O(C7x-%p1sY44Yn*`Qn~?`O#amZKZQvA@3?q{!Nm zolIsW@iG9L&IvDaL@Gy@>NNz*&;V3SB)jczMLA+z<8>N{o)=61Rr1QmR`$N<r7RS` zBnOG@Uufm_g&%f!{g2z1I37I-joqfqtrfeVYV?Qd``UQ#QA^1h9-EVm(#7~878ndN zbAm(z61C%%ZvpU^$KXgbrocK!<&24wfdc3#Z5euB_wPHqmHxo|w{fAk%R`5>d*rUL zN$F%Y8)qdCKc+rGb9m>E4FhDPpx*^CXi|g&P}42PqE(8ac8yWv(=LEigQzpjKLrH< zKR|6?`w%*hec$A171{)icMt$7jya0@B>{?0GKa_?9jnaaCujnCWY`-7!6p6*FxakA z2Vk~sew5GxpxWlzdtbCL!8r3dQ2WiKZF$@NlWWU5(E`iDN6F!Sc2RkGF&OKz47!Ig z=aAD#cpr&wY+C2(FyX`QtyCp|i$$L-A#R4So>+pX8_OT|Bs@t-V}J|XU$*Lg)gV~S zLGA{T$7ZvrQ4PPXwIQJu_lfG)!P*`DxP%`rdjeGI-HAP?4!41x1RcvDC|YG@erH!} z>;i7~cKyT1Ty9%)vY;hBf8hxRU`sj&4R15&n9C`$N+)*99pheLBBVRN4`@kk?nrmg z@8d?99k@HtQUB?IsVJk52l2xdOcB(-CX;QU;0(8E#cchb4tyY<$W-)44StE4KBjiF z&vkfi!3b0Ht;`?yE*GyH7g#Z7b8Ds^Gg|ZE?_@g;1Gw9`z%jK@*UA)0E_~@v8j@*g zrqCDzxQ>Sew~52&ewrZnng&$+F5|yJU<q>iai`!yNyPhHovfL!e^T^61r?LH;Nv6~ z!iA*D-Zu}B8S2<j|6m1wJSMmdLfeG0e|&DCX3Kc3?4S6A8Ii}|)O?GweE|~ZEYX3d zm3~h50uU$ve=V*2Pmb=|2@h8h1`gCqXgXE{3H+}endg)2j%z&z0pfKfIW^fLY4f1} E12fS9-2eap diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-3-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-3-chromium-linux.png index c48f07bf43669716bde0cccd18a903e468aea037..8b58791b38949ddc934e645fd275314acb16f1f5 100644 GIT binary patch delta 32338 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 delta 32775 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 a{2C|McI)Jj@A(i6w7;IoOBRY7`u#TuN%$`S From e9fe496d620caf6c404e86fe152a1efd747f53ab Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Thu, 28 Nov 2024 09:16:22 -0300 Subject: [PATCH 09/48] small fix --- .../src/components/settings/AuthSettings.tsx | 131 +++++++++--------- 1 file changed, 63 insertions(+), 68 deletions(-) diff --git a/packages/desktop-client/src/components/settings/AuthSettings.tsx b/packages/desktop-client/src/components/settings/AuthSettings.tsx index 72ff4f95f44..b4dc5b0a62c 100644 --- a/packages/desktop-client/src/components/settings/AuthSettings.tsx +++ b/packages/desktop-client/src/components/settings/AuthSettings.tsx @@ -8,7 +8,6 @@ import { theme } from '../../style'; import { Button } from '../common/Button2'; import { Label } from '../common/Label'; import { Text } from '../common/Text'; -import { View } from '../common/View'; import { useMultiuserEnabled, useLoginMethod } from '../ServerContext'; import { Setting } from './UI'; @@ -19,75 +18,71 @@ export function AuthSettings() { const dispatch = useDispatch(); const openidAuthFeatureFlag = useFeatureFlag('openidAuth'); - return ( - <View> - {openidAuthFeatureFlag && ( - <Setting - primaryAction={ + return openidAuthFeatureFlag === true ? ( + <Setting + primaryAction={ + <> + <label> + OpenID is{' '} + <label style={{ fontWeight: 'bold' }}> + {loginMethod === 'openid' ? 'enabled' : 'disabled'} + </label> + </label> + {loginMethod === 'password' && ( <> - <label> - OpenID is{' '} - <label style={{ fontWeight: 'bold' }}> - {loginMethod === 'openid' ? 'enabled' : 'disabled'} + <Button + id="start-using" + style={{ + marginTop: '10px', + }} + variant="normal" + onPress={() => + dispatch( + pushModal('enable-openid', { + onSave: async () => {}, + }), + ) + } + > + Start using OpenID + </Button> + <Label + style={{ paddingTop: 5 }} + title="OpenID is required to enable multi-user mode." + /> + </> + )} + {loginMethod !== 'password' && ( + <> + <Button + style={{ + marginTop: '10px', + }} + variant="normal" + onPress={() => + dispatch( + pushModal('enable-password-auth', { + onSave: async () => {}, + }), + ) + } + > + Disable OpenID + </Button> + {multiuserEnabled && ( + <label style={{ paddingTop: 5, color: theme.warningText }}> + Disabling OpenID will deactivate multi-user mode. </label> - </label> - {loginMethod === 'password' && ( - <> - <Button - id="start-using" - style={{ - marginTop: '10px', - }} - variant="normal" - onPress={() => - dispatch( - pushModal('enable-openid', { - onSave: async () => {}, - }), - ) - } - > - Start using OpenID - </Button> - <Label - style={{ paddingTop: 5 }} - title="OpenID is required to enable multi-user mode." - /> - </> - )} - {loginMethod !== 'password' && ( - <> - <Button - style={{ - marginTop: '10px', - }} - variant="normal" - onPress={() => - dispatch( - pushModal('enable-password-auth', { - onSave: async () => {}, - }), - ) - } - > - Disable OpenID - </Button> - {multiuserEnabled && ( - <label style={{ paddingTop: 5, color: theme.warningText }}> - Disabling OpenID will deactivate multi-user mode. - </label> - )} - </> )} </> - } - > - <Text> - <strong>Authentication method</strong> modifies how users log in to - the system. - </Text> - </Setting> - )} - </View> - ); + )} + </> + } + > + <Text> + <strong>Authentication method</strong> modifies how users log in to the + system. + </Text> + </Setting> + ) : null; } From 164967782ca25db6f151d8f8b39f1bafc4b17488 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com> Date: Thu, 28 Nov 2024 12:22:17 +0000 Subject: [PATCH 10/48] Update VRT --- ...ecks-the-page-visuals-1-chromium-linux.png | Bin 82835 -> 83165 bytes ...ecks-the-page-visuals-2-chromium-linux.png | Bin 80757 -> 81125 bytes ...ecks-the-page-visuals-3-chromium-linux.png | Bin 80227 -> 80661 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png index ca92d53f47c8cb076980b42e3e1052b874a125c3..358471ece2fba3cf9deba54bfa222e615e241c37 100644 GIT binary patch delta 35250 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 R@WWv+X>ob6d=Uem{{?gxCa3@a delta 34917 zcmbrm1yogC*EW0*!9uucK|)19q@){EP$Z9l(%s!%TScTnx;Y90BHexHZjdhN?v8W# z7q{Ne`#k^me*bvK`>){`cyOP+*Isk3xvqK5YdYzN74CzT_o@mKSCX@^p}1J2<EbW8 zee~hp6_WLS;?Gl|ufBh!{rc>NWgCf|OkWf|AVsb{_E$NL$+MEDFh?thkCmDxqZ zSjFTmZ(`SP6)Fz3ClneXIPB<E^6U&3ML4&9Mn`F!6(05SxC`rWzJ2_*HTnkKL%K9Z zvGNMuxutPBEn7^%w@@kpB8a*TTxrtZhbWo6W_=p6cNI<+lJ2914BCTVG?#Z|LrHsQ z-cEkWOd6H3t`?|HEfwO6xSzQ);inGU)cjG4lxKet6L-Ztd%uVtlDWHW+C{p;W{lIt zk3Fkx)slytwByorns$8SnI*X4hL^VGd$c?|;Lp!0Vq^nBIy!n5wS#R`tUTf<aW1^| zKyK%9zS%|n+(D+JcR2&~DR~!J%c@<m^`1h$V9dWrLOXCi`og#uovpW)gZYr2K0G0z zv!vQbInSLkcQ9Kgm{BG9&YU<_zQ=+(uDN<=5#Cgq`l!6M8SPke(}2lnnXmvdp(BT@ zZhx!qh8I+)y*XW@!v+Hjq&@k8)!IJK=;Bk8z4`Ei@$*r#-bz9{l3c?jbS_)0yl((p zf9FS#J8A>(*uhvYsiAwYj??UQbWlLLo%H~Lp$B^~`xI@L%euJ*8CxDt<<QkahZCmL zgJs{KAcv$L%BKUT4xMw|vF9uXQYykZ*?q0ONN94j+?2{~m_>g*&y$ybWSR@nd|+1S zS@%XVk|}93LCtnuHW)XMnz(Vw;g(8`_Tz)KH#}Pigk<ES=B5rMrr^^262ryh$dBsf zlJ3v1tRcs`2t$-Ok81iVZXkM8o*OIk`bkJg$B}n_+HeDQ$ZS4{DL1B->tj22VEahC z2Gt}RgkzH&k&<MXn3VC3k?eEcylo_|CO=T*Pg}FX&+LA4t;auSaDpLg*bA)xE6w=| zn6Z&rM<HBM=M354bdWt(lxR}d(K#-}Uvz(8k~h2ZAl)Du$txhRd-z#+(UTR9m*i2v zZgGy?&t}c*U{>`s-LY${{cJp=uxiQ<`pahL#!s`gmi7ZR=5_>`n}EQNx7nRJm|D|= zrF*}I-#}=xy^?@%!bnCT$ze2&@#<PnWS&{z&0U@&yp1`ZXdeNKirZiGemzP0q3XAZ zwAgdsT;DLyICXweaY!vO$8%n8%@85?41**@peTfzHh?t6Be#xoYvP($-Dk@w7{p9I zNb@BC4<%mRllr;xmgXqsS?l|18(aG?2GPRDc+>$_@rJQUdsW*katUb%riCsm(j`ps zFQ%!G%0@e+=<G^7+wEni#f{aTw{t(Kp)1-??mSYeAllr_$%@%y5K!u($y2-5opi?7 zG6(jZLUIf#z3dcn12r6;{{79@1n33ITf)>dPBCMiMj+*OM#d@J+;hM|^_XY~L9CHk zuArQI4Idvrw5rtsqj$0kE1bdmHm4L340aDDA@=Oea?FUip2)E-3kONgz1!9fHuuk6 zA1-u6aUb0c;_g(di2K+mmZK4(-`zjR>5-k&WY@+5DYkqzXU8XWo6AA^`a;Hn6B?c4 zCMG7*w>4i%n^V~A_%W$f#<o}yTbl>HjN|^^AwJ;c7XZIU#~u7@!OTRt)G%#M)pb)| zVc__IGXq;b&#PC`^BuRxzwa;8kOY~TarRfuWV-X~Azd!;gc0F6wIew$qMxqXr%bmV z-DsPS^--a$Ow49JFs<o~7?py218PoAvd5gQk}P<j6MmB1saKUr&#vNl_^7f9N^P+S zlWd%I624vjiR4pQV!^5%n7nOfhIxDS4ZZfVGXGValwG}rmGMcQmN`B?{?8E!($961 z%bEEPvAc0`Ne%)oV+I%#QswAETm3gU+}uND6}(1jtv|HV`6t~~p_#>5>E%J|9L<0y z)3diehlR!E9NW*xUw;wctSlJ4zH8)w^YZRp^@POD$5&jP%Lwqv^rmDbWt$_+*{$dw z(&>1tDXQT)DXp)Ys|Y!@Z(LRU91$V?($;o!mp#X)l2N%XGIO|pq0*K4L;n=*WpsJE z)y+FH8VVk?#;1H2$|}D@V7e&+?Z`*9M5wvpQgT7m1SH+*9Hcv&tr(puRgXJRj|JsF zNo?WhoTqc}xuHLl3o$bX;nl=+1eH0%3|Up0%5+dCx>NlWK~6L*RB9>s0%~e|x5U&F z6Mch1O22D~{T}n0?G6}E*ckjS(7ShKR)-A_(kNG;Q+HLaw3uj84icu8x~Zfiah!+7 zonoHHCs$#_?UAXn2c(@lLqph-B&?FHk(sav=7p|7GklV+hOqNk31InjLVDm6*lVR5 z62rsaEoG2==#&?BzJdPt8TevLgg*EN`?YaT_1i@c+t8#~mQ1=>S_HkEP*0pu#K<!7 zfk7Y6D|hSEM3;GXg{0Gn0)kJh`q<c%Ri3f2!tK8HW%?Qg+bY*LH^&XH4r%wySamkN zQt-dAW`468Y-NM?kA2dyl^+|X(b|?ZB={2Q>Q`Q-;FqcR7D^UA;Ns$HnS0UFNI*`~ z9UjSOdk*pB*8PZlYzt1fe|ZK3T*JlnMk}dZRBxu8n<}R(aY~<WP~WHK1Jk}rJGVp1 zlf^~Yr}!7djG6Ig5los97}fmg9pQ0tlCQT|M#e|w8V3^JSz6`kZB6#HVEV#e)z(dQ zS3U0yJ6DONs`^m7iR5%GrUPyVf_vXa(9q8x=qmwA7DbQ5b>#`%a3QL>jr;F;`S`Ut z$;n14Z(&SMwc1llb!%w0$Vf}-9=%Vg68gr<(k(kOI>!FE74g2h680D3^DFRWg+-R; zv9a2F7nUSJZs}#mVz|&5rq_9;j+K#*Pvu?U+)KQ0N3f_B$iBEF%5fdNqOW3Xtk_ug zdM!wr#TY+5?14&1%5ASC-RG`?$Q{w`-Qx8snqal2o@_T<b`UKO9UYxr%ldM~#Sba? z4f~v5riA7<oW|~1j20uFifB!!Ydli>@i0--s%~+^jcJn<1ggtXuC%+azY=cL&1SuS z_4L?5`}J1Nx3Ffb^ltX!M2U09)x}$QmW@puw)Og-p#6<!ZMvEtKYABB?%^i66cq5m zpX(BcoV$OJkuuUYz*2Lh(mtukCJT1iaDBKJm2EJZ1y?RGrRf;9=;DSHJ<%IP4b7fn z)HS$)6u&|kxV*Q}XB=qJsYO?@h^D34aI!ia+-*HnvdQPD<{gCW6PLq!!Nkh*J4fMU zx9(8%LXpL{khRUtpJ=8jjQW4NfcK5plWwDX2|o^`9iZRo*h)V+m?sNpxfa7~z@6fC zK6<!7p{r~8#A;Oa#~W8paXuz|PQwRQw{i7{SGB_k!jDaR?k_T(^iOPQRNWCcnr7KQ zIM_=KbdvaV^_1;lZ_mUOoAsTqIy0T>c^`B<DxpH1KF%x)ob`z#uEMRdYM#uUK<*(y z`Q~woO6vtz!HEgwyXSloY5Gw)Qwf$$I*zCZyW6gV>8uLPw--n0siAwj{+9u+)vKkw z+SKcchm5Mp76DV@4*tQ|smfo>cpv;1I@tH-@;P@`P`SaCb`DR3t3N5*-*wcn+3l@x zhq_8pBNC>HnK9`Uk?lnJyoXRtqRz;fmi6pDABzXVrcZ>HHj<6HOMfs*Xk>hhy{weg zqoSmv6b;3dJ2MZE<lG0bb`aqf#yWLZawV*ZX|u;FokhLyo}_Ji|Jr^?4a<(Zf{3sO zy{{%RdvkS*!<0bnkYc9)NX?Gutkev`mwRJ17%+{Ov)B`GUvT;-p7=GlvICN101q1k zyj<mHLi<-1!{2s_>`@7zIVjI+8hF%5erZf}Q0yHziS(J&DhFF6^_17Jpv>5uN|w^= zPYc7sr!(k#l8p9!IF2{d2}j5+Oh)s#sRP%2!c#nuJ!@c2a_Jh{X*HF%R3V*es!bzt zh+lMoJPL)O2|^{>!=(aC`KtD3ND2FJ^FxXkWiYOzz3K1=El&YdZg*WrLt@8$9lW<Y zThDmxc2p~HU8AFJn;DVuxNO>jxakyZrPdksB0RQ2n|S<)8myE6vwC$T@m;3^kCmka zzJlOggDSG^!*r4(sTpFZN_RlRVrH0TG;dBjN%x3asGD&R!Btb%-dC3-HEp#37V1Rj zj3CLq>dI{aY@7QJJF7xy*_;-$4|KUStuzs#)Y3dh^tALG`zTgtrx=l`rfT%yopK(q z@5inMCO_LC<+IZlYAI!X0FZ%|hhXNHbh-y%9AOZ{XnPbPi?ME+)aua!b8fY$uIACU zP`tFx6Q!lUsPH91p6Q_n*=VgUpFM4!1P>T4V1coyR0idHxydy)1huqBf2~2_Nex?E zzT{hvEI~VAa?x^jTARGm6ovTa^W8I*fHMwuw-r~qE@k)OXhB{8&HT#oTZX4m5jh@h z6&8ZfUZY-lFxJS?!4c>81Km$^73KUKf_WSk<iiH-6U2P}Cq`38pHA$~p_=@;+AgC` zS&h87<fKjeBNNSgY-D{sl2aeW#cWR`c`*{lwXKW-eBv1qL3gFk3=d|8{Hx_zi=MPh zm!n#=qMeHj1r#mEng((mlIQKZjHfKF8}(>GoGs!lQ}?vzeIh(Eh~eDJt>~1NfglL2 zd%gM-{8v8z#*QbF&%!n6*HIylmSeH~q~og7GJ?euI2St#Q_^s_-n&C-cPG#fY(hcx z-F=+ebL$=3@0J%Hwcek+InF0TZn={0zROTUjhgE{NKP&%a*bR<AU&k|ZVmo;;s%YL zy02WMM<YDy&pqDQGucI3eQC?&0=uYn2LUfQ%=B<74q45ecEh{rRreG=9o4B;?x)JC z=%rQ~#j0K$dGrbE$#x>#j<_Q`(pArAzuorSQD%+Jc*5v%=`@v$=;=ZzJAH2`FwAKr ztON|@9d)cIqfpq{5FZ_lNFp!P6&>$1J(z<a?udA#`jIp#=Xvf7p-Ukg{7pV|Rx^p{ zXt&7t;(Ls;=lKDV&u~xESaY1tmPhw5r}R978GYC%<Pjf$@aK-&T;PX26)*QBI(#YT zOQ4gD=TzZ`#>R(Z`&4!BN<|Eg+D(cq-$e7!OD~)^{YAx~5mr>h32|=;cP2=ra3n~* ztl<f8bLr2JnNvqlgJUGrCs7gR-|E3g$BmoP*L+^Z0drC^($%$^mx2sWgVDaWTw~h< zeglCJ$GsMmQ{2(c9r7A^A&v1<7it5ybz5l1Y&t>6=R)+=NY|3T#WWN_@FGCJ>_<=k zh?eJt*8{4Yh(~eI0mqa-iOrJho1!MR*aZvKTx`}inUZtem}C<jJd+%lw;n7a3_W<m z77xr)&D6NebW6_KEbcBrogDBt53J{X-gqwDZk9=E2`al9a9CXMVaE!4c5yYZFa;CS z&GFaLv?Y>=N%(%KOeOBl%=h>nLMGM5#P>q({Tm_&D4i++=qEKJBV&&EONHd`=`L7b zG6M*Mw6b-Ox6$zz=ns*R#KoHK{0-%uXU;eWrovWJj&?S>YqLGz+!f2|3AzmY4YF8I z@yo5sc?H4}%pVBf@0%bYqYMZrR6y<<84mf-@SPpFUfS|YzEf^hd(H&{nZWmctW?n} z8*wC80bPu=dwuowxto1=&|oJno>efW)RwSXptxIM9hqB`;z?I}F}2b@xJG2-RLD!0 zS!H#&@u4lE{@tc9+2O@F+eMN2m>Xx-UVqnCI#N8Pf>o_5cfwtGKJT3@#ke5CLMq*Q zw-bTm$#XU>2Xibb86gjHnlGRkjkxmES&S$n12T!&VX@p~)oK=)M8`W)&Avq-t9~Y5 z!<;@Lq8Gm=FR##rqEzM9ZV1MNnNQgKg&?_IpiW$&d+My|n)Vp?&@l^f#75j<pe06f z=`x)eutyJ$nDKa&K!V)9bCJkdirU_jNOC{#yWD15p8U^_4_?6pCpB&?_ebfqKu}4U z2qUAB?62B5mB(nI+AEbsdVQ<8#|J<8JOw<0OJp?L6xOG5Ytlg=EueIoJVaH6busTb zHS0$XcMtg%7jpq<7rS`MqsLz0dU$PJl`V4dwkbGxAptk^gSArXCsrb=B}6ILj%}95 zFRp0oS;!Q$iK(iR!<2Ggs3wd<9Syg=>iqXeMYry3g`J$;wYjlR#TM#EbGki{V_>dv zP9}OTklN9g*WICBM$sHA!dhUmbf3S-G-e^@(6J;dQNVAKF@0}BAw*43=@NXk#oT=N zz*g%9xj<~GNUX)w=BcYfGsK24!<S1q*?TZRn*CL(GVP=v5fdR@!&V9*w8*M-3B9Hh zpM&Vb#xtv2X3EGasL?cw&f*o|f1SNLSsKvpHMjDZm_aG+p~khK6thah6-B89PHq<A z_Xyd9v{O5{LEN0G7*V(((_&_|76<2-@E2@R^B#XyDQBBLgU`IzGcb68=nEgon}g9Q z+*GR1<#5@&sp)>YSk45=WnFiCNfYl#`2gJRM9Z>-x74eeGMjuzXa8I5gs;@E)#6ve zh>O&65n3)RGq3k*#V^nmMD1m5b^{Af$SsTq%2;UVWK*2w;E$D@ACB8-Bv7~{%e!>I zKU~5heaXwsk*i+j?oI!AQu8Yh(-#i-+nm<Du5;r}o{yfB&{(<}SwuAY+q}LkYA2fS zFog}%I<ItY<x`?dauRF4jZJ6Faat2f{us;Nvg0J+>;7`@19-kT^2{&#$J?gv!_9i_ z3{ur!D0jObrK?Ss_Ay$p2hL|ICvE7Gy6skE&JZQz5yG&iD8HB*1+dO7QhM<;_#NDL zfd6T+f^O??S1LG{8}yhfMWP3c^sebySxGG@xf}O>rEb6!h(7~qoHGA`&`ZxJi3P01 z$$A$~#-VjLyLnWR&ETk7>D?`M=hgk&@;4Zde%$WA=}Pb*On@FQyJOgWJS6d(VX?nU zyIh9!5G!YEw?eLi?pku2pnQdX(k>B6It!%ExXeH#=~6AbXZrIR$0J~40Po!H?FwH9 z#E;}Nt;`dK#g`Psrp0qhLX1qF0ydV!Lu)ghj{E5xoY`{aU()XbFcF)_uzbVU_neuV zg$g8}#24Rs<2lnVFe8;7=7KX1Kq0Q6Rit}Q0CWjGY<Y-bFXoXm>&vxA&^QV4KBt)2 zL+V&*2Epkffra)6{XU~DqJ8_ztd&agG3*lGwhHO#>2*<y50hSA41RCw3ZD08yt<!u z<%{q9U9gWD^%b7MQ+i)XbL%`&1~<M*sgdpt*FmZD6~_s9AGrQ?xkCcfr?04wRbG`c zau<WDOFUIdqFL4A?t7d&7qsg=q>tydo>vn_R7M<syejDyeaQ*}<_~r+h|^Qp#$Q5V z3Ey_%2cJ>u&4nB5iwz2I8AId3+H-3V_nlApJp~-NkHlH<aE$210ZkN{)1{qPKh+%^ z9dF-ijS%mMGJLJgbIDXi%o8Een>Fr`u+xoDxxSUz$8R6?_+kiUyv|wI7%nI-et-Y{ zq{+D{bC`4+lS;AQ+xQYAUQNe*zP5vV9Lg&AgwY=p<C9oEQ|r!!JyBK(_17FqLf9vg z2zwtGy%;v#BpO<K2G;2z>*mVMr+_d)!0&YNv_Rk5?xK(P$pb;g2QtMNy;*3M@cZyk z2w-)M_g`9dC)U)Cd!5CcF^U{M8lbOkLg!wH?#X(Xj24Ty;dwMH5x!JNmG^ez^C*Wm zPWf_Z(LfNhdj5O8>5CYhDlq9D`rw%}YUnG-?8go$uGf~$tV{>5jF<3*Pm$LnX{PmK z(krb59*Za@9adi(aB6ge>~~CFBt|1T-kQtW3bjfzWHdI?+A=?u%~agI$2Qtn{GB&> zj({!o8_B-?-^LWzxwteYhd1hvG2Kq-4e*qd{9RlMT=!%_>J}Cj9?QubW1Cvd5y(Ru zKjQN1(QU141IxQay^$v!L-`KF7<S`;Ft)aFoGpebxQcFW-=Cjd7h4)udt%-B5$8;3 zV&c)_Lfem^aS2ITIzX5dt2yqrmGKNTB?=$WQ=Z|Ze~+d|YfP0f!U3J?Y_*G%oUG^T zAFR`Knrl4z4a27fb-(4(QeULFQwhl8pNg4Z$;eRk2)&E#MU2hJh`M%2)$gFnD~Kb) z2vsODA3agWyWAJ$4sa#dCvmaejy4YIJ7i+O!!XJmg~H}81VVMHG6QaDjF-;V_HDuP z3X2y;=`-^@re`X3l>mY-`ekrrduoeVT^;b>@;vtjxwpXxwWrXBY1xbST0WQD!_4C9 z2di;Iij$rldz%*MJhJiIHypb%=wF;9%aaS&U82ax5gj(b6vQM9878M8rc~e3(pE(B zF0N>#;~{+(fN%XUpo;qKTRgi(S9(F3Qf)?>W_8{o8htG|=^da;s|1ooa=K;Br`<kc zF%ID)K3gl{($in_6tN4I7+A#kwYdlo#B+OTbImjc$omyO+)2}_&o{|yx}AL!1vg^f zOUd6~-{;5ndOxs)PTq>2W1?zl>w6DEGywr&mqlMbkF}$9>*XvjLHFgDFBQy&1qQ&s zJUgRWL7rm=N|J_uj%iJPdv}?LH$m76*^&|xq5I}D^ocL-82c|k2<0J#V1T5mgPNPk zl}MMWq!n(4CQ)h`T?|j#qU#r!=I8>+8bMXWCEEiY=ZJIf;r`8MXbonnrI+f0B`;|J zl3C;i;97TX&W<8JT>a8~m*Zq3Y3ho4bLB%&i7=T$I`c)iNDXh-bHMfQP?HgNfeE=F zRo}u0!o!ZYSZn&ec|seNx*mXmgL=A;tPgE#7(nqtMk}-7+`z0bka2cJ)?2*&3E)Km zUt%Zp!2j36+V`D$4w4XJN<t~X?ZXvwj4d-&GajU0@FM0$66OgmPXaL7td5FcF)zvI zrq;#1__^{*xL*UJ3h?8A&4|UBvk2t=nX8f5n+I9jjsIV`uQTcCsmI<5Pf4ju)&-xo zQVzFF(*=`BZ?SA(0A~k8^Hq!Z>QC8yzTqjD!rA0@hdsCW$gMhZP*+b+00e$MDo?wz z?|O^dY8vxhpYdgVgQQ8dpY``bJ+RH47$}8lK~)s(tw;0&rEb@nakr!ZttE~;dCy=+ z60b)=xjtGmb9mS`U_^E?nl(QDe<74yF}FqM`wCJs)aJ0pj>r>qYMgd-*C(K>FhG{y z-;&m~en*YrY4tfOteHpTywwfS-P#v(ODU(Np)05uszZe9OB$}Mb}g13l3QfCd<!gn zksr1HFXEU{aT9n^vF&c{csc(agr+DUG#QpN&NF4HRHJiGN~i@Sx=e|gK~WA6UmMGC zBV*MR+h=f55PaEf;8qwUCp^wBWp;cI*S|8N|M6Gl=U7i&etC<F^+S5SF&~mX{dQyD zRu2h)SN@F9=hFZ44{c6E*o-)eiYm=_va<3@hH~%yzDuZESK1f)dk?$=f{KZAWDh}! zN7tzHTuEBDz%QokVKQX(P+L;sOlj%SZ@cV1k;8Z`wi{GjjG;s?P&GkO7*xzLroCk7 zMf_LlgD=15*(#KBwk7s(`de!1%&c*Iibn#ag~Zzp_~pqgCN`h+_bp^hO;w{xQHG7( z#-gSq#I+sKEW0lQNK{JbA3l7dvpzzx)S7+X4n<E^*)g*2b!^$u{+<CA9K5y5uhH@G zy~DFDaNgUlKT9nA{a``meVogG)Ii#Y*1h*ou6AIA+3;9CF<T`)UmD@z<>Tu^>b2PK z`1##nis6c<xrV39NuDwM9Y68BLa$T*Kv#2*mX@x-cuEj=a~kg7CUyYD6<@!@`>xe@ zZP7&w+?D4Vc3+Mc>zZOtZQp1t+ZM8;uG($1+~O_^OU~75zJ&B2Z!v#KzPc{8$odNs zK}UZ)zWP`xTe9{YI>Kc>)VybK1fOQ5x11wjiS-^cm-nZxxV~Z|cvg1ymVb|BLT7MS zUmx4}-Y!C~MVTKG*3p4<A{e!jzVJ+cd$ZEdcRc^%?<H&`P{nxkz`MJ%M}%IOCFw<` z;?8JiEX7D6y~agVY+)G{eqGf<N31Y}K@SPljYTqUsvuoB4F4h_Z(sKgP%bhhW-wvs zOkiKgv9WAy)_qbt%VlOVmP||Y0b33^tCuxV7TVku&jt-KL3Zn_k&FzgRd@EHS&e3* zwQT2JGAW3lekSkPp~kp8Q75DyqFMD+t)EO&3A8sCudxSqSteu!GiUA*+$HP~-wH{; z=>6(mZbHa9{G(}eW1K0j=C`fp11}SiX{lGQYD*o~?6pKs54)alv$4HT@xhy$&ZWl1 z#VvDlhI*S@S|$(?F|BBg%9XoBA5&6jx>>sI*T*77uN_W@yG!`_txs0R*M7ODuC9?+ zT59y`^Vj|BI8|m$Aa7PJG70E27Cjg%ekCKdFo=DSUr><jnmzVW9cdm+$!q^;5`_Z4 zdO$~a6Ap)?`Jt)gJrnlW<>e)x>T02+7yi9axtbI1`c$Njx#FC@gZXG8saG)uz)Lea zN^G&xMQ(GqE6%Pdb3(s&Qybaj6{ZJALT+wu$cZ8bjq&MH6k6epK1gIUh?q4eCKUU} z&m5sQL~U&n`)i{E6H!r7pRz5QtysIwkl(*Qx)+q(<R5!xv9bP0*QjMdigW-9GT<a< zBM*WptGw@`ES)FM%6=s!!(~Oy=luCV%TvPM9H+^jq@~c;r~;jJ2M61qxJC#eZy*Vb zQ;efmNKT)rS4mD1wcui7Z$H0rgHWZ^7OOB#CRK9qhyB`Me8EBi(p%+kpAxgZBnlYb zOiWBZxr3vA<M!8YP7E-JMWaf?*v`SOsoA(;f>z4f!LD-YM14{nql|z+awm-T*HC+T zOiYYAwVu1XAj0GL{+7pn=t=B52)%Rdg3qxt8Kt10aN}0BZc<O`Ez)f!`G+l+3mKKL zl#a+~9_V?~pwFIfv1ceubs;>k)YCJ__a`uQu8?Tsw?RAr6Zy5JQEY_AnAdCPwU_dZ zjE*X#I8uHv>U=0HoYd-jeJEEoGN<N{F_(R#u*bL3#%uoDLz3>;h63+fTN1(o0&c5F zRYXR($bCBgPmPUN4L#9Vx0X8F4%pIC({v3C?lEsH9!7qCP0|%_w1ZYuRAfpJ@cH=h zYK~TA^DfjB;9Oj1#zzGfvSYLA++~yE{p5KWfos$GZfH%*pShl={!TC=iP>x<_{QkD zS^V6yE--qXdheNUtglSX-2Q}jr}l25K>FGiA<@Uo_`ATH`>XZD>vPn<s$?o2F==V{ zK9!7mEQ8qewBOsgPunC`b6?cf!yO8il?`-pqS!N(P8ZEol)iI@J7_jo;0y@}2qa}G z25Bbpv*kHiY5vgk;<h@TAU0~_RiRW<TuN0x+5KrX;T!r4bEQ9rvIUn~XL(t!T$uiM z5DnwI%ms@UpU-1B?7nWcvh2#<XpxmKRBaMmcrtd!+M%dnw2wqUZxMo%fn*8)ZnT)a z`hzyQjwB6wm!qRXLM5w7)m{a_s63zl&ok|-5zPM;Qt}V5mA;apGBIG1S5U7FQ}9P) zUnYZK*s@;oFefauTxZFermEx_3>WQx=X1alLF$J6#kW<ovGR?{BpPD;`wP3DFVBoW z<J(^f|9?LewwYbQbK<#DQT=Qq8qv}<>L>M8$9yb5<n7(k(5NWvry%9f1F4ulM6xqq z4L2&-+U6lEnOqsC%;dFS7npM28mN-pNm|_B>Q543RX04UOF4-ud}5bZnhrn0<@~Nd z$)iNdqKT|ul^Gw+vw#Qdvde>v64TW&S#u+L>oj3wV|{yTRkT6L6hNWQlUva$6^45n z2({`l*173HpMF|@JGT9sdr?r1&PAwIA;oZ*hi$mhp9Od*GH-(Q1>|S}=^n38W2}Xy z4N6sKD>#6HeJFaRlFjqYXTHr19Tdm|<|g5W+mjH~U9|D+XJr6hkY=_@?|`#*;GNz8 z-0b)Qy=i<p=~x-%W3HE2Cj&*Ei4;xe3Moovy9)_z5eyomP|oVpf5Zgr4d_0vE6eAu zw}Q`?uF=WHcJ<UG8lHc@xB3Q}qS#X}{^5Q+^w$F#z2ohGa<LaJ+cRpS&ghjNvB73- z!sTthE&1R<nAYwa7|!ynC@A4#S07+>3|Z<-&sZHBuL_dnj=cg)BEPh-bnMvjctS%1 zy3Dk`mHNzTBrj`NBvDzC;b|LaH`Y$As}#Pw9gvpF2=l1aBSr+?wVXohPgo--^V_Q| zK&^DFRKRVBNxP#!rO0yZSI$15;c!+45<xCfVAF=PI-Jqnm#di8ajQ4gLyDUvwhnna zAm*@cJc3cJUGUnw3NFogVCzS-&`MJDz{%@JauWeS%JIYlZR@xxP(KoqhOxbSt7rbv zB7%aF;@J4qy<(p-ROf<`OY2v3c>0O6>XS-biiL2pJwBUNro=HWo)&w{;Sb-w>AwuV z__%R~%dv}U160EDNX`o&mneW+{w~vjqj5f3kQio$+^0zIMz^&=1JF0Ki!;Tp=%n1{ zynJd5pg?E`KW%nwM>H&SlyZ$?YEJjydPOCM{YBcA6TW&A@hF#qT|JVnt{N#f{vylv zI=$(gris*|t}n2WhEhtTMV#$+{8kKARRYU~nyy76I^wv*qPuoV<9O5OVrOL^tBhA* z_vE+_6t5>8Ac{UV9;UeQhODjlEw-7$(Z!8)OOGU@p2QxxP7#X<WHhtDQLL4~MS8$} zoi~q^qQJ_1@l6-Ft(76+ZENuT&5oR1XLuy_+)*J!KzR4sQ+sKq8iY^_D7YK)=g^+b z)8+n#1HP|3+XgsbLK7N%;m_n2R}XySQI<Ir&`A#-%pHZ8TLhKCj#tjd4#Ggq0^}&_ zRTTBJE8)h+rp%svF8t%=Tscbd9ba{%&)spsX{(NN!(gWfZ=eYXuzWt}Sp#pCk(7KK zovW@hLrVQEV5Rp58>CUu8Nn9-J6@B&z9)jHWh~azUqaH5Q2OYv`?WB#A9i^rK*C3) zYbBeV4uQ0E(n)RK@*7U{C*olg{D+kEJ?C|Vk(Q(piHQlmenB#&TGH#c6A}~HyZ%pi z5A+Re?iiTMIZQ4c17!XJtq|$+oERm0l*<e|OfxBVg5@0Vh2X@=%n~6;sIOR~htMmF zD{ntiL!QFVB-^`U3YS<Wi03p4cwuKeOcK+YS;oO3;+C0vyLN%pLcX`6pI>)f6P=wU zv?JEb0NMSHYsmXcYmD68QOB*WU;V|P9^lK_(%9HMJG-7>DMAWTQ!9OB!N6r$DgDAb zHck-z`D048#WVON!le4^v=pehT2ZVJ9IH0B=8V-Mp8MC1|H28Xlh4jAlkNb6ceiUt zP$nnP=|)yo)+;F~4iP8T^V6;mL2VHqsuQdEh6ZR*dq+7h#N<ofNZ?>&0-G$Nwuta4 zMPtL7y7VHDZ`Y+r3CSGxWLg@UQ_X5@xdh=Yhfmz9U(kFy*r<ck%d)#qv`hf~PtRLv zS!qwJtC~qv`*-$9z>VHGf5QohI9$vWy4J-ef)H%z=n?h~D5PP_x4HCPXYXD2vxbX5 zc2IjQNn%4Q$o{E-)}Ltq4S2hG3>#+lD1sO2H(klW=@N!zc9tB1j2};gC!xJw<_;yF zm^nzuNTq&P!XJZ5&82}JZPe}fj?}O@c5O`n-V&?kWxQYX;4rNWhe)Y`v}cD!4o5A8 z`B}BV+{#Szyh_0J8j@$#s;u&<@>sfav)|SBur#wz2!@7+uCl7#dY4{#w^++FiQq+b z9@kiZjkvg=&;)QoUzg5VO{$;nD|~>g0@6tFr=_@1#G}PXOHF`Es`e)azJ)dy`#vK7 z=@RQH#BT$1Wgoq@()HpOL1F_`EJ-tuMI~~f5Lo~%L$}xPJGJtIbzcZF01ZZPFz(0c z3J1Z;I{+1f80lYj><pw4o8xsH6(vBtWIS1fK^s8a)HE9U)uRGX%q?e#?uYD;$)R^< z!w-xHzX`(y(RWNTGWNGdz5Az{PK?I{pXaD!X*Yk%FDtLu?yyQ{nraD)nIP{?5luS0 z0CWz`5{m{s!|2DpX7ZFE2jn79e}vZ4u-y0S-G1~yZ}z(?@(%aVsng$X_886x%hd?^ z=GJR`YQF{qfXvo*HZ!)ycLty(RwF>0?FyEQwjf&~%yswgL7>F<#B&#L%?>2*Bow?{ zoW!8hqxD8K&BaVF&-9M!WZa_160=%BcsPyB>fmDPQj+1~2V$J9VGa$nN`T_b{PHVQ z1=n|UJ%_YbUV<rHFp0%*bc`9G=P_=#Am9MA^{KCg<G6dyDe57>NcGhy8PNrji&au# zmb)@P=xNc2aaijmf2XUNba~*}oqYuncF_%?N;J3Vy2siHCDiEel!2&G-`)MnXQ<2g zSW-q7Apq}<!Q(v|eqq;%CxX!4Z)7-jI?(C-^_1n~M|Rg)qTq|Ik9^JD-M-m<bmC{q z1a>ufrChtv^GNvwyrB7?C$DD-!fv`sUZN+2ZBc2e7(S`ycln!cYI@J$;=rp5v==ms zpEc*oc)TKFp4DL)1A4bSE7Su=%HudEIvM8W3<<g)LUOSx)FCN-cdLD?@s)Z97+!-y z0ATq4#NbvB7GMc#`}dxd%Tr%(2Pj!Vvp+{gE_r4cdT(0mrmJa~cRO+W-hf{?p2yCg zgkG$X0Po=D)0Do}cS)2cuS>Bvb8>)SCm)?zouyt=3<L$b_}Q>a0tAfEb-|xlPeZRI zg6!}22%{8z27e0P;P=?11nmDmA8tbV>NQutRl@hq6a896P5a_<Z@S+6^F?{zg$mgB zWbZ$d2jL1{3j2qc@g>szT^jiNU;o!1pnq=uzrMr&<Oby|u)}SOj)<L<Ez{Bx?!38< za>0vELYG7}=sn|x#s}105~I6D1_n(-3xxm}{jlEv<mXq9%0jmT_YxMw3!fpGfdi!< zuakZ;%nbzTti<4DQXwryE8I!WxS3|>Y^-KiW}-~8fa)uJimDwbg-7#@$u-7GJD;!= z_Vkom*deDXE*}zKb6$C@AJYJ2W80oWqt&j$kXCk#$FNbN#-FU+x3yX~e4Mg$Q}}65 zckbN6jI6WRxAN-6fF1&BMC}eW)RoIObyRU$G+R47-B&fkxH49GR+4I(db4Ot=njvP zk)bqs$3ib71^V!s`#3kqX_~XnOnHEmkU6hh<ki2a##_JN`E<Ag>2-d2`l;s3=F<-0 zOKg0gItl3Z$S*COD?EBh00?Z#v*2$59qW60EOHU4W;`5jebJ-c*}rQD!VNuRVV=L; z4nNe5b{GU1&46E*^#=(r{*|$KuJ0X-8rNWt{x5>?)bZ{?=)Y5NmnTqA-Vu51TfIh7 z0F>AOOj>GE9`!`pUQCqen_sYOj20SV0P@q2YHJc7bF|X(etcBtuT&#M`=Q_)Caoy` zK`rfr#SN!}VoP~MY=9yGF=c}msi<;3no*V81XjCZ2hHB)O~4ed>44awxzplHVRxz| zNsl9ocVbX67YAwf!}<2NvxEf7M}wA0&Q-df@-1^%E?vf*+YNu`#tkvCmuz}{H&uBu z5G*X2J-KiEbk(ceo07|mP1RWk{&QL2J+O%?JCUwUWv&HK<^V|3U_8kS1`3&<dKsaa zqRk;hl*Z}o`g-fQ=;=hTlWnqXs`$znbXCR!RZid-B=-!xhz`Yco10&L+QH(nO)X3^ z&E3V6q~@qsS<V{{>c|7K@6AU_S_G3)yo8wfk5b)w?*QR&{K6gXmv^Vg#-iIeNI%EL zMdkDiHpLP&Rq@*FW|eRJ7C=K3us_8JroB?*HzDs>g!icrgrlD`F^UlzsyR{5|Dwbi z_#>`1EQhO(ZS>I6@&V{68DCm>dJe0SB1$)@9y8bE4`=Q$>?`$Q9U5}FXw^SbF&h3C z*UY+*0dqc%-`cUaOSNs<g>ky4(utgJ@#LsO)!4Pyv^ou%>xsW%<gl=O)C&3LK01yS z1GFh=*sL@_^$e7iQQ4E7bEW<d0PX)X6UDAz$a<eeIMi&IMx}UX^Q~%Zo8`KGxF7La zX;?ynIaRLb#;SB|;YgLP`AG${N-%zJlMgi{)Yitaw7F_$Ykv<YV}UN)PR)M(Hk3d~ z!4wBoF5V_1=ne9unWlfpG%-8psVulBM$BJq)%~+vieo**KX|65=DhjWJIhPSX_YZP zkj?5Am3s`kDI%zA&llE|t6XU|T(R+=>{FUnZ!=YMIAd!&A{;bxvHsZ~RjmgcFbp6I zb6gjYF8q`WbQyecJdnHh!dgk(+1hZ1EDu7ltelt7l`A20_`#Dqmcta`Vc~4F@txy0 z{3Mjel`((KZ2A}1#Rc5|x`^H*WmOR@U2o=&m46Z|-#JdTnF9{k=eg=!r3S^Tn;DNI zjrUEN`47mFbS{8S8EDBtTSONl>bEMn$8j?l_Yh}!5+b`MARsR<&n&#?^Ww7Bv66T{ z@WP%BNV8fwHxu!Y+CRU*xLM=tPHx>dpDGUt-iY(U0<WATD&95i^U-^6rSnCVfGy09 zBpp(Db@|3Q|MkZ03K)NB?**eePxUF{OEyyN+h!?F7u{eK>l-dm<I@k#(({lH0uFoq zb)su2Tjc>i9jMNMgw#Y+ZuxEFzyu;J>_b<!?tK90GEdGX0x9vy0IU6Yiq=2&7Gxk9 z*~y7~8}175QJ%pH6D%Q-5@V#&@xEw_M<cu@=^-am0zISB{PBfl_gB+Y{{-}$dr3=D zRMg7>T#TzHP77Y8pL(sJdAAk+NW8+ZrT}(>dgHWCjj)YdoRTil+VjWot`|Q+4sSbq z6kj@Hcyxj~Ju}hFRPz$@sbM3{kYS+9y6wao7ZmK*wOiPo^KUZm0p?m5bnXxua9_#U zsu2bZZq5>Q2S*X49=Zk&969<s$vDe{qq9{uJCNUHq{cp(uJRsem<+NM&hA1f<%)lf zFi-YOTm{b7m-Aw7{90r{K4Ey+$i+b^&W-(sx+y9^u7E?JozrtRf)BKBh<hCh8TTTu z<sMOpsk>jfJ$CdfT?>9C&tTZ|3d-Ha&f%+hMwq>8HI|ywX3ycs93g=OP&c<vG(pO0 zckj$kcZDe^F1xsvu^o7^U1ink=!UA=NVR8U>h?GLr>ca278%Hy^`6}Mem;@{D#lH5 zT>_TPhI=PKG+^(M!X+e7($H)y>ZhxTb933y(<|?Hy=gI@{WOcmYFf|czfQNXCE|Az zu4Jt-&oBbdfd06A161^A=%o!`O;bfMExvfA%xlK8^(&U1Q7yq~Hexgoch_h<+RoRn zyspZ?EJJ=p4hCw>!tv#w`!G@Ep`V{_7jRX{&v^?5p?3DQUt(e9IW(E;>gvX_yRmHr z-}$_@SMZ-Y-t0+`v8&V^9Lc8X6Q)4)?#*E<;l~R{17sxCRCFFFcc9b@yZ_!3EHp={ z6Ar~oQ0ALz3dpy+*s$X?pJ)lBoWc{C<_0GKhX<P76NL(Fn!^f;ZB_Ha94+RL`PTRl zIcDd}CxyIPYpmBrV^GzVe{r4_eJLOI)&=t6KjX+h(rpmi393Qw3%|{GS26SyjCv_t zearQ+E%n%cRJzPSrAw(-;ZiyQM(CM3G7DCvgni;f%f%dY(lHF{&Cs~zd9q>u3@)`P zs!6q}j(fxHyZ_%(kIRQemE|hIq8=?a0m$KUnDH1!aj~K#oJ1n+ET;bqg3HV!zYzZm zD<+;*0OnBTzX-sB@TGqPeXS^||9MU9_k;n3`TtQzgZ>w{>!d3ch&p7ctH9FQ?kmzB zf{M>_&^8Tcd#2gZKup0p9B$`elcrJliAlBi{xIJ>dIks}630s$NBiC*JcZhPv^p2s z2hCP=f#w7HBl<A^G%SlZT~akwfDdvx_lvn)={WxAHGH|)V4gfBBcN&MvS1vtFqkUf zf?aMIf|11L+@S|;5uIUg<CTj|D*3o8(E<xbEdRXpc?59u4K*%gX4hm_B<P-KH8WM$ zNZ8r42wxJE-@eR*NN#K0hqOnO<4&=y88`z=efDKY=l)%*ks^T_<IK>ycJWouWGWv| zPOdMIj3{O$1_ZzY`whd@;sXu{rE!kAyg44+9uk@Eu~oNExkIJlt||u@KBmnY1<%EQ z6{O)Vk71zyaCZJztsVTW%<xo&gomd9gc7gd29j@3{B23%x;0Xwi;JP*kylXgK`rx! zQx0x3Ah`~+RGy9-=E{L&dx-h?3b^{vN?E$akr`%fYp)IX$-^AA)>ABn4A9a8*c0v$ zg#t0Q=8&7ZXYJ(_BV{or)KxO&1*x5=(G4rmx#s)6dbF4>CcDE3bT&ZZ=H^*@wsBW^ z&z7_T&z$-1f7N;TkgfoTL>@=6#<MK$my4{781ec9Q}#UZ`ERjVnqJgnxxj$vT>Y`> zA2vdUEUFT3>~SCsoIiSy_f4py$I*Y%gjb&6P<q0}6?CArv3L*_1X<E^-Z37px}V9j z@rqPH_o)@g)`8rHTH`e2%d<rCs=gn7<<nhFv5nvK;~a15H<Sp01`4J>aTaL&^KDUz zu$Q>&L7)oHT)AHd9V@$!b4u~ZhTvLUuO^UPvqYJUrm}W-2ZKhEkaCeql+WQ#1JJN@ zPh$77SwnZ=Z?namrb}G-WUicVH8OOgPe@@b;Of2~H++IUqFEM?Lu$feA|gzJfA_j= zc>EAi3Q~a1V@;}@{AM|`mEyakj0y}!nNAP4o5oHTX}4Bqr9mi8;B^_IxL9jbc=O|R zck+KaXVj9~J08nvsUV0HQP(km`Hp`OL4Q8xAe&TPeWka1C<@yllf&Rp7eHW8>}*O% z%><2`Nqlsp`npZ0*$=08s!E`O!s1jwwu3->12nCvS5g7R&I%&su#VI&Hs2b{<Q-7V z0AW3YR!Px|vvKkuPK(#kA!*kLNfA#$pIcqWaDSd<7gUv$=JNqu2^>fEXkmRmhQ)Aw z+jCvB@SP-a2b<nZyL!mMfAybraT=m`9hfw$Lmh>@uHQMuE!K37n$mFpH6+>lN1w9u zTc48m{X+I6R_afp`><x=l=dDJ07OC;Ggc<!Ss0*|r77J&4;r!@jb&+Wm?Spy;))iv znhtgW&1X&iu5qO@X++X#5lk(o0zFNiU)znJ1Vr~Y{mfNJ1cx-BPw4hdd4Yx$^cymb zO@r?X2&gIcB-#pmC4NY2pcxS{o~)+}Iu1Gj(KEltCq*{a62j(n<qp?OAw`J7Oenjw ztI_p25h$^3bdQuhXxwi3`^gy~QiT)CeVxQ{wYz8EPWT423>i0e4-HkV_70BvjT}3_ zGe6skK$QQJzVE6fDZ#E}jTL!;zTekh)m5lGzTvpxrbB+BV)~qb$pZ~jKPME^-bmEf z)7Wy#+Dik8!t2g8$C=*D){QO7^$q9}h^2L_y&R`{24aUWXpJgxz5ux)h<GOBG``py zZWHIO)z@SMu;-1FY)k1GMLt!=GftdRC|XT*bHEk5ZIb>AJJruvL9LwKpk0jaz)VlC zN@I>YH6{=F7AH8^kM?goHtqRIdr*>?57pula0*@p`nPvM62ah!LM^GEp9qr+M08ai z>VY!X8XN$Xtr@F31j|0viIkg`Imb>rI-v7dWijaQX0PDn7nW0+6r_k&@Nm#H!m|!a zKh{nu@$j|rYkGO04J}e_i{$Gc%r$|SM1zLhbv|bhZ?DeIL(7-i80{^VtM+a*BC-Rb z*&ZFuf#f51fq)PQU`)o>xnvXg&FYd${~aB9h;ObUcnzOaR~GrGF-lhcpABA=Xa9YZ z)+!HqP$1<HtJWXw6yQHV0~`|T*vgE1YaSJfIl4W#iE}2BMAdo85LB3xw9ygXE!ol; zY_?EYtO9B@myV$V^C5a5N(=>=1G`PT`O9l3g&Q4wjg1r9Qw7CuGWH)$R1DhAe{929 z8TSfns=9vTmeIx{<%(jQL9s|JJ;w(!ieD|KF9z;02hBkuiQ2pC-X{)mRI1@d%=*qX zN#?48m^g~=XDE2!g}Gy}?f$>@Pi-G&H&bHz;FFUC{}%aF){_4B?N>GbiMlS~&s!Zu z)XTeOR19;8tpAuD65FKxM>gvs_is2zA1a5|)hPqvx%b6d8UeA4=K6nAY14`@wA%lP zgZ67mY9<g>f)nKw1c$GQFaFsqOgpvNFebUqfEkqQ?z+NT7%zGt7jhS5j@kBYg$$t3 zGe6Mp@cW#2<w#WqO3o9P!q(qIpI&PUXb&Dd*o6)^1&}MI7jwsq5(A+u#_tQFF~x{L zVT<V5rviiAg6Mbt-<95+XM9(BA*SE{vcz1D=ylqcUr)(C++=T$xH7pS=?THUrdouR zFnI5R`U91RdKiZ=!VbAKeye5cZ<rSvKfrthls0W@L*Mj+5ka&2C&shc5+{klU@{Zm zn2=Ku*KdC_-+6xQ8owt%2{4Dv^SkdJ%xcR>E-rb|-?+Iww`tpyf9$&C^f#dy?q5o0 zgO<k;p%#<~YELb?0n|pegdk0M0L@yTchY{ia{fq7@J;+BW}J;^8jde$61{<&XT2V% z`5jcWZ8-)&$(T1GIPmMMueIm0m*OhR`(M4U@Dh@RPn%pW5aAdgAbp(8!g9_D0Z26m z&t5C91GnShv-oFGeSL|vFE9Hu7;1|!9{mfY%D*$g{I3c$?DBzs#w(1dx!bk<v;l=C z3+kmcH7Z3WQ@+$Sn)Q?m?Gt(6e?7q1U;TObsi`v7!Sd{(7E?@nTBIGB$f7~L|EDy@ zt;up`Gg9f9%1Arsiv!Z@3>52+GL=g>scVG%w-mb}oreC{^XXfn3`7(W224r^GITUF zKKqxybuYJmoT$nJAD(*a;<##<&ic>9;T0P>F!Rx(`)-F9&oT{fTPb&bsfE=Gl$Pu4 zSSnf|jHLrwsC8=hQcR{?VDvo+bAwCR0`2iaiU`9HA?XYJ6qkaId&$YkWCxv3p|XPa z+~^It^CBbaE`i%$G!QzlD&gG~X}xlV8l@%2H^|H@8)rftzeuOQxcMjws;@mO?HJhA z*8)rX_ehFZy8DhqMC)Y;MSXLR(avDK3C?mKhF2XdR-M@ywRFlwtzY*O@7VFgTo|=2 z(;mSz^Js79aIr}TrF?OM0}Zjn)PJ7R*xqI5>q^xf?f*!8dm$Syy}wAuqpDMLr9H8! z!-VB%!sA+pkw;)tPqYl<Qh%yOfI3Ln*SGuTs?caLSp=UC7h7oY8jqckcR{c%Yq(#V z9f{59dd)-SY^Doa%p=7L!guv`bwrE=^<i(<UP((npyN(5&~g`DfCL!z$vYBHv*Wn+ zcN1QKs<yS@EaxpHcZm+epa~XuN4Up7qCIE%Br6z_w}|>Z21e03+s93K&8rljwch-< z9MKzBFqx|M+U=?Y&<f;2gYnD)j(tBy^@4Ztz3Lg{%l@)(#ZB#~T`JFQpWI(vKj$7- z>>@Al+&dD368IbXd=)sqqo_+~7wDoz(1M)`9!d9w>m(aWW|&m-xyARC|2p^l1;?cp z!c|%<(#te7pDZ7jLpnB)l&qH>mLGZz9`Civ!Me4|TB#w*`&9~NOrFA5uVM9<ZxEVK zAK0bks}JJc#QEZ!|A2zmd8E(qqE4jzEO^&4GJT;9LjDt;1iLzd_*DvyPj)v7MptS$ z$tj@yox?OauQB`83&9(TjNs3Ju$m--Wkb2ZHE{q5bUzZsqmL9hiE<k*^0ZHi3zc5o z`$tO<#9>t!yBI{?TXOVdmM{y}shk%`>a%aqd~Ohn_p?K+u!YKSxkC>IDIaZc15&ir zY24GAtY@HnV)N3I2!qJ2k4J7`*KEH`bNB(e-!#TW+J1!&w@*_D#I|h(rNM{OpO6Qg zAN1IOYh0sj5(bY-k3%C80=d}w<V5(ngJB{frS1RWs8N}>Ymcuo28|ub9%+D1)f4l6 zHyA|3LiDlCc=l&(Vel>?JzOEn*!QjnJ^Sv#(eh}<ZPwcx9ah)S`t9p4&g}$0)O&x} z-q|r+NvGB@(|-5u+dR{m+0QSy-nXzg&gPt8+lSnkud`lVU+UJfCja|groeP}288t* zzgWK%;&^uvOctGU9&BrHJZ;vqGc?jh0SP<S@1SDjdbXQRWjZwqZc<ZQX;MugW>9Y1 zhvEb5L33H2fKZt-<Pe^kdPql$@fXoAxcT!d?>csi1V{hLDtyxyOfh>S1EQ1jN6jOy zGq$f3UR-&d_T~l<^j}xX$&xyoKz@F{GQE7dw{`9K<OnlH`sG-uar<~KBq%lfo~E3L zSXADY-NFrzo}aEcTRn~|tLGRlBIR^zb37$!p{<45;4qn3cFu)Adi?ERyA!_6DN}TE zvR|;D&Ptp^pxa!ky@TXO;)N78*1f*;y^+H?*5EBs(VI5n<?Q=p=$ioXG&a#c(W|o+ zcAskkvE>IfC1FRb-BJdmdLrwIM!{fjH<95r!4!6xg3R#4KT^;KvnDR5IJJ%69wH|X zF?(*~v<$cSJg<AUzcuw9>~_rUE$@JbwCUR;4aGYLJ6|;d(t=BzA{ZMAROT2!Ur|N| zcb*r9SITq{(C@F>VeXV3>u|@D4dn^|olYlbNb*<j69|6rBWt=!X!2-{+cNcSxVT1h zhXo68bx)))(QW4S9X@1ak=1C#1@4;oyBe$j1S^QIo$p0*g-BVySwA71B5Ml7>NsAk z+;4gOnE%rrDNFyMU$b+3*Rk69a_<iYpAgN;=i3`{J^i_EZl!Bbz9%7Og8(4~(JLU2 zUOs&T-5SaoUsfz1H8<Sf6BX?L$D*$^+Xon77*hyduTas`JV!K9n1Z}=xh0L1q6gMf zN!y!qbUlj;Iw-$F)mXL*JE{!3lO_tEki=gd2Wm0sJ~d~zcs}?2tGP8IeSKTk!VS0A z-&remo?Kmb1Z80uwQORd2`)1g6agU)*J*a^Q|+g>&Ry_4J&`}Zd$NjbjUo)HCKd@? zW(WqBSoP2mcrm5=Z!3(hPss`=u*YA{$aVAK6Y}Go^l4|ai8taWzqY$07*swiVSn12 zsI_i6(!dt(0rqv-EWX$QkH-G!)R<(t<fC=C-8>=@>`L3<ztff0an}c8V8~!u>(MOw z0OB)KJX_MY2z_C-3cAU+KHcqInsn`v3@f4kicz~^UtdSQJUo|u-bjd4;rGJzKvZU1 zHVKzGl#8FKmG0eh$edj1`+qw73aF^UwcWv11Oo+W1p$!`>97DnLb^e^yCpV?qO>#v z45*Z}Fu>4Aj&yek0}KrV(sjR4&$;KE|J-}mx_c?i8rIC-``cf<&+|Ud`-y?{V(QOP z+~_24zOrCVF9>PES!WhNw81YEUiVJGWq-`3c#p}EWq;}bTHC`NQ12oBD6oInNKpDJ z-A=4=518l-Zdv0!W8PotkS<P$ZQp!WlgFCK&oNkFd&3RwoZYglk)u-{bu*cxy|+{? zJDMv+3TqLZ^HfR-={!~E6@YLZ%aE7sDv%&Vjg)02AgY0|wy~LGuZ$fr>u?m`zJ&Rh zj0N>qfC^)UwKEyWeNh=n-UsOiI<wVT{C8KUSt#XoJ+~|G;4V>AjEB~~Tz{qyrw-Z? zJ07C<7RD?swPxE@!?6zBB$OoWKnb}pRJ=qKhDgSc4%)_GoV;oHU$xI+1@UXNqi`=E z*dmxl+!i8MGi3S?ezvIEi3&Tv#PCl-UHRJlBM<C4SU7@bmKS<MOPZUTWe;XZgiy9} z`SOUNZ?*_+uF(f}tGiCwO(DbO3&Ln@akd)Qy-Ko`cz!eceEVvxs-~3!ug%$5Ai#RR ztsv6e>%Ct%m7U)cjqQ&Uxwf-7bbkAChVG{6<x6Xg<;7OLTis<YR-~N?QW-H2o5rtU zGud0hF=`={NYlnkQdOV54|=j3jEIkLQsu6bHW~_R9f*ao@(0S|@Q02{*98Pg;ksM% zi$kTt9ocy`Z!88o5SNz*!{l?da6LSo_S|%It*+xE#h41BrG>#<%9UjIh}dMx@H`(N zV5P0vq0t>F`fT=|xGkCId_p^P?z{ebV*K5JXBf(+_04h^3vUwi+~=hY_DG;v8SR~F zCav7A3rZAlz3fY*54C@&_3Q0V7IU}`G-=qvTqFxBvADu=v&n9uyIOR7q{O5n1LO@N zA}sU+0@TujX%$c<HVgd)^iF1Nw*>_^%k^_L>$5qkf9_Vk8s;8>9@vHUTb}(nA5QOV z*&jGFV=RS`TjCd(I|1oLhUtc46iPT~r33eT$@1vk=3IB09OXc+Zh`@Eua9egjqvR1 z_SvhnWa#ro6Y0v?YG7jYTS-6}dw3yvIxRNsOH2{e=gqLMk%GS(1S81Ju%*IQj4KrO zF2trNaS%?1CqVD`U=nu~5{1aaSDA9-=FO`$3L>N^AAEV-7`S}oas@P4b&40RvUAsQ z%kqsMAx<NbkyXF4AvbQ^bI0|t%xtn+<*WO7n3Y=2&)$I8$+069Y)5MP2z<Z!42q9n zFju!VHB7876cMvBGL6BsGhvzvJTNE^Ax4G9Bg0u4NDLtm-q&|SOT3?^V!R^?hZ!!g zNl20R(xK9>K8T628C9H}@XXx#K@VHr+cSgF(bEh1EZ=IZtNZHQDH`f}5r^}ten~(? z3nl*i`Pi%Y718s#PPbRAdDztghX)-w4NVOj6A5;>Umvak)+SzSYq7v!TwQY@EGT4l z?Fq=f`YiI!u^lAR8A!lIj_IZLqAt>skdf5qNCfS=kMLGcmcIkNoxol_O-2?Wd|qE) zKPFH2dBQd|cSwPAH(j9rO{2LtXWR5D<4Q|47=x(^A6A_s`XJy?S1=qAAK$W_t8M<v zog~%<;n2^{#T8yvbJ7%ib`vh(#8?6ChWF$1zs+60nw3lKalo6)`f|EWlWGj|H3{Ob zNkghty`mbb2;1FthxrUwQ9=-ae#57~cUHJ6r<lsMnIh@K#II1#q%bSPYYYX`WTFjQ zc5$|7SC_*)G7{<#)Nos6+H;H5CY$`c{Z4r=br+^ES_QAiB1kfhxvDVqW@F1u2)-Q| z=}~<@`@zzpfPnCoL|lWQqo_KzH2Z<m(Z6<-Km7!Z;AqfK`ubEPYefB5z4zDmh3!tS zV{65!W)o`0F96V?mk#=b$U#pK`F^LhUx6+<G<0KIxBNxAjv%aBr+B1WAGK~TS$U`r ztJWwRgDfCeD;e9Vm+Rlm+$%kJ{6%)C&iUP`_kYjS6cv*(ou})uM>|We@9}Qk=g56; ztDDzzLmHG>>Dk)c7hdbBQlQNm{Q9W)Jk4!RfjIA)BT#vX8>BQyU|Y1_cXcU2m--MZ z)s3{%M<?1IZ)<0ur(dm7QMxt3Z>BVVXf~dK4$B~EY3a}4GJh?K-)`Lp!i$O1=dWMA z<=bdDl}Su3xUpkU>NwlEqg~Qv_v7l};o&{1>yJ@MRYU7rgY28ntcE^Z`?WYp3#v27 z%HFth=MGhkqf2C?;pdL}D@dDOMi_Wxe#yy=4un<662Xw>Xrti*D}FC8FOINmHx53? zZtUad<kW_ze7Td~e@@jGXt16+bFM2*>Pm_2M3lu?SJ#Uc^_(9QqMpxWiyUXx4TM~m znm8)lPOop~>Gox5qZKF3d3(&dZlCfyh1=RnQ>}2N67(8c8R`htHw6Hy$aazdi9)ps zI%k|LH@FoKxLQw2*3|le^SpiQ-%|+LjIwUFtcp}jFAKOYir6y>FO3Zgu6D$i`49;R zpLgm>1}OMP`{Pd7jc^g%v{k+!+Z8sYGrpgGK87vW@>jY~or0OP#-9JA^X?M)h<;6G zsVSz3)#&J8ZJ6aK`uX7GFcPb??Y6o+TasVR$*sGW8ObCnmR=-s6D$j@>N$}69<)~K zcc)V{_H)=Y!*ikI<=I&Y#Qv7%$!zRl!3nHpwYrdC_eTo(i0=4Mg-{Y9866^Y=^qa< zsIe~FXu@>w%RAXU<5N2-nU6cGkEn2YW_$^~x(u@`OHUS~1r%eyd`la-z@k{EsFx*c z!G3sPSJG7J-Aby)st3vbc3AjdyH4@usAVM*781`3%1Ys!7ltEqC%vWW8N({Z`7*dd zB<UOL0tLll?`cL5hLeYxsQfm0fE5poLyX&^N1IKhR$guGnhdhbGLoofsimonmk0ac z7^X4PyGvbn^rSaMgfceQB(2R>crYd#b=IyY`H%DVAuul82DAcru_g=LCW&(~2#=0- z0Z|tkfk=eQ>N1s^S-Ww`xk91yP9uMw#6#%GwQv!|lW?iAuhC_X-w`?;PeOt|zwWuI z=e3Ey4>SIXvGn80{UT8>;JtVk9Y%x6lZh7C?i7c;O&ebSkyZ2k=S#ycU*@|}R~Tes zTA*%sdnZ|sYp7@8hKYjSfhkg<FUn+Y9t(QKaj4}^S0Ah@pbDI;_K7II9k+7qZDouv z?`@F*Cqp~JZ4&W$q5wMn+#|YUe>krQyF^CZtmd;yl`vLb^XkEBzFtUF)QxH_r2o$3 ztH=NzGt-LXpO0&Ag-CWF1fOdJOv4g`KR~x<TAEUYuV24@YiG5h5;x&Frk+co;~_Sh zhY+TAS<Ti9nVGpkygb?&ChW@TGs24+o#Rb!H+?RiN5XXBB2jyn`V0H3dZrv=2>!57 zKVPDnbh2%ACtl6ol-1MgbDzHx`0m}*tcl_H2uB%q!V`C8-7Pygv7v)KvO6fM?*<xb zwP)82Ziy7g1H;Y`H5woSC4FgRPbLh9TmML(&Gc|>?DzOMD%jR6)VWC2xe(vHNL6{w z3eObX&7a3RSV&q)*<^N{UQX(vM#Xx*UV|A;`n(_RP3M~OyTV-wFFB?UOFbyN&&he! zS5rB|@wnwCvqFgl(f9Xjm91~eAg8@~XpNw&a7CH@V5u*c5=J@bT`vyN&S7cYaL3wq zChm9sPK9FK<+HP;Yt{9YaGt$MO1nabaiPOQHu=$U^(vv-cb9O$2G#IX!ld+QC(B{& zI1F3^t~L(U8xqMH+PF0)$XDj@D;c^q!~^Ptb{KNQVc$lb2B6rmFpez>-j_{%%o@3B zU)XgGyT?3uZAbbP(Sw6mvioIb_BP?$2B=}qTfw1J9Z6#Ki3`2G{am*$^LiaRFoqs{ z40M~A9fCP#*vK2j%QDV&B);yqoPBJ3mvF8_+Ksih<I#~6&1|Ft=0jKzy&!V{zG<NC zWmZfqi#|;x)Ep#7$*+{6#s;(O%W3X8yP2t*pVWHjL?T@AIPk3@U&5YGt6Gj4%Tl$* zN<lTU-mqZ(#mY!qywJ_;{+6^LGR=a9J*Ov5LY;X7%Ue2#^LcY!B-m$K9UZvDJa|q= z?ecbPVpM}Wf0F8bd?-wB4p_d82GE4PN6UM&>JVzwb!9lxR6$HyrH`S+Ylm9FWg$4Z zanHYBwO-%-bwrvB(sj!c*afdVYz2WFzdI*iLda|ohq!kB<i|TA-R04($6Cc!Xy4CI zxZ*G8=xhrf_?#fn$?k8kQX!6>B7)?R8Pg>`S)$(Oh#EeGtG0@vZBab)a5Ej-$~aj@ zXmKE4LC2aEtXJ*s2OJNVwiOEYM(qLu0@6KNW1JVd>lI^$3rh8DLqmjH)W3c=l1o_c zSvPRD8w^E^mIx>D#F6+Vdz=#&7k}lp+ScWB^mWtTTdTwhd+*9cqBN_{q|3CNzBix8 znws0;cFg)tsycp2lPvUQ-87P{iCHKxhsIJbUPFiV-fN%xQeoqCy?1&|p<SyO*ef^` zc2-*bPBNtvh~YJ#47%2*&YV5pTO)PlmCHh18Pd$-OY|m2HQSat(EpvFEhbM9NeY6o zzP2W(1xE^D;WksA)BeOp8@pld<qEW`(9cI<TL|5HDY3A2Q~Js$o|2cz>rw`*AW>l+ zLAaT^6(3JW$7yw^`Anyo`|4PC`9WDz>`T{!=kn5brW+h$3-C0R?U^T^?}s?Lv%Lk5 zZ$E7w=((AE?x@Gd^8VFd=E;sr`#wu*6P}xZWMo69YA)EpZCp%v>V}bI5_jG5CL{^% zf2|wnkqbtgWl^7V)1rfq;6|Z;#fbCdK!*@fd#H&VD)1JDv5lA<Z7W`DrsT<xZ#3uZ zT4+%%&W>TjuHIMO5N5-(v1Jl?6WcXurj0|7fgFuT*0Psvgq=T0Z_e!@B7WFpn2eS@ zr4pCN1DNqL9tWJm<@On(2|OmFTkQgP6vYYQ4TXTEKK=W*qf;x6?R(mDQnS6BumFW` zr(QlU#%)fV4o2`sI$=3V`=wsIgsmjGCkj4S6WTun1QxF~<*F;O`jQz_GG99-ZiDCa zypa7}Km`1l`@tZ-wK^7)p~Y8gh{I%v9_&rNRVcIPy5Cz42&>JWu4<8A-yv_1-6-^0 zc{RszK=(w{ul76HCX+HR?^~^QA;Idkv2AIf)|XUrEW}j2YaQhFKE{&obHal~_`i|K z(dJ4i$#8GR<d`-uy4c44Lzz1htuua#D*0ua!Kgh&2@y6R?{q+5;9UPTzj0gI8@C?1 zWBJOY??~-|%0VARp@Wl8sz`sDAU2QuVWTaJ?V<W#v|RB_6_@Gm-;Y=9yxdlJ92e`4 zR~ZJ``YmiOXY;-)C2pt5PX4SHMw~lzcw~#7!>NK|kh4e=D=MojgVA+a{u9_M7h9>> ziu+yFlgP_HIHGbl^TzsO8s`d~zjWu_eD`H?-vDVy8cz^Mujc&R?U=^4&WAr4+TCNV z))ELI5ET-bFm>x3cl+iwfYvzl8ZL5V*BvRgFS0rws?UiR4rj~8a;?;#q*!NOr)fU_ z=|9QqS65nc>spNs0j-=UcEABRrPi9U?^V&<HM$Q3?tP@_Uo#o&g9HIbty6iUF;$Sz zVtl#4d22Q2Ma+AvllN&>+<GDES?*kP@(33el$snRw?_vkreY*O;}HLjr8?CFDfusr zelyGlw(suQ3s`5W!=(?H3bOax^qjYSV?_PCjuyx)e%VtCl~|tpP7Be@Wr}qQ<c(+- z8M48kYOx8GOlKz1B%gqE>I0|g8S-OcFJGw*0`vZyJ4^hKLPI7GRfvFu-^fYx*3fK| zMuh>Pw(GL1SKiUf2gf3geHN4zM<ev?%8|;<`sqa&WbAOzpycJb`ex*}VQ#TYNMjsl zJbzASd?({(<013q)p7DjW(+e4=m<DN2?5A{{Trs@=={mds&Gq%D*NxT0R~~Lqsv|b zp!@A&+nZ)g8afAKtDwW?R->lcXrfX{BFo;)lTFZa;GgV)HM4hlk<<P%PeOYKnn#SD zLGY|^BTJ3p;=xJmk{7J9QkK_q*}%VA<eaa|q-}~xq`wzx<^7nf-;CcPv@`K!a9e@f zeTEVqBLzHdOV#4;t`8Le@fP{>6U={S?e*}|NCa(H)oIUdAV!@$c~NeRyX+0hHzv-< z-SQdUIWIv-Htjd4|J@YHW3w9JymiRtbC-e1NKV$-i;S95$~QS#d-m^b(RnbdQ~KgA zs!<fL5q-x~t599zz2lI|3lFCrKZ*-xlt+}g63zxhW-zPqHdrJ}H#dj2i^Hr8uQPHe z=WP<0|4*{{!zc%P_@NshS`XKXvF=vO#u*$A9xI5jy)~ZG8a&W-w0xpzJO5;N+IS>v z40LB+k0KgS#;L9Fs3}*N3WCJES4E7NI;T$bDB=xHbFzyO*dfVj?d(8}3fP59>r8xi zYI7a`rk=tpX9~1^vFw@>OQvCpyhWTaG7bqN<nX;~YJG|svYFQtg`sX~jwB~<F<3jr zfZ1V2GR{7GRb(tnxH#U$5Ho-f+1pLwzsuBIb=^Q>&%CV_^7^$PQgXB#)LRY&(AYFo zQ%~v>@%=D&B9K2g{hoc&e>6+;$s4~@d(%i}uL|oDj7QWYdxBiCCyRcW7Vi-cowAZL zCpk|NcQ;o-qM%z+R&>5-*teE(w~fJYBirbIPD%`5d>ni1-mBPIPBTNd+HHaIs?(!3 zkoY>_E4{qE?%kkzda_EbQQ?D3k$cl0n4GUrE>~XJl3{LcaI9Q)e~I5t0hnT&a*Hg# z5PjEv^la)SV<k@@IbjU0-EEX7sz!8CbKk{oZCAwbg@CAVQIk2Z(q3Mm^IBJ6=b)E& z*{W2p`4C^C<ceqSS8qG?<~_>dwRXD$=n9~UWWqvo7kbmEK^PlI#!|;~`qjo(bg3y4 z-rae{p<&<fi1D1i8zY!A3e#k|wlYa`G*R6v8*irjnlETQu$4uVvds^DIg8LL`MDLV zH@&>TBe<Gx6hvy<=d9rD%=?^--C5J_I7idjbCJ0zm?os((xh#^+asd0eZ~}`)z-se zS4T>z-3{3jsq-m|2YQ;y;DbBuiQ2BZHLg9!$G?gymq+1moGZc9IkP=oK=ja8Fi5>S z-Gd(OKXE`}c9kso`^cWM2CoZiLiI^FLw2=eUs$Dmz`|xM7u0gz*|TL6g3BZ*fTZLs zScN`R+B54S5aMgKot?21Q2*MNyB98}b_&6)TzCd>{ARr^WueK_je)Qi+&Q-(n(A$( zk63*u`TS~rog0hk<|<1km&2UbHtqiCihI3OmE5c_%Qv5e%X6~s?<cQN8IDvo!s4oA zqga%C6x~49;?QO0R;y{SS<Cr+r2XEAv--XA`y9`_yuCHcUD=*PgLx*$fzeUS`bift zO&}_OH8ed%wly|Mg1DDexAda}2@`HH!EX8w;p$QE7<D++F;c2)&VDx|PhZ$$??AaG z0q<uiWI}hsf(2as{cY-dy-_=1;vS`{ZfI=j?wN^O!p#=qJY=kZD>4b~9Nd9xCbqTc z%<_2RpcdJKXL7~eIZoS?+^qZ)qnHfb_O69yOf0Knu;>A?pjdK^efU($glqO%+knE% zyXV2Tj`Y&EFeEv@yth@+*gh3XTG{w!K=GSuO{#i4GT}?`m?=OHl~|DIlsQfhzxLB8 zceP1R#$cx7xTlO<R}KjPkA$a!^J;cW1t3Om-lSyLqh~K(a84cVa~Uk358VdDrKude zWt&Z#GohW=y60`)R264J6&}YXLHiakp%U{)gL+d%7L#{$PsG<o8YxpG2{>~gQ0dM_ z3NTYWvvDy<cUXn%>I@RjBj~nDHOr#%a+i?fMV9lz<s(?4sCT>vj~VVDNgpa;)X3CH zyL8%LOb+fiE8xQYhRmM`+stRPYuI?{)%KFqCMlavQ>T1z5gtiWkD|Edj;_Eos;tSK z%sPyxTB3LN_Z@%zxTg1NTXT*>KXlmIb!5#yzuIs-R-fCpr}%^;PRxS);zitLT0w4Y zr>KFskjcWA9aIxuC%}8B3AHTf0P?eTo=pFXGRn3MAxK!k7L5<zX}tGea>K{8C_4sL z`!T(4>$gG8f!4I3*wSnz27fW}IxbT6y)sLD=?Z{|h6^o7GMSnC^0dPU>ir!Trr%w* zs&6%KbL<#(TS!bPvo9XdK~!`!pwT=lkqSe_PE25UGb)Hd(t}B&TzVcekJXG&8mzYY z3q?A)(&}S^>ImxA<&OT`N>|H)%*bQ6%1EP?4vn7j<HWX(wd)GA;iJWO!K&g&@A2!> z!|+3;RQo&f2r(&VSy`V9I*X@L5(S3M*DVLLv1&)n7<A;-<nM_L&u{U2a3}EFw!NT9 zzS_Cm804`AVQ^jrjuPb?3y~T2Q_~XZ92(yn;7Ebe6Id&$ZZ*X$U=QMi+(I#z8khLp z@fZ!BCm&YrojA9|s%I_Bx>mJEst|UocDg@1Q#GH4a=<&<ME^M%+ZS^UE>m`m@8Bc> zK|v;ULsshYO;4pTHhesG3rg|&Wk+qAhlvfPP}cvG<ZSg>;&Xp%By~Im@)NM36<1g5 z(Uz1D+Rkk%-C~1rA<_;+Yg~a5vtnVCwv)ph?uaAL9WJ9<FEKcmAFbQ!%l^XIpK~Mj z4D5U{HCK+BcQbqAP|Hq%Z*Q6aZ~{@y=506)`}Eueq(pt+uu~k;_+sX^3M1rPcDP?W zW!>Q<M3%SV=CUfpV^W81Xl&rL>ZTJ*;tN?r*&3{5soI8&k3T@fWbZjNs>-UPxj}{H z?0iI#4z-oKQL~II6zhIJY%GrfPqtG^|9f(2ro{;k;qxrmf!u}TK4rka#M@SRR#?Zz znVX<XY<|&lp8>$`(oJ^R1Y+u*Si65??rgNBJd_OS5(eyEuCGsNu#%oSb$Y%h<-9h( zT}z}xd7v3DITt)QQGADknVGq0X((Lp2w6Si{vUKDbcagZbwz>;EInGNHQ(V;VKm0& zCMN6u#5>kUvoKio=VH`qjtP$Ya+DK5x&gM1KK2IYkJW5fs090gMV+Z5Q79TEPW4;^ z$BDwyF)+MipPB;W^!jxQ89Z}ZX;9UxF>JtjYhDzxzfJI(09<|2VpljlMC&RnuD((; z{_XXhw+rt75EHzve@}Aj#)tfTj`}3ZM{BQ7---PFWVru6naDWv*#kE1dABs1sgGC7 zx0W0I^J`qKmRIw@Xlf5*$ukrZju}Q|YkRMx&Ms<HPz3P|@99oAi#S$5F?c{=n@Tka za99L6;P*-M^@tw!r9GG3pQle(Nc^#xl4#c@sT){lid5ufZNupXL@@NmW{mWBtC!2d zt!5P!!5$=Bsh!2y+sm%P6Y9qXOBQ+4nyjRH)SG;O+BR-sA}P&~x%p~)MQV5hJ{e#7 zhk5)%JVL*j$8l4qC{K80&-h3}B(6L#T<!lsB`&k6ABl~8<qE<=P0G4LNbgNj8jHRQ zU`vY?!9uOvHpDTrniZX7B(t`Y0WSqJsahMZOa<Pf^C7s+F|V-Inol_I!<qH%tve4O zhQ^gco#OMt5<$AHlcVVOFK9t>IQYjmK6`GgAe>NruR_QTQT9sjee}I>v1I7PMbNdd zEPWh7tFF`N{E8JRsE*nnk>)2QLyz=pBsSycCTw`Z-?<4dsoIdW|NPi_ek2;D?@0vv zL%V^70zCV3vXmaEj|fCcj@xY(Xd46*Jss67!RyyxjMH@{yB!+wakq<$_`UI4=k~-c zRC)jc0=qXf7T^YLS&r#fQGkx^RcuPMR<p%OVrJ?^Z2b7~Da?d-EdPXO*a5y!6UeG9 zkCgGK<D5uR03Tbq)xr{2S@{*$_2dR2VSQ_BLpfBe@7P(jGfn$*&9&yrKu+`9E9mPE z(`STBY-ih9I!W6)sB|CL4Rf2y9YpO+dPQ;>i8okpJ6f?@^HE|u5*c!yI>6+U1Rgyz z|Jv$N(K0;Z!ho{kxhHVJ7n#v1u%RF$d$*~X{z_uIhby*D^*FCX*DS9@E>_{`nL84J zrBoGA<D~c~Hbi(6BP-w0-`2FWsx!W5#l)tL7DA03=}s?*IF|qEqP%#9z=Kgx5DsP@ z2c4DcN_TG{huc72!mwCNbEnZ#N|%;af3XjWBadW^{P^+vZ*t5yAZ6@dDYN*`V`y~j zewauL$i!WvC4;0uN)?$QXLP(g94b^@?E^?a(Dt2MLpqJZ`<>#Km&rSZdCa(U%e2~U zJ1aRV+Wl)^I!7godix9ZW?=98*cyQXRy2|Sr145Of*aBZ=Q2FgQ-nd9Td&Wq%Xfi< zNlAdW&p}n*bq-7qvHQEbJ$CCam6Vm?&;ysiQ714J#2qd00-BGEj$V_~jW~?YGBMo_ zYgLbL&<gZ@<TeqFcko48pNF!}mqB>K7<Ljj+*|0wtfc0Y6j^2;U6buJ*gv%R!2Ek~ zrt&wf+^4$b4PVMO&Bux|TMMu=l@4Y;V&wdxfPpm~Vdv*+uEjSqc3%hh@0P}X{O+|= z*1vTIwv2d<U>F!i&eq*;KuWkP*GBvJ5OcM&a{ZJ}S+3>xE(2MblWPh)3-w1=MB?&R zewroKj-q4r5JKFJ^DjVxCMM5o_Xie8ao)O_cYe6@#J$J?<2>u<e}(CuK-{tDtFG+l zWE}|6R+3yTNU-I}<0lIvNT&MpmtQvaq?OTRBi%u`^s^vc&fQ{{vm9lG?ywmp$8A77 zE9mL9&aWq)h=oYTo=jDireL4;T(XQ(3OidPkPCYM#lYaLUKw|~WV_bg2DCCy`{v2m z%1*ds$lew<*`r929_=;^PbmV_+==&*ONq@y-5eA$S^j`bOiWBAS1qJkw}LxIU)*va z?@2=FU{ckbrA?_;MV>KM!^HIGx<S-E)%ZtMbqm9vLA3|w%O0zO88+MrPL2ZqSRi-d zX6u`qDQ?(~%PWInLRSVeOe$R2(Mi3VP5p<5o^!0TYhU9m62_YDp8vf{E}>VUWeuzf zew7po%bCNg<!4L{@2RAPM=r5}m#+3pj$zv<TkNAnwTj*p?^h%J+MEQTG-7Qm^iseO z-*PDbT<1erSjK_!N*ovTsKmBv>#Z^qy}Rqr+aOQt`2;hEYMVQBMFh1O7c(BXuCxf# z`oyi0JD@0Y5zEb;lXeh)Bz4V^+@?_UrZ5p$q?_L);iVYCaODg`-dpp1Dd%DToAPtG zBP0|b{XBLfIlkC-38I>O7Vm^Dj86s$+RCbS)Ye?`fc&;Oz8B4?eb)Asn2G5ww9%#u zrOg0M@@sVrUb-vbUtSt5x1la0bIH$hYZ?XVLuqTDYWENwHjkWE6Onr$F((V>;h%JD zwbK$FPT2$gnQ-j@TLRLucjKYIolrm8rGEb&8*@JUFCx`+qKAJ``nB*=vOtadkK=3{ zNb%!WIs9>n^WWvL(0}M*!L5V#!^26~A5n{EDu=?X%2f}?4kwaP>hA7t0E#%(xkS6s zE4TOExd~~6lKv=gKYU04dRjWvU9g7gd4mGW@|Y4wWT%I<EN`o0nFlsN?9Ub0^6Bj% zd_UY^HB(47oq#|XSdCTBxu|wuJ+sdDvw||n6N3fl<*y))?o4fdkWP3v9@BzR5P1|P z=FJJ0WpC{j0wBTcJh9=zNHOd#qZa&u$^B83b*(jD?>A|Za{rw=>*_-*b}{x)W)d;e z!4BH>ot+F|WYG+r%6?!4m|aSvi4&M_e`^fbMgfu~&C>}0k%d$k)fA9im>h4+hVtQq zs@gF@opSd8;nnIOgHCY;ke$<+b6qq(!*Q8XezMk2L%@tZmR)Ze#K*Vx4=>0>vm-2g z{wLxQSe)aFL3+ptV^_ByETrHLi<YF`ym@nRZ7}Sjk+?k-gj^~Uk^~kDphCeN_9~pl zD~8IqFJ;Ib5X+D1aAb=C)dYOInF*|8B*<aeNT%de!0O)$fuHafEjRpXz<CwQQ3BD% zo1~-tsoB}a^8Rdcev`nI6ENu-$jKOkcyD+$--9^cR<2-Vci||A>WGmza`<860D%gv z)&(eX81`^E;D!&}KD<|4OF96hTvX0qtVhhSOU%=aj@&D3wOCysZJ^yu@mL?Oi~73K z8mlX>yqR`&TekA)W8?c0S^F<`+F!hBf%7!fjG(=}2@Bks7}{P-(opIL)9W{FU^g_p z-h}jdW?yKe-8g%jd7vW?MK4&uKodFqU6&d<l_{2b^&CBXPC3))Q!CeR{ri|KzGu7l z^+*KWqfiTm6OwXz;tZ#!4dI-wIVp!Aw{)<xYSi>*&x_mWocQWkZI(&vID2Qyf74Oq z={7&`ICQ^0O@fc?F^mePn@u5_+p5`mqQuMNQV<XY!D^N#LTYNnJ$IG~eqwbiG8K`G zrkk@N?;9GP9*a1C3`>^<9KmeVebqo_47viL4e~V*?S3RqIfKh?7<=O)OUn$7)+Ap0 zzv7|U0*zrfliPlv!UwbM>Bh<(oI4Oc(6v^N1*}-xK;x>J*OjpywS$APX;y<h>E7pK zZSrDOX_XnhWOZaOBT3n&F&4eMK1-wnd0Nr40)-?zC^QeF5C!1JJf6q)R7wznRqtU# z0Ljxt0fL9Xo;-@O{oIX_bL`WXU)i6OnC{HzSxw+B($fuucJ3D1y^2aX+#y%oja~n8 zwBG|c@0RdNbMaL}E0rlC%q{-SqYu$?CSUuwuKLd0q6|NXG~e@(7P4XUgD#Q?Pkw0Q zeh=P0mx2h@X5Yc7?)1J@+5X%bS~xZ?_Hleo-@fn2q0J-Wi?T&c0WVu@?94pB!(jpE zh=o{Q)9(tSjy&B!S?}KW?Hc`je~tJ#$nSMr+`Y$-9}D;_$EAq;H>fZ=3zwFWHSXOf zx=bTR71a3n;Y*nAt6wjd=H%>W?`KhumUKgZgc&NOoHjzvKMHI9Pw3@;swSX+lTGA~ z!9Xdas`JEmZ*#(cwm_L$$Z=+^9zJLKKf%;__q%GY*k%*`QB*ewW>`rH?|lATWIf9F z`^j3`m@qQg<aI9n#w85-b$9MKFAWC)0oh7;T$yOnKkybbN(oN%81bIgbTqxy<&Rk8 z-TfWac11`q+_KooSdO(=pRiW=yRX}~a7#Zz2V>pD6!~%f$C+GTIB(tNx_|RIC<Y#S zS2uwS`TG9Uqd2cTT{$z(hap%(47GK`vR$g>+DmpS*_Nx~Hb*VGew=WkC@bq)+xLNN zhg`QlLDuwyTuc#DE&YK~H38Vqv5z^mgLiLoDIP66KCGhSYxNo<Pr(}@ezZTuuR2mT zlZEeY1_5~y<&%Oh20%md5;aUU3wDMwG-#wsejd%-{_e*!R4Wh3&6^UAj@O^;|8np$ zLyh993j?mXFkeb&m+bz=Ddhn`6k=PmLJt!487?M_Y<?P@rJAXVVo%Zc3IMd!v5@lz z^&SzzPCQgO_XnylH0F-!6xSpHT~0rj9n!1&ak>}xYtJl|&t{W8QEd9`g9U}c3hW0m z#c5X1R?K``DamO6NQ<oei181Weo2jh>!E8h`0ImCww|?((I{|4#$q78ootE+7A;X1 zF$+CNCheMoP=7g^8j%>P?O5G`pv+XpVa@)<zG99QSJ{cd;{;5%-SiMYPhf*N<#A)x zw;MbL3RNY;X1}<NOQQ$oZ5n30SA-*z3A7ytJW{jmU@6S)re7{fi7cI^+*T1LFv-iE z{kdT}-Ki&hKED%<;0gr#PvEGL#jl(+_@KSiZE`kbX981g*$)$VHFE*1D9(K#l1vnK ziurcEkwCy>`V8o2wy|c60Az3=$&xz~q+ZzD`)~Y}RwN0^1w^E=?@(TwD(cj7S=tz2 z$$z=A@ulg>6-8Fo%N!geO9MX5qB|2okZ+APC`57}m00>;<r;HBYVvc;EdRt~8RiA8 zl;z>_e2%(}u4Xp6985NaEiB{l!5?m?KD!py`0E$0GXK?sh)89DZ+7D1t3$QB7QMH_ z1`JKTE>UvD6BTKzUz&WJetEVT$5&G2oP^GJFPH??x=nT7mA97pflN%q5pfxEQhX4F zKYqE;3b6%>#RTgY<eUV~SO)(NX80+OGAys*Zv6%!4YoChdw}b1gNupkQiH_hvO<PI zu~ykt^5!>XPVPmDMxYmBFqr56O@3f4<$>70!ei6}ftupiOPz6aEHSJOBW7hAvt01X zp&|$R2bTS(K1sI6v+8mtk8CZLi8AFmw&tar9M*qNno1OP8o(JwWp5%zH3Z=qIe@>Q z$<j>#=mKCd-R;@?CBjy%|CCSIqRJ+=ymxnZmGU2*HkC!Z>9=H9>|r2nM@V6ybU7ZI z<ncHU2N9xkr|~kz0E}4bG{Q}g?<I0nAAmE=r01kXPMiB41@mNIU1)dsUG&g1xuVV9 zA;QCr=CszEO0_R5`8wi0-0-1s;~I4knYFC0n5=my^M+{YoyxXsd4sMEa$?5qK~vvT z;ZZ4F&vXOJFNih$_I)JidJx#r6Yq6$4{n@HRy^4e>SdBk1xnIj@*^$(c5Yf)+AOtf z$;mujAe*OsU^Vzz4owU?pUHob1E{h98Tfxfp}9hQCw#%n8r;RA?%DrUGwAKEyJfn^ zak8+^Yz*}*^k0#VC@BlmW>oYPeKOh<d2QmeD82vXsqUr@en$kp>%9ZYHBeO<Uvo7u z?fJN+Q`OQzX?$#QGHsQxo2hw?PoGDr7~5!ZYmv9B(Of^y`me}gzC5I5`B!XW#N&nl zjAqj_>2F-n+HuN)PpFUg9=SW1XB$!90!-TJb}JRn6l5r6jtRnGPM^a4X~|3mE66l7 z4sJ~n2}_lsS=rH1v6eLyfy0JBHzlv-*g6Fkh8;L5xM9_$g(!_Ixt|_6tsKwv8GjIq z-!j98<>8g4cvvG^6L~c}QLwasYt#X0G~VF{_2s%|NFB&7fm}`!wZI1u1I&HZu@!Z# zp!S>EK=%GS)_M9=#2V}w0&0`a{&B$-egfrKKRio{6Lh&R>GxV*^c4&!m>pO1lo)Dy zuV0DN-ZJ;ec=7V>8cXuz?;>D7Y#!pFK?D<^>RXF0l0fr7m;l=mUxz(O_GHI@rYk)f zKPUajl>qboSe<P#05U*N|FQ?@6@XBIzv|4NI3D~={db$({|^Fz{)Z#)AF$>BX2|=$ zpQ!;O%SbPoa;K*EqxRcw^Y5*xC&GWq5Hz#=#U6T$rym`Qozbd<a9m63!KE>AiH~Ky zu6H}ADJiY|u{nahZeOQBh@cN>cX;rby@MBbhax63f3P*6m)|LTBRhBdK6`kSindP% zo`$ERQ~ETY!~*7~gmL*#jl%d-tN1ojCg`gFbsxIN0~FR^WX)G$dk{^v$>nK)#Is`% zzA+nm@$>)R<Nx!%^#+;g_UME<S_0*2rc7i`Chx4)WZ&4C)Z`xY&L1w1U2UgrQS^8e z5tmr^*$7MJ6dz$})XD)tz4M<dHiaMjfsSR5@E5Yz)M{MG#y7R0Y^Zdp=ES9^fMDK) z+j8?yIk*|V6o53#7M`Lt_Z$y=EGM)>^@$PR<Ktw*9~1OttA*c&^kIe=lD)m37v+<~ z=mh&E3+f2^^0bnE!o;P-rR0;$29J$~mR(obwSy_3=vLrh=Wci|S6s04o$FW-6oWRO z>EM>|_@rbJ4DWMMokWZ&+qn7&*$2~S&=m|XN3rR}ji|PQ{T<q3M|YeQ-f<FB2|fw& zYyo&3)b3?vqsd$RP-At%1q?G~YaJ0@oAtCRHQBu4)FPqdwi!ypoHRK)=llpd^aG7n zwjpm=n?5Sx{Qc;3S&b=Yb#caw)Q$S;ltcliYbo8&K((l^dYQcE_`~p<AA@7;5MP15 zjG2KU!~R%_HJ5TsAvXP_cCzz5b<GLp-pR^Z<eA;QuFp6>XUoIe(#@IHlTHnaNfDM9 zXJcM!3ekt7QrQmE%M9Dpf(VNo+8v0N{tnl$;?CH+TRtaCDluhcS!?%qXm_X?`0j*f zP^e|}Vy+mXF!vN><!g<3dorbo?nkpomPOpr2@YW56YK6io?jpwQ!Kv#!wndB=#=tx zV9YqaowNu9-Pp*`t+xziVOz`9psUw#T@{s4a=b)M3w<028$);Zh9BZO$x#scZ@1$Y z2gJa$YH8`>f}cytJx7UQffYLDzVEZ5>PM}CjAf=;SjK+JlKjQmabRC*#$}yhUgU0k z*^Pvcc_)@`(M`tO(^#Xq+LkmyDhIJA#F>1;@9B@zI=pXkdcxQF62AJlSsV*S7vzm@ zA!d>+k(+J}HK0$_LW+9%S`su_N~Exq+V53vQQwU#y|zB1Vgq^%-tA#k?!wGC8elI( zcrU<!miu&c%TE`R#49TI>nE?Bls`BD7O&8xz|^^_+1}!lCHMGk_RxPmC}+ZNU{fHD z$Z*^C<H)Ilc>xy2lxr!t5w=ps$ZHAXtGiymew~H3kG%sMQg0j{RRYVfk%F=<?9^c; zb@FMp>IUsd?uJ4}#z;#f(y-TVp_-qZr{-u7vESi{Vr2BAKJ1+_<)-+y`-+6xtkIm; zxO8hbR7qlJQ~k`&xMoC31|7Bfi3wlF?UOb%d_f~Z>D%ba87;4#;xMFM#Yk7b!*8cG z1UwkYU}l(!aoUnAk+Yh7g6nz+V{dA3nqHQWq87fI@bQ`N<ZOHH{LmR-yC&b?*xIfG zTD0SW#a;J`<LJ2YeRwgpd`!v46$mzv*2+RTS0_(g--5f9Qqccof$%I8?O=7{y48aU zLr$-mdj1{g5AfR6ve_YM#g$z@%5_hsXz1-zFvvteC`I72k2%Af$#?yF<lgLyGj37$ zBR+FPHa~k8@!9L-;2IcL!1p=q{ZpWZD)0xdtLu{4NVUqn(H$zV<!>~|M+^Ii*R3vX zD72b$zNj|7AigXN)D-Z?7JAO7zImSDSkV^S+~E<Ht-rFqw?al24Zw7enmY20F>QV6 z^MzGb<+j{{)RATDQ73_M>`D!F^9DXp0msZ0UHt6C$k5+(=u*+^t)8jFbw8TWX{2M> z<jWMaTD`#?au+<kOr6iAm_2vcgq~j1MV5w^_L}g-#1@1}pwd=oFh?!ys}pqAXAFum znOr4+>SwV_{drnqt-Hgy$)AtBZw?io+-j{EeUjBKIXwL?(-S&-{W`Mx(mHsyyOwAI z&{f&Tck~$P8-vc^_L}qyjIep!jbC3$NlTR_hrt)!VokSVs>a;Rq+3Wi67R&)Zqt}7 z`0I005RK`w2j9OLRPlfqfFPBet@6%`nm!PI+d2>)92(%m1Dd(JjzL2I>Slvyi><Pg zEEagp#Lq;jka}<OP*aHeCWn#djpbFCF6ou?L-%TWH{-+=p3b>}!kH1Lg?$bZ=3MS$ z-Tu_R#W$H_<a1ehP=mWSikM|)2yc+b9}cmg-$74p4P7e`Hz$uIKQ+FWI&o6>$)Nu; zC7^EOslu@afQWVD2YwW>{+L8P96$bB=G)^5*xTgK7hSvd+e%MIW5i4GOjf>mjdzAL zIxg`|xA~8?-@A1I+K~$XUFcgx=M1MKH-w4GBpRET40z2?Lw`K?4ZZkj6&Dw!Ldk^- zxaA8A;ukYL3cNOWJyQ8YhytCE*q^ob&!s8-oY%+FO)EAt^RYK-mEE#xG(}?Fgd7P$ zD}z(m{M~0|=GyO*rdeVX3TsV~Mo+9He}^tWxQ!Qj{yu>J|3CQAFk4s$e4SW<*YamG z`#*WpyJRBe1nxi#_#*2mmx3$v-;aY$o9vY*PK^OEjL+e#i@<z}DYOONVxSeY4Q;iP z_){E!@3#l>cVmTXf0rvG7%H@Qvb}ubr`8Tp%(>m?Py6HF2QBye0>O_NQu|&Tm>R2g z{I@TkE4QXp;`wqqPf%_rT#ADZRA_ywF<jLqG4aJSa!$ot6}hx|iiGJOO)^zTkK*E@ zUwnC^7}6%_5}hYqe6N*Op!rMJn?6S^(g1i&dt$3hc5(m4`3vXO?<J!1q2rJ2p?$&u zZ}PB46)UTo$6n$)!v~#%-ZeV`oKm~}=ZA9Q^*?5}1YXaDR!nrg8%@kq*4Vl3=qa?f z^rjciW@({hIM@<Xrt1B77fF$tVKZYHR|alm7gj!XqD3$!^k2|GY7(`3TgQvN@=W8a zE|a|?-||93BhERZ;(CRT802aHM$Fynovr-y?sC<jVwWQ;EhPbkC+C@D5Mi3?Ijj-w zmgcP^z<XL(S~Khb`+dAEq&e@K_WV-u=FtNm4(XPbwspz_Ya@7`LK)w@OD{UOXD(|+ z$o{LAIJH1(RO&UKEwmHT7)e3F&n2}p+dd#SPE37KWo`Ai!WL3>kwe&)xs^AW&Hb=N zS;!x&=pTh=Mn((V({q#c&@f_>k8U>Z$*ElSEq+6;={U4PA#M@Rok4bwZI5CcF2?wk zM&R7#u6NkvZ0TM?=ic$*EWzoG+={gWT9<><JpFyk-Csu;vzHM>k6cOrT>XjEwMT7& znX1`?mb+b0t&fo=oP6Y{pC9~3RTq?O6R(W#=-MX)To{b&Gj4aEwvg^gZ?U0(>hF11 zt~g06r8a))TZ)JZN93D^Nww32O?-7%*rZ9IQ8_XuC1s1f3vV}-5Twe=c3Wy`WseYA zTc;F$mAV?otsEj1hKM_<<Cc&bR?rSA(uj(QNQEj2X}4C4hL`LXUVAc{x9`gl9CUSe ze<o9p$|_D%jZo1#&WmA>r&YN^@cZh0^IlQGd`ex=`c3j@d?&L?iz=n8($jQOZkZLy z1d_@`u#zJ0G9Tx>7E)5rzhxFB%NUtuW$8UgC8C4zr2Xo{o!Km1&QGt~O<a*>wWP8H zS$=Fb-pI}1%uFAcO<1$BP|VGK<Tq`op!xiR`17fBd+My?%?e1+T?6NE+HcVhmDWgh zEFFO@RiC;x^+=cSPm?<LV_@saoThy)uMGB<e8P&^<Bq;Hh0<h36uR~OJia><y$pk$ z>X&}{NJVaCWrZT~>Kfs;Ke6<$c8Ex2t;6!xtHRsr9!N6toe2^*wj_S9xCmidVb_z9 zd(tvgH!|uGpT9I(t2sv<6%~tbcNg<HKl>8e_uyH?$jHczZiX((`QXJg;!}UF<#@mS z&TWSRE((Xev=N=H%*oyKFfqk_B6<dCbd{dXaJBN@6}gyx&KsEEfz)8gd2;OG)~ake zCvbXZZ(0*G5C`@KGm{(*9DK8UKR1K@VL<!oS&#&BqcA!ln*5tu*^1MwIIpIpacW|> zVoOI`mw&rzMC!=?IS*~E==j9D^xR4$P2=v8RhHZC#t-Ojl2JNI4idZ`x*QZQGEqHo z4hGx3VzJ?F!o%uaMFfLE_7qhVu#%FJ%&HW#!B9$3rHXAYHub7eyF(<$&JW86&i%8o z&mu_K^gd(s^7$&uR2U=(e_0M|)$F}q)TOqv9Ka}uXB;LTsA?*HsoOg{QjQ_45q!sy z-}m~-d)4Z~XO!w3>hA8PNgf3PFKxP~Zwd|c<q)MkS1I|WiEj(YYQRRMJ0nI-^h72g z=|}s(;xx9{s&j&8F*<u9ce=+hnw`0?VN~$!ttuuiJ{gzQroZ>#P!@Lo&OrCzC}{PJ zYjc$Xx$ncr_0t%c77~uccaJz|e4&nGh5N5uM8i-L72DKNy#~rTy&d^`FxbzicoDs_ zF{xQw>mE>l-v7t^;fXB_)^+mB5_aL|WdA6^C!r_ble5ROTpw%*aKc~$3<(B`k8_@2 z?+RQzfx+gn`~7!r!}gO5xR%}+IF!HC(9yR$`}^ttdgJ4C;liJe;5#7&`}^`O=c$K( z-n{+x8tiXJxf2Y#3e*1m_6378zJLDy@B%&T%%7K!ZxP)7^Xh8d1=!!=cUAJgediHz Y=@f%fcVb&4{sYny@=x;~zkKt*0OTt5T>t<8 diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-2-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-2-chromium-linux.png index 3bb823458640210c9f2aafa1ffc0950866d070df..504c1144e807cd8360cd94d15d901696783930f8 100644 GIT binary patch delta 33416 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 E12fS9-2eap delta 33046 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⁢}>%t@37w-&18f^#VBO6AqVkHKb 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 diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-3-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-3-chromium-linux.png index 8b58791b38949ddc934e645fd275314acb16f1f5..c48f07bf43669716bde0cccd18a903e468aea037 100644 GIT binary patch delta 32775 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 a{2C|McI)Jj@A(i6w7;IoOBRY7`u#TuN%$`S delta 32338 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 From 7145727f825df22c0abb7fa422f7c648f6e5c2ce Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 9 Dec 2024 14:06:18 -0300 Subject: [PATCH 11/48] linter --- packages/desktop-client/src/components/LoggedInUser.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index 3fd6d298543..f7728714f41 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -9,8 +9,8 @@ import { type RemoteFile, type SyncedLocalFile } from 'loot-core/types/file'; import { useAuth } from '../auth/AuthProvider'; import { Permissions } from '../auth/types'; import { useActions } from '../hooks/useActions'; -import { useNavigate } from '../hooks/useNavigate'; import { useMetadataPref } from '../hooks/useMetadataPref'; +import { useNavigate } from '../hooks/useNavigate'; import { theme, styles } from '../style'; import { Button } from './common/Button2'; From 226715f30592ecb3d54cae9bee07883915ab88fa Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 21:58:55 +0000 Subject: [PATCH 12/48] app.tsx --- packages/desktop-client/src/components/App.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/desktop-client/src/components/App.tsx b/packages/desktop-client/src/components/App.tsx index ef40b616d39..431bed29fb4 100644 --- a/packages/desktop-client/src/components/App.tsx +++ b/packages/desktop-client/src/components/App.tsx @@ -132,11 +132,11 @@ function AppInner() { addNotification({ type: 'error', id: 'login-expired', - title: 'Login expired', + title: t('Login expired'), sticky: true, - message: 'Login expired, please login again.', + message: t('Login expired, please login again.'), button: { - title: 'Go to login', + title: t('Go to login'), action: signOut, }, }); From 4d2b1d827317c48e176a486b83c9519d4b20fc68 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:00:28 +0000 Subject: [PATCH 13/48] LoggedInUser --- packages/desktop-client/src/components/LoggedInUser.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index f7728714f41..53ed8ed0259 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -209,7 +209,9 @@ export function LoggedInUser({ {!loading && multiuserEnabled && userData?.userName && ( <small> - (logged as: <span>{userData?.displayName}</span>) + <Trans> + (logged in as: <span>{userData?.displayName}</span>) + </Trans> </small> )} From 6198dbf58dc44c05b4a783f978d046367c5946b5 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:02:30 +0000 Subject: [PATCH 14/48] UserAccess --- .../admin/UserAccess/UserAccess.tsx | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx index 131bf69944e..fbcb1bd9288 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx @@ -9,6 +9,7 @@ import React, { useRef, type CSSProperties, } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { useDispatch } from 'react-redux'; import { addNotification, pushModal } from 'loot-core/client/actions'; @@ -42,6 +43,8 @@ function UserAccessContent({ isModal, setLoading, }: ManageUserAccessContentProps) { + const { t } = useTranslation(); + const [allAccess, setAllAccess] = useState([]); const [page, setPage] = useState(0); const [filter, setFilter] = useState(''); @@ -89,7 +92,7 @@ function UserAccessContent({ addNotification({ type: 'error', id: 'error', - title: 'Error getting available users', + title: t('Error getting available users'), sticky: true, message: data.error, }); @@ -168,19 +171,21 @@ function UserAccessContent({ }} > <Text> - Determine which users can view and manage your budgets..{' '} - <Link - variant="external" - to="https://actualbudget.org/docs/budgeting/users-access/" - linkColor="muted" - > - Learn more - </Link> + <Trans> + Determine which users can view and manage your budgets..{' '} + <Link + variant="external" + to="https://actualbudget.org/docs/budgeting/users-access/" + linkColor="muted" + > + Learn more + </Link> + </Trans> </Text> </View> <View style={{ flex: 1 }} /> <Search - placeholder="Filter users..." + placeholder={t('Filter users...')} value={filter} onChange={onSearchChange} /> From 495ea07afe64c69ab3080441467c751a2cc8c53f Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:03:44 +0000 Subject: [PATCH 15/48] UserAccessHeader --- .../src/components/admin/UserAccess/UserAccessHeader.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccessHeader.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccessHeader.tsx index 4459daf6623..66f0a330643 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccessHeader.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccessHeader.tsx @@ -1,13 +1,16 @@ import React from 'react'; +import { useTranslation } from 'react-i18next'; import { Cell, TableHeader } from '../../table'; export function UserAccessHeader() { + const { t } = useTranslation(); + return ( <TableHeader> - <Cell value="Access" width={100} style={{ paddingLeft: 15 }} /> - <Cell value="User" width="flex" /> - <Cell value="Owner" width={100} /> + <Cell value={t('Access')} width={100} style={{ paddingLeft: 15 }} /> + <Cell value={t('User')} width="flex" /> + <Cell value={t('Owner')} width={100} /> </TableHeader> ); } From 8cefd95509fd58322e0117f7db6d683c1475e080 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:05:17 +0000 Subject: [PATCH 16/48] UserAccessPage --- .../src/components/admin/UserAccess/UserAccessPage.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccessPage.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccessPage.tsx index 63c965c1a61..3760768e48c 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccessPage.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccessPage.tsx @@ -1,13 +1,16 @@ import React from 'react'; +import { useTranslation } from 'react-i18next'; import { Page } from '../../Page'; import { UserAccess } from './UserAccess'; export function UserAccessPage() { + const { t } = useTranslation(); + return ( <Page - header="User Access" + header={t('User Access')} style={{ borderRadius: '5px', marginBottom: '25px', From 6f99dccf48632fe62a4978ec2b33839942723634 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:06:50 +0000 Subject: [PATCH 17/48] UserAccessRow --- .../components/admin/UserAccess/UserAccessRow.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx index d8c089d83c8..7473156df60 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore import React, { memo, useState } from 'react'; +import { useTranslation } from 'react-i18next'; import { send } from 'loot-core/platform/client/fetch'; import { getUserAccessErrors } from 'loot-core/shared/errors'; @@ -20,6 +21,8 @@ type UserAccessProps = { export const UserAccessRow = memo( ({ access, hovered, onHover }: UserAccessProps) => { + const { t } = useTranslation(); + const backgroundFocus = hovered; const [marked, setMarked] = useState( access.owner === 1 || access.haveAccess === 1, @@ -47,8 +50,10 @@ export const UserAccessRow = memo( if (someDeletionsFailed) { actions.addNotification({ type: 'error', - title: 'Access Revocation Incomplete', - message: 'Some access permissions were not revoked successfully.', + title: t('Access Revocation Incomplete'), + message: t( + 'Some access permissions were not revoked successfully.', + ), sticky: true, }); } @@ -61,11 +66,11 @@ export const UserAccessRow = memo( actions.addNotification({ type: 'error', id: 'login-expired', - title: 'Login expired', + title: t('Login expired'), sticky: true, message: getUserAccessErrors(error), button: { - title: 'Go to login', + title: t('Go to login'), action: () => { actions.signOut(); }, @@ -74,7 +79,7 @@ export const UserAccessRow = memo( } else { actions.addNotification({ type: 'error', - title: 'Something happened while editing access', + title: t('Something happened while editing access'), sticky: true, message: getUserAccessErrors(error), }); From 38dd40f071e8d38c7b1cd547bff90f9dcd578ac2 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:16:27 +0000 Subject: [PATCH 18/48] UserDirectory --- .../admin/UserDirectory/UserDirectory.tsx | 92 ++++++++++++------- 1 file changed, 58 insertions(+), 34 deletions(-) diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx index 29ccf92a894..4e0184a88dd 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx @@ -8,6 +8,7 @@ import { type Dispatch, type CSSProperties, } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { useDispatch } from 'react-redux'; import { pushModal } from 'loot-core/src/client/actions/modals'; @@ -37,37 +38,58 @@ type ManageUserDirectoryContentProps = { setLoading?: Dispatch<SetStateAction<boolean>>; }; -function getUserDirectoryErrors(reason) { - switch (reason) { - case 'unauthorized': - return 'You are not logged in.'; - case 'token-expired': - return 'Login expired, please login again.'; - case 'user-cant-be-empty': - return 'Please enter a value for the username; the field cannot be empty.'; - case 'role-cant-be-empty': - return 'Select a role; the field cannot be empty.'; - case 'user-already-exists': - return 'The username you entered already exists. Please choose a different username.'; - case 'not-all-deleted': - return 'Not all users were deleted. Check if one of the selected users is the server owner.'; - case 'role-does-not-exists': - return 'Selected role does not exists, possibly a bug? Visit https://actualbudget.org/contact/ for support.'; - default: - return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`; +function useGetUserDirectoryErrors() { + const { t } = useTranslation(); + + function getUserDirectoryErrors(reason) { + switch (reason) { + case 'unauthorized': + return t('You are not logged in.'); + case 'token-expired': + return t('Login expired, please login again.'); + case 'user-cant-be-empty': + return t( + 'Please enter a value for the username; the field cannot be empty.', + ); + case 'role-cant-be-empty': + return t('Select a role; the field cannot be empty.'); + case 'user-already-exists': + return t( + 'The username you entered already exists. Please choose a different username.', + ); + case 'not-all-deleted': + return t( + 'Not all users were deleted. Check if one of the selected users is the server owner.', + ); + case 'role-does-not-exists': + return t( + 'Selected role does not exists, possibly a bug? Visit https://actualbudget.org/contact/ for support.', + ); + default: + return t( + 'An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: {{reason}})', + { reason }, + ); + } } + + return { getUserDirectoryErrors }; } function UserDirectoryContent({ isModal, setLoading, }: ManageUserDirectoryContentProps) { + const { t } = useTranslation(); + const [allUsers, setAllUsers] = useState([]); const [page, setPage] = useState(0); const [filter, setFilter] = useState(''); const dispatch = useDispatch(); const actions = useActions(); + const { getUserDirectoryErrors } = useGetUserDirectoryErrors(); + const filteredUsers = useMemo(() => { return ( filter === '' @@ -127,18 +149,18 @@ function UserDirectoryContent({ actions.addNotification({ type: 'error', id: 'login-expired', - title: 'Login expired', + title: t('Login expired'), sticky: true, message: getUserDirectoryErrors(error), button: { - title: 'Go to login', + title: t('Go to login'), action: () => actions.signOut(), }, }); } else { actions.addNotification({ type: 'error', - title: 'Something happened while deleting users', + title: t('Something happened while deleting users'), sticky: true, message: getUserDirectoryErrors(error), }); @@ -208,20 +230,22 @@ function UserDirectoryContent({ }} > <Text> - Manage and view users who can create new budgets or be invited to - access existing ones.{' '} - <Link - variant="external" - to="https://actualbudget.org/docs/budgeting/users/" - linkColor="muted" - > - Learn more - </Link> + <Trans> + Manage and view users who can create new budgets or be invited + to access existing ones.{' '} + <Link + variant="external" + to="https://actualbudget.org/docs/budgeting/users/" + linkColor="muted" + > + Learn more + </Link> + </Trans> </Text> </View> <View style={{ flex: 1 }} /> <Search - placeholder="Filter users..." + placeholder={t('Filter users...')} value={filter} onChange={onSearchChange} /> @@ -235,7 +259,7 @@ function UserDirectoryContent({ style={{ marginBottom: -1 }} > {filteredUsers.length === 0 ? ( - <EmptyMessage text="No users" style={{ marginTop: 15 }} /> + <EmptyMessage text={t('No users')} style={{ marginTop: 15 }} /> ) : ( <UsersList users={filteredUsers} @@ -258,11 +282,11 @@ function UserDirectoryContent({ <Stack direction="row" align="center" justify="flex-end" spacing={2}> {selectedInst.items.size > 0 && ( <Button onPress={onDeleteSelected}> - Delete {selectedInst.items.size} users + <Trans> Delete {selectedInst.items.size} users </Trans> </Button> )} <Button variant="primary" onPress={onAddUser}> - Add new user + <Trans>Add new user</Trans> </Button> </Stack> </View> From e4f5f87d102f49ba336bfadabd47ca4bcc40fecb Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:20:06 +0000 Subject: [PATCH 19/48] UserDirectoryHeader --- .../admin/UserDirectory/UserDirectoryHeader.tsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryHeader.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryHeader.tsx index 8377c67d0f4..6cc105f6f74 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryHeader.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryHeader.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import { useTranslation } from 'react-i18next'; import { useSelectedItems, @@ -7,6 +8,8 @@ import { import { SelectCell, Cell, TableHeader } from '../../table'; export function UserDirectoryHeader() { + const { t } = useTranslation(); + const selectedItems = useSelectedItems(); const dispatchSelected = useSelectedDispatch(); @@ -20,11 +23,11 @@ export function UserDirectoryHeader() { dispatchSelected({ type: 'select-all', isRangeSelect: e.shiftKey }) } /> - <Cell value="Username" width="flex" /> - <Cell value="Display Name" width={250} /> - <Cell value="Role" width={100} /> - <Cell value="Enabled" width={100} /> - <Cell value="Server Owner" width={100} /> + <Cell value={t('Username')} width="flex" /> + <Cell value={t('Display Name')} width={250} /> + <Cell value={t('Role')} width={100} /> + <Cell value={t('Enabled')} width={100} /> + <Cell value={t('Server Owner')} width={100} /> <Cell value="" width={80} /> </TableHeader> ); From 0429f0393aef920a7715b75b0e54e45d76692752 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:22:33 +0000 Subject: [PATCH 20/48] UserDirectoryPage --- .../components/admin/UserDirectory/UserDirectoryPage.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx index 396ed0102c1..ec8fd223f6e 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx @@ -1,4 +1,5 @@ import React, { type ReactNode } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { useNavigate } from '../../../hooks/useNavigate'; import { Button } from '../../common/Button2'; @@ -12,9 +13,11 @@ export function UserDirectoryPage({ }: { bottomContent?: ReactNode; }) { + const { t } = useTranslation(); + return ( <Page - header="User Directory" + header={t('User Directory')} style={{ borderRadius: '5px', marginBottom: '25px', @@ -40,7 +43,7 @@ export function BackToFileListButton() { return ( <Button style={{ maxWidth: '200px' }} onPress={() => navigate('/')}> - Back to file list + <Trans>Back to file list</Trans> </Button> ); } From 972f5d83d34d3b7ddf40d4ab17a09926d3b9c141 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:23:36 +0000 Subject: [PATCH 21/48] UserDirectoryRow --- .../src/components/admin/UserDirectory/UserDirectoryRow.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx index 21cad6058cc..391b9f33912 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore import React, { memo } from 'react'; +import { Trans } from 'react-i18next'; import { PossibleRoles, type UserEntity } from 'loot-core/types/models/user'; @@ -132,7 +133,7 @@ export const UserDirectoryRow = memo( variant="bare" onPress={() => onEditUser?.(user)} > - Edit + <Trans>Edit</Trans> </Button> </Cell> </Row> From 21fbf5c1e918560e73a3583459d87a739759c1df Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:25:25 +0000 Subject: [PATCH 22/48] BudgetList --- packages/desktop-client/src/components/manager/BudgetList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/manager/BudgetList.tsx b/packages/desktop-client/src/components/manager/BudgetList.tsx index c26b6a094e7..40d49a83cdc 100644 --- a/packages/desktop-client/src/components/manager/BudgetList.tsx +++ b/packages/desktop-client/src/components/manager/BudgetList.tsx @@ -220,7 +220,7 @@ function FileState({ color: theme.pageTextLight, }} > - Owner: + <Trans>Owner:</Trans> </Text> <Text style={{ From f5094eeb56a42c90a7f83cbd9eb88d0248dbb55e Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:26:26 +0000 Subject: [PATCH 23/48] Bootstrap --- .../src/components/manager/subscribe/Bootstrap.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx b/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx index ef8b9c0cfc6..3e2d48b199d 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/Bootstrap.tsx @@ -36,11 +36,11 @@ export function Bootstrap() { case 'network-failure': return t('Unable to contact the server'); case 'missing-issuer': - return 'OpenID server cannot be empty'; + return t('OpenID server cannot be empty'); case 'missing-client-id': - return 'Client ID cannot be empty'; + return t('Client ID cannot be empty'); case 'missing-client-secret': - return 'Client secret cannot be empty'; + return t('Client secret cannot be empty'); default: return t(`An unknown error occurred: {{error}}`, { error }); } From c1e74d77db185f687aa8b486820f5680d94f65f3 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:30:30 +0000 Subject: [PATCH 24/48] Login --- .../components/manager/subscribe/Login.tsx | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/packages/desktop-client/src/components/manager/subscribe/Login.tsx b/packages/desktop-client/src/components/manager/subscribe/Login.tsx index 3433dbe3554..94c62b0947e 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Login.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/Login.tsx @@ -64,7 +64,7 @@ function PasswordLogin({ setError, dispatch }) { style={{ fontSize: 15 }} onPress={onSubmitPassword} > - Sign in + <Trans>Sign in</Trans> </ButtonWithLoading> </View> ); @@ -119,22 +119,24 @@ function OpenIdLogin({ setError }) { }} onPress={onSubmitOpenId} > - Sign in with OpenID + <Trans>Sign in with OpenID</Trans> </Button> </View> {warnMasterCreation && ( <> <label style={{ color: theme.warningText, marginTop: 10 }}> - The first user to login with OpenID will be the{' '} - <Text style={{ fontWeight: 'bold' }}>server owner</Text>. This - can't be changed using UI. + <Trans> + The first user to login with OpenID will be the{' '} + <Text style={{ fontWeight: 'bold' }}>server owner</Text>. This + can't be changed using UI. + </Trans> </label> <Button variant="bare" onPress={() => setReviewOpenIdConfiguration(true)} style={{ marginTop: 5 }} > - Review OpenID configuration + <Trans>Review OpenID configuration</Trans> </Button> </> )} @@ -150,7 +152,7 @@ function OpenIdLogin({ setError }) { style={{ marginRight: 10 }} onPress={() => setReviewOpenIdConfiguration(false)} > - Cancel + <Trans>Cancel</Trans> </Button>, ]} onSetOpenId={async config => { @@ -178,11 +180,11 @@ function HeaderLogin({ error }) { style={{ fontSize: 15 }} to={'/login/password?error=' + error} > - Login with Password + <Trans>Login with Password</Trans> </Link> ) : ( <span> - Checking Header Token Login ...{' '} + <Trans>Checking Header Token Login ...</Trans>{' '} <AnimatedLoading style={{ width: 20, height: 20 }} /> </span> )} @@ -224,17 +226,17 @@ export function Login() { function getErrorMessage(error) { switch (error) { case 'invalid-header': - return 'Auto login failed - No header sent'; + return t('Auto login failed - No header sent'); case 'proxy-not-trusted': - return 'Auto login failed - Proxy not trusted'; + return t('Auto login failed - Proxy not trusted'); case 'invalid-password': - return 'Invalid password'; + return t('Invalid password'); case 'network-failure': - return 'Unable to contact the server'; + return t('Unable to contact the server'); case 'internal-error': - return 'Internal error'; + return t('Internal error'); default: - return `An unknown error occurred: ${error}`; + return t(`An unknown error occurred: {{error}}`, { error }); } } @@ -270,7 +272,7 @@ export function Login() { color: theme.pageTextLight, paddingTop: 5, }} - title="Select the login method" + title={t('Select the login method')} /> <Select value={method} From 4e0cbc5c1823eef630d682f996e730a3138048d9 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:37:18 +0000 Subject: [PATCH 25/48] OpenIdForm --- .../manager/subscribe/OpenIdForm.tsx | 73 ++++++++++++------- 1 file changed, 45 insertions(+), 28 deletions(-) diff --git a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx index 9bc374c7410..586df86d97b 100644 --- a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx @@ -1,4 +1,5 @@ import { type ReactNode, useEffect, useState } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { useLocation, type Location } from 'react-router-dom'; import { addNotification } from 'loot-core/client/actions'; @@ -47,6 +48,8 @@ export function OpenIdForm({ otherButtons, loadData, }: OpenIdFormProps) { + const { t } = useTranslation(); + const [issuer, setIssuer] = useState(''); const [clientId, setClientId] = useState(''); const [clientSecret, setClientSecret] = useState(''); @@ -71,7 +74,7 @@ export function OpenIdForm({ addNotification({ type: 'error', id: 'error', - title: 'Error getting openid config', + title: t('Error getting openid config'), sticky: true, message: config.error, }); @@ -169,7 +172,7 @@ export function OpenIdForm({ maxWidth: '500px', }} > - {!submitButtonDisabled && 'The OpenID provider URL.'}{' '} + {!submitButtonDisabled && t('The OpenID provider URL.')}{' '} <Text style={{ ...styles.verySmallText, @@ -181,7 +184,7 @@ export function OpenIdForm({ </label>{' '} <Stack> <FormField style={{ flex: 1 }}> - <FormLabel title="Client ID" htmlFor="clientid-field" /> + <FormLabel title={t('Client ID')} htmlFor="clientid-field" /> <Input type="text" id="clientid-field" @@ -197,11 +200,11 @@ export function OpenIdForm({ color: theme.pageTextLight, }} > - The Client ID generated by the OpenID provider. + <Trans>The Client ID generated by the OpenID provider.</Trans> </label> </FormField> <FormField style={{ flex: 1 }}> - <FormLabel title="Client secret" htmlFor="clientsecret-field" /> + <FormLabel title={t('Client secret')} htmlFor="clientsecret-field" /> <Input type="text" id="clientsecret-field" @@ -217,8 +220,10 @@ export function OpenIdForm({ color: theme.pageTextLight, }} > - The client secret associated with the ID generated by the OpenID - provider. + <Trans> + The client secret associated with the ID generated by the OpenID + provider. + </Trans> </label> </FormField> @@ -252,7 +257,7 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ variant="external" to="https://developers.google.com/identity/sign-in/web/sign-in" > - Integrating Google Sign-In into your web app + <Trans>Integrating Google Sign-In into your web app</Trans> </Link> ), }, @@ -269,7 +274,7 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ clientSecretDisabled: true, tip: ( <Link variant="external" to="https://passwordless.id/"> - Get started with passwordless.id + <Trans>Get started with passwordless.id</Trans> </Link> ), }, @@ -285,7 +290,7 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ variant="external" to="https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols-oidc" > - OpenID Connect on the Microsoft identity platform + <Trans>OpenID Connect on the Microsoft identity platform</Trans> </Link> ), }, @@ -298,12 +303,14 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ clientSecretDisabled: false, tip: ( <Text style={{ color: theme.warningText }}> - Note that the URL depends on your application domain and region.{' '} + <Trans> + Note that the URL depends on your application domain and region. + </Trans>{' '} <Link variant="external" to="https://auth0.com/docs/get-started/applications/application-settings" > - Auth0 application settings + <Trans>Auth0 application settings</Trans> </Link> </Text> ), @@ -317,12 +324,14 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ clientSecretDisabled: false, tip: ( <Text style={{ color: theme.warningText }}> - Note that the URL depends on your Keycloak domain and realm.{' '} + <Trans> + Note that the URL depends on your Keycloak domain and realm. + </Trans>{' '} <Link variant="external" to="https://www.keycloak.org/docs/22.0.0/securing_apps/" > - Securing Applications with Keycloak + <Trans>Securing Applications with Keycloak</Trans> </Link> </Text> ), @@ -338,15 +347,17 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ tip: ( <> <Text style={{ color: theme.errorText }}> - Github does not support discovery. You need to configure it in the - server. + <Trans> + Github does not support discovery. You need to configure it in the + server. + </Trans> </Text>{' '} <Link variant="external" to="https://actualbudget.org/docs/" linkColor="muted" > - Learn more + <Trans>Learn more</Trans> </Link> </> ), @@ -360,13 +371,15 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ clientSecretDisabled: false, tip: ( <Text style={{ color: theme.warningText }}> - Note that the URL depends on your Authentik domain and provider slug - name.{' '} + <Trans> + Note that the URL depends on your Authentik domain and provider slug + name. + </Trans>{' '} <Link variant="external" to="https://docs.goauthentik.io/docs/providers/oauth2/" > - Configure OAuth2 Provider + <Trans>Configure OAuth2 Provider</Trans> </Link> </Text> ), @@ -382,17 +395,19 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ clientSecretDisabled: false, tip: ( <Text> - Use any OpenId provider of your preference.{' '} - <Text style={{ color: theme.warningText }}> - If your provider does not support discovery, configure it manually - from server - </Text>{' '} + <Trans> + Use any OpenId provider of your preference.{' '} + <Text style={{ color: theme.warningText }}> + If your provider does not support discovery, configure it manually + from server + </Text> + </Trans>{' '} <Link variant="external" to="https://actualbudget.org/docs/" linkColor="muted" > - Learn more + <Trans>Learn more</Trans> </Link> </Text> ), @@ -406,6 +421,8 @@ function OpenIdProviderSelector({ onProviderChange: OnProviderChangeCallback; defaultValue: string; }) { + const { t } = useTranslation(); + const handleProviderChange = (newValue: string) => { const selectedProvider = openIdProviders.find(provider => provider !== Menu.line ? provider.value === newValue : false, @@ -417,12 +434,12 @@ function OpenIdProviderSelector({ return ( <FormField style={{ flex: 1, marginTop: 20 }}> - <FormLabel title="OpenID Provider" htmlFor="provider-selector" /> + <FormLabel title={t('OpenID Provider')} htmlFor="provider-selector" /> <Select options={openIdProviders.map(provider => provider === Menu.line ? Menu.line : [provider.value, provider.label], )} - defaultLabel="Select Provider" + defaultLabel={t('Select Provider')} value={defaultValue} onChange={handleProviderChange} /> From 44cf6fed7fedcf6a365ba0caa40544f3aa944c51 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:41:01 +0000 Subject: [PATCH 26/48] CreateAccountModal --- .../components/modals/CreateAccountModal.tsx | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/desktop-client/src/components/modals/CreateAccountModal.tsx b/packages/desktop-client/src/components/modals/CreateAccountModal.tsx index 58458156c9d..983dba4107b 100644 --- a/packages/desktop-client/src/components/modals/CreateAccountModal.tsx +++ b/packages/desktop-client/src/components/modals/CreateAccountModal.tsx @@ -1,6 +1,6 @@ // @ts-strict-ignore import React, { useEffect, useRef, useState } from 'react'; -import { useTranslation } from 'react-i18next'; +import { Trans, useTranslation } from 'react-i18next'; import { useDispatch } from 'react-redux'; import { pushModal } from 'loot-core/client/actions'; @@ -32,6 +32,7 @@ type CreateAccountProps = { export function CreateAccountModal({ upgradingAccountId }: CreateAccountProps) { const { t } = useTranslation(); + const syncServerStatus = useSyncServerStatus(); const dispatch = useDispatch(); const [isGoCardlessSetupComplete, setIsGoCardlessSetupComplete] = @@ -373,21 +374,24 @@ export function CreateAccountModal({ upgradingAccountId }: CreateAccountProps) { )} </View> <Text style={{ lineHeight: '1.4em', fontSize: 15 }}> - <strong> - {t('Link a')} <em>{t('North American')}</em> - {t(' bank account')} - </strong>{' '} - {t( - 'to automatically download transactions. SimpleFIN provides reliable, up-to-date information from hundreds of banks.', - )}{' '} + <Trans> + <strong> + Link a <em>North American</em> bank account + </strong>{' '} + to automatically download transactions. SimpleFIN + provides reliable, up-to-date information from + hundreds of banks.{' '} + </Trans> </Text> </> )} {(!isGoCardlessSetupComplete || !isSimpleFinSetupComplete) && !canSetSecrets && ( <Warning> - You don't have the required permissions to set up - secrets. Please contact an Admin to configure{' '} + <Trans> + You don't have the required permissions to set up + secrets. Please contact an Admin to configure + </Trans>{' '} {[ isGoCardlessSetupComplete ? '' : 'GoCardless', isSimpleFinSetupComplete ? '' : 'SimpleFin', From b3f8be8d7e2fdfcacebb606c13e2d5d901ec5d46 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:43:15 +0000 Subject: [PATCH 27/48] EditAccess --- .../src/components/modals/EditAccess.tsx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/desktop-client/src/components/modals/EditAccess.tsx b/packages/desktop-client/src/components/modals/EditAccess.tsx index fa6eb78b2a0..93dacc800c4 100644 --- a/packages/desktop-client/src/components/modals/EditAccess.tsx +++ b/packages/desktop-client/src/components/modals/EditAccess.tsx @@ -1,4 +1,5 @@ import { useEffect, useState } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { send } from 'loot-core/platform/client/fetch'; import { getUserAccessErrors } from 'loot-core/shared/errors'; @@ -24,6 +25,8 @@ export function EditUserAccess({ defaultUserAccess, onSave: originalOnSave, }: EditUserAccessProps) { + const { t } = useTranslation(); + const actions = useActions(); const [userId, setUserId] = useState(defaultUserAccess.userId ?? ''); const [error, setSetError] = useState(''); @@ -63,11 +66,11 @@ export function EditUserAccess({ actions.addNotification({ type: 'error', id: 'login-expired', - title: 'Login expired', + title: t('Login expired'), sticky: true, message: getUserAccessErrors(error), button: { - title: 'Go to login', + title: t('Go to login'), action: () => { actions.signOut(); }, @@ -84,12 +87,12 @@ export function EditUserAccess({ {({ state: { close } }: { state: { close: () => void } }) => ( <> <ModalHeader - title="User Access" + title={t('User Access')} rightContent={<ModalCloseButton onPress={close} />} /> <Stack direction="row" style={{ marginTop: 10 }}> <FormField style={{ flex: 1 }}> - <FormLabel title="User" htmlFor="user-field" /> + <FormLabel title={t('User')} htmlFor="user-field" /> {availableUsers.length > 0 && ( <View> <Select @@ -104,7 +107,7 @@ export function EditUserAccess({ marginTop: 5, }} > - Select a user from the directory + <Trans>Select a user from the directory</Trans> </label> </View> )} @@ -116,7 +119,7 @@ export function EditUserAccess({ marginTop: 5, }} > - No users available to give access + <Trans>No users available to give access</Trans> </Text> )} </FormField> @@ -141,7 +144,7 @@ export function EditUserAccess({ isDisabled={availableUsers.length === 0} onPress={() => onSave(close)} > - {defaultUserAccess.userId ? 'Save' : 'Add'} + {defaultUserAccess.userId ? t('Save') : t('Add')} </Button> </Stack> </> From eb1599f40eb31a04ce2aa14c4ae908e1daf41778 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:48:20 +0000 Subject: [PATCH 28/48] EditUser --- .../src/components/modals/EditUser.tsx | 140 ++++++++++++------ 1 file changed, 92 insertions(+), 48 deletions(-) diff --git a/packages/desktop-client/src/components/modals/EditUser.tsx b/packages/desktop-client/src/components/modals/EditUser.tsx index 2a529739470..5a90ef8c927 100644 --- a/packages/desktop-client/src/components/modals/EditUser.tsx +++ b/packages/desktop-client/src/components/modals/EditUser.tsx @@ -1,4 +1,5 @@ import { useState } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { send } from 'loot-core/platform/client/fetch'; import { @@ -34,25 +35,42 @@ type EditUserFinanceAppProps = { onSave: (user: User) => void; }; -function getUserDirectoryErrors(reason: string): string { - switch (reason) { - case 'unauthorized': - return 'You are not logged in.'; - case 'token-expired': - return 'Login expired, please login again.'; - case 'user-cant-be-empty': - return 'Please enter a value for the username; the field cannot be empty.'; - case 'role-cant-be-empty': - return 'Select a role; the field cannot be empty.'; - case 'user-already-exists': - return 'The username you entered already exists. Please choose a different username.'; - case 'not-all-deleted': - return 'Not all users were deleted. Check if one of the selected users is the server owner.'; - case 'role-does-not-exists': - return 'Selected role does not exists, possibly a bug? Visit https://actualbudget.org/contact/ for support.'; - default: - return `An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: ${reason})`; +function useGetUserDirectoryErrors() { + const { t } = useTranslation(); + + function getUserDirectoryErrors(reason) { + switch (reason) { + case 'unauthorized': + return t('You are not logged in.'); + case 'token-expired': + return t('Login expired, please login again.'); + case 'user-cant-be-empty': + return t( + 'Please enter a value for the username; the field cannot be empty.', + ); + case 'role-cant-be-empty': + return t('Select a role; the field cannot be empty.'); + case 'user-already-exists': + return t( + 'The username you entered already exists. Please choose a different username.', + ); + case 'not-all-deleted': + return t( + 'Not all users were deleted. Check if one of the selected users is the server owner.', + ); + case 'role-does-not-exists': + return t( + 'Selected role does not exists, possibly a bug? Visit https://actualbudget.org/contact/ for support.', + ); + default: + return t( + 'An internal error occurred, sorry! Visit https://actualbudget.org/contact/ for support. (ref: {{reason}})', + { reason }, + ); + } } + + return { getUserDirectoryErrors }; } async function saveUser( @@ -61,6 +79,10 @@ async function saveUser( setError: (error: string) => void, actions: BoundActions, ): Promise<boolean> { + const { t } = useTranslation(); + + const { getUserDirectoryErrors } = useGetUserDirectoryErrors(); + const { error, id: newId } = (await send(method, user)) || {}; if (!error) { if (newId) { @@ -72,11 +94,11 @@ async function saveUser( actions.addNotification({ type: 'error', id: 'login-expired', - title: 'Login expired', + title: t('Login expired'), sticky: true, message: getUserDirectoryErrors(error), button: { - title: 'Go to login', + title: t('Go to login'), action: () => { actions.signOut(); }, @@ -94,12 +116,14 @@ export function EditUserFinanceApp({ defaultUser, onSave: originalOnSave, }: EditUserFinanceAppProps) { + const { t } = useTranslation(); + return ( <Modal name="edit-user"> {({ state: { close } }) => ( <> <ModalHeader - title="User" + title={t('User')} rightContent={<ModalCloseButton onPress={close} />} /> <EditUser @@ -118,6 +142,8 @@ export function EditUserFinanceApp({ } function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { + const { t } = useTranslation(); + const actions = useActions(); const [userName, setUserName] = useState<string>(defaultUser.userName ?? ''); const [displayName, setDisplayName] = useState<string>( @@ -129,11 +155,11 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { async function onSave() { if (!userName.trim()) { - setError('Username is required.'); + setError(t('Username is required.')); return; } if (!role) { - setError('Role is required.'); + setError(t('Role is required.')); return; } const user: User = { @@ -152,7 +178,7 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { <> <Stack direction="row" style={{ marginTop: 10 }}> <FormField style={{ flex: 1 }}> - <FormLabel title="Username" htmlFor="name-field" /> + <FormLabel title={t('Username')} htmlFor="name-field" /> <Input id="name-field" value={userName} @@ -165,7 +191,7 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { marginTop: 5, }} > - The username registered within the OpenID provider. + <Trans>The username registered within the OpenID provider.</Trans> </label> </FormField> <View @@ -198,17 +224,19 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { marginTop: 5, }} > - Change this username with caution; it is the server owner. + <Trans> + Change this username with caution; it is the server owner. + </Trans> </label> )} <Stack direction="row" style={{ marginTop: 10 }}> <FormField style={{ flex: 1 }}> - <FormLabel title="Display Name" htmlFor="displayname-field" /> + <FormLabel title={t('Display Name')} htmlFor="displayname-field" /> <Input id="displayname-field" value={displayName} onChangeValue={text => setDisplayName(text)} - placeholder="(Optional)" + placeholder={t('(Optional)')} /> <View style={{ @@ -217,8 +245,10 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { marginTop: 5, }} > - If left empty, it will be updated from your OpenID provider on the - user's login, if available there. + <Trans> + If left empty, it will be updated from your OpenID provider on the + user's login, if available there. + </Trans> </View> <View style={{ @@ -226,8 +256,10 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { color: theme.pageTextLight, }} > - When displaying user information, this will be shown instead of the - username. + <Trans> + When displaying user information, this will be shown instead of + the username. + </Trans> </View> </FormField> </Stack> @@ -257,7 +289,7 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { style={{ marginRight: 10 }} onPress={actions.popModal} > - Cancel + <Trans>Cancel</Trans> </Button> <Button variant="primary" onPress={onSave}> {defaultUser.id ? 'Save' : 'Add'} @@ -276,8 +308,10 @@ const RoleDescription = () => { color: theme.pageTextLight, }} > - In our user directory, each user is assigned a specific role that - determines their permissions and capabilities within the system. + <Trans> + In our user directory, each user is assigned a specific role that + determines their permissions and capabilities within the system. + </Trans> </Text> <Text style={{ @@ -285,8 +319,10 @@ const RoleDescription = () => { color: theme.pageTextLight, }} > - Understanding these roles is essential for managing users and - responsibilities effectively. + <Trans> + Understanding these roles is essential for managing users and + responsibilities effectively. + </Trans> </Text> <View style={{ paddingTop: 5 }}> <label @@ -296,7 +332,7 @@ const RoleDescription = () => { color: theme.pageTextLight, }} > - Basic + <Trans>Basic</Trans> </label> <Text style={{ @@ -304,8 +340,10 @@ const RoleDescription = () => { color: theme.pageTextLight, }} > - Users with the Basic role can create new budgets and be invited to - collaborate on budgets created by others. + <Trans> + Users with the Basic role can create new budgets and be invited to + collaborate on budgets created by others. + </Trans> </Text> <Text style={{ @@ -313,8 +351,10 @@ const RoleDescription = () => { color: theme.pageTextLight, }} > - This role is ideal for users who primarily need to manage their own - budgets and participate in shared budget activities. + <Trans> + This role is ideal for users who primarily need to manage their own + budgets and participate in shared budget activities. + </Trans> </Text> </View> <View style={{ paddingTop: 10 }}> @@ -325,7 +365,7 @@ const RoleDescription = () => { color: theme.pageTextLight, }} > - Admin + <Trans>Admin</Trans> </label> <Text style={{ @@ -333,9 +373,11 @@ const RoleDescription = () => { color: theme.pageTextLight, }} > - Can do everything that Basic users can. In addition, they have the - ability to add new users to the directory and access budget files from - all users. + <Trans> + Can do everything that Basic users can. In addition, they have the + ability to add new users to the directory and access budget files + from all users. + </Trans> </Text> <Text style={{ @@ -343,8 +385,10 @@ const RoleDescription = () => { color: theme.pageTextLight, }} > - Also can assign ownership of a budget to another person, ensuring - efficient budget management. + <Trans> + Also can assign ownership of a budget to another person, ensuring + efficient budget management. + </Trans> </Text> </View> </View> From f97c0235efdf4e0fe9248e2e474e056cc4c78f8e Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:50:42 +0000 Subject: [PATCH 29/48] GoCardlessInitialiseModal --- .../components/modals/GoCardlessInitialiseModal.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx b/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx index cd862085be0..8f59527a28a 100644 --- a/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx +++ b/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx @@ -1,7 +1,6 @@ // @ts-strict-ignore import React, { useState } from 'react'; - -import { t } from 'i18next'; // Ensure this import is correct +import { useTranslation } from 'react-i18next'; import { getSecretsError } from 'loot-core/shared/errors'; import { send } from 'loot-core/src/platform/client/fetch'; @@ -28,18 +27,22 @@ type GoCardlessInitialiseProps = { export const GoCardlessInitialiseModal = ({ onSuccess, }: GoCardlessInitialiseProps) => { + const { t } = useTranslation(); + const [secretId, setSecretId] = useState(''); const [secretKey, setSecretKey] = useState(''); const [isValid, setIsValid] = useState(true); const [isLoading, setIsLoading] = useState(false); const [error, setError] = useState( - 'It is required to provide both the secret id and secret key.', + t('It is required to provide both the secret id and secret key.'), ); const onSubmit = async (close: () => void) => { if (!secretId || !secretKey) { setIsValid(false); - setError('It is required to provide both the secret id and secret key.'); + setError( + t('It is required to provide both the secret id and secret key.'), + ); return; } From f6c9abfb9f9f90526dc7bbcc6649d4babce44148 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:52:21 +0000 Subject: [PATCH 30/48] OpenIDEnableModal --- .../components/modals/OpenIDEnableModal.tsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx index d5997e81226..d77bd0781fe 100644 --- a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx +++ b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx @@ -1,4 +1,5 @@ import { useState } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { send } from 'loot-core/platform/client/fetch'; import * as asyncStorage from 'loot-core/platform/server/asyncStorage'; @@ -22,6 +23,8 @@ type OpenIDEnableModalProps = { export function OpenIDEnableModal({ onSave: originalOnSave, }: OpenIDEnableModalProps) { + const { t } = useTranslation(); + const [error, setError] = useState(''); const actions = useActions(); const { closeBudget } = useActions(); @@ -39,7 +42,9 @@ export function OpenIDEnableModal({ } catch (e) { console.error('Failed to cleanup after OpenID enable:', e); setError( - 'OpenID was enabled but cleanup failed. Please refresh the application.', + t( + 'OpenID was enabled but cleanup failed. Please refresh the application.', + ), ); } } else { @@ -47,7 +52,7 @@ export function OpenIDEnableModal({ } } catch (e) { console.error('Failed to enable OpenID:', e); - setError('Failed to enable OpenID. Please try again.'); + setError(t('Failed to enable OpenID. Please try again.')); } } @@ -56,7 +61,7 @@ export function OpenIDEnableModal({ {({ state: { close } }) => ( <> <ModalHeader - title="Enable OpenID" + title={t('Enable OpenID')} rightContent={<ModalCloseButton onPress={close} />} /> @@ -70,7 +75,7 @@ export function OpenIDEnableModal({ style={{ marginRight: 10 }} onPress={actions.popModal} > - Cancel + <Trans>Cancel</Trans> </Button>, ]} /> @@ -80,21 +85,21 @@ export function OpenIDEnableModal({ color: theme.pageTextLight, paddingTop: 5, }} - title="After enabling openid all sessions will be closed" + title={t('After enabling openid all sessions will be closed')} /> <Label style={{ ...styles.verySmallText, color: theme.pageTextLight, }} - title="The first user to login will become the server owner" + title={t('The first user to login will become the server owner')} /> <Label style={{ ...styles.verySmallText, color: theme.warningText, }} - title="The current password will be disabled" + title={t('The current password will be disabled')} /> {error && <Error>{error}</Error>} From 79cd3a13fe1c57fd510a0635b371353cfd2a4a0c Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:54:10 +0000 Subject: [PATCH 31/48] PasswordEnableModal --- .../components/modals/PasswordEnableModal.tsx | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx b/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx index 35ef2c872ee..9daea8daaf2 100644 --- a/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx +++ b/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx @@ -1,4 +1,5 @@ import { useState } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { send } from 'loot-core/platform/client/fetch'; import * as asyncStorage from 'loot-core/src/platform/server/asyncStorage'; @@ -28,6 +29,8 @@ type PasswordEnableModalProps = { export function PasswordEnableModal({ onSave: originalOnSave, }: PasswordEnableModalProps) { + const { t } = useTranslation(); + const [error, setError] = useState<string | null>(null); const { closeBudget, popModal } = useActions(); const multiuserEnabled = useMultiuserEnabled(); @@ -35,17 +38,18 @@ export function PasswordEnableModal({ const refreshLoginMethods = useRefreshLoginMethods(); const errorMessages = { - 'invalid-password': 'Invalid Password', - 'password-match': 'Passwords do not match', - 'network-failure': 'Unable to contact the server', - 'unable-to-change-file-config-enabled': + 'invalid-password': t('Invalid Password'), + 'password-match': t('Passwords do not match'), + 'network-failure': t('Unable to contact the server'), + 'unable-to-change-file-config-enabled': t( 'Unable to disable OpenID. Please update the config.json file in this case.', + ), }; function getErrorMessage(error: string): string { return ( errorMessages[error as keyof typeof errorMessages] || - 'Internal server error' + t('Internal server error') ); } @@ -67,7 +71,7 @@ export function PasswordEnableModal({ {({ state: { close } }) => ( <> <ModalHeader - title="Revert to server password" + title={t('Revert to server password')} rightContent={<ModalCloseButton onPress={close} />} /> @@ -83,7 +87,7 @@ export function PasswordEnableModal({ style={{ fontSize: 15, marginRight: 10 }} onPress={() => popModal()} > - Cancel + <Trans>Cancel</Trans> </Button> } onSetPassword={onSetPassword} @@ -100,7 +104,7 @@ export function PasswordEnableModal({ style={{ fontSize: 15, marginRight: 10 }} onPress={() => popModal()} > - Cancel + <Trans>Cancel</Trans> </Button> } onSetPassword={onSetPassword} @@ -113,7 +117,7 @@ export function PasswordEnableModal({ color: theme.pageTextLight, paddingTop: 5, }} - title="After disabling openid all sessions will be closed" + title={t('After disabling openid all sessions will be closed')} /> {multiuserEnabled && ( <Label @@ -121,7 +125,7 @@ export function PasswordEnableModal({ ...styles.verySmallText, color: theme.warningText, }} - title="Multi-user will not work after disabling" + title={t('Multi-user will not work after disabling')} /> )} {error && <ErrorAlert>{error}</ErrorAlert>} From 7ca7c9a505256ac53bc57950816339fd56b1f306 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:55:08 +0000 Subject: [PATCH 32/48] SimpleFinInitialiseModal --- .../src/components/modals/SimpleFinInitialiseModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx b/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx index 920a657db2f..08058f5b525 100644 --- a/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx +++ b/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx @@ -30,7 +30,7 @@ export const SimpleFinInitialiseModal = ({ const [token, setToken] = useState(''); const [isValid, setIsValid] = useState(true); const [isLoading, setIsLoading] = useState(false); - const [error, setError] = useState('It is required to provide a token.'); + const [error, setError] = useState(t('It is required to provide a token.')); const onSubmit = async (close: () => void) => { if (!token) { From 29e8c441a37a837a0fab03b4bf4b2388fb0ac012 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:56:56 +0000 Subject: [PATCH 33/48] TransferOwnership --- .../src/components/modals/TransferOwnership.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/desktop-client/src/components/modals/TransferOwnership.tsx b/packages/desktop-client/src/components/modals/TransferOwnership.tsx index 3511a6ec306..db7cc32c591 100644 --- a/packages/desktop-client/src/components/modals/TransferOwnership.tsx +++ b/packages/desktop-client/src/components/modals/TransferOwnership.tsx @@ -1,8 +1,7 @@ import { useEffect, useState } from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { useDispatch, useSelector } from 'react-redux'; -import { t } from 'i18next'; - import { addNotification, closeAndLoadBudget } from 'loot-core/client/actions'; import { type State } from 'loot-core/client/state-types'; import { send } from 'loot-core/platform/client/fetch'; @@ -29,6 +28,8 @@ type TransferOwnershipProps = { export function TransferOwnership({ onSave: originalOnSave, }: TransferOwnershipProps) { + const { t } = useTranslation(); + const userData = useSelector((state: State) => state.user.data); const actions = useActions(); const [userId, setUserId] = useState(''); @@ -100,7 +101,7 @@ export function TransferOwnership({ /> <Stack direction="row" style={{ marginTop: 10 }}> <FormField style={{ flex: 1 }}> - <FormLabel title="User" htmlFor="user-field" /> + <FormLabel title={t('User')} htmlFor="user-field" /> {availableUsers.length > 0 && ( <View> <Select @@ -165,7 +166,7 @@ export function TransferOwnership({ > {error && <Text style={{ color: theme.errorText }}>{error}</Text>} <Button style={{ marginRight: 10 }} onPress={actions.popModal}> - Cancel + <Trans>Cancel</Trans> </Button> <Button From fde7ec6243a5f1fcab896bf96bda591a6d0d2b71 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Wed, 11 Dec 2024 22:58:50 +0000 Subject: [PATCH 34/48] AuthSettings --- .../src/components/settings/AuthSettings.tsx | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/desktop-client/src/components/settings/AuthSettings.tsx b/packages/desktop-client/src/components/settings/AuthSettings.tsx index b4dc5b0a62c..f8f0e7049ba 100644 --- a/packages/desktop-client/src/components/settings/AuthSettings.tsx +++ b/packages/desktop-client/src/components/settings/AuthSettings.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import { Trans, useTranslation } from 'react-i18next'; import { useDispatch } from 'react-redux'; import { pushModal } from 'loot-core/client/actions'; @@ -13,6 +14,8 @@ import { useMultiuserEnabled, useLoginMethod } from '../ServerContext'; import { Setting } from './UI'; export function AuthSettings() { + const { t } = useTranslation(); + const multiuserEnabled = useMultiuserEnabled(); const loginMethod = useLoginMethod(); const dispatch = useDispatch(); @@ -23,9 +26,9 @@ export function AuthSettings() { primaryAction={ <> <label> - OpenID is{' '} + <Trans>OpenID is</Trans>{' '} <label style={{ fontWeight: 'bold' }}> - {loginMethod === 'openid' ? 'enabled' : 'disabled'} + {loginMethod === 'openid' ? t('enabled') : t('disabled')} </label> </label> {loginMethod === 'password' && ( @@ -48,7 +51,7 @@ export function AuthSettings() { </Button> <Label style={{ paddingTop: 5 }} - title="OpenID is required to enable multi-user mode." + title={t('OpenID is required to enable multi-user mode.')} /> </> )} @@ -67,11 +70,13 @@ export function AuthSettings() { ) } > - Disable OpenID + <Trans>Disable OpenID</Trans> </Button> {multiuserEnabled && ( <label style={{ paddingTop: 5, color: theme.warningText }}> - Disabling OpenID will deactivate multi-user mode. + <Trans> + Disabling OpenID will deactivate multi-user mode. + </Trans> </label> )} </> @@ -80,8 +85,10 @@ export function AuthSettings() { } > <Text> - <strong>Authentication method</strong> modifies how users log in to the - system. + <Trans> + <strong>Authentication method</strong> modifies how users log in to + the system. + </Trans> </Text> </Setting> ) : null; From 21a38175a25d8b085fdeed6b7db4ddcc22e19270 Mon Sep 17 00:00:00 2001 From: matt <matt@fiddaman.net> Date: Thu, 12 Dec 2024 22:23:42 +0000 Subject: [PATCH 35/48] fix hooks in EditUser --- .../src/components/modals/EditUser.tsx | 62 ++++++++++--------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/packages/desktop-client/src/components/modals/EditUser.tsx b/packages/desktop-client/src/components/modals/EditUser.tsx index 5a90ef8c927..20402bfd322 100644 --- a/packages/desktop-client/src/components/modals/EditUser.tsx +++ b/packages/desktop-client/src/components/modals/EditUser.tsx @@ -73,43 +73,46 @@ function useGetUserDirectoryErrors() { return { getUserDirectoryErrors }; } -async function saveUser( - method: 'user-add' | 'user-update', - user: User, - setError: (error: string) => void, - actions: BoundActions, -): Promise<boolean> { +function useSaveUser() { const { t } = useTranslation(); - const { getUserDirectoryErrors } = useGetUserDirectoryErrors(); - const { error, id: newId } = (await send(method, user)) || {}; - if (!error) { - if (newId) { - user.id = newId; - } - } else { - setError(getUserDirectoryErrors(error)); - if (error === 'token-expired') { - actions.addNotification({ - type: 'error', - id: 'login-expired', - title: t('Login expired'), - sticky: true, - message: getUserDirectoryErrors(error), - button: { - title: t('Go to login'), - action: () => { - actions.signOut(); + async function saveUser( + method: 'user-add' | 'user-update', + user: User, + setError: (error: string) => void, + actions: BoundActions, + ): Promise<boolean> { + const { error, id: newId } = (await send(method, user)) || {}; + if (!error) { + if (newId) { + user.id = newId; + } + } else { + setError(getUserDirectoryErrors(error)); + if (error === 'token-expired') { + actions.addNotification({ + type: 'error', + id: 'login-expired', + title: t('Login expired'), + sticky: true, + message: getUserDirectoryErrors(error), + button: { + title: t('Go to login'), + action: () => { + actions.signOut(); + }, }, - }, - }); + }); + } + + return false; } - return false; + return true; } - return true; + return { saveUser }; } export function EditUserFinanceApp({ @@ -117,6 +120,7 @@ export function EditUserFinanceApp({ onSave: originalOnSave, }: EditUserFinanceAppProps) { const { t } = useTranslation(); + const { saveUser } = useSaveUser(); return ( <Modal name="edit-user"> From 2ed6f88f2979aecd2197e4547348abd26f8b9f60 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Fri, 13 Dec 2024 00:04:55 -0300 Subject: [PATCH 36/48] enable electron openid login --- .../src/browser-preload.browser.js | 2 + .../src/components/LoggedInUser.tsx | 11 ++++-- .../components/manager/subscribe/Login.tsx | 11 +++++- packages/desktop-electron/index.ts | 37 +++++++++++++++++++ packages/desktop-electron/preload.ts | 3 +- packages/loot-core/typings/window.d.ts | 1 + 6 files changed, 59 insertions(+), 6 deletions(-) diff --git a/packages/desktop-client/src/browser-preload.browser.js b/packages/desktop-client/src/browser-preload.browser.js index 95c048247c8..3f12e472942 100644 --- a/packages/desktop-client/src/browser-preload.browser.js +++ b/packages/desktop-client/src/browser-preload.browser.js @@ -81,6 +81,8 @@ global.Actual = { }); }, + startOAuthServer: () => {}, + restartElectronServer: () => {}, openFileDialog: async ({ filters = [] }) => { diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index f7728714f41..97e4315ff80 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -18,6 +18,7 @@ import { Menu } from './common/Menu'; import { Popover } from './common/Popover'; import { Text } from './common/Text'; import { View } from './common/View'; +import { PrivacyFilter } from './PrivacyFilter'; import { useMultiuserEnabled, useServerURL } from './ServerContext'; type LoggedInUserProps = { @@ -61,9 +62,9 @@ export function LoggedInUser({ useEffect(() => { if (cloudFileId && currentFile) { setIsOwner( - currentFile.usersWithAccess.some( + currentFile.usersWithAccess?.some( u => u.userId === userData?.userId && u.owner, - ), + ) ?? false, ); } else { setIsOwner(false); @@ -209,7 +210,11 @@ export function LoggedInUser({ {!loading && multiuserEnabled && userData?.userName && ( <small> - (logged as: <span>{userData?.displayName}</span>) + (logged as:{' '} + <span> + <PrivacyFilter>{userData?.displayName}</PrivacyFilter> + </span> + ) </small> )} diff --git a/packages/desktop-client/src/components/manager/subscribe/Login.tsx b/packages/desktop-client/src/components/manager/subscribe/Login.tsx index 3433dbe3554..7012da9e2c8 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Login.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/Login.tsx @@ -4,6 +4,7 @@ import { Trans, useTranslation } from 'react-i18next'; import { useDispatch } from 'react-redux'; import { useSearchParams } from 'react-router-dom'; +import { isElectron } from 'loot-core/shared/environment'; import { loggedIn } from 'loot-core/src/client/actions/user'; import { send } from 'loot-core/src/platform/client/fetch'; import { type OpenIdConfig } from 'loot-core/types/models/openid'; @@ -93,14 +94,20 @@ function OpenIdLogin({ setError }) { async function onSubmitOpenId() { const { error, redirect_url } = await send('subscribe-sign-in', { - return_url: window.location.origin, + return_url: isElectron() + ? await window.Actual.startOAuthServer() + : window.location.origin, loginMethod: 'openid', }); if (error) { setError(error); } else { - window.location.href = redirect_url; + if (isElectron()) { + window.Actual?.openURLInBrowser(redirect_url); + } else { + window.location.href = redirect_url; + } } } diff --git a/packages/desktop-electron/index.ts b/packages/desktop-electron/index.ts index 3a9d4e86089..e89169b9c22 100644 --- a/packages/desktop-electron/index.ts +++ b/packages/desktop-electron/index.ts @@ -1,4 +1,5 @@ import fs from 'fs'; +import { createServer, Server } from 'http'; import path from 'path'; import { @@ -54,6 +55,37 @@ if (!isDev || !process.env.ACTUAL_DATA_DIR) { let clientWin: BrowserWindow | null; let serverProcess: UtilityProcess | null; +const createOAuthServer = async () => { + const port = 3010; + console.log(`OAuth server running on port: ${port}`); + + return new Promise<{ url: string; server: Server }>(resolve => { + const server = createServer((req, res) => { + const query = new URL(req.url || '', `http://localhost:${port}`) + .searchParams; + + const code = query.get('token'); + if (code && clientWin) { + clientWin.loadURL(`http://localhost:3001/openid-cb?token=${code}`); + + // Respond to the browser + res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.end('OpenID login successful! You can close this tab.'); + + // Clean up the server after receiving the code + server.close(); + } else { + res.writeHead(400, { 'Content-Type': 'text/plain' }); + res.end('No token received.'); + } + }); + + server.listen(port, '127.0.0.1', () => { + resolve({ url: `http://localhost:${port}`, server }); + }); + }); +}; + if (isDev) { process.traceProcessWarnings = true; } @@ -355,6 +387,11 @@ ipcMain.on('get-bootstrap-data', event => { event.returnValue = payload; }); +ipcMain.handle('start-oauth-server', async () => { + const { url } = await createOAuthServer(); + return url; +}); + ipcMain.handle('restart-server', () => { if (serverProcess) { serverProcess.kill(); diff --git a/packages/desktop-electron/preload.ts b/packages/desktop-electron/preload.ts index 1f98a39096a..85b282dcb12 100644 --- a/packages/desktop-electron/preload.ts +++ b/packages/desktop-electron/preload.ts @@ -13,7 +13,6 @@ contextBridge.exposeInMainWorld('Actual', { IS_DEV, ACTUAL_VERSION: VERSION, logToTerminal: console.log, - ipcConnect: ( func: (payload: { on: IpcRenderer['on']; @@ -30,6 +29,8 @@ contextBridge.exposeInMainWorld('Actual', { }); }, + startOAuthServer: () => ipcRenderer.invoke('start-oauth-server'), + relaunch: () => { ipcRenderer.invoke('relaunch'); }, diff --git a/packages/loot-core/typings/window.d.ts b/packages/loot-core/typings/window.d.ts index 1a56a14fb20..3a63353e776 100644 --- a/packages/loot-core/typings/window.d.ts +++ b/packages/loot-core/typings/window.d.ts @@ -17,6 +17,7 @@ declare global { relaunch: () => void; reload: (() => Promise<void>) | undefined; restartElectronServer: () => void; + startOAuthServer: () => Promise<string>; moveBudgetDirectory: ( currentBudgetDirectory: string, newDirectory: string, From 2153c55a71d0d60f8c01e1dcb17267a3eddc3183 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Fri, 13 Dec 2024 08:23:41 -0300 Subject: [PATCH 37/48] typecheck --- packages/desktop-client/src/components/modals/EditUser.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/modals/EditUser.tsx b/packages/desktop-client/src/components/modals/EditUser.tsx index 20402bfd322..51cf3d941c6 100644 --- a/packages/desktop-client/src/components/modals/EditUser.tsx +++ b/packages/desktop-client/src/components/modals/EditUser.tsx @@ -38,7 +38,7 @@ type EditUserFinanceAppProps = { function useGetUserDirectoryErrors() { const { t } = useTranslation(); - function getUserDirectoryErrors(reason) { + function getUserDirectoryErrors(reason: string) { switch (reason) { case 'unauthorized': return t('You are not logged in.'); From 7aa6e6ea974c1672fc8cf3985fb2937dc905e379 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Fri, 13 Dec 2024 09:27:10 -0300 Subject: [PATCH 38/48] linter and typecheck fixes --- packages/desktop-client/src/components/LoggedInUser.tsx | 4 ++-- .../src/components/admin/UserAccess/UserAccess.tsx | 2 +- .../src/components/admin/UserDirectory/UserDirectory.tsx | 2 +- .../src/components/manager/subscribe/OpenIdForm.tsx | 2 +- .../src/components/modals/TransferOwnership.tsx | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index e0105ed530f..04f84be22b0 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -44,7 +44,6 @@ export function LoggedInUser({ const [cloudFileId] = useMetadataPref('cloudFileId'); const location = useLocation(); const { hasPermission } = useAuth(); - const [isOwner, setIsOwner] = useState(false); const multiuserEnabled = useMultiuserEnabled(); const allFiles = useSelector(state => state.budgets.allFiles || []); const remoteFiles = allFiles.filter( @@ -169,7 +168,8 @@ export function LoggedInUser({ if ( multiuserEnabled && - (isOwner || isAdmin) && + ((currentFile && userData && currentFile.owner === userData.userId) || + isAdmin) && serverUrl && !userData?.offline && cloudFileId && diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx index fbcb1bd9288..1c2f9b85382 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx @@ -108,7 +108,7 @@ function UserAccessContent({ setAllAccess(loadedAccess); return loadedAccess; - }, [cloudFileId, setLoading]); + }, [cloudFileId, setLoading, t]); const loadOwner = useCallback(async () => { const file: Awaited<ReturnType<Handlers['get-user-file-info']>> = diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx index 4e0184a88dd..f5b59d57a41 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx @@ -170,7 +170,7 @@ function UserDirectoryContent({ await loadUsers(); selectedInst.dispatch({ type: 'select-none' }); setLoading(false); - }, [actions, loadUsers, selectedInst, setLoading]); + }, [actions, loadUsers, selectedInst, setLoading, getUserDirectoryErrors, t]); const onEditUser = useCallback( user => { diff --git a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx index 586df86d97b..57e44fa69c4 100644 --- a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx @@ -87,7 +87,7 @@ export function OpenIdForm({ }, ); } - }, [loadData]); + }, [loadData, t]); const handleProviderChange = (provider: OpenIdProviderOption) => { if (provider) { diff --git a/packages/desktop-client/src/components/modals/TransferOwnership.tsx b/packages/desktop-client/src/components/modals/TransferOwnership.tsx index db7cc32c591..0773bc355db 100644 --- a/packages/desktop-client/src/components/modals/TransferOwnership.tsx +++ b/packages/desktop-client/src/components/modals/TransferOwnership.tsx @@ -72,7 +72,7 @@ export function TransferOwnership({ } }, ); - }, [userData?.userId, currentFile?.owner]); + }, [userData?.userId, currentFile?.owner, t]); async function onSave() { if (cloudFileId) { From c7eae8f21692116eef2e63eee39d708a2025f7e6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 12:40:38 +0000 Subject: [PATCH 39/48] Update VRT --- ...ecks-the-page-visuals-1-chromium-linux.png | Bin 83165 -> 83213 bytes ...ecks-the-page-visuals-3-chromium-linux.png | Bin 80661 -> 80700 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png index 358471ece2fba3cf9deba54bfa222e615e241c37..18d6f7f5e579d3129b9e543a5eb1e47c9bad32c3 100644 GIT binary patch delta 47770 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 KC`VA|-G2cjYXs5& delta 47672 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 @#3y?F~o3#i#6ifA&x^P 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 diff --git a/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-3-chromium-linux.png b/packages/desktop-client/e2e/settings.test.js-snapshots/Settings-checks-the-page-visuals-3-chromium-linux.png index c48f07bf43669716bde0cccd18a903e468aea037..38ed8bfcb43c8fcc1457d46dd3281275875d8e4f 100644 GIT binary patch delta 64358 zcmb@tcUV(fw>}zdY%6XB6cA8p(xrD$krHXrODIb3NC_Pliim=Mh9)3Idgv|mrbzF- z29QodhY(ueuE74z`Ofd2^PGF{bJrglW>#jO?|8=;?~L5NP`!JhfL{v8X{!vI-CKN2 zCVi7M-8l5aJY9@l)WYOKOFUoMd`qqfoA!K%{&jrYC$B&9N*x2_WvtfakN$ocasFP{ zb|BnS{>hV_=}kgqUS6Q{i7y_HuUT&xY}{U^`w%!(qQlV|8mGt{F!`6})Fi#sV@hgj z>)h8bf1%WhTwkP`5@Px-0PEQgAz3=e<e=zBc|WB|ZALz-3{=Xn$BTd6vfw!fAwKnz zX)CxYswdk~o$##{N1uVih704Il)=|7k;+Wg+My}QUG&Y`BO`k)OYF1ta<iHM5#<<O zk2LqrhQJ%`#)Xd_EtTImc6vz)h-6;9!}Z8*O`lh0s*VZ&`;$7rrka&nU2~EPLpn8* zTBAcAhaG1@Aon5A=T9|))It}XbfoI``V_*dYvZb_*ff3Rx|F;09y`1}z%6Hp3Sik3 zDCq^PkEVlFPrC})Sn;sVgG`kB`b!>VW=O8!eiWIvr=NdII=8l#cW@npw5=Exm<j(n zR1wai+&g0i1oON7yw{mn_GGlkOudeT9^0|ZH?(+?_B#TqUShfYkW*jWXnUb6I>p~# z)b-#=ezo399G1TahaDDhK2Rh)Uib1jY;cP`Y`ACE8Kp$;f_W6)8j&<~oOoWd!rBan z+5Y<M_%GG*-PN3K4n^$2pFe*NtY@Mt-SBzoiV0ccz}K%?u>3qm)+L>nS=~HmgIMWS zcfR;aXN0o`mj5G)OE=4nO}j6Z^|pZR-b)b?5hQHUK32#g0d7Bi`~+n+sMXcgMXVGv zo}XW8htA`ocYzMZzC9$%)ZEqz3J&fs-!$PjKe{U;gH}yB2ywy85yoxYF08!7=Scu_ ztMSnAx`Z73c!^q~p$`Q`<OY>@!w2u=dcs@GWN}p`ZY7<&$>+z&$cUVtl&Gj4XB?`p zqIi+tcJHwg!92^*bD!z@ij@4Z&5=4h=dAw)Dwk4vS@uc)r2YCl%4hocE<Zj{gmp5* zAaJ)xhXXTI0rNzWi1P(Sb0q?KIB!A%kV+Wliu-C`1A%OmAg5MFkG%x>=ZbP+V0}>e zVVED-+n$WXFttuS0k!Jx8ZSJ*_sGW`+w*7b)lc;aK=f;EE26kz2?<OjXQkrrG8U-( z&OSrb!XP)#J{Fi<_@~g1mH`4>I4fPbOLG70)2rscApg`LCJXuNtZ;<q+>^6U^`U=5 z&W;7dwWD?DI;4Oe7Y8qfUp@VLTB`iqf7{Og)C@rU+5gtg=l{O%|6V71@u)495<IKw zAL|}KAT1-{Aaoihsw~b5A2G+C7Pk<KWn^R@C7iq?gFw_C0F$;_8qeS7j)UE3b<a9i zAN=5F<=tC3+E;60m)v89+jSNp@-=(z#lP(Jhifv$CfdL`N0<r5!MQP^V41eJI3NUp zeEBLeTKTrbvNtQ>0~zgc{q6#1+;}Q|eZueNIQXH~x6}H;CYI-rmFG6-*9C3wr^LbD z*-ZkIhFR)mrJbJt%qeejGbN<fu=H~jml2yvx8mheFAuZ6zIg?l=P0jLme<T4)WgFA zX-KHNTq@+7U-&&f9<`VuLAJ7O9w3A=#yQ1{dp)Z=-p#K4z7bGlx>*=%bnWucH^&ql zPDmYofLFI3%}Rr>pm_7GTEl|jGl0vN8+6Aq>KRI^35(mQNH^koKp@jlFI$qNl$7un zkzC06?5NgemSRR$o6;P;Li2zZQEU%L14}r4#2?8whh9ROWm8@*EwdbaR^_%fG{~-f z+m>6qHfMo5mZez4kZ`cmKdfG>g`yrrxsMuGl$Yx)3fNA(EOd0lY^%}(tLQ3ighrMN zE9bsr;k|qJ1d>kfE5$z6l?kHkwLa0jeD3*KkM5^<+LBBkC*rf!1G_x`G~Ov`10unm zAO&o+*&QaUt;Z{K&*ACiomU%!DYH$Hh@t4W5uEr+L(gR<PQ#M9w-q%9J8JIk??v5K zQbTA2ttP*FPz#y@-wZu)6oXj??V{^*pTaTY+4+KY6FKeCTnY%uwJB|YfQzn#FQ><o zRF#;c>O|p7Ikuz4%V^p4^orBHOPni@oNmZOjZGQxTk-D2UJNRGF0KLpwLuEHWmK$H z<{+2VIHgTeYB{JjoNqK7>PJh~!Ksy#8G26=$ocqD9$QL~T90O=;M5wZT*W)rNfoTe zQA}!deHVf6Ej<8NRG+1rPP=|>6_I*$@rrogKQIYV`DFrJ-B>fI8q9TeQ%Vq3rFU66 zYWb7Mh_3R|w$aMhY>>UqZ*#x_4o|(<yhF>|+dFxilTsmeh$lwzO3mL{wKag0?<)>| zetso^vor6<vizy~qWk!e9oxwP%@F%~U&Bm5a3pJZv^gLJBLc1Ca?$g}ix+9NTh-F$ z=5g!o@@<jaECho1&$)Y&E;^LKGEbj2!#AS+MfcjD8kE0zTH(BiU>%FFZ~kYCi*u<k zLLyRITE>_4)`5Xmby4r7f-84eQzfKURpnbEpD!vU2+Qae?OE>Pr?On*^{o5zLS(~e zbNMn<Z2FrzTl09#`pD;Z+j9eg7qbohJw3}_pYM#9(l$~)Qj@H{@DD7gyk((;NZts( z!x_cM37wm#Kly8dJ`)cs{Td#gQX9Jy>4{rTvjbqISu*`myfKKnAnrFOBq;027mkjO z)Iz?Wn?BR0WM+z4Yt(&Jju($yYyJmqQ-%C{m%>X)=ST`FX42ZnD=(hz&@VqF2DSeM zjq-FP_s{n2{{pALzvJou1Drdp^na=I|4o&^f7j0iQ|u*(DaVZ)p-%WMM0Q-&Jz82j z^bHVJlRC_c74d5rd(+gJ+0IgXQV4|6A9B+#(%(PD+uOON_Y)uhf%wgdh>EtM`NH)> z>?<ie{cqlc_+9%9^CQuz@bdWkm;~ad;ppOo2rMhh1x|tYKIFoydCY?S8CbV8E}0WQ zJ>eyy^=5|@h_94K*GV8xn#_wK1*)?jhzJb=we?VP3~n*KGfofi1@{091$Kw{j9iSn z=!e1#AQ*KyC>xubVP(y6CqC|PI>%79eKcq9yyCXK1@UwT+_Q|+f)J@v(kB|B_iBd< z!PCvou@c3Ibc%E{<)^0C<94X6Cbk!D5sICQnLSwDbBKNH@lITVPogR1tS$(zWZVV6 zbqyrrojZ4+eF0bR%*8PT!a3w_7{yCCYa!-lW|G@9C!wmHRjR6N8U-J(P;exdwbkX? zjsiv2Ed@`*mjAJ{ei{Bs=j!z<oS=xAnVFr=;eMQjWhR`1gF}%oqdQ`M9rpG_>YgHU zyo^D>4kMJMh6;km8PQ28#S6;R(TQY+Tc}w6L0t6QY`nt+Rf-cDjK$g98n`RDb=zli z&>f2CwH#P9k?Q}N#2~t1lXU4CHE^GWg#|ki7^0o0rVA@|Q0qaa=oNZaY|VE^V@&=z zv3<W-FFN<3C+HV2L%A?f=Y!9ov=T&8=|VWT-uTV9#24)u(`hb{GbPVmcZ3+q*;VPM zzT{8tu#X>oCn2@+gIzmssndyK4ueU)s6dGczC1ga`P9U2tUwn?^p$+!>v2TBCHIjL zX}%guL|{g%-<f~f5CYk35nc+Rp_e+3k72l@%s^(9?^`{N-1&;Jl2{s)<(Qh>4SLl@ zuK0m!8NLu2K1qWvrn3e4axYGw<nHa;DS~$6maCTl?BaZTR67t-hij`t(Hsq?8^9VH z8`COl%Yd?IB1tZ_pR`5`TGqb`p+5}ZpbX|c+*|7Id0DfwMPP?GOoeLH@6w*~RAdL% z%(PI4y!^yZ-@st7z)|`-4X>iAsv9|#2TYw=Nfmv7UzD^J=i)NlG%t2qXk)dou;@&{ zasHt{>srEHuxoq5<zDVfBdsY2Aa%*BcdQbg-4sIjC2Clu%n4teRFag8fzP*5pv!%w zLvMr*Z3<)$Eu~D-TP^Iw5ZS_!c77zIS!b-KY>FyLRVi$d`Wk{&lv!rhZCw^AT@^~? zt&%i^m>cw>shcKs1M7=j5^syo7SqonzVqCZ;Kqkg47yCa5*VnWp-3|h2x1XkSXj$r z?N47KM6I)fNC;K?scoo=!f56?yRMBOH;qEHkB{~>vt2n+)|<6Ec)rUf#>N_(ok5jw z_M^9BWHiyK^#oGl#DHi4&M=Kq;yx-%8yUmZeEn?bjLqgGNk3nGVZ^PC9~S1%FHKw4 z04N>A(bnA1^pEqmJ3fJ2z3Dm)Kj<`ExlZW!3@~(YDH+N&$agdf9d52UWMytj4I}mD zP%nYru8ZC4*^ItQIk2*Bo&^scx^lU~Now!taO595*4)Y54e{<<o2bami?6hr%V3~z z!DQAR{t>eqEy2C@u+iGbt_C>(Hl3Kk%cTIXX}Ntsz;Z^So6X5j!q)b7|GWLGYW%*t z9aOnGwa?gxa|Xaelck%Te&9W@c=;ZPa>VC8)n{4yU`|TIGROEJN_ND`cM~~(jXGrl z%TRb=U`FT#+P=7XHgGFRC5}`+(WBrtkTk&VA4nwT;Xtlh%)k%)i{%%La@OOlhl>aM zKDB)xg~eC7_J;b!zyF706wtVCQ%=kMSz5}Zm0BH`Z;u`<hLOR_{$-MA&OL#e7we`4 zMHa#T0k|iXUd)E){$+EsL0<l(@?ba4u{G2U!}I88H6S_8Ftq~c3V3hGVMg8F=fa>o zWNt#5-r3&;?MGQ9(we`JTimgL+fV6Fb?AM0H%gWeEVpT2gYm3-rW;@PhNlrb9xLI4 z2WO$aI1~cbuD4t_df+^JNq~Oj!{^S11_P9h#*644_LNT{pOiHBq6`-w7MGP-54+3x z%X$BZ6LOGH<2)Uo{MB<$Aj{U<Lk2^MCzl~7z&H@erKu5u9adZDFuYQ`6S%;opC@&4 ztvIv}XHKP=dlXe<w%MB~)KKEnOt(td*T(LZO?_53owKtW-3`YK<mD_`hA(jHA!lTa z25HO`*td3RI}OU8E&7rvJ9aK^&#Cpx!Xu@O=o*3FzcC}9)b)yNbCZ?QpNIV%9fc}Q z=BDxHM}A33@ejQxflQOiLxn~IH4&KMT;_bmgi05Y=i8LI10g+ijL^}dgUr{2SkL+S zJ4AHb{uzyO+1E3uqGOv{(G@5+A|sSr*I<S#>VS<jDSlw{MZky22u7+9*_x^3A3>C? zK&DvPy7l~+lJ!*OCtMci9Se(^;qp*Jc1=acLdUU__SgIQQ*6Z|$8Tp_@YRVQZmh6E zV+9=}j)ZLcdrdOvJg*^jXX~^h33%tihxu8m{?u&<rs6#Pnmm!KQLr$93iz>zwwUWl zPS$!gQqxAz248y~nnx&bjvJ{Mp)3#r1|=q{;R-dLE?*c!sK;RAZfpIqa9B8DGW;+; zNH9hXUQ4glzJ$r5?8Ib0?|nver`KxgEYVG?pesu@0JXPQTa>C;zfIf*;SGEck`awu z>&Tt<A5-K`^Rb4$JauCz-)>Q@&CVk0{-VNbh;y#1>b8pC$4ae}i_BgC%$Z<F;D@%M zhiZm$qBdn>2d1|oq-f6_`y1)J)tR7~3*%SR?98Kuu>-Z@V>Ng`t_wze;F4xLHt0d= zq>Gtx5dzs^A3_dZ5I%hV>hJ$_{iG(nI5>D~e!JgdHa!bpuR?LKs8lmm^c6leCcs8C z?w799XOKuYw{)U20oU9(on|yTqz&(F?<43Mba3NH|8?0foNq9I2kQ2#c&QBrfeoFI zIALkcDUa>9lhrl6RvRp{0yEp6*uI>24Cbkd^v;&Mi#(T>^JNWhO-=BTvxL=8lG93C z56OpC#i<%dS|ay@wU$%D<S=DZ%1gOIhANw)baeJXA;JAXv%j3w&10rYL*7L}r1RG? zy3j=NxTG#{4bsTH*INn7X}jJm+Sz8?m$u%xsh_+y5wKn%uhGiNWYhL!=oKZ4JDf5B zM(~%x`JZlm0P-mHehcm%@aF>Xrh8Dew@2NuX6vC$MyOtiOUUlA_sgqMc^cJ?$zy}; z;M6YxOG)bs9KCMN(Jv7C`rie-y3~B6){hq#olI3Um9$fW6?u3>eP>F1zn!EsseD5w z?lRLo5)l(y4k=0l{W(2!jh9LxPoZ9cdt_ApBqOxwH>|{a{t|X%H~uh!#Z4J|ynQEs z;KfO2kq#r7ikpn=b2bZQBW!u&Lrx=<s@pms(@t*EH?-=tQ*D%Y*u1=wqsA0$Ioby2 zZTv<wsU%{6au2Mchza#(nOY`JvC@lM4=Z#jQ*qfCc@T;a`>>-Yjp#5B=GffaYMtR^ zk(0B#JdzS=Bbeq+TRfU$M<T__#l>aT9NAH!r0BW(Wdfftv94j=?dF8i{~oWI4ruUj z8WbAxq~Dd1o&0+8!7l6N8j2K?YPtr5N&IVDH*(fPY}r<{${Clt;;RshU@KUi(i}-d zs&9=L%Sbc+<XjCfQFAAL+Syhy2WLU*|3Fh<ky|f~QVEOf4y11}E?f$e%Cky4X?lLx zJ-5v2|7U9UOX|poZ~!3pyhX@M3uGf~UACp6jlX}l^lna_?5b6o{ymtp8!9d_;ljtE z|M%ZtFCQq`11c(HBErIq<z@#5AyT(@7G_p*x<BAi_I!7*1%*I$pF|<(`fRR4!O7!? zH;IFL6Pg=alf8Y1%PR8397LtqWO#?UGotKg`fmBH@B|4)0AIs`7mI9Uan9<(H&}y} zFXh)A69^T5A4KyWx=X!WOq@c^Ega)V!Ve{hrd3?`f**u8XWT70qP1T-`$&j=r@Jme zUJ0a;0qDxKPwI8*;O+u(S96;gH-Pj}z)|fjpWj}e_=Er{3&zCfr+;yAxcGzw-B@sN zb}%4mIrS{O?%2?x%is&+d>8I}&>b%UndVy*a24LWbK#@o)ElO|T@guT<>kWHX*bi> zo}-miI|p8@QZMYeiyRxZ#Ic53yxS~Z<XT#(xa#!gO^+Bwd$vt;6g7|M)@_lfKxjT4 z-R|ii$LQ#^*e8vlkE0m8v;qR<81-1v0Ou1UwJ8>GV16vYpoe0rgB4o+!l?PkNY>-X z390i(dl2V8<caMpk&;_^Ex;M&j>AkoWeD6=-5*wH16K~J=Kg%<shpy1&W$5aja5CN zuT@oX;MN+<@{q2H?%+Fr^5@l?m)_ph#~$csLphSxM{5oE!$8)iRFkI}JBC1tsFSOs z7BLp8Tch@F@&=t~x?nDKyCr{HYb#WVdPvK^auAV2Wf$}{I5?QsOUj)>$5^dO_PKj1 z=pblRYN(1-31|0>&*zv_I7wvmG90kmP$nKOHa^rnu4UumY~IQ|_TuWx4h-};1(VXi zz(G-$y>GDsdF-Hd_W(RSGY#Xd4@5RzCd1W4@${`eiOR~#*7##D=o&Gmci(4p<x0JA zW03V~6RK@7+6ck#dUO}`tFBY=Yam>B7<F*ggX%AP9AT)x>YH3w##n+IliR>0@Qf^@ zprb=d9Nw^w1jZ5>b_-(7ovWEuPM#{!465ST9H6{QBbz|KUa6A-Lg3EHQoeZz#(L-D zv6GWiPj8aCUV$m9x>`JZLJpCfk|MA@9$>v`D1nXC6mwf2Zs%T5*xc-Zl{^FOL*MVh z1{eIKL@v6(U_YVTj@GDTz^F5JU~okByy;gNi!Q?+#Jo*-&K(d>u!8o(A0O0|cwm)j zMO?Rj01~O@A;QJF3cmUoco@GLk#O2i<RKcbKoNO{HF=3-_xh5;s#;q|q1t(d!(`i0 zY5O{KgFts<l%K?MpY)4be5!9o#E0!K`ndrLgux;!A0GkFk25nJ2Ub%gc2gDHy`spN z>_G2C<<QW!{R#iFEh1-g7r!Q(62^3K8|b4YxxcYQ3<aM?f>nNUn40=lIAdlF;|DD2 z{ma<TLpFp1KIoScBdqr?Q-LAf@v@68#?WsvdJ#poyr6eFR^t}ECW{7!RKJhrfL<BD z_tIYmRj#W)4(-Q^o(5c@^mxBUQZG1Zqag=IXRv}7<Plj~c}Z7)9??HO<zMx6yw4%! z_OqfCoUT%SVy^u1IP5?)BbBLpOTtMd4TahD&CjwavOa=pMv8ay!4QgvqQQB;)r%_= z8CspxOYMdJOwf$(@54tj>|izo93JHU`9fWY`=WBhIXvkL#Jf=1@ceax1qm(Lm7=as zWxq3!uHZyda_Xc46;~IbpY-RWCo}=jn`w}}rWs!er!e8Qnh(;9-5Y!kA|n*Rrj5*b z>wn0uy`~R(pE(D()%@U}clrldAmUjCus;W$3*xY{Q{vxJZ@Wb~oh%cad0d4fFPC~* zbGX|#_es5k;Z<O%!<4<xr6fkGYpiwWHcmhiCSV8j@<09dO^reJy7ul$EeQUcn%VkF zX)mJHy2Cu>5!KbaRtGr_{Fe1MDSS}npqrSrz!{r{lp_w382T${rSOvprcht6t;tP1 zUy24?2LXqDrB2TJH99&`*R9O&-@g-6FJLAp+bfz5iD@4k)Vxk3Gyrp`&IO}O03ww& zJbkH{C((NAH!H}lw5vyRzE?P5+<P2Bx6v*O^AE*Wi3I}#tK+2#2rw>{yRa@WyubYu zq+mrY56Q?>z|f%%n9$L3H8R>iIAG)F-}xc1E-Qo7`7wh?wc<-(UN8cd4{%r{hTUc; zhnG6!$_NTw+4<@VpxDcUA1<d!yRj;o<<-4*V7p@h#^b&;g%Q;162+q1_|8TO5vLNo z43U<W&MjNKv?g_*;9Qk2<M}7xNUzcx316EgkuEXaL}&~qO0Lr6ZW*OfO?3=_IU+N` zX7K2YiY9QvN}uDeUcIWWsQ8(!R#&ymK7d7(<;@8|auKXePEHPGH7wh2;hT%mv`){G zI%{+qTG+}52{-;KBV_*`oS#-iYU9;A8OtKREGpmoy1f9cGCBh$s8C)Y8|WF1!EM@? z7Sf08^jIp5{?l=c&ahwxqt2Ea1wV-iBF5$UcNbAM-OBs>^HHO=Kvbh~1@P(qS%Y7m znq@+I?)%$Ml>cbGogt5i;?PS@N}9FG5?IAL3{;yrOW-G*gF-?ETU2DNI?8#*YMtYD zSJBaPzKPeU@?fuDA1p7T$AC9=M@L5`ua3__`$qXJN{sif<mwlz$-N8BG|!C%!`_Mf zbev}`0vmh(xR6|6KzPVrKik`Pp9yNx9QL)*xUlx(p0RuZW-u#y0dmuwlKlVXKK_UI zs0;aPx|f)l@%#J^%$E3lW|u~vyLQ&beV_kK+5Dd&M&kJ==7Ii|OZgUlQeJR@#<Rn{ z)4cQS=MZ@#eUksk1F^t_AoaE0hn?k&&7!!wsSg7Twesm``Cl#Rps$3vC)b=F!wrsy zkPBb(K%&hJW!p0*K{;$E$c81RkE^Pd+7rzR#Lt3~<i4K^0N-BVgsPc_jw4bFHvR%h znD48}?2ASkxzv#noY`S{24sWpn6fFnH_4!gxZce45Nwv|r(Z!~VZ&dilr0-EA(eM% z?P}h=`GXj=ewkm%u}R6PTc{=CY^puz#`cI=P*y=ZXZT0MQ?lICFl~LYp9SPx!6zp( z1?#n66bFEDA4g+MCuZVD8a$_+lv6XQemhpsB*EOLO#b55qAHg1`t6mIXK$-xg>ho> z`-FF*)l(V?33Sv_j_JNqfUcb${|n8twOrBta2et?5R<+JPamti4pC{z5{Pp-{>60B z=tvq?x~2s(Mk0sbUD4Ip8;nL-wptT>fj`Mz->Z@+vW1p$!$Iuo%qrO9xY9MXmPng1 zV7dTI@06I0t5kZfe%PfK=5TWp^6>ObEkDIr$Zm&u8N{M>=Q|sPRbEJ4R}|}R!j_b_ z214c%)f{H#hhCbf_3)-yC48|mSMS2cU76>Tg~zr*pT07Rh>EZ(EOa1Jj{%>`M}mUN z2-C+CiP3}2<CQ8dB~XOvr?6;7a9R+ldwYi`*y-tw9=$S$lkqbw+HEr@nYQ5`RExZo zi}U<hS?RnUHK8xg2$hcGRA<I>Z1I~9#V@_FJG3(l!p!fq<~KR`<{XIxv2sbu%5kp@ z1o_-1za3q)=v`6e2_T>SX&Uo%S4NC~kN<3KgmdnkoZwb!zBc{m7sEp)C}@|n!!x>> z?p9H`DqJ*T`(lqe-IeZ?BP*2C@y$_>j=GH6=Av{(is#DgyJOP)#6x1>*j@OlXf1~f z>fW_bjOwCI{1L;;^NU)8nT;WH%L^$@4m(PYQfqmJS-L=xbkVr+Z1Uw3zvdO$B_mPi zwRe+99YfvXy_Viy)xqrQT+l;ou?;QLJzM1jEy1dDj|I8(cpUMJ(AQ=8?9)rnplX9N zx%1)6B8|Ue$m4!x<Hgb5bE|){6W>L#aY-sWF5KlLSmijGc3H&Ft}JEAI_#(-?_{xd z-OC1yy7Gn({Q1m6!_+5N0{D|!y`g=-L%m9lrxoMtT<6}}HFK>EeZfa%uHzk8<DwG} zgc7nN51EnnF?nrs3n>af!a%Y?;&S)LLkC^~QLjvy#s_TQ@k;25J9#LZX)kin7N2Sf zNYjz<w7)Tj1Q;Uqp$B{B)6s-2aO(hhXz~1gF*!Z_#RM}xbMBY@%<w^^^i>hzyDrOp z6r6@@`Fnc<fv(HCXQwvf>+5#Y;Q14woo}0CCPq61H`%PDDeTtfP9$R|T2i01+b)7J z(km@t60msBxI7g9GX8+!Ww5KyK~F4w-J$=(wc|9-z`9|2Al~CuwOJ$ZW6Nc`_sH)L z@7;R?X+zKBYn)!v00b>WL}z<9^%`NeZv6PfS&&=mx<jFwS131et|%OMviHaRBS#yw z)rVXo8By6=6%+arxQ5c7PH<Q442;nux1s1k{9)PL!VI#|uFSG+jO$9RqrPTPSyV<` z*wOhq<!I;67ScnuB0wK1A%ALnSr5zxi;F#z<~mL1e0hIulkyd5VCwjr$Ei7uNNg2$ z%P3<YeJg{SaBME{2>(O>`)8sbc&Fyr$&R?T$tLR<!wy<IabZ}RQO>4i2#iCo1}Iu< zocIc!%2L`G?mF9xX?6L+9GlN5az})orjK|9RePxeVxgRcYt#-r?2?j(k_p|dtv{h8 za(8ZlNfP37A3ZupIek$~?gc`&M2B;#!$V^c#l<V?)zbSD8W~&`!H6!0Lle2|zR$!K zI`)DGDYTR>A;s3v*Lurb3Y96WxP9(JYyT311&j7|huW<v+G}e1`W+0ka^FR?95)?@ zfNmbgUMKzusk8)pNvFr4_xJH8b}wWjcqmb+5YKO-?x4v%YN#|tojOe;hZ1}fn}@#Q zo0@RiIf&nhMX?1$RE%nVW{w%!hKW>Hn!+T$niw3F?ow_dmmqyy<wiH(x*K#Oaf%sw zz|Q-e#y1{mk78CpBquje*n|##1RAfCQ_ybegf7;t#XdCs@^q4}_DWdg1L)RnN5ZSF zitIp_HOvE%yZ3Oez4(D2W5OZFg`>BZ!PO!@-IwCf=kzOd6wG!z(#P??C}=E-?88F% zmX%$~dA-cl(;l*3Z2-ghV;cJ!Ojk7`{eP+&uIXx~n35V?lklxeA58@s>Krt)UnI6H ztvp~MwGiMKR)8C=Tj&0L+f9Y5OV-S_J7J|Xg12$9f3w|dU@t_{$(6UQe<=mSG^W?= zZ0_-tK`%!uO0k=D(m09(@$;2DPV}s6Pn>LBFHZk-rkS_e8EP`B({x!eP+BU0QR)t? z2fpAHt;%+d;SzNR?45(G2^3Vx4nlbKnj-XI`j$KhA}&XLbh$?!@8DfU60=~lVFFpG zIu6R^iAW=q_f+)IW=oY2>d!RCb^FriFtTpV`rZICTQTZtcFpE;%VrB}L&uLzD0G%r zy1d;UymZT)n*&-&>1z1aVrY5RZLzJjS9jPxez@9C1yIwZKkKmj-MH$D!aNdK-xT*? z-F_i&({NnkdwpF)jr@aR{x|j%u(ESvKS386@<jIZzm{_12mvM7RKpNwYL)D~7pQfz zoc%G1NM&n;VT~=n<c^<(pX>P;8!q_mT3Ym|33%Bg$(D^WLPfpiwK>OdK*fK)^d7Ro zLo`<A_81ea;90LWu7TX-OCFeOi4+@lZi{EnsIIQDMR%!l@;+1pJ+l7D>|rzB7`1}4 z)E^m<cG!b&YgX&L4$!a7S%sCdJrti9;*=Py=CjZ`zH=qhz3`W)=gNf#_lYe4_m#jT zV`|()MS^<EeEY#_&udtj@tudi8rBmPf@Lb4B{Hu5jJ8GJBECG$Iydm@B_#|GxgP?` zs$OF$Z?%9uDs>pO#tN<|Zv?#3%vFs)6RUh-zENrq@gr<(?aq`=HQ#?I{(X`4bUOO} zor3{>#ESnb2m7C-IQ7ilKE>EWk$%nP__ABH>w8aOK71w!#@5D088FL+u+0S)Bs&_c z(@OIK1FNiukzbQNPb(jJ7oJN4*|5#lPfK=Pod|yg1LF;B+n%g3oxmm{_1m|*N{60W zl{wJ~D8|-?25C5EXrSpj3=yx5(le{5s*))1$vyetf<0wWe!p*m1S$sn5$HfsaO@#K znSurScz4_ZGt(#)!J=Znyw1KU`<XhK4t*ex03AoYGON5>OhK46wAbZdLPk?7)S@|c zQCtQ{H<}?JGFqGYBB@bdwMekbtgK}+YOK@-ncR2<yBq%~SHD(vRjk^9Had07Ap$j2 z>9Se0(4m`3GwkrlsJ8mR^!F2JpAa8&D}eK~LsNfQDqP_HqCMXh>G4X8<UVoe(~h&0 zuONcA=^c94;=Oj1=gV@(L6M2ZX8e^aBc*(;1YoShjy0uM)93Ko&|*qc_7RQQ?ax&e zRqRH`ivrfa@8Z@3UJ5yUKq`$#wGQxNW^1MSU3avz^m3ivIo`QrF%PzvA{(liPe!`b z6e2a4u5=aJ*BBhl?>_yPj9lD63M`QkRDm404&9@bppJMo{yx9fw}t9-ADr@apa6-k z!Xqtve-X1j2#xCJs$gUa)0fu%smsmLRcm?ph2`=LMG#Npqpe*qyHQP$D&_z+7}mtV zYr184sqJK*c=sWbVYbU<PJ^OnV9`T{hZF@8uQx0UbxLeo+0Y@C+2CT?jh8a?>ap^` zx30yD_?*0GzHH=^8_ohKry;?_KKLMia)MD#Ojo?v0j|fvvlE^aEREt1{ZqJE8W z(aX~e@pC#UPN*Sg{F(I0i^nV=Z8UfOj&uIZDjOOa`f1qd%}dLr#38%kJOdT=+=y6S zvkwXFf8tE*iLq(O6VKTzPauMK3hV;ev~uoC)#<mbMyuBWM^3`66>bk5+KoSHm)h#) zjyuh@B&5Srl9Npz%g6Ze!paEFOf$2_L7~h?r}R@?^@1P7c5Q3^CSiZk2uyVr@2-p{ zP6t(;1bqq_{3Bh5lxfG$&0rqpE5>MKyW;qBZGr@smwN9DI85qraRI|wk(GMA%;6wN z%!P{p&R5J&tKFCbournV=StVrN^M6=Y!(v&y9^!!pNx%-`K|iE(4*uNnjyOv+m+6M z4kMUm2xkuKFZlaBZu|H=a!d*YqhlLE%ef3`jTG}ie*CHRuAeo2Ozp!_YJcv@*nhZg zC-R5GNCN|Bb0FHDF!ByCN|>O2oKz-xP*4YE;F5e6$x2?&Y7wIuPY}<f-G75;jw&+T zX!2a?8VSTU-Kw~$NM{D+x+)7*!%;`VkG%{20nqzs;Q;;0S6DhoswzlqY|+2e9S(Qn zt<jY+%!>CIprY`toP{m}OKd4|IUw>v${;>L09)1-^Ka?OF|YqYTz6ad%l|lgr!te& zxR#Id9u{4;Ai{;ZEp!BZ{#bIBV)V-(Cwg$s^B947;O(8OX=O(jx3CzLO{x9aj7FS- zF_??usuTCnNY;SnT~H*QjN!|EjznyE9eV`mSJ(qs*VFE(u!6bD`{-|q%(T}<S?lyg zG*Pl}4-c==%CrnU)90yqhE?e)Pgy{yw<QWuh*&HG`Rl$xj3RS9S#9R_&pUSLE2lM0 zg9rZfsjvN?-Cpp8Gq3kF{ssB}q<;K&825wZfXbLty{5{8;}0NlGXd?^D+=fJgtNjQ z-z-my8BU8SsD8K~UzG$`0SIs})>Zxc@6$PBY#<6MTZBPr&6O%g1G>pcC!WgI-rn9J zPEa#*t<6@Do%tXk`Qbxy`flLK1;~8{g=ol|<t-*Q?b`2Pq%CXTi}TiJ15ofc#0eX$ zFo}LHH6A|c<F$OWe^qa>u4^dQ)Ex}&ZW*oT|B|^Pv2i%P2CV(4B^+eBqV?LMIOFo( z>-SbyYzyE6D_Vy-;<)oKU8hRbL)kDNh-qcJD&h9a%M!Zdw4=EV`cf~4qpW5ZE;x(A zkDug@muPkAi@;Yg0-WFKo=kNfOOC?T)r6Rwd4oXhr2W*D;(yZ8_v6L4IO~0VD>O^> zb!B8_fh^mKqOI-rc*%H)08jjCt|tyVRvD7<3=F@uyps2}or$=7kmM|9H&tl>N(qNY zLFMgM|KHYqpqGln2xaE4ij^Usy!HMR8qIE`+;5?z4a$bEQwcwR{rXR=q)jELO|yyb zuT-)D53mM{@^_7s+Vd`3bF9~CBo%Y@%3c6Y=!gNO)_bQr#;<w)>-l<FCF<5!kC(z9 zG?+cUJCF%Y;U9K_!v~Xo_?N8L8^((}>jy`3_Fd(!{_;vWkZjDRyIX3xW50i_+{_=; zXR~O|8dSLrPS)3m5)N7S9X5tRDPKt_aZy&*Ep(;2kA0)KK3rhAn<#9SoZbn1OYg5s z>?@6jX_i?2js3=`nXhVaNBUhPTBwQ<`R400Ftb*BgH|Hdge43!PH)aG7kbZ1Qf_xT zQrk!spMVB!ROa($?n|ULGupQWyhr}Z#TjKkC4fO!wrb4>t+8};bkw5m->kK=<Cok) zsf;Oa%s_>SMXp|jo`D!#RS{79EDB#Ujo;Rb83rBrOE;oUsDbNrkL3{>>9#S9!%9$e zM8}yg;;v680kNHsuRA%eIvU=??jZZE2ZUEiUJb7q44`0lKwX85|D|hR9c~yYeLIST zSKA$yQcF6O-=G!Ek*qlYEz2XHLjuQqdm^{YY<!hVU($o~6u{oLFAh6y#MRXm%XdOr z14`Xl*9t+=-vMDlgeb<jLjEYJyE!C^5pFrIdT^-wh<40X<M|$e^g;K5eUu@mhJ1K! zY-(X*SU-(J#PGK|yay#HKEt$MHnPS>*@@oVQ%H7h3ZcqJhSx=b8I+<!bM3=WT2R7M zVsaSDhy}QGtDj485mYIInR+*8m=u<NZ{802T+Io+LKfEZX_iH!+VnE^yF?X$U=(l| zeO6mrYdyJjyt)EvU0?j4dnbWJ=K$5$7A=*y&>54#q3d0;m{Efnm_J{mwID$7+!)pv zjsr!!3&)SOLB&ucgWQdHK*UE&z*?&;v~0ac`N4w+METRq>@05l&y+@)A+3m5RjOt6 z;9>4g^Sl&)($o`B&4%4dYuBs#X`~calfjc122~Av+Wd~+V}=}zLRf2Rlui)Fh21Vp zkY$`JCDj3<7)eP<8-IUu*<GQcC9HlU%4xv3Gg4A$H`%M(9`IbAzXQrghXcE4PX^ru zY<Ke3WM!<Dl3wd!>jXQoo?c$8Gg1y2!5=?<DJzS{ZMRWmYh=E8eVv;3rT>SCI?S8n ziG95q>rRHje?LX%>YIS6weeCP7|L!+@aJyH1wS)G?v%Iwq?vEN{;G7E4-%J<n4jBm z0D>!=7W>}Tp9dp)(ToN)o|?rLK5;XfU<jP;4Uhysny8psUyo+D2=c0iW2113nVFdv z2u$e~Wn_cED=AK$>L(!i03+5PYww+;fwwFkH`<H^6Lmp>HIf70=@-~IIP}-n==!G0 z)~V4G<UZ?$@AlPMlp;@JQPyCT7my7*)c^DMpRsaZlh~mfWMSYa-9TOT<Ydstk0riz z!tQ=!r4A{rw^^_);F1(+Tn2?`8ObS1&`ZBrk#Pu-Gg}j;5bHqV>gcE%?};~Z@6GbC z!Ac=CG7M=eDl5|~7v}O=THD7J@}t=@vLdrs_ny6Zw`rrD&kDQ+&N;m)pK=8`^xz-= z-65Dey`V2)3_jnTX!N0ON^-L=7@x=u<{Sl}px^#|0*%hansp~gT(?*-y5#><J6~Tj z%w9sX{MFwAHhrLMaItSEW=dQQouRoZDliYq4!I1(uydocq8__o^1AbigLQW;ddNd5 zR!}vqZT*q3FrZWAx-!u6cM5n*K_k}_#h*_Y|H{CopIQK>KA^<>2M9u-zceR={T`JI zTV8UI69Bi`>LdzAyg*Wz(mYV9)W=N%{db(`^S<~B)O*jZuBP!MhV<6f9OjHm(coev zsWv}l4d>*+kFjc+{ez8~TwMTHmTGn-7%c~<w)Mj7)kW@so<GvK!PNW`pK(`|&6F~e zLS#><ABL62s6bx&!}X!)+qFG;pyatmP6*7FTQ+V*B2qzZB+-sokJsjU`}k;PzWJen zqo<-mJ`1>ll<mZf6?tUqhsc7;faHQWApz$m4sco8&}ai82jDm|t8&+PzldV248Qn( zT#JxdPyjnfYN+G>ZMkK5JCZ~5*_1aS<efivmao4jBGsRC%}BuN@m=zx=8GZ6E+w_` z1cRWVWBXk<q8QWMM@XSPnp3-fL5Vo~4i+a~0ZX4|n>813ycnURMCAnW(@yDZ8jId^ zuNSodKovg7)=y1lBV3*L%#EFPgl<##g~ahA8jX7o;54^vjp|(eL0lM|t7$^!jb>;Y z$xMb0WU9zzK6!gIR%E5{Zqva6$N-mP8CPV+?}1_T@Ul>gCac64Z#0sJbSH?wW}AI~ zIDruP9%{rY$fdkG?$QJ1CIArhNy#)@=pRt?n<jyJMWh|9G%f4ohkqdSl7G4{pJulN z{(JH|TD=NC&dR@|a-E(>@jNMR*g-BdQ=vIf>ZFU#pu$N8yxa6`njU(9n|=zSOeWkA zpNB?u0r6ucHrb!TSu*RdUgUS$dju-+br5smjdBPOk1ELXX#r3#Sn0N$m!n&3xpK!O zk|{Wh_-8%g<bxMl)UCfLt$iTX%7mzIT^F!RPE&}=@`_#?63NTUb8>WqYW|yb0yC;A zGx<svc{6$QqkF+C6B^0#tms;Tt(088`|?(){h1jvePdO7?q)$G$bhiZ+(4b=_CM0h zCokSyyuU$CbW@1W#^Zm>dYpSgECMA?|91Q3zw*D+um3%h@;`a;r!PYOb)g32pZ~wt zNvsmQjzR*V3I=7_6E)Rym<28{#daze<b6~;%F$m_RY^mI1gRO2I}T1u>!|>HdioLl z)IBGc8KdhUf%O1!)d}ChsGSmLA24|zl-1uqPjsfW)(j1avc&tE_u{|L{aLjmIu2)2 z?TX5Z)9~pAImlZ_iMseN*UmkGXo+uw@w(KDfHYW8_+Lr+8UOyTcar{<iyC1d_0ugj z8(eZsWZxJj5c!lHx=@Bz4E_ZSw5ivC3h-D0AxF**TR6OeE{nzpWJc!+Bwn;%TcZXQ z&$N32FD<yg_YTp*28uM>Nf(IMAYkVOr%vLpjN}kmEo^uRSV;fba0$C;w7Wb|5w2Hf z<&!+6GU@FhV6yv}5nv&b+baB8-{@6~60dbGpPq_Y=`dENn)F@wvvuriXSnD$T4d2* z8Dax!W9<kV=zF+TLLu?KU*hMz=itQ}XdM?{63D`{!Am=(_Or<C{cqg^wI*J<hBdP1 z0ZF<f>~Nk<$6l}XK=}{2GN`=f_Ze~t2tfCJc`Hp$Ntw4?oSv<}Uj!YZ#W(7}*ZQDh z=Ugpc)jbvU-YZB~j!VuO%+gyNaCm7n?q;w4_T2uh+}{70?}C(NCpK#K>?p`{hXLe} zT|#-7(?SQ*HFw;4w__Bvgef0xP^T~Vn`eTTE3!7UE`kA_4QAz-OkyH=XFa3DZc&SZ zQ;%^u{ocKu{gG~$o!_df=sK3C!aGy!W#By#1(3kzCK~AL6REnW=S=1<{gG}bOb|$_ z4G#|oLqmBWo3(bBHXO_Y)D;%F3CHymuR+D@5Ro-IippP&=I9CLuC-i!ipUzy%mdfC zZ7q(Vsyxfb<hC}Uw>f(yghoQyM(Z#eA6UZ#b<p%47tL^vR_2XS#7q<xYvt+_HNTIT znPuZe-Ch*g<ERH+<~IJmPIL5W=pcV^<3|I0r!3`i-t_hcu+h`=vq7U+Z}quNHOSJS z;H>-4*EJdWlU_qGMzX?~TjA<`HhQ6Fz<j?(Tn(awbYhAZ_El>Ry~s3D>)!kDlz8Qg zgAup1sqXmxy+R`pmd_n{Pb@KFYYjH-M8rgFmZpCMef~V~zV$ZI(vjl^svI0p*d9Q6 zywrAZsk@2M)5{9<d9r+(cgHHt;y}up(Pbdk-rLLb^LuE#sAWsR&#^L#{10R_54gD< zIt_&7WQBy_mR?dCym6hFp3;<uzZld8Xi`CCfc8lksg6|iBaag=2~evKhixL5TxRwz zgUQt>MliZWq_}K`Mb8m%ZX=*FN86A!(|RzQwaUSj5LR<|BN(G|Uic`5Q{ijYNP*jL zI-6S|1|(O5M#Asf4E(mq8Sz@LVW#%V88Ke3dGK*W?5=;1-%cr>%mtpdqINB4>QG!V zT7u7FL9F4Ler<<HhHkKV1e?K?W+$^jxM0pyy%EjHvotlP@ut>UmRlykN)MfwnAjNH zlB|9+rCDu7J6fmTS>oAW58mHA{U@gJF$2qDM@)E}kUg`=@p|zSh^?L7U~}HSzDZZk z@9}pu{5dK(YSyXaz4c;%N_6CW<cr1>QnFDTo-4M@^20C%cP<a=ja}%;ZQv5wy=Tv! zoeQIvG+vyHr-tiQp@3ggQhpE42i~No?+$NP*_f!2PU#9W@SXcfApJ}$LFadfr!VkX z6pZD!`W?EO00FN!ePaj=vkZYU=7SeUI==G}JGQl$C4iZYilTh~-jZ2U`q{IBk`npC z+^2QdjW@TLI8J=1Af&tW)3IUPk!;um)A33(nj2>Aye=a*fe$xm&ebPoADbSQ(y}I` zDC8_x(EV%d&pvh_eq5LizQbKm+#WyYz9#MpsrKGi^H~|p*2d&FG&Jz=D^_3w$>_7( ztk4x+WPbV;E>)dFU0tEh7TsUJd`WUVKHQq?Yyj`8ehdo>By&xy(M)<p0y(ljw7yry z{VHD_xc3l_qZzO`PWBKlKl!pQ=A-ibd3hy=u<!*11%;4<sHmv-@8747OrmUR2lgv( zfXbLT9QJX7xbLs8vw@edT^kTde?aHI|Dzq>5hFmF&#sNssCeiDtSV?|@P{)izSzBI zV64=Q`;YZ}W*T*k2@*yp@**&l_6-N1O*v&V3?`mS6};CbLDtbfX#e%0OizEmbefuK z(eoK+{3NpzD0O=*AfP!+c+7M6?p^t>$ud2|!z>RTyuIbn1x&R^bF=D~7gUD53%J6B z+@5Jva9SuyQ(|`unN>NTkdBT0Ef!z9{(EH8q}=__Ep(*|3&#pdc3+d5yLKPgrQzUk zx=DRNeKq)A1e~KCc{@YRb{ntB-fCtccQu-lk&*Fbkp?R$?r)3gguz3zr87d^jc{7) z8WO%M!YJ%OdOx04T@ix0W#gGA_aDQ2SZumP<>zePIX_x#k)u}}yCzZjXKo_G@pf}B zepqs4vLa5Mr9XNaC}_89E}>F)v|9TWv8?_Qseu`{cR*JwftUqOD%mw^-oFBiZcs0J z+E0C|si`?Q0@+lS+xc3Q*CO2&a*p~4t8lByWRdW6MfqC|L1yd_%h@$qt}6W!M>i8( ztW-gJe0dcQKR-F>1yT!HMdaBWsa@Z^+wmSc3ohPVH!ujO<$7vj2J_|ix8?`nS{$&q zg@rr{+8k+`Hri3S`X8SCc(q?N4_R7X-t0LcL3_EVCpyoysJ4OEqsBUr<rQV-y?qy- z%gPp+_V$_1%6GwyjM}sxb=Utq@95-cJU#t3BLAh~?9ldgAa~fk@MEbCJeT30v;FL^ zO`y>95y_tThDc{T?9JZvgG$^|(~3ti5(ifTZ~Oep_c=_fLZ3e*yG29OK8L(rSWxn+ z$H9MNbC={*dGnj2#63Rn5N$2Aw}a<Zpevrw=7!C&zQSyJ$X!XNyFkuSd_lqE5K+GL z&R6{(l!S$xf0_J#Idohh2)(9ohudr{0<ao5NT=kp=uXn#ce;kZ`$PHCb^KitPtOjR zaG1EqR_dW%9lsQQpUSV=W4p+*^_j0x4Pr_=Kh>eG79+aYm5|}qJvlNq_Sj?0)Ydj< z8C@&{7LwMFHBo~)z4gp)-NQva=Fm8K@aA@mu*bvK`3-xuvt$!B&MeSttW86}tOa=A z^nIL{%>w5)1sXRYLHiN;^@N&1_~(!i)kox_%~>|I|A_}-GAhUt<>ScAQT+sQ4|mX~ zhb%0JY}70_bkU0OMU<1Dgn)FQ$Z`7;o2b?T4$FNg;z^M;&@r&PvU1hj+KULOdrlV) zq`ELSiHq<Rcy~?W{D!l@s~*U~QD2<QRm$1LMY(OtP7+}_#ziZT+2!R>A;%qV{e!?s z=xdPmor(!&!h!!p=*qo^ZV)!|D<9mi{Y;DD6D$?nliIXEkHK?vN_n%TZ$DHrC7o{8 zF7%#pmd!udGlM?@fBTz7$rW<t!F%9lV%}*FC~n_w*ejex9&28ILCy+AkKq{iS)McN z*1maBbP_8f(1PjV=XbXL!k9i6Dqyb@CyT2igr%IX(l6!sCa^2DF2wgOCU$zD-2TJ3 z)o9M&#p$7`D&1X3It6Y!NAr37{o=!}mEFE=kTzVSikFkUlA;*HLf@7H?8j^A68Iiu zA9e=`OGer#2Y2(B6X*L#sI~>>7jTn)N~_z4I&po{>zi32V@8Fuak9hkq%@K)PShDn z`5f=T$H&)*+;m$(1N>+^9bLVdfpRXol#I=-`E2qqGx&F-tP|rE-Z42_MUJb{dHZuS zw@#<-A-nv!m*D<aT@ic3F**y!4kY`=>y3=)Z1OHq1coInjI=sqw&t&9-29uW^#?<S zrAD0~>5W8Fux$<_;eei=;T0+Oa~2t%&t+taJ<(ch5$w{Sc<wJB+NLZNtlSw)L43G$ zsl;~jTRvNKL&rdb7a3jQpZxeEn!R^2&dioOWh-IVU6z3X=GMaC=xT7DuRzd;*EFL8 zKGd3LFG_+_Uf=hS6u%~AjH~3Vb`Ou><$qjXgW?m&(q?}65Wy*SoW7_+%RjdNMGcv1 zQbnopNc%%e%cJATd=cLlCMIKLcFK)TH-0xZIvx#NbX}Er{~~gaoHXF;-*$Rp+nV!R zzZ;tzcYgsC;%@Z!B_&DxwnEJ;2a|aO1+^}S`!vzp2;RQC#|ypZT4B3+cO<Z`bTz%g zS(?M?+xB$t?PL8qO#>;E&XqeQ7JFZQmw9r36QJytAQf@n(?Iw-jp@yfRbNh1plle? z`B_66Hd^k%aw2~9ckd5I!oksn`jI~;vpv226E*n9Kx-jw)eXxUdj<yS2|d9yj5Y<& z<DTaB@vsnJl~D!Mn>Jp4S*&LkTg4dKn9_WlV^|gmoHw$h4PLL!eLDXlv?I3coZkmr z?N5})?St!d3g9yDZ_mGO@iROUbQgEr+-%)7sIg|6fQh6yBy}T;?~JZhB))%tVZ~{b zw{2D%I5-y6Blvio6c6pEYV=jqu+QI9_<L9MU9Q+kx&n(3ZXX$voi}A-$CD~Zs)k`e zIV0lQ*TX*L+1y7}vNlGJiMv;&hu)Kt_OCQ5wriFQO_a=suUXSb*{RX6#}9c>AF5d8 z%E-uB2uIDOmI(IzS^SY#SQk0g?bmU4aVM`4==jER1`4TSBqJy+Sq#mmn?{+D?AjLa zzvu%DxL_gOZ@Z1u)~oWZrqZcSjt}4YkcO#(BN8pOxt#R%0>3I7a#vI42EABrp>t11 z$LGGZVCUHdi7XALRF$yx%_@&LtkBxaGz3HZSQW455eI}?AX91f5~{-M<Uw=|;JshD zpzT8V!5N;;{o8ricS293Auc}X`1pj;i-XDB+<f3<&8Ev}=hqLH%P*qYWTV&7F_K=a z5H4jL5|%;v_APhC+`P0itv#?dk;in!<l^~2rC&Nfl2ph#VRytzY~CV2A)YcYr|@e% zE-)ekHD$uy{G0PKcIeoz41rX107FJ{e!kp#!qn_QIbGE*-LHY?&~AI$Zz2{VczVfn zM}otCsg^+L+Md{`j-pZ|IoG$u&G5xr^!dpqhm<b%Q$aD#(KaFTe@uW6VKI4M-JzlC zvz`|&))+5kvfibl-l{XI+B9JiV(!*?pFg!~IxfGaV?9hLooM4FWoYWU4+wIFcC8vL zPfSM6XA5G;Grm51`sdf~=S1GHk#b?t%CaQqK&_5%#fn%RecWb44eDys6_aF>WLE4; z1bEtBL~}F=OvMR{M*JGaYX!ARF$BC*V+xw#v1WU5+r;+}CH6X>VFXxm58A9vvy+6| z58q1b`}UMBoJWgoufj_%1lSsA(i~ndEWN81cb*mZbxZ^aZKsycwSVDg1xqwHXa3#P z$Ww3f5WEww*Q^u0*)Kb;V+C8ZT9rbfqIz{CQ|;_5X<!B>pe*(!_FtQ7$2*Z|TsG%l zxSe}k#mxEsW{k<qx2M#JRd}iw1W^=3r_lO589nK=7Xc8Y^Y>J*TN|dn{6s=RVu9<x z{|@&%{;|i8dn_91X+C}mNqLcW`4PD+$Ds*BriKQR|E+k1GZITD<`J4bY=85J?e6wH zb8=QwmBQoz$Oy2PDmsdH&6ttuJ{NvZ;nUl<lHmO#W?{zn(sC+1UYJKglpgqVkr+*O zCc{Nch`2kjcY%H??i%febI>a5=g*n?755mLyY4fKe)zU@_r^WRpDI&T+3nd{T-`03 z#RKyRUN>g?%IQFSZfa@yLOsa-hsT;)wYL|t0@{ZgcCZ4Q^#?Pvnwht56_ghK-uOgv zNS3IGJJ4VoskX}(<$+K4Kra#U1C<MxFx@y9$zy(i|98hkM9-I(FQOi0ZSPl)qQb}E zG*nb-*`5@#pW~lCf6fT88FBytTyarS<1(9|13HB+7#s{%{Qn~Dt;4G7-geQ2h)76x zDiTU}hk_v8-Q6YK6H%l=8l(gTq@}y0q`MoWyBp5njo<fud!Or^eO-J0qYD;utvTX} z`?;Tc;59!>KNq?Q7|INOx4cS<{HMPI^q$!}z32ohB8E;Y7(2T!d!n)-mCW;$^cgj0 zT*8F9%dX%n$F)zI*uFJA*<G<Dgpj~H&Ow&JHyv*r&({fkwnsFx-;MfL5Qwjli0{?i zFNH0SK@*wQjt<BDeWb9IoSd*?#^vm=isGS)zTu(9it@Nf^{D8nDe<jq83q^sU(BOv zaEYvagz6!QEOLLZg3o{X(Y7dDt7wwa;^K!38$v;qTNigns4y*vc#G0mNcy%O7n3ma zfQOS>^`^WbHT81K%iVE#ZYuG?>4n<?h4^!x1VTR%Vc27o5MQp!n+6jT6FA?y;npqB z!#@_eHi=0|=|$Nc-Cy-jikr>~=VxY6y}iA|ST4Bs5md*5mJ?fMNPy>AetVO}I6gf5 zoRj)pwt|y1`w<>g)DE1tll63z=NWl%ucKZ`rOX51v@EwJLxO^un_lT<t2?Ox>jheI z+Gct_#=mX``H-d8om2WwjblR6w`|1MMRQ?R*4D|Fp4lOx;cY5*LL}XBl!DJv`Oe54 zMmr+reKtM;7is^@6OZwRt*rqY3(Jl0cvmCfJ(J&0sH|*&sI>5C<KoD*BlYG=`=-3& z|78Nmzyw&$_~hDzIui=nl!e8PRi}KqEiWh!ZH-DE857f7v$HIoUMU$R()!fF18>E` zwi<MwKR1v>!El7VaN_H|qDfGYk(>Ma;=J5<+|IdSS9R_%_FL$4H@yyIE+wmFB_@|3 zGmwX|+D{U_;r*R*+nHNc74Hv7PrlK>O-!yx*ZZh*BhljWIBMqIVf5V0F^t%C+t?J0 zGBy5A>5f}iz;Jfg)+T9rD@Q}mPcbQIJ73+u!*@0~KAvrx^5uAQ>ir=0+V`8Ovepa~ z|6)H|ohdf6TS>@vwi^A_t(W@``3C7PMiM(UEx&%ju^V!*vbOe&(91|Pja-g%;;DIG zpRcTuO9V!AjPK#SF7gYCi1>EOHCp9*hZ(7$@Uo%^T!SuTwc22I9$=(>_HFi*SR>)- ziEfP@@&cv2hXMlm1@xm5=ycsAL~B+_ay8*Hk}TiNAT(pAx$h=VzGvEcjD2Ku<SIWH zrv7FWJ9ew2Wre8_nOHJ6AOG*_wqfP%Bh(2YO!?bomVCcXQ}f55h$iKE_sG{)r~*WX z@HMvscu!?2!#5=@tWoV!5hiNiW>ca=&{aoFQXbowYTQdQsfcdfaoGA`IedW@#GbAd z?~*eX5fru(9M1&$$3zVBpT0$NB;vZ1{dRqbOFmWM(kyQ9vAUYDH<{RBb;iW`qODud zYrdF6G7}3lWXx!%m@f`t_<CI&GQT^1YHgD*Auj$Z^MMMH>+}W@$}43jRAm1LblrbC z<n`o)Si-r|z@%BsmRQsng3*SI42^i8&LncaY6DA4zhA!t!*{eTmZy}nx!H{9Q*V!$ zkPeVWey9@a%}>L$k7~oDhCSTe_2kNL&d(oea@qMs{sMcFq|DypcXfyw++!p(Dn`a| z+SqP`@61cJQylC|k~V^(9dDK$cOKbj@)&(*rT`E3#fy1fkyuTqT^7<pt?7A>e)aqJ zy|EckJ!`3QN<{1oi>RnhnmUK`nosAjE$r*8NE_tHlDZ=w1JR7hm<Ob1X(bYWk!Q6% zWqdrvT7x%y>3ttox5odKRot=x11+}Ko8+6sc^UroD+Z_aT;{=bV^4|4EZ$TN$2UcH zM3+52>D#($sQ9N_WvSul7lyKT&KbHXU--R_KT4^2MG3@_O}p&8&0)`yq<U+qoYzy4 za#bc6Z2=meoi+!86Qe(2;*oV`G1RV~8fiISOogR7+1vGn2DJo+gsio09Fcf1y{obP zMq@LpoxtzHOshOo<DK>-347k~;&_9tFS)U208Yrr95NPf8aBIb@KCBLl!;dt7SSsO zE<_A{tD^z_Z8X0K11)VZRrmN%gAChAVbZsbe#H{EMfQ%UDQEcnyYA?U0__BD4~$Qr zF5UEMo4-7nb`EA^Yk$zx-GLr3)HYI!R&+7<{oRKt@Y_hs>BvZh^Yc05nZS8w4h4tR zYZEjQh!^gawiiF~?Ud-+X+dCcFhIsclxg?&=c>L7rl}T93um7eByhMt#EgvGo^cHP zg>baRUsw~WW6844iWs%^y#9!q!RnRP?4P9}6EaHDw2=<=>9c{c_Fz8z`Y0Pdwy}hY zTcMaC&5+>mzOs{BRZA;)(stGH2?qKeCH??uh-fXeu&vDJpMYUViMBw6cLZD5%a2w$ zCoyMdauR<eJ#L_VrY9!3f|LJdP0!HKh=qg0VE1_N&D)NFvq}XG(o_tIiM9T2U!U0x zAvbN+0178|lWPpq9*y>p_{6)%2$9Z$XXOOzcied*_eSvzvN7UU3}NGvPbZB~Th2S3 z-8m?5KCCu|LFs|7)wrFBv$-&AAS;%QHa1wt6Agag>m1h%^c1Rs7(;Q}Tie?u4w;BQ zm%jksE$}XQ8-}yQM$HEklDWLRWOucF6=oR=;J>H9e(H{2PgLC4Wn_FS<>i0&v$!I| zXc{l(1t72`RqhtsE~5zxLwaW5)4UW)rZr<oeeaiWwiK4Huva@J++X*X^QVOQgU^wR zuR~D(54t2AXe|xi^<S@zjqdIIe_m4%M?VBl_@CF434h(?-`BtYxjT3b{WTz*ak~%o z(|`H9t>3{KwHnT64_7XGt*)zWIZhD{%_Q~xk@0`+#o1+*os9XuhOgT8PBfv5&(bXN z4mjmMhF$?BDAsbwCWe|?(+Jx_X>9PlO{!LOic|%UjYgd{%ebwZ<L0)6$MI&mf~~%O zQx%d?^`>VmN__utCS(<lb2X^S#b9INYMMpO%~6;%YVgCGAR_Wtpr8PsnT7PfPw~dI zYXGe&aNnLpl4nW2D>8V6*70hLG^;lu&VA4%17I}+09XTtNH(HSK&fDBuJ8$dpWb&H zzOy@eLEj(0#S4m&W}SC#u|wh+SN8-U8ZAL+kskuRr8%mZ)C^zBTRYp3##I?cR{(nX z!HDPW=4hc*E$7b0U>+YpNaZRRY@COOR9(zWO@oz|_eywC%h8vCvW3aw5Qhd)^uMDW znaH|>w*c~Z7mwZVZU;-7MyCkdiIw_{@pX(#u2;NPT=@#|__W%Abb@N;J7Z9=(weNp zayU6Lm)&<zY45C<A1X(nktNU8PxtGLOG->+Gde}BEAn(a=t8(eUylI2M=<Axyq0Py zv%%rv<)-u-R1$vXwyhTmC6oZcGaB%HU1o3dJ~A@0X4|Gmz~f{gcTYt&MIcCIlGQDA zzp0}?2|GJN>6@vuvv;OqC-kv%`JiUC?LumefZvJv)2B~FHaB~fK5lwvSt1>15-tKn z#Kdf-Gv<t*dhOtE2}`q$Oic@&twkvsx3~Z(!GefJBCTj@WF!L+E<!F3`bbR7I<JE$ zi|Fh@K>u(iJ#*QWPGU{@`c-YF5lV~gRvRi5nWnVaPy}=Cy$gY4eYjrA(^QtM*-vA6 z{Z5MOaJ3lztNm+F>Ttr30E$F04a+pRu^XEC1d>rxIa1Ny&DcbK+s7zo5oQZ_9{Ofx zC{0}D4Tcj7f<!yz&W?)#;kFW&5{w`gxQB*RzZHo+v1Bv5G^dUr7KXd3tE%Q@acwuJ z4kMJ#!4ic=@5BD}i9)K<>@dU2R)aFj!H4kh?n8e6OlV+!tOb;)siie|w3fO(554lv z-(&KA{P^+07SX)?avss2pFi~h5W49gC4~amW&ujiX>yf+bPZ?ACGtBfMpaCg*@)c1 z-E0h0z(<e^$X47PM7JB5m`H@>a#&1FKuBw*ve)Os5ik-Vmt@{~uk5*EZlkGCoT6_w ze6IYi+kXaI-p<r|0)-1A^B65n&99Q;3wgnM#jE}0*0aU9LV7}7e9HPQmtmm<9Ev)w z#}f*Fx=cE_I2tky>OUzLDke5GHb_aUYiVJUl8TH<s%SLYdPk`PIW>Q8IM2;ds8Fh$ zmSbR?OMfT^i8rjkx74f;3y5G^rT~oMWc=XZ-6myjY%JBq(c0Rkik)-ycx+zGJA3h= zPZc#57Ib{}mf8_uYEel!{F_^73=DJsbjSvERt7}e5DJ>|0_x)NjSV{@dYYsoF)S-f z5*fdz|Gd-j!showKV5|3YHx@R#;A8d1++c>l$EQF7ikYhmf{yuZoG|m1KIZHuZB$n z2PAy&!qeeBj?O!kE}xKe2eIMX+pT02PLCB3#^Leo6Y#_iVw)<IiN8)J8t<O)1*qcR zb4M7H{_tx~BB7wq-1)h?W7`@s0t%k-s%K|;`UimoUUwqeSY(LK$|@D{kz&T5S{+MZ z?*Zcrlj!nGV4!^*gT^P3$r2)Or_Gt5$Zu~4=IY^ZZ{a%I)0Ju8S*-R<3@!(T1}?N6 z;rD!DAwH|H8FCT;+o#NWG|C3hcYgx<%8XFe6ZK5R;?0OrkWv&w^FGHXCkHc&NKLnm zXG%Zp;XwV}v%kEY?)j&%r~Le(0MzSA5x|dM-HSpfE-t3mt4U5sNT4hxASS-2Fp51P zmk}3#p%5AAhI*<G+J(V<iR;J@(DkL&HU$nom;aLRnMqHOUktTHJRR1=AHc)H!tzE` zEVmyC3GEpm4oXZ7{bgwpp~Cqt0BinG)`v`OCC$ZOxF1cKSQ69XTF+I)2mXEm00tiW zbxMStBRC8~T>t*^Brla}epp)w)h=y=_nJ>l;oD5V=N<hR<Y~U~5lkK)9@<q-xW0L6 zMbX`Tk6-{xvs5l>oeJX%1hj1m*5FxBbft313#Svhf2Ky*7_TKXnFNyzl64P2hD}UN zF<W#|g3jjdJD&@3m~5ZS#^{w<enG+gMw>UgGyH1zRZxhU_X{wrCu_fdi-)4l$0mJA zTx9WjOr4blvZHK*fPw;sM~@!yyI;TY-Uj7>Kb=WjGULlbJ&DOYHU~5H@N<-lu*22f zZlSyDXiC#qNl`EDWa#qx{G;2+$>h{jhB7UW*Y@WcZ8`LeZ*x>vONK^4o_p8mMG|sy z5!rHSxe=mo-yUsGvJDtm`@1xrUc`1P(EtdOaCg48Ly!12Lo1>X_OTvKBwhZiGVN&X zV}=5H_nS-SD3`KP87ZyF*Rhh}>=x?yj%?Vvj}Sl>7<`*F4IQxMg#k^>rMas_3?Nwc zE^p@|M7N5)pugcmM~-GS$r_Wc%-M<gai-tLkFGb=Kd?sLtuS-FH85^HS7^-XJ~=)P z43qE)L-}{n-^GIR+C2U-Yaqb#i@jD@VbanviM9HSDSS?=Gm}R!P>kj6WGK&3$N^}I zIuvX0JfPUV^TAZPMVj@mZJ;a#Dqi|}Playfuw0SwUMeO)^OW6Aqrb`#u-j$y+e%_L zjZpBIntJOwj@B5(m9$>Je%;#ID!;bHTjznBoaH#5if*nQ4Gj0#*x1L9pG@7XMVA~2 zJe{_3WEovIrbNAyZ0+qI!@<ER=PSP!fZB0s<JMNgh$W`}iUPcMaoUk<oGtp3FX*aI zOgnV`P7QmYsrK?Mu8Z_<#ML_viq(cZroDQR;dv5CKY!YT>L7uj2d}{*CV9QkzvCdR zmUxQ#>iP5M$;nAr7@rgJSqHcVCd$pglaaLqe9!6q9r!pSBLgB3GUW%WCX_^gV$wrF zL1BBcJ|67$bas~J_OVZQPtM7c?xyk`_1q8tEN<B~v^#dlhAo4deM`N~)chk7T->(8 zl-fjAZ(2}?k$-^$T<k*S`^F7>m!%6n0asS<RVR7|26@_8>10;8h(!@L6KjM}BDUbP zt7Bn3y|hDUrF-z3n(M9hNp_9bQC2T-<`~4pR>3$gg)7NsCw|&Khavm>0k6BItQLQ` zEvzSZ4<0Mq2~GpQS!1FU#;Y*M@&X4rpPpfO_7ms90h0FNVS2r%qp+~vQGaO@&X#4! zTQ!#AV(q%^mNQbVZ_2cw8ra%98idFAWU==-^vGvBxuOH>-_Q^v@tFu8Os2PoeNJ<0 z*)a^1upd38-{z>Vx$8-IXY|`HEdq9zoqxM5m#dQZW!1;f$OzQD&}(n!{6VGN#rjNI z(d=V~c)Kh?3kWF!!-5QMYMxv-ETN}d**n_xZYX8DlbvfXpC1@?u&{7snnDF%h$@#i z4gdU90K?*kZ5IAbF^Ajrl*C9ZZ1CoK@f#tB$HTXBWFqOze+HVLqY{5Pmu~JMnr70d zWSmW4@#F>i4%F)=7)sQ#E4kyfTB2+HI=*2A3~yygsDQbk3W>KrA25K0hT`DRsY++p z)Wn$KgIT86Xox$t`C?!N^xwMUi?{(UO%>AUS?g-PZUt%;t?LFi6Rry{?$J9(;u>yf zkyhl<@lsJity0060l%)Gk44?4>zK{)_ktvp=ngb7|6r}ky;1|mB}kc>o%yL<s`iGh z*1uya&LogIq?suq0IFU;gk!%XPNk-JH%r?v(Y*|V!V(2+C`H6%so2>)1??2T-<-$% zxB8r)wC5ub$$QcENXwYd{6rIMs04Mff2`<I2o2J!XKyM1g5Cdd@Ppg!A(fO`VgIK6 zzg9Moo~9CpazGe;kH7&yHs>!W4rCK*S@nOX6aUun4mKkH4>N{)-};7=8hr4-pYr%w z35&#iG4G#{>2YM31gLHO=k@<rvI2p3{r_ewtW<Cl4I-XomqK5Sa}<d>P;ePP&NIwY z>Se1OU{R@;-pUou*R|uO(MhNBB4H~HqjnUqvlvWvWfI!H_449zP+xHER$HDA<MRR8 z%I8h@#^bGSs-h6>+QnYzIB^*4&drj-S!ijug^$SQcCYfzB6+_2N-nw92@hmL`MR~i z09>J(j(GnbZkalC1q9TL+JbWNg*rpZjQ@G)gJNUJ2Ltsw#Ei*};?pj>iG#_H;Njs_ zi*7z(cgV_D|56*t)4`ukt_UUJ;BT>cD=Ieh&8i=g4pQ>cF47ACDUHJNyq`M?x6ig) z@LJi{K)6^K@$j!qDizSw+1mP%Wmzn*8wKY@Q<SI_$5b+#Rd`Juh|sIb-?j9XKZ&JN zT{&2$kxt^_m~6PbokHwz2nU}R?_x7G4D8E&r-Wnmzw`5~wIgcrp?**lRVNhBL=H&% z8U9u%p`oE=smpVHDWqT<kPvg2QVyF^$`pd)b`+PLuIf$km-TgXzYih=yDWYwseGf( z+b9!kcFo$1?mDe|r_N)x>LLeAZE*IEu10IADMU8mWPHIdhpA~M)7?PmRWPghZgWP$ zcILonc{L1&QBmDHwb~sG0%h;+a^ksUZf_DAe3~$wu#?Skqr3FRYL}KIhG{OVWIERP z%uIw?&r|*O5yF>a8;8T_(ga+ozP>PEzQK1%KH1{@(T##f|NGn92u1!opip|fH$J}) zEy*bxQzmiQWPwKZ&M{}ZwZ5{K!$`;;Z8ukE8r5D@JG^D1)sXgo*6ET_r~QMU|9jLe zu(l^~^+Klx2PAT%9bdRP41hYa#3pbWOU`W}?kH;tV}o$MYw!DcTu<w2WasrRF)%Qi z#yJ|&+toOJ8yKX|<&?Xg&EqiX#!!d`Q|kU~5bR^@v!1NukkE^R;_zbV^w6@!WR-K| zV?mU`3b?z@7p<MkEd2(uC$#0}JDcrtd$a8p29X~`rSMsu_L;k4bDG|JBbtxvV)2tp z^{08hyBx77)RDTaZ~&-xFfLPgSlAOpw7un$GZP^3+EkEKIRYkYYI!P`%8W62b-Ru2 zo>l@Dr}G80A{Afld_-M$aeF(kf`~@Oo$#HBj!x=ut-pUXZ*J2_7YM_)H^0ty_^<68 z@lpio6+j*}D=c$lXKdyxNL@*7;eBp+V_E{j7lwKed;td`LotUv%42V9qJgbpypY9n zm%dMrw`0ISggq6G`>|P0|KD5!=(V!bPedgeIY9R@FtO=9YI-FZBRvC0fQi{RSAS)` zI7Q+MnEF^`WPO<-@lnUXJ0x)XV5O%Q1qD7fn~XByj$uIY1@L-~qY~iE0rC=eKYZFz z$6nsZT6-JSXAJUtHYW=!tKsC(igaSk^-czbk;CLl#t}McB8Rss)aC53@~f!{Mq@^! zS?QDwk|yprM`J)++2lQ1?J*nlYa6+^<eRFhNVl!ui{gjJ&~M)+1le)>;Nbh5=x86g zUdIG%Y-|x_<L{U1;`Wbu9R3XC{P#uGCI4Um&?0yor<STc5i56Rjl0S^z0}V5Kq#7b z0?m+4yDV%kq577FV5d&IW~p=0vPStI;Sc`s!Je6&QY<l+2upDX0r6zD8BIV0so_*; z&c^_Mqpx?iG~;oN6$AOAY%tB53jM9P@3nU@!wjId8Kwe-hlaNPW-cbx($YdjMRhyg zpJn)VwmYW;k%EDh6LQJaxvBv6EgV{DWcub7gr(W>`ui-?jgP_n+|5j_E7Pb4NRA?& zwYY;>{TlzeCxH_?ezkA&aF);2ar4hh;PwyB(Di$MuvAsJ$PD#0fi6hx2G;SSdHut( zml9nqx&i6(FW7aN4J}MMx5kT{Y5QeKNF__W7IAWwoup5z{6$x(1?DTPAR7~a@&#}2 z?9{nm*`1Ck9B*6*AZ(Z4?Runvd>^n72Gpm8jkD0#Hm4zg1W!y(vO52gN1dOpPQ|lG zX(ZoTtKtOtN13Bld-BFNLc#NR$`x|mj<rkAMVlFm8y?Dg1D&1+f?}<z3jJSINHMgk zUliLUl_nY<*ShXN&As*IV~+QHG@q+$oR^9pvt(r^E1W$`PJkqNsFWlA$=X|Vau&~3 zYs=AGB;TN%myY;7CPN>CytMK-cc#kB27gfz*(CFMq8a(Ks5ImXe-L{zSwVHtpm?;Y z!VJC{QD^T=wIejp@7}O?4nIn(w%oH(O0UT()O!;+G6~`T%yza?TkT6tvaD}vdiCqq zFL{DSPwGs7^B^H1?VFzETIIzN_2&aRP)pOoY}60sYAisp*<ZbCyo?xCE>Hzlq`CRo z!-o&$ixm-0iji@<9go_dq;!>j>m${ITp+I?CLlQ&vQNMf>)(A#$w?iT4)3Y-^VOl< zrEItk1jd+;tLcr!wZbxv;o-3;$mCUS?DlS-KYY|+JW@5;+SZYs*V}J$i^rh&`O>-3 zwEI+mUb}`@;$qE#^e=2qqnEj!X0<aqps4ZUOEY|cImvv52{BMGGPs>V$Vnx~$M2XE z@Fd_fKz;wdzuI$6w&X;a7PoY@=M6}WA-g?6YipbJ8!7U-y21zgU+rF9d)}>$H@x!U z|Aa0v)CWj+Ai8E9_x5(bJhu2!#6>}o48*k9yhiLF9g_zpCcYFp+sI^O(#XZ>R;5o@ zx{^J=Lj0<j^Gc5Cet=KN2htijZQAFBo=QymwV_mbuAu=|o+$We=Ob0I2#B!lb2C{& zQWA^#`cs#^DR{e8y`njRmx^UCj@J4*0Fx5)+o$E~S*2OsHF92{c>D`UU5Sf}e>KWR zJ9ncI?2t>BXSUdU^XQcPVbiKi5+S$SQ-PY(rlFx=TY(xDhlv-?T2o!6NuX8_DnoIJ zM{zWT{%4?G|6MOFjey?^VlDC$VGn<@pCJDFs_uB}2-}LwI$N|<><5;z^+ZW@UA5!j z*IlmG*7l$8x@{Tts<UiMojMJ<IdVc`GZA#>#x)u{qkpWM!=z&*XS8bNa||`Gu(0-P zJW?2@&#(w_Gk0CPD+JgrwBwg)`iqUm;Ve~(grmirf0h?hFQl2}L-SQ10wSXOcn;h> zaY=sVEnw)@d9{Ijop7LtuRxRCpwDj}?ze@NOx~)@3zZUr_I5FTw?F-$?s0&A9zYvQ zvN2kK4I8HRuwP$)$!Rm0vgrkHY#Zd{&ZjnicH2L6ec_P3VWuH@bmq-Drs}ji5RBD^ zjD3EM5DyaGkhl|Qu<Evw-O*P3E**fW5_P2+(-AhEX-w!wG#0mr{Em)nfCJG~Z2i)3 zd5PP#Im9OQ3KUqrsfN)yZOlCKCFiYqcR6FCS}>U}$W^^nwd+dk%bFQHTz23J@TAo= zv-kOvKT`ny<Qq4Svgc^29S^|3VQ8NltiV2*&A}2#<2kjg)^AX?e4$tcYk72Ha2?~$ z?{lbZRa<k4A`f^jKHJ;vhx6m0&H04AkKo=527Vu^haUh5aJF2^s{4Xt*m6e%X-Dfw z%ojVC^-R+aPC38??+xF1x%b=icpp=s<|M;4ZSH)ouKj%r;$w7lqkZ4jRw?xfD-Y*8 zD3N8k-G1j27oCq@^KBzKrG;7dDg%fWk{KWyiSd&MsD#`Pfmdhr)X`rfldG_GKO2gg zuCy&SIl`;hod_Q1VEV#tBYdZKm0imesSH9oi;*fglvO6_ikSvqfpPDfk+f{tR54>? z%Iv=6g@wouZk{?Ot7VCshq9y%9mSBg257DJ1Gi?>sp$zl>*@$65^-{3&+bqAbG-sM zbxCYM75(4*Nyimz>GO-(h2KHntfxvMal2LT)2o#3(xg$VO8F{z9{|D0xDvMo;~9?C z;m*`}rls-L8rj;mk7!6$dG4{ySK4I)?YCLYeC_hcw(fCxC|#Ry3g|;HZcP@zi-zDC zH!qFS>lBA)h$0W<)UOuIQAy$$^j*i2@Opd!lz`!tE6(Ibx7eUzd@O=<KUIdLtSjEu zwdL!~yck9el6tPYgDfLHHF|nSX4iwg9=$rEt84d*^0Np)UtM&(!L#C`yxsl6YlT#M zMqRizvYG_-FdP(bT$a*jUR*T@3N&=Iw+9nC#vhGW2;38o!VX8qIxeIH30{WU(<@=Y z;NiWyc;Z&C+wvqX!ODN`ezan`T89f5-tc<k`F_($+)R20qk)dVND{4OxsU>~oZ;vc zgLG1TOx3xY$Mwi-oviLX1lXPx7c(12x_mR#8b22MQiTMdQIo7e5pM5Z==iBMKf7On z*)GmImBKuTfRyn?Xxt|DPuhL_&MH&m3S&%&_rjtU6ih9m^~t>5mZv??(2pP!RD^EE zo-`%_IOgZDqgt*vDW5}((cADWZJ%R;j&QPJ?h1pOM`8W9a@Q{vzy4@1J~NVp7#q+d z5D@B@*2skNgyI>MzN{y>_M>Vu+ZhBeQ?Ty#?M%neDLrdD^g}>#*jN%h0S%ZhKB1k$ z_@fH$0Bu+3W`LvZ6tL<q=9wh)kRM=>k$ti{a+UaTe(nbF%C;YioqL<Zs;RU0yu&9+ zu7lOybl0}jjkRh?jp!uHX^`3bWC6%OH@3U<ZUG5k!j7lcxDC15Xkh0%&+62o=ejD~ zc<*!fei<_ZJj99BGSHSBC7o6uQ+r1K;HSye{B_Zuob}A%?pj|(3ZmQPF(Hg+t}IV6 z=P@#}X<M!gArZ>K#p5SPElsb;v9YOukZzAoLKXIaxWOA)Vk==tST9=0&bFsV8VLnu z&18TMrrY2p>h^}R+F|lL@BG~Er`T$$A<MtmOK-!I60HSvfMj5MD|KSyUUyPQxF5n1 zi`@Y&nV{qhhwH+=#EkYlRlbrIdGoVpGu21FlDJ(<E8ZzXR3Szg$_|TBm108o_*L#3 zg<c=Dl<yKP5U=%AP11UTc^G%gFADZPxgFk$opY@lPlLPn%g38@NNh^j(!J7(I@usc z%$a`db{UG#q_-$v!!4I~BUPM%z~iz+Zz73r*5B})JLcv4h&>rt!IoZ*^7`@B52qZ% zs!9igS!%hy)W)doGmZOPheBW|1=jNd#Q2~f*9k?oyp7(bxK@5b&XfF5<$<GFFZ@>k zWV-1@-Z`GW{8?JMe6ZYckL-=62Xe`#)qgZfjB>gw7SM9NO<6tqmVsrrs8a84yF9(7 zO+`t0Thwq{`=kdj26G#I$j%@5|9T7tol{j6hPpW)4Fr!DW>YRI#`aPb2rlNx!|wPY zls^$1NjZ9JR$q8V*9Mnipf2yXccNv{@aVw3xQv~KQ84xQ@7C#qO)sUCM}THI(-XS( z`gKsy`?_k5)w!#(UQlcJ%i|>0?z;*L&)0L)0=8G3y8~5DyoOLW{e0c}bLM^j%ZVd= zCiYEpEpmJ&_vNV)Bv7nX&Q*_trd`P~j+^(^EBk}J8`I4CA1Kg<jRu_`BO`go{|*Tc zf@^9Tkl*6<7J_?h-+T55%|vpaa)BJA!8~rqILl&aO}{7*MMH3m@0zi{wp?-nQIzs) zhBMWm{(3a8LY}$5A|%3CDx_B+-3m|U?gGAI<H|8D|M4>&)tiQ3=pA;u!|fp<tS?!x zW8ih?9wYW$0f+-NYsz{ynOhOZtS8!mz`XhF^=x5eWe~sr(ku$#A<D3g$Q5c=TwkrC z|K@k!4h#ySVr30p_$&|Oye?<!lx>ZFUGzdF!@Oii=dh+7P!tttW2>q;SJrk@*17EI z0h^C7SjlTD7lKrRh`IJavi2J+X4xH`i<|z&ky`s)m7G@_QEiI+dedGat8wDlO>0ci z{P6Pl8!2{n(P3Z>=Rg&!U5QFMh257`fPh(B(fd*-mjJh$=ci+TGv&=gM4H0HGw9P= zUrGpo4V)<iOE*en=hv1!qwN|C#WD{~s#je@*7~6jZWl|qy(z?>KYwltn|5`!9B-eZ z9X+gUj2O$G7XuZ#jZ-5&YU#u@N(<WiP(D(Z&;!NZ1N6ZwRePC$VQRhWTszu70(d}; z%Z6ArEA9)mtOo+MCzQ<0%y}(XOVNN?))uUi^s~HNk=*mLzY#>V_w-=E(oGlUfe^vE z>z5Z|NG4XO()S_hiutPW!LHiAGwES$Fd+KcZ}oX^j^zXugmHj`pFLOao+*P#p7z;V z3%8r^r~axsSeT?%bO1d;4GIYp$&_qpIQP=f(uiWqenJ(3pRQIZi}O<37nGslzMh%l zE7{g21FnJ;PsdP|7qi@RXntFfK`ECT)V?*>l7KVP8{(W7Om5t}TGMzML58@nIu-NF zA6dS}m}S%ZY<IG+CO=|7Q2hGZb~x7^8<?%C?aT`-OkXn)T6>?t*%r#;Fq+FHDz;h7 zeC5pU*O5JZkQ4LWg|t&*YtKKaat|9HU#@^iWxqc4+z(T)Q40cT3@w-4tWx8jH(DU% zxdQBJRl5nX^(|%(mo4A)_wQwwpZ=9X$;8b*p#ONz3Ru&hXCd-*z;%KNi?pa$TVfYz zahjYjG~82XJ_N`ORg2IS*kt}`io|x>8-hbYaV*q5G8*>mSJJGrezI%J=yaDOaCzy$ z?}5{F3H7FedPAC1_2zO%VSRx8yWD{4M8aFRyAu12w3pPVZEM{|@^&CvD{A>w?YV~; zZASk~Xn`D-D(Kz53Cx6cBj=M%pO$FfY!W{AQ~>Gb^f%ruu)LK^&a@%MN5=cz(aun- zm}19T*$PQadr8^eHrO2mmtPMQb9}fuquhtur1)J)zjvPn+5H(c@rETg{*gIj+^O1J zj{n2+VbdqBC{tt_4|RP!rK-wJHm$aYv)`LnZ!KVaaVz@<Z>{WF7lflNd#gHKd~r*w zDW3b(aO!}~s_l7nEu=F&T0ReGq;d3m-TTen_O6ZwH`H<|9U_03VJZ*F%yL`kE=c9^ zL1&J<=+$(^@UOlG{j3TA?=E$lSQ+)k9EhmbI0(cSo*O%JF9~7%uM8G&pWn)-r|vmw zwSWxz%uVm8`ycGL!R=o@NTL`h6)oHfxRVm~9SU*g%zOM@gDVN2c|hN421(n(;Q=Gn znl1eIe*|?j4)OH=1NMO5KqCKFR1?%vUf8oYr-s(n(x8^}JB^76FAh(Gw9o7%J7tV7 zlzoS>e@qAp#Tult6_iKpp66I&!96Oo-bhEU{~D+I;}}UR6)~b0TkB1}@8N$aXR;m~ z9Gq*PnD%W~pSxWdOZrM;V*?mb1n@rKewLJcH(Cp)2N-Pj5x|LC=daEd<hxkfcw=eR zKsOQ`cO2bYKvOi6O)>5Ip7RiT_|UkE<NKTGi481IkIb>t0HfQS^{E>g{!gA5M{{>M zdKFFxAYqg^NN#96O+PwIVd3Ih?nx|lLnUkv0cr&+_h2%*(5-K=VlxmrAms7F0rdro z-TtN~-$A3dgLNh-0F%+EGe-j5NFr;8$GP&Erk|$W(m)9SHN_4B!{UEvasXW?fL;r1 zERtl4Vs8ohg8UbX`7cfpP?mNab#6cR8neokMr=2z8W(2CxTK+{eRy@(p+Wi=M?vv( zx|T0!f$NxhvNchAW(SVkku9(+pD6W2&l}6n@bW)Q#L@@olo&<VP*<>^x2KupG%Pkx zdG&0x@n{@s?*+i4zn#_CYI_*5_0fzZ(D7j_NJGEDH;UIK55LIH0IjU_8f7>Eis743 z4%MBuR{3|6ytpzKn_jipJZw;C%o)!5(LL>K{`OmYn8o5y6p*;MPn5x-gTteG^Lkec z>V1(O<y%9AGM*shkiB_y;>_63c(~U6;cgk~(609qy_N6v{k))GsN3Lo_wDVU{&<?a zmQEMrR8#Uv?}FdjGD+Kl<o8DC87qYdQWL0Hvf1_VS6r9-17R~D&@}=2DetrO>crBT zR6uLE$CLrSe?HsLH}%Bog>D^p-DHppK%Zx(s~tBssp<;dSz3*lK?tx3IRJzo23pio zm$SnSEKNVnGw6XHwA^xU8_=2A1r9?6^?C`gU@$Qk={0}e_kIr4_V;fR6rO9Rmuu0< zrto!wx`OpgT_g|`$eRX!Ryu*7tjJ0?xzQ;c94KpKo^VJyRufM8DsQZC)8}sL5??eJ zXRun&$jGQYlo;wY+3N=E1i<of>gfS=)#3l5{}34!c9$n5t?AGCRo~Ytf`&UlOPyj` zS|ak_Xtz_LoxXX~@yp=@2<w&cn}=It`QL=wkT(w*g>ITYzFS6m{P-#04=$3m0M>^{ z&86f2j)6n>AUJ>R{kBBko$cRbE(t?CBmXR<H<yq0d^*zo%Z>4PIfWyKcgdF5{RDjc z9q2>@i<P7rwNf^^0yucrt@;IGG>x<>w0k8*{@}rb^O|<9k@MU~JoNMloQ}CQ{Ger9 zIZrp%&eBH;oW5#4QT1%r!%1qWFrpIOxdFNe|C`cPVmK+8G9`CFBrW|zbBE5weOFp> zwc3aVXb~zv6=h}j{dwFR4jGdEx%}RjF`)FG)BQGrRJ2gr#Y<^fi)hSBe1$f4<H{-x zH6mrG^&>Ja-NMX7qU1{6{`#T_wcK$1JlKu~dQGWdDJm97J~=*llE7{P`H7|3OjV@c z`QAF2PrvVoh?=WO-<hJ3C5v!Ja|C-y)Jl!ZXLE|GjivwbmEUPqg=J?VN;Z$@0qTcO zr~o*A+IFdRJJogTjX09lSa8JP<KqKc-`Y~jcY9}TZOv`(Mjl_!#0J{yY-j6YS8wz4 z={wVegw%>W@*>=IswE*pL_~nqVWUW)OlC#}3HyCmNz@~M-!r^TQ(K6en70wFv-aVB z;NOUSzoL4|$;k<rB$y;58RfeJ&1A6q%5Q#wI~jpE=ocMX5fc;ZN#qFtWVZ~8=ZPFf zoHw^;DBW@N!!Pk{cCuT?+CKsQ1W4ARW9r=wKue|831kM^rCSf81H-})^Z}d>vU;Ss z?Gi_uovzAqOKdW-M@=)6j)X!MB)|yD47q5wGlI5Tq-E;dE1l{k*OV&`PR=anq_L5k ziquOYfk&SDHa20!Lj=BHW3WsZVaO1%uWSrwcea0?DyNH;{KCtXsc_T&=FLZJfJ2iv z7D0xWs5?j#W#Bwt!R8`A9%vV|cT5*sudo6bD}l#5Ys@iErAQLg!Y#JO&_I8)gMq%j zZ*(b$Icflz*tl)4`yO(`?vRsKf>wEYf`Wpc(XuLf(^GPPB;j#b|L+AlmP|f40vw!= z>FLi@RpT_VH2|s({jWR|0IREbdGX)g?&($?EZo9xJ8a!<-;drO6L}0UzUrEqloAhC zdn}~n2c%Bc5<qPG0QD&=E7tRtRzc924h#T^po_RpVK(BR0!!y<Qe1Jjcw<FH1wbGy zC{F?1&>eJb-V-WEdQc-4ArWR44k|%G!P)!HX0TLiwM_PA>w%U<=J;+(?Wo?>6(Y0g z2!UyDN&yF)I_N~kW6<dVaC^1))-0M(tfYU(=f#iy^^f%1%Mw91x=0Faq`dLxxB*xh zF_M{=2o!Ouadkd7n*XzaGg}FJD=PZ#b_PPwtg4V!JiUpSzwe~|mn;H0xBpCQ0!{ub zfe<{#!5?;D(7oSZZ}x+;4yg9$&3N0=rLJD;iWpOZ*3e&>8l~WD7cKVX^TB1_a%>!& zH`3Cm&JBekfZG$}`r{P{%FlBZNB>-nz5|_*cJlHVzU>o$R~Str2N^o3fJX03LzS^Y zjgDVbD2m>u29mn<$YOwWQ|CS}U_}G$hlTB1Vo-1buBR1nf4u2AInm%hjAZ`=UnyVn zh!49xd<}>?Y%afl|Nf)De>$_zc<SHyxy3FMH}^-78_=qHoOw0>2OPhzhW{1gK+goT zQ0pHWFI6EOZ_T4~xpLtkBY<fxGoSSHxw$HK?VpDctP`7WGnO)aCXZPBf>a3j7oWli z!hwy^cBwwM(T6JRj-)I40|Orerp>4Xz0Q<eFE~7#fY}WO#-w9l07FTM&1d(B?SyE= zXz*7XZ#m|Fu|}Z(K^w_*3uiQnAM^q0mlGS+(Hm^pMiv(D6?2S%3Z5G(Ir6=c2hl|+ zIU5;BC&j|a(v=$bLINM(KRqgW?D<V;uSIviw?}3*sSRMotdG{xG#+0e02a)BJugt9 z<zVL4HkDqz&iC$SOzwuqtPo1h*Qopi^Z|;EYFE7!bCj)tnHn?_1N@g~W`)V9M7)8s zwWsSNX`l_feS2f`l+$jir>Pkp(9^QSBPpD=2E(3gac*k=k2?4ZIJccIOes^Yt)0~` z@e8%jg*;tJaaAtc;jU5OTLxa@off{I*ty--EY^aG)kIyLWl-M~*TQsab!z!o#uznm zbZ{}XMK?$ueVQj<|NXlOm5SL%Xsw55=1TC)eV%wZGT>}3<SJtCo7o;2fuJ$BSDiNu z1{g;KY@4n<DMI)Sa`naF)MagcNP<z$Q24>_Y<&RVncZ^K6_s}NcIw8_o!}>*kKLB| z$+eIZ+Ud8qIWa<XWDx?)h7*sEi3jk>1S8&U&B>^1sfiTX)*oyv)5IS2q;7-)Pj&4G zj=vDBL!qOi156<rwGKw6%ak2<#P>z;?{-$5`42r{3=B3s$<OrGqs1xDjgHlwHiroB zyXLF+n6mh!1G2KH$vg#{a!P659gDZeLrH)9U%QCtD}Cdw^AfN>+?L??I3}P2$IX$B z=Z4~@o?mpwWy?Cgx<FoGG2691M?CKo%#_OR4b-kM<^d)W<flSaUMH+|0`)&>bsF+7 zhsW?T6f-4DCdv!97WVFN)b6T3eRzwezqMN6z=jrEjy)J*RdIwGlP6#C`wtZbL_tB3 zk?~f9l2wM`H{5+GdW|X7-x)W_kL1xxI;i6s-lgCCQ2N&Ax-;I=0dJ#OCibQ^;;6k< z^W@7P3qh&88C(?J$%>BfUM-byCap1K;1yqO3}rH(o=G4Zv2$<?+Pz|8w;g)iDS?$N z1R<$0>UEc%+5urNB2ph46dg!M=lW_%Z+oU19di+rwsNg}@$~t-)8tKP<mpO@V~VCG zUQ3k8(ND88AMHjLHj%5qND+lfU7OGwZ^a73Mv&t-U5l17n`Ar>#w~3E@BEzb;t@<d ziqh?r9@Y_&(jI`G?y%fRyE<JLOLzBCh$ggoI}rsVayP6*CHFe?9kl$mWzymqeF*-Q zEeqzwv8tByb)oUu{76)$q`t2XIlzeEIy*bvt|w3c(fM_h`T<*zW6Mwp!D>%Z;zr{v zf(&U<K*m#c?jK(RUcGtqCh_+u>MIJE{g<7G9U9?4#v&j!RZwgy!Z$mh!<F<yW+s)N zpP$c<B|U}lLT{^U7HEttg51-Da6HEmQTc~FnJn9?VH-03^;9vb<!E7~+0I6}`6O!N z^$>wne17})gJB?5fz$#Ke|O-^DFR2G7^|C^oBKX`vb9P(R^y?<e*}e(jFdIDQBeo8 zfGHrjx}xlHO8!u3C&E1331_-$T4JLdB$3ATbOB*^-t!|I^x^XN6v6`rR5DiBTeP${ zZ;b!AhNWLW!!S1-`t#0hX)7WKJIf$zS(|{6Fax^NMG#;ID~5vhp*rll_H?y3jZdyJ z(i!=D^G%1VzPb5FLM771EdpT?k->V$_V`@+#gkJT=43Ml-|VOd`lYLl3loF)u}0g~ zo#4U{f-5^@HOJmRHH?CW);z|*cfZvrB`B-Bx5&C;$`z}1A}e+@zgbnv5(+9iQBqO8 zro>8@j7?h^<FdO&c>q7Z%8duJhSNGH{a2X4Qu%{k&0GBM_<)#NYR0&*_*`znW%F}E zg543Bpc4r$o$9MzO^dcYJ-!N2WhZu9ZKzS>DNFEvZ4}?5Pmh4cNOLS5*V9PK=Zt_q z?z-1;a~0v+&vtq{^-~Nl&1VwKyY_6{H;G{}^$J5cPHTteGQw#2x~fciT}mv2?>Ef( zT8+rvYK$M9PjVe@wA2%fjuYm8PC36EvvX=T4iHi(F`hd5ayMT0(zG{~8ed5N6=a7> zTzHQDB2for6>rtutu+u_KJ=5&jun|F_W7sEJG^&57LtI)%lI|=hu{P=xiq>k&{OvT z^n>ZvqsA0?UTkszg~CLdoq3OoJ-W$$504u2;R>oc0dEysweP}h4(2o5%f!ucDg1c= zc(MO1sq}7nN~X+mmIMxt$rtLcjH@(15h4+Ed(bk}`=D2r9tP}Q%i!~1J&%*N7Q_f< zryn{Mh7G+*2?>D$wP!{PUmG5yqljGTO&cEgtvK*Bn1xcTbZMk-Fom(@uepkHC`1mr zozP-@gUG|#viqLDctJ3zFc=sftZLz@BOm}$Exe;uda+>T;MX6njG*80eEI6T4`2kW zBWS{;Hqxno9!JU}g6eVHbc52G-ob_vK?PrrUquBcHD74QKIVsFw?$-rpY@>kA1<4J z{US*d^oN6Ojum|<&~l+A3CV!Co<IL)zt&ezLPmPOQkTGXq%CuD78Q@9eExD{>nLw& zdFdI}#;Sy;saPlh^q|t2PNC3?kVG)%Ad|CeYIwTD0<o@sCFEnCYN1Nao^sVp)jMJi zOXYx|AQsqH)g7Y1(9rfIF2Xd|Ov`+g#38_O6je4JL-?}(14M8HKS-iAbnTe*fKCrl zI2)<`;tW-_*(1C+J(U$Uvri&A<{Y-P$Me-{NWIG~{fQqydWe6m8_oKM^;b>-@^61E zjpcAVEdUK*?5DCg%S--rC4_y#HZ~)9dc=sQnF4amyws0C&=ooDG2U0t?eT|FQ3(zd z2m#MKT{)+W(D$A-aBwL4;nN8WCUmF$a_98ej0q>)xI2r~f$1bTM6M~=gz@~Cg+Acz zr@%lcFi;&vnITN~>=~x!lqQCyRrlD&#?~_ymS=KPY^65Sw$cRP?2Wm)wt+?X(%D-E zuJ|V<dQNHu+9-E4aw=00E&n|iWW5;wOXWE^?5pz@Ue&74bG718oBV?}{#MNst&dq) zifKEHW6ydvjs`}s7KYmBkf$46dn#`=E0G|<IUft5qS=S!<U+BPnPpl7{VDa2*ECRy ztv4(IRT)bpfcB0H8Acgp{QWy6)JrAn_v$GOMnFIaYz#IK`7Jpe7?5+A9?#Q5EKM=f zU!*WYy|Te*U7|EM_qwrLt*=E_XnZ~8$h^gsAL8jsZpxEdZkx2f)J7NBCZS&H05Qxp z-hEwCczVB9ME@QNu=l}@f5_+5S?l-*uk3Tapp=_xR4G<;Cm_n|%?J(&YZ;~E+IL(@ zQ?~67&f9v_lU5tk)=1HFa|lFy4}{b;Vuda8qTKeM9>tU9U|A{E6J2}Z3f(c)e|oaD zyfF-mH7e;!qL=u@E*cEQ;8<i;-|rz%0=-|_Zf<UQ7&3Y|OtwLfo@{o;iHHa-jRckc zP%S`)y`q(QKepya1|uLM%uVLw<b9Nrqp1Gf^N}7P-Wdy_IDh;}E<h51M%EU((WhSA zgRs`8`?-5@XBiR2kqw7Qf#hUsv<=A3mu@RjL^he6@Y3r-We<w<5KRfCfbV+KRSXk< z<KH!406&<mCpURm0P1z$%(%d+{^}OAv_6o|0Fu~fnjK9|&2yVS`Wn`GV+_o0KS+;{ zot|L@4P>m`?eoqa!N-=Hi6$rf*mqH&<ptjE0Pqs8S^CJh?B-&V7-DDD)8zw8R=Ssf zOn%}j1U&dFa2ADpwk|`mfaB{-0+mBN1SY)(#`R}7JUKZz1U!~6h}iQH-@n2ZYZv>u zGxOSo{y9ZPWO8!o<&#a}7dROz!1t}mMu{&ROrXGTU%vYB{9|PLGv29+_;M>tbKx&v zkj=j{09%~ynwILo^Zn&ZxAWiF@QA0cjg@h3A<r{ii$;(&KK98wN9VjBg%|;ZTPzHU zjN=}Lp8e}S_{qabwlxFbWksddC`6+|fktV|@Gy<sRC!sMe90RmjqO|S02X_FA$qN1 z7!eWC{?SRtsg0+yEzQZA&kC<t7+Lt%c!|%qf|7|`6`yu+<j*r6jRxiySQ`sPPavzW z>FMv^yrW3H5bDT4pu@n#%u$r?B^t$Dr8>bUy2OMEW<QeE*Dh9Ket0Gk)zm$W2$aMS zU|=&C?ahf0@Q<J^wLVPdeTV0~IikpOmpXgJV*G=2EMFrS=tq!DxDq_y34l*Sao!rY z`30+O0CGqz*>a0ukHQP76;j4S%X70=_Q@N*@K+Ik4(32sjv2{HL=kCW`5N6X&>>5; zp4$CO|4^=VVa1;DG#MYKU9U>`3LU=wg(CiB5(VVcvh#LnyIKlC0JS^{f84_Mq;l(n z9J$b9*NT-Wg`L9J@cGzZ_64g{k>U^4DpwMCo#VRfX!>3{*O3ML4e0klPBb8z$mfRt z9EkjcG!l(cqLcnMa*FTgo_%DORE!p=6RhuB@wr`{uXr9r+&f2BL%93*zRMtxWn05N zW)2K|fsXX>i+Y_gqoB|A$1osfCiWaWhJwPc2T#Gjm@7#!I4`L~(^Lmq?sxfR`T;}J z{XGA5L6)HiuPD0MfQw@0WO=!6@Z*UQHnt!g9r-@5iqPhz&SLo&woMNKFfW)ZV&N#h zD_!v)Am6m16QP@Hw$ttDFq(d^#l_|KRNZ(YYI1UT#01www{SlD==&|vW(^bduK4*~ zF>&1*v+YDcpYcO>5e=EUz^~JkY57vs-efc=C73`&<oP5AIIsBFU+BRHJ+qqL{#ZJr zvpF5N!ybHHA6@mG8X^$55iaFUt1p8y<B^L@-oNs_Kv`?<?ngl<n+Hy@g>6Sp!`j6G z*W}sWt%$!QE{X?%<vkSWb~X>)Pfg2~^39JeSO0O#z8_mB_kn5*@dYou{8I=+e|(;A zzyAc1uT=Fevz<c*VMxNxHf2aqM92qcTw-;#;@3Mw&IkMp2ysQ)j8;V&rH^js8u3A4 z@9j5_uz@lIC9rSt_|CSCG4~NMv9TFy#TvZEsta1ewzzQGq3Ye;nT8OLa^kP<!=^Cb zQO3MKOJZQ_5_8%#U6igtxT}O*KJ?a>6JG%zYkl4fw%rjboK#`sfRmJ>EvoUm_UtFE z(xdXNvBmsYZ7@ZzcWRvVRVwKHMCS01?MKjxlupuj=W%uOCco{D!{5)l?Vl~FS3SMG zAlQ=Fo+(Db3VLW*OduOxD*rON(Nu~OE1B0FS*O-HvLK0P8bY#VwB>eK544^geBPmN zY#l1A!`s|3O(W#`9{HJ((eqFun}}xkM=z}_fBt;c8AVlWG>sP6W=Kg*ZP;HZFi~Pt zs-1inoozm!1s@#$B3wd=+VuBuC8Q^vxbC~Z|M+9TTm9)cn{~T!^j)=?Qquc}N>r!+ zR9PgHFB$u08baGKFt%165TOO9oMs&Cg5uTA7J9L|_CSjQU!Ck|Kn<kkR$v-YqlbRK zUaKRE5Sj)C<lQ{ne(f-E<vVJH(D>Y*6I^1FiwMz%a)AJLeg5q-kidh%BE>%f2DxF+ zk3m91SL^A>G?8p!>*GBmdjQ*>Uz*n0;KKyHpmP{Gx!$#)3o57G405D+;Jg@Whss%= z!#mf#ncgyVY;2<#Mjawu-MJFyR5D$HQ>}I_*Vr~wns{D}kT$mqUJNEZM7(49K-RXc zm|$exy!&q%gYTdM8yOxCh-j>w;gykjQoZsX{*h7Z??v_H8lv`gYQS;l*47!LcqRx5 zil6~x=lnwO{cva^3<lJ+C~0V(v$E21wNP>>_LLAjLMIIbXSbLVa+zenqmfJn9AI~d zC@Eq0rwWS9>w2r~b~FvZBqSunrNuuNgan8BrKcNI7?nl?#qz(d7ey<ZguVyw-u<x9 zk=h;J7-w`~2|_|Tx7zV2vpa(5E>Cv@z$qt2oh5C^j({>x4#Mq(T75DY=*S}ho{pJ? zrLUJ+BJ7%HQBIrN6%+WT9@gEWC$`*xifySmE_TEF1OuRo8hxe8yEL5Cc*5xz6p`W; zeG{z&p#N?%yjPa-KDYo^MqOMH6WmL^bbemf9eOPv?DI#Em1@E3;Vc=P_5eWYy{S1d zANtM$d&<IsdA29;3c#Lht!RXt57|s*`#T1e42)FTk?TE9e7A_k>6e2w@I+Q<RTfs4 z0IW;kb$NcjmdyuC{JXrt$qLUXDIWrP!l;5gm0Idl0q-w66Wf3O{vH$*T~-&GFhC<{ zgDm4!)<-h2A3lHsw`(DX!u_+e<A1r?*w}!?De&`WjL90&BYeYO-;vg5E4e-jKPxLQ zA1v_Xl1^ZUTVr+iq|3<$Ykm=ks6IwR>l~=CZQ+$p=7)n}V3NHbKu`Zk%nsw_<po~8 z6>z^XF)%(C+@g{5qXt-@F|)CW`a{UL%tJnur+Wf07zVPxdbO#)WN~iUy&t;2R^q+9 zk$xvNas4Fcd8Cxhqrb9=D=v-Ga?^!NpHTY>?^|{e`kikPljHuuLEA{@uyJ=ogAW0_ z{!@}H9{so@dhtxf^UHJn^UsT3@cZb0*1BQ`8$`6qtj9DBYE=m7lKCMYEZAodOBjfJ zYH{DSmVTEIij#wLr+o)%8nT_LX;wPp%{?<D_bAGJA10S|OnteUmR6u-ENu=>o+RJj zUlUWoXAmPuS_#Di<4yGn@CKX=n$IaHO1=gh>Wt=QpSxTpmz2>aWnX|5x!!?EL;^NE z@I@KYf1oYkjOPEv1*(?F|G8l#El98_n1FEOET5T|0_s0M#=MWv{<*%7fpGQT2~{+r zhhhEurW_VLSkOPqKX4>L^)<S0;E0r@Bx^=XOJqy}?8%cb>19PFrDr%nkiM}g+I!zS zoPYjy1^;$T=8Zcw6%`@5h#w{)=BJ5-7vfP-tYM>g$Oii6p{*a?)Z-XiDE@M-z}gBf z+ReO)F#~tT0B`<(SbOWJs@k_}bR#Jeg3=`@C?O$8N=cV=NjFG$vk2)@TBMQg?k=Sf zq&AY$-3{mFdHlWKJI;8|8RvZC+yCgG_S!41nAg1K3@VM3G@zD{Ftg3ed$<v#tKIm= zndmMXgV#u8zz}FP-bBYF1WhL7T39|JAqj{6Fc_o%J#hJ*Qt;_qML|C7gL~n9enxF{ zUMSF~zoJ&-rX9Cg<v&fx<7QKB|3^uCS&@AwsdwP);6m-+KQ7;90Lp@pHxf}ukma=E zaL4!R3~sA`&ko)Dv%4nnfFblt$CT}xZkZHB*u!99!pRnr574jNfR7)A0jE%lQ9HLN zoUe&H-RpNEXcm`t5V4cq*x#q6Rq#Kz|0=7Y@t~=}S=jHQ3V<W+qi_mTtYqKMpM5N5 z;=1}5)|l~EnREgz162SyxbtG5VI)_OjO{WDVNw4P5QV})YIH${l`?aPL>9MXd{~wo z9>G~$-h4s|aeAQNHeoBf71CUD;hHejW{OSdr03-YYt&H8pXG&q%FZ?pQXQ8yzKnZ; zPtVKv+A=@gq~`9~5d^7mvTT(Za4^bkSN^@+;&@32;=&(HY;JcRuCKM~t>`moR%3;e zjDI%YooILv7LKvN=}xr5pcx*5*V|q#wCMr$O_Vqj0RA)JYsT6n)Db2o5)-~j6ASP< zIuiC~!&5Y7Xg!8@^txmCA0C~M(Qx*6@H>;ISq}}CtHH5~aLCDhhz6xt2FzF-j)e)? zb894fz_Jn=zjD4e(O@65$pZ0MzFBy+Wg=~u^0=(ZW!x{@kx@LoBXJ&}n1!*F1NHmI zPds8XpO(wo|M#JnKe@XL{8J(#uryT%KVSBz?B@VMw`%r{@gg5Tv3E};l0GIRsA<~W zij5Z+75R6EZ_Mu^KL7Lr|0y3Oj>%wMreIUzdDPwY0!HH<&3-vxOBn|43!sA4v9Pqt zdK8<8uGwUZ3NEb61#~7TB!q}f?ur0wY)nZ@$oj(IblRNB>2`4MuCGSq6&4f8G?b8v zjmU`;@E$cO5r}#w=-`0yE~P0fJA8vKY#=|i@I+?H7Gxlid?j>6Rs+-fNVRKTkHlmR z-_ZQ~sK&TAA}0i)^OmWF-N!m$%09D$@77>o9Hr-_Lq4T@;#2j*vJ2&@n3xz(#>Ttv zt^O!?G-G0tP?>bLIwT?{6c9p0i#)4u5{?S{p8G-#pEZ7yo=e^LPfSduzY^#PKUYa8 zW(`Z9mdCg`TI`uOs4x#th^V<d1N%|S(-l;)l0d13Qsd^~#eKluMmMO~cwXSi%KG}p zL2Xbp)M*1ReNavIUSGFm$K`wjGa|V$?Fira-zTS+4+IkNA|QDp2-+y%-t2Leppr|U zQap@LLK67rk0IxPy3b_ona2<T2?;8UnS(<_P3`@N3^?}}ZWmm$V(AeNp9W%k_f1=t zo7{_IRK8dBK}FHbT}DQxZa=1!As`pZU9&ii{?(jkmz3J#;t#f+1wn2H#PhZU9H)ee z@6=*FAODSHuX;4RgI^4N%g%nQ@uGj6eflk>0$!sBRZi41To;#%bf|>!;Rf1WpN6%q z(ObpuvE@gJ=nfD=K_JY~<UX09vFdal#Uw%1b}cpw?o^Juu5}C=?{2-}9nKN!A>GZ) z4xss_K-*0E+TLFAXrtJT&+G%;#nBp)WjZ^cca0R;^US!<f7$jbpXM;?$x_P0Rbw-u z>mQIFy%0xMP)=(58=9v&h`d2ataNbD1pyO;L^^8&U0tLi3w+GjDff9!l&Ry+{4Q1; zl6Y@FNbH@#pHi>&Y1s^&-9fci*2D^*L%df@N^ke_Jo<nsjKtCA6jA7kw0~S2O`~V3 z{?N@5^Q%|iM{cM=1-ca1!jdLSFtycS&asnmAiJzQtsNEf(VL*8)Whd#8p2HTC0cy( zRW#+hSg%)baL~)3`>(aXWiggMCj)Q~nk#fl4tFN&AKCv00HMk#Gz${WcI7w@2x>0) z55!+yH_Zp~!LHxz6B@dEWo09uKx8H^c=;HNztIA^vtP(plOo-_;azk;JJ{;9jb42W z>cJrKfsZJtct;Px)qC;iD*S8EL6|_AKdw=qAcr(Xwmu76d2JT!Yv?uJ`?r+R3?XG_ zVt*f&$TJNNoMl=cfd|HM)aY)6f79I&ku?GhT{}AbpYH8wY4M+b{R!soN&o!`;cwml z-!dZM1MmO*3MBkb1Nfgb`Z{j&URs?$7Z|bzxkv6SPPNF|u5XBh5gwDUv9TGl0IERS z@z;qx(5hMRz>Vt}n_A~5fVQ8aRbc!s*YkHN-i*KN|CqgV%r3}5U9GFIy&d6w1L1i~ zsWP=&rD;_gJf>A`CIxa-X?t%%9UK=pp*|dE@|o^Yf*Vfzo3Qr7@sSf%O}my)PA?mD z1jOJvu_pz+>|8(ofoH%m|5I64zA*L~U456HS@g2n`nL}-DxY8Q3ryfOVV@bV>s?eS z)J6cEG>vRR7@Wh}sJ{3`A`l*~ci09!#fw+?jN0A{PXoXP_M-%LBVuUw_LLm>S-l<7 z<}JrNEGqt8zt~&Vm#bFR*nX1L7vJi2^g`3IC1f3ob$($1p~kV;6kc4!kZl{?t=3}3 z+ure%+5SQrbUFIh*~g|c-{iBe^UG!49sH*jS&r4jgFTo1@-d29N`EpfeX`M(bugI= zHHWC8)ay5j1GGMl3{I+u?w)zVmoFKHKcXf}T@ecldyUmh^yH=Y=h<H0sS~*H?{^n9 za4e$>%ncq)H(EXdjdEX{|69tH!BoWE=d-n!dsr9n<DpMF;9<94;p*s_BLS;+zLr3& z`+Q{%qoQZ4XL4!0N#m}khIZ%tQoSxD*im4n&|Eq%_*<C?S&P?cC6e)s;ZFl2bk{So zIBl<<(cEz1z`%mtp+%R6l#UJs=pjLP4XcnqNb?MI+B@3oWaydVbUb*Rl$^A%y&V4e z<f$PG7$*uc;CFa^<c%QXjbO<XeM(DvKXXgWXu5<B{^uFfzx4`^y!H=egi<4DGtOmk z6&v(mb;p+{JIF9L>wW$!cDAC{sHiC4xqt|P`LC@Qo3q!asqI%_oE%sk$DTx*{E&<+ zT$!;zF2{;2wwvAdKp23Ygp4|kAA#rteWSm_%$Y4ApFSs}R$~}gn{4+A<3+mXquC!M z-=ep|AU4zN`e3kPrS<!FLWt*f7U6TTRls#nNSK0|1%LUC=Y_#Wj9K~ewBye~6X2H) zKD_yD^ECjaAA*_@uNt-K{@Y*q%EQH;JdZ0F0>BNQCi#o5G*4a&U$Nkw<(qwX-?cSD zn1G?-<CHUA!6NP|)@{{TOS`D}za{C564Pa4g9i^Dym7yP7&<PncZCpOK<Tx1!wU~K z@71MsQjy^p;^A_Oz?#iP_4+lQwKnSF(fR1wbkT!1yl-M7iU2_!&5I<=3~Q7UWVgp> zC^>`4QK9Q#+zp7?%)j-x6%-Wq*w<dZOW~p<V6`}7ZuB}P22%$ZtkLb5xJQ<(qok#} z2WY)0L(|v_g-*%SYRl#5prh;nou(aWW=LLij($g6_++^!D+~bEQhUeyLdo?yp*A3c z28Bd1EsBbWv`tRF7;VhAh>mXjPc(6*Rz+@=P33F*S?&^W+$E)U4+a+c?4rp5F`=AD zi|NMmKJ0~xbQRp<<;$10yF0w%P?kd7_9(r4Inv#bIwt1vlV~Diquw|K*ctz6w1%~E zHy!*^NT<pSj$%I1uy9-;fI-BD1Y~)*LgZshN+{l6{k*4~uOccf%`l77)b)#G2MrT5 zwhQR7gTqs^;sGo(AP{Ym_|FBXN&EKgn_&X-T{QXDAAc+R2nWKEUx+Et@GjA63fN#D zx2uuAC(v?ZHUw|5o8ndVE09a~-Lh<th2FXE%*Ol5*x9{0Iyy2eo5M!|UAug`KC<bD z?Cr&&)EZeP1_lhE9uj{nU#(e(!IH|Cg~xJvv_*f)<#i++pr$a8M(J1T3a0^-O_1tt z&@N-j<O(GrX(x-hI?U(qQd=u>5L`%(@BuYZuuBrp_H>X}JuE)wc|Kez@bhO%7`R&> z{<6&PfREDuJ?qHSw3O-pj$K9M6sT^ofm*6k!g4-rt$Z49cdn&pkhg)k*Xx-Dk7MVR z$RUf>m0A*)BT9|kxsy)cVw_sD9T7L=yd9QB9|!I-Whc00YsISRSS?Nf7DY(jXij^5 zebr3$^T<@+*w|Q$OA#sjAI6AYwku=mF|-;eQt?cJ6INPfF6-?W29x!!^sqG9x!D)S z>KL9EC*8%oJi6*{EaMEoE)|fm8CjS(shggl=yK>WQ>%4B0K<zi_X#UD3up`m%o9Zi z5??Dtj0_J8fH)XdPLXHVqFSOY6rRYg*8G78*dqELe;o(71Omwf<hjr{KA@4Fndv8^ z!I5rKLJraoE9lFC6D(Ee6l9t@6Dp)MB^sO1PQ}QLu5g2#3Ld+1!Ne%v+82Bez6J&5 zGWRJX>=~?yIc$$%LOby#y5FwF3vD(0vRl~NfVcpQ*UU#v?46%oeV@disg+ycgoTAO zJ02*33kQSU#hxp6LV!nz{ZOE`Jzq4cv(!>)&>h-o8A&&A=Nw20CIe2hK*gKUc=;ff zv-b80w_}<AQX$cq`{^7}cd1zi4bU|rmARdG4CtxCP<Z0&`9GXeC!}wm_o#aZpv>IZ z2?gU)+cgbs?3|XhAi^Z$7=n*UZre|^;H91u>|tM--z^g=vMRz_4_BF#c20MHLk1&P zBBnnp@8iEz|2UbT23F=C-!`8m-a*@dfk6Sv(vGNQDP17k#xHv7<L<oMr|;n4@Z>Ri zMHLiI$Kvm=l<2#Mz5DqgL7#@}UA-bjOG_&r6e@BSc=}25{1yeY>h02iBcXgXJw_o6 z4sY+~+8yTY<3o9say~y6tmvxH`t52YO%IWjvyr08a)XK{dyiLa*F9gkL_!eT=WpOc zuhVQo`j-3kl_Prh%{l6L2^<E2m&5ir9?WKQeA}0t*eJbT#_^5E-dZ5j&EHIcleZX{ zf&lnjEWd5Jxt-UMSnXMnS}?n3TTb;iS1j))^0783fBSJ9+Cw1%Sa1mUe<1+kU%;FG zt)anjpmY4!cY=b()Sw8Rd$066ha1W6k6?d*S8E~jBK<9f6bw92p2*{LoBRh@`26aw zjrsc$5C88_#Q*=o>u=q4$3MAyz3%=OtiSurpNa2!`Tt|@!_b4=YP-~<znVfuH2whT z9^mMFq>=gh$H@Y@SQ9$815mvpaSoWmTt@Ct62)wX{)bG!d{#B%23i$BDMAG}eC_QT zc|ar~<AgTA@_XKq$8HM!;)9fyx+A-;#ZLGBd||4#n8OIw$N$ousF7gMv4Xkhxe>16 zYz@+HQ+sXy;2cQ53v;am;0>caY2KyeG6xDkPg<}159gOx{ZS)#O*kidr~d=o97us_ zgBTW>$f!<Y`_G>WR-OgpML^FW5;#w;be)BKWP!rkx*ibVP!K$?@tQd+%T+I+0g9~t z2%g)z{Kk)gu{ELxBctU^BM#6(WJr@I;N^955(A#0BL!kiV<m931-%6|sM^CUd*A%l z&QFa&w8KqixJb%*(y3Y`G6f)yMou@qF|>XF$Zx9;3Ex^OpBB;60iV}j29xA&RB(NX z@rh^RzoT`e1hBalC=x8FW?ph2$EGy7FAlc>+pmIGDmEIcAz~@m3%6JI!TbP~|N7|B zo@+MrH82v@?RY0x<J4+#{Q*SE=>c1&kBMJ?#mxK>&aHaJcihciW8GR^QDosXQ^UI4 ztfi8*3p`L-FM~O@P^N!eXe?Eu0K%8;<;_br^Kt2Q+uZj>bko)5e#vlWBhyWeG>SMT zEgt~IgVc`>gqwt*1}_*446jFu9o;pd#!rq2rS6edXR9ZeF)vkB*44(61*E+3q*R}r zS)$=CE&&Rl_E^4_lwKj&H3z%4zUTHUl$3nrda3QD9zW~=Urd&fvEcB|yc$@9h-Q@? zZ_jaz+86ydZ1Be~Rv0!J=f_!3x8At$@bKY$M=4TX4-6Rd4m4DTcK?1GQ}}IQ_c2Mw z@OQL6)tAwsCGr(07I1imb`grp=?+;Og9d}SPNg9N1_tJEt~O{+M@U+XmZ~L;JijI; z3NXBT>&J~*YQ5WBa!s_Bsn<laHl0V}cGSzM!N3cU+(NY~u-G>w62c}@JkZ%mm?ae- z5FcM-k(?6<5#+0DAi{QL>q5cWD8u3D`UEQQlJV8z=Rs<^ui!fO>(^%?G28ui>M6Sl z{DJx1-PC1vKodN%my|3oM8lw7#fBC3zE2k$+NnL9X9v_cKae@!K6z*ur07%(=w^R| z*m4f&1DJH`@3GoH7|Yc|gsuIoq6flhP^9zjEU5mZ?K{h<`#uAd;gO=E2L@)>P;3jn zE~q!lOxyH<&?~Trzyd}~0glHT|4cT3C6+$eMFy@$9X-R5lVzScy#|WoHNsSFaWWd8 zVq%_c4pmpY1U9TpUs<Y+M&lSR0ofauoX-WOGZ!|r#mdYkprC+@`v}4{+{~cL1k|P6 zpJ%9;<R7Q(jr9a{c#u#7a~tRQLxAieNRKbTK8c#1yNe4FAWeCz+ZzjhD+mQFyEfZ# zY10S(<q3s@6tLR5!Y<&|IJ_7iw>FxI{l3a7Z;!~kchJ$Q1o__}N0l)%+&j<>_+*^6 zTS#ul>&QBg4*$`{sA93HF+A^S_ticR0OcRz;`(Cm@(ZM$JEAB@sbK^QQ)#>t7x%7K zdEZc1#|5DJStPF}<U=6cp-ld@yg8a07tBoh;syo=?vTSz4qeq8>izWv8YPVNPP@KX zmfUm}k>SDqaxXrLKZ_bTVr6Fm^<vo1vd#5PsAI&8+u``=Q&g0#@pNRdT`V2w>kvt4 zxaM621hPTgjOd9n3bj3LBWrX!#|=E8Xcxc4@kR%ieK3jp=_MC1in32$)vwwlE_`1m z$@p%nZg8OLZoqi=iqWV`L_mX~0^hB8D=qmtNj&g~VFCMS1lZcfdYfZ1J%rDs`O#SB zYbKP6pmsYU8ha=zEDWk6L~5zHm?C=Z#@embm>5G-GxNT<mkiC#nC#Cz1O5F4>0&da zr(Tsi;{D`}+|#&5J@WgKM+@#gObW<)rq+?n?c!o@|5Vg30P`Uckv|w?j1?aq6FF9W znCPs?k&WGP|L}os<Cm2;)N;Djr9(0yC`GU8_`XVCIh)OCXDY(~5Wn?0#67O;ZrpqQ zeFQKdvD_SY!Gt<ui(S)bRTi|FAesg`)tgIGNdyRd+NaOl(p+76|1XRJ1}sII1TdX9 zP(&Js_55Nr@$-n}PXlX@Ows=sm#D|mVv6Og)2)U_MnZm<c+Q+$Jm7|UVE@1#4C2BH zuRAW~o>2$u!Kd)4w6uU!kN9|8bTbf{vAx-H?f<fg0ccbSAj2F{7`zHkU1260SGJHF zt;Yw$sJEfFRl**cq~O2p9jMp{ut03`fDSg)yWSd@p%R+$;|5}pD%9`Z-`^LPmhSY0 z>K;6Kh{o(b$dCoULSqO~*BzSWwb5D%0E~KLQ=J+;GLWdAXgH;8hRyXv_yG3mhw(y$ zOP0)1_f;za|HF7NI{}HPJN41cN5Ij#YoOH!-*KMT=>V2Tthvhf3k8Q_Fv?1^`(LAy zAJKV6;Ff3y7M;wHS^MLudN95UBRb{*&3x!jm8^%jS6IN6R<t7kQ)!R~baMcW3F}G0 z22zyB@xO|5!328moX87Aw2sBBP#hAH2l2lc0Xs#j_#)-CJw85@hHoJG>D_e)p}M2X zQYIp@@BM@$Gb=|A&^x7+VCV)y9k%O>MzJ;V(7z<zBtD2Zg**j4RGU94Z<JK7`7Jon zJS6rjgK<UH6ZME-XF^xGTT&$r(HksG>n|tbof*tf03KY=Pm#X)<@GE($Zsn^cPb=n z@8DSAZ3dxOBxzUgvRTdT2lEH=c?#6(TQ#e0O9A0_tdC=>2xt-$@2wFL35uygvI|nO zccl*O2{kqH;zyTGF)^Y1dH)aK=}~eq1z=nrGB294a*+z&CHA%$Fs(y(d!dBpdghWQ z6FLrlk6|s{gQIHW^^Z{x@JAEg;|F@zB!j5?IYc2U8VBdXM??TruWt+GZsT^@;P-zj z(Q2wTAi(~mq>2eb*rDi@!08PM8TneStK}-q#IW<9A(T<5fYgJF?(U#qG^Vw5K!1>@ zvAf1-y{fdoe0K$)&mI0|KS03-!)P?tY;OFc(%gsWn3y7`gTDdyKqMuiSo`0)H{?mW zc+I~}n)(Zc8rY-Hjg8I7lYmi@vI0hAPzHsVsg2yfKl@5P_rHow@P_}4gZ_ylpk4jn zt}y?G-v5UJ6Y$^u-zr%yMpzu+MEkUru$b;W@!u}cRB7XHW#TaK18hK0!;2N$$t|$x zk6G8At}$LAUX^a{CcjY5R|-e~%`~Uefob-{VC}xaKQN%{N+=LC>&QqDiMzfgIlBi~ zBIQF+=Z{B5+xL86hXjLu@u>vlZ<-?kJlAJgQpn3wHuXc~@8^$+x8p^$`CbaxDxmy# z*!f9Ylc#5)?_0K{22(<HLfjs1khMPA89{Y4=Maz^)?m=7l4dmS%$+OM8%0Utch}a7 zAm?q!bRXJT`;|$sF=6>}uhfP?qZwiw<?H*u)p+B4pi`b4D-{Hs@!^&s*kmM;Kf5J7 zcP2$!d*$!xr0SKbql3{rdnPc~3cE8Z)&SDT{9xAFTQoYs(c1f(e&M>41e=!}=n6{= z4-domhG>rV_FKWnod@3l2MqWxGBdT%zo8niWk6bi0euaj+9G@ZT}A6F`%4r6vGxw& zSI`+C1KiQ&&-uffq15@^YxliTS^gi>v6f7@!KHWL;Dy`bO{RMSy8&@!Wu={c0-At; z0E{LgHEh174bTEw0XiyQ^+CCg@UH4>mO<65cTm^E@`;1d$3evcd+>+PI(rO&=~}LG zgG#n%+)E97KzRI7*<^j&tk&#+3_#AkjbHQ@@N&%S?Tfsb6rH-i%}LOKLNU5`o&xR3 z&Qz$N5DFxdn|HrK5V6d@hp}!FIdruHR9oRBY=S*l)oWv202L&mF$W|KAGM^9D2~Ls zbF+{q@Uj#98?_4yCIL_15(b!N_&|057QXRXq=dX_AI?#u5OHbG0HV;I)Y5Ib?R7UZ z+pDOrX4w{(T!%^Wg$dL*6SYLsRaSxZ#~b>f7pUWsMw$nHnrJR37%*K!!=Utzz{LX& z|7OrUPytrLC@JVHy1E|3Lxz0=@7erXTA=KG6{DizOcUoBR~r&%irKcYbw$dDXx>9L z@$r8dATF}lOiC5iDtWw3js5?1XHMAhR&BR7Bi6dEQUKu^QVKo~frb-HoQnm&84Lly zLK)QJPM7Jc77vOPd+YH=r9{(@zbCRI!jcCD!-ay8G}tW#?d<HbJwcu0ur-DQoT&vo zJV=4tb*aJSyF#_|s#Xqz#HTQU7mwRJ#~xDvZh5Y)P;B+Y$cSL1Ht%qunLXHvy9d*p zsMT*<JhxHbPJ|0(oq$5h=5qFBon!b0hlsRvrG@KqV(i^UObRMe8UUcUb_(<|Q6P{K z>H0{m7|p?~JNWW+C)34N3aB6xDS+|5N};b$IsyP<KP7y65*qmrw}cY*!cvxr$sQ*U zxLb^(&uR00A=v%5XM172d_m;Buz<q}?c77bkf!g%0Mre4r|r+7U}-o|;7Kbyt)|?u zM5jp<==2!%{lJxogSuLdT<^-cqPuc#S^o~J%B#qk_qs+0bgO{cNlr92WI9W0D=RF( zpgY}EonP9$t8u^~;?Q){aB;rkPXQsUZgpE-wd^zf4T5*aGt{vnbpqLxH(gN-DRc3$ zy~_Ez*V&jh34gp-5fHv~C*NUUR<pjsRDw1(5ZVg&kO(-9V1b6E3@|XjV7%PL;E@67 z26D&l9(V;*jhpxRd!t>|mMMRfvqLT6ny1H2x%ILlu^ILw>00)c)}stMm%s2o7;LSz z(Fw2cdh%*bI+-dz@ywaC{&#wxA_=Dr9e7tfbEbX$IL5b;v4Xg#X2QZNH4yT>in!y} zU4OUJf+2a6!JT!zf5VjW-s1ravhFXVCd<<u?d?xuCH0iED*+uBeR+T3`qJVUWVrj7 zn3yrrs+<gWMWP9)iE4}OyB7UJ?{0{rT~^rU?R4(J$-=^dxTNIUP@VT_*^V#ADvSMz ze|<>zN=BI?er}|c0|BeAFJBQ-hdPSM8iv#KP9h5cr+c!_ga?0619nQk^QGI&%<Qhc z86F>xD~cA6qI~#G>)`WedC;~AZgcCTQmPd=$p9o<DeL6u;8i>~m)n8w%&J*y%Usr6 zaq@JAc}|8rOvyQ9u&Z2|q|9R=+hbcb>RFr4*OT0bKp_Jtg6qQ5jeL%@K3&T6;>8^v zZgV!DzSj6OhXX=w28DV`<L|}bRDM9DEj8;yA$?<mh8rwg%nKMoCPPUbTU>()d#l1= zxln&GCK$kNx^b>cOH1hmIf1y;lJh|760}HvYfQb~XQ*H`b>Xzkz;OSb3<3bj4WT|2 zBT3K$xYc{8Tc-kw|7gyj?s|w(!mAMk2?>4aFYL&R!YtsKO(qE32z>3brn|PWp+6n7 z{z)>6kn=kh-|Q@%#d)j<%Y&_{2GnBn8Joqk9~j%4?1ddIOxmqRRrFEO(JU*GBe`;A zRO9u<{$K;fn2Tq@uzvd=8W3cLRZ5|UZD8;ytdb&liZxmJ0|B4`HCo`1(#Q-rGCDdg z{B-o+thuUs46Kmv#`5)()&6ClDYcv3{IuL7=M~kEU;<K41X8t=himo7z>>&9r&$+M z!1=gayuaPG#cUY`Hbs_}2^cAhe8rd1GdA`u-9xL@X#l9kZe9#jGsT2CT<yrJmhffK zK#j9lvng1^nSA+@Z&{>8=cLK9PY2+JVWp+wnocdjBsIHzcAd|k&G-J&0E|B_#=5zW zU-ItXOjPonQ1FEpOjskrR=8w@LBUt*(xu}<cBWGO+ovOE1UMW733J!pwmu4sNEW(_ zcB_khVLkE&kjeLOrULuS4KFV}^?uU9h$R-Q15%iP%-0WVKoJWFd^|kZ;dR>L0^;z@ z{%|htuili?~w9$+pvfBdy(vS~M$LHk>#AHsEgh7+ba=meL#i%>Z|chEuiEZ<xR zG`S-YVTBsJ*w2TwyNymYh%U<h7Y_yc4-w^G9*W2)&GB%)x+25-W)=Lo7H0x9|F>JS z&TM^_Ex)amFRwD>{kYfQ6_41E6Kfq$DI-!F(ejiMDdXidNIcyf-(J_h{>&iJ{Tr2> z({%+`LE%+*wZ%B0<L0Dp6<h@-&@g@rL>gN3+bdl^J(G~DSGq3^rM^Om&UyLCa`c;? zmcw?E)72ajvcbe`=Gnsw3A4HUBz}?A%Z+dzQ}_k}@Bu)OO}(Xe#u%kgG&)x{Q+-Xq z$6sx@=S`lgr-)p}vd`(Z0aODwiuSIIS2=-q#`o^@wZ!8S*ZiY5hR3{TC*0C4Nd$8^ zBIOqm1$G19T2P)rKmRba_)QI*F3-Kcd)|EGp0mObbSDOXzfi2kIJs_;)w={kzPptr z0P@+a_ln$c0O2(|-(Rf)-~l8XU;FsMHZUcHwK@c@508y?8VsRwI-Wd>Am^e9jSLTO zOOS6d*tx2^0|SfTHH(YqQg&Pw)8sJYAqP=m$c6I;D5-#a>mM77ce2HJ)-p-pc$l>M zmH~h1<oavv?HSe)CI+)(Z>0rbPY)mfaI7b(u3~{={`qALV={Zi*gtE6o}R^%PZ}t} z6pl>08Jzu-XXLzYVZd$U$Mi&fv0uxrqUQA~F%~(OH&BD^9iZ#a*ZPOW2GK1`FghBk z_iOG%r!+V7O;=tapHjF{asJ^~DpI)L5qK0^<y>v)H~un_ik*hsdB-))fajNSXwn-` z`IEzuXo82NS9fb4;4zt~p@+@4FK^zRgVvkhBjxG_SzH=dKhcD?+yoK5FOT7XH(;>V zI%_(X_O5wHQTrHPF9In}9&e+|_|P!wG$Dh4j#0kpQ(sj80D2KBwn80}oeAruxp*I! zKMRPkT<zD}m>V?RqM*V?;`0}ocbuOP;|da{0@=pj9s3Oq$)iY>mx&qnJ>%*rq1JhB zRx#Tq#zzh!guFko8cxYO&S>oymXDDJ650FTXv=;)Fp@HW+Hh5+Q<@(x;Cu$Or<}sy z#Sq8Z=DPkyA$3AcC*JYqxWHzd3<AtYu+1j1;T|9oFVPIit4+dS{}cO(12(^Jz#qe) z=d&1x4}-~IVvdz)JaXRQRjIdBiLuOi`8cC@2ybDn5yKw8STuY?c?2r1TGXhzJl?ry z@KlI%@Lgz;S~`OTPo)as=JHZxDqUP)gd8eN?sxs&KD>OD-E>PT`?&J_DuFlfZf+dK zN0)DI#KUKB>;RTiI2SA!e%o&OGd1Ohr!PG{wZx;MS-NaLOZpQVomY&ulux!@HwZoZ z*{0M(tyb@bI9+`~4UO6wopM5-r(PFq-901UCAB@oUXhAX&)FJH^w&&ym+$I29o~U> zc=%i?2xl~Vn4n7i9ygT4?FY8I45!ISNc?CY<>bcD^G>|B0>}Z41{QW?>+VTQUtEDo z0lMwa38KJ>60M$N^8?n%lU;bp!3h{&Ca?_1pS;59g-GP(M-t9fg=6(u8_2U|lYQ0| zO<v5Pz<T3eh63T$-Z=gMuTE<rF+<|isHl4;&rLXaXj6jYmEAQp8QdJU^Arl{wl_>i zX7cR%)=fO_76BUc2&ghMY?h~A7OJm=0is*)Gzo_^y`ANhE6m4wwjI7oOPX^-8NUn9 z&|iakm^B?*f@gVo5a#*?EJmre2}X-}PM<QrK=P7J>9F0PFdf|>n384{Ifu<p4Atas z^V;0Q`7H19XB{!e3~I0Td@uv8eaX3u(FXT(w$b|$-M*7+7d*m`sF95$<*o*%<`0Zm zz*dNjRtqB7RYOdjTOof$0+ci9-%364c7&=@5d>5Suih#OA;O)=g>~ha8$GUA>^Icd zKFFayf2Y%Xr0F3QYoFQcWeiA}c%avi9tcZ6R`Cwq;iw3cl|cs1tIz3UH0$jiDL$V@ zOf|uMovZPvf}l_|iu1n2;<KbT?nKEvl>wJkaLJy7t{qP?pP@*)VUA%T2PHPTTSyZJ z_T(MzQdv9&@pwu2=xTAA<gz57*e=bf`bgFcn5CY1Fb-+ghCB;KlEA(HF1hX_C~6iK zV@d2>0TXz*R-TNLn@KD~4Fkq$KS<_uUB7TtM^6OoXhKBy8Y+FaM@^XIvK?rXnr!gc z$72^ZPceWdVjF)=GrojERvsthaa6c<rc>vn;dG_E&Qoxh1FAK2#)jKWo0ANx-UE{y z$Y|pIZ*KO43RBEZ3H_kxPMa1dR3Ox;kU-ziqrUECY)gKy;r=NWz;EiFJ<4^)%}prf z7g#IL?x?i#dY^#;J|z3DBKe6-Y`df5dwH90*Jyw~?@_azXH#AYRSE++0ucEhxV<=< z>MnvzrpN)z1Oovdm2Zyf(!Z<>oS;7~m8&07ZsYe|)79|^Ta1j2F<>sII=PyB_N<Co z=M4R$`lQY0)U)L-WpCzkjt=tYm@aQlw5Bl{=Re)<o!%@F*?G`{+FXgwKL@ZKZ*_!} z3e~WF6)2-Xus28FUEp5dFR{&B=d!jVgKbY{t%`c<<c;`QpT5KGu<T$2;Vszbx_)W7 zfCE4ZZ?kJ~X`V~{F_xgFrv8ya_CYrd`;Jd%a7=mhNLo6)qH5@PV{(4NsYo}iBowd< z!TeuHQAlXqYjwu}gLoJbsDcS*qEy+Q`ULjEp_NM6Jf)D*y^<QmKri%ot%~(K#vx$B zA`eCzZ35EM6N%m{YQX=$Db3R+qW$@}(FG5Ui2{<ov418^h0_~f(XR8=sZYOx`zHS= z`PWIv9mSwPE|URrx=>wye|fgQS#@&L(ZkRam%Nnp^}4@cS5O5kcAFfNsV*nVLk^gR zCuIF*e0RyWJ?%Rl%o!NngXNZmn<XBYH&4y3UboUOlg(u(ce<p1*NRVl$x*TnCr6oj z;G$wZt^H$2SyFL;CR6i5vEDF%&<MHvsJ$ao*UT(Jf%+v5;p2M+QPePj;`z_&%?Xp7 zgv4uLiRJ;?^%<?$B_bYlO3QzN85!hj#9|*qtBhN6&rjD#8P_tAqw5gT>BEa_KK|Z; zI&eGj5Zt};MH{kbdkc?zeP@k=D(IB&l_1V#9IYA<<0UuMXcX94*=?SOs=C}P;@vI2 z=ZicFBhm}x3e_x6ehw5XevT;to-NhZVFhX^0jrpyVN5UAM~M4v7%3l&(Y%IozKb3v zu&zKYS77{FUAi??b@=Dcw^<>}as}D1@fmCtUExV5U?GmSMu(aql#-5)Tc{WaDuQ~i z!)y>8*z^`u4r%k<oE@I(eaimUI>ZkHIZa$bLiF(Vb!VTd^`}n>xe6&sN6A{W3baV; z=zReJDCa++$XB+u_rcs<S|$wV<{Vq2H)PY*F)3F5g!lV4OaBkYlqu&oITO;xb8Wk} zn0KtM<@h)5DD$Tv9r@yPh-HXYRdO7GT8B72{nmPSu)}~G&g?x`AxqQnQ5090HvjWO z_t5DHH7cBp%ISQ@N@a6eeVzAJv5b<Jc^?Ym&>?+QW%EzGZ*wPWo;)k>=bNL@d-jYq z+EDz}&YWXi@t|wXYU66M68SDy&R#O9Y$h*`dbas$HS*0^@v?y}Ja@?!=6yO#?)@ok z$HiTae+@I>o@0hVH2Rh6+5(dir6BM8MpVty<z46y_eLo2W4dZ&gv)8s4NPv{sVd_F zUJqSc!vqTAWaJ0nkGx76!>|Le-fm8WctvPR4AJtNhhGl)Jngpib8~D9+{JoZFp-!j zgYqqjE3m(xp>Z~!i<E5Z!S8ESn9y7=PpY1EARedeW80VHCO@iZF=b`3`_U;L)JPT& zZyqxf!u*hVR?suYO&^j)d*8JAd=jU&u_=YbhRBn{hENb;S(2D}O6UZu?L(?B9<Frl z&sTi?O7DB=;GQx2IoGuDT$GtntJzo@raoQ$%wWU84e4|PJy_}9^XFnmSX&=6&x?(2 zxH!p^y*cL40yG%|!8li3&KZ15>Cf3j@!Uu49I;Si1aV1jM3}fVpI@uhHVz5&(*nB6 zB5J68wPW<Q;8%vN0HXLe+)7J>8?JO&KgpuEZx?BgHsOf4c}Reby*52{WG^JeJ+v~u zwbbv4-9M0C)%+Cu%SA-I@xbE~G6pLMlt)4+r>s2q;653tkXvwq;mUVCoM|xk8T$J4 zbiT!&fZ;;}mmT(FbRIVI#mE(zYiNHWPHT;V6wN<5d8+zWqlx_5w?6ZF^QG;=qES+i zMC+_);1id<>M5&aI2A81VoM2Je?-Ik_Ga}V1`6VI%PcNPZf#BOUpQ^nIN3!lYSuI* z-QJB8pDqZUz^ko-2g%+)y|zN}y1r)Wq<;3*B8P+U;iFVT52Bv^gwFQMTj&yYuffq< zn64Z6ZI&6qGvncponDfwCYl=rn@?EH+bFT|QCw4Y;<5mlWS>-(FJ6dEv@JI{K0fJ9 z%+R>7X%+XC`wMjU18RC!)?EXjwT+f~M(eaSecH+T>k*y)f4BswKr*ZOc3<`5@ut~~ zV3qYP&RCunv!EArX37Q*ptYLpGUWG(ZCqvFfHD>3I$O3ZF|vO$X<%kXnfXwQ|4GeC zB-#=7{mvw_C0%a>S`&r+%lZKtgCH4k(QCJ=uo~OvG|8gz5ta{AU3v|9%)_)u-zQ_W z+}0ucbzHp7Q_?@I<~9AJI``q4peO(JCd-RLCj9;{ACqPvO^b*b#MBLK8hDIh3WZKZ znXwmpYyWBM4C(t#o`X+yyDkzF(t2}kizm<VgXMlL{pex8!)s!ZeKdF8AK^cyqMNuP zsj2(`DK`$ZDEXvNgp*t>`kkUIY#e`0;I`NEDW`}ZK<<Cz{yC_y2VOuY3SE%%k#IB> z3Q^K2Ovge}Mr8NE-^26a0V^wO_dVU5L^A_it(RtNc5T!Hg^p&{Cu&f^rLGoU+0Ngd zY{pX<Vy%07hl*2oAOX?~-u%{|pond4Kgq1_LEhWN)&&D2GTae+lig+^mrTgo<Ms1h z5u+T%!G-wOB)!}WAkR?cr@1^}mPhUegmMzVhiaVvhf2Jx>hJ!5863;MFZGD{er^QT z_;+*&m=N_l*!W(a&!3oQp^@<fdWao13%#ymc^ao*!q*oU!xku@qyBFCp;^yeGE!b! zq#v{rYR8+m^Xu#CX&#-=J8&EqU%X3s*BQzGGSJ<~*<eb_abrIIb%D)+1Jz>GVyW)_ zJteyWr9Wyb8==Bf(y3gSwi33S_+<VybDj+X?)K1fSDr>v^M6q1!u2{h0wH%AMT7{M z*eyc(kcG4f0RaX@8`69$2MX0U9kjQ;7nEswiU8;)((&RQQX?O$!M-@!_M1=BWxH=0 zam2HpaJsBHFL=-LR|)^pUiwquEkrxrI86*I)g77ek1&$B#!1Bpv_{kc=pGg#bm6Zz ziMpE({ATduS4{?*>B{M1fA1}o*QwR(62~zn1Xwqx1bluv>+|)idGMu1y>8;K#R}EQ zboY2C<IUssDWV4}GTnQps6te+x@VVusgiG&C0zMya>!D%%$Hns!|RwGn^Jzg@8f^x zsy(;NRlVruvHj=v+{{w8!dlT{9dZNLWaMx;?>TIHn~WJ+@aRkp15dEQnZ=RGLo_4- z$_8YL+Zo^yv;}r7gL4+kZb}^Y^41L)qWhK;xJ*#=9~s<TgKkegEd8=cLk6Z_d5E&I zvSDPr_)UIpLR6n0zu<VSEn%>Kc-nE}cPpT09SN>A2HA;K-bw|P6eJ<h_FYyKEH%^1 zt*q$(o_5StElDZUe1^YJP^SaFT=0G1M_b}A^ZB`93fTP4P6TkrT3n6g7s^wjVm;(j zDS3~nqciumr~I4Onzx(>*D3wCoH-FNgI2kz#YIFpsi}R#Z+@aYlBYx$Mu-PI2io_i zYS(L>USbN(qS0<br7+mZ2|AEd9XBK+FfjrD!K!H13^C#_3=l19E2mK5uOQ5`P%CFo zAxL^am)A2fIC^#dBX!{JIq5RsHZVqJHI@yGj(+-{&GNpxJMxX%DbLRDhQL(S8;kN} z@b%_vJ)-uvsG!Hk@0f+K5!){ecD5SH3>HSS)1tmYB=4(CF+YoYFVjPvL9zh`z!pX1 zWC{{^K?S@O013%<r^SA4tnO*Gh!qEqwwb;}kZkK_(X{^Mpg8D&UCK9HaXhJ}&*t8} zi*VW8t|<lF$EC7k$m)e$%kgFrSmwuo)w&+ifTCi5VGq0X>Jsl$UzW@2@0$J7*_H=n zP@kqJ0fC8&t1BfV<Lo32I}Mi5tSda@;Hq#czG!5_fzyc!YasCtHF$`eI%4jp>UQSt zz2)y)wrgZb<G3Pe44cuUuHL=M5rFLKNc}o|hg)kH%Xe0FJ65(q*$`CLq(mjyGEZ)b zJC9l<8v3+H|6!RUfde<MN51<~=>Ag(29qL?783qr1-6z-1#X*<H|Iwec44q=PZnIT zSJb|cIfAU;KQ!h7n_s<r1y)LZC1W*hj;ArN8r{f#{@i)Yt-51XjJEL$?|5U(SDL1) z?l69@r+%Q;>nWx(U4veG!or#Rt)7F$DKWd%w9j>5Mt_7(63c-(ydL=;@j0a57KI1% zez&bbnX9Vm!EHs%_5ri;4KK6T5h~$pE0jv^<R4xdP18u0?_c+9F~t*I?o!~Q)k#Mv zn~xKiM;w^XR^qswu6^|HQ<)zxa)`E<&nhS3yL5R$<-8>#S5gdce@>S*!kg*FM{a&? z8C7~8w)q<QAgh@WZC>uSA0rR~Sj_2WYO!Qa39UQpuZkD%L|Y%ll=;dA7$w3M9<OfB z>{*kNNK@2Exc!R1bImoI>jbZ~&%9?n{ry^mF`BXvVq&w9qj+D0e~C@r5ohVH%S<Sp z(x8x4?jo~lVkMJk@Wc7nSQW#Lrt+VvN2xaX^FuC=CZ?n8f9&q>8rni$accAtKZ~jF zx&)IvB_0^w$%(jl1k>JgyB>UlI!#6~-68S>d_J-|E-s)R#E##u6Eu8t-G5T_Ya@MP zUG7%}-80<#akqP!EDJQzKOR0N{V4J1IVBIzgD+oBf$WAp(g`|4IX_s?;`6-J1#^0s zcMJQC|FB05!dK#<X{hYYF8L1H@o`b4tNjYz`yBPdY(nlW-u@&$xQoTncNRi6mxodB zo<E_XL}B{ndY?6Ch{29j@tBO1EKQ{#y?@~K_)u*;f|!_CXzyW#u}*b&o3;;QvbLCX zyF};)Hu*5B-4_f4n!)aVSE-Q<^~~pe%df(cnNjTtJOV*(qle^X`M*6+N+xB|J9zVP zNYk6ZTty7X6eGY07`5666kA^H$a%bJLxf5EFhL)isx*rK;UW{BQyRT=osPKQml%F# zc%;<Xl`Ooe`W0_V75wJs6fc5Q*)O5CI{g93ZzCxE$hVU!Yij&N3%b_sSCrn$#Z2u> zz3LXSz5gTkIs?KsR3L)Q$6h#o`dT2|#9al0fk%LfmKOPa@}Nb_2#dtt!I8InGrSd% z_+s&US%Uu1h)_wDg)g{$7B{K+7r{*zy3*d&b-&8|SLdqY3Z=)&+q27GVm(-{ktn5x zmI;}1-xm~rKVV&9=+50|{p@v0juLqMI__)eP}GT)6;zzSX35trorIY#=iR0!C_ri6 zF_skXz}Vkqz0+Xc+ltVnS5n$BDPhlSIj9dZocD>PPSx7XORdrKFJCF_`@_w4-s3wL z(_Kve7@DbKcV-l!-5J6)?~<Rcx(ks<46$?w3DL=zEf+V)H%DvJqiQ=VD=1)g*%!}9 z5}6Fi@?uBkD-WC|M~6EHG=?JRUE3aY$^+kCyD_hIYJ(OKRori<45Z&M>YVdxCTWFi zF_oHN*ETdz>Tl9~OX3Ny(-{<mJ6Xyf3o>MPS2!^YHL#?H3wrCo-le?p=fY0ekJm}A zcii8`p400$F|eVb?sD;%a+ca#op#(Sn1g_h=Ibs%+XF7C->7<6l=(Nk@WHCuAG^A; z=890(ow*ikc~`ITtv>wkhOZb>C?dKJJIZut4V9cqJ_Zf&3{*!;K0`w@^{(2i5hzkv zy18c9n!dDdI}mLKaM=T;4|uOY@w(gG(QOwj9ELwYvM|BVE|{l4`CK))2!4_QnHjX? z*rlv=kFH}duN~VI{lO>`|CsEKt=o~kEpl?&XH8N{sSnDu)>%QH{xE5!qW4{D#iQ$` z?z=6+AF8PNbnFe@I50hZq*|;c)>L2hBvxE*pzqOVo|^#cYi^h~O39dr=G$_S>lM0K zaq&0dGzhM?zlvi|&pxu6D2DQiK`x~{ENr!?&DvK_cfQS4xiEH8;ZzIn_=pw>8n1W? z3-5Fn3?PDVM~Z@2YPH1v=MP=FLP4qd5Q5U_NhK$r{kD$fEMZI0@35pKP17;r!W+w{ z<JYkqs*xp_iuT%3b<6}Ub-Ts13c*M+h*x_(7e#UfW8eGx--3t_452%r4Eq{~yFlgD z&%%+NXRba|m%nEIoZo(8dZsQxAt{x5JS?-){B8`qrtX$s1DmU}M|Eo=pZ(QnvwWZo z6BtP3t94yMfeGY{zD?TY^4QtgL7t}I#r4k=%Xoqtytnd+V}JW}F3mo$SX@>%@O@GD zW=T^7P#{x(EVY|93jrlm8Wjc|vp3a84OwXSF}pcJ;}c1Trpw-x5F@j-cZCvs_IgeR zsFWS~sj7O*w<`F#OIiaDZZ)nS8Nd7L)8u|a90`ovh=7`|$ZqSC7qOCtM!$Oi*}wE) zHP%1Ou=%FRov7CBn2wnJpl9T%YeU`@$;HA^o+5tiUAYHY_(*28=NKH2f7+SXjcn8N z#KE6_Kz~y+Zped*>W+qdZ$<(-;+1Sj)-Kh2!M1aD&l~ue6Wzi`+7Q4wWz7zIMg9m4 zX*jn^g{S7KKRgFqoIef9YqMD|XV>OXR~4A_4LT#JtYs`_z7uHiRQdTek%8+hBq~bt z5j!P51VU}eU2UnVdA4e96?V0_7`<>QNw#*xog~xbUHj26?84>6A3H9O4=x5%*ez-^ z)?@o>NI<=wtl>1%OaM`sERueN^oQXqq|<ejJZbc%W*7VPiOul)La^E|P9%ea??eWb zZOy8Pmm<Vras|I027kowF)3~mfPGuNgu+BKyP&2p45hrSlg?@HU@oQ~nhBwEGtLt+ zfpeSi^Nl&_2227~lZw>{{bDnz)gDrNgT(r{uH=G{W~T#I=c0k+P};6@b^UEl$%?qU z5<Vp>ClRJZ7aKHFj~U&OGd~J=5$UBJ-$$O7ot!obw+@h)$rUKCkx!CAyT1bkt+8G~ z)kTUmjBzDr<bLfa3%#)gu0!|S_6RJp6oOxVt<m36J!E$KLzw%EE{vRmm@W$)`2V<2 zVPRuqH;!+-4kKZ0Zrumt&O7V4Gvj@Q=%rZpIFPL;X&>+H?X`xZ{uo*vnXf_V7#ze} z5{(ShF6klhL!qL)8L{7=p>HraPK17`HQL-~zs8eK+x~sjAl~pLz{jt>)cDx?llV6m z^Y0qsKWc<*)}5vH=cX#uDs{_5jwgz=0)e%W?qoy9{MMFldPjghaID6UmC91+PvLlA zz(=C7(QKivqQYLiI}^CD+j1W^ynYPW2i<mJVuAM@k5Le3erttGG!xJ@5J7zv74`@| zuwur+ZXIK-B(evU6CbM1sIKS@jaJ`8+p}`aeyPagv}eZy;v3uA*1_1bWI=oCp((k~ zV<lLQwwW0&jHwmKw@CLvnrfNr%OY-JGXQwN(h_!{K*=a2Ef?~-^R8gdXogIIF=xCR zPMu^{*ELPboA8=hw6+Jz&<xISDFVJnMaHB(5)8!;A(KBf_*3)m{hMK*gcegS2ks^j zd&<Y?3o9!jJkAGE1mwzeKy-C<tC836!*-(Lbk&#GSWFo5A}E|nRVN9iy2p|Tod0I8 zotYyPAs-j*+^qoj(^vf|?h&tQCg(_`R(fKhJX9a>=t!+X`57h2Jq9d}MN)k~L9mI) z{Ps84xNle^q_F9|Dlad82pSxx?J2N-<FuHA=gI^dF=e}RIX50k4(GjeS^`A;ZYL83 z1+aJNW-(cbP!?PUHtOj4F8{C^oc{?{wBg_-yCt8EeA*M)3Wt*vK(tquHk9dYK<5N{ zXqEMw&c@@G|57hUE^WEsrA&nCv>Nzgdj@i7spSMahWjlq{h(FXE6ZM`TqQcv5N_|> zwT@C}n^xeH9=2@I6Ye7`L-A2IISlkwOB75@Or}-uF<cKVfxG&Bmi^~8XOn`!+fQ%o z`$+c*2%EOAXm_iHr8b}n7uu+3z>?gBPW84g_)GQAL+&+T$;3)MQy9xv?xXXZdIeHZ zHv(qZ{f032FCg2Pk`BWFVr2=hWFA*GXA26JY4@H_`PBQ(#=$`#elT*DCQqT@(<c}7 z>x&Zr{P<*MBG#|atD3X@Pw1IpVWv_ZB@`>Uuy|#fBPQ{MWN360v7)`Fy(o(Q$c-1I zJh{%nXXye7s;g}#92}}3#;D})OYz*<RfEbCRCBPXs6oJViXM7Ws^Q+*&F_|-Nqr3f zyrdu*0X0)5L&I5)onG2O(uFog(kf9u{t0Wq)D||iN$avt=O7$rdSSf{adL5GIO{$q z<;6E=;HY7jF4D3OaW6tQr*Nbq7eetDNH6tMqG}^S^c`l(UE5RzwUOa}-CY?5xWoLM z55XzH!a7--%6x=H5zg+uLw!E0_KM#c3j^SUk#FI##?mpmcLkE`8+^rydbW_miq2`< zghZyhk{des*2x27(ymoo)3BuAPl<J;$ULOhBCi1}yoEZaYuhE8w;o61l>ms>TaPmG zukQQtqkDCUX8zFjQGfS)B?|6jEE!^UTDg+k`mAsxuuTBsN$`}Kr8<c4qF!&xzaN0P zY0p_%DuKEe-T7nCiQ=nkH@P_`aeB=xUT{OnSc=UFzO*`zn;#7+xjH%F`??)h<rY&f zR}0fb>#h5mbq^6RYIhA4Odw#-qF-I6YA|yaGQ~(zvs=UcM7@r~9Vf2#2~aS%LQ70! zg;ksw$BXBD(}gZb`c#Y5BL($5%X9~y{rR(^Z~uq<OzE_Dg74n7&^;EDX--02f!;5W z(p9rnMcEtB%2!*!{q}-W^?QmvC+kiH@&<p6xl9!QZe7SV_29b@3ZmB6Y;r>6FQU6* zHwEE&7rMgJyLKaX&f0=QNRA&aV_ZDU!*ITS3cEP|KxADbEzKRyNCtnxx35%o8P1I# zxSz@2no3el9EoQVaWJ~!aCX!4IsrO5?-A#Ph~#?=1_u2_i$r^;lsvc$?mdBFk#YHG zxs&s{56nz6*EkK(4p!0iTSKC0(44>>`dp?Kbk?b;c73U1V@K!qTwl*#`{#eEo&N#G zJmI}SZOa(c%2SA4b2qT^nxU(k-`byq-oj&!8WMGESM#Y#k|#Ze(EX7o>c53t-rXaQ zU+dh}(96LBjLxss<RWu53ly@@<8CWSJ?~w{IKCK)ftKP_wo5{s9ScrQD_z}{yVhjq zI!u<b;~ifZ258cBv@<<7xccMzz2BpnsWnew3R98B!xvy6sq3{yMWtMjHnf_-EK>BN zj<wt1CS$qQbG7)#Np+Zcj!W;ss)lQ{)3Sp4KkB<8F8M%W#!cnt&z~s`f94Kzb>_&K z2{9&dzc^ny^qdrZa!YBkh;cqa=W$p+;>L|qNV(LBNW~khGZPtzl&13&&GamehBSG) zI?nHI`w-vz0#y0TCp#Z_K5|@~cB|SSSk>?++hMg7PU%*Y#gYMz`<Dd++s#3;tI~s- za;(+5RxXZ#v8&uMI_Z=f$1hzf<F!s9frocoNxb_&zaYOg<rJWf0Cc?i3p!3HLjMhP zj3tZLV?z*z@I+&Kt?sZjn83e?S<%n<D*bYi@ub6_VF1DLC#!chQ_W{78tFM~RaYU} z<<L+X*SiB|aX$Me0F@ndiOg}`DeQti?yyx!*Hn9e`GDWhSn>SlXK-RU7R#}`gDgTD zz>LAoQ3SMfPogDkcdn?f%B)z6p*e9OZ~$jpOX)!~Wdwpv^+0HGaX#JP%>3}(8YW7` z^0{)}RsiiIzP2Fw1sE((*w?F#clcQ=_WN*rv52lG`kRbv4sI}SO~xJ)M7NHXw!ZHJ z$^Z?5Lf!;c7im06`^<#TpboY`#+vcK`*-CmWeaAGxAu)9E{Q?j^3akoA-vK8-&@-! zdH&CucW8XE?yp2lP_4l&EdGO+*e|IZZG4`%x$5dWTdu(rmugTn_3&zD%Cz2P%vJh< ztXlHB6$AvL%{V6p#lskA@a49-joL%vvvHB}Yf_8JMlx$`bQbN3o-Yle+2e7tj@BM5 zUPv%q5KRCpd?p;2U?y4|)@EFM>N7;!oO^&tG8U*(&~@Y2Q)&b!CnVR1j_W*UD_)(u z#LhHmm?*U!#WFp5Uuk|#XY6?%UUrK>$qTmA_d#zI@_X(^NZ!BOB0}v+n>in4?)Eq# zcN0EsO(fOEf$<uq>zvs0FC_1kb`h;}>OTb;)<RzYS6$Z`)l|1_550&;?;xV0f>Nc0 zYN!Gt2m(UrB1n^#NI#$=ApKJWks>IH^xl*zy+`T2_YMIBfw!aIckdnVzIT3PFh)qu zIXQdpwf3BI%_YxBCXm%II>PS!`mRbf>2$R7^x1s_$Ds4f5|gft4|nW^xX1)@6y4TM zwbeLWL=Op%<x1IDTa9mro#aI>*h^yvGWqo?P!94(vP%^bibu>wH$JyCj(@J6u$vqF z>dDmFJ=Z{xzPLn|cq8-!JDJO`R(%%p%h!`W6cIh>iU#)&hN#RWwE|B;#+u2{dD$ZY zxnvRM>8iNX(t#Wx;;^)tpc1sd=-={@v*xO^5qMT@=Ig%FJv6nIx^rfc!se1HXoGTQ zQj~e3A-)$cf3x~ILEy_B+amN}%Aq}>l;K*u7+*myNZxz=uw){ish|z@BLo;EsiuiW z5DbkUprc>CBFxqzgQC>ZfV)>?Sh<Ff>o4~YqZLnUi4Ki8-XhNh-9`(x#}%@?Z|qV! z81-i1=-Ue^gA^<-H61FFO#!@rvt{9PaHw=hU#@uJkYU4{OQ8pUwFzPBIND7%I1we@ z+09i~S%-UuDx4Q7tKtqAL7yp=Fv_MixRR`+#1p0COU2R64pxh>#Oq`~fNAkde^T4= z-Cmxq_mWnxcfE#&hi|;^wcL4jZvehbiN)SbUz&_y&L|^-o)Hqn6Yo!MU>E3c26wXU zpVyf#J?j-Vo7mfbxZ&(W8(vw#+Q#mUR(!ogt>2(kf08O6r0EbuT|9REbz40pY<rq5 zOGcRM=0h?Fx|7donwJ|;Od*=TRc|<AkoJBw^brH=Q#}W=r?vjcT4BoHaWL(aH1$KN z*v;up9ZAn+Zlm4>o2=ov2BBsp%3mC^1aN&<y@nHktu_v;)m=9w{5S%?WGl_y459ZI z^Rb(#i`iDwx`}jEr=$A|H2i~ax8Vizp@+^cE{z+J@_gMkuIhL4Ej<jYB{!d)rur7h zKd<x2$t1KXb<5(v_>DcD<%;qzlV4`X&u!|-;5BC!XQ}v$k`%ZVdP3fpInVk8Os`k% zQ6GPC?koHFm+oIeu074jLy-H&$+@usKExTmilBT{eTd0#b!-8sW6kqmPC%e~laYvs zihv7av?@2eQ1`l7wmV&{x&3QoaPz1~v8R8-Y+$rny)E`Dt>2Lq{VP63SJ#+<3P-_s z@m(UWl~l_A!at&qM%$X}W9<8Na-FWJU8K|7-cp*0sGc;2tEr)Pwftz>*eHjrN8Rjs zPKp<RXfs8}KF?<SoZfbZosI)!E(9%$J1J`A(D4;he%a+vKtJk2TK!)Li9Ty)+4lXC z-2aWXDDPUg49xZETd04Z+boMG-Jgua8K>xfj)vd72?RG~+nXA4xAE#Ku4mDGpmNU) zq|A^%pk>`rbn#*j$)R-PPfV}W8ILt8wNsDPkrx==JI&7RU&1|3$ML1RmrMFd(V<7U zItHtH%v|=r^RiI+qbwsi(4;8F$YVHLVu9wdqr}d09~TyXMP_k@w6;K%T;xjeXu1Pz zmc5`rr7(r_?PlLmt7Jb#PAuttC<$@nv^Wx0_=wJ6_^W36SilnXR6kcGVookK$Kl3N zYb0G?WRq2k)Nk{bm`iCDB$Ah;*>TGUglC*a<HfD`s(yKKk)HAS;b06oV_a%CXwO;< zN{qke4YO>b|2Lf#Ck#8P&{pbr(*K*a0xh(ebwAyz{VF&=HCh_PWOVY@S|jQ;=2Qn; z=`*B7P|S&Oi1EXR`}Wfx32}1!3q-*Alm6V%lT#eI`q^w%C%a_rC$3e411dfu995@% zKoy8|Sy`E7$B-E)1iQF0TG*fJYW%${TCf6RM@9yFOOM>F4hjp?1ki?6IoJ><?tE$N zlKA2DZE&z<YO78XA*sL@ZQl4wr_l-&@35iA1eZZ}O+!gs_R_D*FbN|)dOz7^vt`3K zjoRIdv-6{=0tzXj;w!@dkU}}JulXxMW?|@Jqi`1qZYaIiE?5Z}YAM=(>;i_8MwKxf z2o~L`@MB+R0UVFG%1RB6{b3r{??EJ(LR0D_YX?uyy)3npyZ^886H@jJInv48)=@O< z?1C<7jZ3RcLL_#2yggJ5id3@FHl)F4u5-880X)l6Q&((g2sc<?!aOs)T+4p?lN{nQ z4Zx;Y<ohyu$ipk)3Z#JkMAec&LGK>7QdKfN=_q~a_a!Q}g$>)vhiE%;l2o4Q%i5qd z3RUC~8<p3zhieECG2uCpyQSf?k7Fb(1kqPSxHLMW|HP5}AyItGsJ<-Irzb}htsd=T zV+21QXek5NmUsG}H-_WKL6t8L3l-`9&qE8h`@|5;Ep?INRF!Ek=sf~K2c%>cJp($< zZf=T}NV>*I*2wMoE@r8cv`wf65UDjke$c0!JIV)zPVI@Z%xtGm>P%^a>v?>{_V`id zK8z5+DcF7$Eqy{R>u1coc%56KWOdRA2)i3jTGUku+ZW|nf4T$^n^(pzr+}{BEYfx( zFg-=hQg5c!;Vvgr0~3Oq;k|0a4X*<eK-x95p1qEk^@bp}7dMq|=owhn)EqYwCzrb# zpZgD}q4Ogl1o)YW^}T}p2vBzmq#SD_EgD;%dY{9<s0wX6^%4LA+4`Y^b=63Hj8@95 z*HePEwVcLhJ*Q$uHQ`;>*r>2bc@Dx#t)LGx3?IfT$r80f#k1olQA^4*d@)QNA>{+= zQ|*I#2~uw<K^lt5Ev+Y8r&ij}QU(L%!nWS4l@*i%w|{1+==XJCC5=kp)Q~B;Xus@o z@u99B>SzB9IFIwX>GR&kqFtOO_!7W<7zy_IgE-zE2N%|R2=tkT2I|-qy!&CFkHCn$ z8d|y3+JL-*==WrP`;wVGxpw}+d`NuEFUrN$MP0iBph}1kkr*+UmG#Cd>yr#FdGij( zAyh#c&6B#-Xx9b3YMUiLeM<R`W$NZY*x-*zK$|n&GEOy)U0c8wN<aT9N(@EOB>VRp z7mKaIL&o_&)~50p%*LaING=nvchP26sISfhZdD16F&@yn6Mt<bhoP`gW`U^@c)t6y zThpCnX<7E=lM(+!X$-4;sb8fSC_K1Tf?YnlI?%mXly35+WU~;IhZ~r|fxz7d`KezP z+xMkH;>p2o?W9$Z^US_Q7^gfF5BBAkTPPTnFgZIL2wFZ)=MTh5ennMRDTA%%Wg28| z|MX-g?Z^m<cI4B9X#Nf<(E$k#k0JmL)r$;MhqcOQie*;G#!h&+6OQ?uX94pasAA6D z7{yBGz08;46{jG2;*I2cS%<|Em>}Nz{aF4#fCBh8QjlEaq1E1?j{>cX;uz(aoMKSh zb3+gd*NOoDs^P^qpHjg#<HCg`WObEi|9AY?-P*Bsa?t2|eJAZXP#T677B)C??RlKF z3n#@2Q{Y85KraN~+MN|_%f4o16XWCdPiWalCFSW3i6<_LTVhs(C1pn;4VF|e>qu_5 zh;9+->CUkTl|!Sa+_Wv{7=kyAa8<UZ*_R*%Zkjst?r$6BWJ&MaPhYcVIBsvVxnbWu zQ9X>cU8N_C)+Q_;An3@z)h`;WYL*D2Bai_soOYGgS%M6~*s8t>9(ho}LrW{`m^MU^ zo>!`hbd{;M6b7xAEK{vEu!r!s05XcQnk3oo6i3x*>MW9N=Ber1DieTFXCC|nmgDxt z!muw}`Z@a)_Wiln&@vtyZJNndzCxEBXrPJQaQK|N!ezik3wB)BX0`46dgVE__n9L_ zQU;?Wz<cSaMq1q2zn~c}NfLuH5w`fQr1s&CRbrP4{2Y|KpA#0QfI&_qg9Z5b_{7+# zcQAr2kl8f-$t-`YB6$AGxm5z%UA0&OyJEK15!7^km^UkcmWt9xUISd+=VUsUe7XNe znU&r6@%eP!;U+`X_xk5&9r&segb8S%pooN;9N7~il<6xmSm_<C#yzLWPDVtfCiU{g zc)w$(!7+d-;Qx(Nyj>9$KgSB}`|B#hzK)uP-28-1vtqBml*HHfH7+z;GRNdgz&9Q2 zzRyk&jYfT$*D9%>5pKce{=+7|78yqC-gq1fLm%_0IZdRNlYqGDTEJ~|E?u}|%TOyw zpRNt>a{Eku8pyXli&>L3FX@<uDVL}F<#~jJikRoR;>ol1gWxmD7F|_}fhDCEI)5eg z;beTSvjvPI%!ea<BRleEk3y7r^l<5@85X)|s<Xw0`V#{=qVki~JGLwGC(=egcfJ{i zKd6I<avmhqRx@vPYP{FA^lm+4J55iiTF$=4zs|kcD8J#FVN$Pldt81VhMSh<h&HsQ z%exoRl5a53X8(ye08OP{knoi8nF{qWo>Foy=06a{4<hUj-l#T{(@Z_y$kWMe1688m z_uDJe#;-Lb4wur(Nv(TInwpyK?``<?WNa=7?g;k7tku~^r^DH<^A$xl$upy~@<iM= zA%*03V}?5&JOI6fV1Lcmd(XRG-!f~!E%$4PoYo^<>d6ir@5`y(7oNT~hBQu7XKa5X z!A@|C?L2No%E7RdRxzkDbT{|0g2FU(^<D{!3Bp|wgL&P8-qkLgyOnRgi3CJaMvV)Q zG1OmdNHJZFP4RIyww>k;2M$t};JsD{&xiXGPWLiE2^u_QGMaHDi-oNvG~aAcfIW$z zj?`U;G1I%k2S4^UfHcIKlM+lHl7|KYF=%p-$?Fkk$`Wl1r?uq?Tb{2n-j#J4DGQK( zyrz)b|LseB?B*LsG5dpwIba3LR$vHj7LZE#?s}UTD;YJ0=g&x|-!^C@-$dyl0QS03 z4fo1h%oVXdNKQ8R_KEcQY2ULIWP(>b4o6GFODCzxmm}44awJ`49x+G0)E(2{#qSx` zqEhgkP`XS51}ZLoFJr&^9?NuKiAS`ZaZ7ivJIq7^stbaSPaioS^jryT4RN?zT_p=- z0C^Wh*1rtp`|^KCnimWzF;{9^Z-o)WZ}WGWgZ^m4Xl2Q=UPGF4o|M4NpfTv1yu$v> zXYK!oKT$0epPiYh(Ms_T3JMawxmPr`2{;b>Y}0RL!qcaEhJoVZV@F&ou{p_v=^$rj ze^%pEphn(eZt$hnSie$+lSJ82<x?;d5%f_r@d=0}6T@lawf%dHREHC?K9Vcvp&I=6 zWCaFELq|)8?2*1;xk~>z6$*$IiFAN_@!tALNPDI+Mm;S~_7PK~k2n*Q=d_9lW0fHN zHpWS6W5Z0vDb4`QrG<B`a}t`FR!1L`KiXLj&z;i*?pj(>L1ujpm*M5SX3DrCeDLJS zFwEMeqk#+$Iz*^gBq1&?F3A5TJ@0vb{!==aA}srp5(n}fFZmg5F8qW`zdKoApC}KM z*t0*cJV_E$^yEp3>Ne*<c#wm)7}E<+l8^FqFL!U<T^>`v*(ZS+VcGB5xv}5V0(O5Q z$D3QN-XG&0i#>u9G`)5}W7$V%l((5WqTLa+<HsA<<~rkpKtXC~6Z`dzTl?Z3BrYMs z!NFlQA@ta|6YH_<lM8fL?0Pe-vkp6^($uu%0;^9(gNm0=YF^CpQ?6)VH#q*P_66NE zvsyXV`q}bkwfC8EpK8kFu%s8aRc<$wwi%p1zwLJ~2!LfMFrs%xu55}zA+2xYp0T)l zRLZW&c}&l4ze|+`ts;Vh9hj4W)3K7C-#s)Lx6ZxK;FlLLsn|hXJi(`&_~U9VG56rJ zqN3|N6f3%aV`E^oh>?z67a=f>)woW;3O6rZw-a+Wa=aIGgYlVGCO}pNmWBR&+~IXu z77;hkaH@W0RJ0%ao5w#=^slrbI5MCQB2oz`{@TG_&O2|ivc8@B{geu%G$Fd^UfUkK z`ya*|SK0ep5eyj$J$%+<@xoB2(^{1J8{$7^-37d3z_C>SJPl>Es3*`tetSpBw{41e zhSUL9f!~xX-FE{B9#1B1Xv5dlSar?pJIJeZjqbls!($&SC`!PEzxwmAS*e<mHPT|; zzjKr*rPuZp$89NJI?y1B4?Vsrjc(|>wXC7%1bC7wKBigL3A!n2&pvh-^DJ%D7Ep)( zxydA2UMM8J-BxU9o`=HVHF$nYeclamP|vcv=HK>XvNm`)(Nz_kreE4!>5dP_Qtu<^ z4eI$9cyTc}RPOmoR@PSprFYMxiJ;cIrv7SIRSpt|)xyFXLG5Yyk%vKU1SzO|Q1B0( z*LC5$LO}X-GGy}^lGf*ly)M%Ty@2*YRe5lI(&DW(?`CF8{(SJdUVwpe^F^}!*Nj7j z3p5i$y_srZq0jYro0d5dQ@`Mo$%fb^ZYg0dn6#2W%&xbt+WRqk)1Ko1Imoj>Tjx4^ z$Dzsg&o9%*Yu0N$lN4Poc_1Pbia*7%sT1<Akvk`e7NG?NN!RiYb%0N2t_~z4Qwf+F z=Sd$vtz^xjeZ(J#ROe?CFr&~ZzYwi9Ikoh{*BfJg`1%%*|Gl%A{@A#M5QO_xwY0=B zDo%|N*|fka&$j17IbIT2SGjd+fVG^&`>|7y>fPHt8M>w2`M=mm6r5~=Mu$tx*K-`5 z(Qc}vv1S4y;%>N(hOu`R5CbLI%4ikiaH$F?bFYzqM**7s!~jClqG|3{S(F#G0VoD9 zEEHv+1h#Xv5D>ymx55p;sjNJalds&MvD49bV=rfQV`E2UwZe1WbKMDnaU8ZAc?dl1 zTj}Sg&UO>ig-}VCs!XhpN>47DoEEIw`Kw|6w~iLTKxgUwmGm9}k+av%n(;(rXy)?M zJ49N%^*1uH3ZHtXRu*-^c3rF_JX9`Xrk=P4YW^T{*$s|ycE^akK1GcDkbt15G$kum z57E6uuTxpkMK28MM)fjvh&F{Uy#wXey|z(*B@lPniBX0R791!yfhVjp`iXbS>U|2< z_FexXjrSA_I2{qRLn?bL{gUwL=_t@Zkb<Z5)Sws`K1uAg3bFWu{XO3MDfmZANcXb4 zHhd*U(xl##$xndCLqGF*Js_vtJ-6Kt?(^8~_Y^Fk{tWSSOFYo7_n?UF8qaxgITw`0 zI#k&SRUTtkD}Y2AS^FL?+}O!^9=lXU^;z@9$cn?v+#E7$ef&CL_go9yxM^m5J3CvS zw0EwB<b$cN#3PKrEFLesgW&FE%Ic&3zYacH#<tG*Lttny1mFGK9#}U<K$<uiVjP)^ z`WozoGpikZrMr<a7tS9mz}B_Ax!qm?S9fn;4bv2O3K8D7v0=0o?CKvILH}*RycLOO z9h^aN4V#30$a%8e$=z&Y2vW7N(ZlVC_t8=YY7g*7y?qJC+PXQrKjV|w3#sbiV+1e* z=FvE1v5_NYWvWjwOBNcq!qvdbKzS~v^@W4mb|d<_-4Merb;QO_M#Q(1HU3>sCY3b3 zTJswE)fn}*q2CEPtxiLYBZrdSBsnn>I{2FX_{?7qtNe~hmKJb`uitCVBBRMg$~goN z52m)#;LzJUY5mL2xbGLQJA9|I%qK<$(BxjX4fe|2XF_0HmYMsGTN^aUZHG8O3l?Mw z`7yz*%~q?;c^jbx7u=Thz8Iyy`kT<hJ<(IIejbQj-I75gt|?j4&TL(JOtOSSpuV`W zo@OIexJ-w4douMkLm`swu;t_=b%b3e?S~_9R&&?y^-@VsybJ_|)-XdJ74zgM!X|+a z$3Z=ACvO}+_1e*(7iie7Q~D!Q6tuLc?{p;vyftRD;tW@L`nEqeMR9%&)M1plZ^|4? zyH#`_gAs|XsisAs*9nM-%Mvm4Auhto5oRL?ks86W0i>siy7P_CfU!MNhT()ag`2jW z&Ir`Sv@v5pnlxQ%#6H9U@gY;i&H{ykzs7vmv_tFrZJ&Kq4JPr+1eio+7@S?LTZj}v zwF<!k+W<RhCD**}$+z-Co2!U3DQe`Zmp&0Db8>Km{`%X}+FFr2_6yt9bXBF<sDDT_ z+?_oazO}NumT<}wuxF~kQP<@(U(>!4Q}fgYXk2?3jU}=Lmp8KJW}o|f6Qb2oj`=q| zHUR+rR97vYn5i@b&Ut$XZMF5gr&4fm^BoYsXk+kT7Uvg?Dh4ASaaKyNZ}RW8kfa`H z?RBIcfOO4w`y;Z=wV==eUfMPL6O_CV`%LD4{sgb=jo^Rph3jXE{p2;~(FJp+=y!zu z&)9}tMmxJ^1IkL9WOn8b1!-kf*0(>yzd#DOPJ)l?@jZR1aj^!vKc*36)F9FKm*<@~ z99jY~6Ej8>bf1er+*SE~#y^4gZp#eD*(EbfJ;uymt^KU<{Ui|0O>=GjzP*JjlaJ<= z?xQtlv|WPhErVMT<bN)gz0oFiLxjKtA5cYMk?)J{e^So73csX@LHXcM{JpS#c5`b( z;B7H8{Cm`oIiKLU5i7!|;IINw(RcIJ6JYA-2rr-!_igUKLgW3)??1sO52;&VyLj$s z?(~4Pv?5>WQ?(0x%lO<SJpr6Yo8K)uF`A$<>BJwO$0P|8s4**%fN3^T{nqqf=}L6W z29tSgCxSp2Ux%O+JAxoMkN-;)ZqJ~o>4<(y%kjNG-sB&*ZCafxhGGN@^W#u&hC$(j z*gw+)yy{WTZZS>d1y}&|T?TAr>`R=$UI`?9d@i2KGk+=={vi-SlB7eTEkN&|LUb@` z*yFNumd2<r<&{RKfB=geo)N_#c;8Nu+>wirS%xkdXtoSGb6oWz!#!8xxuU%`F%cZ7 z!Nh|H|CKqFmiw|p?;cC8+l?6(xC?95bE$5<dAX0<>&0U-`6$5OFYP!hHL0FIC&jhR z>__75O;%{VyGtEc?JPHSyK&m1UD!wbK$M)A@LiNi$WQrxP>2x+KVu;d+G(hLPv*Sj zAOhs<WIlEW5cKQUQQpafy!OEGd4M2-EtzpED`+tG=P=fvBA$pC9d?;){YeNz<}>Nh zBoS$*h@cwN0H(d+|5CGC1#AJUzna=wE&wts0V5t-hLKN(vytqZo6az*(u*;-*fx;q zmQfA1h2l?@g`6Yh*G$j%zHc$MePtvd%K_S(hb0c6aWWuMR6;*q!vcHForOV8#W7Y( zEQh4DbV`63k^A}xXZX?Esi9)~IMGMq5cfGbg4|NO(1aC-p4{b7#x?^Z$-;jg<&F$p zY|&%^oHm}SpUr%VgI&rFZ#D1&Ae3y8i#V_Pgy8(EEcq<Jgt+!y-i^O?%mgU|Oy!&q zcWfJ0Hcxt}_+jKo0>{kU%tX^!zxpT2X2yD^aa~QfAP6+fDJ!d((l=s@FSR9=8JJ`q z5oB34DpdtS4amH%jKUd>7Q4qA3w-Mb3ds;ftF~cQwZ8)Q_g~WPd(L(}n6EV#GVco; z?6$oQ`Ol6EHVxtIuf;3=^9WLZsV6`qbosL(R%ht_Lz%7$=p+Zode@AOo~AXHAUH$k z3~2-6303XK>Ez@DWa(vIvl;mvpjBYliDS-JA<#(q8`)W3as$|a8UF+%9*sOxyDYMM ziH6*Hbx6$07c@j?mv91*aAC6u5E%h;092Lxpdm&MCnJ-gUu?_O!xtm`lME^^FOLdV zW-7)j%6}iNxhPqpyvN#)fTo)sZQrXnYJ{7ZHla5Lo{|@?vp}GwDCYvsOE1&3W8mZ5 zQ`lzu-koDf=|IBJSb@fsH-+5?z2ZQuLp3gNIA#bY1U0mgGiNOW#OA;^-=bi}g5zhK zUEfY^2fG9WArhIUe7eNlA3qkv`rt8)-^UwWCpv$yzw^lMwGSRBD*r9o<0*p2hW!D0 zUZU!xy5DmJY~Lp4)}F(A@&`4B{ivVQN=RCFMB--QV=+O^eM_H!V{ui7Mu2jX*w|cZ zo^@@Hm!_w$+8=SaH`C`B$00}JDlH9ajh;onSG62XUIw|<qYpQ-^;5jfA2+YA2rYEn zXo%1JmpJgUzVtsokk>I-S^!mHA;hBIBMyV#1T>ng%Puk|iC90ekzZk;Eb=M72$_Gc zzuA13&qZeLGEa$9UBN|-Q#}#}NoM+ezCIgcL2(FQKDyftRt>lL^V|+|2+_PSZ3O73 zXg(eQJM*lu)LT;U`pLC841S<^866W7m`<+>3gEO>21@AVvzxt-lU3f=f<8||u=kq7 z%3vuwxCXvH)TsKGK;V3DF`VPbvU}{^VE0eI1f?!!e4ScBn8~>cGK?xp6BRH&1rVd@ z@iOZ_k`es8noYP165t&Num=A<&E{V1gRJrXTQG$gw6vlIuW-|CuKoaT>PaSQk==Eo zhFwKOfrj*|Eq=>p9SBxM5jsj`=j<&)CCg)5d?@<?5;z9xh^UrTXNgtbm-vnovxeoK zK<p7C8~Bp`C5->Jt33HEyPciZoTOj`ys5zlo0b)Ze_{}5fc)nod4<50srby{OWI?I rPpEGw5h>|a#opi}(7}fU3Z_GOQ~h>77b_Dz2pl(+wUly@=1=|yvzH^x delta 64372 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 DYG#@I From 3a738df39f91a93b6074b0e9330d1f0c57be01fc Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 16 Dec 2024 00:15:56 -0300 Subject: [PATCH 40/48] small fix --- packages/desktop-electron/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/desktop-electron/index.ts b/packages/desktop-electron/index.ts index e89169b9c22..146ed6a2220 100644 --- a/packages/desktop-electron/index.ts +++ b/packages/desktop-electron/index.ts @@ -55,10 +55,16 @@ if (!isDev || !process.env.ACTUAL_DATA_DIR) { let clientWin: BrowserWindow | null; let serverProcess: UtilityProcess | null; +let oAuthServer: ReturnType<typeof createServer> | null; + const createOAuthServer = async () => { const port = 3010; console.log(`OAuth server running on port: ${port}`); + if(oAuthServer) { + return { url: `http://localhost:${port}`, server: oAuthServer }; + } + return new Promise<{ url: string; server: Server }>(resolve => { const server = createServer((req, res) => { const query = new URL(req.url || '', `http://localhost:${port}`) @@ -388,7 +394,8 @@ ipcMain.on('get-bootstrap-data', event => { }); ipcMain.handle('start-oauth-server', async () => { - const { url } = await createOAuthServer(); + const { url, server: newServer } = await createOAuthServer(); + oAuthServer = newServer; return url; }); From d8b995e893b9b04ce2c8f9ddb595aaae15c83ab3 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 16 Dec 2024 00:19:53 -0300 Subject: [PATCH 41/48] linter --- packages/desktop-electron/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/desktop-electron/index.ts b/packages/desktop-electron/index.ts index 146ed6a2220..fde3fd2d08b 100644 --- a/packages/desktop-electron/index.ts +++ b/packages/desktop-electron/index.ts @@ -61,7 +61,7 @@ const createOAuthServer = async () => { const port = 3010; console.log(`OAuth server running on port: ${port}`); - if(oAuthServer) { + if (oAuthServer) { return { url: `http://localhost:${port}`, server: oAuthServer }; } From 3422a372d4e7aac79d8e38a83b19f7729c038274 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 16 Dec 2024 13:13:45 -0300 Subject: [PATCH 42/48] small changes for file owner name and a fix for privacyfilter in the username --- .../src/components/LoggedInUser.tsx | 25 ++++++++++++----- .../admin/UserAccess/UserAccess.tsx | 10 ++++--- .../src/components/manager/BudgetList.tsx | 27 ++++++++++--------- 3 files changed, 39 insertions(+), 23 deletions(-) diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index 04f84be22b0..2ffd4eb6ace 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -50,6 +50,7 @@ export function LoggedInUser({ f => f.state === 'remote' || f.state === 'synced' || f.state === 'detached', ) as (SyncedLocalFile | RemoteFile)[]; const currentFile = remoteFiles.find(f => f.cloudFileId === cloudFileId); + const hasSyncedPrefs = useSelector((state: State) => state.prefs.synced); useEffect(() => { async function init() { @@ -198,18 +199,28 @@ export function LoggedInUser({ > {serverMessage()} </Button> - - {!loading && multiuserEnabled && userData?.userName && ( + {!hasSyncedPrefs && ( <small> <Trans> - (logged in as:{' '} - <span> - <PrivacyFilter>{userData?.displayName}</PrivacyFilter> - </span> - ) + (logged in as: <span>{userData?.displayName}</span>) </Trans> </small> )} + {!loading && + multiuserEnabled && + userData && + userData?.displayName && + hasSyncedPrefs && ( + <small> + <Trans> + (logged in as:{' '} + <span> + <PrivacyFilter>{userData?.displayName}</PrivacyFilter> + </span> + ) + </Trans> + </small> + )} <Popover offset={8} diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx index 1c2f9b85382..fe7cf753793 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx @@ -49,7 +49,7 @@ function UserAccessContent({ const [page, setPage] = useState(0); const [filter, setFilter] = useState(''); const [cloudFileId] = useMetadataPref('cloudFileId'); - const [ownerName, setOwnerName] = useState('unknown'); + const [ownerName, setOwnerName] = useState('Unassigned'); const triggerRef = useRef(null); const [menuOpen, setMenuOpen] = useState(false); @@ -128,7 +128,11 @@ function UserAccessContent({ await loadAccess(); const owner = await loadOwner(); if (owner) { - setOwnerName(owner?.displayName ?? owner?.userName); + if (owner.userName === '') { + setOwnerName('Server'); + } else { + setOwnerName(owner.displayName ?? owner.userName); + } } } catch (error) { console.error('Error loading user access data:', error); @@ -227,7 +231,7 @@ function UserAccessContent({ marginRight: '5px', }} > - Owner: + <Trans>Owner:</Trans> </View> <View style={{ diff --git a/packages/desktop-client/src/components/manager/BudgetList.tsx b/packages/desktop-client/src/components/manager/BudgetList.tsx index 351e42ae27f..03b8ab1300e 100644 --- a/packages/desktop-client/src/components/manager/BudgetList.tsx +++ b/packages/desktop-client/src/components/manager/BudgetList.tsx @@ -163,18 +163,17 @@ function FileState({ let ownerName = null; const getOwnerDisplayName = useCallback(() => { - if ( - !( - file.state === 'remote' || - file.state === 'synced' || - file.state === 'detached' - ) - ) { - return ''; + if ('usersWithAccess' in file) { + const userFound = file.usersWithAccess?.find(f => f.owner); + + if (userFound?.userName === '') { + return 'Server'; + } + + return userFound?.displayName ?? userFound?.userName ?? 'Unassigned'; } - const userFound = file.usersWithAccess?.find(f => f.owner); - return userFound?.displayName ?? userFound?.userName ?? 'unknown'; + return 'Unknown'; }, [file]); switch (file.state) { @@ -182,26 +181,28 @@ function FileState({ Icon = SvgCloudUnknown; status = t('Network unavailable'); color = theme.buttonNormalDisabledText; - ownerName = 'unknown'; + ownerName = 'Unknown'; break; case 'remote': Icon = SvgCloudDownload; status = t('Available for download'); - ownerName = multiuserEnabled ? getOwnerDisplayName() : ''; + ownerName = getOwnerDisplayName(); break; case 'local': Icon = SvgFileDouble; status = 'Local'; + ownerName = 'You'; break; case 'broken': ownerName = 'unknown'; Icon = SvgFileDouble; status = t('Local'); + ownerName = 'You'; break; default: Icon = SvgCloudCheck; status = t('Syncing'); - ownerName = multiuserEnabled ? getOwnerDisplayName() : ''; + ownerName = getOwnerDisplayName(); break; } From 45f89b23153f9658711bca00fb761ef406962975 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 16 Dec 2024 13:25:46 -0300 Subject: [PATCH 43/48] linter for merge --- .../src/components/transactions/TransactionsTable.test.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx b/packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx index 10058e4f527..5f5ed4c4170 100644 --- a/packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx +++ b/packages/desktop-client/src/components/transactions/TransactionsTable.test.jsx @@ -171,8 +171,8 @@ function LiveTransactionTable(props) { onAddSplit={onAddSplit} onCreatePayee={onCreatePayee} showSelection={true} - allowSplitTransaction={true} - /> + allowSplitTransaction={true} + /> </SplitsExpandedProvider> </SelectedProviderWithItems> </SchedulesProvider> From cf53879c97878dc7d729832661d709119aa1b7a2 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 16 Dec 2024 17:25:05 -0300 Subject: [PATCH 44/48] change the entra url and changing the electron loopback url when built --- .../src/components/manager/subscribe/OpenIdForm.tsx | 2 +- packages/desktop-electron/index.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx index 57e44fa69c4..0355a897329 100644 --- a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx @@ -281,7 +281,7 @@ const openIdProviders: (OpenIdProviderOption | typeof Menu.line)[] = [ { label: 'Microsoft Entra', value: 'microsoft', - issuer: 'https://login.microsoftonline.com/common/v2.0/', + issuer: 'https://login.microsoftonline.com/{tenant-id}', clientIdRequired: true, clientSecretRequired: true, clientSecretDisabled: false, diff --git a/packages/desktop-electron/index.ts b/packages/desktop-electron/index.ts index fde3fd2d08b..3a910e05573 100644 --- a/packages/desktop-electron/index.ts +++ b/packages/desktop-electron/index.ts @@ -72,7 +72,11 @@ const createOAuthServer = async () => { const code = query.get('token'); if (code && clientWin) { - clientWin.loadURL(`http://localhost:3001/openid-cb?token=${code}`); + if (isDev) { + clientWin.loadURL(`http://localhost:3001/openid-cb?token=${code}`); + } else { + clientWin.loadURL(`app://actual/openid-cb?token=${code}`); + } // Respond to the browser res.writeHead(200, { 'Content-Type': 'text/plain' }); From d474f8eb2d7a41aeabad17e8366e70056b6531c6 Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 16 Dec 2024 20:31:39 -0300 Subject: [PATCH 45/48] "logged in as" was showing when had no user --- packages/desktop-client/src/components/LoggedInUser.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index 2ffd4eb6ace..baaf0604c5c 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -199,7 +199,11 @@ export function LoggedInUser({ > {serverMessage()} </Button> - {!hasSyncedPrefs && ( + {!loading && + multiuserEnabled && + userData && + userData?.displayName && + !hasSyncedPrefs && ( <small> <Trans> (logged in as: <span>{userData?.displayName}</span>) From 0c4e01ea877f925532079eefea913c75157e20ed Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 16 Dec 2024 20:54:50 -0300 Subject: [PATCH 46/48] linter --- .../desktop-client/src/components/LoggedInUser.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index baaf0604c5c..7080b66a7a2 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -204,11 +204,11 @@ export function LoggedInUser({ userData && userData?.displayName && !hasSyncedPrefs && ( - <small> - <Trans> - (logged in as: <span>{userData?.displayName}</span>) - </Trans> - </small> + <small> + <Trans> + (logged in as: <span>{userData?.displayName}</span>) + </Trans> + </small> )} {!loading && multiuserEnabled && From 73cf70bc8eed9a99f83d86d3fbb2f5dca5efabdc Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Mon, 16 Dec 2024 22:05:06 -0300 Subject: [PATCH 47/48] =?UTF-8?q?linter=C2=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/desktop-client/src/components/LoggedInUser.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index 7080b66a7a2..982b1ae9b42 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -209,7 +209,7 @@ export function LoggedInUser({ (logged in as: <span>{userData?.displayName}</span>) </Trans> </small> - )} + )} {!loading && multiuserEnabled && userData && From 418f1cec5a947e155b7163a0b1ae0cda6b3b342a Mon Sep 17 00:00:00 2001 From: Leandro Menezes <lelemm@gmail.com> Date: Sat, 21 Dec 2024 14:02:51 -0300 Subject: [PATCH 48/48] code review --- .../admin/UserAccess/UserAccess.tsx | 91 +++---------------- .../manager/subscribe/ConfirmPasswordForm.tsx | 7 ++ .../components/manager/subscribe/Login.tsx | 10 +- .../src/components/modals/EditUser.tsx | 19 +++- .../components/modals/PasswordEnableModal.tsx | 12 ++- .../components/modals/TransferOwnership.tsx | 8 +- .../src/components/settings/AuthSettings.tsx | 2 +- 7 files changed, 60 insertions(+), 89 deletions(-) diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx index fe7cf753793..5183f86bded 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx @@ -6,7 +6,6 @@ import React, { useMemo, type SetStateAction, type Dispatch, - useRef, type CSSProperties, } from 'react'; import { Trans, useTranslation } from 'react-i18next'; @@ -20,12 +19,11 @@ import { type UserAvailable } from 'loot-core/types/models'; import { type UserAccessEntity } from 'loot-core/types/models/userAccess'; import { useMetadataPref } from '../../../hooks/useMetadataPref'; -import { SvgDotsHorizontalTriple, SvgLockOpen } from '../../../icons/v1'; +import { SvgLockOpen } from '../../../icons/v1'; import { SvgLockClosed } from '../../../icons/v2'; -import { styles, theme } from '../../../style'; +import { theme } from '../../../style'; import { Button } from '../../common/Button2'; import { Link } from '../../common/Link'; -import { Popover } from '../../common/Popover'; import { Search } from '../../common/Search'; import { SimpleTable } from '../../common/SimpleTable'; import { Text } from '../../common/Text'; @@ -49,9 +47,6 @@ function UserAccessContent({ const [page, setPage] = useState(0); const [filter, setFilter] = useState(''); const [cloudFileId] = useMetadataPref('cloudFileId'); - const [ownerName, setOwnerName] = useState('Unassigned'); - const triggerRef = useRef(null); - const [menuOpen, setMenuOpen] = useState(false); const filteredAccesses = useMemo( () => @@ -126,14 +121,6 @@ function UserAccessContent({ async function loadData() { try { await loadAccess(); - const owner = await loadOwner(); - if (owner) { - if (owner.userName === '') { - setOwnerName('Server'); - } else { - setOwnerName(owner.displayName ?? owner.userName); - } - } } catch (error) { console.error('Error loading user access data:', error); } finally { @@ -194,64 +181,6 @@ function UserAccessContent({ onChange={onSearchChange} /> </View> - <View - style={{ - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'flex-end', - marginBottom: '5px', - }} - > - <Button - ref={triggerRef} - variant="bare" - aria-label="Menu" - onPress={() => setMenuOpen(true)} - > - <SvgDotsHorizontalTriple style={{ width: 16, height: 16 }} /> - </Button> - <Popover - triggerRef={triggerRef} - isOpen={menuOpen} - onOpenChange={() => setMenuOpen(false)} - style={{ padding: 10 }} - > - <View - style={{ - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'flex-end', - }} - > - <View - style={{ - ...styles.altMenuHeaderText, - ...styles.verySmallText, - color: theme.pageTextLight, - marginRight: '5px', - }} - > - <Trans>Owner:</Trans> - </View> - <View - style={{ - ...styles.verySmallText, - color: theme.pageTextLight, - marginRight: '5px', - }} - > - {ownerName} - </View> - <LockToggle - style={{ width: 16, height: 16 }} - onToggleSave={async () => { - await loadAccess(); - setLoading(false); - }} - /> - </View> - </Popover> - </View> <View style={{ flex: 1 }}> <UserAccessHeader /> <SimpleTable @@ -274,6 +203,15 @@ function UserAccessContent({ flexShrink: 0, }} /> + <View style={{ flexDirection: 'row', justifyContent: 'flex-end' }}> + <LockToggle + style={{ width: 16, height: 16 }} + onToggleSave={async () => { + await loadAccess(); + setLoading(false); + }} + /> + </View> </View> ); } @@ -336,7 +274,7 @@ function LockToggle({ style, onToggleSave }: LockToggleProps) { <Button onHoverStart={() => setHover(true)} onHoverEnd={() => setHover(false)} - variant="bare" + variant="primary" aria-label="Menu" onPress={() => dispatch( @@ -346,8 +284,9 @@ function LockToggle({ style, onToggleSave }: LockToggleProps) { ) } > - {hover && <SvgLockOpen style={style} />} - {!hover && <SvgLockClosed style={style} />} + {hover && <SvgLockOpen style={{ ...style, marginRight: 5 }} />} + {!hover && <SvgLockClosed style={{ ...style, marginRight: 5 }} />}{' '} + <Trans>Transfer ownership</Trans> </Button> ); } diff --git a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx index 3fe46ab85cc..cfb64077e44 100644 --- a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx @@ -2,6 +2,7 @@ import React, { type ChangeEvent, type ReactNode, useState } from 'react'; import { Trans, useTranslation } from 'react-i18next'; +import { theme } from '../../../style'; import { ButtonWithLoading } from '../../common/Button2'; import { BigInput } from '../../common/Input'; import { View } from '../../common/View'; @@ -131,6 +132,12 @@ export function ConfirmOldPasswordForm({ buttons, onSetPassword }) { setPassword(e.target.value) } onEnter={onSubmit} + style={{ + borderColor: theme.buttonMenuBorder, + borderWidth: 1, + borderStyle: 'solid', + ':focus': {}, + }} /> <View diff --git a/packages/desktop-client/src/components/manager/subscribe/Login.tsx b/packages/desktop-client/src/components/manager/subscribe/Login.tsx index 99ea8a067d0..df8aefaf423 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Login.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/Login.tsx @@ -62,7 +62,7 @@ function PasswordLogin({ setError, dispatch }) { <ButtonWithLoading variant="primary" isLoading={loading} - style={{ fontSize: 15 }} + style={{ fontSize: 15, width: 170 }} onPress={onSubmitPassword} > <Trans>Sign in</Trans> @@ -115,13 +115,13 @@ function OpenIdLogin({ setError }) { <View> {!reviewOpenIdConfiguration && ( <> - <View style={{ flexDirection: 'row' }}> + <View style={{ flexDirection: 'row', justifyContent: 'flex-end' }}> <Button variant="primary" style={{ - fontSize: 15, - alignSelf: 'center', - flexGrow: 1, + padding: 10, + fontSize: 14, + width: 170, marginTop: 5, }} onPress={onSubmitOpenId} diff --git a/packages/desktop-client/src/components/modals/EditUser.tsx b/packages/desktop-client/src/components/modals/EditUser.tsx index 51cf3d941c6..e8ddccca135 100644 --- a/packages/desktop-client/src/components/modals/EditUser.tsx +++ b/packages/desktop-client/src/components/modals/EditUser.tsx @@ -127,7 +127,13 @@ export function EditUserFinanceApp({ {({ state: { close } }) => ( <> <ModalHeader - title={t('User')} + title={ + defaultUser.id + ? t('Edit user {{userName}}', { + userName: defaultUser.displayName ?? defaultUser.userName, + }) + : 'Add user' + } rightContent={<ModalCloseButton onPress={close} />} /> <EditUser @@ -187,6 +193,9 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { id="name-field" value={userName} onChangeValue={text => setUserName(text)} + style={{ + borderColor: theme.buttonMenuBorder, + }} /> <label style={{ @@ -224,7 +233,7 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { <label style={{ ...styles.verySmallText, - color: theme.warningTextLight, + color: theme.errorText, marginTop: 5, }} > @@ -241,6 +250,9 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { value={displayName} onChangeValue={text => setDisplayName(text)} placeholder={t('(Optional)')} + style={{ + borderColor: theme.buttonMenuBorder, + }} /> <View style={{ @@ -276,6 +288,9 @@ function EditUser({ defaultUser, onSave: originalOnSave }: EditUserProps) { options={Object.entries(PossibleRoles)} value={role} onChange={newValue => setRole(newValue)} + style={{ + borderColor: theme.buttonMenuBorder, + }} /> </FormField> </Stack> diff --git a/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx b/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx index 9daea8daaf2..3e9d83c27fc 100644 --- a/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx +++ b/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx @@ -117,13 +117,21 @@ export function PasswordEnableModal({ color: theme.pageTextLight, paddingTop: 5, }} - title={t('After disabling openid all sessions will be closed')} + title={t('Type the server password to disable OpenID')} + /> + <Label + style={{ + ...styles.verySmallText, + color: theme.pageTextLight, + paddingTop: 5, + }} + title={t('After disabling OpenID all sessions will be closed')} /> {multiuserEnabled && ( <Label style={{ ...styles.verySmallText, - color: theme.warningText, + color: theme.errorText, }} title={t('Multi-user will not work after disabling')} /> diff --git a/packages/desktop-client/src/components/modals/TransferOwnership.tsx b/packages/desktop-client/src/components/modals/TransferOwnership.tsx index 0773bc355db..bb2a198c48c 100644 --- a/packages/desktop-client/src/components/modals/TransferOwnership.tsx +++ b/packages/desktop-client/src/components/modals/TransferOwnership.tsx @@ -110,6 +110,7 @@ export function TransferOwnership({ setUserId(newValue); }} value={userId} + defaultLabel={t('Select a user')} /> <label style={{ @@ -125,18 +126,18 @@ export function TransferOwnership({ <label style={{ ...styles.verySmallText, - color: theme.pageTextLight, + color: theme.errorText, marginTop: 5, }} > {t( - 'This action is irreversible. Only the new owner or an administrator can reverse it.', + 'This action is irreversible, ownership of this budget file will only be able to be transferred by the server administrator or new owner.', )} </label> <label style={{ ...styles.verySmallText, - color: theme.pageTextLight, + color: theme.errorText, marginTop: 5, }} > @@ -170,6 +171,7 @@ export function TransferOwnership({ </Button> <Button + variant="primary" isDisabled={ availableUsers.length === 0 || !userId || isTransferring } diff --git a/packages/desktop-client/src/components/settings/AuthSettings.tsx b/packages/desktop-client/src/components/settings/AuthSettings.tsx index f8f0e7049ba..229a5ed92b4 100644 --- a/packages/desktop-client/src/components/settings/AuthSettings.tsx +++ b/packages/desktop-client/src/components/settings/AuthSettings.tsx @@ -73,7 +73,7 @@ export function AuthSettings() { <Trans>Disable OpenID</Trans> </Button> {multiuserEnabled && ( - <label style={{ paddingTop: 5, color: theme.warningText }}> + <label style={{ paddingTop: 5, color: theme.errorText }}> <Trans> Disabling OpenID will deactivate multi-user mode. </Trans>