From fce14f038ec5245637de4fbd2a9295d76d1c9be4 Mon Sep 17 00:00:00 2001 From: LittleSam129 <1qwe432@gmail.com> Date: Mon, 17 Aug 2026 11:50:04 +0300 Subject: [PATCH] Lab042: transmit an image over the air, add the air loopback mode First transmission through a real radio path in the project. A 4756-byte JPEG went from transmitter to receiver over two antennas 60 cm apart at 225 MHz and reassembled byte-identical, reproduced across three runs. The cable loopback still needs an SMA male-to-male adapter that has not arrived, so this air run is a track verification, not the controlled measurement: room levels are not held the way a cable holds them. Its purpose was to exercise the device wrapper the models cannot cover. Four defects the software model passed but the hardware exposed, each reproduced and fixed: - a 566 528-sample frame did not fit the 262 144 receive buffer, and the sample stream is not continuous across separate reads, so a frame on the seam was destroyed. Reception now uses one buffer sized to the frame - carrier correction was always applied, but with a shared reference the true offset is near zero and the 80-symbol marker estimate is noise; correcting by it rotated phase along the whole frame, 65% bit errors measured. Ported should_apply_cfo_correction from Lab023 - receiver gain of 20 dB left the signal at 0.0003 of full scale. Levels set by measurement: RX 50 dB, TX -10 dB give zero bit errors with margin - the error-vector metric returned zero on a failed receive, reporting a perfect signal where there was none, the same class of defect as the written-in figures of Lab041. Replaced with an explicit not-computed value The air TX gain ceiling is now derived from the link budget by antenna distance rather than a constant. Three loopback modes: software, cable, air. PROJECT_LOG entry 019 records the run and the defects. Software and cable results stay reproducible; 125 tests pass, gate passes. --- PROJECT_LOG.md | 50 +++ .../processed/lab042/lab042_constellation.png | Bin 0 -> 82180 bytes .../lab042/lab042_fragment_delivery.png | Bin 0 -> 28755 bytes .../lab042/lab042_frame_correlation.png | Bin 0 -> 28347 bytes data/processed/lab042/lab042_frames.csv | 11 + data/processed/lab042/lab042_received.jpg | Bin 0 -> 4756 bytes data/processed/lab042/lab042_report.txt | 87 +++++ data/processed/lab042/lab042_spectrum.png | Bin 0 -> 66083 bytes data/processed/lab042/lab042_summary.csv | 2 + experiments/lab042_pluto_image_loopback.py | 301 +++++++++++++++--- protocol/bpsk_radio.py | 39 +++ 11 files changed, 441 insertions(+), 49 deletions(-) create mode 100644 data/processed/lab042/lab042_constellation.png create mode 100644 data/processed/lab042/lab042_fragment_delivery.png create mode 100644 data/processed/lab042/lab042_frame_correlation.png create mode 100644 data/processed/lab042/lab042_frames.csv create mode 100644 data/processed/lab042/lab042_received.jpg create mode 100644 data/processed/lab042/lab042_report.txt create mode 100644 data/processed/lab042/lab042_spectrum.png create mode 100644 data/processed/lab042/lab042_summary.csv diff --git a/PROJECT_LOG.md b/PROJECT_LOG.md index 4256814..95fa49d 100644 --- a/PROJECT_LOG.md +++ b/PROJECT_LOG.md @@ -488,3 +488,53 @@ git version 2.51.1.windows.1 ## Влияние на ближайшие работы На Lab042 не влияет: там кабельная петля, несущая 435 МГц выбрана произвольно. Диапазон 200–250 МГц вступает в силу начиная с эфирных испытаний. + +--- + +# Запись 019 + +## Дата + +10 августа 2026 года + +## Тема + +Lab042: первая передача изображения через реальный радиотракт. Эфирная проверка на паре антенн. + +## Причина эфирного прогона + +Кабельная петля требует переходника SMA папа-папа, которого пока нет: пигтейлы к антеннам оканчиваются папой, а разъёмы Pluto — мамы. Чтобы не простаивать, выполнена вспомогательная эфирная проверка на двух антеннах, разнесённых на 60 см. Она не заменяет кабельный опыт: уровни в помещении не контролируются строго, возможны переотражения. Её задача — снять последнюю неизвестность в коде, а именно обвязку вокруг устройства, которая в моделях не проверяется. + +## Условия + +- Устройство Analog Devices PlutoSDR Rev.C, чип AD9361, прошивка v0.32. +- Несущая 225 МГц, внутри целевого диапазона Записи 018. +- Антенны, рассчитанные на 108 МГц, работают на несущей как полуволновые. Частота передачи и частота, на которую рассчитана антенна, различны, поэтому в авиационный диапазон 108–137 МГц опыт не заходит. +- Изображение 320x180 в градациях серого, JPEG 4756 байт при качестве 35, десять фрагментов. + +## Результат + +- Изображение передано и собрано побайтово идентично исходному. Контрольная сумма MD5 переданного и принятого файла совпала. +- Десять фрагментов из десяти, ни одной несошедшейся контрольной суммы. +- Средняя нормированная корреляция при поиске кадра 0,99951. +- Средняя оценка ухода несущей минус 0,368 Гц, что отражает общий опорный генератор передатчика и приёмника. +- Канальная скорость 18,404 кбит/с при длительности сигнала в эфире около 2,07 секунды. +- Результат воспроизведён тремя запусками подряд с одинаковой контрольной суммой. + +## Дефекты, вскрытые железом + +Программная модель проходила чисто, но на устройстве обнаружились четыре дефекта, каждый воспроизведён и устранён. + +- Кадр длиной 566 528 отсчётов не помещался в приёмный буфер 262 144. Между отдельными чтениями поток отсчётов не является непрерывным, и кадр на стыке разрушался. Приём переведён на один буфер, размер которого рассчитывается по длине кадра. +- Частотная коррекция применялась всегда, тогда как при общем опорном генераторе истинный уход близок к нулю. Оценка по маркеру длиной 80 символов состояла из шума, и коррекция им поворачивала фазу вдоль всего кадра: измерено 65 процентов ошибочных битов. Перенесена защита should_apply_cfo_correction из Lab023, разрешающая коррекцию только вне мёртвой зоны. +- Усиление приёмника 20 дБ давало сигнал около 0,0003 от шкалы АЦП. Рабочие уровни подобраны измерением: приёмник 50 дБ, передатчик минус 10 дБ дают ноль ошибочных битов с запасом. +- Величина вектора ошибки при неудачном приёме возвращала ноль, то есть показывала идеальный сигнал там, где сигнала не было. Это тот же класс ошибки, что вписанные показатели Lab041: метрика при отказе рапортует лучшее значение. Заменена на явный признак невычислимости. + +## Ограничения + +- Эфирный прогон является проверкой тракта, а не измерением: уровни не контролируются как в кабельной сборке. +- Потолок усиления передатчика в эфирном режиме рассчитывается из бюджета линии по расстоянию между антеннами, а не задан константой. + +## Следующий этап + +Кабельная петля через аттенюатор 30 дБ после получения переходника папа-папа. Это и есть заявленный опыт Lab042 с контролируемыми уровнями, его результат станет основным для лабораторной. Затем Lab043 — разведение на два устройства. diff --git a/data/processed/lab042/lab042_constellation.png b/data/processed/lab042/lab042_constellation.png new file mode 100644 index 0000000000000000000000000000000000000000..0376d9e0c89a227bc02209ed0c169b4042dcca71 GIT binary patch literal 82180 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 literal 0 HcmV?d00001 diff --git a/data/processed/lab042/lab042_fragment_delivery.png b/data/processed/lab042/lab042_fragment_delivery.png new file mode 100644 index 0000000000000000000000000000000000000000..724afc46e0193e634a60da5f5a4da42f44db9c68 GIT binary patch literal 28755 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

)+Z--ZXo|anezWYZDky}|)wZKRST41A^eN~di zSG&Nh%|u5F`M}hCqmKT?%a>hqt>M*|5tRNb_qZTo#|+X5Yy$Xt^PO{Oy6L8I4TrXq z=SD%=d${g~owMx52sF=4vPk4bl;j$Iy-J?by=ukRk4?vtaewv(iMPz!Tz_EjsZ;pU z=w^eTPbyZhTpxLkjp7qiLV~1cr4X(34_e2rB_&+!<;#~JZQp260RPEuY-|h%d^Ss}8<076>PFGD zhK=a_(5Xk4u2L&{0~Zsswc?D@gwM=&gp!WIyTkA+?>iB-ezhJBENsiNP=BdPhYdA# z-)aY~8OQQ*)3ggAJ;jr?R78DMDL8miw!}gOlzx92uTbs{3r0`gRSUgwtB7#xLyLaCrfY#2_C#vz)Z05pPx4mjwSJm9V^U?cJP5$ICpQEKCla z5FOzun5}fCACDGJUFlM@3kB-^Wc4Qh*FLgEERnu$(cZ|%hG&=|elH)MqMv5c;Co_*A zJ9`CuTGf~4sZ#f+$$n+ZbPS_lnQG(tZos&yrYcCM@x;91IKF3U-mE47pUj%v_vtyp({KDW9*l8{|37+4RG1+E{H~B zyLWUsc6Xq~c~Tu|B3>Q+!!Wbh+yHiGXW*bU==1hBguwUxV+{5LYF2o4QG+}=0cQDd zv`@N;rdlYpZ!OoeZuZ=n+YqLhaL_zM&6s*t<9r+BcnnR?A9JINi8jFkTO)Mbz^*W) z+OIk7l^32@PX-ehT5$xN$N5%}TS4awsf!9!GOUJ{!PSJIDq&BsK3QGNYgFFyzel07 zICT5_4Ml-?;QUx=8Hx_B*L2UyiF~~52&wBE&TU{uHX@;?$3jUzMe1*gR2RSOq^4Fm zx$<1`Smt6%+r?G26Q^kw*ZoX?lD%(O6)xh6 zx%tG+eSsW<-0T zV71OaJ3bmSEkf44(b$h(F*5fH?`eeZPDtJDOZ=l9Vj5_~&seFK*unahW9AG)ck0|K z8{10BBFG@_&)#@^>6uKK^K3bL zpotUj#m-4Ur#*FgcSDR_VT-^Gn+2|?Ran@qJXs8+w-(uM*qWg|37`CP26XYD*HH;f^Ia5=lVZW}| zb#x?+-rt;UE}7Q^v5;Itn8hR}TS=YX8%TV`WqHXg}2YW?w_wT%yi#5g*=np2Z< ziNd~9)~&84A@|2h{6!G}@d6jf0+&%)dKyT}Q!CqDf{Ri0i*|mVl^rpfOf&srA!NGX zp^jpi!wOPYm314?GiE_mGlz?&-#O{<2F2l)Ry$F+r6-U;*-7+=;fQX)`M9h>i!UsUq^Id zT62eC2#yqBKx|wE-snjx{CgqG9K&5HzNZ|5J&A!18`y)*Q$^YxOa4h1>6VaLiA25h zO1!kJf8}}Q@=w)cvN;)Gr`<6`Ak4Gr*lRJ@!p92lKg`epFSMWP1)ctX%;KIb9W(*8 zr2?h&dP%QG^WIE2EheH@M9@+q!;&J&j^OArGcbXU0Q#^qv3>DQ=|Jq z{lA}a&FOMGVKB`Y+z*Cp7R^n?(r1+y$GmpJB{qnzRSD|%=dD3w;WEBvBPxLNp!bKz zIw<1wjm-X6+T^17wLeMxN&K)RO!oB=>4%FR#UYeVl&lV9?R29>+^LF|g%|0N=c(1d zYEvc`dr57Fy$-&yvhi2~i=DYjiExjhT{o0j#1dU!kLZ~QQIooLK8i$|pV32FrW)}S z8y{&bz5_@Ry?q3oOrR&PQ65db{wwKN$H zA2uR=DwHRefx#H4fJ{;h^78uufMEHew_DJy{f+W)p1O=I6C}*$CAbC6C}J+#E%kjoh^=7ajNFbORvTawqw4K@@Q59_$GWAE{%E=djogKD7O>0NF5M)+p#HWLfyBEtl zyW`*F4p!woRC%5a60YksO$ej&k8-;Tc67Z4J^$^Ze@DMymI^d*`&DjOvj$WcBZ~h> zu2~3)F(tg6cx~EdFKOw-jAm+X1@fiot$ZHmp8JMog}*7=Ct zOabi*x$w@_y=Iff*({r=$|?OZ+~YXWZn0xbVyk(ok@F;-m$U*pwc0dK)~ABs>H@el zq!zL6IyL9Ve<1t0xRB37-R_j)wH0P>=6A{FSm|2}L5zsavER`_A-)1JrOhF|MV`?y-3x0KPWloRRIW1p3ynbNHBQ5i z%ta6VvZb!a{kFXmDJk{uNfosET7CI*2@yBBT^>`FHmc_WW;0#m3Xr*_Wc5pDnUx{g z)ZmqnBJ13FXA>*H((u@@A+)>U_61jeJ{d0_a@hz zvRv8M!zsq|HBFm~{G)>rm}yByo84}SDCEfs#_bcJu7NfE!T=m>`;!7N(!O+0Ay;lt zLz)lbsE0~4a(Dx`uNR~A;IZ3S{f}ytPD~kk*xVX*g<}$~FSNpP#Ac(gV3IGAYiC3P zzEMbIeoxW&bf|Lvr-Rw(MShrWdfrS^#kRA%=EaD9Z&t8*lE^KLM1Dr6=dO)YG5Qg{ zXehY~V|UfJO1ya_o5H-*X)!$92tC%}roF9M_;J*Od?H{BDdCe96@OzUP zb!Jzcxc0niL2IfIv^%nw9KIQz#V;aPy0*9OTsuzG(ri9nnanD+uYd(>&K!sISKzJ; zC-L$rdig5AHS2Hd^T1Z9<{7^AMm4Gpq4^b7=*gSG>vgvvWxSYODb~x|G}D54ADmE4 z!i9`nyFHS+`Eu?}l69<|m(mao&cUaPxQW@C&J+@5XwuZJBr^;2a)QHDI=atGx5g3k zFB|x=h-tg9VV8#iEl7Y7j7{=>=1t7tGi>2#} zQhl`n25N0RM1oaw2fSj-b*i^WO(YLr)M z0MycAys}BqJ^ zw=KFH2R4DXsS1_OeACA-UGoBNj7{$uA;yfSjjMqTg36l;uPEOIpB}+0bIfMJh(jCO zGt@YAtOgdKa-{(!C6)-Zc!!ChfNM)FVQu|roz=~N7)EHu&8=x8*qa23zkTA<7n5_l zBJbU{hlj=$u9<}32S^%ph`fA_t`~6F5WGqW-}!+C_FDv2GtxMneBGuAFLRCM$sj;! zp8q>_6Nm@#UXf(1onE7wg$vUEhvN}p)!H3eWq7_HBF#6RgSwEuA(B)JeERsfu}ZX^ zn^5V@O_sfN#!U}acl&jv5+ONfr%Avl60n{;f(@@{Q2P~f}1+fDXxqs0(! z1;&D=dSBITwHt1coLW}7B1NC1svA{+uhDnS!~KvI++z%=YcFTi=0s*dy7 zewg1*(c-lwqHFBTBl4LMHU4frnr*bZc8?`B`?4Z_8YID#9sgIJ5r0 z-1N7*KDV!tJ?wLGNXhy|$1qj7m-`NWfZ_3`4=+7tg6v&Mh}u#4Yv{DQq1rbRF2*VN zb-`|#T1A6MhITr)uLtkTV`uRA2_Zgez?wm>NZ3gXYX1NcFv%<@{EC({{PW)mh0L?rO~uVn#z82ThI|H@r` zVte;-_GPj^eDz-ECd%F1-^=(Mo$Q_vzx!{Kc89=NU0Yi_xTK|}y`N9tPXe(N2O*-Y z<#quXmdBUVc{uDP+IwW)=G)iaX5uoL@7Bj1Crx)7`-$JZg1M)AO!xn2Nk@vmv3`*o z7R@A5c$aI?s;okM7fdl%Z0@SL>ByDfs@+)df950FztE(~F^6kg6&tXb)#~_n*IjNd z9~hm#;~`^))U76opapa#d~qI#%-*qXJGy4e-pSZsB32mDQN7@u=)05xFuZIij0=`B ztuggF(6R`aP!l>Ph_6XoTz=XI>;G3VOfub<0v2Y_B{$HJ!9F~C32ycNfqoEgN#e`@ zmelX~l=IG+4i3gMBs*nk=QsOfk4q`}j(cNC1Vi%|EyJYWwA&ueom<6;C9CTi`?M$f zSPDqY?N<<8V^rVN8>UO@3w{%(fWj&F^uDM|c)jFh2pxj^lYESRsy|~koK0&-y4I82 zQq2*4p$A(q8`ekm`r`%3?=z$+6#RUvcRXzh;&(kN33~D09c6pHL!uk;#~P)y#cUbU zO%_j~u5P9T86E_yUkmaH!Cw8Q^iaHWtBTDAAo$sgjiYU%L|rCF78i+rH5Y_;!98ak zwwrT@*UE6tx%ciTb$?tPNouctOmg zMdq&FcT5WGawQ{9tYqWT6Y2w*V%uT*k&;IN2(a3l%zfM}h2buJx;L#jX{Yf^gb~A9 z?IzajmCy(l?+rD3@`fHiS&TO58NIomK7s!8H({ZWw}0@o?R;wq_#KwV53he?6MSTr z6c+GYC0e-Hw0DCjSo4AjwpMM7vsta+1r-BXNA}d>9R#!l0|y`)%?gpre!r~( zR##J-2bknDx4wVNN5L5OH~XUIl2p8!0WjB>Et4knL!5deV2; znDBZ-CMn0jX0Eh!PT(1{p;q+@W14OsJro?>KodAS9i(%8#1}P0`m=-yk87&-xy~_%xG_Pcvo{<^dra}o4)4bdWn9p zNQeBUG$Ohd1hU5{zy(Ze(5x7ATfBFpxhn(j@=amWn8~ZC@zXg7Om>0fSgNpt%$uyL zD1jhhF-0KabkW>6J`LcMAJ}tf0Vd=Z3yX_3fV?dHiZrMI7$cX?1PuIbOo8IlblxC$ zp{NH?|1wSMl)~KlB2%MD`M@d)4McDU{;9(Tn`lhXG{|%aJ>Li;gRH*zU>J+QRS){q zCY+5T1c{%qTv10d&OvKcVmT~6y3mj9wU~rQe(cx|{Tp!dmKEYH3P4@1Gjg)0&MS!R z*o>9kxmo^i)kX>y{y_)q^$Xd{v9UH89y@Ekq6y-w>#XEH<%FB%PlgYWxqPByU?2A1 zMIPq>(CiRE0bPwHl2rJ3#3P?!Q*+L3WVLvo%Xwvkdrqp!6$q3f&oYN ze1DN(vSmNi+Y1I1umeB@K7DH+hO$U&P%py;B`}Ogtd+^ybCij50?X5cd7t};G3lix z$mmH0_gOgHvlKl&h`4G6)F!EslOsLFreSqI;ORAUJ@bqr_-=w+7mpf2KzE!N-=TA{ z82=p7+ChbOHrl8OISv(x*qp{)O;bRR5w*6>XdRZ6-MNu$MIgdxF%1iTV77pYTL)YAi= zM-_s*7T`4qiZM;=h>984_+{;c?R-Ah`%}hW^iUWjT$aimnr3%7+~skhN(U`MAGS7AOCb(N`9Cw z-Bjwz=ZIQPr{8SoV}sqigFLk|I{P1YSk#Xs#cv~z}!lzh7{R`m>! z7900E4B{LJE8Bp^`d`vcGe3^4^%pO;lMy9j)yEvZk(L}FHsMwSWBhVkTGT&I8U$Wr zqA0TdZW0}XemI9DD!KFW``)!je`HtFys92+bF)x=@GPyT0)z~(G?moLbUDn5KiK>< z=V6hB(MA65w{8XnXVVMX$C-v5T^>|o9?8`hqf<;jcZ3!L}9h8THhDdLS2MJxtW zNb>nKVl=zQi04cxGiL;@Zv6T@*(?@ngJb!mZx>=_;^-*p<@LS|VZCJR8tvExvaqZu za`^!=&M5i}lLm8-0M6p2+~9qnb$9zx9SsI=WgTb%*=~Novj(bU^cjht8Eo=U2Sx?? z@49v=QeKINUd?V5ID~n60+ZDUY!lE6t66r1?C2^o`lRWlYZJ4~Jr1Z)r7>R9?~(8p zPIuUtKWi@U03Ma{*Pu2|SIZi3=sYu*XVHlTM$g+`z_-pHm8KQt3w2V69J;hAlrX;5 zhO+-Fy9YV3X}Re90Ux&LlQ}jkMm^~6v9|Whb6}YhkT$@Tj3BqNMsb>`jzesBww#Oi zIzHNU>?GVg_=G!|@@n2_uw_PrIa4O+q?%ODh6^Zkl#cN4UbIT1W)1vlil-{STRMo_ z-!55(Li{w_YI_I8e20VSHK}$u(MyhZ$MVb8IKvU5KfpiJSUTtx7xmXr?2?bk3m>(L zJ%u#GVtgGr3Mz;5-Ks3hj>cfUcbkF7LmVS(eIB?EFeat#_eYX!iPhwxKI0 z&XGz2v8hdFe0@5}dvd%n39Zb0<9E6uspJdRi_$ha>^2rjT6@4F16)MU*JAsmLRXq{3zgQ+WqDAk}|+r^9Jk1%gvCg3?;tDfDe#*Y@D$i_Inq2pX*WMu^6)oa|Ya^C`%gzkyFT{IdqG7$-`rbK|;8>%5W)w|WozFZ8(vWq9vgGkn%0b6@CQ zQTvmkGIUXJJ|muZ;ieMZ0wH?6`aZn7Jacd0W5dW3!)1>mdXYfyj$_GjBVRH$V+N&M z@!0}%zULXuXJ*A1jK3MgFO_?CgI_^cKaiI+E%V~SnPilLKO^1My-f*KJtS09(4Jcq zRN}bhxHfN_2Fc$jk-ONmoq*=Gt`k%QZA#XCLhS84or4vt_8k4*oTEFnFW~(~@;D~y z6fQef5lrPLGlvEpi~gX2Z5b3*4&`eyPt;YEC>{ZeZ*?TLP&Z!%#7~w%glci{nY`yx z$0|S)bMO8vr3)y43w}y*!lslwKmY(s>H6pW!nac5lwM8FFf8%leg$ewp=Mu@7pBi_&12SNViH)a?^>kx5%RFZ4m5EReGJ z=@o8aVD=4U8N|}9=Dwd|Wr1Ym=_C_iJ+t}oHQUhu&;?JI2b&H~XOIkMO+_j_K)nt7 zHFavOLF^vEUF_LKrV2(=M-AhHRGuc2M$1?RPUGy2Ix1iY?h*N_{Xi_-lF3V@_+cnu zidVmop?;NF&(^vVzybRbM*x)&AOvd1dN#=p^xbFL8XoYnP?i&*M)< zfHYl_V53btGM1*+&)0vgb_I-Ly<;A{B8E(9by?>Hu&1V*y1BXxE?XNLF(1tBB*RRd zRu)vU?+31I3(rzvPo@s9hFuOV2I75WQYXywETZ5|;u+~_-+Ovxk8Po(?>c7nkwpvyFPy9J12E^sGTWt+5 z5SX7(gPMvbR7?_=uEr&8e&5&}sEKiJ?w|EfT#whZ@alZKPR}-0AnfG&&SC5A%sbX% z3KRVjtMefePhOD@flRXK_BTgQ0J0}}MZVJVihPTC`q%+zP*HvU{5|N&k~;t$fSsVq zfe*m%;(&Ej1=RipKjr-Zp>9NO+#QCq;}?KiT201lWF+MoGd}?lEt-mt)F!7<9f^pP zG~WUw0SiFL9edHX_a;w+NQiQ>c&>>jy@%&4P5gPiq;p zmauaw7WgVE&`cLx!dv#^hoSZTMzOLaml*kH4C zzdKKX>v#S)Iip7)+E}nDdHWHOZ+L^xW;d|0@`4h|?}VaRP>0Bxz%$kF2st+fNQ+c; z5t%`EuhnE;52YH1Yo8G&zL+nTqD~?`6e4S6=Wc~<;gGAjlu$v~E7D1xu^=(1bnku( zzSpvpUtpdDlCk1wWouYaGJt2K>+b*Ce|3hL@t?+x|D?l@3bopu zI6GNpY!trpPnSpVxdpQ9+c{>WO=FuENk37K(*64-avZ@WnEC~s}P+WF!_7BCnR;mRqHU${_e>7Pf2jK|U(CA(16!z8TYI$hp1SN5V zCh-n;IT}>zIt>2)7<9It531l;2t8KPCv)L~jw76ep0F`#>OIoY5vxC6!zWX7M2ddo zJF2|x&A4krA;))Wjkg&53y5zXeiJ%kA=l`}UsP82>Ig8Vt9N%Ny|YS64*Erl;^G{0 ztkAz_wFsQRGWvsA4Bu)WT+Wey*z;qFe5zFde|CK2#^X~QSVj}p3VcrX!9*q_#XI{h zq(zsTPdG|~C6I!n+f6w|PN-eD0?7%v1&Ewbem;*D&95-g_ z9{@Ri*2ethTmK*Npg0oVoi5>p9$+vat!Xx@vIH!h7jL6YqbUmR2t}9cD;nA~Sf1>> zE#2Ql4MRJ@5o-NA!Bej2&bu?I*<@-LpI~m$1WUa~gb~Hwd5_uR@~ZpVz(aq~P`eCj zE@OZG

