From 9b3f89ddaa6c869d9a2e0254156b4e23b1f5e702 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 15 Apr 2025 15:51:49 +0200 Subject: [PATCH] Some missing icons --- client/SEAWebClient.html | 3 +++ client/cssFiles/SEAWebClientMain.css | 23 +++++++++++++++++++- client/jsFiles/SEAWebClientCommunication.js | 1 + client/jsFiles/SEAWebClientGroup.js | 1 - client/jsFiles/SEAWebClientMain.js | 10 ++++++--- client/res/icon_info.png | Bin 0 -> 8734 bytes client/res/icon_log.png | Bin 0 -> 4737 bytes client/res/icon_modules.png | Bin 0 -> 3728 bytes client/res/icon_sinus.png | Bin 0 -> 5463 bytes client/res/icon_status.png | Bin 0 -> 7396 bytes 10 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 client/res/icon_info.png create mode 100644 client/res/icon_log.png create mode 100644 client/res/icon_modules.png create mode 100644 client/res/icon_sinus.png create mode 100644 client/res/icon_status.png diff --git a/client/SEAWebClient.html b/client/SEAWebClient.html index 7e7aa7b..7b63727 100644 --- a/client/SEAWebClient.html +++ b/client/SEAWebClient.html @@ -85,6 +85,9 @@ +
+ +
diff --git a/client/cssFiles/SEAWebClientMain.css b/client/cssFiles/SEAWebClientMain.css index 068ebf9..a31c9d3 100644 --- a/client/cssFiles/SEAWebClientMain.css +++ b/client/cssFiles/SEAWebClientMain.css @@ -144,7 +144,6 @@ meta, body { top: 9px; right: 12px; position: fixed; - color: white; cursor: pointer; } @@ -156,4 +155,26 @@ meta, body { .icon-close:hover { transform: scale(90%); transition: .5s; +} + +/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */ +/* LOG ICON */ + +#log-icon-container { + z-index: 50; + bottom: 9px; + right: 12px; + position: fixed; + color: white; + cursor: pointer; +} + +.log-icon { + height: 20px; + width: 20px; +} + +.log-icon:hover { + transform: scale(90%); + transition: .5s; } \ No newline at end of file diff --git a/client/jsFiles/SEAWebClientCommunication.js b/client/jsFiles/SEAWebClientCommunication.js index 53108ac..11c0044 100644 --- a/client/jsFiles/SEAWebClientCommunication.js +++ b/client/jsFiles/SEAWebClientCommunication.js @@ -223,6 +223,7 @@ function updateValues(message, src) { let component = message.updates[i]; let value = component.value; let matches = document.getElementsByName(component.name); + console.log(component); for (var j = 0; j < matches.length; j++) { let elem = matches[j]; diff --git a/client/jsFiles/SEAWebClientGroup.js b/client/jsFiles/SEAWebClientGroup.js index 53daf80..3c7ccfc 100644 --- a/client/jsFiles/SEAWebClientGroup.js +++ b/client/jsFiles/SEAWebClientGroup.js @@ -508,7 +508,6 @@ function createTitle(component, modules) { var left = document.createElement('span'); // var status_icon = document.createElement('p'); // status_icon.classList.add("status-icon"); - console.log(component); var title = component.title; if (component.info) { left.classList.add("col-left", "event-toggle-info"); diff --git a/client/jsFiles/SEAWebClientMain.js b/client/jsFiles/SEAWebClientMain.js index 55ab88b..94efe8e 100644 --- a/client/jsFiles/SEAWebClientMain.js +++ b/client/jsFiles/SEAWebClientMain.js @@ -87,7 +87,7 @@ new Settings() .treat("showMain", "sm", to_bool, true) .treat("showConsole", "sc", to_bool, true) .treat("showOverview", "so", to_bool, false) - .treat("showGraphics", "sg", to_bool, true) // false) + .treat("showGraphics", "sg", to_bool, false) // false) .treat("hideRightPart", "hr", to_bool, false) //used to completely disable the right part .treat("wideGraphs", "wg", to_bool, false) //used to toggle the size of the graphs part .treat("showAsync", "sa", to_bool, false) @@ -179,13 +179,11 @@ window.onload = function() { adjustGrid(); let crossElement = document.getElementById("close-cross"); - // crossElement.innerHTML = ''; if(window.hideRightPart){ document.body.removeChild(crossElement); }else{ crossElement.onclick = function(){ - console.log(showParams); if (showParams) { showParams = false; document.getElementById('close-cross').innerHTML = ''; @@ -202,6 +200,12 @@ window.onload = function() { } } + let logIcon = document.getElementById("log-icon-container"); + logIcon.onclick = function(){ + console.log("show log"); + adjustGrid(); + } + var homeButton = document.getElementById("home-icon"); homeButton.onclick = function () { diff --git a/client/res/icon_info.png b/client/res/icon_info.png new file mode 100644 index 0000000000000000000000000000000000000000..380b073f4ce0a06e199d3ea24b35af48451678ad GIT binary patch literal 8734 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 literal 0 HcmV?d00001 diff --git a/client/res/icon_modules.png b/client/res/icon_modules.png new file mode 100644 index 0000000000000000000000000000000000000000..31151ccaa5f012200cfb481c7f14e6eff958e7f8 GIT binary patch literal 3728 zcmWkxc|6nqAKzymGns30A2l-_%1A0YTup|MBhA@dm80Cb!sZ-9Oeo5&QllwGNDDb4 z;m5X;BS&Ns$@P``tv_Dx*YSQm-mlmD^?tpd@5ej!f|aSLu!1lI0ueRC<81l7`yUAj z^2cgIO%b2%3dB2xKp9mW06@>v&x+-Kd{{@ha@_VN*+cI%H5U|kse6Jn>W|zgLCq4=(On6!`@*VNne+p@Ib@OOjy8RaVI1 zgRB2JmB0vMbcoZazC+!sKUl`&$?0j*+=muHScR`EIe|RL`oqe+(OcDHOBB-rBg7&A zL{8mVpo+d(v3sb&9L_n*Kw!s;u(xY);53mGr3wBP6b`5}|=Q1HC~S`UT+U`1-?#lsQv4 z8E{A-9o`RVU24p$AV5Fw`Yh7&r7@4-eGmnba!7VIe#l{`$z78Q#D~*P9@$AG5g1l5 z`BaVS^(!7m_ZFJ64pi!);J_uwSr=Jaa0uyX?IU7U4wIw15^@p{2Fygs<*^ocO%he_>?aQ&)=H(-S5-EpgqCVJh|J zwuoSzK#)<%Gp@keG5SB@`fSXM5ku0A%8KF@ftZOe1izoxIZ5{I8!}$|Cu4^nWjizg za~`X9Ei)m8ozT~?s75Rfy@tNI)zTfNQn?wCI)ZFO@6#6*W`>qbtt&B^KARd{|5H+D%uA zIG`sLArXE55bcDx;*pisUbM?ZLVD+to|M=@rlJ<2aMwb5FX=w1Ug?1{8x_l=zCZf0 z_aaaO4L-@FpEos~%b(#wBLp`eQgfPxx^a^yGW#`phQYgni^?0R)2(I(p!3OxD*ZX; zzB-=DX__5jZMtAE^rmBF-r0pgs1oG&(afB;(pjptMk!5mSz0aPixwi&4O2qhZ@70X z&Q#O1G+4$zjqdDEJ;~4A&1NkGFXh&OZ9tFmFz>d>t=wf~(%CX?iNbj0j}t-m@Nto5 z`Vdz=^^=@G>^&YA#IKd}+qT}79h$kGe?We7n|`1a@N$>)lnKV_Q086x0!)(YNSSG3>My9>V>_=Kg-$mVy`axEtyYgYW zjF)7fxg1<_*PA)+{6y0a(>9@QU4OY$inUwk$tS#mQMVsz?62J55_Idw-Hp%36NX3Q z&kMHN1t8H#N9uR^qo?M91s@}^_8)nG=~)0vGxe z9}52p#>5xtdRQ>J`iq;e9b{Et2S zuWF?@S_AO8c8ctP$*x#PsqS&8cYkTs;;*KaMgGcB4|lqinq|nH&S;lQXU&&2m<2zvxL{+$~YRhjz{xy1!xL z;X3p=BJje2S<2=d^iz*vG@yrAi^fNNCtU{!4waoC~3f{`Y&8&5<)R^d<(Sa+*cSbt=k8)s?jsJ){G1jti z<-=+Y`~8V!_`F*U!_-QsHq^P_6l0OeDuUc7u{X@T-716pp##8WUK5nEmROGo?~p4W z&b{!ag4)Uc;m^&O%9+*WOsgQnOzJbfr+;d7GsDW=Fv@O9;XKCkcw?WsNH^i#29@IV zmfNN&43@QuBY8FxXa1V#qnwF~ C#I>-addJkogIA}bIYd* zA3b#JH{9s-_&NI8z-(@Ja&kOu=0HOjCBo+bH?e9&D(o3mNW<_$vI}0Zl3FpqF8Hiz zJ5D-RSNs64cj_PtJ-fzH%fm;$8jh#j;kas0@R4I9eDRSCt|ERZ;|}454GuD2%GX-@ zh53^i%4R<-qmBk@ENg!xjE&`DS*cmo7`kh_akq+{^^)*3gzUOSTXKlE1siN|GIw$=)?j zDFY;?cs9yOk?g>^NQp29kX43!BGy9Dw&PG3KOI;GE6(+j%2ZW@0y(MXsl>{F_GJ4x zBAI87JFSz?)cf`q>Y$4~*Ky(lS#;hRY?)&6PrQ$`rs`H4LZDCr9KaXuF@}GpYWU{g z3CtsDTckeRjtV-`Znby@d@dZpw$wn6-=qDl2xO1xz>_GOU#}D0{!rUUr!(2#q$BH= z`C^M`i(J4zH``5%1WBows_9#pOQ7NRz9Ye zY>d0Lx@UP~O4b54bDK4nov%8TZ$O-uJaIuCRc!m~u>}S+chk#tE?V6{%AltT^|*Dn zGwvX|b692F{D$sTo^7?kqWnmTss~LvG%X%46Q2wT&*zXTOaHAjN}8Q*bv%f&7*xG% z)-b|)pF2K~)q7E?n7cRP!OV?xZRNt>WnJvSZ-R@6#cxenkR^C#)vx4rC^YaypbJ6z z?Y#e|tskgTAAuThUlX?C+&1Ke`m53c(qfv%LRN)xp&Pt)p^1|IEq!eHW|%8J_X>FS zQ?%W&xL?ma5*leUq8ymlz#PU8+1C3c(yqR`Ef?dL{}3}$u+MDk)rX3A@^vGEGv1R$ zEI!1{4*51!$Rzpj5yAFHEcdNhTWHx2NHY{*>6u{w;N3}}G(nP3#%b=AX8 z%7iv)te(!Tt|~rEK7b(sbn0W*pZ`or<3va zSm^kZIf#4uz!}*HgT(1XpHuvOT>xWu#)}1RRBxc%1!i^=p|PU&+k#rdVMzH9;bk?B zNu5vULe;jJ-?3GrCu<>-+x*u^pxFJd(O28L@h6E-6ayiF=s$h(1%|2KxCEi2s0WO$ z*I@g}5G5QBYJj*l*6bOGL{~(9JzQ6@K60v&q}aS(p`+sGPdN#BBD*gpvc9&D{|;2 z`fY6#WR%$Z^p@JY9Q>8{uw>-V7}L_nAe33dK3`%wyq|X75poN$dEi}6$6)QMI$I!C zru`*GQD0C@Z7R_4)|uiDkS-4@j5=H{jp!;2x_`L86tH8M2I*&fqZzTT;%9-2c*)<)JT#2@qL66}nn<^M9n>jFpSyD_aJ?&a#$Rt2Kyh zJRQJxEuCl)fp3n*&xAp1-mFjF2y~$)dIHC>0ZlyPPdSOC8BzGY(w<9ZdEkw%8=d)j zHI?f6mp!DTg}I{9B6siF_nt(M!P-amsX}nfAr!=-_VO~Gm_6-Oaq=noGH_Y-Yj&eM zen`!s){1qHE39sr>6blJ1YjX+OZym`=|cMAan)D6Qcr zlQ>48g@3!t$DLf3Xoc6En*~rBM_gB2S9*S-F^^6V{G3?5{MVqXK2bdb=ouAmHq{f4 zTd&3!I`}&;55rV7-vd3o%rjdBLjJtQyt-?GHSpN6^+;cD6;$K{1`zZJ*w(F4tNIF_ z@Sq0Zm<6TQ&!w`AK}MBpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H16y!-n zK~#90?VWeHl;xR+?=v8v0xnW4E25$j1&OXD7-PX2HK2*HtYvMnM2#eCqS=@tCNUZ{ z*3~5HZY-gL!vxY4U4Y@hh}_qWfnmU^0c`mgm;}55Ow2uA1*QeCrDZUI)JJz<8({m~ z*RKIRgIZLbDZn#D5A!xPVgjkodce-P$8Kn8lxCIyF9Q$c9ut5?K`n|H6G&->0{iA3 z8wa+fi&xR*>(J85NIwq)2cxXWsEOT!bf8=Cdogje5+hMg${wK&sYc8K>4P@m=abS6o>7s0 zD5U}EU?n03dpM^H0m>31J3)+mY650^MD{lj%QQ?Vbh|RSf z3*3!~qaE1*cmnNDq9GQ6bfC!FOM$LoO)&z}2N(zZduT)Q#IVF#0mba>AKDNj8kPb- z2F?p@NN9m{NBfOYA&oGi_o@&=n1{kT}Pbf`#X^6=~31nq-$FXCG z$&J);IdBXCL=r+Ey@C5s*-pc#l`DZGfiHYc>ifiKMc{T!97g>dn)`Y<9`__Zk9oTR zHvv0%oYQD64n?6y-tZ-mE~w~O^ucLH^qh!7=Dpx!50XLm90$6d$Y?8mfT}$@#fJwu z0~3dlJQtus<4$qyL5={fa5;g|)+|7K+Gku%;8GylqvPCet|l-HU@AHlec#34t^~3X z@Hh%SGYr?f2yBZQo+gTmJ;*BPmfXZ)_+m5Qe_RZlv_Lx0o@4!l$2E*EYYoFE1At#N`r<|fG6opd z=%j|>nG=B_jl8gtCDs7oEv!7KkuLrQe5>9UHR3_ez{Fvsk3E6i>wQtZ9%Oys4Xl2y zkxpI%zDgbSwd(aCzr@60q?cjn=(lF-@gN%j6ET4p>836(QjZ7u6($ZN{R{)XUF(x; z^&lG}?~$7Jy@pYNSCJQ~`sT0IgPe$o!)P5gp~kKPwRn);sA5F#CXF(Tn7D@;Dt*@C zLB5BH!)QIe34Ep6ld5@;47xQRoRCqWSOmO-(lI|lwUp-Mez%y;KI|)_tjONLAYh%` z*OfimYWU+~RKm0@)dZ5(WT=_Qg-!q-1KtFdG&oilU`t>(bQ5c>8(N1sC=<49fA(qu zxrI88!~(MjxEc6gU_9~+E*OqJbq+%PPK8%g^6u;sCo7iZma@x zBsv}G5!w)=X5K|!WH~XE^B{@T6iS$-z<;8eN3n_nRGWBP9F^lYoUksc47wcU1me7N zPn|44)hW&kZAgtg2W$bn9NG}0W=g*2OD(ZBME3@KR{7xiTZQO9idcdZ|Ka5!*i_sKi z{DWeF{3}{Jhb9Xgg?b#e0-vJD(N97fVpL?gq7KCZ*%h4&hvqlHm7$GDn0J8D=)l2< zlP!RLg+C}3$Zq~@Da(DpX`zj9#8be*)R4($1R+CFB2}S4x}e+XkbHpNKsA?TNg=lY zr-wGeD9bWVqEH}PqGQQWEI}8P?XXTC3)~di2%{uB7XG79AR|2+Qq0LHva%h>0!IL^ zhc?7mj$(oun!3}n=}$-yZkqKfpic~AfKY7m3G{?zKNoy z+wpIYnJ)#BF9f$CMaNqn8H3+_M_+Wiy*1Du{oQlWC;6MegTPDpJ1Dpl_&sonr}>QP ze3@3AkHtC+rK*L;KuL44t1E~7e|LpXsv1YGWTj*WpwX}(q5I>6%;osT=> zLF^JS7B&IxLHYnQJWjkYH~Bjb=NO8jfRj9Um<#NJ!bMz?K{dT zle2Lvjsa-%pY*9*PvCA;72G9DQMkU#?SK!D!b&W_?=OmzCiyBu(roZ$KW>H`#j1d-zUgwz&PCB8$AyE%<&vXWd{57 zAmh-bm@B@6pJQXt>DYC+@3?g?ivBgiFffC%2wk%nIKkog195*UR?N=0ud_Ip(4gtn(bt09T`G;V!uv|Hs-%atVq^0QemEZ}k6jEODLIb?eAxvy15L z^6G!=Z(T5YMyoZ{CmgOUWC%jlxo^Bb!6lv>< z3N^feyh*Jg8;29VJW;J2hxCSYa9^PEEX)5a>-(}AMxD^yH*}SExVg#JUW!PF@dpaVNom|q?m7_K7Zp- z^}$OCf1=S02jM;x|08tr6I+ti=O_XoseRHc^mm??(0G-Ymm%I;*$xzhcoY89f?aSv z?wb=m3jEmd9QASrZhBshMdh4aGBZQC6M}Z5J8%Q;!}2c#u5mm^txN>YbU422+xHn6 z+N0e-EUb%e!CfyGk0N~I(4}Z;waC%!q9TrdcojIHEo{9@J)QJdFTmMrR#QYj8C2?n4K!aV?6UAfde(@^5tTnA$>K&6RXieo?gi34=Gna$^dxctM6 z>a2<`5xYB{=M`XYl3fB#2X;qGI9K$={jGU1lb|zM$^;S~A4yiAH}XCtbAfk13ZHo- zfw3xa9;%7#lh?om5*x>%evz)Z8`y)!W29b3ORC*)SMw~-?u3ctejYjn;v$&LXpBpd zH*w8_C^!5_6ggduxo8=#6%JkAE2d+&!(P(fE|D# zz*?xW=zO%gcm=g%a9M<+6qn+!Vt*l%fx*xzkPfuj3Q+*sD9xiNq$0Nb4quE$$GRc% zfUYN3Pawa<`qHHs(XcJ<+bhJ%YN!o&s3f^Z^WPMf{CPHjAx346M^!!Ai44kT@qKDl z$b|eiCXo2K82DOfBRq04ItU2G3>3}+EGrO;$BL8gDDBvFfzL9yrMR!~AH`)y@5P9f&4It-z8ZfBRzxROKKf-=V;K#Y zK+?sYs5Wsc(Sd4a`M4ad#w3awrWOliJnmxojbu0m_+e-x5@alX(r0U7T=5Tz1u`GE ziS|Y^oQqZi z8=+*OiE`bgtRHuJ=!HK0&L-}Al7Z+F?#R%Flwbz%K&fAp6UdFUZxm@7>4J(@Pef6$ zu`vqeoNN`^kTP6PnNa?60{N7p8$}}(tc^}$Zo^;gs7kDdyxSe9s!FU}Rqhv+8hF|= zE4}Q6(qeA_HVZI+f3(kd4SA24nFKst?w6GWax;E2+Kgn$psrKTqtmW$;l4ZYP?X2< z9y+O7(eZpqP}X}uXGUQ;PA9I59HTjAqSKn|QPjke1jgJLd5O{J$T>}&z?Ptv6d#m( zLN$S`iKFq9HJ*sYmPxe*nlD@!$jfc7G; z`+XbnFdtQ6oQ^&id!nUMPr|ngPnvD15?WP@Kt=#hCS{RfM8XRwg`gspHtBhu$~_FD zm8hwdX)PWERNe0Grpz&nc$kVd=T+-`)#5=w5xy1%Z?p<$QezRkT0ID;4(oCWC5DkQ zrlOO#1+_f6Ru2M-8eJ}4-Y`J{BzuSJFt33Yi7sLz9dLV_Qv^EHMM z3uCE698kXp0o|g$g!}HShLI#MqkE6K`o`DmK|oQWe{SG)h7pn=G-_ z7AR-L?naClcoz6N38WM!wRd=q@STAS17H@a7N11EePSL2l&pU<@a?1qG>iuLE_xp( zLXxLXS>RAqXUH%@a3Kkb1CsS1c{V}&k(lem8m-53=-Q#CM5tPEaewhDa1_=;!SKga z)KDlE!{`$|3O+t5WzB2&hlpBdDsKVbsf0z%IaCUlaPy<9HvH4l3J^!7$43EGmKP zO&ky=(P=X3EAe4~xs7x(0e!H}@;z~=Ou)B*ZGg7}&2OZKhk-qT&q7QdGF5g8YGCqm zKpTv>xeM3>&&#SpLg$iy42;AY^cc%?JqjUN7}AK)0s)l}+7%t&83w@lz`?-c(1yey z5RePq9hDL?+LtB34}c%x;S#VGeBXoA!WdL3B^L1-ewc~+x<44&kV0Y<2qJL)lAwl~tx6yPA>@z91;BMkz{vja+wStGC=MsxfXI0l#<+K^g^d5Klb zcwjh=Gsp~Q%mj`=c^s(_2c*k`6tV~KM-)D9#Lr#8v7|6SHBBC*kh_sLxg1y;*cPKa z|3HC;qe!7RAiV+sg+3pJjtCzPY>TlhOHh@=O-T7EWLlS4r5FXA1#A@BkTxa@+yk6U^MVTU|ZUeCxGoy1a3=+16s?26p{hx6megi&`;(RHh$_``Q;3 zmgpANoW%G7mGQh238Q81Et19rQagQ6b-!J6kF~>^Qx}VXmw;zbiKTHwoTL;JCXmJ% z0_+HkK=EKhP;yr&mIBj&cTvU4cXE%nfme`7j5;xaBu5`$Q{-9J$$ecDosO-Hj+c7@ zT?<~b3Y~kL`KYA-5@1g5XR}e^v{|{w?1Jy7#sCaz`kc+gR=+Bu6ZyIdiiXvQoL_jKUl_GC7hX zM9GLyA-VrgzyJTg*X!By+VOn8-_QAee?H#?i^~SbI0QKW061o3h_M9kJ>b>L#sa?E zTWy^HZ|nhvwm|^ELi=|?k{tw!z%K=YFJ2F}^2Y~Q?0RS0jgweIW{b)5m>^Aaa_Mh3HvU<2sk{F9}96OnZEyL?dM829R0}U-Ql=0u1oRMwO2^Smt)^cg9j>lyu$;JRfdU9lH}q;_xf+X*mI^M1sedBJ zw`8SYM_hOi`sN8dcmwn5jV_8wnL zp1&;ZCt0tqIamvM)I;M0OcOK;IlhYHTXTti$71GoUS%dE8Qn;YkB@&SWA*G2)0{of z)0ID{HpdGjB`jT=-JT_CkZvk@($Y;OkF$6FTmf1+=H>$zmATj<)5qrwbYX9JLX{Sr zJII|OGmMZ(eyT0N{R^+`a{DCp82H*&u&t3u)*!vetETrh^5jDPawN-8C|2HgY*om2 z)YdQ*=MGZm#v5~`jcsRa;?0qw`a?(Xm-A~F2@;y_;psWqUsGN-boAJPH&iPVj*mK% zZWyVNZCsJ4!Oz~^qD~~*k6%b3RWVlkPwyaxdT5P4GtFBySIe&Xg3DSW#_0jbo>LSu zKugl#@AP|fZ0@Tl+ggf7x~o7gJ;0%{fK(+x;T+Olow8`!PbCfZxhZ+iUv?``)(E;? z5c+0pw=Kcr(sUDogRT$ELSyFEUY!u&obN`0uCHGiuWCyr$}{N%E?P0&0mc|^vr@zH zhcIe*@hBf~0lVVM$jY655yQCgdbxf~M2hl#N#xBmKlQWwdxu0;;?hd%dNeE)bq_61 z8~*g^6Q#bD^B^hVbpAM`oarYkAe*q{4)`pl6s7S>PI zkv*Ogl>0#B={5Ty?Js`ngb313>#vCwCF+~7jb#=8&yi60odn`#2>RUGBcS{g#VT^v z{B3@3rS&6q`|$$}APIgH^8}!-VuH7ChY^sR8}xy)mG9rx3y7Buju@)cUU#XU7#3(< zKRVxyy!C`a`=a*#Ehbp_>z=+Z(@&G)(dgn2-{0rml-3v+7+}4g6T$`0Kjz$)H{y)K zBAD8*+KchKU(9<_Qc}{~+`P+&*OGn4bB*z@ra+2{6q-UXq>MU}%%s3t5qfiC(`$Ajx^Slux$DFpItyQ{$%xeg|&434(i z<(f*T)9;)}=*pCyC2n8Bw}wBs@aI+FWR1JsJD#8pUCg_{N40=`?C*-sXc93swNunx zwWr*+7QeZ*b%A}3sB|x~tEQaObmqFcYaVaQL(Pu|{iOn2F;>z0U5r2Nv4DiaD^rx>^-VxOC?kZ}A*rPv>9W!OZ+Sx67RICF59$iI_ z%PT7y&1GfYR$YM4BvBXhTs<`?%z9TRPVW9<*mK1V1#vhll~#79 ze>d`c{vpm<5n2q!-61Aen?i=P(;~ejGk31?d`-^->tP$qPaYJu#Q@W`zPftgs($hv zv^c#`@Mv}?g+OsuRvsL5Q@UGM{Yw3JA)glN6TBn??<>e5u3Zy#g0O)ai7uA z%6`rq<-J4q@b)&5F6I+IkDJaLzz?47MmV8sxnkxb0h>!tqjgZ}ub#KGI0V-@jv{Af zX2#JQkwycWG}=*CpWETEDFWHXq+1Q6Zlf}^y|$J=<{EJ%&RlD%jNsT+RfSi{WUF>Z z8?Fd`Z4a5@1ooxARb{7<9t^lCnVjmv(9)ydUxzqXjaYpWz_*^w?6a4x@Fwz)hbTZ` zZ)Zas4y7ydN169)KY^^66Tq2 zPG*bjwMJiMYL4d+%j}C}rB=WV3+KWXSz9#%XUj~x0NCnmuDvJ&+csiPgkHK>&YS-m--j6rqT>j$NY}O?yoXLuks*^r{JWdEHvxTV_5hYAuHO^m$Iw8-M7d?g;e^ZAZk&gqZ8 zi8a|*J|4qa2h}w;+I3WPmyuQdTOBP1(d{Lbm51`c%L=wE%iM3zwNoOeJy^lg^GrBq zP!JRRYx!eYV@lN1_964A2V5@&KGCLssJ(xo+-Gp^{@5;xlm+0U-fbV;f4T|Hyboem zA)SBJD6r3iHQ56UmmA!}$Ranr;;g)3Xl7EeNiH3*KO-IXbY4x|@6lOozgU>!tULX( zfN}fwfmFhhr_2S^`5RBS@1MKxJGBS=&9FErrtBp5)ID!{pZs_%*LUjVtqUX7bWsX( zTG{p6x!;@58P4q;)&d2*8RSct)y@|64E6UgV^OA`jAC-J5Ulshu~_2!lWQ$v17Dge z8L506QBE+XvQu?XmdDXEtc1mT-{=h>T5668b=D&-D_H8rD49J_7Qh)_VpQ#BJC-I+ ze@znCzWMiJ5tU>rx$!71r@cDgM`h0rsN(E9)>Q4K3X&03A*z%FiaXu&95g+xunub( zlCE2)mRdVCHv5_sOEQOZ{B`m5t(Ytvgb6g+`@sp0>~g42t9~-ZLDM+n9|($s)A4Ox zv8K$>J1$Z|6AcG4Kw$>)X??4KUXL^4o?TqobKBRF8E{>sPa&pr1WY@9u z%s#gQ=AZEdo_j90zs~XBQeuS*%fXm1brV0=fSSDKe#$LWjz$jHUwopBT`yFO8f?YV)<&5DB_E^-~NuSh7hEFd3 z{#6sMJh4R0suGpg89l5{(*pFAR26&Wo0Ovt~*WwvcM08`K1XekVmtj|Y z5%C5wj=P(*J;FbM8R0})sClvrX#xyR?N-_lNzV~NS?P~OMxp?wGFR`Bw7CttongA(a#xsNUV}(`bpB2k zMb&DQ7iFZO@BiPHi(Exf>_HMd%H*6*bP=riXFrVWPv%ux~g9K|5Z!FE{LT*l$X^C=p{8SHVFIhlt_0^g+k%arF9J1&kfr z4KUn$;Rq-SU5n{|d8KsWuL(tEx7&5D!Pu?yIBK{2Ura%vlT6EnhyzAeP1RpkG=orF^D1hoFr?*(*Y{)r!yn!OIwmGbcBSCVlCKolBU9MtFKQ{Vv9}q|eo;yuqD7r2S9_n*erD z0=nwW?{`K3SJsf=at;Tg8wuj>t%S#6t*2hNqXB@pgwkzt;u63O<@H>CRrwl8z=Zm| zsMkV~2U<0EiB!0Mk%%4P3s0UMXJ@tx{gM1o=IR&|!;EboXCf=c6LUWn3~7V3N` zp4&ge_}D=DE;HCXz{KP_C7#vShj0<*>o+fubd{SE*bb+98FT?QL%_iBn zI%p=MVrwDhX432C=J=U6o?UOnXp!QCA`#!xVq7r zDoyWoQ;JS|Si-3zQ(OrjQ8HEfeXitC-{Lp(?6#G-FnYPBBXULTZD50Mq4bLzc@iMa zW&vJ?=+X8&hf@U_WJC8Lm~YK~IVAF_3>2j?JUl$Lmp=rJxKs=hdgH5CKgy=r4lx0f zrjql&rTL@9)7|}?%tkL66CvVtU3qbWpMn|p9 zFiF65%ZK3pPMPHJSW~O#&TFTnq$ELps06)adbGCY*JsYu$@Bzl7A;F|%xIRKNWiq? zLZ4`*9q$gA!9g?~O|R*<)9eyF{GuMdX|EOrJHz5pPN0<8{YZ-~CT3hVr4I>!40fHk z}UDQGqNP(Vih(o!EQw}Gczmhgf0_|M3dcwvM#JHWg$*6*L)P~#6Y5aU_?Ib zU*Kb37U)(7LkI7I^T4;>E|*G~MCRw`%jWISUlyoxV>X!wHzXDpg}P-bR|w23Nt?6Q}&-R@oE#LuP#34FT zDcw*re8T0v8SmIRYxKYANJ~r0ar6eHV?<%Ce%w)8=Fhi`KgvVcXhxk-8A1Iatc^`* zw3St+8-GEOo)~I*ZOsvb2?FJZm02#+{;{~kkJA4ourEH9vj1KYRQ%8WS@%w+?!ZUh zkVso>E>Yh6`G-@h8TP;5=JvU*F$Fl4oPVu{Ihs?uJZwfO`u$6D{U&h4eRs14oNr}} zM8HpSK%tlJa)q*`8|mF5Ik;y;gp^%vvmcD(7E8 z^sZ=Qm~7Vt0A;87<~2P}2mMH}zYoE;YB79=Q5o2AfF2znfQ0QV;YFgf{g>u7GrEA= z{(RVHux;l9zV0=mH#$Vw3erYSG*x_(zl2Gh*97L=6o>Ph!0A@iGjOCp+&l*Vs`fsV zC|zpz%|Mw%GoqCjGhNh9Ad$+-%Gy}wjv3A9o?+_@Fw)o8H^c14vw8UYH~yB3w(h>& zR8_SeY=i?kOM9dq^k=%kcghur=D$Kbey0B+ z*|^v-n=iEs49T$1zi9htCY!+34nfrU$?bz|_;(@Wu7=gvEX(7JYAB9_{qVIDQf@R1X2 zcpL?7#{|#Rd472o3V_Z>aVUX!l?a$H#y{ z&kFMae67C$vIhi&K6qbZoBy0vP3&u zZ0xC|cF0mVU}<;qK^K@Y^m09p8Y7Da_@edcdR^}WRp8JfKER2iGoTn80-Q+yYgk?+ z(i8XzoQT;_G`p{l3=IX`YD$J=y<9*%ZfXjf#h`xiP*&bfu;ZgRs5_v*?3-O=s9Nd= zLyR`WqOzcaRj%JlVVg#*Au|G+gJiBbnJ+O8;=`kl1ATp0efx9drnvR@6G7-) zE2`HbliC>P6mW)L?(4!Lwc}rDz+bBq4sFTaW93Z+B!y&|d)ts{58JUp$qi+rDEZMH zpq0hB3Sr3xvFBmB>oH7qEny3S&NZ*?0Dd}gAGj{XkQyn`$=~R~=UX&Wk?+i+ntK#6 z!I0gE!mn71h6Iv1IGT9S#S^W1`rUsuH4w8Y3v4MqA2GtTSsTyf8yAngeUzjoCnqBS@VieHTQ$Dx;eCnmr4g;jaijij6u? zGJS@8a&Yko@9vD9Q9BU;LMR z06YKQoo5U_%t_l9RBqG7_@5Y-L}5kZzjR|zFJCq`hROogHa06oDnCf7{*E)x%*b94 z9hv(3W6hUj&K=Xqw)8Tu2$3U%qaH$>qfwt8khWO^0D^hWuOsXk?}Q~2u*ie6=_iWv zGzb7vuG7%Ydq8XKQqE^V%7Q9(C8&1t$6lb6B^x*kXZ(+zL__921TMNt=WWp=XLP-kQVGWMU5?Y-|P6P|p1|F&8P)ZkR> zx&mk;SAlUlg4(cpBHMDDQB7^l9y+0iQT?;IY2V`Yu{0%6%8KJe2T~_m!Q9+@5X^v6 z0PVfSf)rB#D_pL;3)1462cFJ2|M@W)vAwl*z^UvM_YNsU@<0;|vMpyp%*YRv67P#s z?g79u)KOF3pSM#6(D=N5#{oIt`oFo&UzX&MELUd>E`E&?6CJch?~3Tr z$;ln;bRVWKPPGRB!z;ozC*&ky19o&~^jEJC;8$5$={Pz({A=-5rVMK)Xq&qF`co=C z69Gzu4N}uFxDQ3?ZZG6Elu7|H>Ha*nUzk7h{r{Tc5oyqw&Wx_;b8aRsHGug(o}|$F z*KfM7>+MsO9su(cJn48yGS`nboAnG_~0Xu_FvL*IP2 zR_R9KM4f8z@`Ny&CO;L~WmWtHrUJhL%$=$T0S}Z0E3d!&+VUz>&>Rtz1;DSEn3z1V zEWJm>{$4O654SD7u=l>a3%uca%t!OCm_&Y}YOy`$KcUos&=js4O1M=wO8Mb{qf^;C3PLGt19r%jK=u h<65^X6m`$;D+t8?2C+ff5j>#;j4ocrRO&g${0}{~-t+(f literal 0 HcmV?d00001