From 36a2ab8f9a0f0ecf9ef8665503c441fb6362d31b Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Tue, 8 Jun 2021 17:37:28 +0200 Subject: [PATCH] update analysis script --- matlab/identif_analyze_all.m | 51 ++++++++++++++++++++++++----------- matlab/identif_measure.slx | Bin 38918 -> 38910 bytes 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/matlab/identif_analyze_all.m b/matlab/identif_analyze_all.m index 51f7159..ca258ff 100644 --- a/matlab/identif_analyze_all.m +++ b/matlab/identif_analyze_all.m @@ -9,42 +9,52 @@ addpath('./src/'); % Test with one APA %% Load measurement data for APA number 1 -meas_data = {}; +meas_data_lf = {}; for i = 1:6 - meas_data(i) = {load(sprintf('mat/frf_data_exc_strut_%i_noise_lf.mat', i), 't', 'Va', 'Vs', 'de')}; -% load(sprintf('mat/frf_data_exc_strut_%i_noise_hf.mat', i), 't', 'Va', 'Vs', 'de'); + meas_data_lf(i) = {load(sprintf('mat/frf_data_exc_strut_%i_noise_lf.mat', i), 't', 'Va', 'Vs', 'de')}; + meas_data_hf(i) = {load(sprintf('mat/frf_data_exc_strut_%i_noise_hf.mat', i), 't', 'Va', 'Vs', 'de')}; end %% -Ts = (meas_data{1}.t(end) - (meas_data{1}.t(1)))/(length(meas_data{1}.t)-1); +Ts = (meas_data_lf{1}.t(end) - (meas_data_lf{1}.t(1)))/(length(meas_data_lf{1}.t)-1); Fs = 1/Ts; win = hanning(ceil(1*Fs)); % Hannning Windows %% DVF -[~, f] = tfestimate(meas_data{1}.Va, meas_data{1}.de, win, [], [], 1/Ts); +[~, f] = tfestimate(meas_data_lf{1}.Va, meas_data_lf{1}.de, win, [], [], 1/Ts); -G_dvf = zeros(length(f), 6, 6); +G_dvf_lf = zeros(length(f), 6, 6); +G_dvf_hf = zeros(length(f), 6, 6); for i = 1:6 - G_dvf(:, :, i) = tfestimate(meas_data{i}.Va, meas_data{i}.de, win, [], [], 1/Ts); + G_dvf_lf(:, :, i) = tfestimate(meas_data_lf{i}.Va, meas_data_lf{i}.de, win, [], [], 1/Ts); + G_dvf_hf(:, :, i) = tfestimate(meas_data_hf{i}.Va, meas_data_hf{i}.de, win, [], [], 1/Ts); end %% IFF -[~, f] = tfestimate(meas_data{1}.Va, meas_data{1}.de, win, [], [], 1/Ts); +[~, f] = tfestimate(meas_data_lf{1}.Va, meas_data_lf{1}.de, win, [], [], 1/Ts); -G_iff = zeros(length(f), 6, 6); +G_iff_lf = zeros(length(f), 6, 6); +G_iff_hf = zeros(length(f), 6, 6); for i = 1:6 - G_iff(:, :, i) = tfestimate(meas_data{i}.Va, meas_data{i}.Vs, win, [], [], 1/Ts); + G_iff_lf(:, :, i) = tfestimate(meas_data_lf{i}.Va, meas_data_lf{i}.Vs, win, [], [], 1/Ts); + G_iff_hf(:, :, i) = tfestimate(meas_data_hf{i}.Va, meas_data_hf{i}.Vs, win, [], [], 1/Ts); end %% +i_lf = f < 250; +i_hf = f > 250; + figure; tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None'); ax1 = nexttile([2,1]); hold on; for i =1:6 - plot(f, abs(G_dvf(:,i, i))); + set(gca,'ColorOrderIndex',i) + plot(f(i_lf), abs(G_dvf_lf(i_lf,i, i))); + set(gca,'ColorOrderIndex',i) + plot(f(i_hf), abs(G_dvf_hf(i_hf,i, i))); end hold off; set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); @@ -54,7 +64,10 @@ hold off; ax2 = nexttile; hold on; for i =1:6 - plot(f, 180/pi*angle(G_dvf(:,i, i))); + set(gca,'ColorOrderIndex',i) + plot(f(i_lf), 180/pi*angle(G_dvf_lf(i_lf,i, i))); + set(gca,'ColorOrderIndex',i) + plot(f(i_hf), 180/pi*angle(G_dvf_hf(i_hf,i, i))); end hold off; set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); @@ -63,7 +76,7 @@ hold off; yticks(-360:90:360); linkaxes([ax1,ax2],'x'); -xlim([5, 5e3]); +xlim([20, 2e3]); %% figure; @@ -72,7 +85,10 @@ tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None'); ax1 = nexttile([2,1]); hold on; for i =1:6 - plot(f, abs(G_iff(:,i, i))); + set(gca,'ColorOrderIndex',i) + plot(f(i_lf), abs(G_iff_lf(i_lf,i, i))); + set(gca,'ColorOrderIndex',i) + plot(f(i_hf), abs(G_iff_hf(i_hf,i, i))); end hold off; set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); @@ -82,7 +98,10 @@ hold off; ax2 = nexttile; hold on; for i =1:6 - plot(f, 180/pi*angle(G_iff(:,i, i))); + set(gca,'ColorOrderIndex',i) + plot(f(i_lf), 180/pi*angle(G_iff_lf(i_lf,i, i))); + set(gca,'ColorOrderIndex',i) + plot(f(i_hf), 180/pi*angle(G_iff_hf(i_hf,i, i))); end hold off; set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); @@ -91,4 +110,4 @@ hold off; yticks(-360:90:360); linkaxes([ax1,ax2],'x'); -xlim([5, 5e3]); \ No newline at end of file +xlim([20, 2e3]); \ No newline at end of file diff --git a/matlab/identif_measure.slx b/matlab/identif_measure.slx index 525c71e35413567c71575503ed572484da72c496..39d36e39dd605c8568d16701b2548a41457358c3 100644 GIT binary patch delta 15203 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ΜzA&xx;is8|ELmAC_W2zfZyRDZA zY?bY<5YIz`P?Y~WNkCi;pZA#x{~mCs9{xBbR*OiIo3wW6*bQI&q1dNxX^pH3hYU*1 zI-(byz~_`L^y-lwa9}6Ajm>Zli7;BF^Q2Bx3;6T`QMKFa1d@5^y)vR&kQv9KWfH9{ z-cRlL8OQQXlNNP>D#D^~xf;Dq?({vPRLMOdq%G7*F2};krvaf1n6FX9bPja;{%j?S zIaFK~ug=Ek5yigWr-q%rPRQKYu%tHCRORuF=kuviatnzHPjIwHyX1ved|ItI9xe=P zNg`Q!b2y8PKA{~Q)cj91+a^#`sdCglgF;@gi@6u_M0my9a2l=}d zp7FMowUk?k&vD+}RsO0p&tl)uvIpL+$8ve?ZME5YnN03?(6P`@MhoCd0x$fmC(1g{ zsOfQ8-;a*3p$OZq+|0+tGM=gjRTFeC)>EaTDNOKXte%^Zu)3Rs^1Qwa_8e-dg;x){!XS`2W4 zLtjyd+AI=cSsQ%bmK=eVT(3p&^Zs|vk9gAKr| zR(r`=HzH5#KB2SNaFw6`5@807`>Uieiafkwn>M?hvG?SJ_zB_0#-|O;l*eNh+KEjM zlqxn|=u_Isr5(Zy)g3~R+cy_&J60Wy8=dQgytGz2GZS>fKmuSKMrB}Rt@;k_9F=Bp zBN}4T(FZZ&nqchry(8ah9IKVXnPo9o5!>U+)FS<6K6BE}HS_Q>EHkD!2Ty&9P4*Zr zTc`=u<&jHX+FuXNvhf+5^sB}aCBu{G6qF1?C;7+uLr&rfk%8BHQ1dxIgmE&qT6=G` z(F+ZnJd2_v2t9#i+Qnp#KjYgtS7jD^IiEE697GXX+{_8TAVb}-Drhent3cVQZ$(ke zA60kp(#ptOj^f__-W*s}66FNN%wc}nS-|6*+rIsrHNBxk=f8pM)PVnrDYnxQrJAVl zM0dBcC6n^A-d~&ZLWZ|TTPkyp4z0@pvav`IJ1k8uk)01%Uy7m{Mu&{~S^Gw|&w@$Q z;@%`~`rtlWAqB_dt_Svr%1$9)rUv}U zd2TpM7VIjEBJit=J(+yUt_)_0c%d$=`ZPtQ&eMV>OBG|?!FBtaOAKg3I!$S$;*N&h zoEsy9TJ#!tYym~=70z_0?OGxA#>_Q5PpyxGso}b4=6ojzYx#&ZPsJ>4Q|8US04YI2 zGT%-9V)8w^LR}HVmyIDE{mbZu7qYGpH7X~qQ6NfV6pLAv#C z%nV}<1?g5xd{A;(es%5YjmOs|KM#TN`Hq6R)>HxDr0+@#3{rDDC1*53wfcn+h@l|n z6A}uEm_{N^2+P8(nasdY$=cI&aSZ62k|L@PNwGk<3Y{5N!b^5|-xXkl>C9@v)LJ&< z$ZS;Yl_>#444Z~X8to$k`2qVLn`e>g%gr2JM^+!$n+>z5Fb=bBOb z5qWd!wR31!$4fWP%(M~>$xWK{eOyS_6Z0wPl zVm;YHkM&@*oqn-Gwh4Vr-$xPHR5L4g+y%>gPw1Rz%+}F^!ZS~(EY@l$Yq5vHY5or2 zEiR&!*p7UYwHhxLxRh1FZqAqkxaA4wsF&i!O4ytj$v+@Eqn-*gjW!dlsfK6TKPPMUyZR697ZuL z{-WFW*Y8_60|%g9S{`O|`I;#-*XvX}&vWK1m*q@^QJ#bE*xD<7>BiQ@A@dCYt@OrK zh;9a+k!X+_n+eK7dspPzOvgpAUJSR+xVr|eHeg~LA$RBv5hK;#7#A$ea+qz$1}{9^Ca(HgwbuO! z(r=P0fFy;T-kV<^>5s0p936?30?URb&nAr;L@W7Q81eH8@hEs2Ro8^-){#Iw9OGoE(Fj zItMo(*Rd9^Jtj#mFH6W|yCVgYS?sVj?0b&(g5ic)#EcF4eS_lymA0g6`lR_6VOii( zv<3(~K+9cYTo6RsUzUvrMKvzimV-e0{3kczOetGjA*+UTr<5JauSaTs(9?(aK#r8jIu_9B@@*b_L&!u#8cpPUo+PJVIv2ulZ2^4+@UGnhMu_{N20 zSTtmH_)x)wI%fF>xAV0OW@MZBB89gDD_D8-n&>AK!rSR5)d?DK4rrdU`!_adClt1b zE?yGaNBxN2I(j$ux@5bjGqO9&I?)i_)Gqez!rQ@;d}jW?gQyVQ8fU0glO(}(Rw9+V zQ7&7;X_S=ap!8_}{x7y$;~hG`UH9jLnYNm$2YffTiLsvA=AkR&XO8WRIpC(LV}lW? zT1K{dw&u<$y&J9vzwv~^eQY+knPZp>d|6sz%mbR2cI)u=RSSBazKvVn0<-Y;_C;zs zHlD6eH&@sPrF3b(534bqCV5j+~<%$&4?!0*uy|f zo|R1tXyq%VxN@kF9Kdp|q#Pv9u*j335o2m)L!xPyNuT|#3PdW{5F}R#C=i*0_)>8q zf@-AlKA>Jcb$@HVLo37pLH2#b!NlvQ7({n>zSVxc08eC4iI_7x=T4fkfeoxz)st-D zj4$z^n-1~{>gl591?Q>BIwsS?K@HW$L7UW>9ot4JEvGwzhENuQX`6!5oHM~gR3LK% z*#6UeMf9^zz-C*Zo^`gF&&-UY^P@K*W|=qE@uWp4TrUu3Zk_+6AZg1G@wIdvioph< zI^?(de^xp7t0j_11$dDo=*XNHnmOu*ih;B~AL?n57$ngMmWgD|Fe@Q*?ab=Yl>=b8 zW(yTW6~HB%(y^rKe43fx*b9T7L>1a7Gx3lgfLONuBrbCq-SFiAFDh84E-z)Q3u(Bm zXNY{74V6S{A4J=bd9}rzk+_CL4_-vuLNL-&{lRor!s3>l!*}x=1m-(g0gb)^MEQGw zm_nQH&D1xp-|0z4dRj{_NL-LD`R?G@ssIm)Yv)8rten0)+LP8|Y7DII;A}@s0oe8v z8#gN?OPOEvI83(;IyB4KqvBc(maAT(9H4a=mVmP`sF~hNw;Y6Zps9@YRs%_7+rJnt z>J9D}p14DVVLA5F^SRg$lRaF^_fpwFb)j_()$445>K#tG{X810m&?d>z zIr`r~bEuOIvvY6(rmSsa3tZsZ_H&sh7onnnmG2i2@-H?*=DB)J2mSn6_vcEdIouqx zqc0o6vs!(XM!(_vjsgTwI+@Nk{?hZ3X5$<2R+zv^eXoXk!CAtdh4TR6e|eN`?e#kC z|MDmf;1mCU9;N@EM}da=KOO~W;0cfM&!q$j?U7TMU;dX%G5wEA8Tfx)iVu~3OXcN* z8?hQIWmf;fj*cV28A;nnfaza^E1GTi{YO~|uT@O25t!G_mDawx4j5Z7g7(Gb?7mGH zVcuAmmtdd}tlkSirQ2354N!dbpC?1L-gSr|&vzt7om7iBY<@X=KP)GjTzykfXa5Vscm zQ~)jDkYyOG>2#}o3D<}|dx6MB{@AgeX5tgu0`}6^4iLMQh2*M~+kH?yjXXUoXE;}Z zd&nH1Surw#%S3iDkD)5s!BhdLoikJ4pS5y=nWBw_OFL0rNAqj|jk**@joi;z6}_b0 zF_cvoR<8i=%nywdu%yh6EPWLKC*uM$qXmY14I2C!hFlx`ny3o!gJ8>??U6dH-wUIp zMSDN7xrJBO!Q}+#6~|>VN+m@?yc9-XRdJ?0W|=itVjqw%pK%S;CfH;^WM|dacW`AL{$I)cdOJ>EQX@&}rW5r5KQX`T3(Z}?{RE@jDn$6^$Ph%hn zlw)QxX$kv!7ak}A-I8Ak&8H9fgr-K$ur?10H>fKQ|LacC8m?o4fHeIQqW^8UYK8bY z3{j|WCQMI^!{!udckfR=K#R9brZ+5>_5Y}kwNA#0sPnZ z0KR2^GN=B;CzZTGR;0+dyKAhheJ7i;pobM5w6oQ1XP4@!gW z%W@WCTMAQjDyX9YPi8DPc=qaOiZdC+Tl%v^fM9gIgmIaSi#+_LUkaNXHG5{Mqp_db zb$9 z1)f>XFo_2NW!hK?+bUgnsm9>F%MYxnv4PCi;VQgAd@^+~>UN%P$Mxqe>@f2bPY;?i!i@d-oCn?_PVi$lcJm?Mjy) zm>0OCykpP;%WH!4q^rRxRNaE^+@Hp&zwyZd2F$>Wwm5?lK2gy9r-2!KI%9q64igFu zj)&ov8SFeW)3Gm&G?uEyvWyUW!^S)329qlxXj1&0)VfKgN$*Jn??vb`8nFXOn4B>==1_96S&x zL(J2jWo^*3m+X| zm z?dlt4GYg3f%e(^0wINd>`xFNFAO`1{`iQ~nAb@CMcA5NSHD~4h5I9*Q1&tvSZsBuW zkoF&m$6e%>@;LmC!O4*&q}_5{dK}1P#|3d@=?iaX zCh6LRQWmV!L1dad4e7MPsT*1=t=7StFS`xAx9iY`H)_V<(1)Um+!_bZc;+}+OMa#v zO=deYhsV^!Q0ys}Yi7Tl=hF#{@M>WNw<{V#fA*pWqH<)1h@!l=wi#fb_;+CnI zRK)S%M6$*WLq`Ybnn@AwBD$zUwJPF+Oq0jufzEXXV)JE+&)`uuh?zZy8z~d$_yK~@2E(u_|CHQQ}|*_k#?75vqpoidz`VRK)7;i1Cn)>rmBHSvq8gJ znn`oL=7L$hxPI$Q7g4PvnnDt&zH=qpX9Wn(7Rc<^CAHum7?M= z?Yw-1&Q&iIGhbM~vhVUCN4H%ANkb4K&Le#p4GP(CvNc=gGh$|a34V;Le=%PhMk}m{ zbBK^xv0!LIKKP}6mUg;g!_e)`@N2|8M`>SujhAXNbEd&9o5RLO#lT`?cZ`=SzDF^% z`-ZRpLE)L%~nJkbYjTglpm z8^f`M83PQ~5+FQEOeXZqrSQi2o#VLEJVJ-zT}xTl&arZ=rUendMjV`>aLT zJWGQMEZI=ts<-c-h!SQx`XX+$-x*8OpTBsAM%)(_8Q9dd`9+POhAN7QGd8Vf!sWj5 zFC2;!acWmTnp+XJ*^!%oFX5ll#tF>#3N(Um70oFSa;L-ViG9L%$0W?PQP!~DK28pS zgZmy9q2Lj1b>%K23Jq2^aPSghC!$PR=P*}SVfbL5s{%32B16bM3*uIi5+$LN32g_U z_>)j8gf{<&w%7nrrf4`XJ+P~hV`W3T04RbaL&66DKz0^T{}ZFU7ImifQaS@lwmm>fQt0|_*Lzop zynxiBJA@eM)JflVkxz{g(N7)||24UceCP2`W2J}J?^HNPeRu{^a+LcBnl85MHWN%a zVpq>$q7E&VGIB8`nGaf0fQ_Bz8&?qNnrFlGhviQS*=UA)LWrcr1i<;WZHcT3O@q6?O1Q> ziR^PmLd0U>P=3hkrOh$q%NS8B2%df+J_CIJr00Zc$`pato7E%8x$srd6FQcifaE8! z3J_a$mxtsW$Ka4;p@!D;Bx=yfnB$oLq4<8VoB7*qy!G~{#oU!4+UrgX6v2+_{9vME zXP!go>4eYL+s_+)gu}=UExqN0OA+?6JO8%f->E`E=T0e zF|BVg#PvKgqE|#II82_R7v(=dyLOLI^T&+W1OK^yA7Xa(0r@{!1K?yA8FL2Wf7t>a zLAC#KUuc49q5owKD20*!%YgwohlBq8gpCOPR}G4a&iO}ZV&eXhrkI$2L?pHXnE#>W*7*FMbLdL1<>gaFZz3T57hqd1;!b#Vh)zYK14~*5zgA&#l1V}wW)Orxu^`8 z1@LWEBpW@s#YV|%j&M}wEOVG6clfjT%js^vQO|Jp z=e4JW?mH+R`CSuMB!N7_`1|m;P(B$m;_z|dYFL49@;tN@TtLsaflrYsga*H3cE7Kr zwrW2aUXo>Zb$0eLiC6ckkFj~p@rj`FIi7_@uz6rQP2OkGCX-GH4PTd_+PD6a`cpJh zkNJgq`j2Bb{{otqg9yF;uB<<5u7&m<#T|b!4VF9Yes5SUIaXvRM zd)0Ggxp{TvbPg#*-@Y)D|mnb9OwiWHf) zd2zyG;13Sy5LmNmQRE4 z4e(hMnIorfF(8ua3+eG~zDl9nNo(9Pq{ObqHD0fT(ex=VL4=GzpjT*pR|P>z`9kpsSO zg6d9ixNaN}^UWy5^yEX7jU?2+LW#GSi~t>qZ6*j3VFpx0Bw~z)pTO<`cb= zy|1Qe7mLqHq#!BM!G~n78~rtiFgl@hY0O<+mHhqUjJi>AuT=|>w+jWcUy>U0(<&-! z>bTo|sP%XPyrdd&VxQCQX%`eHN!`)svloE+bA4f3C8bK!G`E81NSRUv58;;kvAsM! z^K!N|$J;r&6;JV~pN>elp!qXY(^cz0XU$(nIsJZ?m$}`<-K+U>uqoL%Nk=Zg+}cb3 zrSaEy+$zgbRkv3w3^zj?(ThekN9^l0~Fv|1G zNA@3o1NlJ#j0gvTg^4Z4gPADvzXRuXxk5w!u1xP6(O3s_`|N>ZbR829XsXhe1eQp( zy=}*1jIOv0Npv-ckDJa1+!~g+Ey7MHSN#vXO^-! z7H6{syHvfoL(fYkiK{S=pt^Pb26L=?>DA@TkFL)VkkK{P~SHq5N$F6**~eoZL83JFb_AF zmF_>>|1BjC{~t!bWTJmjni%?T{H`g9<&{b+iIa}Jw z(O!{_+XpQmEm=)Q+93&dtgT{WJM)~S33`pDFa{RTPG%i-GTGmYqAX{`+R*;H$^Q`r zGnxV#a)yw&0qUs&r|i?7)2$@fu#Cyd8`_&E*uWmW?M#9e-0S-WX~V-ozN0ZhA_2ntMy(Ht7bQGV&;qhC z8Lar7lht7@0vkQ43?_vqN#&##d@&s~bS4H$|sxck;lvw3pY z_k6vfs2D^e4BD>+TOR`bo;h6d@|{kWm6~qE5jUcreY6gltij^G zs;a~52I+Ms)!pp}Hd9;G)KQqFI#xQHh;zKZHWCudD5f!Zuy#g&IFSSwL7vlIr8yYz zGHQ^zuZeqdtzGs#lCxf^?z_kFS!eTE*2v;`i16Uk>2+nrj$-y%-}t&c4si95P3&U0 ziShO$m-rFMie|dN)=?#isE#x=M!J5E$?bpYTklr4SzXXLpWR<;&eG|P*zto=%q3Q{ zH+Y2K_E?O)zQ<54wi+qJ^pnqklVOJ>)Rnd zB}QIt=QhPOlZh26lkBYzw~@E73+c@-KXej#=wBDl2)Y!~I6dNqXETQ>N(^40;5c1D zy!9}u$PyTFjo$nA>~TU=;M-i#<>B8@G7Mwm7M+Zc2eE}eLEGWb5I`i@B@zM0-@dx84#uCpzF^a3x0l4%=Sg-z4oxSU zEq^aB{6)<$vGIpr3pNftmL4d{2a}4RjFUo1P_9KnLG*P9u>x-`D2+Xn!tugvOIaA=7Qh4h?{4 zBP&7&C;&>hd(jsyd7Guc`iw8L+Y6!2STkr@kNs@_PCjvLmgQcX$L`Pd^rL3=t+k4=zgaFuZA$Kw<7g;oGRswaFO^zTyVo@Kf_^1}&R@tbdL9qld;w9}!oMu1|dyV89UuUY5Z zoWKXs@)k*AZU2tj=;!qMKM#Q87lwV}qT|etkgh(QYz;!a%O`%LJ5yLG6d>Z_!+4kf zb;ax6DTQ|IA&0wWAj(&=;LBOZ)2W5Gbq{U+`EAKN-OUo7<7MDC7Ce(x<@mz**o(r> z6tHXKW~X=aGpnU)_)ZZYi%Z>C8qoQ6Aed&p&8`rx)ppD&^!O0gUjr;U?qO^pBt)o* zXcLPOZWcPHH*(WAZp+3O!p@}sTfmz(z%|?S69k}ajB((NgX1|t*7mP3@o=y?m&fom zDxwh_XV+AFzWChVax5gvDDIg2>pXLcDvTi)JcOcfWzmgbzL<=iXpm)$Rq9tJ@FKbt zCdJSn5|@w2}^sWcX}aM=KK_VfTqLpt*B>(S7=3z z54LijaZ56yw$fx2o5Yh%4=$M&9PvAWtUyR*(!ZfcHzc2T{7t^c(*e5t{f&@%;2wDt zK0(JbtGZt>YB3hsBos~Mj(Y5F973S~UV|HrgC>bAfDths$_~)1(cNl)@~S?)aP-1p zp7eu@jz3_?WLxciCY+d3=$Vqd!*LdANr7Mk^1y3r6T~z-N955jh?7{k^}S}*j*4E# zEP?-Ky$5WZ2}|mg&ZHYs@^KRM=bT){?9%H)VZ{VS^Kmk#8-DdH#63uTb(hF;nBf#c zN$o@B^sSxXLje>yj9H=Vqmm0$lkEtAWoVwgG_mnI5=Y*VkLoyai@bdF888RZw{fuQgxz|m5c&C#r#schX`@B8H z(!7?H-WH#h7Nan_V^t-UU^G5%)o^89lH zf>v&nBDEk$^Ilvxv+DHJ-!lLOjZo2(Y0`gYSO}i2!r)%R42T!nI+|-*n)f0bi$$-Q zFuvNe1;|Mv`8cmu&AW_ONw==L;XQcv)I=`THx@VzET{I`1Y28q`F{9Llekyc@{qO?H{T1*TSC z#fdV@JJ_unMVJ-+d7N*mI9@B-Um@kB0tcrDfj=L*RCi0QTjuWx&eEj``SWeRl3CTK z5Z#A98|6odOZiXSmOdFqaW(`x4m)*6TA(QhzvQ%gB^OIZiB0{X8Vzvd!u;dr9N!-p zuYI>~%ZHD+VrCo~>?}CLfQ32rgw`nqaU~#vH27sZ$0kQeZ1V&>>gMg+gd-}gKxjy| z4GhrDbIXf&`^sOj7KVM6#Xh?&5oP<@Ll|c5k{jaL-UU5Dx3F?m5Y5>&oDUl<2?1#^ zJ8%4>OvZE}UCcB&57Fkw#^5giiijaEeXp_D@`$mACfyJ%=#0p52?C8pv}AL})7KrC zR1IvL7T*yBWh6;m@4w|yk>K2C*t1wu;H4%C0p18TEYLeCs3)6V;)kfb$Vm>GiAy|F zu=wPjniIC9k>d;+9XYgAyzEWM5h1e?`j? zk0`lk5Rw746!6Xn(0b91x!@J<0e-z(ckA#VozyY0CN?;f3n?|b%imVei(0vEfI#=> z8xc}vUg<2wx&cCm7LTpdFlkQYm$3zcJ9(8>t}JU6rIHLr85dTIXKnWVp_yuDZ@iyT ziirvP$T=;gAQzBg|8IGGnpwx;e{gAY z@&vh0gUTy}KFX+F^m76wBGirf4wyP+vaNLX;JO)Ph_+CHtgL|o=bGZ=FX0&(o{^SC zHagr{Bf{octVHFNE#NL{zAi2`9O-5sL=qE|4V@^h?9h&X>3LmrA9}`f@2>0%IuHxV zpx>tRJ76x5WG7YuPVC0#?_cFxkq+pTn2sxR!-@8^mCj!QQd7?2=dU(Yr=DE6I8rFBH;IO`?8{nH53h9v{9vmO7q;*S5* zbYHY>+9q1AQH^Al2yf9L?9H?Bs8yAPLgTYsN zDYXr;ut~PCjs9zs{nz#ZhAt#pun7)=fm3ebfImlb(~iO4Bc|T`tf_#WE{eMl@s1WEEerYKMnCm7C%ERSj4 zD6jA+zgWdBrbLAp1lWI06*-Ok=7b)ZC&nh2jL3i!UP~4%_LqKv?oz}$aorlbEq==y zwgpcJ=A2)`GF|f-t$NZuH8ev}DNKl-7IHDqxlp4VP-vcFn9fR`7uG0 zo*_gAZ5kxcGu7gSIr@-ptZfD7WI=oC7r}oL6p&77)X~!^@aTQvdTm>{ zs2@|YG?ufHFFI>q1;S2u@aj>h^NZ)8{V-oFKq}rY>WF0<(}b)6p2&lR3F9~bXz=Q^ zJ}Rsk#MXv*A^1C9GRvpzhJms4e|{#ltCgX4*exo*VKNW3qx|X-pp5j4?xy(jrk!TmyVF z!%B>K#nG)bBnVX{4yS~ABo3RjiIHu2g;I1-hz9f&;a*?|DjUZ)Jjv2m zId*(_x7>eGwc^`GIUvwa-eKBS)tEK3HRNAYwRUBk&0blr(8srk<1*obmhM_a zA)Pr(Ye?^wtbJ$~(j|<(v5a#nA&v4kOD{Z&4P!Lx+mg$kdPl-aZHUfD*0$WQtk*G5 zc<@9#pm%5Kf*GbbU26(i(BmKC4?PZT)Te2N58quZ>5auGHAEKBRp@vzVe2YVC3(#9 zlbKbL;{w?%qPH|Gf>FNKWQ+B9gfW0;dgYmka`wlINmlty zGwY2Tl5|ys%!q`qtZVIbpwFL^dMh^RbgXXAfG;bSccb|om?Q8b6Abe3!&I;6{+kzV~c{CO$xJA5tkZk(4t9G40?Ig%#frr1X$#)>mm#mkx! zFoQb+w^VmkmQ~|97ie)(^w|>Jq^_I_qE{ZBA!xq+YK$R+GgsZ6UjFchgl(8nXGg{< z3~-j1#<@`@Mhy8IYd}v$kD9jx^*PSuyVnlehmA>v@XT=OD(o1BB72!qN~M_TGE z3n?zukNqmx^7VO59=)%55J}7!Yt9nI(>m3Ztza)4xP~GhrqN9FjK%mVOh%%xE@KbhSxy_#aqY?M!D0Le__pV|LbtJ&IO+aq;h^KG_vh;~snjWm03Uvv|AZiGTHG2fuXGjeD%2W5U{6Jd?LDdij}|$74Aex?I&KTNq2y`z5sA86DZ&6 z+;!XfG`^^yEps5Bo^INwKV<*W2^q9OPQjU%>$T+(Aa)J?!NqO3;y8qrA#ehVjOc6T z8W$Os4o;;MosNp1T(b+O9vOwNM{Tt0%y6R%TFuqa4bIV}Phb>b{_L-K4%8&=BAWW* zejHrYVCV@-p84nur!j(|($|Vhb%|HVaDbqsQ>ouoWx;3X4L`Id)+yr_>__G}_4)Po zG5Zj%4?Sqqnm2I1fOUR{CI|Q%HIKD%^*In4~suRgM0`Z|;zX%^i zSZN$!2CRY+r+MWvkckowD^kWlNt-chbRQfGep8G|*jtwVuzE;MBR1?SpM@#=csyP~ zsf`lw;stuy&XL6HH5&Uvn)hdCzoXgR;*bpchLLd~YkcsYN5q&jFp-&l*BZPMP`&@B z##ypQ*iXy)xjWf_cONLTR$uPd$5XnQn=@g6=H~>TXVs0j#3)M_^RwqX#SN>YHd5BB z_c-P?dhBam*M36^x{J*xC_l-%v_&XB;e%-%xa>3ogxQ!Jkla6)W2t4O!hiW3GT^OIq{LeH^W2L*gWo@%TjeB3p||Xq!vzyw zE}K`3JSn3cfT0#!z!^qWlZ$mWx?*n{wmM$ z_V&EXJ%eSr2OTQw=x4WoD=WK>!1>C$gfgQ0Ws$WF$W?+|DB^&@8xQ^-T8peFq~vsR z0EIe1XQTSh9ihYi@V+OkFKM+FVQ$j*nR5y`SzE&j8+D*_v9xWcRH|A9Wmsk0upm9Y zK(|w>kxIJpYm|+A^x+lZd|VQw>}MV%3VJRg()LdRyd90CS5!Z067X9eXK3j|6lXd? zy^4fKeLu(7vkLG9K}yOu$lw09$hwF~yX?#HEF}-b@*wz}38sbi?4?5sN6ns^8A{7| z55Ox3q!|IDdCXa3UnyE4KX{ARW{nkz#3^&=q!uOcRhdvj)b`LIq+x8h*jZZ@x;W{R zj~ZOm=ho8cx0Kh5xPT`DXzG%Tr)ctVx@(CAHKt6dNs%7ha2vFo`UaZBj+uL2&-?MH z?`I+mW+-ZxW@2^FHM)EVkQ?l6?9$ii>~|Z`=K_-i`FTuxS$8=CYF!y+2;I zW6BcadZtY(8@kQw-J5!WDM%v*YA5L~iylW+;KeWaZ5{mbqoIQ%TP6Laj{`$x6dHCs zP0Ie|r&{QtxD~%EH5Esl5~@rLl%i{4Fp!T_ZNGfVkcfwWL4QcmV z$FYG=&mK{A&;Wt|RC$;Az>8QyF5K@;M*3FO&wPfmILRCFNK3f0o@Jwp#xovXaod6AH z*H(zHzu{BvOvuJSP>$dFuxlzOqV;AQ$H|BbH7xW%oJqiea9coFJcyB_?A->xa&fh-*PPqqydO z+_#k}CUqyh%6C$0rIh!K9*DaJ;?;gV=g$6iRoj|)JI=vIQqG=6oL?wXT-nXE9s>Z$ zCMOj6AH%$R$t$@%^VGfG4|ZySIowFy$uZJo zT9MOR%(LaYutXi}4Wj%JJrAG-_0AtWT&$<^&E+>$a4?@l$elw%4HwQ*Eeh^nqoiD0 zwKxe44q2@Cxo0C&zMez5A7n1=f!cuFDk-rqtGhbKZXTYutRee!At;{av&z@$vlOAV z%Oc(OTmdB}*QG2CNDVNeKN~D(I3>+!LZSHQ*Yt;5qfD5q!H}`03gebMeQ4hs4Tea@ zvw{iq*?JO;A!>dYZ$W)9ck9Ewy3aUvGFi76B&=Dv6j!WZp!D!*^*W&bop%B(t76&i z9V^o`O&dPbE`Y?dg3mDAkNHQ$gZ#sWU-d=F+pumVWDgC7(k;&WCE`)zJ}O|B#{ZEK zP#;23*Ws3CPv2(9Z;xi4k>nJYnzB~!Xn}&K@|C$O9Zbig){_WKd1yK;8@~Csvj%2q zGth>t81#%8?=(gGkON4Q6*vN@q+b(By*&Skdhh<`3W*yZvUPhPrk?s_O;#DjjbIBK z)`Of*!73p|>OE#6=qnX)zkiSuGI^WE&d?$C%_lf{+(XT+V>3coHABZYwgPK5YH8 ze`J7yzbE2$8YRX9Ow2AH?AO#&))5@_@T=fCFaLDRhC+0HBixlt9J_NaP2iQP&j@(s zZ^yW+c9CBOaH^^*xVD0#b#Ct}xmdybcicFIj)vAp%&`WvsnYh z)b>+CZBkw6BiiwWZNgO5ZNdcCIA?8JR)fV$op8ofjb=I^n-zhj8+i~$qq|?L{0z$) zv!Z7io?7M#h=#Q%9Z+;}>zo`M=(l)Chd(_ODipk^nT zSdT$s4H@HrLt?E={|Qb6HjL31j1(GyGSXCkRl{`mAp&~1qFXSKBI}~RieP|ilJ+? z9FZ>j^p!>BaN)vax`lfC$%Vu`zQE_I33e>{LIoYrW&Sj>^E16k1|y$Uro;I7BWy~o zcH^=%NGPM-ky}M`ZvGWFKcSMtpSzX)%2gjz>{TM&*NR%fS86c0x1F2(^2|E^zD4Kk zbEqe7n-#8EJ8wV6K&?NkN;HdXBI@@;Y~@ekr5?L#TCFuzJu9Pos6+IME|fY#6eZjl zzhajG3FBm#Var&M(;80QT=tHtQiz^SbcuWm16BF&^2x13Yq+s9_+nYz_!;oISt)cl zKY#u=@tb~r9<{P`QlIefbowbAqC;yr$_wX+Vk9)|p*TY>*LIB~5e2q1o&{@A>=?^* z7d30|VS22?I4cdclBkwZ{oYYn*A!-sF_wOZs(SHF-aqeZMb!>Df-`^j+z->}{%v*U`k?X<_r>N?>C(;qnd>qa;xgu*_h zlU!Ad)=L~5$~U(B3jq}dP6vMtZk`38?l2|Qiq8+CIgmN}+YgmyZs_nije7e7c`@OB z8JEPhWVo-=Bzoas0TWp_({U~;L`$e=@V0^=WhQ9I!O~3m5+$2@BFMCPmRZ|XK>1Dh zH_`Qz=^G}uz6wLUAt~!0!)*m8@A41CX)4*K7}0%cbnf44TqL#?O5F@=zcfiws`W&S|C$|Dpdu_@Q@SiCk$1uORfbH^ebE}!o7Es0V?@i(L%dk1XwdrG z3drqncA211c&#cY8g1?&A!iz5(%iPbw53yq>%KH6&)9PS(NYYy_-K6xdX~h;H@SxR z?GDWPV>*KMwiW)tTK2^aZu%nToqdxiODlSfYT}hUW@j*kk5-l6Qs5<#a9$xKC7cNQ zgK%_1rZooVGqNo=BWd;KQvmn&xR}1S3{5Rr4M@6fiHv!9qlbogIA5;?DiDJjD#OW6 zKAP@pj4^-}&BPL@hr9HpGv;Kh45xM_IqA2-ULtq9DB`2_6k27>u*ST&$_5D{#Ian9 zJfx{c>QSAr4?^kTP0%4l3>pP=6=dd!K^Q-dcK)-uH0jr!xKWz9$tI`e!#?3LX9dVe zD70K@lw9d=<;^gW{$`C)Q`uA#d?esqgnCfqJP3PuEbXH&fxDp06KFJ{~n*>Pj<&0R^@$uf^+wA(X)RiImyg-iy8dgwo_4~@u3#oB=d(=NB`I(Is6vYX2wCKBdyypZ+qa^gM55I3)r0bg6lXf<4 z=UJ!^xK_c;q7Elps_}4KN(R{mP>o1AQ0HH_Oo>z-7a<%_y&h>ho-%&rl|XAyxMFb{ zQ~j)rpIEuS$TF1yENZb5;z8LQDpL2dE^Z~z*-lw^5_|; zTXVEG=v*Z~nS6E#H*|PaWaAM)%d7wUh>aMPG4eoQ>fl}Z^eClAj0O}7Lr2rEv;3ub zyk-k-m2I@f>B?reR4IWTTr=x#DP!eHQrwEpbL*opaj46Qc$@HBvJ24|I0uXWtu0^> zfap3)#!9AS;t>AXdaOal2tP6+;E05Fixt2M*^C{ zm+)ilJ{Rq`ak@aqLIcjSid&eiick$`t zM5B+7rv$BDmCE=Cluw@pXC8vs;4S#f;=ZGgj+^#UH3J9iZ-h&cn88A2Lx(Lx*h8y9 z@@xC!2#|_6znqoL_*AF_3sH#G`thHl7D5jX_En{z$KDNkjXHv22+bNs`Ntny(OgEd z*t$7^p3D)DtEQc8BUu)o{^PAmA-p^Eg-jY>;Q~eUY2@ymfZYNu_wsJ(DpChvN6jP}mHf6Q}6>gmVXOhE|`! z)P?OX+xePu(P?`(j_Ri>--Ux-7e8ki)oL9j2R7`^e0#jFMAOf*Fs;R!ec0xLlpOPN zX|U%cLb+kN-dcre4B|}z=^}udGS(!5OqPR)i2$NR`qOQ67{X; zSC1YU#9WX7K@F9XDEN(6`2WKzB+&usZ@i*TofD95<*q`|ITmU7<%3_4uuLgP3lE|k z$Wg|s+URmMdt;QH|1e5$`a7e1e`gf`bf;@bin%v`niJS9&857efxrK@#lS6X*tqEd z>B{_~2SHLL(1Gbr?qwHhuw1p`Z$|fmqH*SaDyH<5F8E>n)l|mnuYx49>6;H0^@Qb` zCa|r3n~*uuo}u*n+tHKdO(7*9NmUt(fpwjh)n2CC%S+~M00lzt+kj3HaEp{c$MEMf zHH6?(N;&%)KrV>L-Z^n)3tQj>&!&&dEWQ90<<0nR9-;SqJ!FmxFzMIUR`dH@r7_qH z^RYJr!sCbfGL3#+=QbDukcp?Wi8^yQqgne-yzzdkdNkDY{weO5JB<=PR^3i#@ilH~ zuhwaI9A(Z}@W|K;qdfaxv$ghl(~Y!4L**KPz5w*bm58neH}Dvc8td79pLQrdn4NL? zskI`hlzf(N=>GSsKSt1HIq1RbgML%n8Ja7x8Y|^W-`pP^2ZDd^l=Ar$;hbg*e)mpJ z^2;*Dn-duSO(+}xAryAFH$w6J51}Bu6AD!3JE7pd6AELC;ylpR+fnHET3&9UG5@4~ zMveS8i6&V+m?iH&L1yX$S~M;O8{cc@zA*_JtW95)Si|+`{e*@zSt*F*g47g@-$woO zEo$Dfn5~!z*v(2!8|$t0pDb1hddp&5=b1G$$OJntmf>6`P8X?NNR^<3OYU{o!E{!> z(@uZ{dm)I=7@XagzICM@%*$RNI3z|K%%yUOS*9u!%r$+Ouj;)_-)SMxHjJ4Z*q6=< z>-hIui8fa87Pyl($#_+LVG`fA&um?QXXW=t^8|0o_iXlNk~}26FMa=i-rhbLSAx_K zk-;Wlx~yC`v4Yt=6L6~PbqRoI`#D7$3zycdvWCW^4F+c+XaMB;vGTjgqF*4F2`KOk z(KerB!MB!%(Zo*81pLo7>A?i7t=gjcwo2IIN0?$J(Xbnlw{B4c&9`oN+di969v$TW z|Iosud2d?46s@Y4`LOxP6s*lYtO6g(WrAqS@HM$Et=NqoSVgD9Di+j~>JAr+2%qny zOa-Z(xI2*-d<{xtb(hT_+eXw2))-5s8Vi#BA+m`v7DTi zPGMV9MUqctqEHdfBb)MLDm@fI)e?E>R}Tw6xiT}sW3<^8$ogeqqKV(vcbP}7wZrzY zDO4y=Oo^2f*p8l3XnRQiWF&iq6A^et9r11E|KzaPH$UKi`e61eX#Y@*EE*yy1_Y}spok*eE?#s8?dbs~~>qSNbjKM8k__kst&C2gV zl`o#rm;Tn8QAncDGXdvz(^r1q3*s^v6}c5ws{~~v3|$!*gO@Ug4zf8Gg2uhhj&o~h z{z2MaU@yRwlra2^BiQA`{Y_W-T{T4}>EcaU6EA577*#xIT%`cNpF9_WC_On(1qRZc zU}6qGmBFkQ*ZB@=V{v~(%AdwHq7#_YmsL1;i-b%_wmIyD|4Ctg|3R99c~y{^E*|(Y4#lW6=a`<1#>$uM5zjD{Ey1)s6ZC{dX zG(Yc~UDAp?Bhd^~G_7Q2iA<*;>X?|1%s&&Bu(pCI?*&^pjH4>ho%%3v1u^sCeCh#x z1YQ$)D8(gc%@#!YM0+oSwYpzjN8j8m6@Tz9G*#lB@|QF$qo}Sa1p>z36zb|WwzmlF zqhLhZF;7%`v~m8n{llQ_Gog@h_v)gq3l)?K!tMzXmrPpLoGaVHJZ2HNxTB2G=g#wO z3Le$OdohVNMYNL8OU?A}{nGOR4b%lt!eu&9LDCX4bc|L((ArTL9fe!u&f~s$6dw{H zkQ+q~ms#_cj34r1`R26rJ%V|+5$vJI%htP}|sQtD3+*cg8&T*`+-?d(0G9E3pwar}AJbRv+!4_AM@K!@ZTxClb6 zL!bdC4(YtaR{d%9z_T$%mHY)oOn}P!hj8SaKKV~{rLbX*9s;_S4om}-KX9j@ShbLB zfzd@R6ma_VxQ!9g|EaVH{w`BGlRKKWBQBU&gbylv><8&&FhSi3|0|<@Rky-DpvC4OI#g+p3iJjmqN5{7MG%@8i_4fj>Fi=5r9<_mC>#5bBq9jls!|C+ z%>K1^*xg&cR=?l-D@qB}zl%Dvi{Lum5NsmV+@&kVaKt=r5R^}2UKYIW8Jl!C)8n1O zHg?aAV#b10Rl~NXXCT2bjZQav03*=hW74+3p&M=lkWxXs+A$Hquq0YSB8pYEPO&KFz|W-1N{D)XYJEM z`G(@pvm+k5YHa*0rq^jBq56+^qMSIB7O6qsip55a9l!%8EzzCDm|-QK6%+>V)xkv( z;xpMGCV}Qp3DJ1-T7%!JBGqQ^GC243966F9Ofh|`>>T19Ds1XJChQ~3efOAFyRO=h zsloe2I45og!9!5=#I^;%L?g(zuweng0$m&-d8%j~LD`5A+2L+ic!kX0zwmD|gDQJU>RZ+(OFY-ce~h-@Xl_wXm}*V!HeBv3mrb|7T3mI1eswyR8* zeyZmek&Paitq!OuP;#QwU? z@iG$1(?fQqCMvtZiy!e&M3!*O-fHWJ&YH0DKUfQvw{mLA^RF(jGS^lo{P!k2pnG9c zl37~V0WNe*+W0~G5u=Cd={Gd~C3y&-wLqeTn)za5iK#=Xvq{7+N1u9UB-g@m?%!@$@VK_&6wsa}By{*5CrkWR&nU%y_ zv2>X23Uc+c16)wvTRHmKzAi=PCPdde7X=z?Vd6MH0$Oum5_;{8$d$J=+SEPA_PA;R z#6rkK_c*JBjS(e1FU4Bu*zvl9L;st>trS6n($~!fR`Vv5WV_{EI*TPNzgG>=_|rnaqf!vre~Jm5f)n0oQGSLteBoux%i3`m?># z@^>?DJ^-Vv$#=7!w@}>{-Xp$ppz7&B@T^~Yx#8jhsvfx!3Ms!k*hN_n=^FE} z_$9!eQ>lt~wZJ7S zynm)NDbiT#P~Y#*oN`{A@C=jtd_0a%Kk*z$U;tQ`jh&qzzrGPmeDB6f|LQoTS}{3j z-8%E*wCGmPT37*xs?jMpnB%X~$!xP+&V%U4@B9W8W}lPLm$}!0j)1)aRuiwqjHv51 zP0NByPNe+Qf#Pqm$c=&ol2N8EkVY3#gSDMw?SJpBu^sV&&dg)JTJL6G^LsU12i#*z zu2W!=X2n2;_x5HVM@6}{iG()AZ&Aa+C)rs`f-1P-Q>Z)1_=8<<07HlClk|wzyQLTC5d6hVP?% z6IwuCB_u2ZoL_i2Mz4{rJ6OXk_zxl6ATh9{oFsQ!rH@-DAGe}BcKpb67A3FsJ<>14 z4Jy_GqB4T5a+H4xr{51M5dSe78>BDA`}QZ1hDBYvQxZcp)``st)##2@+ri*hgiy^O zwYgi2Xdotr20uV~sq&*X(7S)cxzdjjQOuCotSt6QN$(#ua&06FlKCagmzP^0n+HHL ze&k;^kT6Rw!QLHodxC81n1kq2j%WZo~?b9KNvF^Azcv3w$lI`i;Gn&b+MZ|U6jFL*feyI?X| z1{&RUrPf!;^QGVUBpd?f_5ujRtKZgmR_Nl$&ie-I)E?c3XUTuhYxCZ-9A?U^{Kk=AoFDsG4Va`IYqrZI&kOw|teEEFH#JT*ix&b>! z+y1z5$UT|;`4b;Ha7;yixo?*&sFi4s3-gtl>JIq}Qgu(u^csr`?gyDz^%5vwZsM=* zNqj9QB9hhOT51h!qU9kSKhz$BHUcsII&g1~{v8~XWZt1QN%