From f709d1fb88ad56bcaf6fe09729ad133d28909728 Mon Sep 17 00:00:00 2001 From: core Date: Thu, 9 Nov 2023 13:34:05 -0500 Subject: [PATCH] work --- .idea/rtwx.iml | 1 + Cargo.toml | 3 +- docs/README.md | 63 ++++++++- docs/elevations_filled.png | Bin 0 -> 15259 bytes docs/elevations_inop.png | Bin 0 -> 7808 bytes docs/empty_scope.png | Bin 0 -> 8808 bytes docs/mode_filled.png | Bin 0 -> 6997 bytes docs/mode_inop.png | Bin 0 -> 3584 bytes docs/mode_partial.png | Bin 0 -> 5741 bytes docs/scope_inop.png | Bin 0 -> 43736 bytes docs/scope_inop_markedup.png | Bin 0 -> 72711 bytes docs/site_information_area_inop.png | Bin 0 -> 8583 bytes docs/site_information_area_kotx.png | Bin 0 -> 17069 bytes nexrad-browser/Cargo.toml | 1 + nexrad-browser/src/lib.rs | 2 +- nexrad-browser/src/rendering/scope.rs | 193 +++++++++++++++++++++++++- nexrad-browser/src/shader.wgsl | 2 +- nexrad2/Cargo.toml | 1 + nexrad2/src/lib.rs | 2 +- nexrad2/src/message31.rs | 2 + rtwx-desktop/Cargo.toml | 12 ++ rtwx-desktop/src/main.rs | 3 + 22 files changed, 276 insertions(+), 9 deletions(-) create mode 100644 docs/elevations_filled.png create mode 100644 docs/elevations_inop.png create mode 100644 docs/empty_scope.png create mode 100644 docs/mode_filled.png create mode 100644 docs/mode_inop.png create mode 100644 docs/mode_partial.png create mode 100644 docs/scope_inop.png create mode 100644 docs/scope_inop_markedup.png create mode 100644 docs/site_information_area_inop.png create mode 100644 docs/site_information_area_kotx.png create mode 100644 rtwx-desktop/Cargo.toml create mode 100644 rtwx-desktop/src/main.rs diff --git a/.idea/rtwx.iml b/.idea/rtwx.iml index bbe0211..361925b 100644 --- a/.idea/rtwx.iml +++ b/.idea/rtwx.iml @@ -6,6 +6,7 @@ + diff --git a/Cargo.toml b/Cargo.toml index 7ee8d5d..8bdd420 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,8 @@ members = [ "nexrad2", "rtwx", "nexrad-browser", - "nxar2" + "nxar2", + "rtwx-desktop" ] resolver = "2" diff --git a/docs/README.md b/docs/README.md index b10f6b3..19eb7ac 100644 --- a/docs/README.md +++ b/docs/README.md @@ -33,10 +33,18 @@ To open RTWX, open [rtwx.e3t.cc](https://rtwx.e3t.cc) in your browser. After a b ## The Scope -After you initially load RTWX, the scope will appear blank. This is because text is hidden by default. To show it, enter the command `` `T `` to toggle `` ` `` text `T`. +After you initially load RTWX, the scope will appear blank. + +![Empty Scope](empty_scope.png) + +This is because text is hidden by default. To show it, enter the command `` `T `` to toggle `` ` `` text `T`. + +![Inoperative Scope](scope_inop.png) The scope is broken down into 5 main parts. +![Marked Up Scope](scope_inop_markedup.png) + ### Status Information Area In the top left of the scope is the *Status Information Area.* @@ -69,11 +77,60 @@ The command buffer will contain any commands you are entering and responses to t ### Site Information Area -*Reserved* +In the top right of the scope is the Site Information Area, which contains information about the currently loaded radar file. + +When inoperative, the Site Information Area will report that all information is "unavailable". + +![Site Information Area: Inoperative](site_information_area_inop.png) + +Once loaded, it will show the following data: + +![Site Information Area: Filled KOTX](site_information_area_kotx.png) + +- the ICAO of the current radar site +- the VCP number in use +- a plain-language description of the VCP +- the site delay: how long ago was the current radar file captured (HH:MM:SS) ### Mode Selector -*Reserved* +The Mode Selector is located on the midright of the scope. It contains information about the current Mode and Elevation that the scope is displaying. + +The Mode Selector is broken down into two parts: + +#### Radar Product Mode + +The Radar Product Mode display shows which radar product is currently being displayed. While the scope is inoperative, it will display `>RADR INOP<` in place of mode options: + +![Radar Product Mode: Inoperative](mode_inop.png) + +Once radar data is being received, it will show a list of the products available for the currently selected elevation: + +![Radar Product Mode: Filled](mode_filled.png) + +The currently selected product is shown highlighted in white, with angle brackets around it. +Typically, `REF` (Reflectivity) will be selected by default. + +Not all products are available for every elevation. For example, most commonly Velocity and Spectrum Width will not be present: + +![Radar Product Mode: Partial](mode_partial.png) + +To change what mode is being displayed, use the `MODE SET` command. + +#### Radar Elevation + +The Radar Elevation display, below the Radar Product Mode display, shows which elevations are available in the current radar data. While the scope is inoperative, it will display `ELEVATION INFO UNAVAILABLE` in place of elevations: + +![Radar Elevation: Inoperative](elevations_inop.png) + +Once radar data is being received, it will show a list of the elevations available: + +![Radar Elevation: Filled](elevations_filled.png) + +The currently selected elevation will be highlighted in white, and have angle brackets around it. +Typically, elevation `001` will be selected by default. + +To change which elevation is being displayed, use the `ELEVATION SET` command. Changing elevation will automatically reset the scope to `REF` (Reflectivity) mode. ### Radar Scope diff --git a/docs/elevations_filled.png b/docs/elevations_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..75a31c28a620f1d67c536cd065c235f1a04e76e3 GIT binary patch literal 15259 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� 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 PGKQM6mQsy^W!QfKyor2i literal 0 HcmV?d00001 diff --git a/docs/empty_scope.png b/docs/empty_scope.png new file mode 100644 index 0000000000000000000000000000000000000000..c26c75b31d87b814850e8a4a3c580efc258a0f99 GIT binary patch literal 8808 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 literal 0 HcmV?d00001 diff --git a/docs/mode_inop.png b/docs/mode_inop.png new file mode 100644 index 0000000000000000000000000000000000000000..a27d3c0f72ecb09cd21c32846de9a1c420973172 GIT binary patch literal 3584 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 B-+2H4 literal 0 HcmV?d00001 diff --git a/docs/mode_partial.png b/docs/mode_partial.png new file mode 100644 index 0000000000000000000000000000000000000000..b3de89fe479550902704b11098eb6b5c9d68d45e GIT binary patch literal 5741 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%0DU(Kqry{!k3G&;+$$R{% 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 qD*QEiQW>%1r@3i@7JTjSSO~PaMd{+p z4&O2K>YJ}e8bHDK$vhAJjZsIRvbw0#iL6X7U+_Jszqz=wGMYS^?|lg&uqE)sN*q{b zoEV=_F62_Fn$2ITjsO6?cUQ;+1=t~rB7n(zUrwGtlLa_Q>9|*r7+|Phv5B$Q&BPd#OU5pS0SJ6&gnQ&a+{k-NbQ|a2P@yqLDqC)d+2roXj%W3n-BNp(4)z1{fD> z(Uva*VoVxxUHur@BHI_iy1^bj1=>6qrRv@Nd}8r^NnzLNN3m^9_E(DwONm31?00!8w$ z)6w5`0N7#;_1s&;hH5jU2s}Eh#*(@`RtM`9`KzKoUS&I8NYJt`CY#)7ewX!guGxDCO(iKSIQ(b%B5wtYw z%6JSOKTiiUXbaJz(~}vC^!{+nv9Z7bz>iBcJRKlC|b(YI_IGF7$c208I5{Fl6TRqqZE#2m8WptRBYom4?@?oAoiDaU84fZVqX zYXD%b&0ra!=3fNUj2=Tsb=Z-m6I;uMr4P8(zBEI`*ypY9HH2NQU-ORO3nlp2$E;-a zoG)DTWUJEr(NVWFNy$yh+}8@=x`Hsd^wo}u7CCDx#HLtz$r8|zyD3raH||9fsFkIY*-Rmh7a%3gri=te zt&VVGci9KqXM$%*UcGb_mRA`Xkkz+CBAg}OH*6@0fJI4SaG1Y%_uqKDUeWsvgcyfB z>iFdly6K_y)SjKkeU}2#w>ulI8_+K|8v(=4QCu1BB>tA4O}bVXIrbj-J(%W2c^Oxz zwt+R`p$lw{J$`jIG#_m3g-JQ={xtkx@yIRzWu(k|=ISmS)6gyYu+24!>+6SrjLx zu~Hx&rtZhsPHGGMBW3t^NKEZs?x=wXIZ7wL_w zLa`d2KVSQ6WglY^TOOGBL3UJ*7~N1cMT5f+_X6S&AA&@WTr1W1f7EjK|=3%o&hfP6qz6ET}!67rj1TB z5E9``yhCw=5C+td6RHu?t_$^x`#bNT;aSK<-L}ZAx}DGWM00Fqe~rDXWhJUd;moU~ z47eqLOVDbKBZ7->i7nVe{rS34?8DwrYXEc-U0B;>jVB(! zdHqrjr|h=;4TWf!-GAFD+MUla^#+KmAe-WIqv>W-l^3> zZU!?ZctY*g0&$8Mb|2k6^=e3$rO>uBr~Xa3q;wmt>0%mo(_>`zRJE5<*gnw9a%A-v zH?@KZ2-kx3p!k4AuJQ<>zmGv4oww|jmzZ`alJgv7H9ER!r{^C1`55#iFv}>% z5YzZG?eyX{AP9_~HL8TRN@A_1(n?Mz9`G(ue#kYDaW_fU(k>0U$26^6wckQj+-H9| z7QL3d{>S$tv$Bwo+M*%TWZH{5jxechED$iW*&1Hm_~(2x+R;TQ&GUBjQ@(V~obNCZ zqLH;WyKlknJmg%z!*x}6yn5p`4M|Wc&HUqOfp4EO)IUa5r*ZS}ibL1|w^XjKDunZ> zDb3S7=-3h_l-cWf9fGZ_7R(DsyfxH?5WyhOF>fSuh*Y$OaX5!%l+ z=)8AAbT@a;>XY)#$GWoOAn5>Ks~wmQ4{gOUkU}no01Hh`N8jr7TkJ}f4E9Y_Fi@|k zAw4RlvXOfP<^$EP>(-ZY4Qc^d2i<_F!@~L|6$~JA^|pBk`g^@3sZ)yHvloLwdXd&4 zVFY%b=+N^Kf&Z7z$CXrsO^LWcGemPbf=Xc5@@{K9~2uT zJ%0e^oS^*kS{mL=gp?3p{aHs-x1GDu&crK`b`A>E4dACJ1{Gt!Onj5QKuKP{p$n)G zG@kU{q>apo)Delaa`tYoS>NO|C%3eP|M~BXm;hM9kJXyu$`h(S; zWg(!A>^kl8-X_|&V*Gg7>nL}KtH5m*`W)7rCxkHF}>C!E_HV=y~qTh#6diTvDM~K{az!w~FCOw^3kI(h39?4R1tk(d}F*I0^1~ z=StgNnM=cZe8 zNq5?bdDCn_61wL@c3fYKAWNpu)B3F^p)cM%dKB7}UHl(iL01M$$3i(Jl}qr-IyB+h zG+|G*pS(K!-@X86;)?qE8xRLe8C!O4Tbq@0rBF;G7mfmJqIzcV{X~wTPA6(R#Nuk) zcO1n}FL|crQ!dOYWljl7y@d80eWirVc?}YVDo5NZIS5LRXhZU|Qblp<7qLZoEFHJw z_wz~QbyA5QoG|3tEBZ-odI`r+o|YyS-EC7XSQ_oUoyy~4q*y2aWKeQ;>yOrJ z62}Y()^^%Lp43T?G;YAWLLDRU?{*blfG01A%H{J1IUs}!$J4&J)nz%xl4 zn#NBkX{hpa*p~5eC9<_2j?E>l@Gc1&i+#YA{e;vdb8x0^_Ei1|B@M%AyCX@P;$uz0 zD=OIg?pq+;?PdN~zPIs~MFZ=k2e z>b_Gj5!=v%P3XxiESf4dSsAah&N})oR|Ur$by%zpS%7u~Jo(u$!HO)PG}$A}YQ zq7goE%x+EOKjHGd7w;r=&D@F36Y)w#xCpIlIU-=un2V`eu7vS0d6tpi|W3!|>=5?+>+lL4&J>S!Vx{P$3dtG05_G>$N)|z?Nw)7HkWs_FkK&|eoM9{0m z&>LDHGBI9+-CMW?Ti{Rd5_jtB0?qH*woIRJDBM5>2tnJ7ySVJ1>ezdjeRF6O#w~R@ zCezJoP^r(2<(ay^S~$5q;vvK2&`q!VbbifCTw%=C1|60-+bx33~ zX=E}fWt#a@R?#rsp?U$rGpKsgwk?}sZ0($2AsQ5XX53D%^z%I2;*)v_k#yNTJVQ&} zOtja0xtnqZv)>=BcKl!*VjWxEC_MJOaB{1WG_`K825PBDj1b|-d0Ue+p(AO94D0TI zxlYEwUgf^iC`ZyCd;9!tVF9;fcrht=6-O(m@M}j2{*LvCF;g&sd2rwjk+jNW`jfp1 zi=h4B&adpjfhh<vQ--R)i1?m9?uLwN+trG&FKysTS%n+K@DSeb`l@cNwbru@k5vx)B>y_YQ<35z9D*J8&8~H# zX;j!BcTO7`v{=+D-0QJR-f8!1moVvfUTQwQ^r)%9L7n*`<*Y|cO!}wu!U-KiwhkJU z?$Sv0;hOZj_0Si5evyOqGu&xpffl`>)0@2G+ob;OCnUdplqabKn9{+}?|9@989K5n0R^<@XlwsS(2 zwZ|7)FPZRdJGIV=#1T~3t^20k$1g{$N*Blece;c1hy;(Vk>aKSD_=T4p>z$L-$b^R z3(wyQ(L9As4Zlz-h8uu54jv%Uz0PSQE+V}=ZZx4xf9}+?-8%)$Qr{rO#6q^xJ-874 zeCcJ<1CMT8(bQ`medMRY@hTxvqU2Scd{QYlkfA}LqkqFNnm5h*Bu-e}Rt4*KJ?-SF z%G4!_=v9k&H0e)=^#hDVj59J)BDSNRm?NCtJ~MOe56_y}n|A$G@AsXvsvVgKMz3Cw zM8Utilx#_c)U049sAn7m+r_hHg+!AF2hXny8=!?Rf4Q-Ce=`*QT$poLfF_2qj}_|q zJi=3mDQcL7#9UU-rFPZP3;MPgUZNJ^qhX@=B-#cd%b72odnm#1f;x5MGgXMrz$?8B zwKjs)ow_Dq$0$$U2Sv5+9VgwQ-A13yDij#b8bUIy#z@#epRjDvs;Wxr)C`~BOnn@$ zP`HWh`t91hfey$Kd}-lO$#Ff2bp+LU=lHeTR_k7WVA)egq7!C00(!*r;Llc8y=zg4 z$L=th$L^OUZ|422rH;j0Q^w3LB#j5pJ}`C3Bt78N!+u?Lw2+L2KcjNV0fskaMsSQ! zIwqEWH&%{=`D#_Rv@)?%;{g>mDuiWaP${%JC@`IOa3}fj{!o>t z8>!Rt3Juo9)R89^yfgb}d3sosK}zg6NEHWsR?wptcP?_3r?hpRTS(v) zY1pJfS}yN>oXNf`Rl!II!ZSNeohiJSrN?YvVj**6rI9Net%Z5R+VgV1dQ`ipad$(> z??nTqwSG7X&JR6*cYZdBW|Eq2%ST*f3JW(cI{nHPD$SCHo+=n!vU zVm%J7DNu>V(@e#gfQ|f|Huq7NrAR+A^g{|whY$JDF9QADsc(z-oitclg^Te~mJONL zPgVWwei{5ipwpH3sHY=6W{Wc|h}@W7k||FKC+oJ=fW(hB)qLJvc|W%8O5uA^^n5$6 zyp5WyJ<{#g?YL^6w;DC3qs#pqs8LK~X_@*o-<}~J;XBG-FlorD_FmLMgW7m9^^EEs zO=p!Vf6%8pW$deyee6|QS<6(Mk7t6Ya$Iq7FDRc9WAWcn3^^HaVL*$M(z(1QT^3fU zZ4EyuSFANrj~!@Wg!WrSTc)u#Zr$3Gjkk_!ds>H^di*db5Hlm_K#a%5L3RdlsZMJZ zEfZStz85G3=G7UDT2z)Ai>UXzVI`#eBBd;x5Rx2%PK}$}uuNBMV%TB*m*CjldU%8a za}1eIII)0-4~&4Nk=+b9zdVLS4TV>RTrLT#dwIUuBz`##q>)E89`7HEMvrZ-Dvj>lW1jLU=|6%R~^KQOe(n_jQs3K>i zA{$T;(*|Sf=>w&dv&c|LjVYNRcT1kq|~VG7^mg&GryP{J(2Y;yzwOL z%acm@C3@d7N!>1TXftZ~y#46SoE3FFlbe2_rcGzVJ60}czi5_-A_xyHe)&M{(0Y}1 z^{Jk`etvmCE8KuOl$!i@>QmPOjX|Z2%-hxSB78@+Y4nG_m+8N?ob3xWizK&Dr>&wd zNo<l=Fsqa<)0l^ccy)}6gQrU-^CB!A5f67?0ry`Bum zu!h8JF%|~@xE5Q%($#Xn!TI@{p@lwoG|I1>5KLFQcuPl3<6PDM7G8X$Nz*QE6lP&i3`<7`MsF7@>!qX=W961FBTp2tCT;0Vd&z5WhC(?7~1lwQ` zm_C_2=~1OZ$Srk??U4#*?Y0*d^bx0-t9wxRN0s|{i#lxkct|uh=|M3l<)rr|(+OPa zRGw1)r_MvH`h|)8nAF$vR()H+S5GhVZ`GgepRDdz9=#MvaEUkOzBl}S+WY9lu;r${ z#8pJTLcdMQiwjC>glmXTT7&Y5>B@m*m_YY%Rc%|<$TfG1B;74=bOO`VDU}{&+3V+? zfBN*JY*X4U^?}9Km~ydHL7aKbcB(q*ifAEsv4(Ax9=6IkjoXrU>X!g#;mKNd{Kc~` znC0oRp|;vuTrj`=6Z5X$e_W}4Ic4~<5_)C9NsZh74eGl*zKxq~0lvO<)|B|@t@x}w zPZL#5cKU>1OY8cr{cEPu0fe9$@6;9t^^!)afSS~wMqj4dyVg$@{g&=uzf6y!6j;Tj z(kBZ89o>8=xK-*5?aYFWfX>8k)-DW;SoXk3w9S~=*Fv5$Nnr%dz>(zxto!sMo_nsi z#a&;OVIY!zCZaD!bn?*=nT1^LZVm(2vVDvQl=|pnweGF&_Z~L$WULeKYqsiT_)n8b z;digAWSxI5t>z#imj2jxRXZ+0OMTNUNGoH&E#jXqnp(`^XmWWqB#@A zV^gm9wlSva$Ge-D3EaZwvO}3{@NqD8!vC=uN zdqTt{w0OQ_0Dd5c4xeWm=ch{WJU#vKbY=R-y!XJ*aYnVzcP4|ri|>^*`Y7Q4P&0>{ zE5B3gR<+B>Qh23mOQu6+1_QNBOC%BXABWQEkvW9Z8)|SIL@MQ@C~M&*cq*~wZcS)h z4P3)H1B@+fH69XuJS8UV4=N`O7&doYQEQghFOfgOhYlw;d^wj?qvIW0!%yyMFzIKH zkSVjX>C~>xi-#;J@1ICT7HpKIi0d~JOFZVjBl<}$aYb^h%fiM6wWi40b5u6u6DdPP zj2Au>Y4qKP${i@wV!s2PNk|oWdbyn&=^ECxlXNCQoqz4U}OG%joU>cpkN#C3hC!Hjs$?JPc zcmUjLG<{rJkUvx#Sp2O~7F;DEa$}Si4)tcsi0Hkav?sF<`c5*d*rmepKPrDIySU$^&B5cGhjj)Gh#b!zRO?zK&pGb=V3K!asSHRZ8 zTiO7qF3bX@GU~^2dEqxWw71}W(+0Gm0As)B86X+!fM6-DgfxN8AuF0ogvM?LDE2{% zbdE?mgrJ|(>!OwOd2-sxbOKO{!yR0@?9?UaA=6TIero{KsO7fRLAY#fieeHotsl-_ zZP*X3j3xJ|sddxjtAioqGsdP@5KU=M_ z<%}f9<>n%5pwB6=%h-sbk}yk$r`L%Q5hSgY@T`R{o80Ay98riHPq$EeM|)ap;Z(Ys zTZ@`*&q-XdD)ngk=Q{Wc#GX6>rs}DJ(+kHabyr*E6gZ1NxxXlC{>zaeFi^ zQ;D{6(-eWaWLdFV5>b1n%L-%Z5uypRm52p28vTq~frKN1P0)Snob$7p=SwsDPM0Wf zt1&`2Cip>+AK5V8C86-El+{wTZpzlNakY1pB>nzKx3hfoHxN1a{>^dSBVmM_R|>pY zn6RP#LvEBV{>j2D$FvC1jaH$fG1PQdD~&Y~_ZqMISU_89ORSDtC9x%48=8|=8Ie&hNhAHQ$119D& zWKre;Dp7!|2sWh~f3(J<6?R{>z~4}W3dcwb zX7sp$0Hs`q=OYVg(FNyFdS$s5Tat}Yak&FdpOYgs{uuVx+--~+zkss) zL>O?_wRDVQ<3IhLG!+%Rn*gUNg&J^awL0D~`$sO}L6Noc#V-F3@OrJ`WHlZR7Jd^bKum>=8;L9g&?Lb6oaN1eklCF z2#LT?M)+IhXE#>kF_Rsd&O5Vj`Jlsp`VOl*G=cC9g*VT@LWDN`8+ML6VN$mgUa=G;En@K$MKve>cz zPZG=US2c3|nn2XLDV@e+C%(ydzbbyOz+Wsikc+Z5g{W(DNWotP$Z}|C{A4;wCz|}; zuViZw&^BE0X8b5&HLw4++lJZ1I&

xOw0N(oAtB1G$>d=zF+n1l;4iRlXs&%W!bnWe<>H%;zfg@?2+BX{dc=+|9&F+ zR|4CL|Na(m0o{@>{_|5BfTsGSi{!*G4WZdw#|*Kin2%=?S9_1D*-J zDl9P6DzQL=V~6WsN}5*hz%X?8LEKl5sDCLze_v(8{wLX(d)rPeB1fOh!Hqh((O$sZ z_Lj+fD;jW@YWm~&WRNKTN#-c%$d)O)3`OYF!8P7|DXBv>qy{cv@uccF4C98r8F*~!c0K}&LI`R7YbWdv%U)gM4fbM7Rnuc^O$Q48njiAujLRTqxYcqo_0GPku1f4=8cs%xv8 zc{hrs$LGKcXIq&6;p#N==Fih3{j$iU0b^Y<6AJk4aaHCf8zlXnJJiuGgD^jKTmA~e z?a&^T?5D%3a$lOrotpN(bkK9pLGdn)FHzF}Uh~sEIU0#Wb^70l#>ZpDDiUHpNdZKZ zf_6UC|LCSSZT|VEh3-^4+kHDD%9P?n`hIL4`7_eFfxWx0`w!+?L9b(vhk{Lei4-G|OV2sjnjv17hs~ZqX!V#|JRv z&oA`ZlTP20#4sByMYn@e-MR6$5?AyP;1R-;wBJ*Al4UYh_Z|6Z_w*EA z*EYS_q*|HI5hbd#sK&`OVvBQA>Ng6IGKS|}WvJJe4LSEMdqZbF>1Lc6L7MW*b4p3; z@DMy>hyv1_N=WkPUb7%rd6nwZkyBbiJCJ6BuKtSKEIv9p(tM#o`H%j@fMKs#7pSuS zN?+~#`f=#H6#{^A6soJ~QJzZh+24B8pWh6?n&IL_v~nx4!g zXhe>KAkox~!dd3gp6Jku_}Hp{DV3yRxw@IWl#jm%@V zd#`P|@FXch-zn_>v>1m9u-Bp%O#1iR<#;LWkNpgk{Kx{Is&yB4enrbZ?pt>z>^b?W zgz>$zr}7-{8mudBtV>NHLroq~I&6MgfnL6lEPc~1tv5Nmy<=pn`P$R}b$|Uk#^;eNFA@C}qe^2+W3EV_F%hjK zDV3=Pbaq2s6Fy1_%$qZYokwTtYhm;;7au|UX%1}|{b?^#5ZWlZ&+Ewe>#SXJV;T7v zw>+&O>6wRe!Ueywq(Sl-;(NagBqNMpnRbG|;Y8i%!s8_OBwtA7fV&Y>PD_N{U*@^- z5grcCpY$CWRWUTu!oQpAVTG7?;pxw)t8?jtjTACeGfWePQGV3gY#hZhCx|yeCe0U- zijnjuHtCmJjiYr!%Ct?DaVHEu*+Y2=m;N5Hv7|CwTtk^TYu9dBbm=1pKZ^#Z?d`!6 zM=nQMjf{_m@o@fr)rpo{BQBNH)`%b($hPy%%l7fSGvtW)qbwyR>vWWNwM2?^Zc!2M z&!T2C!J!+rh)YdW$3jkw?Af@>s61k{YX-RI?*w!H`PK(h@{1pny*52F*_$ZKJgm|$ zj|(-tj6vv-YTZ@`VIwAww%0DY0nHFJpH8G{EAt=cG&vYVMNql*Xm7c>at7ponqgUe zc@F%OCkUNW0|5r2p%H>zkck5ht_3_3)obIMG_Ylz1tLZ)6gj|<0m+ya#C|xg)k?xp z#kzo|QF)LIatLI7f706D$C8;CF+coe_||G;Swa~|)f(aJ1VWR`cv#Q2XDp(!%xZ^oefEMjJ-F7kMcKzpf;d~_o z`y+pV`=eG7mqFQLd)Mxm{5qKdZ6UdJ zoR_B-D(`P8J_=ZqxQQ)$fa|CT)`@j!t0frCcvhYu4~w9WU7YF9A-XHCX8!dDFiqIT z(drB)I`#j9iwm1Xxl2KcmE@H!MO-1fEC(}1gUpfi#F;ACWcKo5x=hg| z2Sw)}`ruk(k&B#l$0Foptx-&Ej_wSsiO&|{?g87$N)T^>xX=$I$mUVgMUz=b#jWYC zI>oPv`C^N0FoeSwLdu5De?DXbjgC~@*U_&~ zhIHIRmowveX%Fv4`hji`#$W5)aKYm+FL>Nbkyn|R5PedaMU7;yb*n@MuYLt&#P@z5 zgy5LU!9ElX2P~GKV(p!pdFGmbk1ukub;Q!Ub!e_p5%W#f2T2PQCs$b(t@Bv1s*@HUeO*+5>)7=t_AzX-EDynd&DlI#%gce3s6MZO zUfD9PA>T8*WFzF_Xc%+CrIju!6Z*kgOG_)#WoTJTjdYs8HeoGePEaPkF2$lux3G>S zqS=S1f8cw+ECSV_ zv-I_0{j5{^u$V?n-HgeCA*1_o2}jbCr!bIB8YV((+RB z*e)OB4X7qHKCu|A8ZLKzaWJi1AR^j$Em?H)A=wM#*-TN~x?M7}gWjn|j7_0yH+SV* z>9KxBH^$;BYNUl*qA6owuP)=SYy));4mrm(ms8SV&c4FKR{S|vh?~`ri{Ea$bj% z;_}q^D|wEOeXBq3K!Usb!TO|iwp11>C)t9QkCywG1(FV~Y~J>FJ3?mU%Y&xVR0<;f zq%h+lX~-G=22}T#^_6KC6J4tS%U5>vu__10Eca!`}MF4A8f*|sx?EVU;4<_MZ*ZG3gPRW$gcNFCg2?$S2> zXLEZk_9M2U9)eapJf6iamm%v1jXU% z?~~QW;pj#j7XcjP*d#9o89+r?B|r`SCDGPchApZZu4C}(Ja+fDcX4^lQ$9*@V+8V? zr^Dn7E#yx!3^YJ8ibwadjlM3Vp{r-@RDbD>f<@{e)w-ne2=Gi>!p06L3MMz`IrQN$eEe!Z zV=qH;;VVB~RJ?ttIh`pNz9Qfc`4+a@`9^%jsR|k|jz3wnh1nxuX`ES#?v{SL(>bk| zc7j9ShG{TwXItA42t;Hf*Vbkugb#V)E=)ao@^hybv&p5YUsi`i)Ikt6ptDk_AQv*v z!G})i_z0LJFXKj6AYv}t-C$$WnZ|6=eZ4^FpxwqR(w^O_(c;z0bKjF#3-rYy6Sh*1 zNc$oO2H`6$vSXfo?`()bO>n*2&FORdf7pBTa5mHTZx~f{L1(H(DeX|S)}q#6I!4vl zrb}pQZ3$IkkBEq++M2NzwJ+(SOsP=OSYoY~5~QUX60y{hu_QrC5Q*p3cINl{{qg?y zKJW1!&+~QUIMB*{-S>H&=XrfTpYyz~jJB}6bs=BQ+7x8_M!r8t9zW5OMPQ|4`d2rm zyK@JaO<`_y^#zk4^GQW9*DL+LE$h=d`F5Ad@H9B1p+ar7oEAXgqpzb$JNUx4WA&R_ zHZg#K{`OH=R`{~ciQk;xLWZ5n+xyk1f!UM@^PwOJBxe)Xabm|OOs@^T>fP#R(yu3> zH~@TsN~x-OW^&F5jI?Cp<_E9tOz$5e`+eAE#@zPjzYTt3%l<*U@yWMR^6ge|mE=l} zKeLnQ&8ltYHrA?z-k{E{)8Ob9;*^VGq&pRj9hg~4=rW%v>Yu~GIEz8C{Us=k;a9Gt zCuz^vL=O6LricCII@tK{;KqiE)#stDJARqX!MZ)PrWG4(TOCsz4s~AN#(JRTa=B5Z zezhOmV%-pJ!;>#roZF)@bz2jpkK;jhp^1IImpxv6vCHY^1ykp4QRhtS>)H6Qfqc;g zbPEqnz<;^16JTIV#V2#N^{g_=i&24@Ejwx_^4kvZ2qnzM*h@n*ny^BuGSU|^x3}|# zmL{>Nw>jOhsDCw&$?^t{U0hu3&+t6@)q)Mfx2ZJfwcOl`=pY3Dcj{a)_}P5UXP~t5 z7dQHMGt6VED2#aWiedxEtWJ%*;<&-x^n;i0ICd3mr?*+1`v#X>=!RcTF^N;s7IoJ22oN49$iw>E# z9NFsG|grjM{=Ir~`?72j`Jpt8fG__JS8sm43+GNPNgg|`Y? zY?0dOE)!V3S)29H%r)xVug+M=LaYbYnG7$P&~LQQGz79)TVwu{ilb|ISfRGd7S*M7 zLL3X@GN9!>DhscDN3pSY(EXvkKRaFXw2EBsgq zqAZAlYv-NzH1M#DMdK_s)qoD4hz$Y_1RM1|a&a)s*EWs*ASk$yU&1=??jq%v2?{nK z@_bO7OANE8+-Lv}^a%1mg)dFA2+EsH%J9sIW9icHb=GyoM|>;D91lR1)VUQZl`L02 z9s`T=%>+Prg|ee5{PrcEHM1bT+C)G5t- z|GEJ3MrOIR6%&&4ymxc3!bUfc8tv;wKjo&w_2`;b_LWF5f4|q(<6QCFYoFHYh1IoO z6(kgqo~vk4Qav{Au0b*_cF>~%_N&LQKCG&GJ6MCh7U8wwD%1k5wpqp2_HEi{c{Ht4 zid>k?O=PLs>Z&pZvuTcNYi!K-MpTn`3bALB-e$g)R7*N2!oCMhe)7)e(hOZSD~7 zvV#K8CI#Yy+wO+f)|1-C8426RU0jl(iIr#{HdX{@v)YVJiw&c}ky~&w^!*aEhk(On z5rTr~)(*wJK>FHNy6YGLWnsLH)SGzZ%ve(l z{HOt^jNPSVrK|$U_+$vIT2X?{PLwQ%Rks1H1Qq~|vCJg-Q@2U#*moY1BE}!}H?x6b zTT?FhQ4JTWKxBp10hV7uC&oUWNv z3JZGyV{d1vvgw^S+^P5ctq_67%WPV!DpnJ1TA?V@i5grMCkI-9??+P&67?p$zECBP z_deI!Zhq-25Ni;TxqTZvivqYr1GA|aiw%Qhn)dl1`@##RtuhP`iXguXx|g9*J32iU zQg7o)^%aYIIEwtK+CH}|kPkq~OkzN+>WZR^p`1R>=VBG)T-SwhGllZrap=7u4QOWU zC^{BEt55Ps5mk$u{MJfhcpH$?o1eTh^TC0_P5O60C-P{dAeBaXaGqj`1N$)9y--mj zDZ1vsW!6W$arGjZo$GUDCloT50WbCiI;EZ{vrZF>Obcf-a1bU1kK7E-D|akU_6_w) z>$kW02TCr0>eW`?C`+D6+WfH|R`^p-H&K`MSH<>va9(|2K*|>A|(ENZ^sK*k^SEX>?%4Xu`O7?!cl6C!ip@NrUYIzI2WQNv< zBbZA|r5eP8iJbvJuQhgYX=w@2vzPWwU3hv4xR|cIgkE9)?g&N}z#Di)z`(0Em%(6Q zIN$}4f+vdhI6_}go3`Ih%(~Zy^bZSWxzu6pVgit`Iy@iDhZisy3^Pu3#qCRuu`!J$ zA8tJa{<*)u|1Fvl(W=Uvo144Ymy_^5#+BV?XAd{Z6tLzD(Vq4& zK4dtwFn3Qi9~b05!7s~au^X>D$2O}aSt)Y;w`zHuS-y5Ib#xSRw+LOBiOiqHv@(Zi zxcX=}5ArIHR8~@!pBT?IYnu;m)d;lU6G?t1#abo(p)EW!M@}^N>>?HKip3%@D36Fu z*>z6SNiTR=$n{UT{#4|nvBWmw+S*p@7uXVYbi%id(^fxLHX2~gjYPhP;<4u!nXLT2 ziKqBt3ruS&dg6ZPRI68r?TLSYA$+Ummhp@0;*^}uXR~pq^F>iScng0k2JZooN;bOv zDw+N4Hg_5fc4M^?F{1OGwPpFD>BJ5Qb--6|Gi@QQ_bC0zb0zS=b3W2miKw1ti)aNFw@%g0yO06>zw z80hyebr=Y}_9+q869~+j6Su$5MPk5d&tH63#b4LDx$j?8*SE1^Is#%D3utG}M4w6q zGgiXnlMD7~8zQzp)PfrZY*OChF{p!NoQH)2g5(|>z1E~x?9t*#Wv-((IkWUu%G|6; zPHYf$kyCHcIyTX2Rte>D4f+FhnxmOG*-HM%!a43dbppd;As+Cz@HB3^OeXCF{FPbD zEPs8v*#qOe)4H|JiIpajvFoU{5zY92zy)|A;c=5W*X#`G>YN=N<%^=7ACRihG^Lq2 zIFm;4tZ?`eJpjwHtWUt24sCiHg2t*PeTVMzqOqhZ7@a7FsnUDJ4(NJ}C~I<}J!p~) zwd`KJ?;dN5Gp#=Mbrlwfd-adLDDWcx`>+C@{ojozAmFd^-6;gF>2+v)dry18J|Dqv zKYp_NzKRIc_}qbfzvQ{Y-zCfcTvFgawgjBwKTh$1^Coq386JWQ%tFTTRV1R*_MRz=ezh=Ej zr)o*yqqdWxOEuUTwSBYD{4lCPIw0B41mqw9WauG%ar|M&O~tp5Fo3rn z$+8hi=&(OFAR&@)P$Z#nDW;r_eR8pQ21D{O#_Nl4UoG-&6dukTx212%;tZcXQ9C+~ zXgVa@5F++1amVSM0kC77q3!BKOwhTSMElG!J09FN!;QAxK&1d z+6Cis7<*)NsZMb13V}q{=)cO?Gnml(A{j7%$@io`nbKS9x>S5!>g`W)JOEocN&ii2 z$f|PpXvZBxQDEFMR;Xlz}(*T?(x@2$q+bYjyJbUJ9W@VPEYYuWOIB!nh zR@&Ky56PTxSe;U)=I8DJ1vy7ak;Z;=+k+PBz|J*A=NwspXd2=BK# zQq~hIpSrrVVg!h?XJcU0IbZ|7b*8Cmz6vr3QU)+hOE>yiK#o}Ks!^M>)znUW!EsnE zQ%2Z_f-lXqK=Y}1n8L9BW>Q&CH9)so(ae2Cqw_nTzgf=2e#qOP5DJLMcN(iTldk5I z9C(G)nb*Z>`dt|_jM3-Zky2CsPWeegq1mLDXog%*xDd zTxx1_7{~#VV>2}K9H`-qG8k689+2x&%h?|Fq@UWHz(~i~w%Wd@KDg$&kIzAMST@*Z z+!dUx^YZW4qvdt5)&?v)`ROHhUHQ3!iryNv%i-ijKCz zLr*{4EQ;dkc2ysfz%@Tzy4}9H16AmCFPyQFlSA5)0R@-+*QiEY$imfDU)`Ql(0u1` z+#lSUZSZc*@C-4UI_G0f1In`YS-Z7PluDK|!HXO#k+mH-_jpNLTm;GQy5IxORz@xd zrNF5~S{yw=uY4q?$y_e{8clj_=21MMwKN z`3&KaA3Pr%w#o>}T&Q0R$jaQ?0g4>MAxh^bY*yg&u~<*7QSy=)X=JpSJcZfV^>LM4POBBNsEbN4zsb z>V-ogImk%J+zq$USfE_H`mEI*AklM?MUD>%EALm)ie&ueXXRKYDda%cg@R{L%+3?F z)v(>FBB6Zft)5G9$N~9(AZO8sEIfYo({y*($}94mTb2#>#bUE@4=l6UTfdhiZ=C6^ z@Z}tBunm37S&D7u$7SsnowVeeVPMTWgQ7=(!c@6UO#K0++&!OwK`75=W1Trc_7SYc zZ4?;1>4|6yOGX}QKGp}wi<`5ZiPEUfbGpC>q-`QoKx@!@)!dyZ`yeS2=+j-KJwQ&)JG>En3onJt%3SP zYO2*}>sX!IYPV?0lpz9*b^}9=D72k=MQ$=7O5qw=R%>m_Zd#}h(kt_Ir7?O+J!cv{)1j;e}PcBjnI%67Xc(=ZrZg-Plg>BdhyNWYVKwzu?K4V4&3i_y`E#7U24DjW>h16-Y0@7U8hywg4r8oX*ufc zPC8;U4wT1V0?i;uU)3F`e(x0m8%TpZ-g=l72N{E4@wy(vsIKo*$#9x4APJluTQcXG zYjB_s8;9SoEhtN?Y!0WUZhyEuVqWYZO!>0x3c>teym@``vw`|PqtKGhZSb9>{qr-0T z$!a;jK-WZjnDbdwgL<3QuG+q7L&GaC`Zl&}vqzs3p;@$3xm?ePHva)9AjN>C`(n83 z5&THdfR_(0x>;>?JvH@VPss!LuqYv)yhBqABr6uTL(XDggzNaAFbj9?u;dc!5oG%t^+jorREizSkprF&{FA;m zQxvp%(PH}9NwI|yA3f>OBGwiz7QT0!W!${rUP$@z;-`m$$HJ7n8v+1U` zQIw?`)?Lx-sq=2w*7m5yBQ@Q>v8R)MDzwVLVC-r~_eP;Na+S+7x1*#rS|@?>(>>Z? zCt7D?LwTaujd)|KyotnB1#o)uG!!xiXs6cUdKYsOy5I!{_A!-<j%r7(~lk*UI!Nxt} z^RI#RR|Chgxu3C13r5?3L<>m8>;jcG_;w_drimG2!CZjncnNe5Edby_hcNNtx@T;T zuE^I(46MNyYje4Z05CpH9IN+Ry#rL4;a*Bv0IC5xpz5*gq(v-oals__RAXmAPPbh- zP`=phH?Y=bY*G?YBuyfy6vlpLpH=UQg!0QOLhUmNry9L7>EemV^?;lZ=Q3@MV#OJN z9Duw~rqWOahm!v((IfOgK`$UL%ZKnVcZk#`pUJUMOkI8XLCvamq;36?Cmu#^Hek1! zBTV`$tDDZ`I)SxpL(fy^6x^sg?BG0SVCg%=q`iukbK>P&u7le^kj{Wj}N@ylGAp*YOEn}VMpN#7!33m zWhhx+ma-}v^268HOY7+a4R%*oZt3^l(*F$%-qrDW*4;ph(CyZb%+=KvC`9W{?-R9J zpuz@-%T3rTIZ!~=@0t!tdU9@wf}*rV!L;(9l8I?$0?tHHUOjc(-o0$AJM zUmfmNUQrPc5U^W|Gj=DlXVXcg6%{Gn)8Ev6D-R0ZEv0{M&L`<+YyHymE9JmqHK^Yo z{pS=mAk&QgRn_mfnLZBmw@trK_W&@BYL<-;ZnVT#SLR^t%aOy73 zW*<4`VAf{CI)h0aBU2X_7rFb2@}H%AB>{1JG!vuH7wbXO;hWLA7)?TSv*azV0A7*< zNdKe-Po0aS{aXPAv{^Ja4kvk^s{^?D;=T9iQ9epnGKR}tXE3VeBoa|uAN1Lih&Fz4 zYAZ8FCBTi;IXOE$G#~!MQI6pJ!nvMi9!{{b>k?5j)^ToaoxC=i zvpBCQ+JqJxNo)nKAAyGveDBj&;eg=Gy-(n^SjYkGj;6Up?evb_CJuC?BoXR-uAiwv z#?y+|sJV>pXoEsctZhWXXK(XB;BVo8x@>_y-qIQX2_AVffo^w(pq6fO@2>6oe;Le7n90+}jp*Y6pVZ zp5K2R+YjQ6g#nm9v(&Gk4n_#wE3gQBCiQMu$GOA_J7?X#Y!0d_My`&}X*+YiVx zK(8nevViu2^A&9H`#z)0bd(!j3>G74|`^_T-OihR+apgIX0`x%Ix@X-W(u- zqhZ_YJ6r3xk#Lnnt}>!|d=dZS;`}MmmfR92TwUB*{AYPYok5LSkYuIL&Bj8@u_?xZm`l+!nbQgA@m4lKRVkVA~Vdnu|we5q}glWxBFG}&L0#`|5u zEnF>&WS9BVbLM4e@W2Ur?C@seD$JR=4^sIQoHoY2xR3>3sEP`ShM*bz?%aQ-FRt)e z=+(Ia$Hp-8ZD+;tux$s&rYpTu<8Ce%JE|5Ii7cd%Du3%&^X($Z@=foosoaBM>GW}> zdh`qo$J;~Q{FrR&c(-0G5))sC_FlARd(B{^NoE#qLDcb=D|c@8ia(aW-mcI+M% z8(lP6UomPbanP=yXy+WAbsD!&FwvrtyZ!FebI0LE8kwdwd(SZNVbt`eZ=gvaSZQ?g zi$hZFyW*1Q^0zNd%~#U=RQjW3KM!nrpkjJ2<@=9^*w-SGN9_2wGqV(p@;_`omFI7D zq8zb#t*C zrihrq;wynU`EG_ps09MTWG`|cu2+s@GnL7_O?a{w5pQ9PxnK%1a5WA?tMXTW%`7!B zsm38TN)p33ximECrE=qzcJ)B^&Svj$Ct2y=+r{I@@!5x2#u-l~jS3$2lzZ&V*E!dr zu&2AB6bNC&C1QAq0?8~L1F`SCUONS+G}#+dP>hY&Azji-OgPZV-8ZoC82w+~@+!S; zVcK{LXRX%~THx5ce7LfF$bl*a&Ip)^LiMTGz;BszUyY7hG`Kkxd6cRpeUZVtoae(=Y%-$=4oTkZ8-gv0DZ;r}TDw)c;B$9(Z>{5lj7*;wdD*MuJ*!{+B``qdhev!D7A#w>jGy(=)5x5~G7!vQ3{& z9$&VqOw3YN-C=s0Z}Ak}%$gJbea2DawTvtI#d%cQ)eqmIZ4_j27+ zYv**qcG;HCZ~j#7@z#0wNaKnWfoS#3h^SGoqj993(hA-0b=`J9@$JNL0dwi{`<(|1 zRGtNY>xPuj9|5`<%tQoyVIz2(pB{c&A%|oFf`Y0Q_Qc_w;NMrr;F{32@AD&IsP+F? zRc_z8!5ZicXzYzjk98JDv6x{${&-RBL_xfojLP9(CV#tg;+GR~f899rMmSJdw)%WZ z=iW;XZBE49Fi`6dQxi-L-J6o4dq6N>@2pMUFI{?Y&N%oLQxWWsSTjefWTG?W+c5O` z@+fjcMFsNRyhj@=Q`rW1h56{H?|%Q!Z~w8x|I1$B)Q5fW&m}YK5N5&~xP18G$?KC( z+mn6q{ZVquzfJ1lRS0y0q2eyG4XUwVpj+jP!ul1KFHGj;!@VZ=PZqbk z_~L1Y4*Hz>$H7aDBlVZlMzc+W4+U$$WK5Z##N&R9)L}F-4+JoQI}(6RZoL^5Z+~1z z=bx-Os3FiTC@JdjSlpHy&!oj$#yw+(iKN7N2rKN_R#?snq?S+w|kt}zsJ6L9UGmv(riG*O9 zlT0Kc=azcm+nTVyw)au!aGBsAgCX@G|0a4xIW7vr5q3W>mts+3aBw2qL)ctk+bo!x z55xTr8*V5EJ5S0}+SjK1@l48*_R2WbA^c(U2*%v=#33iNf?yE{r)dLz++*$6IqEos zKj2>dEM&s;7H8)u1J1_~3xr99Z=`mc|abiDZ2qx3~3_b8l~yQ3glWKF%zxyyGTOijeu z2TUwTQ`TFohwitF!=BMgBCYDTpPlnZED?TwRCR$Sr&2eykP%?v7%=fP?j-EUasYuI zE7~eBcAr-1&i|zz6y8ty^h3MF`?UF!bzx&AB4dTc^=CyAApiJ~vR@!S6;ER*`Bh$F zi8f1a_);2wM|3O2@#0whfdc%vi1AOc0$R_+#W-(}b?iC?bHWYLm^%^fpXvt!^PbWN z2Y|NVIz}-$i*h0s7!2(3So|T&5EoZRQe^155*1n zxtw5OD@R&|3~Ef$P6kWCP9Tk7z^BrDk)@pAuGAfAUF_#IS-=Q$$5RUwt+C8!vONUL-Y^pZ{thj0k5x>km8kaQO z2=#TNYH}Hml$KY==`+7go~zS*@EC2K_}&R*k#^j}%lUr}i);`2fS=)=S(f%U3_H7w zp>Zr6P0QzT@nlENwY961{nV>ATv^I=`eRrN72|*IODhIk%L5w1{VI`(D=BfC>2E|^X=m+@BO-TE>_M!M7q1cfLKSPQKLRmGbo{_ru0gx0 zY@`&`*_+un`m@CLK;Kq3f~dMjb-h*LXH=Cb4h^1<;ujg{fP8&;F97=#nC&yV4UG9E ziqhyViGjolz87fI!6{JIyEu!42ttby)}*)Gln-MGOO#frxCik^6}z4NEEiOTJf4cbVKw@sGi3j} ziI-I-bta*Di=2<6bqo~d1Dfwf@mw1kGW!&D3Koo<$X`<(QecB8f1Etq?tD#dgV~3R zSHDFMp@GF3m9%fZVyx1d;MI?g4>`wE5sMLXEp+qdt!Kqb z>-X0UCYg0NR*vXVeg4NC=ul%KeX(U#8{2bBB9w~J1Gf@d4&S01^Y$;-^NORi%3(Ny zxRKC?Anf;jFqa7^C2l?amgQUR2x?|Bgw__Mw~VOs+8)k_5h{hcXk>&RaC-Jfn)3wN zuamO2Z4M*O1+9H*kpq?yUL7a@&ICe8Qnd90`u@5?tB~uk3jz&F#}}^*2%i|hK2-K| z9{-@JZ9H>GU_c>NCcQggyg7e%7Ftnpod)?fQ-*n8Q2D+QZMmaO@I{AMMO-=8Hgm2s z>A!NSO@ZEj%dr2ueyh+o^!le4;Q#Bf|F0i!P<%n>gwT=Sb521anRMfmcVC%)Ocppp*`5&sAn^^IWhGA`SJCK`!tNM4 z=r0Y~apA7hyDKvVaRjISH6I&lpA`Nh!{2hUKN_dCX{X?Pbp1nfBc zYcZ-Cq_{iK;EucqZr82r(jz-P+ij(#_nmyNFOEzZi`AW)B@*Q+`ptfzxz?vYKynzb zmS3t-Vk72|4sK*U7fzb<`}?&MlJVu@iP7Fh%J+YkRZ9GHPSxp%xX!+g+h09oaO_() zA2k1osJjXhJ<)aXh|*3D-IdVrt}STv^;vlTaa>9=0nNEE9B_=3I{MRwbJMJBf}o;8 z>N_^jY#`J9?(NCo9#4Uv{|Kozlm2$gpn;0V~!a zp@fb&4Wih|-~*HM?WlM~0WV6Uvqdp9UWp2w z^qz#Z8^%E?(``qEw1K&jKd43wH8BSe2fZJCHRqDl-f|yVkAv~h$^D)oM&3FyFXZ?+ z?J+dYgc|W2=SRW`gYfLylXuT83P=c)>~R%y1t7oHzIeo}aW_^kmYER8_QTBX4@Qb@ zhvlq1sC7l8SXiTid=uLrsYN;=f?VS4+q-coS0aJ~LZy}s+YS9N^x2ck97tCSSr)VF z3iDlF-?%OJL7CrQiv<-GKz4fZ;>GV*k0fA)!Y@lbbo0!G%98fDTgs{Nb%+}mF9kz$ zLR^QI?^k@@+a7G>dN@ZSo+IcxD3ZKW40X+f(m0Y&U{&&7 zMdnYlvyV7AIRW=Hv_8<|7N;$sEsz$!9(6L2D6F;Lv4Qiy(qe2!F`pr^g{8(aYM`VNOnwbCG@O_bsuDdkbQJRN|CZoiIb{e-7)sA-8o-yu9kg^5E?3 z{AT<)GD>^7?9j#{h@Lzj1?kehdW1#6r=rN`Bn7nIvHeV^-s>Mya!lC`uUKQC0R$52 zR&wS3&wsB|KNK|v_365Q)Cc(zkJcWFw7gU^s6XT@%#ax}@=DQo^UgFLBV?Wj-5$90 zCKfR@*Ht#<4t^_*J9x9y?^ulK1-@jBtPx!Q^B!8uTba#!6`wV!_?5bqJlon7!)%yU zh#UF+-VV;68U6+L6JaCm*1tG2En|H*dJNA#O(pvn*hLVW)4nxyR~(EAZRX`?ACpt%PYo!RGy80f1lzPGitpDQ3^Y-o%i7nRs?xZgVqJDzgs0Ai??8g zXwwIJcN?gNa(d>+OAL<*E*Guj-MI9Cz8L|=X}i15WVKX`H2Fn_U0TL68$n*WkN-{+ zKe-%h>G?w>w1hp-;YoRNY_cCYz)iYyDFyV{uZ$J6Uhvf#E#Gn3`VZw=nkyZZ)pJh^ z4cVJ3d6f$V2jcd`>xu5+-<-biNZhutOwdW)%JNpF{t(ALXN93PLx7ezCJdtPMz~Y< zElauyj7na!6x;Ta{`h*mD&+|{eDK|6@mT1c4FJYu)m|3 zCXD;Q5NJs4X<-Rqi71CX2bqp@B2IFaUJb||6lkypzkEq8fy$=;&E#%(#NE&~a_C0C z;6?{XhXcLGoRr-_vSItGd+mOwSj&&;%a85F+UzZ=2~o<;K4q12iM$rBH5_9k=jE-F zU*nN-Fm42#_KOR$5Gso-3Huc>&Pr?#t+-xwMkQ+>82p3RjC#xd(X~=foys#3e`MS{ zbmBsgSZ9vDiB0Lz>kSzbZu%{%Ab&||kg!OeIJqOYwZrupt-b{C$WBPlan?zJ0Q zPBPDi{+bef(+DW`&Eu{K#axy0K52)6nygpS&{FM=_uHQ(2y*RJpmYPgcuFAgA!KA`=C6uDW_O z;0?qkd`EqOoxsSad$sc$v$M131cSxm?=iWR5vz8;h;2Xkq*>@gz`rKabX%VCU*>X3 z=r;o_7ZajLvu2$q&%SVyDIuziAfZGK?w$x2=)YB>9(Fdj}1^0kAJaw{%g zIps5ITBi8p_^Au#yO;w*)OEj>6KzTy5&3m;1^m{sGUC(7+MQ4Qkt^?-Dt|YaXGwc0 z6Lk&lwa+If%e#@ss<4|!Cc#$c-N>%eLiMQ`sWjd?>t$?%#h9Q%%rF34R&G82KJrg+7w`ks87nM)p)*GKvX@dD@c|yC+V!}Q1%w=3UKz+xURMV`7hHy1J8!!F{$1?QD=b7kM)x58Ui1fusf zC=2hO46(IcG|%eZ!yOW-z__VK?=|u}HGHO89EN$XX;Dm1A*|V_6iw`Hc7$C2=>QBK z(B>8rzAM%puC~ow9*`{<2lGEr0A-W#+$NH04@qP zBI%YW2(^vEVrjSZ(JE&zxR=la_NFPOBWGWcLp`P6m2+a-S9QyQ4;lGET^%@;)95`~|FfN6lFRtx+{d3)iKSG9rBZih!n&#|X@XL9~ z(h(=Ap_M84b%l8%WBg3RxV$3r%ixcy+L|GLIWK=TonSD$lm%4hjHTf>^aDJef8_}j z(-&XWty1*0lnk4p;3(%GP^-QB+kSOi9_KmmLA1~=G>p{}pKdE}t`$r+^Ib&^E z3FC+z-sYQIzovv-525IbD~d8-)wDyN{@|g#KTuA|T3_7RS2jrDV8gAlsp&WQnA?T$_AxZ?Bg6{y;@)&U>XvOREkXKqo(@vhV-(bIxwq@iv5lc{|V4 zZMGEY$7!pXmJ))KOCSCKVt%f_5aRA$wou^@(8uj(pX%iZ%YnN2HOhz`eZkmJ+SK;n44@-`qn)-i9*Y+b zonu}GM{8Zc?vFQ}*!nc&bu(p%gByQ2Z`R*R)yMN?t}OcO$k}I>qOG@D`t%4B!~j6y zD&O&F`zG`_b?rjLaJ}3+K=H8*oXtxb;z!&9b`39b1wF+o!(NvK*Qo8U#SZH2&3ccY zc7s6jMLJKJfbSdYc6hTubyLorYYwlTfTFJWSh8RR^Oeim0BoBm#;{`8DJ zC%3BrTgVJs-z?>Aam!BVyBV70@*90wC*P+j732IU@6Vy1p@)oyV*IFSU1F8fc3$)8 zU*)Mf&cBTN-s8o+LA>9Cb@K%(HIuI7<)tmgN>+vyl>K~eFM1wiV^L!l@3kMzT?8me zK&5dOKSo_$eephFo`QN}Q4-$IhYukao60IG=IM2sf4;0*U?@)PnBOa(SHCwr?>fKf z45n%sS2=EVmvIk17WW^bk9rL?Jg#E81*PD~8M{tIGy1mh&iiQHi{Q1NyLXp|zC3B< z(ve@G!##rIJ$Mi_ z@RCPdtJUx;Sl6CHtlQ=)zHgb7VL>3Vf?dC0z#BeLf=Cu;ldvwwZf$EKmR^3d|Z1~nsSY`p(3 zp2B0NE-){XLA6-p8zC77*wK^-;-jUm+&iQCzJtsLkZ?}ZQMbLpL>c2IKci!j*WK9k z1VL?ugJrPxh@1;x=w`b zR(B|d+tR9UJJ9YH)r5xii@XR9 zxt0=rlC;k)E@w_{Fjf8T&zGd$V51@sAb6*UxqHr#aZN$ll!Sfff!ti=MexelN*+R6 zYc;!8*ok_F*ARnsahDg8PP-sQGrDqQDdueGH3UB_(Xux%;Ixzj8?>nhOsDc`o7lhe zO+>%x&%5`t&nJDa`$zOnMePjo=?_*P#@+vZ-N3rv4xCnV_mG&|1_GU6LJO|dP$B`5 zGs^HZAcd_4x>KYg+>Z*C2adGAEi?%6OxgY^IONjr?$OBEFBJRHy>c;95Bl(|y zO2EDi@W_GspE=4U{ursd{KMoi&wU$FV%y-7Fmf%h8Fm$fVM+#@z-+1AKC+@m_Ex{s zZ9O8S-p=`DvI;rii0D?xqc(jQvuJx(XhZ}CaJU4bZJ2_|#CRAbugIX~*euvN z1tdAFv59aD%*d53e>0`|u+e>kL)+0gFXe?0uw%fXw?!lRMa?zsZ46HkNi1GZ^)UW! zI~kW^-+lu~77GQ52I3sZwaL{H{xifD^mS)EJMLu7X<@#)@cN#T%j9i9lk36OZg%fG za^-zKB__4oOW^*=;9m`y)e+}?_nTS*Xb)L(We#>PFv=X4^yJaOc+4Leiu&R^`-%=J zIeW`0%B22r_VU|z@%EjnyK>;bkkd<`y`I))#B{a>IGa+i(DLx1jnt_JLE((Fu*n{E_2yg1 zd_(Mu;192bJeGcWBcl{fM@6}@^Pf!q1;|Q6B|8rGooxZM-jionduE{k%ICOVn|z`b z4U#bmq8g+<_m8OtaON$2vmg_MV6!)94q&ZCh0tFgiN#B&b%S8gdwN}7Ld%04acwdZ z`R|JY7ok() zobtcg`|hYF({5iz$1-EV87oC`1{IYiy#$Ce&VY0WMVf#bAW}nbA!O76N2Lfzhh&r{ z(v(OI0o0LBA~l2%iu95M2uTPb$$c{FeBb@&oO{<<>#TF{8WzhXujb`_pJ%t;>JNq%q)c(GFILkY}E{I>xchV+Xg9q~o7GxC4mL;v+oJ zPba+J?F~C=3kd{f0J-mwsQCJ}Q%l>9hj&D$scCOtg!+-6o<9BXPPFU|A`7Yni>gdzJYe>R%6s(%u_A6bi-q_1Aa3=a7P<)L6Mwv|{J2 z`bUbkmpF<#DTSVjx3UW-tkhQL{HQ6h7aFysE$>#E_AO^U9dD>~+qpSbkGbkXyc%W{ zG-+JERMjbP+}UvBoW%7b^62^-Thl|SEQ48-=3Vvl)&X`Fr%J#Qvi#d3WV9b0-uCk^ z?|*B??%ob`bW3gi>G1a0J(`3E?`sZj!*)|S&7hAn-Ep!}*_gPcn*FAuOl>vU&%lJ~ zW*{;;vYaL0$cIjT_1*IHK3yDyV-#ZO`w}3(qL|Rp0lC;_rjpY8-NT3a9MV?Gj_}GR z{3HGBWqxENr27v4+2k6uM{cw-#@g~!l;JDoH0G{`@N?rmyLL4%KoVc(K0GvhNso{i zZ9irg%+=#7ZOnp*$|k1j33?bB(+|k@bH;~m+s)`PWp@w08i@|Vuo|CUKOk>?D{Ee3 z3Cr@ce0zq^BvB6^`U6t^^za{ImH6v>{*?PLLTl}+1d*!9zeo!9zN&@Y6jfTSB?!UGG= zBfiiVo~Ks_>TLKbb9X*W`0MWBwS2eStx}5Q-ulTQZTGzkm8HHtBT#PH1^fMv3tzkt zq2iJNr%(!+J#Ksmh;o>!l8+7sBxC|>#(r@ABcnV_#Go`0l)fUc3MN%LD(8dDCMo;F zo_RC0GyS>GKQKbNzj;}dPr3 z+dQCc>NnGp`l_oesX8IBUCqZyH*&Ajot!VFznOXNHLFS+^c6)Pmi|%3=&J3{aY<#g zI@ZwkD%=k~!)Q_AjSF#8YU&HlIwbW6D)vi>vx|i5TFw=o(&cobL#5;WEO#lB;8y2h z+uR?KG%(%=1w9PuF(6kA(0hM=JUb$Oa2w0&1rPsiFj-YF=UZ^Z3oY+<~<{=V9gL1Y&* z61V(e$P72YB$T)w{3~f9UZ?!*G}QMQf*)!ONQbqx}46q(;#Mog6RwP@VD*LD!(lz7JEwD z7}V-jzxMumhuzhy!_6-sCi)0;L(?(&q5-W|+k;gyO31una5U>U)EMbv|}FNS)&_;le<9PsU^mtWp>9_&W>Y%7@Y-N$D?=| zuI^gyfTTyC?&aeU!2%u2$nzY&Bsk>!Z0|B=;?a>o(N+*uEmFm27` zOF{F$3e$89`9GcG7yH%iljr7Gth*idqFe0?bFVRYwyOoSkd2^L7>o>Q#?=dK@Ke#9 zF#A0VHs@tv`Esg-<4U>cP>7G*oi_^+eHn$53)`NYSzpBBn+$VxerwMDRbh)0Y^veu zI4gpv_1(EAWjl@F1#*WGqTPMrHqFD5XZif|$fZF)+K;y`v;|+&mpo5B9myU+eowQj zXKIcfkq5>gd@j7p@YMbXO0Y^I%h?*DNZ-R89_7N9YUJ#u^#EeNz}6IA2{5;9Gx=N# zV8P7gXjwWHQ_-{kQUg!1$7D)icio2FoGJ#%r1`CT?e`lql$P+XoJIo_CI(5NtrZeu zm`wPAt8Y7Vw>`u?nZR6}b!KjQ(lnQ7?RCsiO@o)7zc;@%kvF1Ny^DXj#{$uV+^*&) zC#xV>EDa+Zc)SG=zPb(Ny!q#MCj4o9-B(V9A^826Q}fr(Jd;hN>QC?6GU>N_+qo|F z=aoK+7I@g@;|7Z_CODc-hh7B=^!d?k1K0sRhLC^#=O#l_kVk4i55UG5m%S2HZn z_F$ZJ#*=qcl==_%_68^PMavAaH(@(9o7HUJIhS}z&u|P0PSMX!558KWn}4yqwBg3d zLEePVGIm7b1B?84@%w81&;2nsgR*QLtvb9~#+6OZjaM+G8VwqXTpb)7YP42;f1RvH z!E5N{SANhxmI%lWOthiD`WNF62jkS)KJ5LHdhboQiYouH3m$eO=f7XJrm@01dcSqJ zRRZg?s}~*UDl{9`n*F`x3-rdnDOqD~QJRjtXlD-D7T4(CcS;CSbx02>_rpejyV%nD zg#u1`OSEM8g|HC^04aWoE4ksY)8JsZ?4>VMWeQ?jN?1=uuPhPmqu+0ftht{=J+#f; z!3z7<_jY>d52s3VQ$h{#Uwfp~OzAn@&U^k~79`itb++MoQIcQX4!Rx4`D4-Z8(l+V zEBc+8AS6@yx8_#7|JqmP<|9v?(i;=DSYa8cw@A-hREQk(7^}m(V!FA!SI3rr>_tPD zC$&1@&yJ2@s|kw#zlxP~p!}Z{VYlwSQFwe3NTRh=V#L&{dg7O9Vwia$ZfT6pZ&#Xh z-Er5mU|Mck@7@;4va?1Z?13mP66MR0FLb}mkRZv%ufOrXxEBze+1JkDAx0SYD5FkY zkg*emkXKZ9?eZ!1PIz|qn0Ds!=+o=+{y&8wbp8~e6pS&B2R1EjLI2n4l{pZu9oq6x zEpYY-&u?c#Z-zU}T8cJJD5eCKZy7p2=-YaQp)@C5@s__JD|nM0tJ?aCY=23;IK^eVyb zhhiqFtrsP%x`I@`F7d5J{2un*r#L4$Uxs9KSq_sUZjrum`2=XdL1l3OUFPtGnbsb;IBz5TfB z4ti-hxKquS#ACa40m4swT%v_TO7E1rN*<|uUK?Z^kX}DibaSc$Y)xl!E6Bv=3%EsJ z({pO(34(LR(O~^p*Uul^lIZL*V>+o;BYAsv_dSEqfF#v0+bT~3q3iVuc|lIlHn$BIt8%}Jz@*ITxjTRpr-iJL!bdMb zW={Xt=g;k3TuuQxG62}HCYwdtzAd)4mQG#TmKPk-;_CmX`Na4|4o8QcJ918TuT=1p zDR7=tTwg$sz-Y+sb+EU$#~B{Q*VgWA?(O{+a97?5ovfUgm~9W9Uib9$9Nt^gWEk(O zo_P)=;$Hd=7)Zyrfvk>w%Mj5yi=oxsjSpG8ddm6XBv5~64Vt+#xipv_4vPaBg+F%5 zJV9~h32U?VpteNp-8wqfTn52wfZCEhGTIhnp0uiMRvWYNYL$TYB>3&TJ>lQ>%sVJ& zOV}+Z8Rnc`e@OTBb3^lxu^vd-Vq|3Ee8leUzSE%_dY0cUFJ*wvm~QGfA|fJ+NEfqe z!h$=^_v(H5D_~$-Ce^Za5E$Xo#}df-*z{;sRu_Y-?gTi|c_xe#j5h6!TG9Y{V z92R(D3BArrEtuKt$biP*zNpu-)#zYX;qqBq&z7O9_X_<(wb$=xKel-7*c7OFbgS>a zbYkw7#^`G3*cWU?$IfFwx3Q(b?`{EMBYPR(G1Hjdi&6(=k>K6?`NLhHW7{|qz zgkdmmBSY5=HlTSpvUw=G@!!17E9-5z7uxovi;X}bNE3A<%RmTn}YW~ z+T&CTXRQthnS9wIVytH)_?l=0KWqf4E_4t_$fr;z@sMNoNLAdd8R*Bu_u&r|8sWp6ozlKvbk7PC?vA{1uHD8lxr}^k1(G#WrlO=|6aEGh@sg# zloK&9qz&pTdO-0uI^$MWuAM5wi%)E+%VWRLZg3(oe8zgJk5VY%*Jrs~@S}|ie!m9^ zYG-SWn6D6F+`Gq;53?c?p^9m4XNQ=#x@V?SZIw&tL|ppQ z_oo8^uWP>>|MmE@oe$3K+R9T8$zC`EF{{pPsnbl8@wIb3w?1%}!oNe{*16#Vy-zBjSKUs5 zJ}5n{2_6gd%MRg-KUNM$yRSZSMPBsst{M?+4XcSu-)=sSjB+*hlWi{+iLP{BOJ3q3 zkm|v2F9puu%Q%rKYK|&&)yO@exBhTPUsaxBLGPe-mT+;ttLa7~N;gF{yKDLFy*|C6 z%{#*8POl?`nwfI8N?)_ENYz4_EbHVPB6JH%~y_;o*dvAAq-xG3dB zRY%N9<5rYZee`LT+>rDsYKV0(e7yd4|Jka3a*gEgi$&yY^cW6v`|VcB%B!P#{4n@s zS6@P-s8ASZ5PD*loZ~Gi>*NH~(ag<`_BCfp`ell=2i_RpYe+#ERi+_3=jWIgLtbVX z(|?qr%QikbC;m6B!PG!IJsPC`a@mz^(gpeXxkX*HbMj+jGri5>w^F(zQKbX8fi(uR zyDiT|eRU{FR?wI?TS0Fsgc6XEIOa)y;AVP4QS^s5lS`RP?c+(WOGjP?Mwjx{XmuM3 z>xvF415!1N)yKBGI`r%;q7e7sRzZj&3n@so|&%qWy>l$wx~uzU1e z2JtmXo(@Uju>M>`4Pm|dMEjgh!pu1L zSXVDpb$Z=9v1kJ^P_3A97m7N!_1=y^&Lli&HgPO-qd2nu*g$Ft`olsTG{V3eTAS8a zp-)@YgC)v!uHg%DfgUF*KAB!GMG$Tg_rd50tCc&oMslrZ6*hCl&^ppLD+9EG4MydA!|ma;Z6FDeomh}t){Ono^Ymh@S1i37J=}E^iZoe}VOxy!M`D5CKSp*?_-_dFwNFFX zpytq!0L04isZVm3kmKVg%B0r#q&6J=tc|(|4g%hHOH+NLw&!uI>TeW=>bw;bGkV3Z zB)_q@{%H-&&cwLU?Zm*e*HxxVH`vxR-cw71pzo&{frmr^Y7XAH)b%#wvo%+;ob=J} znt3Y=H?H)s{AGC@;nva{t!<0Ye(VW{&7qrA zi@rM6O%p#^Pbnz7@UmyWG=7%t@$I=a4$!y{YYt{wV=8oL* z`?+EB^`LSZ$pJFZ@YY%0S$Q%QT|Tv>K=hbuNwSC<_^EKF&~b*8xiL_@#-Mlqsc|Zh zEkcHzb#-m;ceQYzNIX2ON;vU(!5Yu6Eip_ zRt9#<9=qsiaweWa+B9-4546^c_nO?KRMMZD51cTqLo7ZY+Ft=ldLn;;!b^o{@X0uO z-|SI7qO~$=F)-8+Znr&gx5skZ^{b81ClwGznFTc}Rj!ROpIw0K@fqkjEUdyPZDWPL zbrL?=MI}!4ds`K#g^8X7&-e5Y)w!{CoK7bn z%QqjDv>6?qYHio6*Pq!_6z?%NK}EnuUN*^3T1#1*AWUNAv~pxdqc4=B>1-+VLb%y< zZ<>blLmQ`(lLh(A6(_qd6->Daj1#71Hs0Bu`YQ|jDLG?ZL;G8M^@2s-PKQNqYBdeZ zX*mr%H?!P=C1EU$p6>JA=Qb5iT@CP4@y7DN#+Zw21;Bw&>f=|!O=6E}KQ=B)!eMo@ zQ}YxZ^y-rb@OGD-pBIX*qw9|iMwWYjGnk;`y;AU_Klqqwa))wib!K6Ug?t|~%c`y> zXGK9LZ*^LiWe%?d@=Dv^y^M7I?NiV4>kp@ERN=5l`3sUVW_3jk?lP0T=g$y!Ap3A7 z3PE6Qm9vOl&O#>$6Z0}7Td#D`rY(%ZR-Za4w`}g1O^H;GoV>-q(wn{81)4Ezrp!WM z5LiQImnx=xc%@1#w!`&H3F%9>j@DkRE6G{7$=XfjfB*S?sgA<_K(lEZZ4aGlAK0}~ z@-^oyV|D&0W!HYw1#UlX`E^YHpqEtS`lZfm-<)NZ<_98A3hr&-W=*)Sx}4e1OM3Ns zGh-xGeUQSXcUFY?E7Ajl8sU(N#jb;6kw2FU%SviWg)}}4*@v&tQ8cl0Y^ezn$(;BU zj7UD1Fp-?y7^?+--_)kADmiZ~?3KF@Hz*9gT2k$r6v-!zVB#eaIim2^zA(3?uV9Cr z173eHIUMw%342S9*oB9y3m>o0Yt)X>+nTGkQZh!{R;lSuGs*eYS2{bK6{QReGKBCo z_%w|xr%H9^-y;`}I9b)C6;RDQUiODfvP98Us8pV)Uj@=ek~%Mpc(c5Cwz* zSdgJ_JxGSJ-F4kl-$K41m$2P5Jbkn)BWJx9-4!+dgJXW~e*Vk7;*8Z;kD+fOT2 zCabgTH1t-o_7`L8myg&nT`Y^Q408go;cxHDu9J3DMtc~V+6aQRYEX;56n3SvRP>a8 zeOPEwm@DFWs+Y$YBzu2T^!HT|l?Lr}n~pU6ZV4_ko-0HxmOGm!li3^(7);*W+}y#* z$-FA^zUZL1A;UN>kTI)17Q`gEpH1yR2@Pg$yGWi_%lS0&LgL>8*3Zj!{`F@y`Ss3M zpPY%rw*8-H0DOJwvm_rV#i2ghkMUi$Tv&b3GGFpk0Vi|UpjGMgP@=4P@{;g1O)C0N ze~(eal)ABOZ+zvz`=Hp$SsCst$(mv<(Wgnt6hyb^ zi(ZN!qg!kDC8w5N%2;M*HoVu~?^PFF@RA_aaN~u$4JAky_HLHC#n! zsk4d2N}CfucG`R9KW;~4cfEfb+p7kK{zhrxnAx;I+G|(+4B`{w2=4*pGSmf;DHF}` z4>b(4I|QxID0anoW#VNEl5EO(uH;ve*sxYb#zlI9W3nce*&64zpjueDY*NNmGu=yI zT=MFyk`)N^Oq1K0xm|7X@@GPPSiha1TpQ|gRwXRHIS=n;zbIddn7{ykXKB{HVYsNr zZY`=@>51P(Hax$>CE~at9vRr0IQDXyXP)dG&CCJ;$rJ|Ls31?0YcH>$q~heD*?mp^ z^@84OJeFOd_fy3hG@0J+$oHuf6>(?#yNiItRH4q^i=MpHdy%nDgbWuYPi>MhyzI;_ z0b`JvvK1P3yfwO(XIPc17`^adO>PMxXO*lJ9jpeAp6}u%N;a&XkK}S@<|<^nTTG4( z1>so*kju`c9>N(Or+7Dteu)zWdfYa}=U3Zw&TM*kjOk=|Kok$pBwIwa{?vjszyMq1 zwqVEP3#ft&hHMn?HD}_GcPlw?$wXBkd-9W1Ei*5+UNYHUA!FfNkT&e4F)@jLYnEj;=F+AnuC2VqA*YDUf_jStKx>bC+ z#q4=Fh;+nJs(<%+<0d!FRu{Aq3o#_UMYXkgVCy_)X;i!8lo)epKJSKzJr%I0ePQmd z9-~?*3kptKy+s3pZgN!i>Fg7Ei87Wb93}-CQHeTRP;L_|XOwfh;>g8mXD8Q+qt;_d zuNSumalLDV-~JGR)|<4JC3T=3^h6IO==HI9VpAHBOW@uM>fbkraxawW1&%M=UOPI6 zZ2m>tv;}i6ZNm#iJ%?oQsMm%pP*uDr?$V;^>?L?;6fZ%^0Qp@QiWGBX4EZxc94gJH zn9sJV6u{O;(P3xPxlCfgClJ)!1lc9$()JQ-kk(>@48Z@^*`Q=vC<@ds63!L_8G4Ag z)-{73?HaG5R`}3X){dH<$wV=I_*cvTXt<{F$R_MeE)s$Zh?K8;Mx_ZZlm#q3cWpci zvzG3pRS+N#5hK#KQ>LmB1Z7k84a>Z`1!P4B1ZA_k>GW zGk%uVh>uz=fo7hl`=C(KHf3i$vnDdiohMt=I7j>dwtI;;VW`IrqBa;&N8&G|BhTUx znU=7~>~>_xQAWpY1oROA3<}Yrp9-Vh&jK(V8YM_r;-{e~q7MQG;d-F9C;}(AtV$|q zTC3LIt{*s#mz*M|k5Y_6Okt|h=HzfYaVVbxkndrmSC1x4cEdju-WThM)>d$8U3pRN zmhi*tccBD-yAHxMz@kgZH#p_#&O0%Q8_Ri>p;5}>!0ci9`cjAsIa7E+0GybO^qGQ} zwSxT+5tpU6@?ifgl!5ee-5V`>Eyl8)s?Nlf48k4l+&1cMky*+KM z3fNo?@NnMPj&b%~N(QB^*QutwC3`ci{V~7eOjs(8RT5gLSt$s`|2$_jk}Fm}A)IqLIr);bEq==lW}W1+}=BJPRb{4pmy8hnd}m^IPmy=2qPeJ^O~^VSpLo=C zp*x%!@FIlGzUxWe6WGeOSeC876+o)Dx*85Y6n}#BZUR)SnY-A2Wt22PDO;H`0sg^tO zHc^(iaDTvui11ho$fNghK{fUeo4wauKo;0zyY8l7a6Du#qyCW#%z+ zRuN-&Qw9c^4y4{DCHL{=^PvrHCj7NSDXJI?uz_M@Q_^}>W9Wxwb8R)j+$$z zI+S8u7SOJNl~YO&OZ+$kq48I-ow~QVd13e-ZaFEYODOc|9UMCLds1s$zNkt-f14S> zwKz1^AKBtPeK|GG&{GL0PUmJf%QX45j0z!srF@odR-E@ZGmMnq=t4>;Vzm9Kp-{Qn zld9=a4b@-;6~q3hJ4j!J`rxv{{jE&j6tf%G0PNpl70;ZU@!Hg?eF%S)QeOZa3 z+yVB~nv>OR2eV$C--JT@iJIwjyH`V9LsT#UO~%3Wrys5e8fX-DjQ_wy9w^6&zuBwO?_B!(J$UpYuH>OrN&1P^V^P_VBhx=IG6bThm0B?QN|jXnvYv3`Y2aH)hl+dbt$Kq3_`jIu5 zlaZS`iAB{{JEww9T|Oq-JXuH~lL`Z!PF?^rC)-3pV~V8z%WT)opvvBlsCaTj% zx{umqy&%(l(TOo^q?z7P@L1ox+c!Sli{2NbFEnq}Se;7}-wZCCv)~6OyKz}zI%5c? zU*p(wY`MquoLP|Vl6J+)n;nOVV;T{fB&OZ!-qF!!@U>J+;c&lhG45S ziWOSXo9jQ@LC*!Db<*+ZIR|TH$0MMF#;YC z+axE}#E$kUT#ZpnX#6|C3b)fKIn=K8%h`%lsH@6~%13TvJg`e>8FX@NJq0iq%e_Fh zM&BDyaezJnEJ$Tw@X5{^l_CIQ0BdoEdl2gjkcGKfdt1Cyjf4vOaWC+3(w=U-LAu-p zSYgt9m{n08V8C3pqp>|NZ?#4X?7d2=ETY*{@M{gyi}Aqo6(UW-%=SCUSrpeiX5437 zIb2da+B-7CyZubX?lOZSB(e?470xJB4bbJolSf!Mt{ZS#z%oWgYq9izBv^xF!Iku^ z5;u~-Vcj2CiyqaZzIDQ!j!#Avon@hiG^3#8H41f&xx)d)R-RC7_~}Wxp0s6#4^l<(3Y8xy& zAPVM{=iWe@*TE7~$58Ho1c3+LU~R6~4Lq$8B~o##m_d4!zZAdlWtV6os&gbXGL)15i?18q)d=n6kHF4-^yjrcV!vOE3kHfW4v_#o zIUiSsOAiGuyjrk|vJV#0)M;lBoxE8FdD4gLc=C)vsKi zc&7|csfGxOiu#@%Jp4$NeBTb!HnSOH&pSVmKvrib6l*?@w;0h(YE;GRXosC7NG^7l zSI|<8tCBPjRAC$$q>FSk#F+r#u)8%}nF9eYbj1#4 zxVTFB7j4h&>%gVpU0>i)XM>t_(m@iVfY@72J(A9Stl=MiTrsTF=YFLr>)I4?f@l$C z67+E5`}pYjTMOQ73sFxn|4JbksN0{iQbgl&{uFa08?JT*-VKW2bNOm49&*g_6R)(1 z*9e@vn6TNN#F;o@I-O>g5H0FSdnpc*Xe63+aq`rl9A0a{+GVIP6abbus5^fMx1RJa zXI*6VN)ooPp}1qpNNRf(=_;(FXUTr!H{}(AIzDd3aut98Nwk zI9C(Or`AvuYY3ssi6VthksQyj#0wJ~xWv7HZ&Y0$Tku zv0c5?>e#mrwGPRM*&| za>^71Mo!jD#TDc#W4ETJKU&m05H zL`~z|V6ZIXqUee6ieFiN^mBUlsrCh=9WK-hprgIjIV1xBjCYH8{-Ce%Wh=739mrsm z9&_!^t!Q9vhRiO7w~*whh{ZRUFw&An51m28R`pANc{-GS;_?kb2P`2>#5?Cq)i{AtRFF?118V8OuSlgeCkGn@T-gW*nv-fF;0?aW(j;xcfW$r+C0o!?)Ns;= z2om=I$^GPP z?77X8Zyg}j)%3yf*)9;k2T;r$&tu5-GYyuqa`Fx$9>Ln z{ulEGta!S-#InQ{^Mc3H@thlf#V6z6gI8Xb!dI0j4%ifRumfPE|S+1C#f!BkpQw-u*}H^|CvOauUD)9WbbUE@?adcjd&N ze^*%iT{^t)?*faPe>?ZTCE%Z%Nl5&&W)c$rkBY`iInq{%<%4oqEa`$+r++K-lx__$ zklealn3J(>{3Nt!K4K@h{_9XhpQiwSQQ5O$Fvme(6hPU6C05y(I37@b&;%*cdl};L>U^rgHOz z`F?QwKZ0Bnd3@Zlt;<57e=ec2t@dR0%gaG=R2c>FV`(ye2&HQOa%enzpT}Q!Nc0Y@ z_TBF$hHJtUe!D}!p>gE$-#B$CbnJxqW8h2bKT`1_#Bm*m<3m`PzhIQ<&sIN`|9Jh* F{{k~o+AjbA literal 0 HcmV?d00001 diff --git a/docs/site_information_area_inop.png b/docs/site_information_area_inop.png new file mode 100644 index 0000000000000000000000000000000000000000..785b946f94871899d944a093deccdd03d964760b GIT binary patch literal 8583 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 Z1Sii_2SOYIfs+*|O7d!QRkH8i{}23ZwI2Wg literal 0 HcmV?d00001 diff --git a/docs/site_information_area_kotx.png b/docs/site_information_area_kotx.png new file mode 100644 index 0000000000000000000000000000000000000000..5675361cf121f247a6efa6e35522806afe3f7a82 GIT binary patch literal 17069 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 literal 0 HcmV?d00001 diff --git a/nexrad-browser/Cargo.toml b/nexrad-browser/Cargo.toml index c9906cf..b1f399a 100644 --- a/nexrad-browser/Cargo.toml +++ b/nexrad-browser/Cargo.toml @@ -27,6 +27,7 @@ wgpu = { version = "0.18", features = ["webgl"] } raw-window-handle = "0.5" wasm-bindgen-futures = "0.4" bytemuck = { version = "1", features = ["derive"]} +profiling = "1" # Text rendering # wgpu_glyph = { git = "https://github.com/hecrj/wgpu_glyph" } diff --git a/nexrad-browser/src/lib.rs b/nexrad-browser/src/lib.rs index e472120..f54821b 100644 --- a/nexrad-browser/src/lib.rs +++ b/nexrad-browser/src/lib.rs @@ -122,7 +122,7 @@ pub async fn __nxrd_browser_init(w: u32, h: u32) -> AbiProxy { if event.logical_key == Key::Named(NamedKey::Enter) { let command = scope_state.command_buf.clone(); scope_state.command_buf = String::new(); - exec(&mut scope_state, command); + exec(&mut scope_state, command.replace("\n", " ")); return; } diff --git a/nexrad-browser/src/rendering/scope.rs b/nexrad-browser/src/rendering/scope.rs index c790a81..50cd516 100644 --- a/nexrad-browser/src/rendering/scope.rs +++ b/nexrad-browser/src/rendering/scope.rs @@ -4,6 +4,7 @@ use nexrad2::Nexrad2Chunk; use std::iter; use chrono::Utc; +use itertools::Itertools; use log::info; use wasm_bindgen::JsCast; @@ -22,9 +23,12 @@ use wgpu_glyph::{GlyphBrush, GlyphBrushBuilder, HorizontalAlign, Layout, Section use winit::dpi::PhysicalSize; use winit::event::WindowEvent; use winit::window::Window; +use crate::mode::Mode::{RadarInoperative, Reflectivity}; use crate::rendering::colors::rgb_to_srgb; use crate::rendering::time::zulu; use crate::rendering::vertex::{VERTICES}; +use crate::utils::parse_date; +use crate::vcp::vcp_string; pub struct ScopeState { pub ar2: Option, @@ -318,11 +322,11 @@ impl ScopeState { } } - let command_base = (self.wgpu.surface_config.height / 3) as f32; + let one_third = (self.wgpu.surface_config.height / 3) as f32; for (line_no, line) in self.command_buf.split('\n').enumerate() { self.wgpu.glyph_brush.queue(Section { - screen_position: (10.0, command_base + (line_height * line_no as f32)), + screen_position: (10.0, one_third + (line_height * line_no as f32)), bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), text: vec![Text::new(line) .with_color(rgb_to_srgb(0x32cd32, 1.0)) @@ -340,6 +344,191 @@ impl ScopeState { .with_scale(self.prefs.fcs)], ..Section::default() }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + + if let Some(ar2) = &self.ar2 { + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, 8.0 + line_height), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new(&format!("{} VCP {} {}", ar2.volume_header_record.icao, + ar2.meta_rda_status_data.vcp, + vcp_string(ar2.meta_rda_status_data.vcp))) + .with_color(rgb_to_srgb(0x32cd32, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + + let recorded = parse_date(ar2.volume_header_record.date, ar2.volume_header_record.time); + let delay = time - recorded; + + let seconds = delay.num_seconds() % 60; + let minutes = (delay.num_seconds() / 60) % 60; + let hours = delay.num_seconds() / 3600; + + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, 8.0 + (line_height*2.0)), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new(&format!("SITE DELAY {:0>2}:{:0>2}:{:0>2}", hours, minutes, seconds)) + .with_color(rgb_to_srgb(0x32cd32, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + } else { + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, 8.0 + line_height), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new("SITE INFORMATION UNAVAILABLE") + .with_color(rgb_to_srgb(0x32cd32, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, 8.0 + (line_height * 2.0)), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new("DELAY INFORMATION UNAVAILABLE") + .with_color(rgb_to_srgb(0x32cd32, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + } + + // mode info + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, one_third), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new("MODE") + .with_color(rgb_to_srgb(0x32cd32, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + + let modelines = [ + [Mode::Reflectivity, Mode::Velocity, Mode::SpectrumWidth].as_slice(), + [ + Mode::DifferentialReflectivity, + Mode::DifferentialPhase, + Mode::CorrelationCoefficient, + ] + .as_slice(), + [Mode::ClutterFilterPowerRemoved, Mode::RadarInoperative].as_slice(), + ]; + + let mut available_modes = vec![]; + + if let Some(ar2) = &self.ar2 { + let types = ar2.elevations.get(&self.selected_elevation).unwrap(); + available_modes = types[0].available_data.keys().collect(); + } + + for (line_no, line) in modelines.iter().enumerate() { + let x = (self.wgpu.surface_config.width as f32 - 10.0); + let y = one_third + line_height * (line_no as f32 + 1.0); + for (item_no, item) in line.iter().enumerate() { + let pad_start = item_no; + let pad_end = 2 - item_no; + let pad_start = " ".repeat(pad_start * 6); + let pad_end = " ".repeat(pad_end * 6); + let middle = if self.scope_mode == *item { + item.selected() + } else { + item.unselected() + }; + + if self.scope_mode == *item { + // display selected color + if *item == RadarInoperative { + self.wgpu.glyph_brush.queue(Section { + screen_position: (x, y), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new(">RADR INOP<") + .with_color(rgb_to_srgb(0xff0000, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + continue; + } + } else if *item == RadarInoperative { + continue; + } + + if available_modes.contains(&&item.rname().to_string()) { + self.wgpu.glyph_brush.queue(Section { + screen_position: (x, y), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new(&format!(" {}{}{}", pad_start, middle, pad_end)) + .with_color(rgb_to_srgb(if self.scope_mode == *item { 0xdedede } else { 0x32cd32 }, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + } + } + } + + let four_sevenths = ((self.wgpu.surface_config.height / 7) * 4) as f32; + + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, four_sevenths), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new("ELEVATIONS") + .with_color(rgb_to_srgb(0x32cd32, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + + if let Some(ar2) = &self.ar2 { + let mut line_no = 0; + + for chunk in &ar2 + .elevations + .iter() + .sorted_by(|a, b| Ord::cmp(&a.0, &b.0)) + .enumerate() + .chunks(4) + { + for (no_in_line, (elevation_no, scans)) in chunk { + if self.selected_elevation != *elevation_no { + let s = &format!( + " {:0>3} {}", + elevation_no, + " ".repeat(5 * (3 - (no_in_line % 4))) + ); + + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, four_sevenths + line_height * (line_no as f32 + 1.0)), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new(s) + .with_color(rgb_to_srgb(0x32cd32, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + } else { + let s = &format!( + ">{:0>3}<{}", + elevation_no, + " ".repeat(5 * (3 - (no_in_line % 4))) + ); + + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, four_sevenths + line_height * (line_no as f32 + 1.0)), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new(s) + .with_color(rgb_to_srgb(0xdedede, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + } + } + line_no += 1; + } + } else { + self.wgpu.glyph_brush.queue(Section { + screen_position: (self.wgpu.surface_config.width as f32 - 10.0, four_sevenths + line_height), + bounds: (self.wgpu.surface_config.width as f32, self.wgpu.surface_config.height as f32), + text: vec![Text::new("ELEVATION INFO UNAVAILABLE") + .with_color(rgb_to_srgb(0x32cd32, 1.0)) + .with_scale(self.prefs.fcs)], + ..Section::default() + }.with_layout(Layout::default().h_align(HorizontalAlign::Right))); + } } self.wgpu.glyph_brush diff --git a/nexrad-browser/src/shader.wgsl b/nexrad-browser/src/shader.wgsl index 83b6747..19b12ad 100644 --- a/nexrad-browser/src/shader.wgsl +++ b/nexrad-browser/src/shader.wgsl @@ -18,5 +18,5 @@ fn vs_main( @fragment fn fs_main(in: VertexOutput) -> @location(0) vec4 { - return vec4(0.3, 0.2, 0.1, 1.0); + return vec4(0.0, 0.0, 0.0, 1.0); } \ No newline at end of file diff --git a/nexrad2/Cargo.toml b/nexrad2/Cargo.toml index bf04889..a365f9d 100644 --- a/nexrad2/Cargo.toml +++ b/nexrad2/Cargo.toml @@ -10,6 +10,7 @@ edition = "2021" bzip2-rs = { version = "0.1", optional = true } bzip2 = { version = "0.4", optional = true } serde = { version = "1", features = ["derive"], optional = true } +profiling = "1" log = "0.4" diff --git a/nexrad2/src/lib.rs b/nexrad2/src/lib.rs index deeb043..8377dd9 100644 --- a/nexrad2/src/lib.rs +++ b/nexrad2/src/lib.rs @@ -102,7 +102,7 @@ impl Error for NexradParseError {} pub const NEXRAD2_META_CHUNK_FIXED_LENGTH: usize = 325888; - +#[profiling::function] pub fn parse_nx2_chunk(cursor: &mut (impl Read + Seek)) -> Result { let mut volume_header = [0u8; 24]; let read = cursor.read(&mut volume_header).map_err(|e| NexradParseError::HeaderReadError(e))?; diff --git a/nexrad2/src/message31.rs b/nexrad2/src/message31.rs index 003539e..c57fd67 100644 --- a/nexrad2/src/message31.rs +++ b/nexrad2/src/message31.rs @@ -121,6 +121,7 @@ pub struct Message31 { } impl DataMoment { + #[profiling::function] pub fn scaled_data(&self) -> Vec { let mut gates = vec![0u16; self.gdm.data_moment_gate_count as usize]; @@ -152,6 +153,7 @@ impl DataMoment { } } +#[profiling::function] fn scale_uint(gate: u16, offset: f32, scale: f32) -> f32 { if scale == 0.0 { gate as f32 diff --git a/rtwx-desktop/Cargo.toml b/rtwx-desktop/Cargo.toml new file mode 100644 index 0000000..419efc2 --- /dev/null +++ b/rtwx-desktop/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "rtwx-desktop" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +winit = "0.29" +simple_logger = "4" +log = "0.4" +wgpu = "0.18" \ No newline at end of file diff --git a/rtwx-desktop/src/main.rs b/rtwx-desktop/src/main.rs new file mode 100644 index 0000000..0666a9c --- /dev/null +++ b/rtwx-desktop/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + simple_logger::init_with_env().unwrap(); +}