From 7db6259b0618197ee234b5e7f9b1e0011091f66a Mon Sep 17 00:00:00 2001 From: Mark Allyn Date: Tue, 7 Apr 2026 08:02:33 -0700 Subject: [PATCH] Adding changing notifier and quickened graticule change --- CLAUDE.md | 39 ++- .../radar_simulation.dir/src/main.cpp.o | Bin 72832 -> 79784 bytes build/radar_simulation | Bin 122504 -> 127152 bytes src/main.cpp | 299 +++++++++++++++--- 4 files changed, 291 insertions(+), 47 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 9a78153..79f856f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -276,6 +276,36 @@ The Raspberry Pi code will live in a separate git repository with its own CLAUDE and its own CMakeLists.txt, since it targets a different architecture (ARM) and has a different toolchain and dependencies. Do not mix it into this repository hierarchy + +NEW suggestions ======= + +1. The a scope bearing must not follow the rotating sweep on the ppi scope. The A scope + during the time they were popular before the ppi scope used a manual control to set the + bearing. The bearing setting uses a servo motor to rotate the dish antenna to the bearing + desired by the operator. We need to simulate that by not a scope not to follow the bearing + shown on the ppi scope. This bearing must be controled by control 7. + +2. Add two more controls; Range for ppi scope cursor and Bearing for the PPI scope cursor + +3. Pleae add a small window under the A scope to show the setting of the A scope bearnig. + +4. Temporary: Have the bearing for a scope set to the location of one of the current targets. + +5. Have the cursor on the ppi scope follow one of the targets and not move around. + +New update 1 + +1. I notice that the height of the pulse on the A scope seems to be going up and down in sync + with the ppi scope rotating. +2. Add a range figure in the small box under the A scope +3. Have the a scope graticules change a little faster +4. it appears that the cursor range ring sometimes appears outside the boundary of the scope + +New update 2 +1. Add small text window above that a scope that says "Operator Manually Changing Range Graticule" + This appears only when the graticule is changing + + NOTE on my plan for coding 1. I want to test and debug the code feature by feature. @@ -305,10 +335,5 @@ Order of testing features. ======================================================== -Generate code for testiong feature 1 and 2 and 3 only; -1. General initialization and set up basic boundaries of the two scopes - on the screen. No features on each scope yet. -2. Edge graticule on ppi scope (Bearing ticks and numbers) -3. replaceable graticules for A scope -Do not generate any other code -Generate code the run this and hold for 10 seconds and exit +Generate code for testiong feature 1,2,3,4,5,6 nly; + diff --git a/build/CMakeFiles/radar_simulation.dir/src/main.cpp.o b/build/CMakeFiles/radar_simulation.dir/src/main.cpp.o index aa631057d064daded9a2dd29034aa17aa7c1ee61..30bdd9ed864fafdf38d37722a2e721a5abe3a31e 100644 GIT binary patch literal 79784 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 U)t7~;`X6f--t7}~2o_WS1+Qqi^Z)<= literal 72832 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

k+u(N4#6I;NYM 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 diff --git a/build/radar_simulation b/build/radar_simulation index 124da7d3bd198586ea2ec2855197042ae9c79eab..2be59cea194de2e341258bbc7f7b4627b37adffd 100755 GIT binary patch literal 127152 zcmeFad3;nw7B<|0Gz2ByMrlO{Bx<8UK@ufOR5XDEZpKDXf+P|Nm<1REVIToi&_Fss z+q9yCiZiIFxQ(c&sHg~GOK@QkH*h2Fw?!630a5JlIpeQ)Ir}nxxx8?c=v`R>D>7UlF%Uy(OMhPWL9; z#Xmi*5s4rDOcLlKGNoIh;^Uv46`y|U-04Z_TKXAvip1!r%OjZ5xha@Jzwnd7zwPH; zs|D+)GacvGr1;~WUtcM7{dA@y+tgo5IUoHjP=(m|H;#sZV z+mpo6zah$=@y|3$gdhEkPgkST#Xo(L%%z`{2mR2K{^g%1<%@sLCno&pr%pHYo2pU@ z$LpuD)=xjRoiC;r6b+Y2YYQv2vh@6`OZX6QZ7kA7v$rM)V~-EdLw zUKOQ1E5=Qzp4M|(pNo24)cgF&mFHhT@?DqVAIXz)&UB@~nTXaG|K2UzJigob_Wcn& z=FhW8c;Yc)0-zm>UV(xfi@u=+{sAq}Uuc0&{&Fn&VHojPbZSS(qCe0Ay)`Q4So{yS zUcMEp- zPYeF@?-uObuZ4X5E#zC-0{!$B^37~PeoYH<%3I+7rUm)Ww;-pm1^ax|0)1->avpAh z|A!Xr`A7@&+gd2snJv&iZh_ve1v@NhLI060=mYVt6#R?-8P$TEH7)4#a0~hjXhF`9 z7UXPdf!+lQro<}=+@l5hIM9#PpL_&;&OC;kFJYe!t}d>WEGU2T~!R}39@bD56HA2;3( zUpua}ta4CgsSx^4DjQu@HhkQK(#oltd&s29lI+sbNoA8oc23#ks!5eM#WRf?KYG$l zDpO86q_UzScS_lWDoHkI^o?cxD<@QyO{?l(J!ul?%q3#XaSB550h30LFS~&YV=JA9 zvM_so*`)E~CO}6=;-Ojpi z%#M+JMoC54=t(5{0u~MNRbq;wzOc^gST2$?*(uk%P!!ODvO)1Nz^h2w9mp~;B zU64Kw>O-TlV$6mn!8wY@!QNBI*QZS@o(Na1oG`j#T-8m*Q_?s^`bEXXP>HMuR!FTn zW-+cI+ek?jcV2#Rep+$v(2I(PTsic@;tDCr|51(Pq~}7T>n2S7zbt-c@u1=oZZx^q zjQ_usk)8%2rQ;?~gaflSC}5^t(UoK1Rdzj>!xze3lPaqx;4yjJ1pZZ0Il0_bJZ!>L zwAQgUN)$=Dl<%SVr^aFxUHU8NNz+)Rp#$4#y*x!}U$$&*V)laQ)O z@F*l2UpBsE;!TvwH69&IB|M9&uS9iC<42F103nla8js(Va7{#)OdDNXjy73AJq*%M zE~}#4CrpG-SCxw>mP)xyC>cM|1%cFQ(R}zq0;F0M+9VM!BEsaV(vtJev*CC3JM^(_xTrI&g!*9)P3xo-{2Oxi zO~<=jhU+?7@Zg7X>!adn4Y%U1d$BC>xNcCi>eI%xqm|=$o4<`~h>DvC{*L3uCA*;M zO^UXF(_4@FIOEmQcPjN7|bD;&J7JK~RbZC3cEcb`M~+qphfxT^czShBWqMS$r?uOIa~ zcGPI0Z&d4hO;1tut#S0=ufm^{B?G_a*Ldp{LZ`K#tp9|6yMs<^LH*O@pwqfj|5y(C z1)7NGJ_kM1K|kc6U*e#9l%AwjF9%)EU&t)9F4aG2my7;wL6DHd^l{L&?@>&agN~`4 z{bM@lm`d3{LmYHfB^+1api|!ZXOx4kZB21w9dtOH{WH-)KhCDQT+< zsV>)C2OSN-{+aKfpI}p6u7wV|;h-;e(8>Sx&yx;%2TjCtnS<_}m#%QoPjc|rJLp~q zeWQbZvV*?WL04OI9J}2?@8sZba?nq8&@Bi3GzWd3gRZyIDEg3t-r2$LQhrNyPIGtt zljNYEu8DYh9Q3XZdM5`x#X(PT(9dwtQyug(9rQE@{VWH)kAv=W(6b!$ZVtNXpr7ra z4{^}XanK7K^i&6Zl!M;gK_Ba&pXZ=YbkJ$dqkpD3=sh(N&l(5)d#aL_My(CZ!aJ`Vau2mMk9{eQv#S>S&b z_@4#-XMz7&;C~kQp9TK^W`X_2>4(kQACk7C@0!F-!}e$WKS? z@~05~GKOiP6WJESw7`k1jbU2YL|%wtTF^uuiD6pEMDC7ZTEIkR#V{>gB9mg67A%n) zVwe^xk!xc3T*Ccgm=-LN3u2fSDv>i|m=-9J6JwYbCXrS#OdA=IpMJN?PYaaDmoZEW zlgPFhrVW(H+8CwQ5-%$4xb%|PmjYV$Key=aGN;%$EnTjc_0q&iNoK< z;m_mnhjDmw9BzoitK#s>aroId{CFIGFb>}vhwq5Pv*Ylsad=7`o)Cx2~b!we0m%{IS!v-V>6VyvD7>-u^aUX)t8vzzW?3pa#_RBc+J`w zHLfa;8G30Nx^go#qsBTNeOmJr$!2h;H4yO@^^aCh{F)CTC%y(D9ugAD@pX!2&>nF! zDT5ruSy9C>HpVap3?IA-hWF6i{herB%3SASs(a>ZZ->)I3 zr^kWK;9lzy$}T+J=dqsrjmj19b;39u(>#eR(U**nN}K=_S;2s>Pcy#rNSK$@1IwUe zvcRZ&t)CEOeMYKo$1gLq)VCPA`9sTn%kVVGApYP1aI!&67^H^zU>!5Gz_$WSF`GcS zMr$!i3=vasrx{#lZDs!HzCKn1g=(k!Qn|kI^auYiyZ>RGPjuvTf%>VR(=CSWngJcsILiQ=P+bY@+&>TMHh zc?h7I2O{0BSFMREbIOnWEd|kjJk#*B9;HaQ!rlJh9_0!iN;Zqt6{$wxpKQhDoP;Fr z{xuqn6ftonyNor0Ga=QlR@v3)#JyGG`9whCWt6z9O3X$$9Z4ds6@_ioUJ2poC?(j# zEnk_C^53=7w&>>sx3UwWO;Q<`;W-HQIGH;a)Iy@qkE}DmXoeEem8^?Azybrlt(*j! zlY7(?K#h8=+rc`h?rW)0k3aaGzx%h=FNdf`w^Qe$>aPTB5mV`=Eu4jtl7;E^rj<<` z_x~A3SK^ooj`H)3t^w4N%zv_nXJ4B=EIWVLP;=%FbGhzAJ-9D4gG<>N(sx@gLZiBR zBd{5h>s83kwYpVGE0@(CWPz;-9yth@fQnz8L~swFwS&vjm=|1ceSRPs%}uXQf71+m zKVR;0g(fD3`cPN$0rLb@*Mw}+F~=i2Q(xr|MlByC;c135{*CQps}6$9P~SUFOmJB@ z-R*LbX5V6(Nao`1Exf=Nphgp3?yDi!UV;ol^O%-?AU%o>j>u8(`?y$FZtUHLe+OWD z6Y1uubaV0CZ=5Tf2rTE+`;89yz9jta?X&hmC=$MjfAwg8;5mN3;qm$K3p{3crEe6L zRv-s_B5b64@e4%o^en>j)zdkrMZPR7$WXE-3u8y>uSV)S`;C!@z~#P(xeM3sH;T64 z-$%$+`aeb3YNYPiZ(RTJexuNPobV>Ml4qC0&r?n#y9n-3ex@!Sah9N%;!bv@WX^dxWN z{0fn*5SH+`8w4Z1!%|-pxmu1(mu;l3!@up>M#uG_bqM(0p;)6}hjH>+L~J#> z2YgL%F(Y*YGKKsISdmAEMZS%~xgVUwwU4>haTYM1OYtrBb%I5W)DID{+_w)AkORrT zs$@9-rb=+1W2;yMm7(U(%zDH)X{FCYJm%A8aFLJtMg(?Rd#~VhiM|!If;EGmlX<>{ zzwI}AY|UJ2__vzj0M|Ksa%$aKRt44`0XXNaSmUJEvr9l{a+vhpuhP02dQ2yO^7Qsm ziKsK%|1@zf@-0TVG2oks$2jtoV8F*+8}gXWI0v&EfN2Vt1V{j7U4R0u^vy>U8({$g zw0}UuhDqbf5Yhpzxq-?s`#EA8>7IqBRk)w}9+b`FC!Z;t#~JvM1~NU8H)_l8^B~DQ zl|{jusHfyhkRGiRIp+A<dJ$W6(Z?cY%*YK)m&gun0j5YCQULJFvwxjv0PjbL)R*fJ}_f1FWSI`2!?OPZwn2>C00#K3(tRN;6uzkLYPkBKnNiRcH?Rr~1`oD$`xK)G@22I~kW z3nX(P2wXky)W<_2WW2d0?vZ61w*(qc_1TqC!zu>3hCX>Pc{- zLNK1g8U&!&Z&s<2xZajXA#0E#*DLZOABC)oBqK3Bm1m{IvrGzG9aX{=c0vkSM{ouY z4VQDBQNs7_gc7zs0S85FwG&dvS}zHg*a_dU6E5*l*m^`I+$a%bS_)dXOUfMbChc;n zp8ocfOzCkM|4VySsQ4>;@^60XJN!F>766t)og=`&*(>cQP;J&_txf2Tb@Fte5H`!$`0rF5|FN*hTe`~ppJSjA_#jFp099wg%>KE0*oxS($p)B^MRjv zyk|VlwqC$JF~|#iOOT*Ew*Cqsb5erp3EeDbr|KxUuC_iQRxjt)qpq+ag$znjOU>FB zJj}i7G0FA&~>97&#t4~y048pyf8VH3)vU((6oq4PCh8bU_aI6!0IFgy2H76JVBN| z$uj1zDqWwLL0|&%MaQW2I*iLEpwwi7M(g)pYyxx`W~j=SCZ$;7qw2Dn5J$!9EP3T% z#y~-9qom>PsaaQ)d>t~N6tr^(o68)PfVBW={>)*sGe0%LU1{c8Ljh30R05 zC;o_O=&e`}ukH=Qo z5#Pt$5{5=2K&6s{r%;QiXLZHf1HKxhqVT@6J;x}T>Qe(V_bwrKX) zqdq&hCOcT4y(ZE%`{4E*!>rEHLH-PYgd-uubBDkcde1rY#K9W z{%V{@x6m@)ixxW2fsAee1H7RUmu#C;F@w=@ZH*9OQx=?ZAb|I zhfwJ^J9>sa>Fvb34lp% zsUOW|BimvgZ}A{52b~=@8%PLkrSjYy-j_vrrdfG;Lf(o*dMk)Faaagu+sq!s>fF3^ zx-X@w1632LXoe>ySf73yjl$2^gTi;hgZ#no{oPU6!>#JJh5NNO;a?td9C`uG$XiQ$ z+iB!o7UibY*DAw@XckS1pzJ^6VNE}a_Orgmj&1j^Xg?(Qxit=1nzbw016@X77R*A6 z0_m#unCD5aW%VPr5IP9d2KoXx66BfTIEKFSN1JH3w~~p%w3X>H4p2XdUUpdt9(D)qB|69T~(jJUXWYGnfrqF5sN1 z^3B>cI0=x{kuJyx%a5!_NK)TBUD!_g2Q0wNgp_W!6Kd48!^x~Ub3N^m1-Fm5KD#LU z`s|U}#p|eI3)1UlL65~jz!!j*u7-ZJfM0~LtNy0-{a~D{87bD( zvDJu$jY&$>>p2+!RwmB7VfLu^4p4H_-^^ao5t7s2e60(R0(Xnigw&A10rPS_g3;OI7kFih5{9)0W!1+;`vm$PXen7E(ABFTHKNJ%4oY-O8+aiZUB!1q@sQg zs7k#TH&a1EndVWc>%Zbs=cY%kmk=~k-4i}WZ;VAXS}(0fv%p1dGe;Mg7Dm+E!8#PI z5VR0c>GedXCJ*|RLN`GtYKl;EK_!?baDakY0tYHM1TgB2oIu4{>LU@V681#BCmC#B zQYGqr7Q3J@FLQ`_d%y-Qns?_P;%Q?b<1fs+9IVQ`nc!ysL}s+~SKhS#Au#8rw;s$}+EDMJSyK_$PQ8On)WDRaF433{Xi&@_{Sa8 z9X0ch_J3BQ)xS%L2Er;-qQOW`s;e4Le313D7W3G;NY}Ui$e?4UvBy~?!aQ+lbikt81%k0Hp8ee#K^ z0WPvzDyeoJnhu_?LK##EHsuhYxvGiouO77f5B^G1BCIJ7{h_T8~ z6FQaJZnU(S#Y1PO%#U!$Z^?+0j8a9rk;rZ^P6P>UT~o5SL`cR9lED;Y&*2hG%adoD5e2(%(#{ z)$1ZYfFM(ONCXVi8>JwZash(@K7`-mGrTd2Li4Wm0$&X{sVU%LqPv^NPYkx45F3ot zbl@k;l}H(ktS&w+m&W%Rh+{P@3CxoN5%HIw&T1Zc41d`oEY1DpXDy3_((d+C;39uX zf@sg<3eAgG&dq1h{nUFBr42Kh_DUK&MjM{?Z9C>@QYZ@t66| zSRQ6*B6b|IL8VdBsP{4I^{`YXPVtws(1*3?FCQKhe;ElGf8j4rgH?5{Y2YS*=|deZ zvL*xA{=zj6f7$;rZ?9t_&t}6OFYWX4aulN#E!nLhJJ_Xmum19Qm+L3vIt%q%;qyej zJ5k_Ots!-FEBuOj?>rtEq63R!p_hh~Ene<{tj{t)YyT&F-dlIO z0r2g1&S~2Y_o#a~tF6c?pH_%PSf{{c-1|VsN)HEySeDZUNRH35gZ>@b*>qriV)en# zcI+tP-n7D(Vw}I5RZTN)UwI;>E5No4OB|bB8*OC--o^wQq1Hy=K?x-ofe8qq2u3e& z=XYJMNoR+k@T(Z-?80QTd9h~#pFxjF1uLJAj+`1=m&FUn`QC#6MZH!#O!-_{WErn? z7NgiqO@}ZmK$k_;5zd%`5=Ff^t=KzCK?|;ndh5Usao%=ZTu<@_h~<9K{To72?;Ge9 z(7jCrJKTs4qE_P{BED`T3Fmb(S7nxQU3DG?5XL4&eya_;wGI#1d?{V&Pn2|R;zCg6S;q3C#yakY zw~>x*m5!}#9go~iIwG0XEZHBVx_2d#r5^}3M&DaqA0Way$`55;b8Bh6^YX=Z3|bciyC#OBti2M?AAcz z_CA_bG;vv0@-Yytt+S{S%^UZ3GFz)-wbyXl*9<3)FvDGnH$k}$?YS~wW+;IMQ$^ch zo{qKb?|raG`b*S%ej*!1pY3A<0sVZBdFoWC2Zjtf+UbE-=bWw=hd$7VlTWkdJPyyjZw7peON)=4DLL|0c;iR+@0BNZ& zfBl_=ITT=~TGVBsq*~;g4`S4ti`M(9h0%3YCwM29gQjOsa(hWdd*K46;5W*n z`>X9gyIilK9mHBz8}yPfPpW$v7x}2)8V&*M|50y8aL_(l7DRPMOTuvuB(U@(mX5Im zZl8uGRl&O{*0vmu?*V`Jl*(kge&R58Bg88 zPfVmx!LSf^=8RtZjM{3na7=hcL5CdN#-bjIdg9N2LI$Cp2lsP}se-MDnuX;Ign9Et zSn?1&rCa?wLeUS<#%P)w^^QR^hV^Jxi~dDA&Rx`T!4_8{4)cgt+rw_Jfq`#>EcJ~# z0qrsDJ_BuF6-Ck2I2?LcFc}jO)RNU_TQth)Fa=Mq$Ca5L*g<6(oCL{t!9T1HU_){` zG$z-9#`d~osa^rd)DbSkJxrndgD^1`?Lzyc{c;S;g~^#H6ucFKH~8LWS5C3=-{oe9 zhHlm#LT5Rp4RpoJD#r!aU~!6N^56iz>*XxjcDhLm-g~LF%BT=;aY@k5VkC z$cJ2xRMt~kIz%2q4u&7=wB9NL4F1f6vL8w!c|Y_W=mpIuY=UiKB`-{##sw>o6^|;z z{H@K)@F0A`S%%N|FVR|aIhw1kRTaf!D)YYXN?#4>I^n{Yu5>Pvg+kE8+Qd`e(>uBh zNhpIqXqnwD+FZw`=x0XYFmyxD;aIr*n_5tJT(d-LHG|(vTMd35_0GhopA-Bp>P^{4 zxnyMi2!?RR%kyXj3Gz$~5K!KGPl%t%ci}1S8$u{M`XSO(OPafNnn6fI!!2UfcsrCP zLd$t8OO2fOBVV|_EVL>B%r#$iR)ej%W>-q^Cf z2G#wPVttsOYu6+g`CE-)Yxw?}#~lLIxb`hH0NgIaDaAr$&%-^fT=}905BoICHyh$V zI_a3b$KpLy+dW_1%l5yB%#7Zn6=pMJ{*y(O4m~$uetlHeb37Ld}2{l7()Pr4JBe?EqtTKth<-Gqsvtfb`=#*qQyAYk{@9+^q5U}6`BdR)$4!YCOl;~7{eL+(bSo|>KE3?yKN3X zlQ-ijKC}@bX~Hi^nk_ob?MTzS3C~CN&71It$QRWwYu~2;j?skAr9BZnTYik%Gn()W zJe9RBLA*4Yy4^;g6&M#cQ;2C zVwvge9YT_%OD#Xwu0`*#-59pkxOQFS2i$i@!cyN@qgS_6Aj+8a{EtyuK#xV;yRui) z5FU9DByde9uD(A)iZLtX;KFh>a*ME35KGT;W*G|-n!plBh{+?5rZsrv?}$b3XasiA z)pXhv+iQLM77Y0bVbotAOf1yo;t%vKM9PYh`lIJ2i_$_*acw6qke0?sT@)8BmK4_u zifeg{bdbfPB`cPPfZ;Bqz!CMnC15dwHw4J)Zy6_BBzOC2*NvjBU-Vy+5q5T?-T~mq z3r|f{a_XAXQoF;^>+86&+WNodX*^*%uH z)b?WX`zg}c7-^0qNkxwu_5Oq6kxPC|q@hT(v#c`Cmn77VqTY)s9=X)RmsI?xSP&9v zYm9V;;@Tb~y{x#JVx->`3Cm+GYrZ1UmYWj)fg;gfnIj#q zaO8d+SnP;>MH3&x1qhvWhC_`l4(1OWVQni?`z|fyA_V070qMK*g71zrgI}7pU+)`| zuU^pU`vn-H-b;77TtCOgZ?w75py2-Vb@a$QROQ8|3r?pnR)g)LO-9!mG*j0)^#p%9 z^Jkn(kM6iFu+Lnx=L+ocw>A?R%y<8&>Ieb5KNkT>(I&a~q0>__Yx=sIAhP>%)|K@zl$Kk!`)Ez@DzR7?;@q(^a$B-*V91k?Sg7WC=XOrPPlKEEKJm_Ab>CwfuJcN*0yB?&SW^nC@$Qej%hT58~r&*z? zDYcsuB2gBX<&=l2{6@de2C@4gbF3MhG1m;wSW)T^UB<7q`GYeyW(PmA_97cxl&kY$ zST{o#;uYl;W_VD2`Zj9=BnNXBQREUD7(z4ZbApG{56~656qt~19IRPQ?%~+ilgW%+R2@Ilfrcx9hoTjaXPN8;Z>vD8tW&h zgN)~zjk$|ckf%R9t-a~~84if(`MXY)dN6Bq7boy+Ds#qsBYUToJ z7KU;c*(D9fwo7wYRmwa4)inrP_C zM7)Z54Vp6;YhG)8s=Xc>IyRvrK21rKoKRL$)I0kNNUL3+@>;^#*w0HyMPrezkDiDS zqAN!11fspNx)M39B1ck+{pV{^Y(~9xGq;5qE39{^jCiBi&~Mbk3pTBaMpq;t)vnyv zpbGlsjDryl#57g-bcM3Hpw2!y}Y)~_a&~HsdiNY z-=Si1e2MVWA~RfpBlK;nT#!nAMFi_pM88IT7*t+#6FvIAfcdWV*&8T57F2aB>A45w z|A36{#ac%(;f!fgzB*za#qT`Fzo*|G7XYb1bOCUkH66+3JNh%cNgLdpJuJs~`FrZh ze@1_FgkGyfLC6H1)oZnj_(FIN-hAB!0oXNhm%Io)(3KnA6X{X_zfl&l16_`k15`%!R2AVnX{5ZTg4li?J97Vqh zT>D$el*!rQtI)aUKw4~s{mWqRP2|uJW=&?45QGDzOQQ>pPt5tQTMBp(*=X+6QmQ9+nsUfGY4Enj6sg#Je3dLh%k+ z`>6M33(EsO%IZXqd^%pjo>+T6-|2Cf&aQarP=qaX>=c0|$JY_TAF+c(J49Qf-d-3@ zLzm**;A7hL=~nXzIcmm{DMEeoD_(ziKdY9FjUDoIe}E_L%)Sra?chbq2BaiG_aX^( zz6~57nt=}PJ?hSedF&m<5l}mn+mY^vuY>_YwqZsKTt@&EUYKb@NfRzoJ&t{2{~NeIt*hYt0o=`RQt|iMBE`8;!s?cn7X%a92xH zlvLBm#js1qA-JjC$xJxp2k@Ba^Z2JLX2yQ%!%Sl!-aNgm4uwG7cIKzm_Ekv3^d^-~ zkURO&k3mNy&kMpapkm!NIx0(nnu(sObboL&^df1vw~Xr+lv9#58A>u2CGSLnJR~Ct zGV;PXCngT6d$X#CKiJ?8ZXrE8`MYoS^QCgq%DP9TM&?LpvIfBpc?lomt~9%Sa^SSBdF$Z(_ep*fD}Bc4P}SI-0`1cae7^ zCxbE_tq$>$`HzdVQT~a?F2At1 zTz*a_<&T%F%P*3TDnF0zEtLNyU4H&5M(qzNSUdRC+MyJUDLe+v@Ej~&jKFp96}5f| z{$ll5P6!>p8C-*tQe$dgIxnqGGhWVh&81RP6qby^{z(md)X_`;&8^tN58 zW*8@AbnA2{&xowPs2FPXXnL*jK@AZ{FH!{GLTkbc8`cOYuxp|9H6Fa49F9%s>}&Ia z2eOA@&kMy#-#rvNZ?!+rB?UAaw7qK~4d3j+Ci+%x8)?)YD=WFl`hC4YE2387XyRjW z49z_NI8WwK=g3_2aM(}CHafJ$`XW(IgZZs3_c<(Ur28y9t+!sJIU-%oK;q;iipn+$ z2B1^M={!{uL>Fz$%iL=Oq7aF763H}3=FH#5VXkWg7T~v2e&Yo89rrpstxFv8am?MB z<)WC<6Dny*`t-7n;9=@<+(zrP>4?mqNgm=1VvpTBt1XsvmHTw~2u;pv&^ogLq! zLRU}Uqe_4T?$Q4q?r}z5a8u+}>d;zJu{cge67m-+&W8f9IS*Q_V*7X%PyY)QM^Zcu zO{f*6rK*#<3MdQVM;ZK_@fi4mc(~l^0|E))t(WsjSd)B%z(zNJm1-j!a3}{Tqq2 zz#L4C{MOuNlu}TpfWp-UnRc60ZQbKdbVydEMd7KU{MKd7WWj^1bDL2}dZ%U-;%U>2 zLOT77b4foY`JTuYkTwF)BMW1@q0!FUT^V^92jMRmVJNm$+BaL=)7@qu$k< z!4c}ReG6kuX|I9ih{s|PrStaw2S1b3@RZZpa}kQZmmRtlv+2J>%4^hrVGi3G-AdHE z^;2~fXcdvww%Y4NbR&M%jYJgA$3djoZX3v;uA>Ka{En~QU5asI8Y%&ww;KVK?HAJ` z&pb;Fwi&NMyn3dLch{^}!Nc36o6v4JuwDmV*MS#w;3*wgtONJy05v;KUZ(@obzrg% z{6hyu>p+1H3`U@Qe)jO!l2CZ{K`OO)R{ICB#k1@m?5FnVv35ZJ0|7ora#!7^w?V!i zhq?;)UAYk*!gtS*74$a9Q$%{7Na2hiDu}j0s&_HGg(2>vpnDPFzdub$1I@qHXVkrq zx>5T8`0$g%nreX0vgoDSBm+gk{h!1`^bF@>n9ikpU%}iY-piw7N|_4}?S#R3*9qnG zu{^>1iv2x#w84d;s1{#Zbono>fUMeQAjNpu)o(67E~t}%XA-`}hPNqqMu!a1)Lr#@ z|12+@n*e8~4iY_>eCy9T$o8mqB~-ohJ8#BG@c~GKuHvT%pV4+@lI`4`ll@sQ>}_`kqLbgpE(p8WW^w^^1|0 zP>sgRZL;UK*%i=Hu>viFePm5Pp4RlKu1FD2_qB-ngsLX32b*j1EHdA$cbah>!kykX zK#7dtb`eW#)D>bXu_Ua_PR%NAh?Zm_DsA?xy-;J4Tm zYs9`J`hegbRI|69LU?X}m%Iua536P&HBs7pfVDC{vxHr->&>v=muByZ;odmnUORyu zG2_c}O4;|J4aoGZ|3Vowq%>>dQxw8m@`wr`inhg;a%{%vF`QrmCCIZdywb(8#pw5f zd!yckcv2go8&k2x6m7APk@SnQ>#QM=CAQrV=?oXt;R_Mg{+c~J422r ze(av1#mcapiebU;%i+PH2YwgP{H{Z(&%|$Z{HPGw;iq?KRv=M!=!&Q}=}ijUhCa9f z8!aHA;V&$s9=Lp)#yf#AZ66Z#UIQ9J`DVEPD4KMq?CQn$&I+-~h+f|P?^3kFUNqQ( zV9b88Eec<|u9JyZvQvz}d4S+Li$}X2JKSmD#+bGq*OISZtO}8|11+lgixDIl3vuK8 zZN}|yw4)5X{lJbpM^kup94TQjv^~%_ffYD3g}yac#pR!jLE19{GX>nJPQ{Jt7r|}J zDTfQu6aq~T(J~$A-;pT2eXMj1BVyU%nrL7G%M=`4sx*~&KAm|-cVxHTavZw zadHGqN)ZVq3vgpQ6{2CUGdTCcD@pq*s`JABWD6w1Zx(=}QOP-%f{nOf-iA`n+U_Q` z3o|~wfiKv2T==UuVC%aP*ywfGnB7a}sy&|ofg&Ci#y-M`dc6$FO{crcg+(&M#2z!3 z$m1^IG%y!(E?mz=NwUtCLKI=*W=x=OGf8on2}+v0i3NUa1>zeBH2uTW!$^G>a5KCE z^Do+#@N_vmniLwj$w+NN6yEnK`WEDjuY~*oX#APA_ZXugkSY073$hvVy3l!x1hyY# zq`r^jm?A+YLL;FrGk#3-H+3H?CoWh*1#B@0!)tWa`^MtP)}s6GsveJ;##} zNVfr(;kn)>IDLAxQbBGv~h=hYB*zuvA>t&ea`K8mGf=m#4ixOwaFyru3*jy zrZFcNn!vE0^2F4L6q!c#tF<(`OD@*OyF@X(ok>j7S+Na7Y*{fZ5$O-&!MM|#DK?E2 z+lPEN8z=4{#kR9zrwelhHtJ;iF;)T`sx0@_Q2CL4fJ4Vr^Fme=-=MTvDMYMRr@vHo zLLw`RrsJ^UC|33ml-<(IitWJcup*VFfs~wU=S(3o(^0m(<9o6t-afQhDMYN+WQzJz zi;iynS5^HhS@aNF^!HY(MB1XU(qO+8w=QiBC`4vDO4%JmJs;G} zS?Fmn6hsan2{wbJxslkh%u$#zPjh-A53txAXpZit0u>bVwt3uLTD9G1&#F?NW=mfe z`2*8G-e;zCm~QN~MhKszI;u~MEa3!ME$8#MW9AdV-l(0=SjuO=kM(IOpF250mUQz+ zm*yo&9aowUv88I?`%&cy{dqpKILV)s=gMQ|L|?paUY@i5JfHELpvCfhbJnqHr=DxI z2A;_FX1l#EoGsa{0!iQ_$$hTlW`chtD|Fx@1e)I;(szBZ zQmFl*pxGw1iIsNUn?_(?B09eCWyj@Zeq;o`0>F*0yx=eR5^-Me!}MtS0oqD-p5g!H zp|yj-SkwL>b4RCSHsHF?dD$H^@djtXdSmb* zvvzHQKl5<)`h-6y0V=TPRR!cN@Dm@BV9JMDPesRtnPlNNGC3>w0#uv@;CHF7N9=$- z&scRjZl~1lN~!&Aq%r3pb)L|`Ect|FV`DlmoWFrcBan|DDd~OaY~$S04V^=?=npJ_ zP)}R4ImmfdClH_|x>PJr(X(Dgu8)YVP~sg?_S{E0f+=)2EnLBh80;=W?SgtEHIhJ# z?%u<>G&pnw`3EjnXU^9+7iV_ZG^A;34zJ=Wd?|?8O&X0)geXjLVFiTno0ccwKNqWt z!-zU!Gone2gjvv^Q{$RW-8PJZwE=!-S;u`zilMAHEu|9?F#EA8qAyo_y4-&)saAk6 zf2R;5GEx=!a;*2ih(`0UbWY0S15r8z_(FzwsG~;hA#fXT(7r<8YeY7Zb+GuWPh>je z>)mg*2eKz?oQ*754HOw3K?S$UksH{j$8etr=p4@wp;fm1CpvQc0aL1@i$2{^bTa54 zJGtoaGFu0-$af&e6>qvs(cn_51Wr2-lt`RZt4Px>9{OQhH2Kjy$+60jBbB=P=p3=l zKsAfi_c09mfJD+~3&o(LRN2vx(GKdV!Q^Z}bx~Vor^1e5L&BiUgGOCM9c-G8N!4hS z0Q8682r(-=XrF3-EA4|vioz*MiRL!a*BCSn_x1h#m#~6#YgY=NRVX52@gb zVI2l~aPo==oWkRN{%YjVI4}*e`SXrg`l7uI>`Vs@yV7Y0Ww{>rJTQ_oVH<*uq>v?g zhLP@@K(_YXqk2-13KM%z$jwq6RPwh&Snft7m#;QisYsp;Z*TUeU9xBX z!H2_jXTsB90(uP@TOb(3V1$}0PzNA(i$EAisnEg|>esn-zfO())K?n|zY6w4)`eZ( zRvb_dQtWS}6-SXS}b1tmKO(JdR^5 zOUoYDu<4z5-pRp|sn5F```&;5{ijZK6GA5Vrb9E^;usKrKu0Whw55yO?++%6Xk(uC z3Fq1#zJa%2(?k-4qQ6IVpiZ5}yq}Y*50}oTy7=T{sS8w30X}iTbi81f33wyM`5o;V^m3F@cN>~Jq^l}LRf_i(b~&2`dE9HSqU!Xu z?w8WouLrq7upiV%<)!YzEQ0SODt})D&gTA}M*bcI*>e3$6#^uxgJzWyZ-K((t4S0b zK9`>(lj*6eEzaSm?9dMX&fSzpOgh&uD#}?&KM#uc_=}MKSmqIrPl3nNDa|N8=$VL* zSx-x{&XO0XJL59xUcBvu|0&-thaekADSX-XRTv6WL;2VOmy&BYP^p~ zp&=B)>WBZTL?L~?f<6m?;SREKrHV{rbnoojH4f)jA?%aV2OMzwRE8;<#JX?dB8_y9 z55mre=HqTV{kar061YFTl_|ONACh?$lN#6+{!4MtKr%q4Z)MjWDKYN&8ER7wedx_+ zOs7y=)NRpQ&s#}#?4oVQlYa1V*Cu*eW$#l5UfCO+0)1kHKiN~HwmR@tSNp>&?7+x6 z&FHT7knk=tNu!lGNw-4#Wow8Uj~S9LvO_XHR0#sT>A098U@F|0lQ+tZ?w6rmL8kp8 zauc!8*IZAyi|Td5aoIDEh^N!x6dhBi`Ol;4fx(aS*8I^5cjmLh16pSrc?}dd3ZGNU z3s32o7rxb#9UPEGRd0rHD}O+5>y1s69y=L0;_$-e=&-F!bPzPqEaO}=P63%tp3VfB zH*t4b=X?VWI+|)@{f@e!L_gyR8LgF!U(h}Q+o-hP0;;sT=o6omc0i)FS|xsk5~GGv z>8n;aQ{=w|b|w*V#&|;PZ-E)i7yq}w&Sqc677z`SjtL8Y;FLcU7CC}Z+DbrbUgVDF zb}MhHRj6>}MF(-XBRtFze%KLq(*NtAKjR25bA(@ZgjYJkYaQW@j__uLF^<^lRlZg{ z^M`5V%=m8GLavw1397!~r0FdX<+Z6T&ePUK9XJ#T` z0Lkd0Z(ax5-Pnt_SE%RQM&B$vcONzUm0-Ydm=6i;vsr%Z?$gUV$VU7h4KbrMj|sHb zi8S@#rM8WK_#oofYiqsRKk(&@A0$> z=kYKwj~P*Z`R*-_B`Ad&R||7-Bu@MF)TlUDG|Vjez$Q5@=*vMT%@JIIAQhH6D0+1k zpYz6t6%atq8}SeQX~CdG{K_RAxIg0|7E8_8FhYj2dcCKH5$5ZSB=u0pk9tAwn3e8D zCkcsgn0jJ&ft~s-Qi=9~DRUGNQ0?c*e)X~BWkDX*GksBo$`mV$Dx9wNx^@s(OMZ>6 zF+Wopf)TzPy#{$IIRg3h(gFPJyBJT@Qw_+F$_)XZ2?+SGVa{M8fvpNmgMHBl<2Np^ zk!zt1z~Lo%b9c|*HEllf!7;J+bENtQZ~Y&J6E_+s9wH|`%+5YkuXa-$%#)b;doXWM z%)hb6PZ8!)UmvyyJRXuue$TG`{X#SwM3Q32nj0e&7^VGQc|2C-1&Ho;AeY@SpZ+8i zrnUT8l#$6#f(lQ#Cg6&f98=B)cMqvCMFvRo6=0|qvCE1`s6uN)Qfd_4#%S|z#N9x=} z_V7Y|=*WguEl!Kcf-vNuT@iu;x*1EBOMUB6k#UWU3O^D0ELVSDOm5BLo2u_HZxOz^ zg~o4!L!3fXx7)FGpUky*LV+Xr-uw!P*scKI2FC#;Yp&WRd6HF%B!AvE*Rr=RXMK^} z>X-cI%`@gpb<24XTZ4Si;Yp#6)t>gX|38q(4p(<4OGK5BJhIBM>SCq(>l#RwloKk0o9Mm{ zHTo%d;mp{41z!_@U2R;QB+B{-vnE=PVk|)a>+DyN+1KD;Jyi7(wjM(Yn%_}3MBP!d zuGP%kZUl;xxO1UJK6Y@>ui`U9*u0~WPMr_y)68{7V7xF>@nXz!nyAia`Oie)G!e`p zEjhMTrKRE`fwZMU_v_hISu)y@&7OqXh#iDaaNz?6(8Z4?|0#o z8h}D5I+~|rBlHR7YjfFP2$!glbmrD&1*1^dySqsL4B39?ggZp*}#!_ z1@?=a8}YG0B)l*;;g{DgL?Fg`9kJFnTu86Ve$8Kz%duZ{zZ`LN&-6iPg9354T;yJH z3#L-}?z`~V;V!;{qA;2Ji%&uJfVw!0ola@zd;$$1ugd@=rV1jf7`=8FbK1E%VhHbe z8NJp{tp=N(?-rrSV2KFN8kw95IdBi$nBmX#Y(-4p^_O$vj34CLvx%RDI4mgq3ID!_ zn(W2}e;`yvS6whNVUVMPm<{;!<2&Ft=6nTR_%>$iL{V-mEbG`h9f_lDEJkReuKtv7 z_s?UilE{^{+=RLf6eYTp;At08{yL`7Yr8RfGnTbbdL_^0X?QkzQJ*xevoS|L4~Y+1 z$~2#f49oSqnGE{0C#ckNv@zkFxm>#ypMsv;SaBhB}AVe=lYsCPn)1 z#RL!zZmexc%scqq(SIdoQ~Y0v$;wHf3-VA!{zeR!9`i*LWu+f%GLQ{0-(FAM4^PKw zZioS;0X?OZo9>ZenU@Aen2{H9m>~3_Po0q*qdPtujwekCSUzU73rS{Y{2>WqN<}2i z;fV=CHTOzY7fKX~XG_y7e@TwNAH$VII}VF#c*h|j=Thk)j624_X=o?4PhRF8BS6C? z?P56lExdc#1s#LG`!DKl{7>9(tWzwr{#1nrz+Xy6MmSKj_Oz`PS`uo{)ZUe^0 z73z-g(MiA;*9DA#!>BGG*77k+^~CzE5+Hob71l#9g`S5RF`T>S#3@X{xu)*7ioU=f z_>K6X0{tzUyJ<3nzj1Rro=A0!?qT*9P%6@mCq_kIphaz?^zEq#7_PTdePMP;pRj;m z;7=v67wG|8E%uBPW0Q@#f8qTQO3GCo8{O$IOHpEL2d^Jm78RR{)Kx1{O`?UKDA=Oz z5K%HI(DS6oaFyx@rTbWChDVLtT6Y?0>&ElNe3??9*tFg1VV_sJcM(x~4Xa`uV|5+9 zXhfx_xkxh!YSH?MvLBg(E>R`%Qv^lMMPk%a#x;G|jr;xsPYlNCblASlv3DXpaK=Dp zlR*fbU_s;zyoG|@*GL`Y@D^<3Zd9&y@eCH5+*-t9Y_&>ng_>%ll-?fBMg!!P$p2Ua zWZNosGz^fQf2e#|L79D8Nfj4wuxeh$71CQvy{W`E% z2j=L&tvXPx0~I<@f`FU@aEVr60HmL;_HG>A9>F`<7yCnFk_L7E*&pP;sKuA}?tr7< zjck7PJ1=-JFL(s+ey=qXw#Ht~!;JvE=e^cc?|0Mgs_zz<0#~iu!hHNTV2b=zt>Bk@ zAFk1Q@#bjss&HvHyb5@r%E${<=3ZfL~S)_octagfFRw`+kRj8FUYRO5v{rcYQ+Pk5&953V$eg z&ch0C6Z{?eb(XhP@D`2V5wi>@8_&Htv<$`x={DNRRzh?yx*YW=qJV)oZMDc6(Pve_adM$sN;HeKP{wacsHJ&W^3T?lM zg3r--g5ZHmRQekQfA^@u<$||pe1qWUG#({*xW+|-cWVE+PVf^Nj}%;~v644jW0k)h zU!~;hc%}bf?SJD{er(?n@N_puV0`{7%l`gX$o(;lP3_}jEHza7$VM{u*CCRA4(1t* zuM%wN`l5awQjLGB_yWOQHCE+`;>Ibbzh1@b`c>uoPRm!gQP-cswttM4^o=@yg^M*- z_C81BV&Pw{>+c_e@6%Y>Z?&!;p|`R z3nhNF#;X0^rtv)zKX{?4-@66B0x#qGR_%M>y$Y-LeefQIRr#OLSlM&9#>(C{ziQt$ zzp5{rf0E?iR;RBNyjtT5!Ic`16Wmo}-JZ4nC2{=9zifWx&s#LVYR|W6tl|f1tkSpD zSjlhvm$FBhKSpU_zKXLo9>>@!v4e~SEK zjg>tIYOLBzFO92({}hd<3Xa~T^i%!scN(ku+oJI;!vBiKGXy`Rv8w+$8rMjCrN*i~ z4cA!t(-j&Ah5sClRr@hCo-gqS=PP{|2;Ql&^8ZGS|1I&)Y5X6-_i3!!&utn%DDh)7 zUMzU9#*YZTSmQ?pch&eY!EH5uQt;k8mA+34{z&6z1+QjI{rxb^&f@y}FVWdifB$#4 z-QQC;!~S)bq_@Wxg$L{Ti^6y6_OJRMdwf;)@1^@QRX?vRRPvSmqq@IT{gd4vss3cO zj#vGS-5)D^8QR~LiN1UF`0|Y4F?u|FS@08D-W!5f>+-A@+!$8+srl78THY3kH#B}% z@D;Es+v`0Quki=yir#_a?@q;ay~sd4zb`;@$n zD!m>bPZM0M=MSd{{!aV1;=fPh4iZ05;}ZlQ)b-I`@IyNOIKhK8P7)l|{A~n3r?HB+ z+xzhnZ?|`k;4Qj5CkuWh4nLvCS5=-n{{qj^@v6K}Xn9_de}x{eItd=A+uP}a?e)YN zg3r^7fF0uE&o!%2lafrui%~ctNI+E;&uBPB-n1B`GP;v z{38Uf*7%NM_OC4(50m(T3zht91^3eNvxWaTou8@rb$@w{;NhBosNg5`cv>WQs*WEi z*zO-n1izx~SEexQL;Y(VB*pcwQ&4%-zy7zi-M?OrWZYk<{B8NFJX5v(m3=C8c~$xC z_Hec2f3enou;43n`IY>(+P@1Vey{dtRbIP&jF$MFI)04c?=+quc#FnU1P|2ycbnkB z8qX2jOXIr)pQG`7!5?XP_XxKA`9Ff~`PIXMcg|JzTOxS%9EG10{Dj6&3%*n1=LApH z_yxhm8ow-fpvJEX?xpb?g6Z!YaQ(d|c<*e5R|x({E?zEk7Pf~RWywqUzIR{XX zO21dQywrXlLnyBOzJSI~?f3gucKdw@V%R=UiM%VczRI3<|DxiZOpm46r- zD}UOl+s7J_f1k$M|AI=M^3O)y9+bSP8b2@T&(T=bC;iP6)?fL@Z5pfg(@W#WB>hh9 z?<(GIPb&Rj9k1jY8td|FtlCF>dx~m*SM|43<3`E+ zQjf1q3Tu776>QJP_6lCD+vl%>i?u%_T*CI~rN;w9u%Youg6;9$EBHCikNkfVO4iK( zdH*-$cB946C-!gv=lv0*6K@RFZL2yZx{b)~Mj%m*3qNMay#w*M3XbpMjEMBan=X7$ zO~;cw^|2z_L#9_VI;&5@;MD>8E?~ItCEXyP(LEk==m(w}bg#q^ft>JHUQWXWfmU5X z-pcqBVBA@7zjzB6!tTki2uIT?Z7L#CqWWE?nr(-s*`a^fp&~nUl^uE#A)GzKNp@Nl z_&83;eKROjxm&ps`mVlM^-t>%K;?g=+wWSz_Iz96F}lA}{Puptdf~VCBQ^@Q_aojB zZ0|=XJT;*5SGZW?w}gL-ZclFuenso|rou9x3A$&aVTRlb(Y(<}vf$dw!N5H)6%i%7 zNB1Nv1()fZ6#lH1`GfAuFhvi!|IU((0P=&g_I+AQdqGm~)Ox)r_=-A}+iQZy=z0Dc z!NnRYyV(0C+a$iLj{j8fDH?w(SnZnx-6vpym=nsNc{DEH+xmS3HZJX#!f)5h*Mg&Z zT(AUxr1AHH?RnE~!S=jquV8x|_(`xmZ&LAlMc<(Na|CiiJ?U@f=F*>vqH}-PZ#$B) ze!6^movW}tZ~jo^+vDJSf`{vVdb8k4onHCH@Y|Jq6<@5evhNidZ;|x2A1eHWo);@W zwC8<|!hf5#m-6!`v>z%wM`OibsmBe~PF~UDn(~LPw<&#6Tw0EBM4BQ*X>3R z(X$V-q?+3&p8u-OwLwxnrbk$1>FYICEw*~5%0*eei*9GCX1&_dAB(&?ZP_Nl)w-s> z6FgqyJ%X>-{D%Y&)A5NI0MO0{Y5Y8mZPdF&m=$h?#HOtS?SXs5N#ydqnyPx?&VQrt!1c$Z0%03&ky;Odiw7mCK zdhPkjbHg_&{S>a&J+x{Wo3!U`lJwW>c$MF08h;}38}tn4E5W(ii*^a_rm?Dz&!j$J zzZ&tPs(rX00B`E?GkLIg2kJYwZX0?kH{!7{ff%-@Do-~gbK18~%l};Euk}|wh3y~8 ze{6qL_WVWjD}0Z(x3d2XjaAP$1G5>3gCu>1)-OTgckA*i|9wg0B#D1OnNp zT?O~l_)NjSX#1Zn_%n^W3;ssqo`N@NoF@1Kje84zL*qVz?fUI2c)X6!5}cuNj^HjD z)0GvpXWRd-6r8N%)d{Ir<7*`Th;IMa3f`dc2*J;2JW_DA#y1GQUSoAaRHpGbi65k~ zI`Ogln~4(NSI4Up9Jj{mgmd={<$r3&ev`)P1Tw6#Izb$yu{uF~Ok;H-QKs=rl7Bai z*QoMnyh(5ujduv{sqr_0H%(Xi{V4b|jgJU^Kx4H7?bhkNnBSwmHt2Y@Bl>~HJte+c z<4nPI8s`em)mZJgy)jkkqjoTN&r}k zt`Pi9m6Bg6c!S1jhwd?rZ;^Pry-gSV%Vd>a?cjZ;ajlXUhab3E@dqTnPUG2v$7>uE zTvn&}!-5BC91?tw*emE>f3c#($pDbQ|E z2zhIp@|yQ#AZ>@FKv8runYl@ZPG*LgNt>dpkxD5Glprbvb&dW&i*H+8aEs^?6lqb> z;I2{?A)xCP6|9O<5yO8UA$*O%;hrH)@o{B^uv#XEF-SjFA` zEY{y>pVxK&_&85lp4FURKfT53E3~z~qS7zY zaoWFnO4Gll(jV6GzpD6p9jDq~q2pAWAr-&To{xu{R{j=$#VT}if$VFpbbnCX?$f$` zUB$1_eIwK*b@!z9byWI;I!?OSs%^JI>E;?8KS9NlEFRPRPgUtRYG1KT#XqRyD^xtD zpt2q_FQODn_ z;z=Ffrs9|CxYa53m(;#xjOev3UeDr(IwXCIPXB;PKU2qVR`IZo-=*SpIzFxPAEo05 zRs1$x-y0PDRvo`h#h=sieL}?_*YVG?_#PF1M5q6YiidT3Oj7wezE{QTbo<|<=+D&g zFHl_jCQYw>4b|s(9sii3|H-w~yY5i&$8~#A{9fIjRG-^){8NfPtmB_iaku?RzN2*d zKdba3bo>z&e?j}EZ>#u|I{vtdKd9qRsQ9OK{AWb3<$ZzZb^H~g*YQ~u59|1X^Q3*$ z>G%>AKVHX=QSlpfc~vTYjgFtB;#cbUX)2!7@iSHYQXQ{R@nt%`O2r?)mh|65aov9B zs`w+?{yJ6sFI$PePsQ)l>HRAHK^-4f@hf%w8Ww-Aio5+|n~E>f^gC4iUfut0SMev` zOXYu3#s8w^->u@$r6~O?D*m{Re?!IZ)A9W({u3Slp^87E<3CsNdv*Mvir=Q=FRQrt zjSx9HyrSaI>9KU)`Lcb*@3hJE#VY=!j#sGo@83)5OI7?YEdHF1pQh4X|M3nLcm2a^ z%CGxZi;6#|<6#xws{Q?NtCa6vEzgC-Py3TD6~9-vM?}RR)N}3iDjsI>Iu<{k#pmfb z@q0nbvrh55EkpXaSjAm_oht6~YgKWVUz>_Qr}=fL_~SZG^|?>SdsO*0*hkD)F0o=O976PH^r`_F1B|srR2OUO^Gx za}>Vm{HMil%N{)DlG)icCoe|w2Yw^ISFIFr96}v>AGqOjll?rN7TPoTyX2!&OTIcK zzAmc??>!zXkFSr*teg7H$JF<-o&Rki$H9+ZEH<+2t3WMI-k!zJV4Q{TNs+Hw z{sdoubMQzA4tD2(AbexlZ@cls7;Da6iP(~zhw7I=c@Z*_{L+2(Qgs|z(X&58JuMOu!pweAmrL-|07c7;c3Z- zo|o}|p!hypywfT^`|Py))bBp^x=-!y(<=8#yvM5Yp5Q($a-ZISYg4I*=;?*e;k$XD z4Ns>Pzvmn{_YRTw(_SrKo*B`o1kGfA^b)R;- zPj|UbH@i>or>7T=$D1=SHcU$K*=Jt|ToqPY_~br2<3`I0yY|^vQFNcZj`FMa-)CP= z@qKo;`*g1Rbe8*c3O&8hg>ol^9@=Fke}!R5l)L0Z;=3F7**~PX)WbCrddP)JMpx~# zcOxo3rakVncM`hK9;c@l{$5(cxS-u<=UgVGg(vsfQ8!vvIBlQZ<3{Zz*Z=1)@B&pc zGJEH(`|P)Cu78JwiGB8aD8A2*xKFK`X1!;JTTkC-AMH|wFE-KCBAz#`utPKgg!qGTG21xp%X6= ziCep7q{ z)x&sIdC|dokc$&*IKfgRiH~4=<1}96#9MB7|4Y1P^(~e1|JmPpR*BWn@Xr?>`{k~S zEPPMl&z3yiY+3iWt$cOo`Db3W;*^+Sc1xMa-(W%$pbdmV3BJsUM z;tPo^>tk(Ce6Q!i>Z{gY^c(Q~-uKSB=&n1Dzp$aoh_XS@s z+z#I3&B!BUMgBvWQCNt7@4|&h$7AzdcixHo4HtFh9B0GUtP@J6lZDV=ESYi=M_Qd5 zqU)S3(au=hA?)0c)i)eVIJr1?dszeU6D*DGFw7%NL{9WlJU`$dPy1lZ&N?oTyL_E0QM`2c$OpVI0HH8k-Ihu|G>&Xly z@45985t*DvN|#e;&16vHw9pV@?U_+XNs*3RPU;?bXDSmb5FAbyoFOMivA%*ZLzNqi zB(>_sye1=Rvl){f*5hn;QbEN21eqh8R~i&HCNno)GG zOuEm>!g30N#A|6$dsmkRg`w?YRJ5gmwiF7n_;8m~O!B^=hC9+s60uJ7N_wt0 zo*RtkM&r3o^jl4DJU1B6jmC4GteehYMjFgWqZz4_b=P^!NP`(^G$U(cuc6lt7OrZC9>N3?|Cwj3T5Dn);gj)PS5s9!)A4#5*$RWujsh1YwLwG@|nm!U< zP<>HB7zF*YG!zvi8{K59l;=ZuK@CL(HLe@rm26xm+sb6rxGo^$=m3+kaouPDv(W%< zqs8osb8;0l7O6nmx=&7NQa+@(bgq=fVqpU65m1fdT2P;dUfdB}bT9ZE8X%KVp>4!z z_)~G^W(6hrV)5vXP$JUm3?HX&!PxC^`L#Nw(wR*3nB*#MMsDrM_2 zLn@FWO2HISs`c`S%6OTK7**cOCeqAFVpuA|hbZZVp&M%gMaMx!DyQ_SPf2b@yof-$ zA%kF07#G;8X|9Nb^Qxl^=oN#|BZJhm%>-57OmoPLi`hHYC#pO%!JQaO>BD(6&xqqI z-jAr#4U7tBNZYUz-(+BY1+0PvsewVoVr4AXOvSKVJr%&snPi(97O>1LWzju_2C!kp;z->~8q&czDi-D0|7!uAKfDkXBpM>Em z#~d-v!8Rbf>_ifjP`VF(Hs$0*0W^j80L&v*gm`-~dh*&E6h)ZmAsiGlmm(~PP<0bd z8g{!BPmvZU%wI|DO6GPqo*?^APzF`RrK3)6Ya8}Tu#AVyAe6}Zfvd5Blw8#)WcGuj zgi@Qx^;LUvb5d;!m}sPUBoL5b=_4y19U=jKIZ`}g2&jl#@hB4Ud2hknmB3$+uLwVL z!Nbc%4AB+ZGMQY0Dr!cBSZ-XEXhwa>s$y<3RmzR4lFg{dy>>KJNV=fXbP-les6_D- zlCu4v5~>I*=BUK;6Ow+`VS*J)kygEk;34Ncl;S>n35uyoAZC3|98)7qtXy)iDF&s0 zN$T%nA*eP(d>as=C4GS2LvRzsCXO#+Qix3pxvbB_!6b9&DBvf+j+8Uvqzfjjhg{*A z^nhzT%f*QvYz@3lPSD*9qEZx5s~0zmkwQyBGbb$tiy^fDATE?~%*R@T0hA46YOUtW z-Y^zG*%(CGNCm;I5C$9whx0|SEORvP1SRx3`O%TU6k%>b zIRbIam7JK^MUpEF>ENY;<#>r@4@0!SCmJYfJx&g~dO{t2XSb~lnXw)t7P6KnYL*Kl z_BsefbjJ{NRr|?wULhPob}QVNw-amvay~-$psp%}B>1ZsV!A zZZa>1hVn?EYq|C_s-Z=eQ!Arn8D|npOl|RbOw~Bumf4J{mz-mYjY%ANe3%w5uEdd=2j+hT7yR)$MO$mc$U@ z&-{?=l;S|b%_e)UltB&!$l-J5h<7<@Vbe*+o9}t?a9-NG$R@S|bVT<9nO)6-WI?(& z(3D6B=!cYd5!R(9!XQwdK}E^7yhu3j(y0fr-V@Tu^$Qw+;wXhf?qnO}m!&aTcR9Jl zel2;h(4g8v^||f(v4D+2IC$y!7^QEsQjHIA@WqrE3W`B^eF=Id5>Dp}v2!PSw~CQmas)dgn;m#X9FAe%2UC71Li9GSDAb#T2URjI?EskSgp`uk&Fe#Hc<~st z;_P&jE{pS!iGh4%ihrznwSXdADH@?)OZskkG2)8-22?e;^I&nzm z^lg=gSXk+(2U-KENLwn2S<4l%WPwtRM^u>h*W9&$AktNK)7;%S)e@c+s%*w;(sO~@ z&(*ifI_2e(2KCo?1H&PUK`5u8b&Qp_t->}0`uylLD{O5n>vZy6y%U} z((1;5CX=q5K>=i9cEGsF$sfbyTB`^v<|j8O{d8)3kYUBrDYwPQiltK%T}Bol9W9~! zgmSZ#L&cSlrw@!w8aKm=rBf4jMiw9)ttkD3a^sdm#nQ=x0Y(-eU1PCyYCXWR21rNi zJ3k>UKLScpDQYkY%A>}fpp>A-ByIsls8WI|L9)?+7F3cRK!eiiX><%q)5B>{njTey z()8dOl!g(0&f4jfTyVa*>#o;zLHYDTFeptg{n#0#_CJA6$vc)dH;sCV4k~-bw)C| zt*x;fCfs7UMG9@5yX!EulP;GVUaDG`i0eIS(m?ZGW3%6z4C6E}E7s~_R3BAWNBjsX zrMF_lgiwm;WjE#@zQI{2z}vj{l0;3B#_F%;GU4=QIzks!p;am9eYjpKc_5#n@)WAQ z2OEOmkTA8f-#Ogf)NgPG*&E>8qE z)g;=5oilNE6Uk(KakXsii48cSJn--XDi$f^iYWXTxi;wm)H>BY9FzSO+SVqo<3`sI z+EIGX(~-G>=tdS0HJX^RiYOgs=&0#;G-fucz_6IXfx6bOno}2TlnKHjPzgx#K~Y5n z+Ng^Y^i_o7lvRx~P02wjK;fd}kVd>yMgt^gU?83^6YecILAX*Q#q_5J>~X?&f`LOU zKcE{%?lkxbjYB>oL1%#S47A9r2Bx{oOEcBmwD7a^s-P5W_(RdOl7)eJ5(FfY$pxf{ zb-3#-I8QGzsKj3LhNtWhJij!iz!bHg6qqEZ!@())v?8e#Z`2+2lIP02d@M%Q;j+@8 zc_i#s$OJtzr9S2Dm68TsRr%uDCI}=pdSW0vG(mcDU_f$$;LjM~|9u&Z4Fc3$=QX#E z8RjdN=!!Q?Wf>+H-@d4sD*4TsN}T1Ex0#DJZ;No^R)m|Hajjd-AE|a8COkF=g{^SR zz1JbcaR#pbUHkQ=7(8fp=5`<>$sFEL z(i|y52qQ_AE(TC@N+M^6Dv3{FJi&_QJYG`K#787iA>KR(4P;27o5g^_>ZZorDXY}o zE#+p68Gr(4qN$gRqUI{W+u(-?a#LUFllJZ1@ufJ4Ci_JR`ldq=Kjox-E1%Y_y*N+E zq#==KrN$%(U{@}d9Ztq^VF@qmxE>e@XE9>i?M;;wotWB zZ_cD};)^ZVWXipQLT?BRq#PgGoy-^XW~s=%Hi;t;aRNX+)mwq~WwEh~McTEr7YrKT zxud*xX{C|_T|G7VOii8p2*QnE4I_)UBog8{uBBJJxFtSu_2N`qdVo;AkT~~T^_EpA zCEnr5g$l#5bO;hf^C-CbOqI*B24eYSJerrUWt@w5w{Yx{8^z_COgc1}%Z!B5crPcE z%!kBVS#o7b8P6Hb=g!Fw$8yd&gP73f&p|e)fEUHif#Bl87C4;K<39G`M(f$Iz)?t3 zQz&@vZt=I5q6PR!_4<%32}R(VY5tsGy3JxuB0tisjhO{p3Es947am-%3Y)Q@!hm^$ zIW8-9po6B-Kj_GxEZJQms&v{a=TxE~nSYLSG25YHKxdw`xTj0Tv5BHobb1Y)S7%d# zN@sE9o|B)C^1m#X@iywyQpk)X<8&=cxiP6)DS_f!wA9dLC;as;qEnXv3~E^}Tfgg8 zkj~nzcM&fonwsK4&wP$)+JR^N$2zb=FCvk!`;Tw#;G=Oq<#3(`8E$x$ZCo|&3Fyo z!j~1`Gudq8uXr8WvO+E1b5=eJy4u>>y4w2MhT6v3m9?vCSJyVxuBof7tE;Q8Yp83i zTUocNZgpK#-J1H^`nvl1`iA<(`jz#o>Q~n{)vsx&ZK!Lg$J?!q4J#W~HLPxEYFN`) z+gR6F-`LRD*toKBRpaW$rp7fZYgg8-tY6u%vT^0gm8({+UfHyA&8pf}b*t)EHLPk} zwQ|*}RjXGuty;6Xc6HtA`qd4q8&|Jfy=wL9)lI9{G}SiMHPtsYG&MG@Y+BW{x~ZvY z%^HZf2F0%dYYNsN_Zp;FcnA9fvbw%Mlg*a3A1;2f#j+aPtf{S!$`JZdmk;(22J?CgGolL%)J&Kxm2`*aB;Iuc% z2Ff{vFoH0IH_a0Wvk31-Xk9!zYoYu@2+u;er)PGyfN*@>?Cf5IQ|o7EUlw6xb~Xh0 zrY=P}BJ7==9YZ+Yhk7Bbedp}#M#wvT)$Hu|5Z1nDcJ_UcxBqJ7M`&Gx?`(zKmH7S6 zuOpned3Lr|q~C)4kb8UrZ?PlHer$HO{0Q**IO>OR;!}9BU4);RogGFvgK!5z>zgP? zg!mk*0&Cv2z1F<3%6TU)T2MZLx(oay{I6`Con0Yl+80!c;0*k4#Q$CMpcB;1s;KO& zsJeK`!Y$?F)U z-dxgNQMJ9ary{hitRz!W)mBm2T7h~B+P(N+hW7ee5bY;DT2b~d@qZU+rC@j#^*W6I z_XBG|XmwUpZY#OCBGgw=+4Zf8a*-}R^RA8bNUbdR_?;okI#KIJ)L-b~QRLr=I+UG< zMro<2++NbQcz*cS(w$|u*f-DLwxBdqQWLte#wyu&B(&PH5IiiQlhCr)wa^Eim9@aCy$hMYpDRgb|g=M_Urhj z3;9#*(AmzCj*6;VN;@k;Hjq1K8j&_bCl z3&Eoq|I1;|jp5nZ?}DGu{mzmu!KcH|r>CO1^kefXYCHX0kR^owJ>W5gzHp)75feJ? z0{yY`Dk>o^Akp^XJ4hm^{~|nF70ufamF>9$50B!TTV55o)Fsuqx#R^@8HlX1q`e=s zyU^GEJG3*PO|AW}X=_pJBD7^Q`tH|-4ATA}!}e0>Ya4XgT(arNiVzUUqBK_pGGW6v z+q1LFL>| zOWDrSTT6O?9{|nthS}LqAS^po%Y$~_Sqh%Fl(o9@v!cKCQaTM?mS@Gq)Ui>Q-m z#!t?rNx}a$l=a0c;45IDWnD^MYBNtqP{{WAlHbJ@<0YkkTmX)3MM~-teJdnH0-HVX zcWd!nc88FEyu{R#Xqz2qjzoNR_BP?~rJekZI!w$fT_)_L*dAn=q8>sg_a|p(7o+2q zy+hYS@|3nG+gjE`+8%sMN$KB-dKB|?ZLA71u0%bmL|dLG>M`Z3hp_qcLDPfr>e^#K zbE>agPk++p$;S4SmfpJ%~AJ&5tN zXTj|38x5d28#M6sf5SeYhm%XsI0mH_x2M#@8Q>X08+{k$o-X>)Lnr{5%yK~@$C#_c zSpA{d+2dhT)_UO&OJ6UkDDU|erN2+4-+-?G0t-ri!Zy-Bfpjs(U+JY^V5W#77hIEb1q1>HVXM7M^=<~FI6f zk3SU==xwLySGNdXakJ>R+lBAiHov_hTl&KjiieiYg`)5FgU4C;{q(!>Y;{+JN?K7w z=faXp<%oc90-K$8)LDz4U(36>p)21DY|!IItceznN@oNfPnk@aKS z{`W=JgY)h0F0u~Kx4*f_`ojYI9~N6*EVnNzJ$!_H z`(o?KBkX$?TfaEMesGcXrz7k=i>w=tv_H4Vy7$O?1?x8!Lcb_#(Ng<;*5!E4Aw>M- zdOUCV^}G++)-OxGFc069e}CDTi2S~+6we?iyF_JNdKSVp_V-Gx^?10-o+`06eF;?( zB&Sr%@Kf`8F>APffqmmr>st%#@uk**1@X|%9clmD zan?T{X@6;{^^Jx08=zch|7of9>qYk6OReh{+fOdF?x?W$FSWi>VLy!2ifg{Q)Vfp5 za}OM4|6-{%ezg74an{t)_J15_9X#6p_)_b$$JifUYE2(wKXRNkajgB*rPkhK?Wd2k z{(P+c+ojgz+wAWgCuMC@)#?98iT%M!>)%T3KP|DIE3;o%VogH(ORQhn_LEDj&(62M zy~Mh{+f4>4>m}ft`!ulE5t*}0_#QyOL>#-&F6DzFGA8kLk+KmcgXXo2{hOA$fzgBXOW4*f2zSFU;Uu56sSie|wJQ8*; zw!fJ`m21AAu%26N|6{`X?PB{kaqGoO`<1wL?@{)6!g}T?`^JRz=cDXj4p_GwZNE5R z-E*}4ry=X>N85iMuwFUZo*l4u9%Ju_TlXAe-xjy_9b?}Wx1Kr1{y%YR{8;;oaqEs_ z?FZu4gU8zc8n>Q2*4`JlcD&7=j$7Y+oBflx_1fF)=i}DLkF(!MSYJENz5#L`XHPiR zolEU+IMzc;?Z+Hzca{AE$C|0K4>;CrmHnJ!ee8Jq*N*k{iS{2I>#rx;uQ}H3C)w8z zS`VCL?;NzAJ=wlv(E97i_T->-`ziLlgVw%N><lF7)9ky4tXt2pUl_7( zTLDGCvf?ZAppA#B?FWaf$Exjb4_U8Pe@Q_1z1{xGp!M~)+y6RfJ@*a?O`dIkXVCh> z+4heIt&9}?CZtFJ5l zYQlQxyss<)!Kc^SPYzj6th0YUWbIx*J@3N_>%*7cS%Q?0ZLoiuu>SQj`&WQ2zrW=3 z3F{+Q{^tUud@FXEW&JuPT2%DU4Uin8f>nwC=(1MVIx(BEEa6gx+Y}#>-jDz9KjDq< zbhfXz-g}zZfIRKo(-O|WX=k05$>VW!0B;YDB9_Lc8{$LQo{S@kokMZA7D#+DXcE&c{}jrv>Ha#a>IZTO;T!8^eQU+W5k9zAA>$;Dg`ZoM z@h>k?>3?DA3jN>vdw|-7bF2+1q?y79h5Zy}DIBM8g2G7(_fR-R;WULa6dt0`T4u>l zC50ghYbk7|FhXHJg;@&6DV(5ilEOU{PEj~b;S7a`D73JvCq9)FhA6D1u$jULh5Zy} zDIBM8g2G7(_fR-R;WULa6dt0`I-Sa=FhpT3h0PR3DD0cXOcCBp^zDRK4k$q0+rVRr@M*%eI&UD{iYxjS6&xEmloFBASPqF1}(>U>x5-$TDIBF^>2XFL43z^kfNT%5g% z&yNVNe6Na&b9M1K6> zi_evWANr_@i}PslxgGdC>nN-FL`7JuVC%C)|HPRJ*iQI=5Z?E81&A|W@%bI_p#JhI z(eLS(WbPkv)+*{d!|)}jhrsoGKxbGEe4cf(RokNEq-t4p60frKIIQV65+6Ok(0D@9 zFSYczuJLWagXI4Q;?w+jMJdm&@%WFL|Cbal&#dwI6~ZI`tZ;c&jmO6b-?LZY@{Agf zKP5a%hAhvffxo2jhZTKT1=cITg&xMQP#Qo~eqJYhjN!+?VF~&I;V@(Q5%=K)KFsLP zAUwgeg_g3f@p#l&D>GJ~6Th`ImjBrrKCnEWrVDWMLN{OH7&U18@4Dh2M zfAuAPJ={k46xoT^&*ur>eYv0hn}qjY=Ewh?@XBsK{u1G13}1{1oRH^GhoAmb!Y9Li zyovDPPCp(Ye2UQz6TY$4Pya!}cQJey;my5%`bP;ryv~n5PxxeyAAgPTDyFxiFhLdd zt?lyDpGo*ZRbB zl>cCxpZGKinYrS;kB$EZPxr* z`{LS)tk*QNtKFIp)8~VPA7=RX32$P2ey{Ph{(6;EsB){Be^^F%h{;(`_+>WYhR^>{i;?E%Pp!WJS@!7%3{R-igO#lBzconPHuL*Bv{_3xq50k$V>o(CZ z_OSlGjPMy|Z>tHfWpefsKE}#TXg;jm&4f=fKmQ5B_cFiq&x9Xf{o==j?_lkIi12CV zCrhx774>am@+>3#Ad|n5@cxVa_7f(&o5>T^{28BXG(Bst>j=*>dF~**nf22>gpad& z{e7u?CYu{szQg|&Zx1R7_O#XJl%b7h~rTH*_xRvk;=1*=Xyqn2+AK_C> zpWh{XlG($50uSm(eG|OTtPg}9b}>H72%lp5 zIiK+T48L6SVS3mEJV>7R6Ma9k=i3NB%>2n`HGf9`h{l=TzEAieM*l0qcd-8Z7sAIF zp9*ZS3H=;qe(4Ot$Cy2zPxt|*pLY>H!T9G0A7=jiCc>wf9ex6MkUqae^oN;0d7SV` zribU};PX1sN0^+I*q9W0sATPOD&ZTMeby6R&gQp$z=Px;BKmPA|2Xi|imchPK0XJZ zFB6}=OrH-EzKikyDdE#h{+9{g&D#BK$05f{O85lBpCNpTwPOi3=tX_^ zGCdqm_#USJI>IBY|F#ld&g}5rgj;Ofd@t~zcHcqtdl~<`2%lnd?jd}Vjk8Y>o@M%c zM&qpi{+aLtOwMu~qzL`YFnNwA{4gu`T;M_VN)UZFD|egb!~ED?gio;cx}WfIR3cu>8*Mf4Wy*G~~%%jRP*5nj&v?|dAj3H=;qe)0suv&=7DKzJqV zj}gMBS^EwVUe4&>OL!H-KSFpnYxge@KE>>0Kj9H(Z_f}u!|L@4;Rjf`$6(4R^f1l* z?c0F|>A!>MEvDxL;S&tsOn5WX=Z%CnG5PN#d_U9YUcxsr`~N=SV{AMFqJX z`&s|`xu$3S|4)P;V0JYR2dqL5A=Y1(5x$$%cMajwjQ^#CS2KIa62715`8L82Fh09A z&gdT}{1Bu6CGchNZlYUho@I9XPT)a)V3X#< z^tO%gDmE^BhVT%R=Mlo2SiPPGel*TsrXIHBN51QZrxzuzF!S$m%T#?Qm_4r`e1`Sk zHo^}wyBZ+8pY_vg3E#`?;nTp6#wLxvuc2l79MO+4JwHtN9;S!OF`p08^HW4$%i8yM zqFh~=5iY`FMA&nL&0|A^H#7gahVXHw|6aoPGQTuHcrCNfg2tKs+(!6*#^*l5tC^l3 zBYX#w=NZkP&C^~Xd=Jx4#py~9!>rx^j_`igF5(`5(Az=QzT#ehz(cJ64iIj!eVZ+W z?_qXz6XAzhfB6LAJ6O9sOn5WX=g&3H{PSysA7b;alh07{cQZY#CVZULD?<1f>qidZ zm8@THC%lQ#-$D2kYp*?oH#2+q4&f8bu6{}QZpPNflBD|aFA8%Dkdz)bM;ThmT^8bP8tC;-rS13Lk zS-Dk&cQgKPCww=XSF~zAjD7>~AbA|3&oX;{Kj9J9FYwx@>R*gM-Zz!_IHNy6xW)SE z%Y+|hxVZljB6$xDQnGy4=@#3AZ6#rnkw8fWz95Z=W6VJG2-nE!DIA7lRH{e&N8_4+X32bmr| zNBCaW-}e)~o3-Q52(M!H{5!%AvvFkMnMw~ES-s96d=KN(O87yh|925S!P@;=P0#dj zE8!N?|2>3982)X-`&qfq5MImVf0^+8te-A=yQ=RYrsrjZS2I1YCVZT=*Cm9X#q2*y zcsa9&_Y=OC@wtQWW>&Aggx4~?{gm)ZhQFctu=YLa9jd;&S^upee1i3t4#GDwd7^}8 zS-V^VJjiccr|Fq}KA>^t2c95&FSDN)2ybM1ex2~cY#dpFeNWM^tC)Uj2(M=RFClyn zYxk=OFK7I>5#Gb(xdV8R9zIL-8=3yUN%$1AlOGYjoB8>Jgm*J}=AEtTdw|t<@B$$Z z_JRA=q!(^qevT*lJ*?ep3E#o``^B1`+0_8y-Aw)u0T0r{$B2HC$^Rw7tC(FqLHI`2 zU!Em=2b&kYOn5WX!*MlAKh3PZ4TSGy{^1hBXPBHZ!lzj~UI#p=zIPCPgz4wOIq3Hh zeL1twr{|#m9ntS+esBIcs=hN!&c7pkoXOLn>6!lDP53Uxzd-l_M!ysIX|T8Ky~@s} z$=)6%`eRvtIY9Ux#{VVFpS9PbT2-%&te>7q_%QP`t%OII{X_|`Wc_Ok;bUz6{Evip zvvt7XqoAmR0qTj>pd2yYpZ#A2T;A?KBe>=eH6(&5y z?0XrP{O#agdA7*~0f$(x> z50`2_ti8qvZ(`%uorE{DcKH(FhnQVGM))qK&u0nW%lzca8fSW5g!4Bs9(A*Ry`1m~ zR^N*VA7l7>!iQOXHxX_zJzr1w4%WXuL3kx=ulqG0*6!aTe2nSmX-&`cv!F59AD#wW z=)q$4)-32t7K%$5zE3C7A7c9KC%l{K|9zT2)7z&AA7=IaI^ngfUmp-S_C@*qu3rK_ z+9#okG_O?ks%Cn=g79Hxw^tLsgSFTD2%ll{f0XduOb`D=_ZIJc$3*L|@DN)%yt#G5#MV zd>5Nnf0pnj)=wWNd_VI`KO?-GmHRuwtC^llnv@=9n4XsszKiLnN#o4kdI@i0_Lc-5 zq@S-7{W#0ue+hgrWnPt&vdt|feu`OhK3_b~e(C%l^Z z!%q^vpZSe{B77sGe~j>cHZH$F_%Q27vxM(v{ch>GN)HjHw;ICtv--9ZKEwFL37=$q zuG92P&$ko4gVpy7gjX~CQNqU=pZ_Ghmi4dK2%lj6<>>QNeK)dwfNH`+Y+Pt2d=Im? zjf7V-{cq8HSUgCw!R6c^lz}m_Pp_;mu6` z$AMR(UOUJR^%Um&M8A>smlp_+u=afwcu@N;x=`tDlKG`t!kd_Vh6&%z>@!OE6qDz@ zgohZulkiH`?ssecjQ$bABTSyBG=J7!FA?6)?5E@+Ro`ajPpSx?V*aXz@M*@UUGri6 z?kd8^7@sYK?`C{HOn8>*^RtBSXZo2Ue1`SMLxh(zJ73VO>RZYDe-+^~jQ$+Lo0y!< zgikOzHxS;>>^V(%C6n_8!Xr#S|44W>CobYj`|6PRlv-*CH@Iy>*-zIz`)AQ4sp81Vm6F$yx zyH(Y9FVn**gby=)))HRL{A3s5Rm|^236HS)juC!<^}AaMw^)7eBYd3U|E6&!|9=p^ zm$lbn!Vj_bs%leu*v;fQhwusJw|jsKKOAE39c(1}N#>Wf5Wa)8*976a8T}Ut-_QK; zw+QcN@;pQML1u4<37=&3UDU4XJHgtwn(!Tre;eUvuzqv};fI<0R})^&?CmDP`0}s;Ai$ot`{7bun=}!PI=5>=y&Kkn2SpRJ&e2nSg-Go;%K6%0?nEh-gd?Ond z?jgLH+4ENk-^OFJt zf05`9F#EB4l>8f+K948-5R>OD!pGUT+)4OBrso*p6RbaOCA^#I|1QESnchB6crD}e zUBV;GZhuMm4D(m7Xq?&ev1^qcLaf}=3AY&k^9ZkH<47OjQ%rAzghyC?ZzH^t;a?;? z%k=yh;ls>-J`Fr%6@LyB{cdKT$F5WLoo0Nh3C}Wn>m1PY@AUoel^xe#E zcN4ym>Fp81_cA^FbPoQ%BKjT7&JPnl&Gfu*J+(WNXBpwutY54oyr0=s7x19^-bM7~ ztY6$mc!b&8Q-n{m@!}xi)ok2o4ymyqf8Gg79HxpSyt{UF?3W2Z%n)`0pothUwus!Y5d}zp8O&p9}j)4~#xU zc!c@4m4r{TesLM$hnXKs5#G)CUk^OU-+qMXn^-%3jqn}J9-bmR#QMvNghyC??G38F z!%T0d5Pp!g?|Hz3~P-9~snjSJ-@+s6st z&)VgF!iSkX>?6FA+2?bFPqTXcf$%A&&m%5Zdf36rJ&kaS`RyjchnXI%zId)sSCg@# z(bzyTT8IrYE`$1i?V%9h*ls zL``+CN#tT%TKeLdtmFO&Z0{v?jUFU^l^MuN4@t&HQ_f)TC0^4EBDM-Yp_~~lc+62D zW@2^q&PX;Di#ySQSbS6XVpv^A?_hg&y(!b1$);Q5ojvt+(tbo;)@2IG!L3(F>vY8% z9PC(k$z`cQd^)1>REKzg@?j!tWX4t}CJd@QnTMcT{~Os>$!t=At(nnuBL83Ic@yp2 zRv+$bK;xmSpyM_~QC<9idp4KJ%1-mY%uy?|r>;Kdr17)tZKJt-Cf8e6ryk@_WgE4W z3jFUAyX>3b1rnX;Id8hl^!yK5xS}ZksDFR_P4(cuRZ-~kfg6g1_!~yw2_{={}oQ2U@K$UEUZI}6_<|2VD?45-E5Jhw_nNCJyxm;{()JYd|Tdlzyeorl$7#$heiY!Jf3d(|ybSM=| zK%P`4mWX!sL@&pXA6~yMT8Ask9IFq&8UnF~qP&fuLsy8x`=PMpKvxfboIaN5ati2l z@s>ma17bc>$YK6778M0MiReh|>P*f`kB&rPt@$XX1kujkmbDlU*R@B{ZKL?vxoAf> zf!*!BR(zzkp2OEzh$DCBO z5A(ac=HM$(wiy-bHJa)QL(m-zBr}?eJ7J9CW10h!FCBGqTh|XG~4B*i<-zN z78bcSmUoS--4UK-?hN2&bPSgd3J<3X&XAK^)tHRBW+Td0Cg@U{N~y~W%E2wjy&*Z` zwm71#nG8A%oR-VV%-7Qi`;WQWC(W;op*M~-jx{9QOyJZv3|Em0rw21VnIWw!AG3Pb zMEl~&JZ40i%Ci>32y~(Wc}>*rWDCQlI@>T8DmbEDl3rUEX;(Rn)>z(DL3(X0>$Rfv zAKYlYWU&OiBAF-*Yw;9I)1;w`7GW0-sVk4%Q3pLPhVctiO{}G2`D8qr9MtQ$;n#om-UVB2EwCo3{=BTs-=@m)1M%Ts2 zibL5xpMdz>{@82JaK1_{xDQCI11X3;tj-s?%Sd{qap2<--?A950dZg#)YXdn>w9i~x1 zmyB|_Q3t3)^ffhvc`i6uA+7|veZ3l(ecl|}+A`U#)Dqg!*SU_K*to96t0E+q?pEo9 zJ6*#^5^r5&VJ=7=5?!+=6W62K;Ffj={Vqf6T1~Bbtny*hpgQSqjJ=wKq_6jsp!|{I zr>P*I>|71)0VAfVwI0K>whcS+O}y#)3bDedYqFxIlwFvzQJguxNnHHM|a^EzHeiCaLbL*{QKkHK34M4n)who^5J6Rf$NW z(YZwbAnkg}HFXuqBrzVkLy5FjKR-2j>}mA!M>46cLz(p2Ou`)pjBe*u79G=YDVpnL zY4qp-Tx@y73h`kv!x+UL68SKl%_xD57O;x|O>3JHu16~D@?^rvm@-2*MAVwfU^~d1 zr1(@M6&j5u^O<;kLo}a{$I^ppaEaE}G&K1nlq0JY>DZG9Az4y@Kj%R_c-LLOA7o2}~(Bc3bJ zWU7zQ#62%6osN%WgKBMRE^H1&)H14{`369LBgs5sEv(BnIX12v9niQ~j>)Nm>uS82 z8eF*Hd#$dXmUjQDwN7(sOC>R;UxAJ6zOCuFMlq4v#2l^1TvdT}lTIu~3&uoMTB@w3 z9KqcYNomp$&XwM6X*J~Q9_pKAn7XLVS=Ij}Z>5&&gutg;^Rl=S<%u z=crWaNHXiBFqzC-SgZ7iHGdm6{Iz!6&hOUB6rkR%5lSO|VpWhE#MZDUTR6`YOi?Yf zYmM&0*ey+$?>cuBWVk%nU7;{>WKmxmjTVM;nJrQD)S<#~)XC*CIqbG7`}I#@{Zc58 zA^Zh(YO|tn+8UN^2Mce@WO9j!Y4+}v*sYJrqH&$KxE7w-J!r5-oRPd!2FmdI*en2lsjmUmh_~>s05{8hrq3uzuFCM#i%gP$(qvFd4rZ_sm6n~ z*tdjBDqv=dO=WC}xzl7d=YYHO%|>ZSqCBA1sT`7^Q#~EiIH+Rr;iAclvBOaxG==dx zq}v-jLzI+3y*oBbSp&R)jfQqjvJzO^oTD z!NU;p=`04F!eBH$yva2mV~vKs;#&a9(b+QuEDgM=kQ{-?aSNe!1-QFpiqx)4lhfQ< zPA|PlH3R``S9W6;$kb_r+ghG}G+!|SsMVwEatt@XMmoQR*Sl<$7`_#lIWi+z)=upp zd5(Y@MQvrd#fw>{QlFMl)y3S`yPS5oNFYC<>H=ZIlDg5DnnrdBSw+LD%w8;}o32JZ zVNHdG>&(U`TRwO>(_a|Uao(V?-i zXx71*l$dQ5wnjH&M_BEZk|lZ-)Cq<*h{iKB(Ino=-B^SwAv6ohSG2%H`-{yh-@bzo z8AbXQZ>-Py*#)ktz?r1c zlU9!5JuJ5RJ9Cb+VQbcHdeHj3gewV-i?Q|SFT2Pf#6nM1C8#ryjT^gnVusPxBmQEo zB!=v|HSUlt=Jt}n@?$tUZH-O>csg4PCnvT`NnbuoNgq&ji&%QOenKfN}IC8W8ZOt$PAjwiWtfb4nr-Z(-0TQ_TA)H9C1+rs1 zcLqhp2N`9+&Vwk z&@=*Le-U+}qFkS9PI&!p)i^~a4^BAGZ;H1KKHE$Q13*~H>c3@nKIP5y}_uuvQ*}$ z{UR8B(`4uE*qEreVxS8*H18RR0QG5_hr;hDgA|R)yFo*=!C+a`4UKWz-3rhSR_F8A zNLgpSdH%{*EUw+Twc!-xD&>6~T?{IROF`M;WIT_PZ?U;*9y5rwpx^w3-VH<0Z2Z#7 z&1c==@(v|p<^ z;x3pNJL{sURpaN)<8$d$0>?7QF&C~)&)MvxJVO;biRmq55^TrNx9E0F+VBJFkp$Fg zLOHV4y*5$PC2fLaalDa>cNj$Fi~6lD#pgZ@XC6FZ^EbQd$?7IW^qq-RWb;Tf4*XkM z!_m5$hMG0H3@9^DY0?7?ZrR}EMzG(9T}rBwS~ci;Vo94$1kOZE*^SMEU?GjcRLRrB z8&LOhb#ICWQO`@7r5RfsY|ItK$a@m}?(^#CT3pt~!DS{MRd*-D7x!Kwu0U^=H=v6; zP-E0RaPk%HZoSI=t~nbPl@zBwn=>hF+ho%Iy?kLL^6Wuxd}!5sMi(#*^HtSQIEo^j z>l;V<#9EH+nzvaC+#2(Gc<~jtVt3L=!;snu&@APq$68##!bLFmP?*}WNHdpXOBp`F z^FwN%T-@d0BNp#eri0dHQ+2%chOu9P??O zarKijfj5Z^D@n$^dr$rernzWR2bBKBtIsHnSuES@@U5~!a8@$amzmB}iN3?!1$}|~x7E{y?wA45IDK__UGO_-P<$&@=mapxzf zVo|?9rQ~&9Edr~Wv1;U75a#}aHWf9Bc}B9T(Y3WmE;)ij=*8+dJrM5z**| zwQc&EuGscl6^&+axQzFQAaWkJYlB|>33}TIcXw;?zR@bYZ-h4}NHc1j_690b^G3DB z07{bbxu)xM9B>cP?&he*-NlMZeX`>Z;XyFZ}2q)zag5e-sfhTX%1yUKUh z91zZ|Tag(XTmFj9cUc*^NmMVRF?I5;mw`~t8+^Mw%$|(fL6m|WP0uG#1@!^5SE7HH z5BMOqq+JX5U(YDIa%GG*rXm{Gc^wqOw`WENu>B`*AIiH%YX6{bI5V0`w27^vB8S!x zb$3^Nj6JzKb2#WU_fYxZ;?3CHK|md8%Q2FB&^m9Uhty{drD%PS{6fN#K4F6zIPfT2t>XU;Hw7>svI-96KyRkJ@lNRcJ(wuxw7v zOws5z+7!KwMstwBK0bVnW^FdKSZ}%7f~-)O@2JpA^wuDnk4Nr1Jt~@l5u2f;I5I8sB{pbSwkq&1q_MK{ERY;1vBOMt-;;97@D1^wYj%!;z}si zM81s{^9G=|4uXhuYG4d5R73fyMT1+%Ft!53J8T1UzLwErEFb+g=)J$-o0G{BwYXNf_$OBMn!I3 zjaXr0>&?A&qa840hb!C?%d&PtBM@`!vkV#cc939JOPyfQoyp_~=HP2H80frNmPzcN zLd&a)s#vW-x@TtG#NxXNp4rQ*)jFeULLD>94Es+&%_N$J!0km7xQD9_+%ykrOz)15 zl0;m)amO?N6-?iyHhsmKdJ)~U#(P(;aX^viZN5WfT{gCq)n+?3qVVdj@BGgjO1%zD zvht}3n9&VczZ4bn=WyEPplNN^9&R`&VP;Tm#a| z($$pDXc(a?QY-4}4x2Dqqu;95GrhCh1p4|@SX>Fl`vOINw$9rcfe=1(GDi$uEx*FO z5k3;bt?{Dekj^EBVZA+4JOZO!Vrx{KDorahZvqz1OGRnUx|vlMbDa!zT*L31>#I(@ zahZ4D+ky9B#^`Df+=CgbzG0sBnY{($pq9_4FJn~F)hm9_&3Mhxpob)8`vw>=D5x5I z=Sa%}3NHTMb#sD3(B=_3C*TKtUdHUuCVMVxIiR&fNfqdTY>U|bg zJiqpL5u@+;@=2%WxmZ*z=)jB*XT}8puSNJ>)>6I zR2I$VK`4Wnq|PYBlaA9#C?&hSLlt8xz)b?LqMpl}Lw(0deO)q>$Cp^-9dQvShdGVh zK=HluR)gRE@rL4}1u0%~dy}iF)j1q)!<{Y|4JcKH2?lPUwd1Y!q8n(6CmDcfL^;Pa z)+ge{S-gK>(NGtqFVw*%TthSr^Iwm7=Lp_GQp*n7O7qt9q+PKR z4R%7%f$G(|J&ac&Rf2EwDfha4cd=-)XpZ=P_lntuZ-N@!f~FbxZsvoW{6XM-akL|; z9Q6~o)q`%P8s}lUnr3-*uGxW`H(i$#A5Bj_-%HIKGY*rPc$-FN@;oQ+Vdk8oXzmlB zccVjj=3g{gh_7!TZzl$$BE~w=C$Hg}P<>UlSB9~+_Z@mLR^Iswd)?a*+;sOkyE$e; z-|~fBG@-g_HP_wvfZa_l5U+8L9dC^ES7rX8jKp^?dc4@7AxSz>6LNu1rQxb zsh6D$9Sye_e0@w;z*MEM+oCoRU%f%1cy|NbX;jgq#Z568vx$S>$9M}YD8W#-*M=@n zy;9Kv`5Czbi#Injg}@z6Z=045wajIU=sWE0nb+^t!r$!}KE6gr5uK%1sX`jPE`&!)d%Hw5qNU>^=}TA$b_jAzHniKxQuE=!yB-B>VC}&4n)M4yr?v4 zUPJeATEZdv93goSZ^S_f)Bt+g&8BXKMUR>$ZE6p1NJKA7Z-L&T;DT==Y3^!k!^{4z z(eXC%%BR9TJJDt#m16cxG5W7_wnWYSb0q}3>qOrK;ToL3^A+_C`86``O9OKF#&YdV z?QXBZ=5}0eC3N(T%rz%76^Hkub$tVUrM@)oQn{xAZZ`4#5x&tes6QD8Eokt7))>U_ z?Om+!-lX+2Gwv6PP7>rx&DvozQHu#%bT>cThVj#SBUVw<7q7X=wq3I^ZzcL=Ru0A3 z-uEZ_?=DDVSG`_uWf)_RDQ~0UhrB-I^=ZXKuc)YVnhbF5!SiJBiC9$yzn077byZs2 z(|uDy-;7cC0pG+_Ot=jOXeNC_);!@Nu|@sV%jtnl*F%ZAt*O8H-&hkfG%0~zxVdwA zT6uc-f{DA(qToG3YW zZ}-NpJY#DglE}#*St(tkki(1q4zZxYrKkYuj(pqPri#MG{s#o7&ftwl5q#f?+%WaM zs|4AK=8SY-2VS|a&=|)%x#mhk8ZUCuVM1hhE2dSklxYGaxFL^PGLnMyy3Cz|Q!T`V zlJ@CFCC@wsNYvY2xP0n0Q^dHV{)&~gJ{Q8elDLM>MeqFxKuj_v!d1f7x{&) z@%*;~6GaI5c@oT+HaX{{DsX z>-M*1Cu=4^Vy` zHj`oK{;m0G`~M{Jn&nqrC}NhS!-Fa+G4V&|*I@(F&HV1~$2JomH>Y~g`82!+WCGLj z>)#j9zi&UhR8y)jA^bn@RqS5ru{j;3sC?`fL9y qh8rzA9^KEb2~|=A-{)_Bbom++?mj60!Cxs#`q>FhF6DJ2c=*4$NwS3i literal 122504 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 z⪚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 XgGqNEmjB@&YfAd;fgyM0Ho*S{)qT+k diff --git a/src/main.cpp b/src/main.cpp index a8c5f9b..b131a20 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -23,6 +23,7 @@ #include #include #include +#include // ─── Constants ─────────────────────────────────────────────────────────────── @@ -49,15 +50,15 @@ static constexpr float P7P_R = 0.35f; static constexpr float P7P_G = 0.88f; static constexpr float P7P_B = 0.18f; -// Digits rendered into the font atlas: '0'–'9' -static constexpr int GLYPH_FIRST = '0'; -static constexpr int GLYPH_COUNT = 10; +// Full printable ASCII rendered into the font atlas: ' '(32) through '~'(126) +static constexpr int GLYPH_FIRST = ' '; +static constexpr int GLYPH_COUNT = 95; // Feature 3 timing -static constexpr float HOLD_SEC = 20.0f; // seconds per range setting -static constexpr float SLIDE_OUT_SEC = 5.0f; // slide current graticule out (up) -static constexpr float WAIT_SEC = 2.0f; // blank pause between graticules -static constexpr float SLIDE_IN_SEC = 5.0f; // slide new graticule in (from top) +static constexpr float HOLD_SEC = 5.0f; // seconds per range setting +static constexpr float SLIDE_OUT_SEC = 2.0f; // slide current graticule out (up) +static constexpr float WAIT_SEC = 0.5f; // blank pause between graticules +static constexpr float SLIDE_IN_SEC = 2.0f; // slide new graticule in (from top) // Feature 4 — sweep static constexpr float SWEEP_DEG_PS = 20.0f * 6.0f; // 20 RPM → 120 °/s @@ -278,6 +279,8 @@ static void appendTextQuads(std::vector& verts, const FontAtlas& fa, struct Layout { float ppiCX, ppiCY, ppiR; float asLeft, asTop, asRight, asBot; + float brgLeft, brgTop, brgRight, brgBot; // A scope bearing display window + float notifyLeft, notifyRight, notifyTop, notifyBot; // "changing graticule" notice }; static Layout computeLayout(float W, float H, float marginPx) @@ -286,7 +289,10 @@ static Layout computeLayout(float W, float H, float marginPx) float availW = (W - marginPx) - W * 0.5f; float availH = (H - marginPx) - marginPx; - L.ppiR = std::min(availW, availH) * 0.5f; + // The bearing graticule outer ring sits at ppiR * 1.18, so shrink ppiR so + // that outer ring — not the inner circle — lands at the margin boundary. + static constexpr float GRAT_SCALE = 1.18f; + L.ppiR = std::min(availW, availH) * 0.5f / GRAT_SCALE; L.ppiCX = W * 0.5f + availW * 0.5f; L.ppiCY = marginPx + availH * 0.5f; @@ -297,6 +303,22 @@ static Layout computeLayout(float W, float H, float marginPx) L.asTop = (H - asH) * 0.5f; L.asBot = L.asTop + asH; + // Bearing display window — small box directly below the A scope + const float brgGap = H * 0.008f; // gap between A scope bottom and window top + const float brgH = H * 0.060f; // window height (two text lines) + L.brgLeft = L.asLeft; + L.brgRight = L.asRight; + L.brgTop = L.asBot + brgGap; + L.brgBot = L.brgTop + brgH; + + // Notification window — small box directly above the A scope + const float notifyGap = H * 0.008f; + const float notifyH = H * 0.040f; + L.notifyLeft = L.asLeft; + L.notifyRight = L.asRight; + L.notifyBot = L.asTop - notifyGap; + L.notifyTop = L.notifyBot - notifyH; + return L; } @@ -802,10 +824,13 @@ static AScopeTrace buildAScopeTrace() } // Renders target return spikes on the A scope clipped to the A scope box. +// The A scope antenna is pointed at a fixed bearing (ascopeBearingDeg), +// independent of the PPI sweep. Every radar pulse illuminates that bearing, +// so returns are continuous — brightness is steady, no sweep dependency. static void renderAScopeTrace(AScopeTrace& at, const Layout& L, FakeTarget* tgts, int nTgts, float maxRangeMi, float ascopeBearingDeg, - float sweepAngle, float curTime, float W, float H) + float W, float H) { static const float THRESH = 3.5f; static const float PAD = 4.0f; @@ -818,8 +843,6 @@ static void renderAScopeTrace(AScopeTrace& at, const Layout& L, const float sigW = gx1 - gx0; const float sigH = (L.asTop + PAD) - gy1; // negative: upward from baseline - const bool sweepHere = angDiff(sweepAngle, ascopeBearingDeg) < THRESH; - glEnable(GL_SCISSOR_TEST); glScissor((GLint)L.asLeft, (GLint)(H - L.asBot), (GLint)(L.asRight - L.asLeft), (GLint)(L.asBot - L.asTop)); @@ -828,27 +851,22 @@ static void renderAScopeTrace(AScopeTrace& at, const Layout& L, const GLint locCol = glGetUniformLocation(at.prog, "uColor"); for (int i = 0; i < nTgts; ++i) { - FakeTarget& t = tgts[i]; + const FakeTarget& t = tgts[i]; - if (sweepHere && angDiff(ascopeBearingDeg, t.bearingDeg) < THRESH) - at.lastActT[i] = curTime; + // Only show targets whose bearing falls within the A scope beam + if (angDiff(ascopeBearingDeg, t.bearingDeg) >= THRESH) continue; float rangeFrac = t.rangeMiles / maxRangeMi; if (rangeFrac > 1.0f) continue; - float dt = curTime - at.lastActT[i]; - float fade = (at.lastActT[i] < 0.0f) ? 0.0f - : std::max(0.0f, 1.0f - dt / TARG_PERSIST); - if (fade < 0.02f) continue; - float coreRad, bloomRad, baseBright; sizeFromApparent(apparentFt(t), L.ppiR, coreRad, bloomRad, baseBright); - float bright = baseBright * fade; - float height = sigH * bright; // upward (sigH is negative → spike goes up) + + float height = sigH * baseBright; // upward (sigH is negative) float sx = gx0 + rangeFrac * sigW; - float sy0 = gy1; // baseline - float sy1 = gy1 + height; // peak (upward because sigH < 0) + float sy0 = gy1; + float sy1 = gy1 + height; float verts[6] = { ndcX(sx - HALF_W, W), ndcY(sy0, H), @@ -857,7 +875,7 @@ static void renderAScopeTrace(AScopeTrace& at, const Layout& L, }; glBindBuffer(GL_ARRAY_BUFFER, at.vbo); glBufferData(GL_ARRAY_BUFFER, sizeof(verts), verts, GL_DYNAMIC_DRAW); - glUniform3f(locCol, P1_R * bright, P1_G * bright, P1_B * bright); + glUniform3f(locCol, P1_R * baseBright, P1_G * baseBright, P1_B * baseBright); glDrawArrays(GL_TRIANGLES, 0, 3); } @@ -1025,6 +1043,180 @@ static void renderCursor(CursorLayer& cl, const Layout& L, glBindVertexArray(0); } +// ─── A scope bearing display window ────────────────────────────────────────── +// +// Small box below the A scope showing the current A scope bearing setting +// as "BRG XXX" in incandescent colour. +// Reuses scope_bounds shader (uColor, no offset) for the box outline +// and text/text shaders for the label. + +struct BearingDisplay { + GLuint boxVAO = 0, boxVBO = 0; + int boxCount = 0; + GLuint textVAO = 0, textVBO = 0; +}; + +static BearingDisplay buildBearingDisplay(const Layout& L, float W, float H) +{ + BearingDisplay bd{}; + + // Static box outline (4 line segments) + std::vector v; + auto ln = [&](float x1, float y1, float x2, float y2) { + v.push_back(ndcX(x1,W)); v.push_back(ndcY(y1,H)); + v.push_back(ndcX(x2,W)); v.push_back(ndcY(y2,H)); + }; + ln(L.brgLeft, L.brgTop, L.brgRight, L.brgTop); + ln(L.brgRight, L.brgTop, L.brgRight, L.brgBot); + ln(L.brgRight, L.brgBot, L.brgLeft, L.brgBot); + ln(L.brgLeft, L.brgBot, L.brgLeft, L.brgTop); + bd.boxCount = (int)v.size() / 2; + makeLineVAO(bd.boxVAO, bd.boxVBO, v); + + // Dynamic text VAO (rebuilt each frame with current bearing value) + glGenVertexArrays(1, &bd.textVAO); glGenBuffers(1, &bd.textVBO); + glBindVertexArray(bd.textVAO); + glBindBuffer(GL_ARRAY_BUFFER, bd.textVBO); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 4*sizeof(float), nullptr); + glEnableVertexAttribArray(0); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 4*sizeof(float), + reinterpret_cast(2*sizeof(float))); + glEnableVertexAttribArray(1); + glBindVertexArray(0); + + return bd; +} + +static void renderBearingDisplay(BearingDisplay& bd, const Layout& L, + GLuint boxProg, GLuint textProg, + const FontAtlas& fa, float bearingDeg, + float maxRangeMi, float W, float H) +{ + // Box outline + glUseProgram(boxProg); + glUniform3f(glGetUniformLocation(boxProg, "uColor"), + INCAN_R, INCAN_G, INCAN_B); + glBindVertexArray(bd.boxVAO); + glDrawArrays(GL_LINES, 0, bd.boxCount); + glBindVertexArray(0); + + // Two lines: "BRG 000" and "RNG 15" + int iBear = static_cast(bearingDeg) % 360; + if (iBear < 0) iBear += 360; + int iRng = static_cast(maxRangeMi); + char brgBuf[12], rngBuf[12]; + std::snprintf(brgBuf, sizeof(brgBuf), "BRG %03d", iBear); + std::snprintf(rngBuf, sizeof(rngBuf), "RNG %2d", iRng); + + const float cx = (L.brgLeft + L.brgRight) * 0.5f; + const float brgH = L.brgBot - L.brgTop; + const float cy1 = L.brgTop + brgH * 0.30f; // upper line + const float cy2 = L.brgTop + brgH * 0.70f; // lower line + + std::vector tv; + appendTextQuads(tv, fa, std::string(brgBuf), cx, cy1, W, H); + appendTextQuads(tv, fa, std::string(rngBuf), cx, cy2, W, H); + if (tv.empty()) return; + + glBindBuffer(GL_ARRAY_BUFFER, bd.textVBO); + glBufferData(GL_ARRAY_BUFFER, (GLsizeiptr)(tv.size()*sizeof(float)), + tv.data(), GL_DYNAMIC_DRAW); + glUseProgram(textProg); + glUniform3f(glGetUniformLocation(textProg, "uColor"), + INCAN_R, INCAN_G, INCAN_B); + glUniform1i(glGetUniformLocation(textProg, "uTexture"), 0); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, fa.texture); + glBindVertexArray(bd.textVAO); + glDrawArrays(GL_TRIANGLES, 0, static_cast(tv.size() / 4)); + glBindTexture(GL_TEXTURE_2D, 0); + glBindVertexArray(0); +} + +// ─── New Update 2: "Operator Manually Changing Range Graticule" window ──────── +// +// Appears above the A scope only while the graticule is animating (any phase +// other than HOLD). + +struct GratNotifyWindow { + GLuint boxVAO = 0, boxVBO = 0; + int boxCount = 0; + GLuint textVAO = 0, textVBO = 0; +}; + +static GratNotifyWindow buildGratNotifyWindow(const Layout& L, float W, float H) +{ + GratNotifyWindow gn{}; + + std::vector v; + auto ln = [&](float x1, float y1, float x2, float y2) { + v.push_back(ndcX(x1,W)); v.push_back(ndcY(y1,H)); + v.push_back(ndcX(x2,W)); v.push_back(ndcY(y2,H)); + }; + ln(L.notifyLeft, L.notifyTop, L.notifyRight, L.notifyTop); + ln(L.notifyRight, L.notifyTop, L.notifyRight, L.notifyBot); + ln(L.notifyRight, L.notifyBot, L.notifyLeft, L.notifyBot); + ln(L.notifyLeft, L.notifyBot, L.notifyLeft, L.notifyTop); + gn.boxCount = (int)v.size() / 2; + makeLineVAO(gn.boxVAO, gn.boxVBO, v); + + glGenVertexArrays(1, &gn.textVAO); glGenBuffers(1, &gn.textVBO); + glBindVertexArray(gn.textVAO); + glBindBuffer(GL_ARRAY_BUFFER, gn.textVBO); + glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 4*sizeof(float), nullptr); + glEnableVertexAttribArray(0); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 4*sizeof(float), + reinterpret_cast(2*sizeof(float))); + glEnableVertexAttribArray(1); + glBindVertexArray(0); + + return gn; +} + +static void renderGratNotifyWindow(GratNotifyWindow& gn, const Layout& L, + GLuint boxProg, GLuint textProg, + const FontAtlas& fa, float W, float H) +{ + // Box outline + glUseProgram(boxProg); + glUniform3f(glGetUniformLocation(boxProg, "uColor"), + INCAN_R, INCAN_G, INCAN_B); + glBindVertexArray(gn.boxVAO); + glDrawArrays(GL_LINES, 0, gn.boxCount); + glBindVertexArray(0); + + // Text centred in box, clipped to box bounds + const float cx = (L.notifyLeft + L.notifyRight) * 0.5f; + const float cy = (L.notifyTop + L.notifyBot) * 0.5f; + + std::vector tv; + appendTextQuads(tv, fa, "Operator Manually Changing Range Graticule", + cx, cy, W, H); + if (tv.empty()) return; + + glEnable(GL_SCISSOR_TEST); + glScissor((GLint) L.notifyLeft, + (GLint)(H - L.notifyBot), + (GLint)(L.notifyRight - L.notifyLeft), + (GLint)(L.notifyBot - L.notifyTop)); + + glBindBuffer(GL_ARRAY_BUFFER, gn.textVBO); + glBufferData(GL_ARRAY_BUFFER, (GLsizeiptr)(tv.size()*sizeof(float)), + tv.data(), GL_DYNAMIC_DRAW); + glUseProgram(textProg); + glUniform3f(glGetUniformLocation(textProg, "uColor"), + INCAN_R, INCAN_G, INCAN_B); + glUniform1i(glGetUniformLocation(textProg, "uTexture"), 0); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, fa.texture); + glBindVertexArray(gn.textVAO); + glDrawArrays(GL_TRIANGLES, 0, static_cast(tv.size() / 4)); + glBindTexture(GL_TEXTURE_2D, 0); + glBindVertexArray(0); + + glDisable(GL_SCISSOR_TEST); +} + // ─── Key callback ───────────────────────────────────────────────────────────── static void onKey(GLFWwindow* win, int key, int /*scan*/, int action, int /*mods*/) @@ -1097,15 +1289,15 @@ int main() RingLayer rl = buildRingLayer(fa); // Feature 5 — Four fake targets per CLAUDE.md spec: - // 1. 10 mi north, 100 ft long / 20 ft beam, heading south (head-on) → apparent ~20 ft - // 2. 5 mi south, 20 ft long / 5 ft beam, heading south (stern-on) → apparent ~5 ft - // 3. 4 mi east, 30 ft long / 10 ft beam, heading north (full side) → apparent ~30 ft - // 4. 1 mi west, 100 ft long / 25 ft beam, heading south (full side) → apparent ~100 ft + // 1. 5 mi N, 100 ft / 20 ft, heading S at 1 kt (head-on) → apparent ~20 ft + // 2. 5 mi S, 20 ft / 5 ft, heading S at 20 kt (stern-on) → apparent ~5 ft + // 3. 6 mi E, 30 ft / 10 ft, heading N at 30 kt (full side) → apparent ~30 ft + // 4. 6 mi W, 100 ft / 25 ft, heading S at 5 kt (full side) → apparent ~100 ft FakeTarget targets[4] = { - { 0.0f, 10.0f, 100.0f, 20.0f, 180.0f, -999.0f }, // N – head-on, ~20 ft apparent + { 0.0f, 5.0f, 100.0f, 20.0f, 180.0f, -999.0f }, // N – head-on, ~20 ft apparent { 180.0f, 5.0f, 20.0f, 5.0f, 180.0f, -999.0f }, // S – stern-on, ~5 ft apparent - { 90.0f, 4.0f, 30.0f, 10.0f, 0.0f, -999.0f }, // E – full side, ~30 ft apparent - { 270.0f, 1.0f, 100.0f, 25.0f, 180.0f, -999.0f }, // W – full side, ~100 ft apparent + { 90.0f, 6.0f, 30.0f, 10.0f, 0.0f, -999.0f }, // E – full side, ~30 ft apparent + { 270.0f, 6.0f, 100.0f, 25.0f, 180.0f, -999.0f }, // W – full side, ~100 ft apparent }; TargetLayer tl = buildTargetLayer(); @@ -1115,6 +1307,13 @@ int main() // Feature 6 — PPI cursor CursorLayer cl = buildCursorLayer(); + // Bearing display window (new suggestion #3) + // Reuse scope_bounds program for the box, text program for label + BearingDisplay bd = buildBearingDisplay(layout, W, H); + + // New Update 2 — graticule change notification window + GratNotifyWindow gn = buildGratNotifyWindow(layout, W, H); + const float ppiR = layout.ppiR; // NDC height of A scope box — used for slide animation @@ -1127,8 +1326,10 @@ int main() GratPhase gratPhase = GratPhase::HOLD; float phaseTimer = 0.0f; - // A scope bearing (° true, CW from N) - const float ascopeBearingDeg = 90.0f; + // A scope bearing (° true, CW from N). + // New suggestion #4: temporarily locked to targets[0] bearing (north, 0°). + // Will be driven by Control 7 once hardware is available. + float ascopeBearingDeg = targets[0].bearingDeg; // 0.0° — north float sweepAngle = 0.0f; float prevTime = static_cast(glfwGetTime()); @@ -1236,10 +1437,14 @@ int main() } } + // ── New Update 2: notification window above A scope ─────────────────── + if (gratPhase != GratPhase::HOLD) + renderGratNotifyWindow(gn, layout, sb.prog, bg.textProg, fa, W, H); + // ── A scope signal trace ────────────────────────────────────────────── renderAScopeTrace(at, layout, targets, 4, RANGE_CONFIGS[curRange].maxMiles, ascopeBearingDeg, - sweepAngle, now, W, H); + W, H); // ── Feature 4: PPI range rings ──────────────────────────────────────── renderRingLayer(rl, layout, curRange, sweepAngle, now, W, H, fa); @@ -1249,12 +1454,22 @@ int main() RANGE_CONFIGS[curRange].maxMiles, ppiR, sweepAngle, now, W, H); - // ── Feature 6: PPI cursor (slow auto-animation for test) ────────────── - // Range oscillates between ~15 % and ~85 % over 12 s period. - // Bearing rotates slowly at 18 °/s (one full revolution per 20 s). - float cursorRangeFrac = 0.15f + 0.70f * (std::sin(now * (2.0f*PI/12.0f)) * 0.5f + 0.5f); - float cursorBearingDeg = std::fmod(now * 18.0f, 360.0f); - renderCursor(cl, layout, cursorRangeFrac, cursorBearingDeg, W, H); + // ── Feature 6: PPI cursor locked to targets[2] (east, 6 mi) ────────── + // New suggestion #5: cursor follows one target; not free-roaming. + // Only draw when the target is within the current range setting. + { + const float cursorRangeFrac = targets[2].rangeMiles + / RANGE_CONFIGS[curRange].maxMiles; + const float cursorBearingDeg = targets[2].bearingDeg; + if (cursorRangeFrac <= 1.0f) + renderCursor(cl, layout, cursorRangeFrac, cursorBearingDeg, W, H); + } + + // ── Bearing display window (new suggestion #3) ──────────────────────── + renderBearingDisplay(bd, layout, + sb.prog, bg.textProg, + fa, ascopeBearingDeg, + RANGE_CONFIGS[curRange].maxMiles, W, H); glfwSwapBuffers(win); glfwPollEvents(); @@ -1287,6 +1502,10 @@ int main() glDeleteProgram(at.prog); glDeleteVertexArrays(1, &cl.vao); glDeleteBuffers(1, &cl.vbo); glDeleteProgram(cl.prog); + glDeleteVertexArrays(1, &bd.boxVAO); glDeleteBuffers(1, &bd.boxVBO); + glDeleteVertexArrays(1, &bd.textVAO); glDeleteBuffers(1, &bd.textVBO); + glDeleteVertexArrays(1, &gn.boxVAO); glDeleteBuffers(1, &gn.boxVBO); + glDeleteVertexArrays(1, &gn.textVAO); glDeleteBuffers(1, &gn.textVBO); glfwDestroyWindow(win); glfwTerminate();