From f69e8f1c06875ea4e3728b3764c0c5a34f7568c1 Mon Sep 17 00:00:00 2001 From: Tonton Th Date: Sat, 18 Oct 2025 12:12:18 +0200 Subject: [PATCH] better explanations --- Module.md | 35 ++++++++++++++++++++++++++++++++--- doc/synoptique.png | Bin 7134 -> 8620 bytes 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/Module.md b/Module.md index e4f3710..61b7b56 100644 --- a/Module.md +++ b/Module.md @@ -2,11 +2,40 @@ La TetaDrum est (sera ?) une machine modulaire. Chaque son de batterie sera généré par un module séparé, déclenché -par un signal menant du [bus](Bus.md) commun. +par un signal venant du [bus](Bus.md) commun. On pourra ainsi adapter sa machine à la demande en changeant juste un module percussif. Imaginez un concert de huit grosses caisses... Pour commander un module, nous aurons à minima un signal de -déclenchement (`trigger`), et peut-être des signaux auxiliaires -pour contrôler des choses comme l'accentuation ou la réverbération. \ No newline at end of file +déclenchement (appelé `trigger`), et peut-être des signaux +auxiliaires pour contrôler des choses comme l'accentuation ou la +réverbération. + +## Trigger + +Ce sera un signal `TTL` (0-5v) dont les deux fronts pourront être +utilisés, la largeur de l'impulsion fera une bonne valeur de contrôle +analogique. + +## Génération du son + +Dans un premier temps, je songe à de simples filtres résonnants, +construits avec les inévitables ampli-op 741. + +schémas à venir... + +## Sortie audio + +C'est une partie sur laquelle j'ai encore des hésitations. +Il y a au moins deux options pour le traitement de l'effet +stéréophonique : + +* Chaque module gère lui même sa sortie stéréo, avec deux voies + en sortie, ou un réglage de *panoramic*, + ou un retard droite/gauche... + +* Le module n'a qu'une sortie audio, et le mix panoramique + se fait en aval du bus, juste avant la sortie ligne. + + diff --git a/doc/synoptique.png b/doc/synoptique.png index 91aa88398907b17227b87e5fbd91a2354d291f1f..d79623f6680bda5e8b17918290bec5ea9b964d68 100644 GIT binary patch literal 8620 zcmd^lXH-+|wk`q+0xBqoN>xCli+};?A|;}LR3#Jz0RgF@haw=oX+o1K5=6Qb=@5D+ zAXQ2Tgc3pvJrE#V@bkOljJ?l2d*5-#{c*kN|*7h!(_k^W{MfERyWg#QuBm+KD)b&VNMY+Em+Bs_97zMnKqGQtiESPao zp|xv(v+~Z%EC${F@GAl~42t>F`7{A~lzw_3xIKeno_;*166K5Fo0(cpci-Pq@(=y6 zzklS!<=#1e;pTh%{HFII1HOJ)4xPx0t}$9Wh$Ca{f^9*l6(%>KhwNwQ`=}}J(o?_W zq;F8*eCMw~M&VC(j{FQACHb{~9tftq@OnSe%>HF(?3X9;WrulYam6z$1Av9# zDFpx67XPqJ;j560t(Yb1m==H9ntZ{Lb6?%AX}#|>bksqi1^GuPZfSh-XZ?0ah&m`; z#;xV2>+cNvFMisW3;Q)&H}!bD*6N^#9dGo@3-^;^g6FP z-?6*16Z^%D?u&Dcz8CUhw_;;4Cu{TkzoB})u0o)UB2MZHK-WUH!uHP5=QqCvWA zNgeb=<)Iiw&UMdhXJtNHU96XtJd`gg{qxz?35NvzDMxjin&SNt>9rd^WiOUFYPqp# zHvskMre*#*)bQ55*n_cmw+&r93oLbh6yQ5~r#>0~;zE!nYKW-aVA7F*i1nf+ZU>fJ z*g=}xE%!P)Ofopsgolz@f-+|<6tW?S=f&^4tOp$M$m&>6oNr7l0z{slB zxO6A`GSXTK*zehoe*WY5Dc=p3RJrZoEr-RpIqFj+j*{=%0AYEU7FhsyQ2Ha=k4@SBUQ)A_H z=8qo`x`V1EWdz;RzDiZ5SC27}mSPgi^r(oXAh<>-(V$FeT}$Ra=zM z#PDs5^Rc{@>tg>*6J0NjCUKTRHj97!qeCZ+w&(CORK#$Z-Vj|8)KL9_F<)HP?Qx?H zt~k(E0_*T`ApAgr-@xnOwq|aAF0dxK#8?D))uFNjkBZH4H86HrwFd$Ncgn5;-Z0kfsT_R}01n$I)8P#E0o5w=W^&IP zkKTahyDto!Grj@gH80F;a$^sJ-|-*%IoS}E-i+``a@A-jiTcv;=1!bfzM;~3Qz@A4 zx-(>tWU)*#!lg#s<3V{0GzB@JQyeyQ;_4*6rzM5(S}yl2W;vJ1Ed(-6#$4fL9kpF8 zJg%v7=t+&N)5wsHd88eykYtTC1P=H}L7jPUBc_GI>#Dp10^I`9p|$A(e1Oq$mn;S@ zmB?$Nk}d=bJwF@I+2M4xTyX_1`L&M@8!EhS!nrL-{d@5KvX!SoHbKEm{kmwogr-^A zm|I@*+&~nEob6;{Mo~-J3r94C8D8dc*DFfryW4^_oyt<9Z=t@piRv%WgTkGwsC=e@ zrG|9tp!5jMrSxqZFyD4FxMalQar)fSOAjavwo@vBJ6~#1DrrO)@ytPljpx@Z{uTWU7! zz3VqqmsR2H?f}4`&9^2VltyK{RK*XYs$!8R&QFKDx9tero|<)QMj|{ucxSiTLFH_p zg%oglj(#~9X(9fTC$k7qkx@vRw1^)xKvpR(&8AEUuZA5ZrrLM9+Aoe#rGk;NUzL$k z*pWQU8LV^ks1erLp`QZj<45#CR*74?l!J8K9jCq<(bi#7AQOY0mnO%Sb%mnYm0Nr% zy^RaE(7YO{1a!(`YNU5d=!s)TOzwAY8-4Wk2_2aE;J?B?uC2Y4*ictgWUnPQPk~JV zYjXJQ%BQFwJl#R+On#pALmZ$-<6&K?&x?@`YedOWDQsJLtXKVf3fNXS-)$sWIP17J zrH{mEOxoz{8`6)PnOJa3(8jiT4^8wrK-^=JE2!4Ior6yR@hl>)(3IFKq&*Rn3dXw~ z_3rp3;!?oY4`x4&@FgG;0QsKo>eRvWPYh;_t760KThu0DEW zs}E<3Ak~KkDw%DCZ_0(r`+lm-ZQ(HQpGu$r6iR7TwQ$g70aK1Y?Z!$;9~kR2o3ybl zalRpuo-kw22j;lAX5`i@-Ry}>=Uwn42^4mPmLJxNzqE~Q- z*1}&}2@G%?lb-g1?vI4)gQoIEM-@$2dBQ|GlnUWskLelBrIY-jy%T{#Xh;Pp-uf69 zz>I5u=r$g2Xf?6}VGNaK_a_UQz1ROP=)V>d|3{VaKXgE;1Wh3sUYl9L=e~VENL%P5 zxs;duh^nYWti4Pt`F}3R{?(`I(&EfBAwVea_|#H9koUJ*>%vS3cr#Sjt=Cy>MSH8? zk*+NPQ(C)QPpxjD3`iF!vw&mgxor$s_9due?}agUOxhkx&IAODAy!^2n^@z0`cNb8 zF)lCHbuJ0RZhJLLtilB-Xzf@0l=5;&(M(Pv8|1h$u-o8SW^^sa6qbgXt2PmTY2;;) zZGuJ1duI>jr40%3d^Z|-s)^WWPXisY31W;Nrb=o+=Y~blhN&jYnT$v7s1o6U>HA_f zy$4!Lho5v!w1Wbn@JsG;S$5aOh(u|_mZ}!oM`>^yDE}QFr7Z3oy@7=J<=ae>&kJ#T z-^52^&U|46)@DEd2;E&xfaV#X>MN#e>(HzR8=r@OD+TR!Q# zMV;BE>QxT=k`H3Z&tFpuhB?RPu+AHeZz$sehwd8~u*Aj{zh1VKNQ_S_w+DZ{S2`?R zh0Wjhnb?;#Y^i9Wog4JDE(O#VFhEF!K(wY@4mx6)_uFpS(o;#dBDpn&cu=e#53KL~Cma+1)<$GyHesrIKB4qC>B zORdv+S(DukK6%<-(OinG80rD1itSbcZ#bgsAswZ25Zuo968Q%IMw(e~yDb54*RI%sSyHjA-`e?k3hiY@c4tyi=?RFM{}NO%|_Iupn5<__ul+4AQB>B@;sZS7N7*jJx|)ZNy69%ek(} z53)_W`+4mNF$ORV2@2D=I4+Aj-FQVVIi6`-`hrE!F&3a_wbU@A-*?}~{VA~r`NI-5 zd{B#x8C{pNnjAc;3Ce!5YcsTTu==`4rJ&yQ3Hsj5_Icv+&V?iP`;j`prIr@{0EPad;bvV~g ziZkInjT9R#dGw5`0aWCSnr2iOW$&}m3T7uKIuEHZ^9LeYy64%bwT!}8Lz!ok(9+n{h_il;cxr++$qB zbT+%uZN6pj-++gvc#rOK;k=%M;25%e=QRwg&Qe=)B^@=pKaK#QxJP%soS7Y{xxGs( z&T9DSBD_hqKo^pEf?H>;J8N}wN{58?l8W;q#633X5Fym*aX5wAS0G|t98>*)CkoyG zfR~h&XhVniaq7qCLMpYsQvA%+jI5NxPwm!uR>1xOG1*=7hemvZ{ylz&S%wO>g=2guc}>#OzcTMXbF6DiF^Atu}P7Q7CD*CQ*#xbZS@DV7KVq|Z`C{vTSQ{L z#ly8Z7_qL>x2gELAjTkol+(F}9G&Elov-?Myk&LgPH(ODu?8{inI3b6N7ICKKIsPG zN$)3fP1*TYXO0w6tLDgb5zo>>h^KRD108Un?HR=2lE6xznj}EP%sC4*s%M`ihqRL) zuCg7UUnr9SkEJd6q~ysD6#RxD)3a8UqP#VKV2QaTW8k=;;itipX<*OcUl_ApZ=#L5 zj~%IW4CK!F3w^>on(@u4nzH5h0tqB7%B&+k{og=?9$m%&bCcK-vBMpZ=AsC=1RFoJW&b09e?ShtG|M=o@v-1d)5OV z1y=Qb08PYgewuoYj%KTYGwRmI68H>{2a)Ch5t8p6$rQPxPm4G3j^=Yz^p9?y)^ebm z7g<>q=%Y>nhO#oWNa5OPVduOvhAbf9lxWmKXa7FBMn%u~=yAPd}uwy}Jp*g5s zV<#JJ%{fhlmSJ>xr1acC$gcp2#3lpby~I^vq0Kv-tuqeA(ZS8%d=IvMMAblVw3-xs zgbVZt;Wg@RFMX}szFGeA(%1eta~aE9By|r#?$?}Ml@^;hvxXWgvMY_&fb?U3QdJhI zMvMn&pD0(2@qcZ{TIas=y<3U-E$x)COyP-dZl=ZD@Y#HwxBgW{gZL$dySFPj<;QkF zl?a>r&n>K(f~i_Mr%F!}7w97^kONL|R0P$2>h zAOtLnup5ll$#8BbGK?lmuRE^#bi>yPnGH#2&jri)n$Gc$Kf8|X#0nb^luVs5a7YBp zYNOW9AyMfkiOJgj)Eb-duEx6A+YH+Bv-rZ_VPKnwbdGUxwD0Nkw|iRIDutbFtnG|Q z0=QNsh`&gJ=%5TxPwaXsL=F62d*Fy%6zW)nf|1(KA`a$a5#(8dU>RxY0k(&uAlf=+(8HdRm&uj^q{ z9r_sbQWa+KO?zu{z4ceX$uB||-1Ka&_kL-i?=PgHQJCM5G|a81*-;9Jl8>>uTa zt_x^lHm5cDF606bQy>3>>K5nxpi>AP?d`dIR=(zwOkX$JdDHHR#HfV>wXiYRc(*N| zm8nu;au%=t;LCFRSprX`e?whuYYF3XDFNP1FYw=@cA=lZ)s~c@s-oz7oW^#F8od99|>0|7~#h zlLDW1=z}`Mn@odC53rM0gi2DuA7RX8KwpRk>WZZg0U~=icx`7A>R{eyfUgkw?y|5o zd?54&cIbwzpRo6v`58E)eDQvM30ewkWH@1yIwG0iP!6g0LToT4^-}je|EW^MPABvD zrRhT!>a`b+#lRD@qwsd3|NP0j^~zUF^|}+%t`dD2jl>Q+d?QNJRj`<~%Wq9OFJglR z#dhJERhghLxsF#Jb4~~Vefr})Kfj-zVf&!`rXEA*1bA$LZ_Mnh`r#DWMV&F4*ZV6m z;|5QXw-V8_i&~Rt7A6RV`i)R|!?7fZLM}7~5Ht7f=4j-d~?As&(=G!OF6yp!+ z`|GyXqB(t~)NPdj=Bdfg!hO10r^l{srM_a|2~s#5AVI^Hd4LnnW+}qzz&mQt&Pw|ujG10sxK`oa~J0O=GYD0_G*?wOj zW>SCLWO~{Z;jZ@(wQp4YeOTxbG#PAq!lsV;uu2TPAtO-7y5;A#lo8qh#D42cRzj0c8ayu@MPlzKPmSyDdaHAf>Devb4tqKW{(9V ziQrVY%wM6+5pwmSa9K4{YAfXJoi=*MJGE+rpSxjoMBIr=v<9_BezhKi>x*S=Lit(g zp00riv0&F3n%+MGQ(U4_E27QnD}1kx`Fym3H~24>+DwX$d2B9`pTWGt0-JvA3C*<> zC@6$4H|Z$V-e~vgx42lOc)0bOa}Wd;;J`@w7wlQykd;inANC#t>cT*a2?~{09@JM)EIPI@6G+p=SmG3>ng8+0$nvOO7g-V<-0IZO;XD#&Mmtd~FLt*AbHaoF|{U&*8S!(q6Rqox%rUB(bbg8Joe zb^5P5jsM`i>96VD4j-+=tM^z~8evdZDbzvJ;ocFw3^OZp;Jp4j~Vh}IZU^vSW)h1Tw|-VWiB#oS>2<- zg3*5uj!Yhe(>_px;2~?}^^m57F3&9Qi5;S5vnGYQ@%Uyd9T2}8Zm5j7QM!%Wkf;tS zm#B#GJv24oaQpIP{eUxmn&yBcEQPFbO#lm59O+^UtrJ-4bv5wu$kiIT@BR5!CL?*s zUdZdLv`)~8-mBJKOuJH5l^`Naq<4J7s(3hH=@gQnd93y)zl?-e+aU{_X3kkREcHob zslF+eAG$6SwaWY>oLe?--)G448gGnzu(^mjb&H6VFR?F@UF=Wp+1;PzJXE-|MdUtQ z$-%JYSvm;$Js#qRPMWSgmyai#7Hl^OrVo|BpWR*Ksxkn3JYHe?xX?txVdR~k z-8Vx~Z#*(QvwiA%T{!#|Gos)6*JiD2{mRW)YVwWtXi?}mps&Bmkkewt4hC3Gf)&=^ z^AH0VxE3bwDkm@M!LOShb+ROQE2(&-Ugc%a^G}eV#Kh=?^u@XPj;bcOc|Rj^{&>2m zEv3EhFD-pGVZ2Vgx*f%N^d-Pg-Xh*GyF{V5`d7rIWw1#8p^-8cG`f0ZvSP);u;8fCR=;tERrm<{KnsJeP94Ox7L zzC~vE8}P2BZZZ=q#lj+C1_|G}B*EJ-6lhPDlG15&$pc1eZF5zvxWq`MS&Zocx$B!Q z60Uvt?f>8U9PVM$_65>I-pLp#WW)b0|EKVnzC}iMM(lJgz`xaw{}UvVrDnjbLw2(8 zK!wNGc5I($je$1>jGv9pwX0302z3)2vywBNdzi01fuV=s4)mEdXVxl4=BcleX zE9;YyU1cL9BR9Qqxj@#=GFx%^p!5c5sZg#_QQhREMcoXexm=?6Rx$N9fPlTBuRQI^ zOm$y5xqGvT2ucYG8&elClaVodfRvvZ`ekj+I=wVp!oYSfepBpx9Iauf=*vsR%~l@K zL;b8A@fXF?&-6BTqp6&)K?S0WdA{Wfn9t~aVlelOSD~Qi&WwB)bt_EYQkTK328)NG zUVxt@GQW-yjo3JRCb}ZKlC{FuNSaY(rBXimA~!OwsekoXVuqUd zs)+L%jdT}&L2)W)L&GP`%*vg=11!*7Gqi?JS`Sm#cW0yIy|5o_n`vr#wDNsF+=nf| z0fn2`B21GZTxaWSLvl@;>TQmdbO<}?97fxo8sVc^cDtPDA{G*uhoIA!y6mZL9l{2^ z?WBu%uE=!tbNvIk^WZPO~Hz^o`RrHN@c~FVL%p1+oC0f5>YRd_1G{Pm0}Vy?wUn<4fd@rdj~j9 zC63aeCxXV8lFOG{3vI~WX*U5}>TrIv4y$oLcCL6$yXM@|nSd?f4 zqEXt}wuI9%ECeP$tJI3(Z-9Ik;=j>T*c-EIv$lE#{6Pc}N!awuS+H`SVXbcGpd9piZkgr(PIEmU5CE7{G zGZPCjuyrs4{TE)R3IRjJyL$f*XhR)Qq#=vgpw84o(PriJQ}kp>uyAV2XGFSN^8{+z zDL?(Z_*ol9!pIU_FJsk=B9+*K!L4Gwn_5PsY7D7LT1HmDr8pgYkd=~=EfFh_Bq6dvT!h=<&2@?IMi*Syu4Nx~nr>C*=@iq^ml z^%%>%>ND!!Pv2EH2?U{&&CHxDDtjzTJ0k)KhWIJC``EXjH3Z*PeS0H0gEDKIT;2;T zQIx|eO?9O-D&y=$nXGDb8&&R{DQKXr(yWMsCHRX^#c5MQA<3MzRdhZoAyerVA9$Br zX9oYe=i5uD)m>z1&(#y}4(p|ESL~w+BgM6zY#zBITz1bUP?*r>6z8L$rJq{_e1Wet zu@;&!0ZECC?6@EK`Cqr<-sm+Ws*))frZIH`GO_f#)1yCshsiq8wyz&-ONU<}5n zdA*#ZMf%07ZbCI~gr%|SGoyq`7o$9j_eGy%?%bdtM?a?#b(k;#Ua`~jq3~fVgpaNQmdjEvC56P_a7EB z{P@r)%^6^rBhm8{{^9AK-Z}2#M8||Ww)x9Z-@RtPBreXIh3O2fLZBvb9sM?rbMOU1 zC1h1OAV6z6?MvS=e2>s-P#ni73Pz<_Jg4C*J?U~`YCUW!Br@-Rosk#rVrDH!hbNt@ z6f8Xd?y2Br#wS)uuC?C};E`?L;m@CX1Zp~}GRS38SYJDmiLPo@JnJd2l!{RVL}2Zo z%JWs@ibqKuTVviyZ7HsY#+Aufz9Zqvoxoia7(#aJIaTo9!|D&1(T!v22Ut51|6Gge z5WegnWSRQtM_X`~5n{)6AoZS~u8!s?KQkA|3@+w_1K!I@Nh%InBcAv-WYh*~qWB+A z-4zo)#OxL{_X>*4M~(EQai|F7Xb+Sth2*+8T+6wh8;0?O$lvue|lPRTnVn%U`lmiUZ2sI6mTgm zMsFhCPS48MhSCYd<@`*lAk(})nJsM1E%D;D4zFWW{Stjz83+FdQuNR zX>$bE=eg7w*nC92(%i$I)p`Gz!LwFY^3u541brG0^q48P4pi-9KC!GTnCsZ!%1p=9 z5DMW49#!e*ty62M=K*c$7~bqN$5YfT8@{YbICJ5X1we+@mSO8)f&W&mtTTh& z#xJ5sxyoB14JGXyo(Ur+w;=$biZ{FE5DmR>4_wmX`#v2dwqqRg+4gTgwn-CP=4~qg z$989bHRxNhdgpzi_EUHKDKNyivp+A3uRk}OqnE_9F?hzr?yJLl^cUQ(1NI@pXGt8# zaZbaQ#EJM2@iSrHlIr+bd@g8o+JlQe=;I;xiDJ@X$Tk1N$E6*oum{A-w)(e71&7Ro zBM0@dRbuWGnuP0=I&&1v=RD+7AB!%t6D(VgV^nxyV|lVNf2iO~YA9`Z;iKa*fHZP< zg=fUYtA$BhI(?8dopuRT6Q$pjuopL_)dM~WUL@*K=bPVvXJ(~%ww z*s~2Z1*j$#n`<%tauSO%$rjcM{ceoM6F5N<=3_!laz+-tTOknQI|7%4)Q|U6W7+_D zOOhc=rkL#%F``=G+moO&nDsgI8pvGtvy{V9dUUSrdd1CLIiH#H=qlE70b6#RdPhPF zUbR)O^~VNHy;-e47FxhtC2P>EHue2w+~jQ=A-kz>WrG$Z`8&wKk!62eHsSdtet}sB z07PZY`C0%T78lkh6j~Om)g_cd5G<{Qmk zHHOxjXw(N6Q2PZnwx8N z*hwe%gxP)8nm>`Ay@7pDkQeKVtV_FQ!XQm*jhWO`a|c+9N@7tc!4sI-pf5v!d=#sh z-Rt*o*W6g}5+S((atfdcl~<$ZG=kUKMn&A)^jo$&e_RQ<2o2fa3Erq#MvSk0tyi5w zQ^~txO0<^K5+Tk7(-u@Z;xFMGrTRaXwObL2t+{nH-Z**n^b-iGe?BIsp{dw=aIfSM zTk9(0vDFZlpH)`%&{%@yD@=onHKwntt~0`lfV`GV*re z*s?_ZMVI(*>;+sAANP)_9+#S<={kWIKAROoxghwq=_gOC0mUs6x3lYbS73<3a+%}` zAJ}Vi#6zuk6T^itu4a;1AKcpBE@8`z1%#ao5(QEqK{FOuXr1pg)VZa6cONh*Q>E5{(ZY zC3G>BlQvt+CEU^2r)D3T?+5WY`W4t%T7sD3r=cCA9ob1P`o7vnuY6-`)%e=1>!A>B z-yKn>bzRU%rq^B}f8t(JrR-8q)(i2c%kF^Kszza`rgqNI*1>OLl~CAD{AsZU{JL@T z%gOvll~J32n0;fZ;s%GP(ZZio=5A84(gOzdIy$8Me~5#cYNsQ!D(G_|)N(+N*xOc& zDjX-x6v83#$1kLz-RyBonF4O6hY5OD86eKk3)`-m%j>Vfqq{OBYcbR0ysTki+C1{T zJQHzw`GV^7k^U*O%?CbwBG=EF!*iq@!3U=)jbMgGe>2#4D#L^nxPzE^45c-$5(3 z{^9^&utdBR$fKh$VR(4pi~ti*&!_kwK)_(l?~|?T5m%5(!)hb!T_)PKcBkHAw>U6y zsj0g`tdN{K7d&c1kb5lpVMH@thjfvQ2O=qm=|q~oZo|X z3N+emNQHsXJ@{?)C;h4X@yY`$zhMz3cnADDac$vt=?P(_Z<{;7p(h@W zL)=9uv%TNTb*LVUFN|WRU%|%cL5*+Yj()i;w|ULNs<>Bo?VpTnv@|wkQ?`J!8MyGaUR;}^ zaeVq?wHi#}JkFH0%K7lhk<8lL@IP7i@0Buj+IdoU{~rPxM=qJrqrbjpzdhpR@c-GY z#oN(E9tqLL{_K)D(iKq`38p_qHjYM$`Jmq@9{-ftK%Ba$KJ|N-|9GbM(J=+b?jW4Q z@7n(=#{H+Yf>$(&x8HK~^8Jl?sOFr{rHj2rD|ZDH#J+sW9$%AkG(2SINaTwC`(VN; zT;1{=-p=n>Rdf%oH=KS@9=_5uN6+!&zy@pkDu3nDGS*_h`Bi79Pi;b*cu$w#`WfvC z=c5-eQ=o!DyZG4f(785Ix6#? z4TgG6Wph<%5Jd*0l+t-gH?d~8&HAiOcgoH8wUv_uAb6!tqFiRWLI-loeaOXUVBJdK zdiuUOWJBz!n55+DpPVb$bMK9MP(qHROc4>7f61gD>mAT8P0sb>;5I`&eMER3I(#GR ztFhITGYMMhJ-ry4SK0AQfH@nUp1x|7jWJd-}& zP~4<^U7hIxmWj4x*H-5wvTKU%Jz?q-QaZH$lpQp>f>Xucat9oH2DVgk2VUY>$TNPD zKYiB=3F2OAH^q;!=vQ$pX*BA;@p5!ULgiCDQ+{h$zD`+Cahdp=nH9aWE&%nd=9g=8 z+Ns}sEEKHxOaDqI0C(dm5Jrm0bSum(I--`!jT&%CB>DICNSv27eaUK9XQ#;bP(gzK zJ3~WNM&sxvCV(3Mxv>s28sP(E6o2XQhR`|v0c$pE3vhI@P$zLGdy7!I}=f3BI_KZ{p$5cNe8u#eBXqg%@Ie1uw@N zD|5cUiH9UT*lPDKA28i=A?#}-1I_5ui;d*BDi3ecp3@rt^srizcPFzN&EHPoM}}nY zbzK+^y)_003i3Uuof`oK^t$%XZV(-RJOYE|_^h(-`!|6cQiG@@Z?}YTsKb`5o`~lP zqAg|(n(U8TlB8LtCs&)yns!?o#E?3U->OA>L3A)>md79(hfoF|U@v20Xm=wJbb~`r z+kXLK7QF0a6%aN4WNG%RLUMuj7T4cS{PT3S z`0gXmmck){nsMX7!irfID(Jq<_NdKu1=O%f@9&t4?K{DdV)$^}^&E{>S-zkbgSMd+ z?}1J?ID|7~KboGbCq9#I_)a%ki)DF!VHj)Zabz+ZUf>%dFl(2pdFu0V=Z+f_>GQbv z(J3@S=dkZ7-KR+QD;JRtug9G|T{HtjiTk55nXs&rr9pGzwi><=jgdYj=OGa0AQoP% zvsllsrQw1jd$9d^Cj}aoy|XR)WvenY&e3(UB&=F{GdaqN?sM8+3^Q};C;Tpjf}h8r zvd)!9Ej=0{ffudz3pC#;H7>aYwA_<7fzu{F)QwEVi5QP^Ne1rna6R#(iu^s%q!&JS zQ#*|3%zIb-Z_4Z6Q_=s;@EQ5q?AGNBh@0A-_qwEC^tFFE`1zOV^$$ly|KVROTwEC; WORx;!-&6fLxC5zZD_1>#8TLO+h?+kD