From 65fc9b27943535b63edaa1d6b13299407e330eb9 Mon Sep 17 00:00:00 2001 From: Mohammed Bashir Date: Fri, 6 Feb 2026 14:04:44 +0300 Subject: [PATCH] add encrypted fields doc & images --- .../encrypted-fields/add-field.png | Bin 0 -> 100734 bytes .../encrypted-fields/encrypted-field.png | Bin 0 -> 13064 bytes .../encrypted-fields/index.md | 64 ++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 docs/_static/images/espocrm-extensions/encrypted-fields/add-field.png create mode 100644 docs/_static/images/espocrm-extensions/encrypted-fields/encrypted-field.png create mode 100644 docs/espocrm-extensions/encrypted-fields/index.md diff --git a/docs/_static/images/espocrm-extensions/encrypted-fields/add-field.png b/docs/_static/images/espocrm-extensions/encrypted-fields/add-field.png new file mode 100644 index 0000000000000000000000000000000000000000..e3138bba1fb58b246b4cbda4989d6976cdeeadd5 GIT binary patch literal 100734 zcmdRVg;$e(*gt}R3Wx|u3(^YGAuS3B(jq;&q`PB;Af3{}loV-3j&6_=Mzb-x8J&ae zH=pNu&+q*gUe3AC&K(=~_qwj{m7hYyuHiK|A$MsOi>bL)`)ern>@6uM?{y!>U4F$vv8Lu~spDO3uh0 zuj;_TdlS7cX7h?>Xq0H|ehTq7>HvofIr2Z%WIebM<>oj;M@#_WHswV56IHLlA+CPr!IM=-V}iQbe-WH2%U34kZr$kqeY@nr@{z?CS>E$C$Nh~Iwl1m(Pu+mJ*{BTKK z6GlfJw~ArJZGQm6C!t{Hprp6%t6G3p=`9;CVW-n)-Mf``kR#_?{KebphC`%@4^et- zyS|(p&%OU-u|7J#iD!b(tTxs>N3R{w-ORUXX1@liTf12 z$9Qyj>4CFGkC`C6(#3SEwk&^fUfTekJ729mspB|i0S*GMuNXHsL>C9>7O&NU_Q?_E zCnaMOx-!G+XsGug=BB&)`_M$g<*+ka5_4LM)}2z^zv^3Z0JzfhaX6 z^f;Ywcfw*%`*nwjK&7$0yj;ENKiVOq5n(7H@|V^o#mq5C61VKcRa$wS*R>$mJCb;h z(-AbF#}9!kCdVlauui-aJ`~=}N#2$;dZ_&xcr+OISmbGYj>(M;CT%Rh|EaY}U#T&! z35Hi@tTJ$iUN><--Tmg0UyW43*#E{0J%u?uxhWo#kqcViZQAyn>F73D^A5V|zrrf{ zX{HMv+}{_`9F&V_Lh<>cm?|O2EBfYL#4(t$@r!wY0oE21|5Y*WrV!q$|INBle=yZi zSY;Nzb<>e5FJAo77Z7H8UMT@KiVE8Ff7BZ3jkxBxX+WTvFh|oe%k8(#`VWEb`voqs z>gc{NzKx-!h+9|W&7|`QBc{8*=_LL_(BH?Q%_h-%GZVx}mv($Ks4#rO!Fb6>x(04J z5|!!BX}>+VTnAn(zVP=G&(d;oJzD>{3Ok8AQAf6Ym_VJj6E>tcF5osF=F{YFdw$R!m5vJ^1141_ z2xY%QuaBMZxeUtO0uRY`E83*5E`UiOzpI`0JFkKwd8LT~$7(@mpr?Sqz+(dRx_Y~V z$8SLhN)-4FgWk93ZofL+kO~<_bQ_rv8l%T9(}BPOo<5g3#0s)~uI%~XOe3m-=g<$m z&I|82gpbPxt!yr~T{~mNoc!NT(p(khA5A5cKES<0XmY|#>*@9O)XmA~{-0Y(Z$!KJ z{_;T}X>fYmseCCfF5gfg3;zS0HjI((+f_)q``PTzIpsc%#rcTVM3_%v-{t4JgTR?m?%|0BKHyfsc>XD!_jcjVI@Ysh|Lb{@+>5Vi zy#p6hCnay9E@CZT-MFJqym24_8>E=za$5UIb~=dx)h!|KuY*-)ysVf#f&fO=U2W-C zu1mBPz>zciFEh7qo&0tU8?BGI-$#kCXVL;y<>W*P{@b2^6lkdETI($?7*}G9mX3F4 zY+kjT`K3F$Tu@!nnb4mkhw-?t9ImcXO1Q_5#o^!0^`<1e(+2c0(n`2l+jd8g5B~I< zjWk~%YtF(2_X^|W4$AGrCn%p|3}qrt2(GuQC{>s8jiU1iI(hVdLufG$mD z5KEY2)YWDs-mmtx7!xlsYQjo?;gpVUP)kl_LXnkZkVFGQ>exA$%cQrIJ>&}zq#myZ zVA#-V$E4?L<@)O`cE~i+H=-`CCRgp>F`y@%5A7M-a@xgel#G>5-Hgv(e7|M}-Q+2 zmK#-=k7+;|^s-a*2y*Z8n$i8!LvMG?fy`)o5WG-mqpgoa=Fk}%I@+Dx2HVk?!$n48 zlPUA_@`KH36F;eRxs!lfEylGO=|k72ji>3C37DY-8pls<@$;A6D++m8{WJ>sAqC_EB2CdB2zu0KD`$fCBzxUF8o$6sqOiLq}9!I=xU}vq(zkd9C-iMcGQjLiHa5H zdl}Gg>B6zVPN@ayF?NN7shW99zO)_NSLb$pdeIY!lo2bq4x8YsHiH;Y5b7X_$lenq zCAIlM>`PhiM>Z=>4F~?OR^j|l>`AmUQws42Y!x(hY;JREr%iuF|2jT-3Nn5B#2)7V z>o;fc-z=}$z~yxIXljUZ*Xg>ZD^d5+=Q|?`iYyNzLxm3{SnOYFTMZJuReDYTMaWzf z#4u`S@#NQUK1F4}rjS?Wd6eU7T{)Gd{FeIiqNSYoY(*`^M-o|KSCEHbS=@W0Q#SC= z{yPUxo-C#Hi=nY{sY|O7uxw(h1SFcX$WkZv+}USkje>cJ)6wng+H?DAjw^Es;Eh-h z%RvK8sNtgOP*=V-l2Fcq%+Er%7Y;1bgn)@I4eEROiPQQ){p&Y;sS=|T6Xv183VY}7 zH{93KAZ7c}7c7DMyM^p86q3=K)S(W!MNZTHl4N5jpkQaUt+TD8m0Q-?l!|#tRO9ekrj*HP!dBRp{pj#Q&P%3Q zcG6Zjzn=uBk2;oLT5p|zN`*@|%-&ZmZIeQNG@)f#brnoWMkaP(UBo^ONG-c>O3nC4 zZ!4{AEsZZKBQrMB_Fb))&xy^A>gk6{OHrS0-?3ki5 za^7b+DX>Zaf}e9iZbPB)=-9-P!OyKZkzOs}F@QF5ql)j5ytL_w5Zsa&PpGgB0t z#E)9f!FF_Tb8aM-pLinlDm8k2QX}rJi=FJFM+$ey%QNPpGNKd|eV)*nf^Y4(-U2oF z5HGiN@8m>%o>Nni@In-p)y^_~Px{Pi=AtvS_&dunQNQbz<@~{}4t*IW_bRq9)wnaD zGS5UdpRC$j+^mRl+$SquTg-pj;JD1ZNw{r+F^+)v*8~8W+V2rKV4SOW?8vz>s zlsMoy9~_G_NS}dS`D+NshssL+(ZeBf7cr4+a>t&CG2@I1rh`Sz2D z34Z^-l`sloQYSULqa)rfH~K+0xR}w@KXI6UkCPCUCmf)j=Y=9%5>xqH*WTGcpG=r1mrFfjfZq8CB<*@`bH{4kLgFEkBg}zCVXK zJDoigT<#2%MqepZlEk?#RDyK4Nnb!R5l(%rh-*KlGx4}-$Dayz-o!JlZlcA#TS7t1 z_AmRWk6ZGx)3}Q%Z(+iylCp5q-7&l%qk6qQ&IYxL{o79?QOiM#E3>o1mnlEMX18wn zoR&2yRluUoUVmDEfB--;rK*?#dOF7;AtfTRP+3_0`gO9Lil_OxT91nG+m(*O8yjDF z?nA45Rf-8b^b}=SyF<}WM_7CumX#l z=iM88Gfe{lMmc^j&!=&$1vE{LA1Ek?T9ct%VqEw_^E^I$aAI3gn2?nj4BFUX^fgU8 zXJbzbjn{zmUEUSHFWH(cru7??t8_%pTAVB;E>dSr+Fd6$@F|ec zWQN`K&Xe>e4V%Y8DT$T^I#DIC`oUXB#AUWP(3Spkki;I7_Ci+lZxe2Eg&s{6iYuXA z$6vpqQ;kQX!jnTt=D@|BdvbFAWhGimU;$jr+>j$9-JKArlOU3^$`f;VH60<(IH_95&UldZyDj+4vy z$1b@VgPAS^<)n0Op3QGtX{QgAwef`v`3cX3#rT%9qRe0-^E=cImlmnjo+PfKPG=WA zQ;e?teOoqF(jzjwM&v&smri_=1bDRQ<|bM>fFo^Uy7dV9J#zzNEXh3!UA%&avs3-f zx3`|f44B*U;MwyQt`41t3$GV1NhJr#Y?5C8_gD+CksDrFDE+I!}&@9i$37U}^YawBDbj4V(4 z8uPiw;|s%8eCb|hV!SF!dGYTE)#p*Rs%n3ngkh(B8f!FjrmwTCC<;-zUtHgS=klhU z#vNGE7kn1$ldkdfL80M!or^=HZdYumOb7YT(;8`Fa~)I(j!GdY;Ugp>CtVe*wvHg)1_Ffg4Q@yy-T8z13k ze;amrN9?TQ?N{q2ZM_D{+O&Rnx~R}s<~5Ybrh{BeWnp;s&IM(zo}4<@>wJN&*)-Qp z_5#W2NbBk@IH#)6n>SkHyXoAg%8*PV+S7?>r=3L!&Rg>OygZ3R^;RhMypM+IAw0z? zw%wG0dg1{B(3QMN8PgiNUdzly99Cv-WhouluI9SN`>EXDylt{{iz=-HQGoA>I%!iL zGf^VBh5Z?OLC{oK+gS8qI=Qf7aKvo~_eJU%6=g_srhs6*Xry|!^l z=TYNZ7T^!52zg8i;$Q$=F

zw)%4*s7OSm5yjl)g6cox)J+-4!HZ!kfIhI5*GNNun~$6(?6^_IWVWqpZk@kdy0Az? z?XM-A`CYe>st}^TEoJ37I@8#Xu^<}_s6SfvQBId9_}jz9{F`)ZzR|?W7>EA8)#1+F zhLOLac)guoJ!^u3gP(+QVw3TMzCP3nY){6XM1DTMx#e~Hy-zA5HQv@)YFy9aS@H%* z%%~r3+LwOo{QdZZV^bfQ{&|Fb#QM$WABrdsDs}grH6^tiV^de(sP$Az9UaIi6n7Qx zWi=}48KZ~3z5%;1+5Wbaih8|~h798$qpZzSn9_z?j%`+Cy;xYgq-d0hE+)Zf z1~;nTsm*i8q8Di60H1uxLs33YQnG0ST}=d`RN6IqqoZOmhWd1TTc!MbIZ$SAfDB4i_-wfBz$r^h(3INPjLZd7)C&@xEx+JK~Q zhDiTdG%VazojSiGZucs?!3mkGM;Jm!Rj~+ujDJS1a6u6`vU${6e@a-PxNF|deC9os zw7|zxnr~PoRF=QAlV|DM`?~|K=;02Me@t-q^3AVS^UKVgz}CW!)`k}!2wExA(sj2; z-J-#JU6pDwl?qv`Up=F*6yHP6P`(oVeeZQNFZbOyZXtePrvQy1k|4z8?aF!GLJ=M? zMaE#L<2p8>tzCBL7lb#w96yBUg%I5{r6oHr;s7l^B2&1{(1Y#{;9OSJ7~oK_0ZkB; zcr8w3NFR3Ac#WDl>sPq-YaRJL(YR#YULjuvX-&J0bK`$3S2dmZu%R7zj6^^y!>DZ6 zoqyg+pNLMxNO=pwE3=6&Hw2unkSN3DFhl9cnu(KLokr8OL%j>p5xB!yvkqaX$Ywk# zE}zxt_x7&i-w)tHemZdT>CN9|E~49J6ce@z73tZ3KqjJ}6l%`AVaeBBzlZR=jrsZ# zsoE4jH56p)zc6H6P5Z?s&8abQqMA}~+-JQ>=Dp~>Y3IGja9g39f0q0naax5gpY3b1 zSpstD*e}HfU5sMT7LBBV&{*>V!>O7AdXb|lJwr`PJc#lTH?Jp+C4ONE=gHT_3EK^| z+_lpW>9w_=T~!{3&k7Va`(&kXY`$upWEmME$@b7ILrMOvl_Wc1+wy+;_?jy8@9v6l z?0f5PpA8;E&clf|*1~vViZ?SPS`|fK-p~82!164Qb@wH>s;a}y`L%Jputd^ki@1v( z>Dv$j5?Y~8e_Wn)Q&V;D@hI|h-i)ZSw1XZw>2AlH$Q2x%EQwf7A2;XV4QKxbi^sw>B%i2KouL22kR_BlT}~m(|~8j+`X9d7~W_$ zaz}O{V2vF2D)v1B!PdL=Faiha2`7%dY_F3!8M5*C?*nkvV*B$IP;$bwLKU*aS;k%d z;i^KhG)NaSeE)_0T zp)^??e$KdsN*0t~YcLaWR0`I=g$<-xhVgL0bK6}+ZG12WJe>yOXg3@aXI@HwlQdHd?S9<>O_zb(IvO=B5{8H5hEcvO8?2pNi8|_Z{2h&3umvm5J zsi9clmM6fOYlO9cflx!Apv^1psFOjLv3no-%4_#&!s6r#v_x)LFYNEY!JJ>(hkXGhd#mme%o@PulhEWja(L7{gHFM=mIDa5PL*bs$hgr=jX@ zHR>s3bs8jSKBJ|Aoaw$aHOkV#7Ew)}b#CXX%@+(AUb|29br-N@XBdbDL9=tB-W5{v zxs}1>omE)MrN)q;48pU#iIMI1Lt_JYZFarH- z^R4as@Py}2EmA^yb<_|V7yJjZTK0=rdmHb4Sait!PxSz2wKK1*{m-=lV40c8--OH} z27NT6EN2&%-E@w?QO{LfXTN%Xq!O3%qo#`5{&s(Vc4l_EiYxdP45*#Nzr_P?bji{x z-gxD?Ls6`jvvOJj<>o2>GZww(q9lulk-H0ym-2nf15X}s}G zci-+sW!Sx0G&DCei&|v5*les$t&I?1{9|ZfYTKkvR-d^Dyq|7_mgH%_apP&)!Vx4_ zW!}wgX+~(o2;?$t?V06-a-53(Bnp^TZeHJzkl5~1t!Kve@Vr)XArLx%w|gq9 zlZ>!=LuFQ6q?(|cXuoI5=d5oO7})2@ z1ak)9J?cFwsMqo3-16JGmd>>=-{H$Deii!U$)2%QtH?QcZ3Hp8V6CobcCq#}?eioN zZ}{qN&cE8osK&kiZRbhZWm)RfSWS*aw^d4yCd0sjUHkPM!JQ;$%t71Ric$GevL=yB zB_r~#Dc0)LAqRsIp+nI^%FnKf688Z!MRWncKKu|FcG_o2q`1?)lDmO2oWvsc0#1@4 zVjV67pU2O!Rr`VJqow$`>7Dv-xh}G~UVB-=mgw1gxKw)!g3E0({@8NxW%~Y0TAF_G32xwO((d2mB@uW%2GTWpdk09@N3MF5zoxB5+s3 z)HbofPYJR?hH7;z=N?#pMn)dzq6aq9lHIZ+ujRU-DA;{! z8PoV%Nf&bZ0n}L!dF&(=TUt48xSgc^Y`>&+Z=oF&h_cSi$+7Z6NLybZ&1#@7sD_|o z;g8zeF`fi+N@3Qe^8V)0nNnc-#>>Y%(p4a-6i3>l^X%CHFf<}0CMj(Edbi}-Ea~5% zRh41}(4!*pP!EO2`Q3h`p`MQX=^Pn-P59GI-IHi{B6~MG@0HuzEeIJn{{ zFLZ5vu4khD>{Rs68RCm7L!Wf?nW&uAwjbzTfNYmn;19+os|GqUM-vnam#%Xx4AQ(3 z5I0-Lme4hIOGSvzYnC1mna{PqTk!~xkCjQNmtcrMA!2u2UGSpT{pMx1zCWpS@|&lP zJRfJ&KBza9TXY+ULIw9{>fDWuzD%_@vrEgig2)^8S-7uU5YvdaCO%U#t_h=hS_Nq7 ztM4i-1vHQ>ys$1py7yEL^aKh4udRj3rA>tu8{igyrWd^QD4--r6zxMn#j4U)<-0#f z8`&zN{s!`Ux_JHg^uK>w4eRY<+qxG0j_{jah6XZKle-PlW0RfVTMqFJ%84pS(o-NC z(uE;4$MUjV%7I)>1}c*b2MhM0OLt`zVV@?DDt~N6BURMqcPHoy)~3$0m}iq>Gs|%4 zAbwnz!}v3RVJk!82Q#R|qs&i+LH)bLc~MirpZR(8Y|6OUVNQ+i#`ITtABl+ek?to+ z5CiTJuet<%JCcR?xy%?zYmM5p*#7x08%984NV3{xw%~&)C@Ukrt@YS1(7L!=C4^M4 zPi)S`E5jVQI{Lul)ahSuIa43)N9DUXu3x*Jk!5lco?w!dzqxgwfk_M)us1X$N3>_^IpJ9+?(Ft z=QF%6nbe+!4&2&e6H$P*OZc(FGeA96|y@K~q9OUWJ(jT@COBm?XRhK~Q4YUIT-chc{Op^ne@kC0*22Z2+VITdY4t*5ouMRKl?C2wn6G$ zsKS}IuuEtA_r-7MZ_5u(A&bmvFE_sdev7TQtK*p@nEPZB(XWFJEMm^k6AE`O|pVaAMtyr199l>aPck3_A5j)ow0 z_xrdaJh3oHUdEe-FuYRm>y+@l8*eY@L8HuhmXcgIl}~xLrv{b5*`2*CBD*VY@E@y= zoDtu(lG*7dn@dpfPRT*L-%}-U_vD^D!0n0>;JPkbA?fqS`^U8;PpglNAoWjIU@a(|l~txQOGiLw(mxR6f1$@%>y$x6i8_>eY=ft0lpWXK{9!9TkctDxD~PM2bg=eB;|@$cNxE682`Cb)gzEgjH37 zF!-AmOcEPB=Pcq3xaI;=r}Cye{MLf&;l0>qF@`nDu;D~QU1jrp_7^rE7{UA2iY&nb-mPy= zYocYBk-rz(o_EbdXpy#6yZ2Z25;{kW3B6x64dd#vy0;nDe1+t`hK+y?D>oFWe%6iO z*0y#`8<;H#46cZma=Epd)*6rr?n6ozHbC|^+1jnI zZt{c`9cDUtYHZgcob=bT=_z@(v_$2pTT@}zm&VP{@Gziq1b7j$-QfCkZdgYvo_AyW zVCQzbNyQFo5@^VNhctUu@JWL0sR? zABXxa6*aJpmkb!}pWz^?*cBK0Y;{__dYns^I;EC9bIzMA9pLwzYCqeoCiRh?Zijmi z@>PF)&eG({16$39f+Fip7Lq>IA}-6JPx@APq#a+|8oAU7-3fOE>hw*$d=VJP_fJvx z-7Mb>kb%O@sW6mAJcQ3^y9hG^&QLuUFA|@mbs2d7*m16kJ<`7UqHY5x(Ojp3bh?4~ z^Y{wZcX1nW3rWte%o9ALZ#yp9T7J`vR>enpkh#NBgUbA z$KmTZ4XTLN_sHXEn6%;th;bM}INPy24XFz1O(uCo>H2IX2&KpaX6+)p4mc3#Ba{P> zY0l8SW6(RxHlO`kIOX9fc&<7lucS*9hs<{Kd=()qTi@C#Y8`k$b{mu+Yw#LoZSMAa z%I`>@)UbNmGbL*y0(Q5j?cGnEZYs|+VLoi$tFxDNT-X-z4qiH*hB*4YZ!_c26A0sT z@n%Zpoe=YTTAE#GS-8-*V9=+qnUu5?S$+W@K#UAP=fF}4xkT!on79YHGbHx(9IS)$ z&*Jk{vwwuxUp(&RSDN@fm1}8@xWm)7Ccx9Y=k`yT(TpuMn)d{FT2CMI%(o|Os|{JT zmSz4>Hj3(smBLq6JF_k%l8M#HD`Os<5W~~@ZK$#_nTw}A zHpZs-69Infy8M$Tx?9B(C8W$_1a$bkdQi!p+ca$vmrXp2=OjGtWxp^;+}b9L7B)Iz z`vS8L)Ku0@rAtrQel%xh*t(3Xq{LX$b}x5)9QJ@py{uROkT){hR#$3(t~c0HU8%a{ z%@hOs`n(=UAbF6umE0t^!&3L_+KQ7(>bW|^#t-*9xh_^E%jTCV8RMM6TE%Kkz1Q{M z3!7Jpry?`#dR0V>vQK9z{ShA0^~Q@?OcTFwKuCsWW2>F)T(j0Yz!ZT2_z0KmYnF3) zqOhqkj|x2t&Y0L*L@{V%_NS7KTk>F($O!8qpP@O|nW_d{%}&T%_iA6DP1S3U`<$yW zwY1DRUW<{r)2{N_OT>`6XzA8fXo{l=qZNm!a$N_NfCI|BAgnAeo936K5sJC1LM?$yasFuJ(;MK?{*$%(0myz0`Lsr=*!K5#z(h@g`{hwe>>M1QgdgWQ z?)?#`v)5>J6q-}QdW&xN8jQQRnX?3Qr(;-|2VC-<&2>C!bK*IC{Ne7+W#0Fo1s!R= zHAw19y}i^5uK9g#i#^F?xe6y0xI@V=n6td5{tLv38WOB3av3M?PZw}e@A2>);fM6` zz$_FoF~vSkR><~Zan+|albf&;~c4D#A-_~u-z&HEZllC&1~qIzRrVK(s<-bbay%*HoCDG^abR zg4PF?T`CK36`??~PHXz)yQVLc4a%gSIrUXYd1#h7>U{7XoL4V3>r|$T@R&z#+gTc= zqz2tLTX8ZrXw$IPrXkRmcaCwzGkFQDA$!QX*c=|t>Cs9iSK;WxYgC?m;1nNFAL&ev z7-{fPAENvrC_m^{X(y)_^PGO4?^MVX&JOGqZDT&m=cpRgkjz4Ze#f9w+V>V)jxw;4i2kBmw! z+#nq{o*&3`7`#n7-{Rq&;KECeYQ=)oCe-p&)Ak|Us{UNuyywpqGiD{a*W|KUtG-?Z zbB}Pw$$Zhrq9qDit)5Ul31Engv@TU*3B>|VYHHtDGaEqtGqU#n#Byu%e@8GTQc|V` zchLT3w)%rDGt6?YdMW+n6)nso<}#J$tDo)jxa~~ZK552#05UWC)pa&JvCGeiOPgbR zKB~e$F1~=1@J)Rh@ z(CJeQwy4c0cDBy@cZbD3Y`+EGIJZk*8&ce!wqMRPtWD!nThAj2SbzEVVM}Jbm=aj8 zo6_qEm#Iy1Z?^5|VM=6)flg!0Y#XMb?olsUPFj1&5x(rM6N)_>ZOdsIz~0}t3h+Oe zG$~UTdb@&i-1Ud+S>#)6gKA{fh=Nog=Kh;`v|!v~f%Vn&f$bHKA%7aTVPIEwD!MgO z`Jy3dcitJYKP`9&7qt#Q5Sb{p_>yE#k!4+Rk!%fhjIk`pjNs?-YzY$3zZ{bYSOFNQ zP)|5q($&tEn`lC;nu^oga)aAL7}m~2^jbAZT~PwOx0}ylaS@`UPjN=8jKQq zvd&PJr|eyhqTYa5V8zI!_LbvO?h7w*1_KfkfK$MVs@`s>bZbcSmG{CByzw-mRrQjG zt-Lbu5%OmC6Pr_Z>H@qH+af*&++}R+h@Ft@A^IZO}^j zu}E;XnRy6LQgE7f%DHtFTy7S1{WT)rMj^uQORgmAnl|35qZ*lTYcr+o3@#|kL?*PP^r6Omd6~eri*8ctTn=g zIL`T`#AJ7g@5GiN@|z{UKgd==W}4a6s0v2kJGv9o85|_T#&EiQp`&LEuq=^a;`kxO z-#clUtw3xg^1We#t$}}ko2H0ELdc?F@7KT}LEv@R9owvl1JCV>vOmg#7br53PpT?l z?=gxTg~&m|)3kJbiw@$0da3jD^S+JcFR<1KesS2uja(%w3d9NOqE?mV6 zFcVnq+Dgy8p7xUr?9J?^o*k0MslQ#$NQG;qIlfQHo&HGl=9vGKkd3G$)%ImZh{tg8%3d;LYH@ZFd=wgVnVu6JbXm*5b$#ug4IMGdx7t z(0k+uh~Y>^rkY&rkC{qE)z{7Bg3xH&zDDzC7IowF>s0@VgBVf*&w~fkAIK)``iH#$ zQn*?)eqmkh{Z?iwwHDR}&puKPNxdbTT;f}GpEbw2FA#a>Sak{A=6$f^(Jmj|0 zEMMRtN3%~!t(!>kOb1qAHw{m6Z1tnhpOc(PrKOjj{C^bTlA&-p*;1BWtsxl}!6klw zO+s7*3*{kYOu-zt#9c^^EfUX z{U+1*6cL{#I2G;75hCy@$NB~>DpF$^$0S{zx7-bKagkEkDnv^wcUfXFKEr7W;W|^m zb+%y3=B_Fh+M%lc=+CFmDs@J(fD4p{jf_Ke?D$C}SB9*<&M5(<^6iAxFpk+)jmyqS z@%^{rIT_m!=3i!o_*a)q$z|@SEgBrmn zX52_4rWHi+)&$`ei4VE(8@j`XdMRbu8pj#jC**AAhsY*CH;VS+1mshG39Qi}#uaIsZ{J{4%vM|&&i6gFF=kzys4JGc0S)k^3SaP5&v}t^HKscS z7rUlgRiGbN2}lXOCUExf+ntXQO-ZD_kc0HhR$5kmy-)zL*@25RfC?Ifhh|rZ;}V_N%}5MbowKPMrW^rJm>g%1WSIxZjxuG z8X^P1QNKT)`m=GQyQK{UkIHq)L+?YS@42vdTl9&_&`i_mowNdO%T(K)x*Z!jkJ{iC zRWyWH_<+TNJu8j@BVBk%Rgij>->_xj(Hu8VYdiWW4Ut(bdl!t2CkEKO$`(}ixpD5tltXe)Ht)=QGV_ok ziiVABL@irK&~;({BSq6tha&V_p4*Q+rh8Fzss{TH%dNv$AHscKs2h<}lPA~C*BX$_ z)OLUDhP(}14#3TO^9S`+ACAzsc~|9fv9x9@qC%08C2 zX((U&R)R;diZ$VHr8p6oXI1En4r-GsC?EH1rmhRb`4W7v2@t1o?Y6p;?)hRRF5d@> zkT;xfa7JV?CN2%K^q2L@+)8#kE5k>}DTxjJ&BRq!y>xYv8+lI;cnNkd^kf{R;9KTn zlB2i5PQsPfb$(5&?U@pO>PDK)L8QdIPNKUd-Fh*?jpu72{#|=PC;L_WXoZ8)88Z+4 zv-*m1#Chp~>ni*h)<}ZI{tx{K!o|8D#_I8N13@G)Xm`5?G6qA4QY_)B1;It&V~aW< z&tlZnw7mArezy2+n|UF25r&$d$@~LJMPCBnwlZ|@Cm5!WTUeEjLFO9c;^WHWJIm{- zkj9T?{6;Pz_kPjLy|O=-50o_c`3n*iRa&(heX|ZQ^xthrG5G><8iH((S<|o_992$1 zNlmD)V21mo_THE91+%mn{S(_OC-R5|g9>|{&30$A#v-wZIsyrmqYK12lM6K59y|l9 zJri24D&`X%onkb|Ng!GaZ^Mq%xdpO3S8CP+Qe=P?Y%b7PUPGR5%NNdjb>kuKG#%7e z@iYkOCLs--Mr-E6^>ac&bn}q8@kPs@ixzTn`2ytzTcilG&H|Iz7n%eo>UxO zhb;0>)IJ3#r-uA6kp)wNf#R+uC)tv&K%SaRMr7R>M!pPb`Z8qa zT_^QVL!3u%tGTN!&U)CRpR(v9j$&@z=v3U2p3YSLw^FMi!R)bLbW*`OV1C>eLndSnkrM{t^*`NH!T3cn#L7K$+`)c{6P>tH7M&j5gui?eN5D_{+ZSg;NYays9=3`fG{DGTim;nj)S07%c z*fX^JG)!$Y5UyZXwK8&MDOdQ1s4DpqOScmP;erCkBe#TB&Bhph)6NkGGLtx z=DV45gFe7Wt4m+4T^4LkVX2L5ZKs92aqZZ5ruvVC<|cbHWpYbdt`h^g83e8690YL4 zoN3AQwgsXtkJHUfuV#|h`QuBBH(|gIF5{yId7QLr z7XvH_hjU{=Y3f18DFJ7tCTwFT%daemNu@8DK(~7~S3Mlkop5hNEBmD@BJkp9sxl}Q zb9ic${<yKPUHXm4H(6<2h5n;)j z!|nj2JBW^eAK7|g{P#FNK#bMR7!Peji?41rWn}1qD?Rtyu11`XZx4VV`--NBxjFrK zda-CsyaXI9q+Qvy&6hz)#RpF3C~zWws>sE1sgxIZRx z;Oam68Q_uVq7O@)LfBZqh9Jyq!7*T4*~C03DCkv?t83B$5QAztud7_Is|fkZOijx(;W^8&@3gHE!22bGQAXj0fOo+O~hWmYIFeeh+DS!B8>)m?GK&J;WKF`fWXHyIJRT$EsG7qBqM_4m?M1?Qx0<#1cxHR-(D4 zg|x0Z8E<4O+OBs<5Kz0ih!L!5t#xVs!y}gC`MJGqYka$-dlK*664rikfqsfWEnd6| zx_RZBtChyqpTM{|kiDVra3|zvNdmZ{W6az;Oy_t&@8{~?Xd?B|dv7B@|s(}dm7a%-WNG3}Qzp1p#+kS*ps&OFWsMMXuQglJoKv@2Ie zuo82*9A~`MG(JvF|FiEU=6A~ZS9LPy7BYRiCKx|#W4%WBgl@*EAu}Vx)XdCmWH%-z z#=b@bOYgn-pH)OQHHo1&oY7ce5lKfLHULo#tV&(zTU66pvT{al?gsXkuB&X44gxkM z{#t|N^;W)|rre{u+`PPaiJM}7?fChS+lZS2n^IS27@_a!_&YJTwR@LuK)_=TV3+9s zW9==Ys*Jj|VH%W{4gmoXq&tL-NK1)GN~cJdbR!@sAsy06cX#&|5RmScj!pBetv=_R zF~0MT@&0)4;U715te9)9Ij=eAHJcB^5Bnq~j7k3Mi}0U7h^yBf%sV~O>m<>CI~*^CW3je<%!OV*U-==-YfC#a$dX&ds2ip9y^s;Vb$ zBGbEkveAWPHD4}02?z+@P7Hwq1(Oa-{0?*VPUI4#+JYl`_dW*jl=8OQ#c350b8~Yi zqp=^1$tx+9VCo`BD0iNmoJ9DMgf%L)VFED;JZ(XM?cnm`Ef=d4mRI zDC}{`qT|AW*#flALulz#y~?G{@r3#pgw-cxwR3g{4*d0CsA+zBXqc_9Pj967w zmDPy4H8MHqLuhk!;m38{umytuAq$o_wowL`HDeK`;hQgO%snrgTQoQ)Yu-Hl%>?9P ziO#0M#R_4itS7xxmJ(l@(_r(Z>`wK?wO!E%mTryy{A@<%)(4WDQRQ&v6=Tc|W}l_? zhNO=Mg*(#Y8a0iFG*afRq?4W5<#GL5g-)8y6Iu&zTP7#CM>ZgN-|j>y-f~pY0S$^OkIC zuz@Fngz6;tG&6gH2aC_)Y7`ycAtF{?=~JU?NeNj}$xL+@#1Qp*ROqVAZz|k+2#LL2Y zQ%i%!Hq-7$rntn#DOFI!6bz2>w{?~uUL%J6Bd3}Ago)p(?@xo)HqC-r^E+zGj#Wx6 zZ{#!_tj8%ycLu`NUqydbSyXE6E6@{vQcJwv(&FK+X(vYlo6336$Ca~v!6#&-S<0vS zm1tuTVYe<;J5qCb^w#6!79!B_b?0?zxzMWHV}Pnms}1B^nI$Ft$;>Y&pwO8~DM3KX z62qE6=h{AeR!0mvLssQ{$z-NqOD%4MHSq#3FhH!dg8K2D|NAgIt4IEye>juXFIg6L z8J2-HgJMwXl}LA7DfXN+Y!KSA@Mf=PX2KVb+T)(zXPVMq`I+U2@X(Umn*uovRrUe$ zLTo-=SkZ(T!JnO`S5bQtLCUJ*IT|FPY-9&?Wv0~Zy%mB{gL3F2i?+DOt{^K(sW0UI zLKBQnvyeAd@?}dy=jbTcKvQgEAs^G~sz0uY7~kgD&Z+G2sM8p4N_LuAH{2Vi_pD{< z>WZ0#6^`??wznf;hGK$f*V0jn&p04(9|R+_-LT}%E{kijfJE;z_mfNH^30R*nw@*q zy43LP)QkZ3y!Wmn0;}Vm)GZrO!Qwtpwzk$M!wM&JW_G!H?O!%r4BZM5hcWeCGP9&4 zt#p1O7#w0Bd06{Z>|tBYgkg9F2;S9vZH(+D7s|rMHlpD0GF{d{Uee@ge>n}siH4T8 zvE6sMq^qxf13KCLDsFPeDG=VC?-!`V@$s6Px&}EjS)#qYp(%~My%i~$`5fIriiK@h z>1yX#I7T2Ces7dERBqs;!mpowBW#DeSp>dh(jIR=?@sbTGZMpw`>20>HE8Ha*hS|E z{2q*^0-WGdaVC4F3;ZL$7{l#SKnB{n@eNgzb-Y&zJT&=PZ?7CT7WuDydMMh7J9D99 zgJXlI+Zt{4 z?d|;(8^j*;fSf+cp3V%L*M=`cSU`AQc{zA?^2rcpNdGHhRLyBK4w=5tQB>CI1_*qW zLJ?OG|I_9t9ko`d9EGR53nSbWaMv6Q4|U0Y+vENrY}6t%geAhv3qZ0<4fx{@96BPp`7l-G`CrLPfw zX)An-UZX1(`{SJwham6J$qCPx3W0oOGQINRd;M6VFPsVaG}I>mj$b_4Qh~qp`&eG0 zo^}TRfp2nut$BFH^x-932>@5`hg41Q>ovpNX*639%TWz!%8-?K*Mo5=h&OmIhHkzz%Y;1Gl%Q&3PQ}k?Cv9ty!4Q=hr z87N~&O5uK7UF9s@fX@0S3%=L&`aPqHlhSa(09W-&7$R1whKlk!)7Dp|mIX78-d>Nc zZ59Qxler!9xFS;uOIxUQQO;BQadDhn|Z`1EqTR#gZ)9Cm{bPY%0B7xJqN-IpS@9}dZlIv>Qb8IF(pb z*QL8bw3933(OIIOEceAp0Ti2HI6ayFuI9lq2ZG9LV$_^_pWYJ4%PVm6iu83#B!f_= z>2GCW8%Z6txwIy0_pR&qUg_|C+@TsDuK-wDx#JW)qVLWgFMj(P2~1 zzvC*gI_UQ#lCmnCo&k$L(nQ0ewEGg$$s8gUzt$z`W+G!@ipw2Cz_aq11LI!DXBvzN zlG)P0d>Kv6gq6-iL1Hu_lOboOL?-vlL4N@&wKluOF)7AjfbfuzL9GNr`tVZ#%jH`@Bi6nFIbY@R8}m<7uEgPC?(B}SgdsFcXW9Akw+)>y`Uz__~Y z=bPlx-xae3!O%*GaxJ8Kh0LfoG`f*7I5Suv1Y^SL4 z^AC>m*0)r#b4@|i4jD5u8Bgw1gL9Ii_UPNBjh`=Y$7Tm|;tO&0Qy_vpFUWsP)uem6 z=f3NS8Xzu<%WUbqo@FAg@EM*bn^qQc_VTqR9!*O!ET5z4e5Dr0VU0JHGJiz--HL-( zL`?fsQ>(AkOpE%j0zm0nk3=f^;dtm@&-}_LmboQZrBHmKg&6m;60%3Kr!1o-@D1?J z8HkhTEU)IJL;NzoVZ`8!xx?%hTM=<6e?fhbuM+3DC7E$JOi;z-EAR;t!sh!QU}DO# zIA3LdY(slwkn-bQ^}EN23_HMI-nu->HRttGxsIm4p7$P7JBR&THcn75V@Pm2$gIKW z_{o-(H<=L-- zobZ^IT~mJn48Cu!Wxh1D?;R5ol1xqALi#@8qzIc8$N#-&1R%o~D5%E%=YIwT94Sf0v7EtCylm#;K47lPi!zf|s;Dheg`_ z2o|?gjm~4z)O`g|e~A>HcRUoGzBx~?FZswjGjjTCY9PtV1VAOipSt%qFS!EbC7a>5 zwxV-xx7fTYb)f5@f_S7;W!OY7OVv|r0(P?l?!wR@Ee`_XmO>hgAYWXgZP!cK_*hY* z_l=QtX|?tJiVsbbkv-_T+xp>7$2dA=qhED5+%$h%dh-1xp8FjDSI&+s`KVfd$^JC# z>=yH3y-2ggPO1(?4pH}&b-JbPj&#d`RAH(jzbJPHYTN?64ogHa6N`kFK{dr z=63m?^J2Bm%o+U;sUm!v`)lUGw`4P3O)t4}kA(Z^9FUIlpe=VvIlIFJjKT$CCSU0DJwjOMU; ze*LrX2vG3AvLt;FknutW+-xt^0P!(+9jEpZK}aQr-pm7{GOG8I$uA*sYvNocFU@S! zFqa@Qk_Ze`loMhY0L<^k3kNb6OLZ9rDB zWdDy*g&W4H%tO2Wg+2yT?O{d69Su;#9k+j-}@UFJLuE;<_)Vu6#7 zK`wVad(;v8kzuA6DCsw2`}PAxu;clemY#>WY~c}LlrR^=Sn=VAmBfeqyH+k-asih$ zUF+IR)Hjru6W^nlUhiFH?H~J=oVu1;Xb9I020^M?m!g>TeV=*l+gaZz_Ky@UZ)WAy zu0h>a=~PbE-DaI#K1SYcDenoW`EovwbQitBsF|HvYolFyeIIAeJwWebb%hPHbI@+a zD$-#`962tDm5rCo`OjZs2&{8&=o;@fMIf&|F7(? zQp(kBL{SFU?&ZtYy7^g%YX~)VcAV1pMA}^$V2+K=9_{U%FG96@(Dh;phy2dhDbsZV zSIcia4(28g+tNMB_M7fcY`oAQM`z!l6ZL*beciX=FeNU1!LFo*(|B?pax})i9`ALe zHGef4Y-k+Oc( z)s5oxwRCNyuJcTQoHzc1&W4L}VrD%bB&00{%K4l@tZOkgVYM}iWeLm)$T*a<9b(>+ z)2>~FlM#dKo96KrcDuasV~8}%i@5T(`o`o>md8a)(>w2WHb(|g$raO=#hoFYL3kR{6YUGJo~fyQjfxr(xEOvekYQaY25C^6i48Md?|U zss9d6wd<)bN_*%yUmY{D>*UGWf%Br zmlP(CZqq$cYnrd@=LN8DI^-y|kmO&s2=_{2o}*xOOwh$1EbQu`{=e?u{FC zxVAfVtpq_AdXO`L{hPt8S<%V0%@~~s93RH@avFCY!QktHA+2dYUZ|-{D=4ySj zV-ly!HRP0KW3D&M-dxs!_;l}Tn#uZR1~DE`{fc3SaqbSBcO}E@tx_B&(?#3dAtF6G zdE&*ML&q+Yn7+(uQ1+%=Ni%~)T#se^`73ETVaghpt08r}hd=6WU9U&SId9-=-YC*` zARU&N{QDr(rYR-y(BxBauPdBc*ux*E20qQkH5DIjOj4>o3?b-;wULSgy5J1P`~Bqr zJm>$Xto~K$JjqoF2arR~=u;J#jpI(@Uq^rM!+x)0S+wcAMS`E2c!q{5Fy|4P-6j8o ziuxXdiFr(B*hqW5)5VBa9LfUT<8(JmPHV9pZXXejV{;A6V znv9?nF%9RW6LsA2#`rTiuqktdjyFVWG6-42?TjIQw9vjIK&*7$(sZ-?-;bra90gZR zARrpxElQ!6nsUKEI%PFX+WJeGAlgrOz=I%~nj*ajoQtkCY(9tQ1WMC1K8#_2=FWE4 z<&^V5SH&|_42hJ_w^WNYD?xqqnj1gc6$#nA@0e(6#qH?LB2vQ=e zt`JJ=`Yk{P2>{m==M}^-4lE=;jyGo?|DXoIf1ve9?5kTU{1I@K7kp%M$-w(V{RnRO zt-ExN`S<?eK5q!Ef8y74|6;Q{BNF*80%#{@<&5$BeEJu`J3aYT0VHt!w(D`$@y< zULm3^uqNp7TdIdm*ECUdn{u|(aG z%%Lg5(BAS`mI0=a==`G+Go~%TRkTJZDQUu@y0#H-Vr>30DL30(Dy?CiwINgL4|g~i zF5$;B82Yt?7)Cmu{b* zO#WVx)-}>K4KGS2v(iloO+eUI_6^nC7oz$(DiP{J(2lmR(j@>E+!@(D-Nb%9>6pVs zCl-TvqZfEBBAUMQ5iomq zaY?hCCL|>jaY?Z*vjIdD8*2hMMmxenX_d&Z(AWsFY=_>U`NuYX(;kb;r&j`l!gkf6 zRjMi*Wwr{z?BJC>^zJcy$)C=1ypu7S_D_hQ??As%@B$>@$VoOn`Y&3eMNC&5k249? zFR`xcNnyWyI6^+f1mo=_e~e{Y#Fvt=^QV`US^nG_8|x~j8yEW}gNxV?p1C&u{=vt% ze3tK)5~G%5i3wlF%*QP0C4AqCU|_5SNEJvnjAe|=V_1PS2U+E7;34`WcZpUMh*%gH z7##^xa2CmoIqPT%#OkNLuhpM(57-~Ik5>SYk7%@Tn@!OZQL#bGW9&^}KGz$t8xg6R zc%-zUijs$;h11hwVX@^#{diaTu1c$N#!6_HxJXK#5Df*G2VFem3Q6G%LsBm&KQ_Y% z*Yx0Ht&ImZ>hA-iujAXpBH@(iiB>2a+7(z9IzEr&;fbgW3=Er<$(_D-i6oM;s^~1* zTTlZK*!N(W(I=k<`ntUFE0498SQFung(?ag4L+~~N`)XaG#JQ}DUY#&#PLup7Pybx zZgkU*W0pY{2qAWotiMz=AoPq2DgXA(QiiZ$a^)BLQ@$|1a~}zW3AJJ-Sf@1QSi>gaE!3J&kHd!Dfnh0@hP{dF27KC=PVDr=>7GmL zI+LBY`_#=eaG}~5TjYVIp_~mJoDCppY}&&Pt73#b_QgFmhkIPlPw=g8nrsf!L`85? zmL2}+im66>`^`P9HS^G-1w=-{%hs$}w=3kvjS2LN)^tes%>WTXP|J}B#Bl>Az$4_% zy|I3rCoLd!RQ`wbpWO$)mYhHqtWqr1sHhw=NppKyj9BxUcW3M{Wiv7r zJr1T_X3WLsf5%5&+!LLj%`6KOotZIf;OJTB-etJ>FfUwS5Ye)AbVH^B(5%i8zw1>&+yZKSDAx>Y_F42BnSefrw zA>emCb&6SGZ|{nk6?k~zT`AzQ`?&Gq@x4gz6;A7h<42GKXF-I#dgMjJc^3r~WKnMi zzXqJQzn-;WyH5_P0;9RDnxs{qHyA(g(Nd{~nG9+8L^^3AgX36$LFF{F%-ma<%_MJ$ z)5btvmTfAj3ABgXlUXCM@Ii+mcO?Fs_c~Z`l@F*4dBDsOz$$GVbobubcbT;DjDH)6 ztbrq9YiPOc(=DZ*y|l@z9qGRB;gf#Tly$w=q(fD_xM(TNMOExIg@Rt{ahf6M@^#<_ zt@y@QPN3BEDL9@PW;QpLvD7e)(b`N;A4}ztQEwn)y>0d;pxcKdD^YXr62+S@dJ9Sx zpbfg}xG|Ji87`KIS3~FS!}`_{P^xO%J}=1iUcBAFOz~2lZYiHn+v6*jIb98*>9vR; zbiC@?rRj-jP-SD4Y?tM)5kQ-)k+9K>I_a^xE9xl7-&{_W22Ey1&PRj^ue#w*Rrdvx z`FN$HZ`8AhT%hc?Jb9S>E{Q_#m(Lmz#2G8vpL_NfRWcZkw2{C1ZIpxQFh8}Rtu0hz zpBkTEdk&2S1`(JKTg94=Ka7~<*>t?}SR{x%NE6jwU&N$XQQrw>_SZTE^d9UNR}4m*w)qco{2z! z)+daKq9p9v*=;95DY?D$r}7AyaTfZk6$R-u)jt6ff+mgkWDnr_E5N`qgBh`O5RCHX zlK=F^)tL>6)I>9SLr_xrvk94N+HqV>qsd>KYpx!ln?Q-GY(mSAh6YOqEwG*BPiq%G zAdw<;Cm0}PQEe}Fxu8iYug-e>7k>R;3b~P}&yF|NABEgmPz53D7AA!lHi8ufGClli zT6V4eTN8(eS_FwYB2Zl8{b|&m!!Q!5tKyzNsbt!5br|-@gFg`*Z!@eAG&_(_suBe!G2J>i6I$ z6Ndau%bLWflA6E)RmZ-Z2-snxj#r*8gJ_F}Ru_CIEApShG3D;5OgD2*0U8O@p5V{ss6oRn+d&>LmL2Y0zM~ zI@+|A61cd)uiv!)F>E#hWHq(6%PW88aIDZlV}2vC-xYp2xv74urPw2lL$^H5D*h!hC>`CGe3B8~XQhH_nm+C2c~@f&~M8G7{VmkHH% zH$IMtfKp4^?WP@$=L!ZcTbRNnA!XAB=lpS5&-w4ZLr#)k?UX^yb^%ur*2EqHefyVI zu(U|(^&k3{C+!4{`z@D;Kqna~8%frz5t%5Gj&EogS!)i8uiHQArKqt#BHf>{r49{F zdHWB)8KYS%h|I>5q1}eDp)%_RV}ig|lkTObrfDxu zG$`3!iLXR`!cK^Fr`Dj@Ot|_G*?~eok`(W3J?A!faF*T}h3Zc`W-ckgR=TO~ zwWe-!Ph9oSIp@k(F=1HLMaq5c;0P~6(6}kdPVRj*jIC&UrFSY=<;}i7n{K}_;y2M2 zTKnO_B4K)iL)ul`)AI7=UuBZ(ifqRuktQkqG&-8=O9W)>UTuV|FC!qf33q2C(ibIq zfu+-o+s)XlI*Ui%gzrtAtAJEDSvcQ9s5!Wb*vMzhuocB*wcZ@ZKRB|`1v z>v7og$PPVMzqfZsjOn-QNKal1xR?j2`P_LZ9o3-@43x)Q?`@>5ws<;3RnDz;Rbaa; z+d)pgKzh*PXom!@UDBsWpd4?Z+cS$17K*vcH?J${ancbJDRhjuMh+Z_Ko23r%&n9ALstf4Ze?cP_WE*5uthC~}if z0Bc>^XFv3f6z$Y0*i}4l_4Z16+Y-a2E@qPfHETI1-M<<2XnN`cGM_2etEIV#kE79B z9714T+lK~Hz2A+H_ntKl2Hh?Sq(9Rc(UYxPfu^lGi|VxGEgy8`x$K)ooUgNq?A@Hu z&Dz_4o^F~5H~!w1 zBy0)`QZi-1o^;X<-C;vjEV2D&t##Zf9294;Ud|U^^j&2s-kn9y)BLmD!nsA2!bFEv zBwgm>J0yU(-R6a4wRs`+17O}EOBgEG3=vsW)iWEUOdXCTJ_-&9wSmstHirHjx( zF0cC8j7(FvHgxXLyjnjz1B5NG(6K)ao9b&o1Ux42SQilKVbD_njuxn4K?s+UEIKIX zps1{N+n9e`6r6&|1QU)%#-G&Ty{E2ZYlR^f6z@XnBj+*+{k@^((`P<^#XWh5Y10%3 zyY-Q?sXYrSUh%&>dC8XL6AC*x+rd3(c5X`0^O&i+UdQEYU7dwlO=d6OvZpTJ(k|9h zl&p7%IsjmQirM9uhlNUaxozoEBZN7vN80O52&h{FE=K4Ab1S#JMf_MLwTC9wRHDCp zo~}X84#n=$C}vs@sbI*$jTH-=tYPfFIB*uxpuiR)G}qBPG8Z%6KK zgdpdjoo$nR2m}5>8%vMbm;FUoxrlJCTZudl%yc^or04ne>it>2uI{xs;D-gZj2V6M znban*t9%AI#rbV4Qvb;2AbqVvv@YKNk?{HHikEls+L>%;^1>O{JS>95Vc>4{tgl1w z*-~|SaIfYxz=8mw#%i`d0FD%uBSeZQ$one4rO#@H@;;V~htV=BW=UeIrOXQJONEJd>J@9cIlbr5on8;Q|LGqs}&#+(IHfz2I}+cx#leFuadugsrOjdX;U!+9d*Ne?&{&{A7sB{_d)5?P7j& zmhH&0^kkPR2r(|+b>HUZ;r?aOzWt6J!axSPVwh6%M=IF-1%l|6yY$7JdxNlcTicY2 zN2Zl*wcU6FciXfpA0R#~9V);LlMotKO|3gXC~4yIS&O}*-nPF(FvS_RJw10+%9C34 z6GW&?c!%)jguh6v{;b0JtjhJY?Ha#8GKuCp;FT6H}uq2J0 zHP=7eK#sO|V8_Li;~n(q;*3;p*Kc{9D5^R5d(3d()*6dad%*^3*Q_QFRM<(e^(zz2 z5eWye38hB9n9ux5dXMaeV;o0ohrND&F`jY?0mi7vs+ZS6IVlnhl}PkmbM4cWn0^xh5!I4 zSm5K=>wq?Gae3_(sUL199&UlUa5m_OVMF6&Bqr-U7&d6Zi8E{@t;wq~-?rZ2=Jb!(i z7EJ;y4l~VjQ$~O=0?=5cJkws2+(a=BN2bEBonLnL++#n9Y}m8s(92I8cX%v4ECF#7=4x9!FdCzDaO*DBKwxz^y)*5|Shq5~Z?`!j zxF>qTL4E!{9qMH>_R}Y?@OYF=H?{S~`v$K@gabMnBVD(P+uY+0IYOv`a6wKPa_7w6 z3YYa}*jUp2vbPPKbX+`m0g7hS8tk8=AYkJ-`h0wR3wuVr@DTzF#I+9P^_0fS7f9Uw;@+(wGDL%mkr>6~PNVC|)# zaC~DASV^Ea|4e@mJC%9G(;iTccc_ zHrx<2(fmFFj2gjpBvOFO^Utl1bYz)@(k!fDCAhDW~pBrj@M&CnhpF%yue?^FNle3z9%9h3>>xBL|2x zjLG^=F@9Litj_MiI#ue%M2o;s$L@ejj|I77y(i@0le7zzn$6+hqea8=Z|$oWUZ=dQ zruClIH(4MMVgGf=7Ea5_in_i2Q0&I5D=y&pY|^IKm_6N40=|E!-Q?D13%z6E`P25p zPyBYaar}COuTr$v;p*)|z1D-3vtu;9td&Jfn9b4D*|Ex<3%feM!QR1xnp>;>@sf0d zf!Aa+I*|jW7kPd6Yvw&epj1_kY|{fJ%@@mu-}Q~t>GK+{_wuNh;zalD1*{JvlJz)V zgM>2U4L`v7Y)NQE)Kf~T5`EeLI0C=5^Qnx*I3{ssv^=k>&OF&omrl=JbM*~RmUko% zU@-ek*1k@!67w)ADrfK##I@e1cp&}ClVPBh*7TiywyV3)Qg7+?D z6Vvg~@P5Q8JK(j%3oO`x!J%^yorZ?#xQ!J3zCrTO^x9snD1^@ zivdqsSr)glKFF>3oP&IM1G({9AhC1cWt%-U)oGfq`t)Hp4;e;cp}ls|<|Edkl(d#W zLu+06j_)lG1$Hze!dqoB(Kp499dGE_v79uSX^&#Z$sTmbe+m{b|6$2%&O;08&EdT= zQz^Z@hD58@2sJ^6F~q%_&o(SYAy~A_-^3~s3q=VAySCTDXuZF!WLG`S zkzigbP$S1{8O|R|CjjlKRN~*$DZN=FA?JGC6hWQ9{tzTV3Q8 zIoVu2@)cgRPk1a0oue9{U`Tqh5J#qFwxP)z_g`m%Sodyf#}Da9a*XyPw_(L>0W_qk z(l@u^eh=a6&61b{BzvtK!_+pMMZ<=ThA!OZ%Buwy;6{}ar5FdDDN4|xm5@ObY+T^C-&S-|cnJN(7p7^*b$VM#cQbp(hn z?gP^e>M(y4R}%(RgG(@`pFT(r`gOR%hxK9tKCu90ngd>VfO!pu0<`Kc*!A$gy#974 zo1D+ilHi>eMg|ZWqJ9_|8pn19j&2zLBc_m)WSjp41p=@%kn2xaV_IT0LF+4cxkX_W zkd5{2PvOO0?lJJ0Kc$t^?g5DOCnnr)3x2J`&&^e+t}Y1TQJDY6`Tu>a zhRr0%fp7w8dBP5w7G*+-@Tu(;bW{VbeijoGMrLsn){WH%<68OspGk;Z%^8OTllC=B zCtj2B7dG5h>t72PX;wtMZB~+46>Kxik1p@+3ym)4B3akAW}P6-&u=I72MHjmw+j}N z-_nZn!-nT*HBd^`)DXs_Mu-3Cr32`nrq*GDc9xuhIDX#)7(5 znC6{k4||w&Ph`pDK?Szx)#WKMzMy-7=6#bbF1!ge3aM^&kY{3%^bxCqynlQU&4MNO zX>Ua=&j7&ht1P%^^859}?8dH+TdGbiPIUB=WgmqI{0Qub98T{FcZi41d4{~b`|zpjP}yv0+{TlW`r2&rz+o~X(v^+Wc3~lH zd7^>D#n>YjtObb^=9Z&^ng9ci+snYhDr3z)K>cL*D(VYy`)AV!Bf;YB2nS+5h2LZ_ z#rG-*flmTMnUcI5*c03baqq}<-D2i|Oz&r9b#pg|~)#7KQWR7zNzek+Xv zNJldQYD_CR$=4?(G1DK-0>zh z>}!PiBi&r_z{?OO-o&~JU9)HkeVyDL-6aVCmO(6*THKatTt1QXDC#>je?(;JY+nQAcI%M`7R@&x;(dMsT3)TXD!qJ2SFKUrLfIU~Y>2VjX@LFJ1 zR2A%L2E;yWFwaBIy>qq5DH4+F-PGgRnm18jh4J?81DD zt!paUvxVvWYJ(y!2}-vY%C|d{!~)fy9S+x2{X$iFbO9eRF=DtF`erPA;-#eHvlazjv!^ov)U{Q_?lSO{y&G^9o{n4ynoJ|S7E zj!?vQxYj*?-u0E|O>JYP6KSS%~k zqTAid`w0*Rn;YEA3jXv#z5r)fgXGo4T?Ndhty*WzcjJQEXz;53_kf^udpiwBeC7SO zAIQ}iaN@^_KB)1qvf(pyEQQ@SGr?E*6(RE!iE2=M3stn1>Kl5n%qGUHV!^0v?QZ{5 zZPW;^Jsvjle2N^a^5@mBrHGk2*Jx4)=H2JkowP3v2CHC@x6-3gpF0IdVWA0@ySy9Z z4#QP~7R47u`&UwP0$RAT*5A0q^Nl!ib^!C#;+I?*-u`D3;hx)d!IEbsZB5S0T#p?f1sE!#C5m(56N*eI) zolvNH(xMRG05VQI^LBmieBsK634d7*a&7erT{aDtI6&sQotqPhk5hTSw%D{vU`l$7 z=cki6KjSC}t`gSK852<8Oyppy;PhGAOvc`E3Lh6ViOSIFcu%GmZ!tXc?m%SD6lB8c zmuXcLQ%rvdMl=3SPml1K}(a%() zTk)D>SV5@AiT62`w_6_<>Bjgf4D+*&S!rmts)ECKV$e8A~!e?{5-j}C=E#5GyhV5YJZ3~IV z>9=)us$EU8u8YapVI|y1yM;T)R&^ZYtD3x@3-bpbgNkiy-P2mU6(f5_4o~lD7u!r` z_p=tXk5|{kAvc>o4!+FN4{@(`h9Yl%Laqd;?%EgZ7m%?@JliRld+sjIlf17ML#QvV zHfnXOphYXs7PJpqiF!C(nw{&`q0~DUQ`AtG6ZYbxFG8j;P_ph3K9USS*=_OQXY~!9KXnkrfZO1E0UTRLP69e>Bf;rT2od<}JCRb$mCKde zhZF<#6+f+n(@a*jv|H<1IZ)8hBSeG;&D#&!eikDjSIzq@N`6*>x)vyq3Em*@wftPg|SlIhjuQNnR}Lv zb!EsplU=|4PeZag=+vBoP8U;6Hia&|zV0{tvN2Q{dlVFe$(Q;V??8NDd-Jou zKkAN9oO2;@5G55=nRTFs{bWxM@c^$=lR=g6@}g~9{hrOykr_ovd;y5H0(`{K{ zkGy1Q_UD(s*JekcgI6U{0hFV`%>UOy=IHxrr|i1`s|5QE$&okP7A{wmY`3Sd^WRHToYnyw*Gk=Gki&V;z0p^C+C3{CtF$dw zsn6YdTp?#W&c|i2rjJ+ihBC=X=!&qB&DZnCP_Hnh#(itA-D2MKtM=&7{KcmI8&1e| zsCVSTWeL=w=Dx>aN%O$+xvVdybL5rhM(jftTweU))-DJ4^bd9R z?kp%GS3I2$+w{CJsjr~-M~m0T?yNnxpCffxcqJ^{jyGI%mMpZfziA!E#^rm~cmrIq zHA;vtZ?~@Y)|=C(1W$z@1=RA+x*&A8U$%{%P@x+q=Js~W`^}GNMp6uj10h6|&+OwC zFJrC1Kz!DDD#kR*6Q{K*I~a%YsPlQ3OO{?u#IRV>li!LeAMT6iwl?@UrEHsL$W#PO z@tCN+a}4$k$*m})7|6x_N+g-f^Z<3D$27UfXso*s^FfDYbeZ~Nd2R)+ID28yGP5rI z4kxH80flezGwF>-3cRZMGH<@_&)IcLvV2iCc5U~F=3;)pMK?wAB6vR@DTh<`rP`Y} zsnmxRf}fJs;_s6UU#AKGugUS(PC5J2dX{eVx~K zU%5+pc(l2OKzKcAqxjmGGjoI&r4Dv@S*h_C&BazK(mYhWidambsSeQU8 zPhN5s`TS*887aD_FaI900Pz!L0w6v)bNUE$^Piplv#73QG)VlhIhi{~upnrxVYJ-$ z#RmmQs}(qi-aV9~d7Y)-*j7Vz{XH^%=0s{|+3QuvQ>6rTrV6f%enXB`o|t$2?HtSm z40VsjW~d&pnTFL0FswN1hy1!3(^3+RvjQ?u`7%-UUW^A8k8ltBQ2U|lw?l0sroq0t zh;V_LDbkrO!;W89FS?Yk&y!GTIFs^a5{Lr1Lch;Imp%vJEelnfua6uDL|A!P7(`8IY)zp&G`~oue`F&wi zmfem*Ca;N%KZ)rOoX+uKH=Q}Z_}!iD_`7e1K5{?( zs-&b7oYJyBvaz02@xxpgN?l(aDS3I5 z7K-;`w$pl(b+6VVJ2a7aqHDVD*TQl()5ao^?ElBxTR=tC{d?meNGPF%#1NviNOubl zDIqB!J#;rir+~zufJhD?0)m7iNT_q+Fh*Ijqrcdd8**J91` zICIX~XP+J4{fY0+;H9smCgRIC|7kF8(l^uPN$!duzb$<bA@35;Hu}e1Zn>^7$*LFS`NaBGmJ$Ah;-fui!sqRgY5F(m0-kUd|1rZyg zS(PEZmZD8trAgW0jyVySVKzKjxByS+e&gk=>+)q$s#$Pv@j%{S+m@h>9#?A7H#&y% z2gf15P?8r_D)bywst=z+26y=y!^{AoUwcK<`S-@%jb#x_mr3kz65Lr?6B1^Zx*xfmc*>}5TVb$KMm>bCX;vL1Akl>pRUe#K2KxHlVu~cPs$B1aCZ33 zdUS1*f)IyrK4c7Hb9^YSd)>V(*)m zrR_M)9@M=`=>5uyWmwJ(cLiqC7pweNZ(;{&(26bI*TAC?zsSMhLsa1Jkj9RQ^3x&# zJRIStW@o>B{Z78l+ir0ee+@hn2tiUYHuOc91*T|9KQNbGF>#f?oY^)zOr=L>{J@x9 z3g=w>wq^)k_YQPwow?tQ_mUefW0AJ=fov+ykF2ko+;56eUa@idpL0 zs~R6t1w9p!u={$2D&D!y_#_ijN||B)F{5wfF1~_lR%#m>wB70QDGkXYp8Am$ z>C7IjtU9-1iw|3+vkLHfr7jgF_RE~}-Se!rG34+fixBYp=$5@?_tVpR%G2A~&>P!& zVeHGBJ48qRE3^VntJPnO!i$i+8n-3lD|gp+B@f&c-`taHyte@A5hlN7ncNe+3YN9# z^S|qo>nJ>yNvuABOiJKu51Y5dL)x?#icx+Y;&Utgt_X@yAp_hJrK;N2_WDY6bPR5_ z25=Yu(zxv<)dZAdknvVtiugcRS8P(Zm0~)}JXg>JQdWV{7GI_E(a}c&oXjPrmldW< z^LE|!YZ%>9Rq#l>hqhKB@7Qya3gcfr?|Y5wJi07rG09mU`&6p(T`PRiQOx}uC4{3Y z8ikTBt7{FS)();1+*!W!cID;Q5QPTG)I{T2&kqvihF}N^^!(vYYdbuCF+nB-za=o! z(m*8e>^Z(-76f&ZcWqD>az9Rn;Cf?ssQp z&x+}hP4MW0rh~cO^TAJ71NAMP+HGd#;q7R2R*5pSf>ExKx>~AvK-#CtT0*bnJ6MLs zktXUFWbOP4Qg@6F7$iBzu_<=^T(UTgeDG9W>szub$gUX@<*)9X3|CviJ5BBE`El1T zel|nl?oX#PNg0rMl>fsrSi2vvd?1afuTGyL#^uG@2G8dn=f<;YA{dB^Ch8_z*|p}g zi#!=tFeZMMf_{Z6Lby}{LT7wWp4n4AXD3T|B;4>9hc_!VbX}c@HkYE!du%;wfNBHn1G~(o+oUt40YJ~^f^D6d97SX!f}OZZb3%gZP9<+* z)n(#Ja+QgDUe#B>S$gQQVQWEz__S!v0D|HT4%NV!>|{Dx;{Xs}Lo1cSFB}0rhgQ45 zJkZwf-mQkNgHP4zaJ-U|sBSC3J~moY)Ae+Cd=PvmN4C4*zl6&h2@H*7Qb4*iBvm^# zmgs1}=Cn6v`)Uk~3Jr~YLKucQL?OYP`;(|g9nBzhfv=fuE`C%sOmcG`VZE zT;|fqX%OR&&jjFOuO31YJsBA1IuOSXU(@!U5?DB8i8X^b5`_H&6KQj{!KVbAsfJmN zEuF}Sb$flVVnm!&c=)EhM0AgBR)ZU~$xwyAdARd<$bAlzFm+T<8IH`6HkA_oJ?4In ziORyLacGL=Y*M4}U|~h^`PCC~>#!Qd;$6j|1h8yYlKwjUSSwH(c`kF9ba(gBTPz^x zi1|>tLf;B0_FDlHDsD~^!Qi@QwQArZRrb;35fY%xBAKH7_OB`o=;+}k4WizH@QeJ6 z&2KdVpkA)Ue&d)G`CHU-1Wcv_19-eH&0U?!jtZ$PeXJbkl^YN-nZd~~WU+reS9uM@ z-D4Ef%!^Br*-f5VGQKd+l>zswi`(2;GJ{tGDg2tyN&p%HE))r26>-MGDd2sR$4+LW z*Q4?Nn}A9>C7TrU;^PY7DvK!yX0c8yM4)Tp<)!Dw_9k2)=LIE4w}Ho_Kj(K;*7@O3 zKbF$?l0mJ&uaU@^P9;a+ewXGP%&hXqQz~Z}Z)FPH2YB?A#X?f^KmYvmp^PQ}?*kDj z!vFYYp^y!m=;n++U(XychyME@CKL9jVf}rg`>2klX+1@JswhyiKz}b|jdVL=k|UTf zX*?EP`8v*UO&5jj_%vuvfCvDLhL5GTAxMb>n;*G87iN=}Tq=?7VhzAj7j*|%Inmsfi|MVb z8{Yi;mXKx_(a`&Htzv`bQkV0q&KIuhw}OfOf-rs^A0{SQzcqkAb26IPd(^V&L$~72 zvuBImguhyWOG`QqF-PuB=2)P3%Y8+tOYh6YWU3NCR@?@DU3#NC!;yx)L&roB?P7@% zXf&p&-4MiB`9R{}Afi+JI=q=JYSY~b8C=~aAA?+$ys{T2X+wG*i}1q!6uj2{^Yahf z_+XeA6eyXY(x{jb2Ud!j#ieEJ>WlJpjt+gv3CkSb4Xi=cQU|U{u6Dd& zrp>S0f&iUhln~oCpuQTs6I;dJHHzzb!AeIkF!Eil$9}funzmu3v2IhwG?ox`d#;JwYI)`tjX35hK6yeOSsk2h?dZ2 zj>Bh&=$!F{XNxzD`??62=4*O|bui*n#8CJ`LQZ^1%P1bd5V$+kbaPyHtA~IhekW$hrroA# ze&@FyfW2l^=WiO-mm|faNrU@FM7yVBrbvp=t#S`f+-GaiiKvb;OWu#OTw=8cfUj&9 z_XFw6vFuKhWIld|FP;Vxyk5lXKkrA!v1Iy)O6NEuV!lh6G+Fw2by=E>LZ?{JiH0;_ z#hxRfNdTURhssW(iA+~6pvP+q2_KJ9`(%H*$KV99H86HeI{9ia$7yecK4hbthlQ{v$7D`xO&z)PP5oQ(e_JL6VV2OBXH!b)0$1Ve9y8tA(7^Z z%EzvF=$r<$;OV80)LZ5Zr@mDJX=&fD*h-RfTt7c4f*052m^$_;vI<@?dYq21ki1g= zUfCX)lx!EF0<=LEEm-sH*Qo>C*5>5*P*_t&D*QzOn916sfYgU(>5Df63El+aAwF^Gnkr-TlCDo(|=ah58Biu zra%^PzbznqB#qg|8drq(0B8Jmii$E4qbUfnr8$F^*NBpyom{9jni5L|O$@)%9EuX` z?XHYJP*cpgH&@|!E24;@0sV;PW`=bUvK8P31~WL?%UGP&F2cq)gTL2{h@=#swjh1b zV;Oj#BLQ97uh*aA6Mq)8PL-V_scH?(c(E!g5~@LVC;w|i0gYr>=>GgI=3)!|0yWQs zBUs`0Qlsa#;4Nh$bM`$h3saVq;^so4P6^G?17ni|y6+^UxPWcflef5UI z&|$>KzeJ(&TQQ~4%wT?$h4h!Ml>AvP!!nVvrpN3NT6dfU4TWrNh4Ynhj2HNAXMnO z=C35)lF(!rMms*XDJu&e0rIRE(F^=C6bC(J3s%3(Ba!Zchsz zb@M9Tm&^U08_zT`Uy8)*`UcrIJ;nwJX2_z5xKPv=1We}HiAx}MZDNSmDq8QdWq7*tJe&x`0nL>m-`Y5qFYC3C0etOcXE+X$v&aR>$Lbinl$jBxLG1ydAv>8t;Alz*}=jr7xa9I5m!l zp`h(hXx+M9wojb;EEVmz$KM_qRt}H+^zivDlgdK+TW_=`Z90Fog?n!g+kousFo%!% zBJ(V~sgF0`D`IG-iPzO5^k@L*EvIIUA>3G~_ERpGc9k#WeG;XZ;m4hz{=L=E_Rc8u zllU<625PSt9M^{l3cxkyEggbd!lU7~rj=XIF0Yq-kwqG$(@Xu3{eq_35`@9&r-?tYz zYv1GY{srqDso-10O!IUQ3PTt#XaXfI%&G7sRt=d%xn3-xBp_PfHaZKhd_PPVw#A@7X#gcr=9Uvi4qKlb^7EXPgDm4_rVJc4B+^TG;X|GZnZnKEq#d84Q z)F>ZL?~*npr`jPr8*RN5{ug+3M`y3<}AdG+()Xeic1X)OUO| zg~}8t<0m8UJqbTHSl|ySMh6SbclQUc>OgV(||jq4mS4di%BdRF|)~*>69v zB$oi&F2&ywl^Cj#ig>wNmCN;{JAc#a-(1V?W-LNvFy+4gZ%!+<2;IOnCR}gR|}k%O`b3Y=?2 z9U+Qkgfyit*5`9uL;zHy${k?#C7Y{D0T$pYLh1aO{b~J$YCS~cP8*lzmy;=?HgBY| z9Y@BnU%=V^(&9^3OV=pURe%yQh!7pjw$2OL8}g<1r)k)#v6070(wtw5o|Rivn(EZh zo1hQ{>vq3|*45=v$3#I$UQsn8{`7$~bz1=VX0_%TC2+|K)+<>2$qd8zn5}iIaj1fl zN^?tCQxu{Q{8jEwwl(VFn9iO685^BXpWYx)Vdd+qW$ow5xi2yb?C9j@hL3Q@0|pMD z4;Geq`XTF@%^3l~dp~FPD_xg!X0T7fp2Th9rN)s;AudCJ)Bv^D7Sd;IbBk>S62WKr zq>?|7GW$;%n$7_B`Lg8~PRQP0#(Z>pogwGm(t+0zGsn>($Rb8*1~;p^lb^0T!*kal z>74+xl`9^}wk5|aZ1D$)!O7>>J516C=fJKrN)rb~FB4J5!4S#nxpQ%V+;~J)QTFD( z9KkM*8yGttvXY=3E0_>O?Nh`NkQ`}W*cvb`Eu0xR?Yahg{m4d;8DO4}{C73*#SjmB zx;>hP6avGK`2zCkEzQkW=>Z_xm}_bEEDam(3@g@~Y0p z9@{+I+(pXAwZ&qn6QC??)(Ph3|K>0& z8W-zTMI{%QlR`V!a8S&WN&v%s3?qH5PwPyCu=C=-(&byX0Ilhxj*Samh+kP{1$_b- zU{)KW0~7K}2D~_WaX`JZc1BG>;2xry={NwE7>UB!;EJUSLKNCR6vQCzAEJBUvJ7 zym`pQU9**D8MD15@m~oIJ0~H=JHsKD1UVHLo$|nnUr!QwPEW2qUi0us$?v={Tg<=S zdo^=i^YjC~6N#hrx$WE{;JS^MnBHk+yu{x+AIXURz;FiTxjsw|Ts4zHU@*4LXTMx` z=B~QKc}(F>zf%V<*F;Vaj@Eb?P;+~EGOzZQ-Y*Z#>@7ued(K^kAS1}$P{_qFeg@q& zm+Vv-$L72j$VDi2rF-=`rrt@zFzu zxJQFv{fIzjn zxWiss0$_vI@#$!jJ2Fo<&v!jV@R$+iU&TpMsns&ft87<|GV1f}9Wv?*H=_)~`48Z8 zkv(Y}8}Ja9oXg9gfz55WK=+I4qIIVYr98@kLoa7gk%u$VlyV><_8B21oxF$!KB{vs zG5Bk(BWcjnwbsa3O>6oOuFKg(M}$7&t~q}!r|>10K*Bmm zSY2LZl5Z8@h+F-;T`vbB0_S}h7GH*(Hw3-;1XL<-0=DP>d!-AM!EA@O^)c1y>^AO*#K1n>tR*wC zY5VES@dKP*mg5jVLb|=W7Q4@Ujh9p*e}pZ77Dj4oLu1q9Z+!|9GG`LF^I`4>@~Set z>dWat%d4E}7XTRYd@~9FXSPeS4xKW>@(){w5#QFZ^B25|SdV`2a@ugR(^r!9o%Clg zgoM<4^Q|u|wr}|~@qt4KaGGnlM5LlK!}O?%bfwM>d3jS~A-u&FwyEwGY%4z`fj@9d zEDOT`{!qqb9~zFnSsssLYE?N#{?f6^`0I8C!lP=}%GKwU7AOkDV-c3BZaAA+U7mmsF)@^No-YjtE zLn9&{>mOpNJTrV?Rm{YP=Zq-5oeyU16ps6q;f>;oOLhjQ$_HY!QO*cM>7F0+4a9Nz zI3y&A2BnVmZ3~Fp9&@R}GCj#@fziVx!8&y>DZID1`MqVQ&B$`LLVDISFH3d>MNFxJ+&*--OJr%!~ zpPsaw;*pMF-S$Nva-y&DIp)rOi=2+xGW^Oni+fG?a=a+hYO(Qf%lT!$JVO&*C_wbQ zQ3+Ju-tWEMU_0rM36S!|rsDA-YBg~U7NW!g^eBNn^sSf=?C-sX)ouRRJBl&9IG4stQvlD>jbt)FtMV^rNjCG_d zQU};WUTdgJMynzD-;Wk?0f@0O$7>CbSU?HlC08gFRB1En1<~Q1nz9fs`&>epyauEW zc?%@M5whSfX5W)Ms!7vG)4i>5|6EC}#NC8u;=P}$rR9r<{dY@L6bv7v{ER$xQhjg# zV`%jFL1G&-p0lNxa>fmp)K^4a!oQVY%Br^Fxm+3h=y~^E(v;Icm72NTq?3bqQCA7a z=u}EcNm}3XMjsmxzW>B{6&J=giLl-Vtk&wRYG0DLgzU(VrDmrrOqc8?hR21}MdtP7 zZW0g5SrS1&MMj%k%(s)LvJCZ-YzYmQtp?oOsW?mJ;O}XR>~W?Ur9J za9=fqynQyYv(_RSU%-h`sL85g)0CX^^%>nS59aVxjWWoPvFXa=nhmOs)U+e5xQ zeNV4w#@n|0Rmkdc<}(Fgfu}N7@ccsr-(aA1Or=wYQmI8xl|9U2d7V&{cZ^B}{oUCXQW$-L0 zcC*ghtKTsdI(G1l!cXmX4&)^tNR(?L4vX=&7o-EIMw`AvrIcd@n-%x&8xZU^Muyf% zIip67+IJ7$NIO+NP>t=o2Y@OPLmc)WcYIp$03^OnoQT0o)v|R8JCRkLJf((6I2UOz zPt1TiJ`m0&Cof`}Ej65==k8c<8*-VflCmMQmFGx?aQVTKGu$~x0Li10FP$27QLr;8 z!==?v!{3mZ#_wIHeeHQ_q5T>jz7g^e@%9sZs;CkNV3#D>G>PuH$pZ?dDifr+RQ$8F zZ(IltV~Od)yiMoEWtJPI|1#Xqb`DxuV8B@Pvj0vG|A1~%moD?d?W)avk0bc{Q&hlNnT%0(bc7-$}aY7D+q))Sx%+6iWeJCuu(+kGnY)unY$Y4d| zYu`<5QHIOCki|Bu4>{+WJiMo0qEA=Mw(9naOb4Swd>D?;YeJ9}S14Na4rlPW>B-_X zhL9n5A)@7~5T3R4R`dFc>+V#+FO!x7aAVOq9^*-0hLa=-R$%W(fNd_Pvbu>dEw$kA zsqSqNvR3nrC-)Ik0_Ay#Z={r{XIWl9Vi;B1(>U(GWSmej4w-egy>L#fah4yFoij|$ z3_Ik-qlpo@CTX`ya(BtlF5vsxT8y!ltRA%uYIM0^C0p?8Ec7m_e)(HefdzKnt>t2- zcqoW$p_Ji`uRuY#CK^pq?lm+lU_w>nkl(e4C|_h-a_M)b_%SfHu|;#nw- z61NM&=4-a|;dI>1dYy_NP{)(*t-F_=4K9I$DB;_OyYSHVYEWw2kc_Q)ZcK zH8Xrd=R3ph^@^JuN#s5|d96|mce0@a@Y$T**P#De(c8nLQ#Y;UOGB^FZiw8(~F zQTpd%x8}}#daWxUsO!V07t@a1d++AN=70Hh;%{FvZEcX8E;2Ii?6eBt^5zDg+z-YK z(*E}A1i)_VV?a@`=lJxnPD*;utU2{=zk>8t1@}JXhn?!2ri6eJp`6Qo7Saa542r4Q zfxT?Y4>=OK7;lIE{*iKgVfXB^OkVoj899%{LVQ7lBBpo7L);{`{pckxme@|mFi?@J zBG>um8t3OmH*C@*%ohuT&k@-=^lJRO_0Kv?GnHzmp%g%<35qZqxoo@!G%gS5|UfNmMaCvEA6%ZWGDCnuSo37~7s!-DFy=eEIV$JZSiS!k)w8H1P3*YVi#Cyh#{t1YgE@f>YyjSH782drDrcVx9EPo?)-==XN2-$$v` zuB@0L146tuGJlbt%(R@6gg`i&eSSIz%p?QhR2&Km?}bd;<@K^kbFH&q-Y+O)UH18v zYXvP1{|)qYr^X5^0!{~}?tL1y8}3~n$nq}fhV8kH8=go*rH&do1^_0un|&Z2h}m00 zE7yRyc4L{yToS+88h%GtV(GgS8|?iJzNXNvAuWuN1b?0w6SlB5%`&0%c6?9{S^oCc zrT^n=0BvhJmEpe2)X_We6x3?o_z;;Cd(t4T=fafZ4b+*wyN3Yfa|264MXq-edI*3s z)2|8q!)ZbA0CcWKanbUVZq~2IeC~WBq&J}LvpWTX2xjJ+bhgZIXaY>LW^b4_fc98T zz4M<4#`h}!FK9CVy^#X*st&$C)R&78Q)DISeYx7Lg(jp}^!KBa6<#6($F*~q1@&q@ zw0YYPDS>wXhfFL=(Vn=tYGQ*C7}=Kx8T={Y%m&OA5J?a65={`B6ScPjo4XEFwga_( zkEgB(mzUf0!c=rW?Qcfw_KY$XPHR92UF#$_YQ9tW?eOs>b=Rujal>5DfAE!2R)0V8 zOoj_Uq5h3(>uD02E0g|usRC2^~^`T5zy$rw@ZQYwq^WN zNXTpd0qppDx5oYO)>rYAWFVz?Px$P91+^L}`7ZCS2MGgQ?k*15EwoscCnO|WWOd$s zoc~6)>&C6oLS1tV*>=O|#t#^642_aLSiiXI-%ekRgwvl-;gK>iWbU67O^M<%4$jWC zLU>|jcNlE(&zkccU)6Ir2k)lcYHK*j0B{h5=bJESC7AH0${IcXrXpP)LhrZwY08LB zqlZzUcXPk9stfr!bddwBqYqSCHWlQNk6eBIi0@7r<%HTICjeR%P~I9i@&d*qN_(xh zMTCm3bJ;j;hV|8jF8<*h?ELa>IKp-#T+i@(ha|!^_@==P(6C5AExLa&W-u2$4+o<1 zVtaaK1qHnaR&ScGyqR$uL8}e00ge&L$Ae^j#cS#PaagXP zo&~#h0z=}nVhmIHrT*F&252y*=ICLOCs1HjLrR#OO}{)EK4zCPVn<2fk~_s^SS~K7 z{o>QmgrkEkdl5^q>r|<@oUpYvt?`^?ciI3zR&0pcxdnO_P#AGQE1ofRsKsmsw8V-m zsuu6I;GmDjdgaSa>wkEJ2Cm$q8rbA}qLVb*mU?eT+U99(v&DBKI0F%&td|%K*L@`R2%hO*k*y#s-PSdyiupj)*0a-OFYFS zb|+WEF@_?+hS7M#JQWID3YCv4UKhE)OKo>T^*<>lOYSoPtq}qXuk>1%=QgYFu=rB! z_*xMMFZNsPxcxx z7WO%~nD~58TlhF=@7u>NGB+t_ol!q|F%;N0BQFX%fQ-A;|QWN($UD9&bv^^`bUhyV><|J*_oYR9#GDOKd#T0{%J#>unyamejPC) zs*u5=O9&8xr=fgd)o{8}DSdmNLYjaAMZmZBj*2k3FE=9J`DrGT`L{^>cQ2Te7=S*( z6E)8@`K$3F6u5oY@~D{-(9ZD5N<({BQMmGUU+R%$YvfFc~~mC5WC z_6bXG#HT*Ka&VKwY7my>fWI<7Yb8Cf98(jU?oayZFFz|0&QD!1q?oMd>0=`hD+pNf z%Z=;%+CFxYy-?{MI7QWN&TuF9g)**Y2=y+-de2%&eFj`8QV}q>t?K;^O>*N(izf6C z2~@WA@TtkR@=6U{buKoDNc6MdmWq6SiveT(sDP0fW0Y(^8n8hzR+Q()KX!3rn0mL zgw3w@*^g9&Ts*seM#$50`Wz1;F-JJU%(|mA$@~fpFn?e@D-W=D8nC<>#YU$;qM?r7 zDS&96nJqP4CgPg|#`6|`#Ep0tf;cvGr9mub@{Ql?RU{!zG;ndqD72|WzYvjXKS2lD zq`|vwG<95oHEw-*!4#L6xa7QBU0x-_HvaTsQhWaGFY5g^m6q<1j^PpuH|)lOFCXX_ z=sc=Q?D69&Q=1dQ@Jw{oiYV)R4xFE(NDa2X2DLl5cl{cUwb{w7mf{u1b9ApRGT{L( zYXx8Xy89_nfUVS<$fVsL_|dN$&1IOmgmCZ4WFftqbZQV638|=Yse$Ww=?5h`hO*BR zAlEyavJ>83@|rIz3;{!eF>-$&&F4k$JTdA+zd0F_pQV-#Z1D%vN};UG4jRaoL82QU z>A;%HrkrTc+Q?&;I8^Pc#@QvS9VbimONEJNd569O?zyC;`ofy6;t-xc!PBdmN_<|q z_{9LmolxP7j@1)qK<1g>{Vh`E-HSrn{MGw%Tjv-lQpuQhbpq0wZ=S@0iS9^aY z0f_MnYI@{b*LYwKQz#T`oJb<#+c`zlGMzM&hG zvqT!I{O<@S(a|>`@r=Se`dh5P)&^O+0cVAI_7YLMQBCOo4dIlJ0RLa`P4WFAdNGx8 zRsW`&_!%pLNLFwFZp3*iUVHbLtEi+U#AVgmNZHjgl2~bFY)lWve_g7)VDHx!gywA{;@>&T54zW(*TsS@?!9z2 z(~+e~VrEj;84-Nk>j5ALJRaKQU!8%zWHTywfPTBAK(wHI{YRG9*e4l)1>UeK|Na9D z9pDeh#cZq%R_r8t>%R*|ApM~-tB8TsJ5ta*3cIo{ZS{1A6wV(P89{n zi6NahXc&-vv#r`m|M|GLQ>{_zZ9o12?MEG?kp-ruhQ^hGM7AOU*hGhMBGtgUCUX$z znuub|NXJ{Yd!^t}B0ym>Yczh?`m1Ec+}ZFL_6wrX=)4nwAuS8ef@*-&VfJK{00}({ zK-ZFh#-~RK=$M^Ccx;G~M1aJbhE{K`o?%BLoNT{B&@4e<*@dx#&wK`!y!PS4uslcm z-%*9d_P;Z#L6(F)L!&L|FBAI&O(_E{XC|ya#3A z9ljS9RdSBJMiwcLerEJ_xK{n)+FzbAKU|O^Q5KMgb)aeY@^0Fl+OCb1aMOm}_+1iG z5>Zi6OFh!J6u=%OsR(J}>3GAtib%Cs=LhXV>(z!2*iZQG>v1}m#=m-vEU(k$~|@pu&ZDKW3X=* zynq zNoP?+h9)uAQ*W$2ea2$tw=wuD3VWT{&-AUW%Ef|g3}e-|c_~1Ke0(+Ihd$R~kq~V@ zIo;mrT;7NRLi>&czLs4OB1P)+I@J$=M zqh0pU?wh5Y;U_p9Z#T!6@IH3gX%Dr&kztvRjxlz*-Vn!~h7rB?jKmX9^cv}nUY5geDT^OBq#>_CQHk@+Y%j}lR} zIe*VuR<@x64A&`y?7;0=@**%*n=Dsy+9Q%Q>@|A+G6u6sp!y+@(G+Y4GaQ_q6GHkUVg0m(nG5 z|MC9Dm_cfsSy24k>3-bBuWP@qW0I#b7ttABQ)L6)+XvUS0 z3*dKOLPCJw1-OJ9#;1!3q2&|zWiGd=PG5%jy^qeBt+%%LIAK3^P$J}Y8m)joBR0(s~1U$2|I?h`PZY79NNfv#SEuj z8H$rubFjWbk{wyA5#y)@(wUsNn$e&%fFvWdTL5s8ZBX!G0mSQq0>v%#Q57cT6ADDd zSZ#QhMZt!kyl9(#HAPShB4Hl!NCog!6Gh->CsDikwC1af;x0XnAYKKgCvBpCVDkvX zh|75CItdjb)ThB>^e9awi?~2-0S;u9ckn9BC14Qo@|q2ONw@}~GeHe`;S6|=^ginD zii_7J7kHGB>f)9QW{u>FVovCn&Zgh#=|H5t!M^3PYL}T>y>1yQ$M)$oEj@`nkkR(i z4sd&PT;90;GJTIWMPJ1p@(L3^?d2Dq(A_<>Lq%1u!?`;Yvke&p6u${JH=7LJ6SPl# z_d67j4g18TQ(0@+P*j_^yDjm*{E!+5=qX)gkd2b|FE~xFs)J1bxNXi|XN>|bJgF^Z zQUQeOoO*TrUr5h?McnaQ-Ck>6UiqE|>Hv8Fg2;Ux=NG^;$4bw+Z|Rlil8$M(ABSAw zNuOZI&D#OUofv@JWivQSaDTJ%_N@e-~ zsa1Woj>~>0vDV6fW2{-ky+-1c@Vg(i|Df!HETL@>tpk+C8dD+OI()Fx$Byx3d~rJ_dI|0d z!rd@8bjC|f0MZp_+iYlR_b@|QZd%2IKX~{r2qF&tNzOHs13#Sc`O_3}myKdwuDe7` z|PBmx85QAx#c&oJy`sW*+wp_zPh8G zByt|fPc6ide*=hLXDEKac(XgTSdc`HCdd!cHR$ub;NP+fgi5$j)Ia_328`fJb#`Sd zKzvJg4|U`Gf{RcrE}FmxV0+Ao>N?*!*ooQy>`+=dG1*YnY3{2boqO%fP_n?B46<&P zL*ZM$?)?f}5pOJcWb0pd#!N!(I{}-n5@a2QJs!Aq+|tHqD%5z%IM>NDXOVlw&3MUJ zzVnch@#0X#{W$-I->@h4%~}CppZwGXvX1OWpYF&*B|?552A{XKR*3=Azt*gSSlE<~0*&;s&rFbOJfB5~_U5h6%9HXZj*Q7r;BFR*q?+UQj=&_U-5{ zWmxX3*OB5yWO_OyRx%@*X$0=qrLf)X z6vnSs9r5_g6x z4zY|4b6ol?AnS=+$m=mG2u3;-3>W5$nqw=td zY=PyyP2(Y(8Snt74(LO(na+@7QvOw1=}W3;+ZxGg9nMxAU)zcJ!YKMsv{sIZh^prG zN1d(u%EdC7l+L7-LCKDat1AWR)7A_n`kA_%Ec97giXcD;^sljm1n8^2V+J;VPfLyB z6ktZqjoh>XzqoWYJ3@MaAu(&Qt0bxM{K{Nb=$F&Q>kDd9X`ghSE7!T@(dZYmb?s6TFPf~QYYKNxUbghJwfLt; zGy26R2Ikoe5xQOjc_+4rw`NvgV#dL%4S^RtJf6EiVXu*idto7`_gW5H&zJ-9%l%IF zGCF;m`<0q!VDtd<-J!mL|1aR3$8%tB2SaS;*9d5}YUt7l%+i&w4&KBnK1(P%%VzH;{M`O9rIrhI0v^#ef3$(ZbY)vR5iGDQZMdi&U7 z0sE(Za9M#BW1f&2FE-26b`>>m)?yNB_S=n#L_!0+;#iJMMX}) zK<-`{Fi?5J5&*TB+1@X9x7%~^)q^L`jns?F?akdS|4kx!2mRys91DK%FUIMTA2@Bs zt9je-Z_*(W(zY6&on1s~iuLK|0Rq@f^fVCRxY1d&Ej3jC*ODV|``v0Sk%<2Kz--yvzoY39wSHTzm zF7`yzkr01E$xVHC^tQ!Ow!XF3y|F10S<&kKdGec&84rL*{o^nD^Rtd_k($9}#Ts(k ztTP|uKXorz2@GF1f_mGpP#3p@2xNWeH8!pQbLfq{`W9Ya?_ZpE?VSwdiI<-8mV(xi}8krxLdBz43tw&)>2u zQ_)d}(d_+|Y*$;Tyrgh%T@+^=9{_O`^UOA~0r76H0)Z%M^gDgT%TEf=V615vkr7$9 z)bg@o09(HUNH%6di8BPB54G_hKy!8Ck0#5(5A#YndnBcV#*cxFB)}rf!3bYPOY8k@ z!;cjq*@QRV;PN8RSi!-rN?gwpFMdcgz4)2S!?Y}}LFF8mMk<9?iQb{_f95KKQ%!h@)^YfLIRgH|=6x z2QT$c+^19GOc_s6_%Xn2o#YS?#ZJ8UV^_pol_MoqQ!J=#mSI3RbKzi^UM8SHgM-3C z@YGGMRm_J^Gxe0Z3e{92)?abajGo4;q|@UQLtV>LQfd=aBjRz0*!zWf#?d2@kMJE>m7k$YCt0UG8~{E&ffNZ;C7#M zC;|Ai|>4e0(4X>S1)W!tv-45M|#7K+807J=uba(G-e4h8e-}n2zz1H6A zzZMIZh{JHlb)VOHoX77F(%7nM(lV2cenDZO6U#hb7QOvz_LrdyBP*C1%Ii6i0vV1L z4`{(p!}z~be-40zAyYG z-4DBX5@sVNNuR~#qa7=kAvqH;5oA z-=kDqaobGe(a-~?;B1wz_z9|nY)XKdgQq@1PjoMazNW9_PIsLP?{ zwV0ps(o*v`e&agP49xF#&i`d5P=xDEY?HyqiN~5zUR5d<{p`M_g>1}IoG_w=Pme{E z>l%CG=FVvobrW(+S@szc76C16HNwUQ{CbDQk8>FtD9tb+Pm?y&2~5%;UKu%t;bTC8 zf!9YJ7H1!0?(Bw$^(6IsCJnLiEm;dI>#pN_Y~SfM0adc9?!aX70L#y>8r=1+t9;nu zq{=dkjN;2qs9Lus6~3DRS$5+biR|M5)R*;526==B{nmgStddrB9tb&v%8A!|tFFFm zoQ)ZDf;j1Bg$R0x6a7dMNN`zX`cVhCf2Iz2CW~>bBdhP&MkYXxbB)=^!30sJaPmO1 zIxe2%fNhWM%nyBRF-G=+{(KS}YkgY7Utf+Et0a$(e``Z9a)3JQAojgrqo2v#HcP)k z-^l>FF2fASxb8wZy@IVJllD-s+E|e^>>dD%3GKrHB~`z4;dGkoEv^I%k_Y*5Hz2}> zE$+!BeQ({ZqTQA~lgJg@Y^+1|#$(M{_4DbywZ%-u(t!|yK-iB{iSZS$#w*37_lDi$ zX8cFB6{q^@{rmf^2%FDu+kM2a*?56D^b=KBzXmBQ&}c7hzHuN}whL3=0u*EZvEDYt zZMf}-oA%4K!C`ma71*joP&mase=B{#C>=6>F`-C{=Y*wV>Q0dDNFB*9g`8zHReZG; zY?!6{qu`(5^PTf3*h?z7flz|yd$^`>f(L3rM7?DTJ!E6Z!G33!4+t5MQu>5QGzxKg zR6w;^sVp_4J)KqceMf|GjfUi(sEz=E`BZ$@&2*R$} zd^^mm7hWZ~2?Z}pAFdi2$?TsdYFY+ap&SR_L`YVO#3aN*!t}f0LYr^)VH*$^@2|hi zx_|)KBC)VzEk85qt!0f3>MbfL;4tp3yk8Q_$UKh9Ubk+_s9m>)Ur{ZY_vUhZ-;elQ znzXs$wsj%uX+^@CU|BQ2!$K>E(d;nE5iKHO_@$gG1v&uiW;HgeWpLlVA7iC2?1Vg& zk)x;v8kpnlG{X8;fHpO6C|@lNMcK;-Yi48vMybfWGc3P`HcyaEZh;&9)t;Bn7m02`S|tx4R-Y~g96;CuY2?-hjJ1zjz#gESuFrFWDk2} z;gkT=qKqZ7eyKbI1dUY(lbv}L75* ze<18GpxTec1278-+F6Y{f^_xd z?ait>VJia*28BrY7Hs^NhaVW(NTUBaMwK#)CYf=3*9zXW1s+e2k)Ix%GbT7<^xVo! zAT_4|LIIbVJHj*09to^0E$r2+eH*<*@$Vv=nNZLkFUzQbywIen*ERLIxYpk8gpjJT zxc#-1&=Cf(-P6>GWvGRS08r1nu!P)#iL-Gx;*p>DDZi{o&DE1VQ#JJBHtW92rp}#NQ z$FwlwQN7Hz*{g^oNteCplZ&`px0r_GgH3g#BE{f2W0XJ5IqoUdRb_TEnSJBo3{-Khs%Ens@1tnZw63j!Phkn~Yd>?{??Q{vHQw3(VQ36j}!h zsT%)Ot-FyTkV%{ciW3W#M1d#-86Ilo7aoiTSG(VLGL3u2*s30 zE!9oTL3nuPafZys`NzLyJ)yzhFnruR{jhG{gPA1WN{1CuE`+aSbQ_QJglQHXH9eY_ zW?A)T9Q>(r@fLH$(-|l3eV7Y{>Z!+0fvph*8qd6b7Z9pMZ;~q!ly_ zL&yUmEe;0+ZxAzD+`E1~JPw9Y@KvdNa~9>(NEC{JVg-7Bn%+kk-4j?^cER*Q^AS(p zyRd1YB|&I^Il1502i?nWhaqt)w~*CK)}?SfSOf&wb7@}3+wpkVg*WAdbF5w$E<}b3 z-Pz`}kZOroJr33co@JYqpN0FQb_gZkP|iFC=w5Srks!J z=fX+wtXf=IdEb@ab>=O3$aO^hWw7f~r0<8I{Wy4@O1z+xl@RjZGoTbyJ8hKQ-mDSy zZkE=My7qhq+T*H$qJw7>QcixG@O8iD{B9Jom3E3;1@L+peQ@Q_LmMLpydC)*uJ`vf z)#T7qTJK*}S`nH=Jb5d?yNH9eJ|S?kWL&c@!9&uyeoa&lZlih=H^+=sN!lBXtsO}T zxs8N%c47oQGAYYhr`eoev9}-hnIY^)%5)vI>Dc2H>s-|KMiy25+7N<#P|l#xyyd?P zJkJOh(og;9F^=750{=~RWY|^kI=?!fj>P<+HImb9@}WH!N5MD5kwf14j}yvlHHZod z{J%vJ|C8*v@c!+cWoTn<-sY4ytq~yqXgA}$pg+o5Y2-=>aOb=j>XtoP^qPNc0`Duja%$_GkK*lnCKb)zFTQd91x2 z;Hc{YPiy2Q2Wcp_VFUE5*^HSS9>*_^OYaQ_ir1%LG7PiDxYfC$HJ30HQV8d-E z&Js(LVLe+aY5Ub(Dp7x?^#zf;<{R3X3~XveYt)zX^Yia@BxN);5^m{Jw!sjVskeZD@gKIMo4ffw z|Id1*cSo6unsF`*@{0krv$LSkWGT|cb{s?p+{JxBE(9QUw9bbQg%BG?X^#$0>Z771 z>Dk$sMsR#6`5Di6y?^|hU&P zO^oXB2BY7G#knDm3MX#IEX@5dxgV+P+3&jg1@by7sf+Kb%_7a9_Pd+rlGzY`TpXFG zzH4RrpYBHZz(u!{-%7`seyikU{^^>-co3l;;b0JUtbnNjV}IYfN5kYaR0b0;(E`O7 z^ALTK0=|LjKn$ru-n+V{5s#GMtt2+n(Mkdqw91lqFv-3$gjDk6{$5NPNE*vN>~RZQ zG*>$#y3sLj4W|BZs$lI_mS{kd_tNtSf6~&fTan{L_F%G1M^IRkD4LxFKM3ufSw1Y@)h~W8u6??K}MUCzw~>}w*b-Dl*43WT$;vD< zf}93$yatnotW-+UI8?hWV|MXWNP{?lJ;t8x(o={eSj}zEw%1SU=-^=|Q;vVM2d(z~ zn^<6SOG4i6X=Q9rZdjy9jY1@*tM~!l|Gn@T_GoCq&TLcU@iV{8pq@fY@r|wih3Z^| zATK;Q;VtH@s<6pHFpC*0G0Y+{-u=61Hk9|}XLCMD8%x{T<%ARz(`PYuRv_!Xal0vm zRju~)fV`8HS*19TgXa9@JJ7>^i4aiJ>OY>COV+f+QFugN7vWGrDSc!vYUEj+ZsyU{ zysGLXcJ2;tM1XxtZ97eE^EvbKK*N~&@fpqLTdclhlph~(4L1$75voq0JP=}dLE&v`LmPTInM9R3Ko*ns{ym2B_&yqVKAeCpd)9F-hr#?Gp{dV&+ zz(-k`3dyH(&WJN6RZ=iE&rM0XHw;+AH);6kBX}8X?2lGA-nPM+cCrp-&pHlQNYQ_ypTJv~wXi;1i|-(;CRe<` z!2l)_%qc#E%!hb8swzq+blOML58Zcn29w4!)u@2(Qe20pRcW1A(>(L>^nGTve>vau zpF?TOrZ5x|-Q;b-FJy>Jj+DxZm1sTs5El6)G-_av?FH8>3mdoJWRA;6m!cNXJ&U&| z?IMm7(BJ>&DIz+D;mKWGcYFSW6udY|=o%x54nVkFDSFns85>qXL2o%Idx}-5LVy38 zPp!XU)hzeP!gA&!mG838w)%GF450IMDyuk*JgsY!PQ(ox3YKo~ zrMi5!ZtuoNfEd*)fti~lhh@7!u`{Pei;RM`*q3Z7z!{l$JGOX4##1wLriP)a`sfY3 z3g18x1K_@STj0Q+SnRz0;xI+g9gEwNuJefK;-s~Bbl10Blb495`*_+#=36c6V$pFx zjRP)J;$_JH*_ZPnnaHY~b63Q_nY3`%_Lt<~x%UMMR*dq0;PmxU1Oi{}&bEp&D$!aZ zg3qZnp%k)_uE`>n{bsuX=P3~u{3wiH+PXLqk(%ligjb_3@ZC@2kR$j}J)G&YBlWU- z#~8{DX!R#&!bkNQlzFw6*=mELQKCl;B9h%lr@Ps^r?`1$UrI_4)HF1e69Kh-4V}UMb>f)?dV1 zH?oBgD9h;ww!2S28GMg=#U+17)e#Sw_g~_8Ii#o1R4Edi=rAyVt zg|8kpt6xXPF(j;z`=6ciCf#d>PhqZ;*zj6Ng)?#~oIU+ur6GNRFLlus(nmgfrUfqO zq4eb!TfI-45~MHsg}t++&LdJggAu#GuFt7XCZv4^szAJ86m7$|%U6xxmRsFCBSCRU z*5O8AGHpPt1YD}|E&AOJHoY8(pUql#=mRw3nR;-U0N-OM9d*&*w!0jBH%+>(ubEO= zVNgo_!i41q6Foaqzt^#-mt*D(7ePsl3*HE9re6x<-JBxVrX_?J6q8cQy<-;oZ9K2u06qrJuJs$AovR9)8_Z zk~(JwID)xTDya*_x%vIM$+XG&`0%;kSHS$s+_r-iUbSBTZTWiR(e>H&G;JnicSX42 zI-2&kT-!bo-Dw>Bq*n*~>q0jCWE8b4Lw60Z#wVFZ&4YmFMsNI-dmST06BmMKk-@|H zfXQdWm!7T>JS4CgE&s}u?{aVLn+<4Yot>L86=MCaCTKz`93&EHtE;VIh} z!tXDf9ise#&4nJd^#_?wf^_> zH(g#0*A<+rG|Q(G=Uc#0c|j_5lu43nG*ECoL#emlz|GOHg70+QMHddaKrA-)qZfu`oi%%;J(MY?I z9bYo@%D5qhW(VL`J$6oo8-Ia?V*j}E9}eaF#2-RJ_r&LC-=x)DoiJQk2`)uyWw{t) z{+~SKI2=AFY&@AeZbG13%!Gj_Um;%LV_?~;Ad}MRuRl?ITLEAj`}v#{9*2_fz^v7O7R*M ztA4p!ce>nmNtD@2er^K#7v46KeM{ilMQ`qwO{@~@wlEWcWm3?eg*y86=_9&pKybeJ zKy`6POn3uhl7`Itx@nF&(W^D#^;vYlyW_S^iI1+?SV9Tx@JQ)Ii5;i5b}Kq55t731 zC!da6V_r4juWcLtM!oh3nqg~9=&^HLzPug-XFBtmobJ3KaP+0r@ff>R9Whu}@7K4N zgre(XU|2UBYzhb%q!HVhC!<}Gdrht^Ep=8Dda@%&@Y`+noUp(u)7{@|%Wa67OZvb_ z>MAj@!TXdi^BSdi`nApP{T$Q;|9=$B<6bxYc8kU@fI5>ijlFy2jkvX?_UqT{V^yik zPC?(ss08kS-&B6{$89}8NB?RDoBtJ_fLRaWPH5gxgRu4<(_Ra`YGyJ)&x&hcLW?>Qs_s2yITSs?3!Kr8^@C;9WNp78UzZyyxzQA#hKEC+5InD3kxAZoA`WTz+ zbhM7ft9jQ`>ZFz&s{xe(^5%t^@W33_K{U7PwJ?Wx#S}`;sqJ#ZL}RAC;_}rqHmB1K zkfbbfcWs2Fewn7uZD@LTKCyKGJ762>x5rC$EP30cxNgI3h?q;-^XujH`PhUvx*Q2t zFluxcC3ow1aSwfl@3_R>`BfCjC-)x!)c;^9U*O}1Qx>Q1O&OC8>C{;c%L=B(8gJ*6 z0M;0XjbPqctEW57Q0;cP>C?XT3bZ+{xrl!xvxu472v?!6sqD}G=8rS*|Kw~$V^WVZ zydPQT#n{ZCXWZ!>IRVx5SBvyuv&jFm_|3@B@ne6>tL=Q_3wR}9KVLf!5MJ> z@S(}6)5U1eDlK{(;~i05{xa1+e{sA8#P#nS4F7zc?9m&S+INe$GK0Y)0PIhIpv&O; z=eVIi{a3Q=e_~JnH7$XD7yrK)s|z+*{{@)(4}^dg4#1jVl3e3iHek6?z2XK}Aro*W z`rgQjSIG45AfR2Q9`w-&@lJn_iJPa5=h!KH;ldHB2vM0n3WlB&wxiOc5u|0j200lv zJ48F}4+3Rvf?Ef>>AeF9vGRVb>392PM=qmeG4gm7Uin6#>{k6Sx(}_cg=EuQTfY7h z%JTNymAY!G{R7SY`g;gevZX7oPL zYa;vK-HO@4Z>nfEEe8OzDA$}11St#LzL5KhjLI*ctiG8P*i-%adxa!6y_zrV2Km3E zP{ZcZXncQv?_zoPl}C@XB!ihiJj0Nn6dH>Emgpn7l~fDQf%f}huSau9^>UrkY!5#0$e6fQqT3AvPzM*xY9fJ?IdfjWR%b&z;i z!8hKa-Y&qzLThfKZR9jA^?H>yp{V`c*mUwpP8TsUktdKo#!L71_);MLmUl~LbsHo_;O{*WjTVhtFar?hjI zgI=dwao8N|1j}maLE@KQVl5T?6?NkK(7)Xnc+(mfK}61jBkl=6f11`CFDs~XbZ#{^5vW8)a>)RC{;UsAV{rSV@Dq%31R4?_mm#1 znPw#gfBi6Q4BBN2a*qsQ3whTdk&~fTsK*Aa-gv2?=bzImC6qQ!>*) z??lH1QwKr@pk1yo^O|y-b8^2svk(VGEnw;+<46GdF}}yl4|lod(<9zDKkdg$K_ht` zj0B{pBGV1&WWOSJ>vfeA`WQ=esO?&8P*-VPM@H0E4JHi+FayvqA0Jg!oI9@mV@YW- zhRxa+BBKJxSEhcC?mAgF(%+^E1al(gGhd83hte|PzGVE0-OF6Mc0#I(PBfk?HtT|Y zUG$2IiX7vp^-cI2)fQ79;1L@RTw;o{0dZw7Qw~#>%-UTW%(UQHBS#nI$57#!hX_sd zTGU*cGl%%t-+z?nlRL1)>8rLrH`+&;< z|6&W-`CPTz5l_!^kYFMC#g@i{EQmaHmfu^$z_eO{-8f~`7%X~ucW4n~rHOYFQVG_n zYk}q%QcJb-B*)_`KBvP7D!zSwB_(B?t@4rlc}6Y89VMjRLO)1yXzSp$& zlOA+O>2o#X0hx%FI=ZZfu^(kW-dDlZ#EJ}!2qpitLeWRu!{+i#K2bU9+g}z%_w$}< z2cJPSlw#r*q|>xJ*|fA6bQc`oUe6$&Ud&0Yt>cT(QXvY6Y$`?4UypN>X_FuNmU04sg)>u}3Xb)8#S&%JV z&1%jw9!MUFPUc3~uZ37vWjorIzF_F#;mp&o(&Lz{#0tY;siakSU;nnX^YF>m_^{KCcpu?KcO|KW06) zHQD7fE`q;%_5h`kZ=>ViIA% z3sw>Y6}YLC60Y;-}CEroO+)wdSd zQBDnJhllOfKSF>|18XtmZ5saYkznJZQx$NY%78P2p+>IXmA!0eH`KG#6PFZW%hQrVy-?h;g#?g%$Vr z+y~g-GCUi!&O{VAH#j`OyBQ(sUrbudVmSPlcS@_sCNj4hJSsLM`QlM7yIk)g0cqo_9Uw{e}HJ z*>KN<)?+!}jpd;bWPaW&_OC@hl%5%DM<_tLQM@`a5P+LkMi`VLz>J7BpQ%I!4{fAb z9X^eCu)D(m6pWu#SF1iqtj(J(UC@px@9^Xt7X$oEO7)}&<_I`M!2<1-Jk&#ul*Bhv zcDYT{vbT)0%G=1rl4y^;ul)YwV1j82d5CUqEu3OR;ZnP5kR^>dRWlUu21`Uhgoba*3DT z4~w)WqMpkG5H)L>-6R#HC%ub%Ta+1>L*D+EXX||4JtRSkxQ)xv;RC-!uOKh+JzD!C&%jH5n1p zHsH$`NQ%09ADVI)h(g(oh~CKZkkyTk2ic%h3Hzdbs){@m@-cA~G;^V?VALmhh>T-g z&}bXwT@yvYfb_EQ#;*`>%N{sY_F?{eJHp7#@&;7U0ydvnwSsXo!2K=vYmno4(yxFY z;_3(=N~#^(J5Z1?OHJT=x0C8GJDNz3YR?s!`!efxNXI%bIK1mh-ujb3OWG`T6tJ*t z#KYwvu_qQ8WJXVY?mR7YsD;<85;3XrOhLfvsHKIVS{ne0A;qmhPXUKeEsC5;F5l&& z2_zCVJma=s5u_H*&+zl+XkDvYxG@LjL zL?^WpKwJg}gV*66d`Is}3&|rD7mLJLai;`0jjSN!q3f$Dhf4Ti-VRjdzTSo)6%bLn z&ZNeP1H1V__l)5|C%Ig#`J()jnB=5SW_)3l3`3f+47Xp^PBNstA@om^n(y+uE#wzJ)OqWGatO(!l<250!*Q&zW1r0I#K}a4@n<)=h%vj6H(*H znONwI+?L}_;iHNEuJ!nzx|*qw{lyU={?UQW_SMwbA^lOAx><=f(pQXd%6gAMjdk_x zL|NOG7)#wsGX1W1$Qdb11ZI#`)oOj?k#`&)Cw?$y8Hr6XtEODzrZu`xv{ZH36=1Ej zhDJUSB1?l~AMs-$hCKjqK83~4Y4wk%a0NCVq^5*dKf5rTYZJI9Sxfl0r!b>+edX+p z8eU3;@5|r04D}UF>oR%ZtEJI9MwHunM&kv+(hP(~oFFA)D^!03v8IW2gE!pcsiIUBe#e;uuSkvR zOM-c$Ay=B4Ttk+Tu4xj2Z zEt)sIsiXQ0<_tV$V^oer>V)%pRr-6$^Si!p#2|$J9uMX89mb4E)B)ZFus4=}@WZD6 zD~nc7J*W;5)$@ReU<)=CW~w7ypA&!>uLdeb9vTw!9wHW^Ax`f!2R+W;9OIHb*1hgx z`6_t8HnJH}f@@v2@T%VPGd$^_&p*irQZu?2_g- zoCk=M{4pMj#f|;WD!>!v>)nl*X)&@yxw4dVR{ROlF-~pe2PqJoLP~fRj)2cJ%w4OK z3Em|Vu8~_+NUrWRF#{fI4U$KmmMRLjl1J^lF>7zBL*9ypW11g∾BnizW5Ax88x(?m1cf+8 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 literal 0 HcmV?d00001 diff --git a/docs/_static/images/espocrm-extensions/encrypted-fields/encrypted-field.png b/docs/_static/images/espocrm-extensions/encrypted-fields/encrypted-field.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce6278d6b79e2d14b639da09cfeeea6122254c9 GIT binary patch literal 13064 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 Csa??k literal 0 HcmV?d00001 diff --git a/docs/espocrm-extensions/encrypted-fields/index.md b/docs/espocrm-extensions/encrypted-fields/index.md new file mode 100644 index 000000000..f771e0222 --- /dev/null +++ b/docs/espocrm-extensions/encrypted-fields/index.md @@ -0,0 +1,64 @@ +# Encrypted Fields Extension + +## Overview +The **Encrypted Fields** extension adds a new field type `encrypted` to EspoCRM. This allows you to securely store sensitive information (such as API keys, secrets, or personal identification numbers) in the database using reversible encryption. + +Unlike the standard `password` field which uses one-way hashing, the `encrypted` field allows the system to decrypt and retrieve the original value when needed (e.g., for integrations or processing), while keeping it secure in the database. + +## Features +* **AES-256-CBC Encryption**: Uses industry-standard strong encryption. +* **Automatic Key Management**: Automatically generates a secure 256-bit encryption key (`extendedEncryptionKey`) upon first use if not already present. +* **Unique IV per Value**: Generates a random Initialization Vector (IV) for every record to ensure that identical values produce different encrypted strings. +* **Secure Storage**: The encrypted value and its IV are stored in separate columns in the database. +* **UI Security**: Fields behave like password fields in the user interface (masked input, masked display), preventing casual viewing of sensitive data. + +![Encrypted Field](../../_static/images/espocrm-extensions/encrypted-fields/encrypted-field.png) + +## Configuration +The extension uses a global encryption key stored in your EspoCRM configuration. + +1. **Key Generation**: The first time you save a record with an encrypted field, the extension checks for `extendedEncryptionKey` in your configuration. If missing, it generates a secure 32-byte hex key and saves it to `data/config.php`. +2. **Manual Configuration**: You can optionally define the key manually in `data/config.php`: + ```php + 'extendedEncryptionKey' => 'YOUR_32_BYTE_HEX_KEY', + ``` + +> **Warning**: Do not lose this key! If the `extendedEncryptionKey` is lost or changed, all previously encrypted data will become unreadable. + +## Usage + +### Adding an Encrypted Field +1. Go to **Administration > Entity Manager**. +2. Select the entity where you want to add the field. +3. Click **Fields** and then **Add Field**. +4. Select **Encrypted** from the Type dropdown. +5. Configure the field label and name, then click **Save**. + +![Add Encrypted Field](../../_static/images/espocrm-extensions/encrypted-fields/add-field.png) + +### Developer Usage +To decrypt values programmatically (e.g., in a custom hook or service), use the `DecryptUtil` class provided by the extension. + +```php +use Espo\Modules\EncryptedFields\Utils\DecryptUtil; + +// ... inside your class method where $entity and $config are available + +$fieldName = 'mySecretField'; +$encryptedValue = $entity->get($fieldName); +$iv = $entity->get($fieldName . 'Iv'); // The IV is stored in a field with 'Iv' suffix + +// Decrypt the value +$decryptedValue = DecryptUtil::from($encryptedValue, $iv, $config); + +if ($decryptedValue !== false) { + // Use the decrypted value +} +``` + +## Database Structure +For a field named `bank_account_number`, the extension creates: +* `bank_account_number`: Stores the encrypted string (ciphertext). +* `bank_account_number_iv`: Stores the base64-encoded Initialization Vector. + +Both columns are required to decrypt the data.