From 20a3e21e03932cc50084c8e69a58d41ab8c7d356 Mon Sep 17 00:00:00 2001 From: Jeremy Davis Date: Tue, 16 Jun 2026 15:23:12 +0200 Subject: [PATCH] ECHOES-1377 Add icons for Architecture 'system components' --- src/components/icons/IconComputer.tsx | 32 ++++++++++++++++++ src/components/icons/IconDataTable.tsx | 32 ++++++++++++++++++ src/components/icons/IconDatabase.tsx | 32 ++++++++++++++++++ src/components/icons/index.ts | 3 ++ .../material-symbols-rounded-optimized.woff2 | Bin 12032 -> 12696 bytes 5 files changed, 99 insertions(+) create mode 100644 src/components/icons/IconComputer.tsx create mode 100644 src/components/icons/IconDataTable.tsx create mode 100644 src/components/icons/IconDatabase.tsx diff --git a/src/components/icons/IconComputer.tsx b/src/components/icons/IconComputer.tsx new file mode 100644 index 00000000..e5a95e6c --- /dev/null +++ b/src/components/icons/IconComputer.tsx @@ -0,0 +1,32 @@ +/* + * Echoes React + * Copyright (C) 2023-2025 SonarSource Sàrl + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import { forwardRef } from 'react'; +import { IconMaterialWrapper, IconProps } from './IconWrapper'; + +export const IconComputer = forwardRef((props, ref) => { + // This is Material Symbols' "computer" icon + return ( + +  + + ); +}); +IconComputer.displayName = 'IconComputer'; diff --git a/src/components/icons/IconDataTable.tsx b/src/components/icons/IconDataTable.tsx new file mode 100644 index 00000000..17f19977 --- /dev/null +++ b/src/components/icons/IconDataTable.tsx @@ -0,0 +1,32 @@ +/* + * Echoes React + * Copyright (C) 2023-2025 SonarSource Sàrl + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import { forwardRef } from 'react'; +import { IconMaterialWrapper, IconProps } from './IconWrapper'; + +export const IconDataTable = forwardRef((props, ref) => { + // This is Material Symbols' "data_table" icon + return ( + +  + + ); +}); +IconDataTable.displayName = 'IconDataTable'; diff --git a/src/components/icons/IconDatabase.tsx b/src/components/icons/IconDatabase.tsx new file mode 100644 index 00000000..9f2a4588 --- /dev/null +++ b/src/components/icons/IconDatabase.tsx @@ -0,0 +1,32 @@ +/* + * Echoes React + * Copyright (C) 2023-2025 SonarSource Sàrl + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import { forwardRef } from 'react'; +import { IconMaterialWrapper, IconProps } from './IconWrapper'; + +export const IconDatabase = forwardRef((props, ref) => { + // This is Material Symbols' "database" icon + return ( + +  + + ); +}); +IconDatabase.displayName = 'IconDatabase'; diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts index 1b1854ac..ab2550be 100644 --- a/src/components/icons/index.ts +++ b/src/components/icons/index.ts @@ -47,12 +47,15 @@ export { IconClock } from './IconClock'; export { IconCodeSmell } from './IconCodeSmell'; export { IconCollapse } from './IconCollapse'; export { IconComment } from './IconComment'; +export { IconComputer } from './IconComputer'; export { IconContentCut } from './IconContentCut'; export { IconContract } from './IconContract'; export { IconCopy } from './IconCopy'; export { IconCreditCardGear } from './IconCreditCardGear'; export { IconDash } from './IconDash'; export { IconDashboard } from './IconDashboard'; +export { IconDatabase } from './IconDatabase'; +export { IconDataTable } from './IconDataTable'; export { IconDelete } from './IconDelete'; export { IconDependency } from './IconDependency'; export { IconDependencyRisk } from './IconDependencyRisk'; diff --git a/src/generated/material-symbols-rounded-optimized.woff2 b/src/generated/material-symbols-rounded-optimized.woff2 index f84b3362f027ad01c1d6d3b0f72d947ec2f78525..f0a41ba17c7fca140bc4ac93c3ce4e3009be0e54 100644 GIT binary patch literal 12696 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 S5azgUzJtfx1q4FCXLd5>)X literal 12032 zcmV+bFaOYYPew8T0RR91051Rl5dZ)H0DRa004|;Y0RR9100000000000000000000 z0000Sfo=w1KT}jeRAMI<0EK8TBoPP-fy6|Cq8tl?DgZE^7y&i{Bm;sf1Rw>40tX-r z2OC;xGXufK0YISjXrd^StS1>o=_Vz!|H}b4hC&UkcMmpbQ$Z;}f(1$8pd!eeL=Hh1 zjYc{auEob+$5-#Pwhzm#(O-Md_f}uxnr$}~nW@|M2#tM`YwkN5Tmi6@x&5@ASiYeYz0s32sSLM#;B>TEs3S&G)@0v%$r6!*X$|g zF7;aUOfFZd@k&p*TGQ}BHv60W-908Lld6g;u+19Q)3TirB=R2FLEi=S66X-=r4V=N(rr=BjAp+6 zjQ+@9|Grkd#@lDm?nzoQZ6dV)mwkJtBVft9+2`Y>0AmG2eO{lMwoKZNindqHhM%wM2JWoJ^Ozco37#= zHX*1WDD=GFDG&&qFa#3-*nem8rT+uAFRRp1gH@Wi&5n!R=JqEyj#@Ge3U=JPu zZb;UdH-5$fsIU?|1fEcVfIvXG5kU$}e`QfY16$a`5w%bkE^vbfyx;>Z8lo|D@P$8` zp#@r@4T8`X9ncY-p@$J+h(I??!8FXkY|O&~EW#2j$10c*iM7~(P1u5Mh{8_r+yjb& z0`wpX4ROREtd8VOis;=t0uSO@c@gg;9|QQt7#=%(Cj($mk|S7JbB6j;=n&*E#xw~P;tAG^O0|1u%$5PwKKq#d#j#}l6=)l2eCI+_%d z^dec4?4A;v@;v2D%Da@fly50NQ)gbM(p=L*((=-Z(|yy&-*xwjyZ+vmzA1fM`u_Bz z>DSY5rk7-BGXgWhAB~URjH4OxnGG{PWtL_IXYI^7lxO%w|D*Ds6g(<;SCCw2TXeMO zd9hI3zNB$UKuL7zz|#COuQH#qUS-S6lFN%^8N6KjxW&I*IM-bT_rYt=uj0kzeb)Lc zeVlwEe7bs{@SgOp^7aJ0ZM~Abm0qtrXM48y^!8ZbF~Q@Eht7j@+v(N=xS8DQ-B!D; zbbahP!gZEw55Q%RbH4Lc=VQ*#0OyU)UpSipXDi^xzaYoeD|5DSrY36M^ib!_puUnV z^`X+$JNl7rYQ0oikrV&J$oLrW`0h4ip4N z{=Ou3Yhj2$)OJUS;7o{ng5|V`==Y1_!nL=pB%%|kcCQv5Jju{XL|K8D1LWKZNZ!U& zsu8&AxZNQL++ZdVsKPTTG8OAK*VgK|9@jWfNC*@n2ao_+V``LAhNy7YL5#^UR?w1h znzRw82hj>Kli?K)K}CqnHowZbDpjaLE-^)_4~&YIP^ETFs@d)dLkzR^v8?esY%)9o zK_1j<(W%--TManOXji>w+v9ZumV?s@fRYxBRK~$g|w<=c!o@Hz?4&X{c>DC#H$01B4%7ig7yI$O@=n?_2^A48u6H7ca z;8cY3cDq9xaiBwLJ+D^B;z*88W1W(D;wi|vNAbn$AgSycgYBFh*Z_>g}{N%nX#m7Yz`e_ZIx}3F%?}~+@ji4 zx3}Vyjlc^W*zkS`0FXeTUR@VKFm6M8)q2Eg8QuPymW=31uv4P&L7(P^v_thsx2Ndj zC|d>4(W7EXqSinwV_PUC3NI&V zfqPO1#|z%L3jVcP<*7)aYWyPUvzF>)Q@r?$_R=82eBi;1b7LY=6HW@W7#A z8Z#S9xC^L^M1(^^liAUM?zd+`an>0?g^78Gd1fZia;#8m^OMlb?Mo?=klR23j4$so!#tNd` z(K>FI3lr&HQAb^6&M!igA{LAdxk}M2KosQ70izA0A}O+Eyx)o|?1()Mg?y;R&xkmm zS)}Mm>F&Uj&4WA?%@07Y9X|&gWKACi1RJ!4m4F}Fmv*yS-uOx=N#KPHveeHx`2n`l zSiyf|yPWf8! zK`a3zM=+-=O)3E4*MIl$jc^B-Xa{0SpDGx=ARDYl~=Q!X2;5SpIs}+?vo4 z7Ds{?-3K0!M+iOL5>6Y-Zl9Q8x}rMIjB;?&c(wxCY$+MArv_`n)2drw+EyRzo)i_S z(bu^@V1_t>!+>7LEky7Ixu@c_~|7Fn$3udUpqkPkpV6mlJP|rwXOX`hZU4|kY zD_uJb$l?WkHiQleu`$BNF-r+>orUWHG7B|?G2##*6a7CSY*IudN5L5o$zox~w74K> znf`v5S+GXEV`f8ImX4z+U%ms%Ml`MmsFY-@d(o=UBcrTCL)92}X=oFCNycM#<2|D3 zxB-D5vtLTDzpTOkKb&jwBrZt73Yv^0xbLjq`0|%cjjIgeCV*J7A~lTupRUmJBSD3O zqvTEGBW^DkrUpQrG%6%m+}AO5xgsRB4p>7E=2>u21s=<*S~~GcBLb5koJZE)I}=|Z z5?sF=dZkUqh_9Pu`c5^yTac-I?$$VxmZ#ht3zZq{8efMjwrHO)gBp_38g_>crYvE z6_YxYrbnxg@b;!WNUv9B+)NolzuXFT$6p!pzWqE-@I5R zSC-P`ieM{!vb8d~tgsYAI6NkB(cn>*Opmk(QD8BewW2sNO!6Y~u%j^3rZeJ$R~xZ- zn{vdd^N>rQGZP>CPOX0AOxxnW4Z{aLMNjNDk|O~*rObb8A);U-0bv%Cv6+Tw#VIh; zMeddAA$!4e+C4W~n_M!(6uc-~MTL{m9qeTXGxa!;MJP_&UM=N{uY~1{vG%^26+(l2 zrL<2GyGm%W_fc-2{pOkq@JPRZe-ysiMf`r*hF=+rIEj1uRX)t#%4BTNYQg_bqXqgm zhsbEVVo4P^*6~U6s-6f&Vk1nC8)Mcc*a?@1A+USX)J#d)_#fi&#N1Y}bc1TSSqH3g z5APF^K8+dR+B1mpM3Ap{yBV|kcID0huVY_w)7%!A_B;Ky0uax(%((BHciWd z3CXMsWTfSQ$(5ZYd-^y&0=>ULk?lGNXBJ3CNMAk7^&VXuWd z4bZNm{FWnBRcDN~b-rM=M|761)XEiSgd!7e|M}jL0hNf}e|4vSwx@owq66!8)wgbE z3wE1m)zPJ@!+v8a7v~axCniwwEi#6RYh83cAo2~9N}%e52hk0P%OI+)@<;xn(bDBt ztVqr0Be|g}xmeViFsnQy<%7y>9HCc_yb4%PB>9nLCSMb4>yvQ(>3ax2S4(Np{PaE3 zu$<)fUarQsg3GFXGcymESX<^?9wDTe2r82zbpsTIsVIfh5%=2#%NY?I3jbZj@cR%j zQPUM&Ld9gFyO*rQefbC(3UK|SCaPCM@=4mc)aa&tf%Yn#_B(yAJ??5Wx&d!yWXNQi zr%k!ZG^B{-h?kM%?SCm(DRX0+>dZ`b&q>aW{ydiP&1A481 zG7GtXrYKS}z3IB@It?y;JJMA+17Zi92FyN-vu93Stfq2x#TH~rjw$ce;z?ZPb78k| z(v%0BhIM&TQEr{5=BJFj)EtObR0e2wK%jkk0TJ*Cvx(^-D_EQ(OV1;}OkyXzL_RW$!P z5uC%NZKln#u0Dft*_F}>sCTY77L{)XJ)%@bs`3(kiDgpN{==tUWYW2LpdiSML^WyguU zcg*$^)cdVcl$Nizgfu<~UT29$(D_^K9sfSbcKrtc8i=A6Es_H}bn6<^S}w`G%`*;5G{{OI=1y&qlbQ+L*tl$V3)0bkkjcXn5M?^5TjIsMJ`0tU`JiRjR75LR)LAQ-e##MyfH z;0%DJQM!SF(o#gVrTsG4%U*Hem**H88|T>A_^xnxoKU4tAf7}$NH`L_#QPMWAdIB; zmByspF^d&dBbUz>F1U}}-FWw(qB0BIr0|2g|!K<(W?(NDm9_d3ZQkV{nPF3sI zt_NHGCClYuvS1vwF)#kq=Fm?UX#^D)EQ<(})6!br`5f}$ZExqz=H&(g9aY2g!Rji& z^%A}I#EDwA%o<^KOH1~$VQr~;VxqbxtSJ(E#5$e0Cou`SP8*RR*0oyJlM*SU)ulbc z0}G4YwBN#k?#1&hb|nF=&~yMy>{Y8V_Q*02YiPun*!ud&;kp|>h8?!7b!=?L;Y&tX zX&2iyi2}qKL0lFoXNrj-dPo6D5y(gob}uX*Kp71hL)`V?*`JhRy*TYiZ#U!5mCWGu z(2@O(Z=RDQiA*BDw%^o4+4Bd-FD8_~S?Va);P#)~*Eo~t?o?2OA+BEA;W^^jIqf{W zS}~fIR=}EKZ^I;_EGB0Dh!HQp-_Zdi-2hpq_tcOpID!Ac{`OYC^VDK@0xdb6 zoehA2J@9I?np{Svk|$>*4FIhaeU_G$wyqxxD3i}jXUj|zrUL+3%H2q=`u!6eI!cnK zGLuWpEP;KheR`zoPt67Q3#VQ^YxvERyH-ja0hNpXD7@H)BDWA@7kB~ zjl#4n#5lXOBbZR9)J3^S-=HZkh~L#1Y7kt+cf=RFd@WIVs#l+WiMrpEDk1U>0sw6g z0PF*uh3N>MPcNIvO%^5VnIYA8&|E)m4x}qa-8*+oIFOqQfJZY&JREp-7W|-ABOTK! z8k5h|H6rH*1t@j<^}^{>*2U?i14Xg+eE7jjIWw~ymiD@@rmhIDqBGu`lus?9Zd(25 z7oGCKvT?(B+RFGEV`BaNMvl?wY>e+wPeqR=r)tN8T+-ob`rv2{b>WGEx6F%Waap3@ z89w1VPMIRx5!)RA1up=K-%?}A4FByIck<3i@j@q^_jU}{2RR0SXRB;%*Z}081NbR0 zDE7owqz(ubL7WkXan#wL~N)oG~uxGp9h}}(u^heoOKid<@&j$RL zw4Zz%1-j2wIAic}z4{GE@kigeHcEjk57$!W%y1pq!$lo#3uKS{HBqDqC=DF?G07|G z$DyFoIA7t!UzG50SN3ZXBOz=%+d;uk6l#G;b>n|Sfps)R6Zls$oX$o*TY1gi6rQ58 z@icla9-6itENw}(;{Y1V6#$_1sY8=xf#ac866SM1M6{PblvugAMcO_!9MIfj-Cg~% znz)UBM6s&py`!Go)k3ZtTIB0OsGJbqR}|) zO7qSX_9dhPQZ2KRur695t0|SmWf4Fdf`0@a=xKaeNt_iO0fuu@O-&M04&~0^goI#V zqA5AWE&q;6mI-#*7z)py>vXH}w9(zcc1ubn%xNzP^#z6~fzU5i+JOAaqBd9QCtN4voTw; zk!KLtpZ#g&8zJmsJCZ5Ct+EU)$%t&&jL$k7Q`+vuY|&&#H?0P!8q8IKnAo5o99Xbx zKSRd2aKH#vLRp1U8B0(_9B=0h#D_%kvGQ$*3Ew?%yBoyck=gtUH@c zdK&BZq~6u~UMSUmn_w-;VwbeT=lHKZ^R_uSv)pmo_}+udv7PTZqq|3t?uya79=gA0 z9sr!0=&^hF%=Ml?E3-rjUrmpsJuyjvSWMXu=FG)Y7e7bW!Y})Vsv4kCaB|@}Ptv0^ zd(4vb+;d|<&(BE`0ciFRS3fsbzH681<`*kYO$k9ms<>td{n`iR8Vrx2t!;88o?~#7 z=-n0JcDCsms$#(M?;v1D+duHc#PE>*AR=bN0jS7~j>;<7f?E}$ft?CU2_IeP=`iE&MYec0e_+h7snWty+V(`DG zv&19%9Ggo^jhboZyp)cTUl`OOkW&oXq`JA;qKA}%2<@3DS^)_Kq~$$&)&8m7`p;uuC5;Pl zO?|!ZIujG^U5T_{*d}56`BE$Bn`Za8HUZK;>FQ6z86+d)!b4Ja)LnaNY^=u6g$sK_ zem+Vs(Do>k_o!$pIb@WErLm=@2WzOcwc5ONX)inhzMcvGejw~Qvoetto`$tc_wIRt zsO%^U?m5$!>6_*-n`+NUrXcO;%OiLiT;O`sli+d7wIIsOytvP6pE$A2ZU z^`gAiEf0d{&2=Gvk;P>d?1%LMP)-0ztZt+Kn3s5q*F2wA{0Yq^#fAFmjRNcB^!bSdi6TuADGe!J>6aU1|9>c#2IL$(8* z;h3SCV~_-iadnV~flGz0dw50sJ$V1_8tU;gYvtz2OYwGKqu+hm=W1(Lw zraC*Pu6|iY2WzNQ_fnfoaT79G^okX?0JvHx;I8kskrD_}>YjA721;0>YZzt7mv7_D z2i#qjOx}o-BYf>@8#a~m=z~-pel{~Mjw-KYN(D4@|9+I#CuLNg(D3zU&Ej-MLy!rx zE1Ku!g^n(!Nl;3QMm)JNx_R^Hg(t!|K|1RkZO4YcN`B;)6*3rerRd83wo~4u-=Wc$ z>9iF(Z57rO_U)+%lg~UT^^Dz@&@egKz|@3@QhxAmFp}D?*PY{?bN977W7_5NA}A`N z7KOb-l_OpT1G(LSIrz6D0D#)fhstw+efu>oSY3QvyI)EraT zN>WlJ>>IH0@Tjh?t;M_ANZut|Y4d{zMHq*OE1EnYmHzNU5st{wq+~U?@!dwx;a(<8 z5hnjGl3ox3>d!t0{06R_ZKxiK3K$A%;2DjN!u^M;lW@=w7>b>bI$(W`i-)tnyGN~~ z-urF}`|ZB9*|v-19ntduSOS39wP^B5j?BXYr*kR;x_dbUD&`^+39f#o*rdJyR9bQW!u7ESIsm9YNMwGHO}UOy9%FiT{~!$%nI z6D?PzC+}T4wx{>j{K4+UMNgc`i{F0hrOmO}6nt%+pLDo*E-JR2Jv_o5$$b-JVwW#r z?BTXnl=$MbW(V{5Gd2Z{&qA4Kd?p2DKRdpIxxF+aZ9?a#^P5P`5NjKY9huIo#zv;t zl{$YKS5nF=qDl_c4Ah1t^c}Gf6in@54KEQfB@86j@28tdq7%v+3Aeetm@-<)Nr3j}I+W zz6{xnkbd?&74Gj{sTSAr*vW#7oe$_t^X3r_bh1S}-c>qbJ^?pC!JV7L-91;FQT0B* z!nr^5?}=SI`f={z2r8?!tgJW*^7mG}}I?DB)ws~B-7q+7R2q`s{2jeVif z_sq`fZ7j1uiZmqKLVx(7r$o=SwE5xFcu7n+#aALBAys8aw%QOsi@O>T6mf2L|Hi&B zdjc;n=v5D+5=LMAn%x(6UHEG9wc$kbA(7oWgURA3SV>y8TP;)bCHUQ~8JfOhZGC52 zw&lFAcz{7l)>NG^`~RlHj;5y9`94E>%)+t5>V$6Icba4pqrdnO{%$w`*3OuJ2!L1FArz?H& zMQOvFWa+p*Swey=7>A3NHR<_%78bigWp9N0`R%f>*zMQN?<|$a3xn12$NFp&Qxh;T zNfRe*2NM$j42TB+nE)4n1y|lwifg`pV2lcki3wyQ1IiN`vut8G)Te>w`Z_m@iyt%c zspC3wyGVU@O0(WFm{1@Ij)=-_=tatwM^~E!#ZB6)ieM&=NW?M4xT?+QS0CvkUkte- zIgSZPUD<}We{P&?3Vsyb6~#6d&eGC?r4U@vo$QMRAgXOB5~fos@W)Y&_m)VN%vVCC z0tt#JjcR%~t9WvJg4Ph7Vs|q{9ZxwaKcUf~o1o9CXzQI1pG)*40 zmV}PhP-eIeENhWYjMp=xyuF#SriPO)^J!NITx;(~k(<9N=*t^IQ-CgD%xhQ|(zMI$naTO%dqYD^ z%;30ZG|{d7$)K>&RfNa$TysMbd)tyrN?hBv3!=!rx`o}l?6EI~q-Y?IKoGgLh?Dgt zB^bUQV_~;%qm23n7S?m%KoZ4kp=*1b6Tjka%TCAM(btdmNTb(7nei|pYwMOitww0j}FCLf|*c6zhqtaN+b~FE@;_Qg$mw9&y zL6Qt;L6`75|4c6^?d}#D~ zeSFNuvng()HA)}$Jj{CS-Atkj&3X)ZS}VDFwD7!f@%X=>ICgC8R>Wb;IU+J6SWgG( zAcEIu2zwEWG2j-fc+iYtqYU_ie&2MkNX8&_kY;@WI;i3$(5li*0*gWd{{1SUKC$?j z5puQ9qVEB;jRw#FTSS5sCH^Mc6Tc1l z?TUsl!Rm3-(=2G*kC@)k9j-8frZUw=fy5@OSrZJZ>E;T76ButJD428;??hY9Idg!m z-Ca$*jtHiahj>B;nwb~8EJ!prIgv(1Q8#$1DU4LQe?aTaz`DC<_)$~R!Es+Pk&R$c z?Bq_JQ95u%CFK?67OQnTR|!G6769tjRVrFAjz}5E-onyBNso^oqR|~0qY~mD)51# z7;-srL|Ii+QB{@mXA4)Yu(vTAd`bFGw$!$*?ELvtB6d4eU`X28`tKV;GKfsrYFsHi z)f^gpZOqq87o^X0(k~o&9}o5Q@u=TPQSqUGpPfO0#12Y>7mjuhG0322A(gBL=^b-W z2*hpBIMj8q&vkM1u4fNDE@J~Xy)m{L8nBNkqGts*VhWTd$@CR|Q zVvjtFEj9#7wjefAqqM7I>ylIMX2&B;`Y6>%iPBB!tn`uo*M%aNdSWw;8;i1caq(eR z=Uag+>inoXI&N=dpJcaOB>hDvxm1tw6FGqbzCAb^s;j&}miOc}bQceqyN;q$gpANZ z)Cn6=h$OH}8xBaERC>{8*_o9^iAJP;s}@-Fx_TBpb7Y^3<2$=7=M;9OMy&7RpBPIG z$ITck{p=8K#D3;z>eQonvBFfs;pYSl^z#f;qiRM48r@zAILj z2IGf1#@5cx*4A#=6UP=`%L77<5gh`YlxYb8?fv~-ZMlk+-#YFFP|kr>J*M)96{GFujL_>$-vRYhgxw&NAyU(SP|g4PF0g-FB^7beA# zf7c_$HHImFPaJ((VA77jYEe5o&mVxZTQf3_8OetY2hU>|YeZ_>5%pN5YN_3E5oP^7 zZ~z7bem9_mgD5Xo3^U*_X=lSKE-O$pkW-&hG<@Gsaq6kY2|dsyRl<-f%?OG>G#bje z@jx|1v`AwWYe7gt#5!G2e;ypgH#5HJT}#rLMFcHkQ*EiKYawiiMB)-rk6R$fr6>%vgBrMi)6d+!xR^PiDaI~);+Q=~VN zRk~U}@e<^{I6m90`?2Rwroum@RA~>8pjbb5Vn#SFQDbtW>8v)UC}ypx`al_cMz+E) z|HG(od`3YGBpnSzfj+ZQ_|J$pRz4$r3y*NdZ8zz4#5bGuI!w=!QPx9lLAUF5uosD= z#XwO;+i-29VWt^z_`a_xlr4=s$2`-hT@-d?>|))!ZGBsYo=)AoG64UN*eFzr|{`g!`=Q zz-A)I!I%2_-rGDlwKDd^2E4~VxP#wFKK8Sd@fUaT&pdF0(%8xgd2jDMhxI(?-Kxzv z_-v>_$ceT#0UX6be*@EPHikb0%%bRiPek`ACS2EP^3Y%c{yXUv)??uhXC7F#$Af}= zhIXMigd`N)*teTB-(y_!cQhF`cN2^CIInHhXV4-8w)8e|tQ*v)m9|Jl9rFyd8iW2u2cX=xvpZa=HP{>#l>m}x-%q$g)$mv{-xM)30gDwA5xax-#EB~Fsp z)F#-exYW4sWhj3n=W@!LDvqO#8sZe3R9RDyoKtf(j1b*N76npQa$)^`ToB2R9#g~d zFYd`DJVDM@%|F{#VGeM(`1tsu)5mBdMDy|Zk|XTw{Zw5Q8DfT0Hh2d zoev+n@R$GKf9{oRg%a$EH2p&mq~L<9q>ysD#GWI1axQ`S@cGj9X^KWi7_p=!un+7~ zFeS)b$0cxxWJ1xT4qc=kGz8VE`S1~pAkUIOG{_Oo0x{kuej*yp*(cQOA5@2`+(+i7sz}jS0YRiiS33PA(KPy#iefJ&$V4dhFkI7s4+rC22BFWv$ugb1$lJT8SbP!H9Elb`|0AP*{H ztQry}Q48hT2nl~|!;E<&k$JJobxT4Isix>5)MS?f2Y&E*#069oxf&;`#)(=v(PB9H zc)dbIg2MC2Fy@{Y3S;Fh57T(%v!H$t_=3QF!2<%1Ebt1gNe6{o?!95)15T3^bOe)` eFbBL)h!24}7Z>n>8PFFZAYbUnF?qf3oOw6BTl_o#