N=hc}*W6vM%KgBG+un|XGzP2QLXWzoNNr5ZIzhbWwbJDPS5^$C001s*E3 z$b-q6>lY>1)4fdROd=r<_4jR5-7zaBcos5<-=~L0n3G>vR~U+_Px@2pbD2H+-N=|) zw~d{lfQwRL)t9xF|GEVNq@+Dwk|m#RJjKrzSB`xmmVx(mslTAo?PR0CndLMv_0VSn z5SdE%8A`4dv{GXzjL`$Vd`Q!OY0MT}Y9O((jX8K5KSq3uTRK?rH1INmZ*k#kXbnT9 zq}x*F)KcnoyDlogwEBH_Xepr?N?1k-0%Sf-6$Y}9O>3JI6ZUm4G8*YUV8-=vQ6LFOH=jTsn3Z$tEWG%_~Prn zs=7_3oZzqY4}yl7l4EE%a9+6Coa&f&WLw|}ySQ*w63F?NT+I(=i`-PS!?M1%e*>k<3=fMr-iS#Zr0`J zCEDzPjz%d{b=%*G zn=Dk&yl5~+gPnW+Ne|batTdG9Yr}%#aej0tV86N=Q)FbeiMIx{}lKSn)v$RMl{TejbFNzsQRA&AHj*Lm? zM>mfBF6jN+1hi{5D9>;-{3jXn!fD<7Bc%Gry7@^aLQYQag-dnS71bt+WF_F{olH(8YW*`7zBH_29K1joDTf$+tewgQYe#iX20v8R$y^WAA@S+>tJMH`5 z${sk?*C!fyxt_zQ$T7yav8b6U3~rLJFLR-nMha~Muu+w42HbeP5yXpcau?H$aG)(aU>+9g z)Zc-h3d~QB8zTPvKt;8lNX#xy9YOXw=9KvL3Ly(F$tas1n=<=ZkpveOJNi68KRQ=)a zu^}+XREEoqHP}ey{7Lc!RDC9CfvLN|Tfq1#mLqh+x%L@3D=*O4aa7010CT%~{P~J!$Yuk)qupV-l@3y~jQ%#IQeKHQ zDmWHKZu^B6oFlf4{KMZ+rVxd#8r`Tt=sq2{prxS>*CE<*>UUyio?Q=cfCI-B*Gq$| zj+?^{M{i@loqV{ z!3(HtkO(%SDWWbL`}>gYPj##aB42%6<5S>U59?!M{AVG`C^=On_3wjx&;us%g7VY! z;vAC~b?0>(EI1ljDU$!K`=ZvP^OpRAOcT4Q{TE7r8`zy-!yp~xV4eOVFcTz4^(PEh zpq<@_RBq`R^BYcCxpbCbhnY>atz^)NLzA(Knxi2;pR#?bKPy4x_Xz1o_T^gMLIXDO z{tO+FDgBtZ_UdrNha1vU=a?GVQtSD$I1|OOnOPXszZn-U4QD?Wvq3iR_eFRU!48wT zEcL&1f_OZdVBnT9P(nNN8syE66ux@`0g^_*PVt}ywPcffKl zmWo9;Bev1IP2}2wZ@WdQK+E#2$Y-nXRz+jAayE2B0#;8=9?Q4rQ#cwV0OJu|e6IP1 z0qoHxn&FY-UpxoAU1zN^G~(){&9LNX8X8@xAo(?a+E;mRyq63jZfR>w zI+ZZ}d>9=J_;KLp7)<#7(P5_3kyUs!myw*zb$V(;iX&12nZ49>Xdzk+%2G+7MmxTaa_MAEG4KG^p%g?K>LJ=gI0M2W7Fphc^ z^!F$gGwh`uyPU>-e9mMyAe~F|!MS#u4bUV;5B>au&AUvET8@fmB`@h95O!M^t zR$mPx=2&BUh(34dd3ryPgT-9qOI*yl>Uc^L3#@Dz^b%O$0RxYl*Wm$+7_W*ix z`{MzKr?L+-gQe~vF&vw3mSMe?!I0Cf>-r=eFbhfIInMD#)FZp^RxP1NB<-F_qlYt00MJ3 zIQ;k;d;6rYOA~S6KDo&(YX&IfOL?iTV0wGd)z$T5Ys>j`xA}4@&8zPRXaGl9 z#mKB|XFZe$6-WQfSJ2GAttUS{hVNSEfd~&fbI-(M5E!5Th=08HGR~C?xa{* zS2*#NEP3?+DAp*mC?5^J-}@gYf84ffzqOvA*s3nw$Ov-1k{OAcn-5vOlk9LKWW>Y_ z2?gEBPpv+A14#|#YRG0&hS-rzmIKqy^4WCnoJ@ELFd{P!rLp?YL^yA|uya0@a#n7!&H+7%jGg z^Sd1`1feK4&VJ(p@2Yx zavoST1s+!LFXRHaZqH>Dyyoho?NqU@rkWNY#C|dqg*53L$>$#vd_vS>{zj5)so%{! zv3%Jnz69hM!hyNdB)xXkufee6PEjMic%9Jo%Fm&m!V0=LpClU^8FBW@T{fnH4px&| zS3baX*u(D4t=2GBO!tDXrcw{s)t~Rb2(4TXZZt!jjLF)NUyDAu*vAh6eJUoJ?Al7? z((AE<9%GJ;Uq406Q^&{nQvpV*wJ4p2ULi@PkiU8!0vA*TwEQMZ!f>$l*jr9@NL zAEEeDrLy`JI$B}-@Ar)et*jtV+7068)ytqNHeW=SG;%+i3Nq)a)jl+#^SEq-6@dRM zyoj#c8+GMnD&!5K3nKC8Op!AK~%i~g_gE zAS|4b7Xt0TsN`TlRmY>7r#2`!p`VC5SVmP}UX7v`OB852dH#ule&t&hAWhv`qUt3M zen&DPKUb_>4WBs$wy7ScMe7Da4i7V!-(C}8%jD#706 z(0KLY#fP-OoqCh2LDtqe0-ruYT8w)E$;}C11OMY#JsFJ-b#y1|pvil5P5MK?sQX2| zg1yPWQF_3$AkRjb+~4?-CaIV3ncFSo%fzNE`-i~_WW;9ZGG63AxL{Y z1;2S*T-DBWwpIqY^M<(?3 zTmKvt6+2&UzhW2k+fCd#n4f;&e{_JA4K{oK(vR(HH~9a@G%~phaC66IDMWOG8sF*? zsJ>2K;PFmua&n=Frg^1p6ya(-3BNJ}{+#G2ZKSc3_)n^Pm#0f@z%CUA0c<<`-rPq@ zf!%fAO&u!NPP9@KQzjK~cbkBk1)~}nvfV>)30Ojgask$7)`tAsL|DYFJK(2+s^X&i z&M=US2cay7R;ZO#d*lzX*&tn%XXrr}M=k*EpqU<>|63A?AYfj?GEWzFEOd%ZK1c&Z z>Bsuk+xys&r^IwLS8G;b8>}LagH0X^{;GB{$_|nverH5kS$G3Ugojzu6R3E8M#e=+ zG^J+sI*1?u*y?$|-A(V-_z;x!CQeVAO;kC=)kcuX)jG~P5E8<3N|Iv5Y=+17>=)8n z@Oi)$*lg0M%d@$F4~bAX>D$oI`3Gr{)#rzrV!wPVGA!gJ_{Xu?&2-11tEg4qW58s1 zonv7A0oCe?)YiHR`IQ9RFP`X-)V-JMBr;V+ zmgWcskmRRiK&lJYQ~nI5)rpmuX@b&&lcdR-OvO2{JTS}_WdEmkPjKz zToO%8&$adgJ|V8>@sN{~8zepL5#rr+1N9~>paCWpyp7#|spOn}>H+endstJhl+nz7 z0-k%cIj%|IDsgdg?rr#iKd&rN6f@J7ZbAdkTyY5cZCJo?*Qa$m|E<_*5lSW4Tx&AW;rhYYA{ zd$`9h+?)u*5h}94f*|h8T@J@69i9}q(55Xk($p1+F>sg~yVUr>2R1JthNB7^vspPf z2&}NSW$4zwhv18lL4dEp?fRJrRq*!xCRa@F$d=`-tt?^iYVdN)zf1od~kAdbGvMk%-J`` zN{8Vy`Rb|c;Cnfi($)l&84E@+aM*SxJ3kLsu@EP{d@qWrLVcy+D+Zi+Q9C*j$-gH! z0qQGr>hlSItbt9CfQOyfckhZdOBH`_;J&*S4(P`Eo^&ZgFb3wTH!ns@RS61%Oj;r+5Z6El?#dJz>t>z-f^^Hi z?%pgAOB+SJlKvvLDla$LJn}0UEJ6;lgV|*AwH)=T&-K4uxzpm$W7+)tt4e3nbz#1Z z1WbkeT;?_$SWf_G1+w@3bGJo*7o{UOVvaXPRpD@k%T~t{0FGJU$<56@044Pf)l;C6 zsMx01^l&!x(jkfa2Ktt>Slz-`o*eM;GHJ)hvZ*euq`F~G{(%QOkT*TUjpw1@qsCa_ z68(f3%C!QI?N?Y1hWpMDwm~7k##RX+5_hoPk_DP6`HQ>kYTxyX4Z1+HU+?=h>h0-z zUBnhZxwW0rSO!(xcb~0xq5*e1NXdg>FEM}LF;{F%s!BNj))mMeR7hV|8NAPnVSy}? zA?J03ucwLfPkPt7)|~?m&5RL#(`xwit6tEnoyJ#`fn+0ejiq!Kt$<Nbi{WaYId5RZyrO8~POA(^KYNlb+i@oR+qAfEP+!;mFTYa)Zxjp$_g}Z5Rp8v-)zaEWN(%|;#>V!{+A;n}OXEE?=nl}2PyVrv z_2ObL=K&SRYFgCfLh3xO| z>tug&5UM0BH0W_4S-3nPc~j2)@ngPBtO+u}nDOt{R;AntU=MeGblK=^{ZGxoqN73} zPyr!&bmCf>$noHX3>LzYvz~Cv0v7P${)k0`z{~SNsd3*uP^th4;eN3 z)@oP;?Z0%GZ9+=pwkl1`4=1ag0+%^Ic00O@6)$9l;s@~rh)RmE!@_`MkpW-vgo&2c zYmbnSkcqfDKx%}J=hAgfb_W@%8v%y>eILj1#Qq)kbD=)8V723DO`UVENj-F27a1@? zbh6hye}7fXen5U>^oiUPEzlb8@UQ$`ug7Sw434^Is39u9aI+niR62V$>+;jEG+^TR zSGVF~=v-{g0c!H^GHR^YP?JvdX6eU%h#yEP@T{aArl8%}v7p$I?{?MA<#vMHEy@QB)eFq!FZ3P>>dp z?(XgevFYyaT)JTi>1OHfT9)qo?!Ldz|Ez~6?wxyP=FB;Tr1VM!WMkGUdFmgxM@w(( ztBr$*oU6?QVAe@>TpPsf$6xJLZZM*S{bw(T+uC?}$spg<#=7z;&l(wK#io#dI~50P zfK;U!I75{0tpU--iQHz1`2t_?5=X!I;OW=;q-(c1D z?5oj~2BU&O18A`ACsEFk@TZbtYu7gw>|E>SCQjsAyK&J%M0`%e*Y~z3rq`Uf3sx>L zS^<6c;G7Gn9V?Rw%Xr=0ob}GREEF02LFrVMxu2L9y$h%-?&-^2yb7fhb6hB9KwGgE z@#v4|RJRqNqH43$`pI+xK$9uztI~lad^Fn$QX%kMSK&bH2 zNIG^zOM-C--l^Ze{Fd4LOa9*mC;5CO zhs`bmX?xm8bEHG^X6oW{{A);HF16banziaS#yB$eeGzhHpkusbrLCh)pRWxJ=4x+F zXNkn(zmqX#K)$2W0m?1cry+Pc zuRde4f$zjUkI;7)A50cp>m>Jy{Qmv^#b!oGrfdS2deR~I6HT!GX`qd#@mzyo0^(#$ zS$fd(_F`k2oqN{S-+3mqvKX6~O9q9yL1Z428h&NoT~K(&zgr`Ah2{eecBu^UAkWik z0K3ehy-N^lKw{?;obS{l?fe^+nlEX>Xk-j@iwS^`K4P(Z0^&(;(I`sh#;Sux^PIU> zZo`8I?&Jik&6tw_ycAhHoZ>bd`?}suml6q}m3ffX^C+6)Z~IAnPT^n|t9dd512x8% z23xSSaSt%_TQQTr75g55q}7}h?-BMZpDQFcbBT6=GBZ+FOhzWK!fHktWKbJzFks*@ zxIL7aEiF8GQ|p#;;dwTGv+wIXlJ*GgF=W3|moY}4M@*U(Nu&%fTSSAjF!IADQQ<}C zQO({=wR|$jVh%C#^CM+I2iph;lZ|9azwGYsj{>rsRSlNX6hwTExyqsvoSI5&2BQmK zfb1#riXa1n6so9*pajBjF4qTvC%Rbwz+7!e+I|eCgooZmu7kD)B>9LkI z1U$t@AHbYNSVv_+&)tc|%86Bht~X7v5W2|c0>yp{%H`0-gT^=@(;1~gDD2(vuf5$2 zzCB*V7$S6;8{J;KT}7G%MFgX?0u=KJ0ImOFkk96yAhXelxi1nfjt(M!G zr=K4>rg^^t6n5**JTsFFR^c=;&`yAOcMOZTf(+4VD!C}Wx@q8rqe{$rr4b-w_V|m4 zu(@4jTLV+2WrQ9C7ctyZEh|BeoldmlcYA>idFTy}G?ZHJNQs`9ybTb`KYuEJ_rjUG zUN+=Dt~^&R9IM6oKBLZPsrdfkzxrC(kMAJA-$GCV!FP56?JvO73?#;o<^)k@tZ6u= zpO~e~J(10&AfXaeCI!md)zFH1s^h?yfwe`L{AAkj?DtNmTo6~ZQXhyf>`3ZA(P4>i zTkf>Vv(q_IOn-%zN-f{(5JXa5{OiBjNc-Hsv%wkxgporEiA5F_Ql2*GphND7Ln3>z zsZn}95D2$Y9tq2d#m{nbwDXGZ!F9G(4S`~q|FlSBe*>MtB;qsBH9}u<{+|jRx- z5Tph#Ph`y{%wrm7#^GK9AWIu_@=D|df8m0%jqpunN9F}&DH|GvU@|qhjnlL|fb7p+ z8M7sRwCOUhKCM1Bci;;3*6!siGfX|K5|h+P^5^>jqZAD8{t! z6Y>At3}P>*y=FK=F*pk*HP;)IohqBbt*7mVp&<>gJX8`qS-AKj`mMK)%EiZ;2fOR< z!W~dq>_eV+nd2&pKJnli!;~7OYJg}WqN*w7mk#y(x`d<$Q1bmoc{Gb}Vo_LM05rwq z2h-~c6{!xg&6PHD05WDqnaTUcxpP{Ygz=jn?l;w8(l?OimUIYdf_Dt?6-o$f!Rj0&36x8P-%X~^KzT; zQW`@D((D~q29#^EbgnS!kPJRp7#=HBd9wc7xXdb9>=)j^Hldjgh^O1eYUlWCz@cJd z2QN?WZQLJ6YrX@k=-2TcKto^4Q!3{x8wIZT1N2OGjbi?tVs-*wA}97jocAGlB zBa{IL>d>*dBA}Q9Yz~asfw4sF=bl+ITWf=yy>c*kjLL$0Y-R#%e4K1-++0QYhui9_ z9b>>`!P|uSJ}C}99@fBT#%M4C8O-PYMLVh|3`;C?gX7$|Iy>ogxYVRyPeh6?;+4!& zF#q3#g3PoP!%IN0#@`b(8e{gz376D;n^k}cU1fulA~(>;f-Jrk{MI#yz58Z^t0+rL z=W?6k;;8!;cR__z@$8?SlaupI%^knawQQTZ$sokx!^1Uzv^;;e6{5bHAV+4z4B{LR z;pB{n>Jp+}Y4Qd^7QLP>=>cC12GWGc2T5Z6a4|mfyQp56UUX$@|W{0a!lE&!)6HnnM%)OD9a-g&5QNTtj%DPb=elMwh6Gyn_2=3h6ID^_NcC8{etFj>w0c7M9{omcc$ z|GO9bx(fYUkzit!1MN7SMkQe)#YZ`sDK>Q+B1SuCA9tgI_fYgKz$6^Shk z@s<6q(fn_s+M-g|J-3R`_vVA@ZTuULG*l=Vf(E-iB+ZdUXi?Xn?Z!Ns!_pKYw|zT9!^u8-r7u^lD{CHAWj&vNeEYNB(j&Z_* z@PNp24A#|Ok|hVT^kFC55OQ@&oT#avEa;HJe}pO(sts_uWc`dgo+cO*kv1hd!|`A~ z?kOKaCz;;)t4bn^^E1+qlNgYlpElO069(fo!N-zcHG8|vOAz>)M z(awjxhyRi{^}@-){lasEnw43*@3}Mx1D3x~;f(8D=`Vzzz*5rn@qJ{IODAq2h*Fl$ z?UO4xcwuL(gox9NBf5#M+GiHm!V0Kk9c6v+g!+Qd_>&e}t#aQJh6nniS^M1NaEV(- zS3KB4#+Z4-JrN#a%_wFiH+uZto%5N|y6Z&lwarnbd!=ONOM`?%3c==^Z=8qy(5BI1 z`*sT4L~;CqfbSD(`bTfejNx+79M-MSHw#viyNA3~EE0HhPoF+zuaFL&0tM{NRp`++ zb0y0dv_j25YuYGKww|Orc5a{zGctbm9%LzXv6-NG=s#-(CI;U5pTcnCGpRORf>(m7 zjF4s_IbtoE_P9Uxy+=A2oRhmJ`u8k{QhS)X7=`7E>l!L6yYiB z?N+ZZ(US-9*W+h>U z@XJF84@d9~JCnUwQjWfIVM27ZJU!4MOnDj#@l&!7)eheJ-CfHIhFXoo1f+kx0EeIJ z#*om*x}tpSmzD6D@kqQx7_>#n3Zg6j-|pz1w04{J0{eCs@lGly9*LJUOYx_4SdaG& zF*rASmh}3b4 z$7hg?JtTN^Vjr78|iRE)w}|->Jv_IAil%j z;tsr!PX*VSo?%MKzE@XGNv#r%ZY02l4sg~#g4}CXiEFyYy8Ia8i!;(XCcfntTmpJ}oOgmIHB$gAgi@Kl zDqpU>9an&MNk-qUA$3Z(w#G13IHQqhkVz~WV2Skb9;0*YSK2S%Q|2ZorWaVl6_KctUts$C7EV!a+v0BQyWum;kVbVlS7 zY5f|_je*&k7m@gMCLFfe@O#F~8x;!Me(}HG>mx_bG~?f z)f+St?sjqVzJhXts1R+^e!-=~tJ0*ksgQ~7%XsgY!KYXI+<(v^qEG*ekan_-a#P** zi0dZ(lL-9MVTJIp=c>^HkmgHKnn`QrO@*6LzE1hK;V?8q{{0izHmz<#8$6GPia@=I z5=ah<#G1`XW@lhRL`-dO|EX-`xC_cFY5$FFS$KAkMzRAOd@xXJ{Qmo|nJ2B&nwMDM zAMS6wF|e!_a9i(7`=YhzWjo)u@|3FQ45#o||Ffd-%2iX}#8hSk*xCmFEx+)&h?rZp z;x*m$encKdTRXfC!^w?JTT3C{IVB3ea~tSl1D1~HV~%U$$l002YHr2$_Sl!vuXI!> z29r2t`kech1aZ7>bT!+bd~|$N!s)VBx=7xHj|Pc0JR`q;Al4(Jb=!BTuNZ@OGgp-g zopti`p&yhqKDh_6v?E!QWi&ovKDasw;G;el+{=R3o1I;3CF@YVGU&=RdTxAvr#;P4 z>f!f_nIU{1AHs7G^bi7>{w?(RUgtzXwTH{jP~_Y3`7AiruP6=ke!N1{hC%_}`SX_b z>o9zBs*@z530ANa?2Yt21Mkq+SmKuN2)y7|&#My}gdWl~KKh9mjgZL88-c})0PX(sG5%!6jq@-}BsXxZ< z6R_ExrgC@Js@f;-JUiQ}#ChXm(*qjWEQMzQk08E3PFM$z>u}enp5=Ra-^#A20bjRMD);3F6H^TDjSCtPgUmpWm!+&N?qSK?=O-7~&Gkv^0gpu+_4v3Vk zd0Iw2e%KE3?@z8PTuU9xX<_^25Ni zFL4N=0-+&VwKQ~KRif*3Yh1R#4xPWT_uu?97_y0#)4D$|qkt)5bLkJm ziOTFiY0i>mlPsj_-(XBJDvr079TBW#JFJEfhio$o-eA|jT)I`&+}7Fb&WAII;GFXH zXBXSnxY?-2dF)d*uIV+7?aWLy5%=y$b;W7Bn?!B)M)@%MUKAe@m0duLsM|3jyUEu~ z1V?LPtBg!N-yediamU-E$L})G=WeMVzxj2>df*W^U}v@MMZ)&gM$zMCccihweFEc( zJ`5M`)Vz6(w#{NU`>kU>X!gmO>NCh9Icj@rT<%S^tsTY%B?U%^f9;AY*PJk)NSI^w z0AHkqS9^2rtr%F5k!x62#7zyiYjM+F8`seWO&>PN)}3zLSL!!BIM2fAwY*^LP&KUs zl>uT(uU?{s0)o6}kMlhPPxj&!D+-5m4H>H zH&%N%Kk`;v)?@Dvx{<3>aNyRuR%nwOq)N;_@qWTsd7C_;Qwi5~y|oa!N(%x;J|Qo~ z?j^vx=vN?iun>e~8cY$C!B95dsv?1uprc+zuYwvIm4$t!zoX07&i8W+4vN$xtHGZ= zeY3OzQ^$kyneWcG#HIx{Qh^&Fgz_WK>{KK5+-RY$jr80YK~8Uw#97#PRRpOpKwM!~ zJ$FI*{R9PkcCJ4tJ2TxA8}hp4qZ%siYfYm=oKa4ky1c!{qh_QX$uze(AIu4wBDtNM zLvM=yZ1?QPYtr{hTD!yn4Em(j-5KvskTr3|Zn(|BSm3Zii?Ff-i=Al5Js2?L`~9ID ztj>ovEsq=M+CTP|{)&|J!J5zp9o!{G8p?A@d>0A57`Z)K`h&Oct#N#9jrLV%^nRhV zfLV6AbVb-2SDMWpwIC~Ak#>%A5DTe#3s(ia`)ZUh2kMJY?$1Y-D$-~KZ|X2i3~sHR ziDW6KPaI4g3$^QG=&0+&CG5QQYg^zf)wPXFak%HpiTa?M=`K$&?qgMOC=M4YK9N#) zu^kmL1kEhZAc4;g4HA-dlPwPv&5bHjINM@mwisNlMBuA|k2Y~^> zeT_P<^V8Y39ugrB37rlP-Ka86%zl2TgcFh|L@?TD^GIc%ve;jEzDoj4G)vhB!fiB@ zWK7BTdJcxeWY_FwAGMcmdpx*!Jh9&4?2yERZ~bLOG7_!uH^>4gECpT0*&b!d=^EQ7 zPQd9rUVUeL&i@^}i}TjB!oT*z6~*k}^hsnZY~65rTG)c{8iO(^vWM&AxFHLSUGPkA zCpSMy(he1FX@{o`{<1TZ>m2?F-0EiykSmz>-srTFX@IH zvZMcXqC44fqQCuZs+;t}ypAgJ zxiPhA(&p6*oOd9>6aAclDB>4>K&xvuG#NBD=#b8hF%We-Fv# zX}hIbE8N^S9ab3>>8{X@#sghFs5M_*H518rSw+vn`q>y6lvxIA z`Z4pMWVFWmX&4r*3(hqA+)wz;CbcU=zpIRx1hR>pyZ!9tPmRPH$PTcYw9KjzOP~Cq zRmS^7)7&@ZGxM-6m(uC#COYPs_;?o9G0kXJsvmanSou3Ka1OiZ27%rGP_ZrFVXa~~ zNkbsp99qzMve=up96G=o{sf_wKK_l;h`r>s^v>eWA5K&#jIQq)eVOJF^w?K7H51#i zea8Q3^WR{iP2N}7UeX(da}A2Syn2uVzFcy%{=JPb6U8D&I;mi z?GN7g=5@Y^D^~wk>F-R8WS@Q@d?okieE-TQYlNQGH&nP@tR5bybGbVB8AgNp9b_rn z!*1WauZ=@RkkFmmmlI{;s2UBU(LMfMkit3N%=9{dXpB>yJ;GqEjL^xL8?`xAVeI&_ zqBQL8XRWvP8+JE+))-woE(LtTQAqS?v1U@XuGDKgoB+ACtE3P>~W45Cf-cnaCn7v}UHaxBtRv!rnW~>^mi?dX{5P?s(H2=CpZq z#XZYswyR2J0x9d0;BQ`iTWm|Q@Zf7%l5WYM7#|kv(E8v#a$Dj)9;TG(f}!x6#hLZ7 zgt_|=3;^PrxuiIP23z0np9~$Oa?>(=>6jq+q;FZ#yP-r*#Zq^W!^%>(*8P{!#L0%& zDmNtwJWC0MU`Wd~DPFFiq+M|crMD3mh#RX}k*-M{4ENxWpRCm+Okwh>hz*7Vck&GDb7 z?f}(^BQ=HYKP{r>)P_CXEPBmMDb9tQG;rof^>4e1!631gkJ>0rruia=&9%4X%eEPGh)4~wQUV>L(50IAxIJfP(wxUK{_IpMPw)NG520 z`T!n=K5cxtnnU*~MUHg!-x5J~#a2>4XP2zRncbCV-7ohb3EZ7GD&*tv)M&8I>f?qo zM6`9-rDz?6RXK>(1O5gM^*nYj09pB|+GTJ44PMkI{hw)C_VKq>>+uKQ9uQfV7pG{% zkWBaQ&{EuoI+hRtz+{O?{9oY7#)-}}af{C&=9A*dWwq$5>6Qw%8b-V9Jh)ja@ur!+ z%j-8^t-Rd~2jhK$hrwz-v)eVAIbhyyx9BbKAHv3bG5-M?X_a~pAxlHy<)_ImE=z4&puy+_I z>0dBQ%GBHrt!l7R>oKR0F?KD#-rELR6;RgF6mn68E#eAr<}yg{@`3W?TDSzbmy~~< zAG((nl)?!zv0XTV|JZ>1Ou%_MH1rML2#xSq!Pay@JIwv|liOurTC$GVw}@-Ug+I*Y z=lfiPFc}eixzo4w&`X19aaMHbm^vYH)(0p<}J9M+^^?5h(Ic{vdRIKsUP=$}% z%tgakC0jqjo?ZMpJHab;*)R&dd-eR)j1j1YKqx9WozQtOIEx&OyGm3OCl$%7*}2sY z;mcWRt@XFgzdM`#w>vUCK>Sm^4_@&T7)DFmf31n zBKUe~UgHdGx+Mufwpt_W#&?^JX2~#{yO2OY>W4tE%B3r11rrF1|1dZQ2WYcp70AO? zJb0UY>Ev&3pSWEgQ)<(-ef+uQ{J;x@)O(+oi-oj)|1ozuHXd!6eFi)78KRUY(eo4` zwhSv$?z@W)3d_n?f5L;eja`M@+ zW>5g6nuw}bgEU-!P5#$esEAXaRCrmUA#^;2FYbK?lqRF?`73X4P?li6 zw_80>5VJ8rWG&MBf$t&|hfME~i=%{HqrHk&vXn%sB!Pr{rOwm%d;3Dcu;e%O zv$qe2f8P?s*|(NFej9Uh`b>mU7Pq8?qtoSW{Uhz9xghJDrk*sfzq7bx>EiM(N`I+8 z&;7;4*tc?JBDP0$4)9n=8QskMFw1^9cZXqRkNyq2U8PiPdztqrXrq#@?oC0)_CukQ zUt$ep4ir@M%Ei15InRGd(gU(2q?t*%sjSIu=9tfpqe>%L=Lj^Hu=8XNGF=bD)9?U* z`O#0TNej*jj!K;QL|*dMPT%MO>9%XZU^APhtCu*Im-Q|Zdx(EiNK-lJO7q4b8Lc>n z!#`&ynjiM2HhU}8?e5aIf8H=3 zw}3R;!*=@~fUQaJNeMmP)q5`bu0VaiNM|DVY}kEBrBO%t`TdONL2($$hTR_0ovwoC zdCBC^I65%01c5N}fC6&#eTTKeX3Q2#`QJ`so?Ip(63`qa^n_&g{1Kz{q$xUvhW=2z zn8B-xVI^a3G$D$|ko&1pU=Wka;-=nF8joC?PkC3MIE4i|b}3POafjYpJ}r}ywCue| zAb)+)@1m5xGIk{KcdUO`W%)`*&%R_Sgom4x!i#_f6UfCwoHuqbY|o9Gj{m9FddsoW zQ=v~}0U$MDrA627rt@MgB>+=0XUCBFy=1L!nRga{JwZKLPJiLeFd~zelsGnfMYn^X z)~`L~%QStA!Re#u&j8u(w{=Zx)_RI3X>w%@j3Ze27|M`~g2=v=L6`mSWDmkuOnkNQ z%u`iVPD;?924dmKk&fLG?uf+OU43iP&$bBJ%p0S|M7k5?Em?W`07{;?>}a4DavkkYHq9rb<%IqJBA&~inghd)+Mg$I$8-q4wx$- z)?7a!cuEOMMYY(gRowe}7GoEA+N@{E&oF+^2VM@F-JC`^k$L`$aUL9AN=>U(sI0xj z)y&&a_>PCEjgD*hHrB|p+LKTvhE@5wIhdIM*6wOf@ACt5yQ5$OR%%uFr_~KghL9jOTtc zAn1MhB!wjpp|)K+Umv%Z)p&%39Mf@_OpW{vk6S5l5}w>rk1Xy*RJiCyJRw&1pGLiw z?VdRp$yfrx({EoTaXCZROoVNQZ(&Pa&B7a3awKmOoOhys`1nYFqvRA)=h~ZPbk4Z9 z{4n%KPsL|;+L|ugU&!yG%_VG9?|YT2EpGS(eKQcM^YAnVcW{nv# zJx{B$k4*kD=0fOF0QGadewf2Lq!8<~e>l|%d&g_P%t?OO!Dcq?;y(!^Nb~Xe7HlSWCmO)*i_~C^ zL9WE;xbMI70jjocH@zohId;w&*(WTPiV@RF&1qF0v3_$F7TD*@K#Tbw!3I~7=`kv$COH*-uVJf0*7kEx1=}Ac*IA>EP%=TMlKTnJ z#wTOdo{03}!wud>Z1XVFwZs7;n6P zfOS50tKw4txkQ=O0ezUmL7&_5egTxvIQVTh&{#C;3Z-N>86e3kER004|FQw)9wqj0 zn?idp+q*<8>2mnQP@MdZh1fzK6n7H&^Ta_bxU%P`62fCDqgswoiN?*Wg;YzBWbz~?7jn1-tvRGH8Ag-nS_X>Yht`ser$$B@?ZWqc$@q%3Q z{_M=bxQ0zP@DNSADPo_k2YYAv0*qiX8#MBACOys%As5!h<=-jE?gYllt3QdYLo+j} zQGUWG!t141_|V)i83xqx>|+$%GWEH@m3Sj%hkrD#gFw4p_5YTC=Y?y5x? z`Fg$=pEG&$Y2sIdYAx=Z80rpj#0Ytc+JY+|A@LVv7)UcW~3b3MW}~ z$8Sul3$qCyWAE5puCPj+L`RumS31#4D#aVv4~kx_^wp)Z^1qUtz)_k)RZt1PMp-3L z*WgN)BIO)ruA2^1;J-d;$Dh%8Z2!F>=S~%L@BDBXZB*wqknl{i6OS46^m`iBV@h!E z?P?p=FdB3QkL?PBF`putz{mfdT!GZ z1=}}$t^iGbOe8P=g@*%!#!WE)Zs^F!NOmWXBF>z1*&J$F1BwUi>M|RDICvJOQO5S9 z{LYb1h;hl9sS>joYpBvRrFPR?N%_{@0+*%fr3bL+W!a#Y3W*?eB4nBHI_ezf_F$HW zyN$T>2@36vLrd-8(JuyXs_aa9H@GcBk^NFdma`QK%cT6%4ePfzR~iCUZYvnI7S`O| zQh)8Hc25x8T>~|5rfSRW+&oTqPtI=>2az-NP&4u~WB0Y{AYyRU3YP`#80eV0&fNZt z4L;1L-qm2E*nb8A*z-nnb#Jz!Nom%m9v!YhgAjIL(1m5D+^jSC#hneX2Je4|n1I?G zBy(8_@W^`1mk@F=>x*kL`i*EIn^W@IA$l{b7*>b3n#@K=em(A&9_BwozZ)k9~5uv-#qIfln zgwLPmX(@QQaRzN~a8(zLZLCguv3aMGEz}uFD>9$1!;v#CwpU-OET>*0#;g0cmElDi zE+z7H8zRE_jb}?N9q`%YIS<1@KV-kzjr(5pNrw?BcACdDM&!-aX?J!|GR$Pmxzt)K z({k3a1ey{-!U(gpx|)*MGxH1?X!1myjjKD`2VU1z9vpzdK(*8Q&Nt>7U)EqjPs-5F zaEQ6O>^ey|jy&_%-R%!sI4tsC)Z4E`sq|d!!Jtvm^o)!Vl@=2{0jy2`4FRL3)IA1x zQ;vE$4@G|3SPbBmpTs=+#>&rI^|5)5_@#VdXy6AATzz;^b9H&gME_2@5#PIw-NO8W z^0FlM8yJb5qf@r!RHcgcRnMhgb?(D3FKanz4~G|glpSO*iM50(znt#6d@_v9Zg3fp z9kE6Q7btFCUuc5%buz(5>%~fsp)wR{KXQ}us?0n8s4z@$E}0E!>}L2wNk8Y-=8I;e zfP)nI#qtEwzO|A3*N$$5Gk8uHPPVOY53oFwS!uJ4C^$JemFiW{6NN5TBV@CT60;0Y z(qcMZCsEOBO~5M`c@P=-JjUcAF);+xMpmqKl}y$>l$FnMlxrA!>ihJw>L`?iF1l~j zmSZQQQ(TS;@JG2;rQTad8yeMm7hi0IZLL54HICY8bt1xhlasMr(6CbE;*`M2?CEcR z6R*x=1_xf;_u>V0-sVl?bg|PG7RJVylEEQi-@ofr-WjB4X!JSU30-vob|aZ`@Ab3)Vl6Ks7A9IF0Q-dw_^ zYhXSU&r8VBmugut%l0~vv(Lg8D7T9|?cEd4)nA<>&D|c7>w8Ram?%1 zZx+{6g5ZQJbzMsG-qXuo)O2o5-@Icj+ncaG}=0%HhR(`&e9N!jo?PhwwDnR5mk829Pu$d z(WXj=%^0H?11p$8XmMr8@zp)5!qf+V#_jrsvkqqc=5Q?&VE~%hDlk>Lq_UuX)6aCc z@r=Ea;~083dpSWgd75V4;R2!W6L}sLK|yux!fM7^vTCte9c&xO_0b+2qxy}aL8jf@ z;Tk#Ao9d=#4lkPU&7~ja$C@tx6yeN5`o&!iQjY1OP!i$P*NRdc5vwyN$e2+-?;VBC z<_|ZQCr7c!9nV=ccX2z6sTA+aEiQP$78v^AMeczC%U2`owuis$w7y+t2^P61By<)F z75?hI@Tz^a0hnx3HD=!96K@!Xgh0Yw`dVcsCJHyd^#rn;LdV^eg1bkVg^{R=YW?Vv z$kV(9UGiC4eNxU6tCY8)yW6uZNvrJ+5?wKyeF&SYqd}rF-P%Ll2xD7;~c@MkEx4x6f|%oO@bE z(tF$@ER1BhmAE^T2PWJ|)w->Yrj@fH_u4s+kZ-{FEnJRYwz%oid~2#a2Q`P<)7xA5 zUJ*>6S~EX{_DsAZPpt$nl-*%n24!-N0{&&TOQJwPCk*AngVo9i5(EeST!ucoy+5}p zkm0gi%nC0}9G*Ha7gy|HV$-3i#~VsYwW)*N)+BG|9*Sd&F3Ycf1g%M1?^G(C&+|_g zneT4C)V<6}7|z^piyS=Y3 z+$|jt!)RQ~f|yAL(R)vwXZQ!-2C~wNm;#^ z6~dlo(~<}8CA04NEI9ir-4DigVU;LSLUZI4*f<;Bs-C?d5368j2f8B>ELwpD{AAW$t(*o)5~frg1--?=jVt|JgYrAt z6k3Oh?dC)b<&_@tXlE7oC+P6;Z(fPO3oV@mUwZW9GQ>?)t3KwyKk)#RUeIRC1+~AN zxx4e3Q?5Z&kia@8$^w-IZ9$(*?1p2)1WhUy?Xd??`cDzCfufkY@MB+jzMGp#?`cX|CO=_Kj!K#8J+_`rV@xwgyp)lj|0v!kN=*2870(XeBj~bc4Ne`z51G5sx($^!{$c!=C>wq{V&b81@-br zx#SK?scEEiH0x|wwAqjaZLRGL+W{xc=sJeweg8ElItf9&b z+=_o`FHB_WLE}48J$vFy=T6^ksUg0$Y^GI-CUMdbIJA($t%T^8Bg6sM^5qU+P6zyk zHG5DfD`ac_CO-NuSdXW`=8tN(0$KQKD~_Mzk-`@YF2fKGTj%a4+ey6EVYs6y zP=o=$f|4)WK5wbT5ASZj8I&B~jac!InK8ea_3_H0yX4BX^bl&YOr-8`zjF)9w_?gM zAi(+=`QZ5mWy>577;JhWhz?uE6GPX&T@H(~Z{tV_h*GO`{G&8uM8KNFFS=~NV*YjlV=`G9bBp{|0$V2kY(gGhsS|$P}#K4s^Q#oOsqYu zccD+%BB1ab_jfepMO4aen~|(F$p}s7h8xqd7ao>kOfk)`D?e&*@h9S6r)1Yc2d0d< z+sn{z)$>TCbBC$K(^YhMSUH7O2fhRq^m13yr~L$tD(2VCaQ`%R`y;mq^FHf)>W_k$ z8QD|@clDf~p|Kkk>+Pq=6%d(_NFQ6 zTp{hGH4N8a@kpvU>(baV+J|RliluAXn{xjN2p%B|7@_|t#K$hGkDK_}U#LbK^3YFa zZ=TejUnBsj9QtR}yv|sEpg46zi$H%5V5;mfIH%^`3h%)KtA3*fG-P)V^hZyL=$1;6~CA>L;93;D4KeaqsfH%nmyf)&DrB2)#YCco`TD z(I1XZHAm#oaYY-LA@6XZVRR}t408c+|M}w2Yt|kI#{8B-vYs-L0-ik-c|seH8so?9 z)vSpsj)$xP9h?XRPcxCgvwzf}NtLgM`1L0^%+L!(f*}}8*A6QB0v+=oKukCF0 zzRWqG;!5qorm?ZtTMM|zc!3+*`RhRcFL#0-HMIq^OLdyE_K9b70)avodPdv!?ST3C z`cLV6(piI(b|ZFSpZ&#bRJlhN<3`ZK8rj~Lr+DX_;Q1jHtezfa-VeXfN9fiqbcdZd(Zmf_L7k>&SR+N8zrT;M>)zRawYk_xSm-_9y%6d* zDRNmNmv}Pp0z1El%hO}isAI7nb!}aTtv^jP$$3PxL1%f|vUgqd{@>;?Phw!q#Gk|H z7Yb)+qcF#VhKu9pw02V2xp@%imw>28Ny9r|?eOWvZP4LNtKM3+CMcAD0+b(uW9b#t zRUtz$HaE+r=vOTSwcVgS&iP$&k|;?qO}+P&TrGk)a!qze!L$qUbAaxf$P+@buFsr3 zA=aCwc{Y+9%NIF8yF2jXKcx!OUY;^56YoL!6*VGsmdry@$bOte%gzV%PylnOqnnC> zCJ|7>Ms`>5j*&A*gY7u_9|84#r2Jjmv8rFr8n;iej+=3F@8fpr&+pPRu|+!o%gXK` z*Ly)5H$f%PA*NP4EaCM_nPMvia!sTB>fZQ+LtiZ?RlHh#WtW*-TlI?((f^)CW5Dm= zUuz}n@uDQoAtG8!I|NTzF?4;xp3jJ`_p*qXn(FO1^g>KlPdpvFxFF z%EDo7drB~~Gn@de5^o(4&NZ-xW1$oJ>8}k3g?|0(tPzg5X-@Y$yo^E6FwzVl-$`J< z;mrMUnz_-1d?CAvD#!YU>dM6Q>Lr}zV2ojRG{;Yn%_}Bf+6Dy{9a+s*eO}+$^C-u; zv=@CdAQp&u3g#avg-Cx};b{rIBOAEisklQP|1nKwFuW;5V&R9=Jy1^y15 zUVgWwoJh7`_GKl*=xCr(JB3qXv6WNozh!;?_{=)=ul)7On2mrOM|sl+6fw-`=)T%6JalH6GH?z86Sx5CoAS7P2?B#10gn84^wn_e-9%<`X5x)1MA4&0L%iJeQ z#4UQdhqrLQ+H=d874V}0 zqagF&$6u!jK5Gq6@z*|@C5wQc117ojq1iOq&$W4y9yANTXt-qT5sk@I%SF*=Adm$5 zE#2l<=9rmu9a5r}rkJz*)SZ=zTo2iB33p5Ah_i5Ja9O8nD81e8o#b*Z_cu#E?9zPz~_j94_uZrYhx8F^)I{b1n+)OA|bk< z;atK=we4L{hq!932~Hr5GNv)B2DQ~cWB2*tjew`ZlA=cE)q71`c(x2C4*)d{km@EH ztx(r}vb$z8+E1KxL>!TN8Dl~?%kX_B>flauR(IfA+e1Junb+AEM}fiY8APM&fUO$L zsyddEBkwI^EuU~@`wEIbu8&hJXv~E_wkD_+#FKhkD2;IK~I75rdPw5 zZX=84)BiR1ol#M2-L_3uR75!-C?FnDqybS7kc#@QC>aGKDhiUbM^ZOI zkerPmIfo`nP7RW}fu`ZD0{!lN_l@t3H}3uO_Ae-^imKXsuf5jVbInk)6M$IX&h=jlEANZ#4hdmplAL zEF{7AjK)XawjwI`pIp>)yJkiwHS#?U+U^(T{%hF`uWWd)#O)()HL{s|iVJz7hy3FT z9vHEK!?VKd9W>N$d=kHJ!X|h6X-mC13FamGh#&i!yyu8(=OuCiiM8|CkV~0$OlIfy z%zfdc?K{v}&(40cN!V7@Rahy zL174Iszc4WW8tG^jsT?hHx3!OJ4y(8DU^V0^Z^(?E;n>+U9ucdrJt{=cwfH}es{&z zZ#8&&3&s3>e7}AD!4~qYEOII;NiiY!%3n&1KD2$euki)ja-Ppk5)rVhn~eM(WR>BPoSq=1*yZkJS!+X_U=dw;<>^NJSVdv8r^ZlXAX*`3q!(pa9ef_tqNX8jkh39K=g|z?P)WhozwnH2vDF@K~DpGT&a@F7k@c zOqpj-jzz-P8=rYk4c}$ojdY^_N~Vl+I@)B1C9x23Z_rjD2b-5$H8X){VefB2r* z8K3BM_v*bK3p-r$&89`Qo_5lm>rd#e*7MFFWEtlLDJPFEKoY^#Otr9IHPC7 z@3+6znKy9Y(Gc^*2)`nYV$W0z zM|jbw06;4n6SR)Ys)(*$hQ~AUKuSQQNwcD*9H>N`bnpycliy;{X!17(pN1=|QCFkc zj|jyrX}UV>F9VPTO3)UPBY+5jOMlgZi<-fYI;Qlpw5og0FS>w~zcWlvRIi_-_|wpM zGiBJ8ZR086RQDQ3CEW$ryruMV#{35-pG)%|?mVfRxf(3TxmO68({XrDy?#S+39GHGB zwabd6Be(FZNAj){*_`y8k797UdAH>Zk9rKXV=ab*|oATq{gAg z?;~YiGlZQT5<2$+D!i+-l03y@SrA|#jNk}^@yDco=sR*vXBw0t-7i6r1inR#-14AuujG!7oX zMgU9~q8=)w9G62mCu2WK2vF4iXB@{e=5n3qHxmVew)sH(9dCG<@Tj0HUqPt_Z4Fa# zU#KTr^mfRExGze{-pGBRo%!MaT#!(al)J!9+-AzyJ{oBXyR}mWofn{&7dZlvV&04g zZxTTw>pq1P}{iQGZzMZ(|y0(+0grf@VfYz(h`mylxlJff#-+w9Z zoLbe%evb9_&xN)pHPNclqq7Y1XG-}k$7&$x86nC#xm;4}&5D6d+ns3v*RUaO+Z61H zjs@i#L~ja1cG~_!{MT+vNoVi;ZasR0P!8JAqt*;wLPg4%uoc#KkeK0Bozt`Y^W6Sy zDJ1^RthZ3RZ{84i3Mr!6Zp^fhmV;u(U{|is@L0c(qPUO>p`E6{fK;>Wv}WKv2+UlJ zHT@X#`v_0q8B6r%R!J7z*yLk1cy;O*U#pk}FX!*vmaR$;qcyq?#y5B1P$DyiSp)91~yH1qvG-?$vCv##>f zmm!;DdjBzec0o|``&!h0JVKQPfO+sfuD)oS{pbA=R+a7Mt!)r_Qi8j~z%$(Z1JR%6 zUyu2#4yx2TIh*$)Wz##YnTli1$P*Zh#sH2HhVbqpjGu~%imf;uVT7A^ec)SN;J~=4&&?TlnD|U}(A;?>Wtn zh--{)lIJ4;Bvg3c7a;N?rZvoZKu^^Mn#q|VtODBGj7h<=#K^DT#F&txitYA6zBQwF zVYy9Rg0A1ZcSqSt7 zaTcdKp~9=4o+TN;*&2S@(0Y~+Nn{~y7g_`mD4+mj1M&`PVZh^>Gqr%n>vKptz1LQ| z5*Dce;%`M+GO%a42p}P4HMLhr<~ig|%lVtmU0H_7A3oeTsTO+*WTnbu-3L5?MBK73 z^>*QZo(QRe+@NX`?Dc8mqms*z_dNV(4m0(c;F zBHrutFLfvn-EJnkVS^<}CZe z1lv*?Pg$$XuEE%)1pr0mk*U&K#j?DC7qvC#u99A%y7WT*K6h zEiFPi|J3^G96WgN*6HK?{K}>76@La#)#gRA@9Tyb zi8^JzI9|}W?V=_iTYKWarp6+SPb1^OE$D@9Ml;KyL#h4qJs+#bMBL^FGW)Bms|$O% z#n^GF^`wjp!J~u6nAf|7fkCKZZ}(C1S?0st5f6}GI8C+Oysk3zVa9=h&~I+ZyK&Yz z6;M+*#O?b|AvCSPW0p6yVBcTz1DNU&u2|S+$*!T028Ev-^}XMAC=z|>pWIo)u)ura zAy#tD=->TUHSq4znjlOg#j5NjVy}Y@Y2^D$o26Lv2~m)n@K|b)7>jcsuwpFgYHzQB zJEh5r-}(Afd?~#;Yp+f|MXgeM((|SkBtTRJT zUoVO@=x3}ZIrf*G{un~{_Jv9M`kv3~aZ(roAnDj?yY?Mmdh+GA+wqK9=#CJecdZ4Y zvouNqXdZ#Iy1ow)wCAjXxjZM6wy|^Hyr;LKL@l1{mjj8ge!1I_p5|PtM&Z8$b@J-{8&~3+(ySy9@q2eg>Z@gK9@;?NvmdaTGCe z#=dKcdlGR&Ui$jc)ob5haQxFR?l2%2BW@QG8_W4DC}@v<>7Nhz=~7ic15mDn#Kg=j zsi>){cG&;^EdI@k$~(DtIN& z9+Eij^Cm#GhxgIa`fG;v!&#zP)h57ckntKwPc%!+1OU^`J9qAw!hYmC36VZKG)$%5 zQz*`5VBoWq_&>jBUh*&&U13cNu3g{@uyO=n0MS8Jp8~2of{J`sp8g^YS!8=o3?ap} zzuSNFRgee*X$t3$|M&0pZ+woOrToeoED2-4GW?oCCe{7=`Q-#3UuwUHcD9ia!Up^G z`*)RKZdqOli7t^Plw}{7=LxPt+`F{2tAIQiC9c6>)R)^_z5DFx)7LPwLGS5aDXt^I z1GNg76rV+4{H+D1NnYTtU0<2ugTH2|@ziu?844i8{Jj&JH*cDL4%}^@umv_~6j(&V z`b*ufVK8AJ-%#9dwl2EgKO9*^v&$Br+x8Zy!ZveqMMXtFChy+J6^|J}`g+vX*5-{E z;_7JvPe9>ieXm0$LHC2ngMW&Ox|1qWVhh0*4UBlhP))vznDy~zFJ8ECI@h0l1(>2} zsr~)|S>;4L8(Dp(_btEXt*k6C-RHjtA051dfBJM+b)HolC&CYH$Bo(~cU5kV)igCZ z7Q2LcDQCCSzODkv!Oz*rdm>T;f)cLC` z#}Ra|5`2~Xie%@bHz{}2iL*T;tFVa8KYjVqE@vLnHmWl^F_Qb48*9MPmPD4`4T6JT z+orbOS!5U27N3{iFNg}G+9DJVTK7m@dc3!#v7~aj^_mm#cGf~)puwON@h_nqRSh|Y z(Mt^&wx-57X|v_Ymc^e>j;a7Qh103#m_8c;L9+(SEIvi3v-MBjaB*=_SVH|81Tu0V zWN9FZhOKDp=U#TUqwx3;qtTR&qIJ{`W0p`tsX$&@&>+0&9B`L9z&Uu5% z`AyhCHP?FFD_2-mTnXoO4U@y;;<$dvpqOq_YCu&*i!6Qo_@&(3+`PeNVysgwzY~~l z8=ZSh>}M2un~Z!`Foae2(V91SRtxmCffpYBAI#mp9!2SU4L{@KEFAE}jg-z;v~7aY ziB~Dd+_Y_JbV@-%XO0^IpHe+|e`KE$kdzbq{t1?|u9ZREvM4fk?Z6mi9~R4uPEAXz zSpYnXgzV;2YJyZQFlkQM7mtPePf!gdfX$Ue3kc*>tbcxfgx^vFL(s;puCDHG+gJ1k z-c|C8q2Z&cOuhu~n=yRHj(u7H@P(M{CNREA!Sa$f!6t0P2`{OClUxTJqFjh|CLWoV zdA0KP=VqhyyrqskR^S>pz_?SYB^(B3*+opBif`3NiK<31>~co}VfyRn;iLGoi%&&>$2%}aazpIE1 zbcS8LJAMD=CaLn{bE-WIeHKmenGMd3k`s9zbAWPgkFTq#aRg>}=|m3{2y0bQ+BMZX zQlcarjAAC_$g`qCSGieOM!JEYvU!5)v*G(54k9YCx(aLUf6{fTzd7kruT1u72c34a z%un$Q{$A2e-MyA>e2pLq^^@DJr3I2{`j;NcE(^bl<_OG@j^l~pl;Xn#k8IGwKi&=XjzmcSh>MNd4Kb!~pG+(W!4+3;I>lWm9}EZ zvC}T4!`^+8T>eAFs__V>s$P)F$)o+qc%{=Ap&n*4CR-t;s>N{iQm9@MBqn!8)q$w;ozX8t}@! z^No=}8{RrlG2yL7#}wNJwh^_JU)Ush)WVPEp)g3_T-&Qb^Ava2)%D#PAf4X8l(|-S z6{F)IJ}A$^!jf-Q-V;HIVo(@rUswX6BmLRC1cKM6Xa*F-Zc-({e?0d6h{Li~e5jff z|B!!a?G4N=vp8u*B_#>2Gqld!Ja5ykwFnmtQ74RR^tfcw%=xS@x2QF*K*vm-&G(~# z9qX!KLEtlM)$*Ii5Vzb@?Y19X2Ckg)c2J3DwOx50+#dZauQ=1qqNQb5+BKc(&sJN0 zA|bw1hmLWkY~#F;$4~P?Kd?ns=eE{Y3t!ScY9E08!Is zf5plC3y$*RNAbK5*t^rxOW1KT!f&hfv40Szad!D&4fx&P!!xL~xxinLoqtjA+ z<-xf2_9H#!?^{_u?XJ_mxVTt`Cq3LAY3Eq|3CMaOy_ChYXz04ElXWY-p9GZ`{F7`M zaNF-a3+k$>cK2Rq)1Swz9LHq#bRy_Cp)@!hQ$2|MXZ5h>H{(6VIU<^*{f@5`2@DF?pcJ7~YA`E9@8gxzl^ag5D-^&WA)6(& zgk>v3Ak~Xg+7m}>$*jKWRh9I0K~w^w6zJi;sZq>Le`CRHryx%unTGe#qa4IHOY?3%FoyW zbuN@3;!eE@TITCm3@*&`;!dY)nJ*e)LL!%ZwGAMgJ}D_FN!378 z<%cN6A|dcW7M9~dY(lM4gUABBvDW0*`OtA`qA8-1LU72q!*dms(DMg-Zhv`frQ@3} z=$x+(epwvYvdXKrwi#tayp1Zy^mE48^ub2NK`U{Y`g_lz)9otX(;l=X+#lXeK&y$V z`}p|4ns0e+YS6vcU{4gSXL1TnSZ|(?eG8 zPa*TA^Ky2FT|aw)VTXR+<%Nbsj`reQ={%O@0k=anr}OogH3+Y{l`dYq7-JRm{5dD6 zfmPI*A>ZpIgb1^z1O%K*9dvYbq~%tJXd-Yk>8bHf?^9C?qxb{_>K1??dr}IgD1^6Xts=y{6{>I>&=yU!F>78Vy5;~m}$K-RS32jgCJ0zJ4=X`r@QceH}?H;{5}RJjPf(01TUd_CUMImq(8t;mrt; zKvX2E>=-usyNiyZ;7!%vSRZf_T?Vg-=u8Qkiuy_`YE z=3J~;pBBjM%q_uQGrTPhX$6pTbC*s)N8AVUc^jR;bb%IdO~xP|Bb`6>P9EII$rqxH zui;}35YQSrL1`JJ&i0&TaNkd5SFB^TMN|y;$$1fN3C~&F5j&CfuXGhEk%nFs0d^qm zzvdoyj{eVruYVI|{JU6f=k$%&adATXzmV7Ou7PQOqS6m=-QV06mdDT<} z->#&_xkZES+x@a{)zu$AA$jowKON6=noA%#%uggR4|U-5k3!+0qqM5MeU{8(&2bTv zD*wcS1|}HIa*_}V8_0-zuR3}Vdn{CKSU!h_6)LhiR)WZktQsUr_@v$E_Ua>9+ZO-_ zL2}dh0=t+OAil7tAT>3$4k{PDk$&$ld!<@gjYgD$2W{(|1k)OZ97|?MIC4DfcSe z7~G;H5J^zp_EV%gi}%EdAMi={BQ8Fo__U{90JH(@3QsyO891XuS4w8G+N{6guJ?WY zdU*=Ok`NoEFYd#WE$=p~OV~n^lXY_#zTNFJQ15dADeF7xyPDM7Duq6!tEZRV5u$eO zTIhuU`X7T^o9;s70&R|*eJd|p@24UpPjPI3@+GA_7>o38~ zfuZCOHGcs!+`0|&r&jY5`CUdVe)q|~G;6W_R+}8fBKL+b6V{Lbp~2a@cUyfJ>~=_W zG&a8+yb!1F92Pa;4Bo1Um*|aYt@QJ=E4G$)S1k91XlQhF^qkpUFHd2tot~ba9XFz2 zk?)~JUs6h3U*x9rvr)#H#5rr6HhR>ckL%g&+>mSt^DSgPn?k}=-*L9)c<}OhxH?LE zkLOrz7(O#8>C^lemP%3S6(>K;RNtU#%nj9k-;D(&p~)j@HreIc_LUT3%9cCmC~d8G zRpt@1b#vZ*^I8Sx-xPfCT=RzLlxi(KE?1`u{m24Mcpo4^H3o645dsNMz^{Xvf@QLg zFK8opK>jvg;jXjw5FWg!{QKAGo_CNvW^<}XL72?xNSUi*6Y0oxbazHU98$aZZN$1t zAETm}$|4F1gMZ4gNSv)Q=x3-UIbR~vCX`(41n~u8Bw&$H0D`YqII{{@aL?#k!-q2+{ zY(m#nii#_O&Mv`@zyg?YP zhGlC`EkijcvWd?NBIT28k_w9)o>yCBBq(w(NffVoLtz zg)AbQkiKa;DXptuQrMy3HW(MjOFQ#R| zDczffXvVEA2raQtSV_s8+Jd`UMG>&)o-meR1?@5K#>z0eeg6D8g@mKV z*U}xjl}KlRK@El?q4b`>L2yR&&2!d!Sy(S)Ru(WG2}tpPz|`>b+BAFBu!kB{PWgMq ziZU6|((2FezndWMJ1G`94=KyPAr0I-7c&FE{XV}f3SR0)@^vkL{jiq{u3nmaN3_lu zW-_>bPFeHRNeH$MkkV_Bx#~dlYPT_1jwtK}`4NSpV@NKFryhJ^OA=b3<4B`Ispzk{ z{T37wzh+9_F5knSFdua3jF2FdLdYP`mK~L_zoq%BxELx_bND}`<^Jf`hysxe{V+wp zzI)aAy>hI}po*(?a%J>Ks4P9Y!wJ*Fg0a5bv0q1TqOqh8vYy@`pFlXR*+jxIU_eEK z>pm;5gQ^)xU|NN4WwS%|r2sPrM~{oKkD1tTfjQe2P7qXAb-JWo-e`-AgkdwlPXn zNg!uwG*sO>I9=p4lKjyo8TlA#dj@;j25l~y?M%b%UBk~W&^hmN`!JakkP_(~$wRNM z_Bl6M`2`;qtDQG9H#M~+#pgP&4BK-wR%7gD#yQ9!%2i%Bg&}5Pqq0O^#_7=IrC0~x zJbSUU%64{{I)oVz-w;nrMsvNxzq57+*_A@O6!K8O{=5(#G;Bxp%wn&JPwfT2hCQPER8!=Cn>H31B&|`1q9D!pc}TphIPg=`u14 z!4YpkeHPw@FV^v4-Pi^sX1b_fV#f;^1HA;GwqxdU@HUx--*2wjx5o9w~HEm~R=hy9e2S{76en3zP9` z$vy$F!C3L8M~93imz>Iq)9qm8tWtqwE-av$baZr!AW&=L`WX~Sv&}NULq=#N8~k2j zNI8Zg>nfzw-`6d+C%(1zKxCz~2Y4kV^+G~I@>>6bl_~y~$5>d2;Dmc6IgS|bxiXz> zHi0|b29mFDx{SOsRrNT-#n>ml^vco7$t&{HE9!V+ebM z0?4l~F|~A-`j!bj)2l=iwX(!6wpJN5}1>g_&h88 zkNucwzHT-_T^I3v0CGD zaP-A?;DJIh(c*Df>?p88bbLphsclc!d{i6%zza4UT<#-i4j+yGv>$VMdf{(4w%r1y v|AhfT{m-xte>QXfAE6Qd|D1lXXp3P&>-tdSxyTXZn np.ndarray: return waveform.copy() -def open_device(): +def maximum_air_tx_gain_db(antenna_distance_cm: float, carrier_hz: int) -> float: + """Рассчитать предельное усиление передатчика для эфирной петли. + + Аттенюатора в цепи нет, поэтому приёмник защищён только ослаблением на + трассе. Предел выводится из бюджета линии, а не задан константой: на + малом расстоянии он строже, на большом мягче. + """ + + if antenna_distance_cm <= 0.0: + raise ValueError("Расстояние между антеннами должно быть положительным") + + distance_km = antenna_distance_cm / 100.0 / 1000.0 + path_loss_db = 32.44 + 20.0 * math.log10(distance_km) + 20.0 * math.log10(carrier_hz / 1e6) + # В ближней зоне формула даёт отрицательные потери; принимаем ноль, + # то есть считаем, что вся мощность попадает в приёмник. + path_loss_db = max(path_loss_db, 0.0) + + allowed_input_dbm = RECEIVER_DAMAGE_THRESHOLD_DBM - RECEIVER_SAFETY_MARGIN_DB + return allowed_input_dbm + path_loss_db - PLUTO_MAXIMUM_OUTPUT_DBM - 2.0 * ASSUMED_ANTENNA_GAIN_DBI + + +def _receive_buffer_size(frame_samples: int) -> int: + """Подобрать размер приёмного буфера, вмещающий кадр целиком.""" + + needed = int(frame_samples * RECEIVE_MARGIN) + size = 1 << (needed - 1).bit_length() + if size > RX_BUFFER_LIMIT: + raise ValueError( + f"Кадру нужен буфер {size} отсчётов, что выше предела {RX_BUFFER_LIMIT}. " + f"Уменьшите размер фрагмента изображения" + ) + return size + + +def open_device( + carrier_hz: int = CABLE_CARRIER_HZ, + tx_gain_db: float = TX_GAIN_DB, + rx_buffer_size: int = 1 << 21, + rx_gain_db: float = RX_GAIN_DB, +): """Открыть PlutoSDR и настроить его для кабельной петли. Настройки выбраны так, чтобы приёмник не мог быть повреждён: с @@ -311,16 +393,16 @@ def open_device(): device = adi.Pluto(uri=PLUTO_URI) device.sample_rate = int(SAMPLE_RATE_HZ) - device.tx_lo = int(CARRIER_HZ) - device.rx_lo = int(CARRIER_HZ) + device.tx_lo = int(carrier_hz) + device.rx_lo = int(carrier_hz) device.tx_rf_bandwidth = int(RF_BANDWIDTH_HZ) device.rx_rf_bandwidth = int(RF_BANDWIDTH_HZ) - device.tx_hardwaregain_chan0 = float(TX_GAIN_DB) + device.tx_hardwaregain_chan0 = float(tx_gain_db) # Автоматическая регулировка меняла бы усиление по ходу приёма и # портила оценку качества сигнала, поэтому режим ручной. device.gain_control_mode_chan0 = "manual" - device.rx_hardwaregain_chan0 = float(RX_GAIN_DB) - device.rx_buffer_size = int(RX_BUFFER_SIZE) + device.rx_hardwaregain_chan0 = float(rx_gain_db) + device.rx_buffer_size = int(rx_buffer_size) # Циклический буфер повторял бы кадр бесконечно: передача не # заканчивалась бы, а приёмник видел тысячи копий одного кадра. device.tx_cyclic_buffer = False @@ -328,9 +410,13 @@ def open_device(): def hardware_transfer(device, frame_waveform: np.ndarray) -> np.ndarray: - """Передать один кадр и записать отрезок эфира, содержащий его.""" + """Передать один кадр и записать отрезок эфира, содержащий его. - needed_samples = int(len(frame_waveform) * RECEIVE_MARGIN) + Читается ровно один буфер. Склеивать несколько нельзя: между + отдельными чтениями поток отсчётов не является непрерывным, и кадр, + попавший на стык, разрушается. Поэтому буфер заранее выбран так, чтобы + вместить кадр целиком с запасом. + """ # Приём запускается до передачи. Первый буфер отбрасывается: он собран # до того, как кадр ушёл в эфир, и его назначение — привести приёмный @@ -340,15 +426,10 @@ def hardware_transfer(device, frame_waveform: np.ndarray) -> np.ndarray: device.tx_destroy_buffer() device.tx(to_device_samples(frame_waveform)) - chunks: list[np.ndarray] = [] - collected = 0 - while collected < needed_samples: - chunk = np.asarray(device.rx(), dtype=np.complex64) - chunks.append(chunk) - collected += len(chunk) + segment = np.asarray(device.rx(), dtype=np.complex64) device.tx_destroy_buffer() - return np.concatenate(chunks) / SAMPLE_SCALE + return segment / SAMPLE_SCALE # ==================================================================== приём @@ -371,16 +452,32 @@ def receive_frame(segment: np.ndarray, plan: FramePlan, taps: np.ndarray) -> tup return _failed_result(plan, correlation=float(found["score"]), phase=int(found["sample_phase"])), None estimate = radio.estimate_carrier_parameters(symbols[: radio.MARKER_BIT_COUNT], plan.marker) - corrected = radio.correct_phase_and_frequency( - symbols, - float(estimate["initial_phase_after_cfo"]), - float(estimate["phase_increment"]), - ) # Частоту берём готовой из оценщика, а не пересчитываем из приращения # фазы: два источника одной величины разошлись бы при правке любого из них. carrier_offset_hz = float(estimate["estimated_frequency_hz"]) carrier_coherence = float(estimate["cfo_coherence"]) + + # Решение о частотной коррекции принимается защитой из Lab023. При + # общем опорном генераторе истинный уход близок к нулю, а оценка по + # маркеру длиной 80 символов состоит почти целиком из шума. Коррекция + # таким значением поворачивает фазу вдоль всего кадра и портит его + # сильнее, чем отсутствие коррекции: измерено 65% ошибочных битов. + cfo_applied = radio.should_apply_cfo_correction( + carrier_offset_hz, + float(estimate["phase_consistency"]), + float(estimate["coherence_gain"]), + ) + + if cfo_applied: + corrected = radio.correct_phase_and_frequency( + symbols, + float(estimate["initial_phase_after_cfo"]), + float(estimate["phase_increment"]), + ) + else: + corrected = radio.correct_phase_and_frequency(symbols, float(estimate["constant_phase"]), 0.0) + error_vector = _error_vector_magnitude(corrected, plan.symbols) packet = radio.parse_radio_frame(radio.bpsk_demodulate(corrected)) @@ -403,6 +500,7 @@ def receive_frame(segment: np.ndarray, plan: FramePlan, taps: np.ndarray) -> tup sample_phase=int(found["sample_phase"]), carrier_offset_hz=carrier_offset_hz, carrier_coherence=carrier_coherence, + cfo_correction_applied=cfo_applied, error_vector_magnitude=error_vector, frame_found=True, header_parsed=header_parsed, @@ -412,10 +510,17 @@ def receive_frame(segment: np.ndarray, plan: FramePlan, taps: np.ndarray) -> tup return result, payload +def _mean_finite(values: list[float]) -> float: + """Среднее по величинам, которые удалось вычислить.""" + + finite = [value for value in values if np.isfinite(value)] + return float(np.mean(finite)) if finite else float("nan") + + def _failed_result(plan: FramePlan, correlation: float = 0.0, phase: int = 0) -> FrameResult: return FrameResult( plan.index, len(plan.packet), len(plan.bits), - correlation, phase, 0.0, 0.0, 0.0, False, False, False, False, + correlation, phase, 0.0, 0.0, False, float("nan"), False, False, False, False, ) @@ -426,22 +531,51 @@ def _error_vector_magnitude(received: np.ndarray, reference: np.ndarray) -> floa общего усиления тракта. """ + # Ноль здесь возвращать нельзя: он означал бы идеальный приём там, где + # величину вычислить не удалось. Такое значение уже один раз скрыло + # отказ приёмника, показав 0,000% при непрошедшей контрольной сумме. if not len(received) or len(received) != len(reference): - return 0.0 + return float("nan") scale = np.vdot(reference, received) / np.vdot(reference, reference) difference = received - scale * reference reference_power = float(np.mean(np.abs(reference) ** 2)) if reference_power <= 0.0: - return 0.0 + return float("nan") return float(np.sqrt(np.mean(np.abs(difference) ** 2) / reference_power)) # ==================================================================== прогон -def run_transfer(loopback_mode: str) -> tuple[TransferMetrics, tuple[FrameResult, ...], bytes | None, np.ndarray]: - """Выполнить полный перенос изображения выбранным каналом.""" +def run_transfer( + loopback_mode: str, + carrier_hz: int | None = None, + antenna_distance_cm: float = DEFAULT_ANTENNA_DISTANCE_CM, + tx_gain_db: float | None = None, +) -> tuple[TransferMetrics, tuple[FrameResult, ...], bytes | None, np.ndarray]: + """Выполнить полный перенос изображения выбранным каналом. + + Режимы: software замыкает канал в памяти, cable проходит через + аттенюатор по кабелю, air — через пару антенн по воздуху. + """ + + if tx_gain_db is None: + tx_gain_db = AIR_TX_GAIN_DB if loopback_mode == "air" else TX_GAIN_DB + + rx_gain_db = AIR_RX_GAIN_DB if loopback_mode == "air" else RX_GAIN_DB + + if loopback_mode == "air": + carrier_hz = carrier_hz if carrier_hz is not None else AIR_CARRIER_HZ + ceiling = maximum_air_tx_gain_db(antenna_distance_cm, carrier_hz) + if tx_gain_db > ceiling: + raise ValueError( + f"При расстоянии {antenna_distance_cm:.0f} см усиление передатчика ограничено " + f"{ceiling:.1f} дБ, запрошено {tx_gain_db:.1f} дБ. Аттенюатора в цепи нет, " + f"и приёмник защищён только ослаблением на трассе" + ) + else: + carrier_hz = carrier_hz if carrier_hz is not None else CABLE_CARRIER_HZ jpeg_bytes, applied_quality = prepare_jpeg() @@ -450,8 +584,16 @@ def run_transfer(loopback_mode: str) -> tuple[TransferMetrics, tuple[FrameResult waveforms = [shape_frame(plan.symbols, taps) for plan in plans] device = None - if loopback_mode == "hardware": - device = open_device() + if loopback_mode in ("cable", "air"): + buffer_size = _receive_buffer_size(max(len(item) for item in waveforms)) + device = open_device(carrier_hz, tx_gain_db, buffer_size, rx_gain_db) + + if device is not None: + # Прогрев тракта перед началом опыта, как и первый отбрасываемый + # приёмный буфер. Проверка показала, что отказы кадров случайны и + # к первой передаче не привязаны, поэтому прогрев остаётся мерой + # предосторожности, а не исправлением известного дефекта. + hardware_transfer(device, waveforms[0]) started = time.monotonic() results: list[FrameResult] = [] @@ -488,8 +630,16 @@ def run_transfer(loopback_mode: str) -> tuple[TransferMetrics, tuple[FrameResult recovered = sum(1 for item in results if item.fragment_recovered) successful = [item for item in results if item.frame_found] + path_description = { + "software": "канал замкнут в памяти, оборудование не использовалось", + "cable": f"кабель через аттенюатор {ATTENUATOR_DB:.0f} дБ", + "air": f"две антенны по воздуху, расстояние {antenna_distance_cm:.0f} см, аттенюатора нет", + }[loopback_mode] + metrics = TransferMetrics( loopback_mode=loopback_mode, + path_description=path_description, + antenna_distance_cm=antenna_distance_cm if loopback_mode == "air" else 0.0, source_image=SOURCE_IMAGE.as_posix(), image_width=IMAGE_WIDTH, image_height=IMAGE_HEIGHT, @@ -504,7 +654,7 @@ def run_transfer(loopback_mode: str) -> tuple[TransferMetrics, tuple[FrameResult symbol_rate=SYMBOL_RATE, samples_per_symbol=SAMPLES_PER_SYMBOL, sample_rate_hz=SAMPLE_RATE_HZ, - carrier_hz=CARRIER_HZ, + carrier_hz=carrier_hz, transmitted_samples=transmitted_samples, air_time_seconds=air_time, frames_received=len(successful), @@ -523,10 +673,10 @@ def run_transfer(loopback_mode: str) -> tuple[TransferMetrics, tuple[FrameResult wall_clock_bitrate_kbps=len(jpeg_bytes) * 8.0 / transfer_seconds / 1000.0 if transfer_seconds > 0 else 0.0, mean_correlation_score=float(np.mean([item.correlation_score for item in successful])) if successful else 0.0, mean_carrier_offset_hz=float(np.mean([item.carrier_offset_hz for item in successful])) if successful else 0.0, - mean_error_vector_magnitude=float(np.mean([item.error_vector_magnitude for item in successful])) if successful else 0.0, - tx_gain_db=TX_GAIN_DB if loopback_mode == "hardware" else 0.0, - rx_gain_db=RX_GAIN_DB if loopback_mode == "hardware" else 0.0, - attenuator_db=ATTENUATOR_DB if loopback_mode == "hardware" else 0.0, + mean_error_vector_magnitude=_mean_finite([item.error_vector_magnitude for item in successful]), + tx_gain_db=tx_gain_db if loopback_mode != "software" else 0.0, + rx_gain_db=rx_gain_db if loopback_mode != "software" else 0.0, + attenuator_db=ATTENUATOR_DB if loopback_mode == "cable" else 0.0, ) return metrics, tuple(results), received_image, last_segment @@ -632,6 +782,18 @@ def run_functional_tests() -> tuple[FunctionalTestResult, ...]: f"внутри допустимых пределов, сигнал занимает {signal_bandwidth:.0f} Гц" ) + def air_gain_ceiling_is_enforced() -> str: + try: + ceiling = maximum_air_tx_gain_db(DEFAULT_ANTENNA_DISTANCE_CM, AIR_CARRIER_HZ) + run_transfer("air", tx_gain_db=ceiling + 1.0) + raise AssertionError("превышение потолка усиления в эфирном режиме принято") + except ValueError: + pass + near = maximum_air_tx_gain_db(5.0, AIR_CARRIER_HZ) + far = maximum_air_tx_gain_db(200.0, AIR_CARRIER_HZ) + assert near < far, "на малом расстоянии предел обязан быть строже" + return f"предел зависит от расстояния: {near:.1f} дБ на 5 см против {far:.1f} дБ на 200 см" + checks = ( ("01. Размер подготовленного JPEG", jpeg_fits_the_limit), ("02. Разбиение и сборка изображения", fragments_roundtrip), @@ -643,6 +805,7 @@ def run_functional_tests() -> tuple[FunctionalTestResult, ...]: ("08. Потеря фрагмента", lost_fragment_does_not_spoil_the_rest), ("09. Достижимость частоты дискретизации", sample_rate_is_reachable), ("10. Настройки устройства в пределах", device_settings_are_within_limits), + ("11. Потолок усиления в эфирном режиме", air_gain_ceiling_is_enforced), ) for name, function in checks: @@ -737,15 +900,26 @@ def write_report( f"- Канал: {metrics.loopback_mode}.", ] - if metrics.loopback_mode == "hardware": + lines.append(f"- Трасса: {metrics.path_description}.") + + if metrics.loopback_mode == "cable": lines.extend( [ - f"- Схема: выход передатчика, аттенюатор {metrics.attenuator_db:.0f} дБ, вход приёмника.", - f"- Несущая {metrics.carrier_hz / 1e6:.3f} МГц, одинаковая на передачу и приём.", + f"- Несущая {metrics.carrier_hz / 1e6:.3f} МГц, одинаковая на передачу и приём. Сигнал в эфир не выходит, поэтому её значение произвольно.", f"- Усиление передатчика {metrics.tx_gain_db:.1f} дБ, приёмника {metrics.rx_gain_db:.1f} дБ, режим ручной.", "- Антенны не подключались: они создали бы путь распространения параллельно кабельному.", ] ) + elif metrics.loopback_mode == "air": + lines.extend( + [ + f"- Несущая {metrics.carrier_hz / 1e6:.3f} МГц — внутри целевого диапазона 200-250 МГц, закреплённого Записью 018.", + f"- Усиление передатчика {metrics.tx_gain_db:.1f} дБ, приёмника {metrics.rx_gain_db:.1f} дБ, режим ручной.", + f"- Антенны разнесены на {metrics.antenna_distance_cm:.0f} см. Аттенюатора в цепи нет: приёмник защищён ослаблением на трассе.", + "- Использованы штыри, рассчитанные на 108 МГц. На рабочей частоте они работают как полуволновые, согласование плохое, но для этой дистанции достаточное.", + "- Уровни в эфирной трассе не контролируются так же строго, как в кабельной: возможны переотражения от предметов в помещении. Прогон служит проверкой тракта устройства, а не измерением.", + ] + ) else: lines.append("- Оборудование не использовалось: канал замкнут в памяти. Прогон служит эталоном.") @@ -827,7 +1001,7 @@ def write_report( def validate_outputs(metrics: TransferMetrics, results: tuple[FrameResult, ...], tests: tuple[FunctionalTestResult, ...]) -> None: """Проверить состав и связность полученных файлов.""" - assert len(tests) == 10 and all(item.passed for item in tests) + assert len(tests) == 11 and all(item.passed for item in tests) assert len(results) == metrics.fragment_count for path in (SUMMARY_CSV, FRAMES_CSV): @@ -855,16 +1029,45 @@ def main() -> None: parser = argparse.ArgumentParser(description="Lab042: передача JPEG через кабельную петлю") parser.add_argument( "--loopback", - choices=("software", "hardware"), + choices=("software", "cable", "air"), default="software", - help="software замыкает канал в памяти, hardware использует PlutoSDR", + help="software замыкает канал в памяти, cable — кабель через аттенюатор, air — две антенны по воздуху", + ) + parser.add_argument( + "--carrier-mhz", + type=float, + default=None, + help="несущая, МГц. По умолчанию 435 для кабеля и 225 для эфира", + ) + parser.add_argument( + "--antenna-distance-cm", + type=float, + default=DEFAULT_ANTENNA_DISTANCE_CM, + help="расстояние между антеннами в эфирном режиме, см", + ) + parser.add_argument( + "--tx-gain-db", + type=float, + default=None, + help=f"усиление передатчика, дБ. По умолчанию {TX_GAIN_DB:.0f} для кабеля и {AIR_TX_GAIN_DB:.0f} для эфира. В эфире предел считается по расстоянию", ) arguments = parser.parse_args() OUTPUT_DIRECTORY.mkdir(parents=True, exist_ok=True) + # Файлы прошлого прогона удаляются: иначе принятое изображение от + # удачного запуска осталось бы лежать рядом с результатами неудачного. + for stale in OUTPUT_DIRECTORY.glob("*"): + if stale.is_file(): + stale.unlink() tests = run_functional_tests() - metrics, results, received_image, segment = run_transfer(arguments.loopback) + carrier_hz = int(arguments.carrier_mhz * 1e6) if arguments.carrier_mhz else None + metrics, results, received_image, segment = run_transfer( + arguments.loopback, + carrier_hz=carrier_hz, + antenna_distance_cm=arguments.antenna_distance_cm, + tx_gain_db=arguments.tx_gain_db, + ) if received_image is not None: RECEIVED_IMAGE_PATH.write_bytes(received_image) diff --git a/protocol/bpsk_radio.py b/protocol/bpsk_radio.py index 064995a..9f517c2 100644 --- a/protocol/bpsk_radio.py +++ b/protocol/bpsk_radio.py @@ -31,6 +31,13 @@ SYMBOL_RATE = 20_000 CFO_REFINEMENT_HALF_WIDTH_HZ = 200.0 CFO_REFINEMENT_STEP_HZ = 1.0 +# Пороги разрешения частотной коррекции. Значения из Lab023. Смысл в том, +# что при малом истинном уходе оценка по короткому маркеру состоит почти +# целиком из шума, и коррекция таким значением портит длинный кадр сильнее, +# чем отсутствие коррекции вообще. +CFO_DEAD_ZONE_HZ = 15.0 +MINIMUM_PHASE_CONSISTENCY = 0.55 + MAXIMUM_PROTOCOL_PACKET_BYTES = 4096 # Перенесено дословно из Lab023 (tests/lab023_guarded_cfo_correction.py). @@ -800,3 +807,35 @@ def radio_frame_bit_count(protocol_packet_bytes: int) -> int: + RADIO_HEADER_BIT_COUNT + protocol_packet_bytes * 8 ) + + +# Перенесено дословно из Lab023 (experiments/lab023_guarded_cfo_correction.py). +def should_apply_cfo_correction( + estimated_frequency_hz: float, + phase_consistency: float, + coherence_gain: float, +) -> bool: + """ + Разрешить CFO-коррекцию только при наличии + достаточных оснований. + + Требования: + + 1. Оценка находится вне мёртвой зоны. + 2. Межсимвольное вращение достаточно согласованно. + 3. Компенсация CFO действительно повышает + когерентность известного маркера. + """ + + MINIMUM_COHERENCE_GAIN = 0.02 + + return ( + abs( + estimated_frequency_hz + ) + >= CFO_DEAD_ZONE_HZ + and phase_consistency + >= MINIMUM_PHASE_CONSISTENCY + and coherence_gain + >= MINIMUM_COHERENCE_GAIN + )