From 58b312554dca6d4190f2fcdf62b28295dba01588 Mon Sep 17 00:00:00 2001 From: EillesWan Date: Tue, 1 Feb 2022 21:36:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +- README_en.md | 15 ++--- bgArrayLib/__pycache__/bpm.cpython-38.pyc | Bin 1332 -> 1331 bytes bgArrayLib/__pycache__/reader.cpython-38.pyc | Bin 3099 -> 3150 bytes msctspt/bdxOpera_CP.py | 62 +++++++++---------- msctspt/funcOpera.py | 62 ++++++++++++++----- msctspt/transfer.py | 4 +- nmcsup/__pycache__/const.cpython-38.pyc | Bin 9852 -> 6179 bytes nmcsup/__pycache__/nmcreader.cpython-38.pyc | Bin 5610 -> 2836 bytes 测试用/铭刻时间的歌.mid | Bin 0 -> 104074 bytes 10 files changed, 86 insertions(+), 62 deletions(-) create mode 100644 测试用/铭刻时间的歌.mid diff --git a/README.md b/README.md index 226755d..32c853a 100644 --- a/README.md +++ b/README.md @@ -89,8 +89,9 @@ python3 Musicreater.py 3. 感谢由 Charlie_Ping “查理平” 带来的bdx转换功能 4. 感谢由 CMA_2401PT 带来的 BDXWorkShop 供本程序对于bdx操作的指导 5. 感谢由 Miracle Plume “神羽” \带来的羽音缭绕基岩版音色资源包 -6. 感谢广大群友为此程序提供的测试等支持 -7. 若您对我们有所贡献但您的名字没有显示在此列表中,请联系我! +6. 感谢 Arthur Morgan 对本程序的排错提出了最大的支持 +7. 感谢广大群友为此程序提供的测试等支持 +8. 若您对我们有所贡献但您的名字没有显示在此列表中,请联系我! ### 作者\<*金羿*\>(W-YI)联系方式 diff --git a/README_en.md b/README_en.md index 334034a..af1de93 100644 --- a/README_en.md +++ b/README_en.md @@ -83,14 +83,15 @@ Musicreater - > function (package) - > the following four new functions ### Thanks -1. Thank [Fuckcraft](https://github.com/fuckcraft) (“鸣凤鸽子” ,etc) for the function of Creating the Websocket Server for Minecraft: Bedrock Edition. +1. Thank [Fuckcraft](https://github.com/fuckcraft) *(“鸣凤鸽子” ,etc)* for the function of Creating the Websocket Server for Minecraft: Bedrock Edition. - *!! They have given me the rights to directly copy the lib into Musicreater* -2. Thank 昀梦\ for finding and correcting the bugs in the commands that *Musicreater* Created. -3. Thank Charlie_Ping “查理平” for bdx convert funtion. -4. Thank CMA_2401PT for BDXWorkShop as the .bdx structure's operation guide. -5. Thank Miracle Plume “神羽” \ for the Miracle Plume Bedrock Edition Audio Resource Pack -6. Thanks for a lot of groupmates who support me and help me to test the program. -7. If you have give me some help but u haven't been in the list, please contact me. +2. Thank *昀梦*\ for finding and correcting the bugs in the commands that *Musicreater* Created. +3. Thank *Charlie_Ping “查理平”* for bdx convert funtion. +4. Thank *CMA_2401PT* for BDXWorkShop as the .bdx structure's operation guide. +5. Thank *Miracle Plume “神羽”* \ for the Miracle Plume Bedrock Edition Audio Resource Pack +6. Thank *Arthur Morgan* for his/her biggest support for Musicreater +7. Thanks for a lot of groupmates who support me and help me to test the program. +8. If you have give me some help but u haven't been in the list, please contact me. ### Contact *Eilles(W-YI)*(金羿) diff --git a/bgArrayLib/__pycache__/bpm.cpython-38.pyc b/bgArrayLib/__pycache__/bpm.cpython-38.pyc index 817e667859e1ee50e986102526cbfff1a7fcb5b8..672e09bd0ebca17515c5d5f32cf4eee133f52433 100644 GIT binary patch delta 239 zcmdnOwV8`Al$V!_0SJ^iekQ(WoyaG{7&lQ{TQ8L%i#dg54r2;?3P%e|6l*G53THM` zQB*3!0_GI1g^W?`sVu4N&5Vo;sjR8&8;i=AZJB_kfUq+V7mERj6vi5cECy+YTE-H_ z8b*-X8pdD-O(wrghW5$KnoLCkKt)B8KthvgvNMYo4;zrlz{thO!C0g?xtb-~gyR-V zZe~h;ktj$ZCy=6V$3S|knl$V!_0SNNhekQ83P2`hd^qHuwEtA5Y!qLJI#hS{N!kNufk z$dJmK!nLubj5(Sas0W0dfw))!NR%)vV60(S$XLsm!dSzY#U#y8%T&T#!vxY*!xYS* z$>f*G&_0=2ljRmmZe~jUEe_wzluWnGoYW!#p!On3Afd?|#gv;i*_=g-j|0eMVB`Wq z4#pzo$+;}in(Rf2AcdkJf)hk2fe3LBp$sH$am2^xCFZ8a$4~ylqAbJ*6yjjyVCG;E KQ0HI=vKRpX+%2X6 diff --git a/bgArrayLib/__pycache__/reader.cpython-38.pyc b/bgArrayLib/__pycache__/reader.cpython-38.pyc index d0a08a5630d1970d6ffdadd2e25cbe4c570dcfd0..345313f571d5dde3b9b9a402c193ccadbe309363 100644 GIT binary patch delta 578 zcmY+B&uSDw5XQTvXL@G3dtwZPT|&SlLU7F=H3-3g(P-RbEH6CI+0342nHIDz;>$ND z-!qh8&pyjJ34i>#I@am4Po16j#k;*-|2jTuw5ZZeFs2E=qK&;`XWuQJ>BPX)I$0ec z{973bj;9p+e}x~Fvxf&`2wjOHk8<@TDAh}`I}?f`>}j_Jg1;ilV-yWh0f=ppC!1o6 zy_9oQT~)>ypsJuuD2vy{D_5quE_Dv2!IbhBrA3Xln=A`*O_8Flpr>4)ylpD$g|1&1 zHmPAWuti22BNW#t>Vqh$L5xWy(NyX!45{)%AH#vgsMa6pd^i{#)|bR^Q?#r%dZ^qC z{c78P)02lcNx4}<>$X9SD|#v+3s%iUqbjC+i`49SQXON$|Bh+Ku1&ZT#LBMzbE_k_sFqa>A2TO0& zz;1`&7<&;D*zE@$W|G)TtQ_dkptIBJ!?rf-N&V*h+ut8Y|1K|Y_P< maxlen: maxlen = len(musicset['musics'][i]['notes']) with open(path + musicset['mainset']['MusicTitle'] + '_Part' + str(i) + '.mcfunction', 'w', encoding='UTF-8') as f: f.writelines(newList_conversion_SinglePlayer(musicset['musics'][i]['notes'], - musicset['musics'][i]['set']['ScoreboardName'])) + musicset['musics'][i]['set']['ScoreboardName'], + musicset['musics'][i]['set']['Instrument'])) if musicset['mainset']['IsRepeat']: log("增加重复语句") for i in range(len(musicset['musics'])): @@ -229,6 +244,19 @@ def makeNewFuncFiles(musicset, path='./'): log("完成============================") + + + + + + + + + + + + + def makeNewFunDir(musicset, path='./'): """在指定目录下生成函数包文件夹""" import os diff --git a/msctspt/transfer.py b/msctspt/transfer.py index 37e179e..2ad789d 100644 --- a/msctspt/transfer.py +++ b/msctspt/transfer.py @@ -25,7 +25,7 @@ def hans2pinyin(hans, style=3): return final -def classList_conversion_SinglePlayer(List: list, ScoreboardName: str, Instrument: str, playerSelection: str = '', +def classList_conversion_SinglePlayer(List: list, ScoreboardName: str, playerSelection: str = '', isProsess: bool = False) -> list: from bgArrayLib.compute import round_up from bgArrayLib.pitchStrConstant import pitch @@ -44,7 +44,7 @@ def classList_conversion_SinglePlayer(List: list, ScoreboardName: str, Instrumen commands.append( f"execute @a{playerSelection} ~ ~ ~ execute @s[scores={{{ScoreboardName}=" f"{str(round_up(i.time_position)).replace('.0', '')}}}] ~ ~{127 - i.velocity} " - f"~ playsound {Instrument} @s ~ ~ ~ 1000 {pitch.get(str(i.pitch))} 1000\n") + f"~ playsound {i.instrument} @s ~ ~ ~ 1000 {pitch.get(str(i.pitch))} 1000\n") if isProsess: commands.append( f"execute @a{playerSelection} ~ ~ ~ execute @s[scores={{{ScoreboardName}=" diff --git a/nmcsup/__pycache__/const.cpython-38.pyc b/nmcsup/__pycache__/const.cpython-38.pyc index a9303cd70ed03924a772053aa687a48c8d180c8d..54f49db9bd8ccbc0959d80e90a2ce55c59aa69bb 100644 GIT binary patch delta 95 zcmez4v)Di&oKzSk~qc8y2=M_%? delta 3596 zcmbW3$+Kle5r^Ns-Hn71*cXjxdM67O5<#4(%&e-c0!2o(5fMdDo+HpIIO6SQ@H!mS z#(C)WIRULQE21K_g8FB;yj#PKdv`4S@|?GDZAX9S-J9>1Rase?dEQg$)f+Fn^@0mt zyTiYmkNxM4e_gq=^UwJ5zyBWQ%T;jV-{-w}**^}Brx(WyRB&j};c~bF-VASnE8(qh z6qa1*>6Zie^3d*K!s-^b%txDDP9AAs9o7d{9d zf)B$-;G^&{xC8ElyWlu{96kY`guCG$_!N8^J_DbH&%x*6Uibp6;l%01c>E+E?t}Z` z0eBF;2pjkkd>Ot1UxmolL+~~DI(!38!Nc%P_!fK{z60Nd@4@%s2k=Aq5uAoI@MG9J zJuZ&_gbzQ3pTW=J7w`x?3Xj2A_$B-behrVq6YwNF1y92>@GSfWehbgR@8Eg(J^TUw z2rs~&;6-=|&Rxvo&+r#`8D4?Eo;|gDke`3MW#>(QKes&eh6~5d>(h`_Q}@(r7fs&l zY_lwqa!X#NH<@jGHOZ3A6CY+Evj zXCWN7rddkY$v4-LO<7-xTCX-63A1X`<~i|UvK1|*CM~^~72mg&+9U#Q<}UlT)*}jb z)|yJ+oX64X{t;{CcsZMOBAa9KG)l1+`Rgn^2k+UG$a8I8JOR%Atq|I zk+d*XK4r=-GF#?Yh=CI8h4WYQNfouiiE~Z8wD}MbTw$#!wmB{p>N^V|2pOA}SE^7m zftHafn?2P^XH#d-l+`u|)3EPPGRc&4Kb_)_Mr_e}dNfF98Sg}G?b;`xK&sZx;m(x}*sf$mR2rbs);?i``tSRS4097OE z5JlPL&M^{YGbJcHb>&j3<!jZ7EF{-4UfXnL3#zI*vpg zNSGo5DqCr7>U2`koRn8r1_-*z| zo{N-}xc{)|SfUjYH`OzT#$<*^r~0UaWU(^yPQ_?4BWWQ)O<9wAI+VLcQes#{194B& z!h}Y%A!CR|fyfYrMd#B`6i*9FYaac_e6Y&VwhKIUAZK(bbCWaE3|N#~)f`h$sIIUW z^Oc}1k-bdG=)letKDFho&l*~V0_Re=`^3p~V5BiIgnG=3^sw|kvMBkEW@Jttwn3bU zKt?Ra#%5&$vC&(|QnYSZC?|4F?@=;1VWGuy=R4z_CfzP@%me9SL@*nv6UrY;<|cEa zB(Y`!$b*jzQNpT;>@`G%R{=SUf+{gb!a{Ch!= zgT(|OC3GY&lvN#^v-4VD-c$Xg+Nls9$u`|at<0uETXsgR$70?#&NFU$na7-h$S z+t6tn+PGD6+0k?^z=(?aB6;rA1e2cvuhbHS&p9yA5oDqnsiv}4La~j!r)W*ekIYP_ z&Z3d-=s7N1bg0qvq=Yfadt)Uw(CCaZ#(ESz7Ltu6@}_*=ad95Ph}j)b}8Xm zhhFHT&LO#G-@K0g$HYrk-L=PdoxcVsbNVzTT4{4wV?Z}IiYeYHlnr4Mic$N_^u)SK zjEpXtamq`SsF5P=WSbh*8pXyvMw^om<|40$l@d)F8#l=ikE+Mi2F9_+prs`lkSk-d zQW3l%`Fnzr-!2VTWBJ6Zowo*Oj-hE~=yXRbCF9-0voR7F0CZ_$O&T}HOm?O*gFZ?a zi;e@YI(FnvcuC5or`Bu!gkGPB$4MUBg{|+Keo_o|yYTh>)3;7W6GUbSN(?fT^#k$y zr8qP|s0bCIB2#0s#es3)TAgl;0!iumWtOzT@im)QAELhPwI!EW|9G#aN7(!B0ZAzy5)X}s#Usa~ z#G}T;qtWJ2j=7ACCX+vN#wc2X zlybz!=O$+6#m8$h-r@%ukQtwxpI4SzRGgWgH(5;7jM-0Q z_*;TW>5fH3iIqN?NqR-8i7BZ?Mb?v-ifW1o02Q;a@i6kR@(J^4@#%B0@-PAbRFMd|{mgo?O+uVtF?LuKAcP2G*?98>(FW{|V>eh$?^N%&cY1op z)xEJi>S2KKi36-PD~kh>c8`|0ApZrNx%h_E;!H4yD2I@%`MsXq*%=3!Zq;w9UcIV* z@6~(1n%$*;pLIT{RxO6-rTs7bpTB(1Im!Qc@9ewlf(s?$EyYzhL*I_dZuxB{s=~R; zgfmcFE6_#hPh8B1*}IxsIT+1}d5r9!Di)fG+zl#Xall8}0pw~c6!I+f_*Sl`(yupjCA}$6kj9ze zKTGHM8xLPHKj!=g!@rh)(Z2xsS{*R;C>UKpOHKj;=5oPYg=ZE7-{6% zT00HuB`6*~)TbRTp(QJTjAzVanF8dQ3RE%;sAhT}KU!u0bwNsoVAxby%eknP@>2b# zAICwI>zy#I-^|UAf~Z{&(>u8?g2=yRIVh1e= zqD@JL$W?+j0l7x2#Nufy zjYg1qmsWp=`NRM)ZgW%VRtnojb89u7oQZt|$;&OzYqiC8M19-yZf*Nfe6^U8?_s%I zBRC4hI3DsMCVq{UXaJL&D7#%)~=v2{)BmY7f{z_fykMg9aHds$X)6opH5}Jut zMze(8t8|@=?;#@lyk~#N;!_$+wWcK_&ge~bf%G`W2As3&jB@T8%j_+qSEYO!@ScNF zX_f6LH|BdYqSTueyf>H4toGRszwvo*KAX+vx6IdBZ+3@wUqQbt%%-}-WY&Nqfvj|qSb3oQ zVX3!}KDW1&Sy`o_WDEP?@(}TvUk`9h&d&l;RL_{BJahMv|YHm$ZDLml0in1HC zL7!@a=z!W4v}75OvJ7;10<>@fq_D_@vWOk8um|ee<8zpoUk6|-UADJl@j!KzR_f|$ zXT$SdeWTOz{D~4R*h*Umo871ViFX+9eic_h=+*n}_@h83;Kh}5U`;mA z`-F7qd0Ym#PDi#I(rW zBN0)x{2>AHPp*+2xpOg1Ww^1O25(B)mhxLPr6xftXQ*d%@RcaYHL>05ck+_wMM3O& zwM9u(T$npD?>Y_X!YmAN%Y~Csn54O0kJ?G#D!5Kmc?v%u}!{n!dtZye2R{0uz zQpMTiD*6374J&N~-H)R6u#Y>YxLuBuoNqjRZZo4}8lTcVs3jSIfyQmcR5d>RD%`;f zlE+nKs&+AJaSOk8*(MoR6q_H%oW@T*(LPW#{`?b7SysL=5-2B?S*R`HHPtixG+*Wh z7SI+p-s2`d%4G`%Oi?@0`k2~39bPn#eTms87~Gg(@bxi+>k|xa6bx>F!Al1WZe|8C z_zl@BgTF2CcO@%he6D)kPg2a>EwZYkRY!sxGRzJgR1Snc_gDd-xocGBW#_wJg`MMqVYjMsRee zQo%~fz0c96>h)6OC&}f&7lE8E*P>eAk}j>Jf~?KSe(|5rBgsLnp*Joy`AeEOsxK<7 ziDD{hiz;eVcs}(u0k!J0Yoy3_8IpQ`i;&V?HVMXA{*V4ceFp7>EJKQOWE(P6 z<5Ou}q_c)ui?S56r=C!b+FZt1MSo^meyF0Phv%*DDYcp5ZR`6lyn!isfj|%x&QTf{ hYvlXGzgxAF#J!qP{PZc|vYTSy3%Wk9GU%Y_P2a#>F#%d*sfgaMny4Q^~^ zhY)CI_B}hh`(w}km|tt}?C$Jq9%p`R|6A`D z5gA!oDV0*C2M8#glP5AF?!9s2-WxY=-i$0Yw!gPe2;mbM;=3Z)*nad7wRgm~Sq0tU zhHXtv+qMU`?P#yt8E9*7-ud>fhJ(GO=Z^mJ@5lfAmtUWJPkfvCRQSjTA0IvV?t32v zio)x~x2;*3k!fv`0e?FG;4VYw~ru^~d)ap>Bo zTYjBsQQ4mLk$t}->lORH-T@O82WXd*%FO7>_;vp?w#3%`JrY~q841)MdH?+*zZocM z>^*oG!Aq%KhV{#VmExbah|AHw{=nr=s2}J0t>fbIe#(6r;<7I!F25x2GxfcHhq#;* z5?>42F@?*%TyeR3U(aRP-hEhH-UUviKB)0^zk&tla_v%aISl;noX=Y?!@$p*dsqLo zS!7<$2xO>w6ZIxXy@7gzqaLLmb<`uh&w{(^rxD>(_;vKxCG@YRFHYZ$@21~m(QC5k zHCXiqtM2Y^w)&fsz`N-Rg;(yyjhgwEGZ3LmGZ z?PcP4+8&HP+AV(CEq>Zm{nekgiQE~{ck5s4Zx#B}_UG2Go=*w$(ftwZb836k{2O>T zefNCb@^X*wUQb^3s^zl^`DlLYdvktTFEW3w`Pj)ke=>)5x)@okQ1s?z-7dy=XnJnD zbn8vaVKKgEa`@@3+pWk$oUH6Zb!z~%OV+Hi~5YOf6VpH>%c@|ED(DZg2gI) zm@Hb*vrax}2eayM%&L_-Rs&(ZduZ#4t-yTpm6*K<&Ttmnm_@!l3vF{n_$n>VZpL9m= z!CpbxL<3AeEH9+wfjcO3Kg`ATn|@f9;hx)JxHlBHJl(;&TfXk_FCJv;K+H{lwn28{ z!*e+sfqqDtVX!^#5#NIdwm%`(E}hRQO|Odi&TORWrxI611KOM_ zP4ign9PhGo6k9t-;!C3kvd~l2&;naC%P^5O_JW_dlcXlm>1BH!y`AOM2k9sENdoUw zpIqIU5qBW}q|tNBW8#B)I#V>&Tl*)?UQ(T}&J@MIN2=)DcKhVVD$dPht#F+D*uMY$ z-jA)LA6Gc~afPEFf6~$)xWciID;)c{!m*Dl9Q(M!v5zYp`?$ifk1HJeQ1|}V#1)Qk ze8aJiD;)c{!m*DlQSLeVamC+4*(I)U^y3OgKQs*uqu_I*;tEGUu5k3@3P(SVecs%- zI@T<*K5wFIqHLgSpo~(IF8w^xSRCU>$LDp_>r{O;^?1L5Zvu{^8sHa$?}MJMH&gOD z#cnt7hJLiMj&at^8y|+BR`}ozm^IFt3G;1ed=0+W+3iLyaXdYbcIa?~;q$h}_83PO zlERz$M}g-^f-TR6##$wx2=Yvnqn4Y2H{%+dA4b1s{zh*`PNp<`H8k!-{>zf; z&B)d0xfOZxq7r?-j(nFU#WV6S`ZM~{`dh*}nx4L+jK^zd^nyrbA7 zuaG}~opD}Q>ofK)4eL;BF$-53;95%&uc5FdpSNO&dO?V9cpdx=uYr$oz0CSwMCc{WG?C`y&?)J^5-PoY1Kdx|QUS^F)8%wc+thD@+*h{$aICgYq zoxOaGbBPNuz4^6%U9L2drVeVR?gENG)I!EgbS^f9_~=G9ZtohG$vgA4NyM2jQOGnliw7tI*9P;uMR>?|f`eRkP8~hC`JKV` z{BVV^m5sA>(%>Mie*z8@V7!BvoT1@E^#Y&b1d8pwXiiP=Av%NaBH}f!AXz_ZyJt8_ z1o`ls!l@6^VN;T@$%L8aQO?xkQBykXlqn7KxM89dQx7-BHW7E83)p$FMSn$JY$0U`c0(jT}=M(ipXv8!anu96YEN=ED|8L_Km#IBMNQ}<-V zu96Y^FFcZ7B_no~jM!DOVORasyZgk|U5kPmSNAEnoY38MUo=#{*54qOe9=@{+fVk2 zGPaSMVmemSku?FJjrKO$n=4}_{cJT80H6?tLg^P#NJk+Zg)|AEFCvw(Mg0-+esT;q zGczA6Dw&9iKW?0Cu-Q*gQ-~r8p0Xa$M5i9pn(*0wI6o6!FdCiI-X5kx=X-2Rv8S`I z@&%{z2|pB9{aabqEiCJNwbb=;ZWmWcY+ntt^mi{k)p^zby!fJ{MSQWhCHJbofUAhB zl&hSpf~%Tq8`qB5Q~e!6^zX%%HNvrEbw#udqI*1v4%Fi(ME@RfZmaF?7H^o$-3>6A zF6pm=(r+=D(QRK;mKXO|;xuZ?*Y?+l6<>tQU+WL!OzO&O`$^_e;-~8HQ{nQ}bYx8c zh|(?>XQVt9!t3Nu0DwX#6!O2Qg>)^X!;lWEA&)TRItL5I)P2bbxOtoT&|%3_7@jKO zz7p=MD61$dC@UyyC~F+`CmqhrKZIODNo~VdW7kW@y~ck48j}w&+KsYdj)dUdvI| zQu?ligc#~P6a;4VK&Pv{0~}z6nhs?Qbsbti&?Lk_m&BQb-Y)3vvgqxx=ltfwywvX87e#!`v(JsKo){gC}KN?qJTuj zD?>F*t&S_o)p}^%iZw&Ev^O2f8>pqu*@&UAf~^?{E0|NSD+19&8x$hZ zmLk>)f+WIgPleEY=p%*DEM8G_E@$v^`YI?{LeN+ZzQm1f1aT!wi7i)t^*7MYGb*fG5)}h|mMGWISgKgibIlrRKD2hAS^U_VdlqV!Dqmy6H&f@8 z2Y9Q&i-m`FakGmCBhN1CUDS;YX~3+ZHVC(gZ44j@$bl^aP25PS8Ng0B(nh9@P_vDK z8sMKJBd}JC=(o7){Vzcw19tM@ODLA4zB;H&JxOy;tj9{MA>)(Nb9lv?lPQ^`nVcJ7 zFTC?SFtmqqkCcWRKuagqjrmEjykY}r@%&`EEOgt5n&K-%Gap*>2u~4~M1&;~MxccB z7|v@L&Jx;-X^+?Af`1KJ#{0v-^R!{9G>bK$H5sK{!>xu+)=)j|^^|pojzK@RYTgHK zXTWv_Y@;L#gOHCYBX2$w%fa}3*J@kEweSz|eCq|=XCT}>+J$lm+L7g1jw}l^%U~7c zVR}N@Wug^jF_{bo%44R2!PYQK=_TTeJF(wwg%jx~j=#nlf4w!nakPfNH7@=q!cWfs z53N<<#+O=@j@;0n$lt@Bzn)KA9(vWUw^qGxf;=XlPlqMX)@x(~u8|G6wtH#XE#fAh zaJSfBp!UqxV{&(5u~Nz%+tf{&*uG{0T-UK2+aK3j}Cb5u%eO4$B)ZpYI(fkmJf0`v3#hm3s2d#o;^W^L0g8R z)H|r_{d&t#a{->YV7=v;pC4+azN=uHz0!5vto+zU3nA{xy$EzbaBo2#vlMC@Z==44 z0m#V7?fjWkIoL7O1ckR@Sw_Kci{~u@+pH-NyU^c3zn&hy zTqfeJphSVAAZ&6MHmPGu6qsP6D2RGD{W^L;FbdvbqY3!ZMiqj?Mm-30(7(6KVWZUd zbUAI*gFxa8c&upx;cZy9ZB!9(*eLb*GMp#^&5^@KQ(^!c1-`4xVWSG)VWX~WuZMkg^m)ytKU7$qF%;z5#8pupt009Vpe-OL03fZC0I<^4zs9rwCGg9+ zws2KeuN>fD0X&O=EnJm6_Z88u2hSL)sy;eUM7tha3{*{{Kas!K&Iiumrs~*>aO{@E zQ4dBY_7@lJ9IaZbb zi!f1XM)CenT>UE^G~-^j9D8AcvBy{9hmJ+K#<4;Z+vDc);RI8WeHEC3Tu@Tw6&@xc zP3L9crHM$>c^UY)d3=c5h?|Z!Gr4d-w9HH{S|@yLuLI$I#{_mdCRXieFLJaWaI~*- zw6Ae^l2r*_Brdqvdk%yx(?CcZAU?DHm5!<9Iz+L`F|#$+ij$&P<$!mJVy6SX8kI;t zmoZdR9g|iqotz*;J^vz#JK5MvYH8@f`(_~`2x%uHwcj^qB8pobB8r>c`$L;5Flnx; zik*%b6b=Px(|u0sDjX`OeG6A5@bNvT(4v73XpgI)a31J?=%9~-f|t4F|5XS5CDvRs zhF+~Gvi4Uo@T!at=4jj!=#+7lSHu=O6my2RKv=Y64bJy2oZb`CdxGTw9`8M&2*<`% zQRH-NY@2qwYumKj6L+<8+P8337A0<*nl=u#$h{{dL5L5WI6x`zy3f5Q&{4)!&d70B z&bDbIxVB9jK5^SDvD*{&gh6DHhm5!?@?0{q+g&oU+Y_fyPWu+F%DhAw#p%043r~c^ z0ZM__#N43;9c5hQjGQ1N8^I+b8$MA+6|`4z)#SND3mWHBM4Gl7+-*h-Jhe=diO6k6 z5Sj}SmDqF=%xM0jFURJX4p1=);)O~g=6F=5AK!Fz?6x9+CqszK)MZ6>Fygi%I`kux zYoXZ)u7zg9CoZ(dC_p8Ui$}n77b)r}HyvT8`efpWuxlK9fg^QT{FjrZ4#jm&tX=2C z+CS&S+I3E>UFXpIbxy2ZC!2VkpQX9ZX|?xsPMZN91Ulj?j^g-?~Ag$AGMd{c#AX!A{#pH%0YDtxN^ zEHwC3=bId!BLgQmGdIl9f)gAq80IL!30|2GbF|6%JexbR}RQXADzNx~e%FjZBPj$Yj!Y{P>rpiyM^Gy{#Rely4e5&(J6@H=3 zH&uR8oo}k}sq(YX;8UG%s_+YKzNzw)>U@*K^Ud9G_n{i1IB}v|EE(n-uHjvWwh_&V z6MP_S)wf&qSjq7GBk-Bna2G6bD*goD30os>vsfhfR4m6zt%iY>!*zM&d-L+FTrUY> z>S5}99;_12A?kJ1IoYQY$qO4EV{pyq(c<4*{ zCeGK*KX2WY{qh=3*{__hv~Ow8@&!tmdNXxCYiAMgB87Sfb@`q{KHt0hrTkjym+wMk zUce3S?st#J2>_)p&K06BtzRcUGwWY(&By1df46)Vwmo?3cVY9NUcXb@o40-+`Str2 z{^qT?zp0{LLtU2+UvO*takhT+9Lr^(3BGYslsDNDbZhO z@Ttx>RrrNA-&FZYb-t;>r^?SlgHLt7slqR``KHQGs`E`1K2?4e8honrO%;Bj%{Ntk zQk`$A@Tu~%(BM;@Z*ut7!`Ay&O7*^#QoV1bRPS4@dK%6x7n#J#8cxf_Ef-yP%f-|? zu_yJu`mpuBn!0-5Pnotq&No==t@&^)gn>DZy1w`~lO1&(2wvyw`2Wh+@tkc{=UUsZ z^HUAi`KbmDxz=Cj7ZitEd$o+Clrjfn>ZVL=Uo)Io&$`Z!1Qty}$c^BxdlHCqlsNKa zg!&XC{HIKnUE&`aBP2K6)65`;nPyrujfI(lxL&&yvE(9_rD8Z(o-w?MtD?N<1mE|c z;2V3+{rVnSdpW#p=Bk7rz5+P0nTy}#ws_1KuA*J@D0q~8cOZd)93<98Gmq};Tv zP1NH;lV=&Sl(x79d*d^CWs6&|w^ZAc%{SF{y(Th-tKmnl32~wteo}4MHbN>0I@(5L zI>^U7<(iv*dj+sn7Q9Sx>$H*&KayIz9y4P&1V5F~k?HXe{G{Ao4ewl`Y8Ra(?F-G` zw5`Sc-a=i!X}QhqzO&HenW}$F2A`^bO9r2+e@h0Rs((ucpQ?XL2A{HjQ@(bhpOo~C z-9Q?Aal5xdN*}_ zCL(iK_vcytygsF$pAEHNw??S*v!T2i73%TJ-CqTN{8N-+!>6g60Nl*W^qYDacx8@x z89dWJ-+Y^K=33tFdAjMBFz*uPT~5gluiJVxbt4B;H+-7X_ znfwMmYG~lGUgNK%YzIGg5;`2}Z{Rm}9nbbbo)zSN!7&tK>uMEO%cCg1ht^&LFST5C z@FU}Vd31<>tzhxU@f6zS@h*8JhF{EoXzgja&8_?wnmqM$tF*-;>$z3hqR)DsoqoGs zTeG*@ZE8($%mRM4sWl;#mq@i;uPu&!Ku51FdDP5jt-0y9hv6r}CF$t3sOhBIUZ-eq zbObu)6MpICQf-&xY8=gvrsc!0Ev$C0n8EDjW)CrYnyGu?r(=%EV{;=vw>)PnZ!i4m z#tbH=HGG=-Z1KJ9#fyJ0{ItDIZg0tASYv<5`XB8WH!C5c?d&b)_2q%#&fYrx8naiv z##}SpK|BAz%vHuV4(|nkf9^EAi@=%xa79_HK2F$6eJ_Z6sqcm0UIUU&EsCU4pIgB2m-bUTd zj=1{GI7WV^?&j0oAB10(6|(qt_j}=&fTywylq$<$(J8m;Mh>QK_%ij`;?I_UFZ}t| zn~{%^v#Bq1d)tJ5RhEHLWf`oxv7co9rNF5y!wm6fYcJEqH+EVBpDN2hDc8N%j-B4| z<>zK|pZztFo7v$_eYW!U!k=w~I9vR*z3Fvlvad$(^Box{iy)2tCF_5*Bg}I@F(tlF>dv5sa#f|R6;>NBQf*Mb?YnYtf;syt%Zg61g z#_siZ3(p0+@_(C?Qs*itdE<7jnv(3QT@O(wi)q*0{Zr%jovQ+$(-h|n9a9g}PBzA- zYx)fzW%P4W#qKwFy1&nEck|<>x`Ze327BS5C=^E}IWiH+-79p=0W^ z#h)$zQ{&H{zBVB*PP(0|q~xvcIa4?CHFbA?De(OJ1smSo?}a~Gc~2ML=(z@dc^hEc zMICiAeCHyRJa3#cb|0nA^N3x4(&5bf8;}eCP4`^1E2!jS+SBq&w3l#KY&i~edW9IdhoL?=YmC6h(xJEBuZs)Ry{V{8KpDq5>^7iI`YW(@r*CynnLL^ERB3X5#zhwQTz^M>vhWN9U zw&&VnL z2sgb)ejedM7?>j~xauEImK7WblGc;yJJNN9>=pd;;&bL9#5@d`x=Ev$y1RdB{JwK0 z?Plnhy74WBuIV@R0{AL$@MZ9Hf8RXu8&3-vKHT$N3twyD>m^F^rZyj@Zum5HL&wx- zi$Arzz4@OSfBy7UguIH7mr1{wx{WXrhzMDx~@W|>!x1O3)dr<6=PPgsk?UqcmHhXJKYs+ zJhtJ>)Mtx7TmGlUPkZp0>dW9IdT`Qpg``1Lh(syVP$r#Y(iA3*V(RYxsqs-5bYC97`uG<8GA)Mtx7 zwYRER_=({HA3?8($kdd}3>0k1-&8RE}Y-k$h`aMHdfUtl7=fgvAx zV#3JBYXh9^1~gmzsW+g78*t3@5hDEvk{EhEIU#vay=HoH=Br<;&2+v7FZ~FoU$=QZ zvhoNQ!oVEqy1Z7>b-A69K-)$R@f|$;?uYsm-%U>O-3(-je;Mo#-28-lPVwF36yHrw z@!jMU-%U>O-6Yhy$tgZ{&ndo}oZ|cMoZ`F5DZZPW;=AeZ5jQ!-cXQXWpvF_}8YXAM z>6V-RB5}T^MVznYinQe3^p|p#b5(Fvb8X|=!Sx20?0=K1i)#a$8& zm+i7&!b$iyb5HVUf0A!7Pe#NaGcW_zan*A*aJ9AsPjbZRWIY#0cTVz;I?hLFZ&H2Y zd;i#Fq48b_46R30?WS5vR2&RGCS<9rqM2zB1gN*d=YsE4WZu3pl30(7LU zPfA(ZP@geADQ#s##y+GDyO4~r52->vnoHhhZ&rLrM z@_sg7^K_ezm(%gG6?Hv=X^zBL=#hJb9t_^}KW|bkJna^66(xJ>P2~|9qEa+%GVwMg z(E%NQwsCgm+cMGEe)NzK86QuYSR4qF8I&2oyMgn;mj0HLyoNeoPIis2EY5F|DI`80 zIA11jc!3AVfKVV6@`kL=WJvu1g=DA%p(d%8N)+B|o-dI%CE|}C_=vx1nT*}oJkIf- z{Mc5&^1rYSVzwMRy1!w6?>?Q_y+va8R$!a>S3COyw@B>XBC&gm#O|&Alq7a<`9k6r ziQQZKGW9))-CH>!@mC~vZ|$R<#O^KsR&k5O?yX&mf*Mb?YnYtS=WSmGtHqbqTp_M- zb${R#3OPm6?iA7MDKbD`meWzgRm)XZ9Xy5lPm$z1#ZG>To&3v9v}5vsDKe2}BK9OA05w+wU?#x?PLbaHax)#3T-CCZeDLB@J4Uh!0M+r=l40A=RW1UJRk}T>t6&3j|fcy#l zQe{%7bzBYAg-T^orKsx^Kbfj#D@7q^+f*G}q-HC1Dreg?5kQM04xn|qpjZsK<}iW9 zLN1Fb6IyTFW^)z5LUl!A_MK%=E zfVF&CLPLdY;P8+{{j!vXO4)!vltwlYLZkG!FoHIMHuj*gab+!XkycdqC>co8mLtiw zD%xZn>rykZEIE{5s2VvAY#FgasDXg2V;qhZ)?P6Zj$P1S=7_sK)YNLJfpKLrVv1~0pjiX z2?NLdX}gxW*DoCle!rW^1XzPi@dJ?gpK&+sBK$u|N zik+BFV(b)58Y<~fYM|Z%_^L?7D)K2uhWEq3Xgt-fVRG8V?b_AicK8`_d-v*p)Owp^Y!|{^;sUQq zFEn)J-sTj`ZH}?s<`~;;j3s^-ilw~C9dL(mn9e4_=f8=JE|IjwwQ#-JRezeNtkbV^wQ#*T0YBF1 zCcxapg-VdCxg@c=uHb20;c1>?6fw9}TuMgdRQcg7#iV3J&ID#Il+#|pRmBzV>JOYI z@o}1G#MAgtDYOfl=rDuSNdTTe?NQ7KMoZ01LyEyjn`DfOK>Y-KNnFZOiz{EzmNYDJ zUD!gOLHFHo?0T^9L1|U1hf#69(ym+qM#IL&v<>#yHfC%vzCt9A+QzH}qE=C2zhz?% z0Nm55PUUtamr-wbqrHh_T_g0_#^BR>kf zaquJk{{4)dv4F2cfKp`>@DEFSKN8$ISu>H_bA_|{yb$irGzQu{w)uf7lHAj z^Aa#`y67CR#)4Nh*7t#VL&NNq@bIj7a>JFy;cOT;-|f?YDFJ4W9xo}KmZ|9UXuf{{ zOxQ)|H>f-1SPo332h1zLpi8BXEtFCpZaSN$L1*(cV73CocnP|9j|IOz$%oTE+%Pqh zjI|dW=iIkXgHGL4bb7RXW4{~$lJuE2deZ6W= ztQQ=gIo@-}^VN9Ii5~Vfd7oK9!Cl&HC;bZkuSe2vfTW5{$Q6+Uv65tV(#oA6TMta5N8+YQ)%a+{sCKIx57&jf6koAI@ZbH_Jj!ejUC0nH(^;+|aQcjj^oo>?hm_MI>})34j*11vwAZ~2R_ig;jM7#m31@jvPt)ZFqvcY)5ru z&wR^yZt17jbvke>7U@8A>cBi5xJ@me$IX760b62#77yeS+bcQLQYkJ52-xIPVBsTM z7Q=rr{3kDc^soG?jBI3?dZHCym8z&-d{#=NEAM4lLRrFLoMHmlGONFgy0d*UJdM9P z{iLL1md+Fy$CJ*aJV}|O)E#i*lk=Bbzlt6&{wyknKa8LL`CCr^6!6c~!bc8&bhLNx zhk@S1`vQ%t3o2@+e6UifC* zFnIi^j6J@od-Z#b@72$5B%R@xi!QqPGu0w8h95IuL(kMx?KgH{`n~iw-~C?vdG*hhzhwF` z`ts^`>+MNf|EaDIw_Fz*zI*+-^>5a#S;ubvQ^P;i>5LC{Epo&L?I-Immb{g5vEr@R zk~92d7*WTWXKd&a2jqsI7hMeX1_@il#hTuHq7HGfk~+VZb+L+)AFR4qLCJ59(ch=~ zlfl>Y#zFuD?STke(jkiu(TpoHrQ0=|x>tYNWhI8XZkOrhQr$}~RhQx=|8&SQc}Q$r zpRsedo=n}V-)nt%^?T`WzWcrS^Xi{1f9@^GY(?&MVCwFEqbIXfx!0c;eM8sSgQ0Kg zUj1I92V!_Wd*bEUk)1G{UnsLKy&6Z#{d4-%eHWi;jezwF#8cU&#Rc z$heAgG{J~Xuaf>c`iX(m<9G%2F!YFl)MNG*>b2DQ)!8%r8YofLWc^EB{Y#VL>+#F% z@il+3BQ}G2LS^=Z^n}ao3A+inC8+TuHog`}|5{5Tq{K{mOeUIItSnbTvgyLaERkFF zY1chqNl8j5y}W@Gd9z09SH8(> zqf~E%Ddn5x4odlkx7n&c>2PNLoybGJnd~4nj(kS_%~FPWqyDBvmK>Ll`WqKpvV3aP z->}q@=MvuJKW)j>H|meBRPC+3nWO&KSMyAqVd1YD^+&QTd}!@hY~kmQ`s?&t_vT(` zZGYOr&mQ%MS6R5ws)d(rnHD~@LfIDn)1&^^mRRFMt461%TYDFe`d?jc;X|u>m4%xz z>aT*YA7oniD@Xm6J_{dOTbEelFCFz)JZ0fSYs+#Af6=IabDo45^>32$g4Qcp7XFG+ zf4SenUpDH0Img1!8TAL3S@`}@f7uFa?5t7$#?=yc)L$xXk~wZzWZ^@r#Bbpv@8YEv zKD5>^v+$93(MoGIY;&)N({ zv$YpFKc8*!fX=>W^pBjM({k>Ra$d9C;sH5-ca=3ha{dmq@-r=bm1c<=iIaES|RT72o!;AMqbK_Va9#V?XMs&p^;RBExx{hOSb*C3I;QSl3ldNaEw1 zL@^1<3ZW*cu9GP1xLGT2)^byH zpie;-QtEO0)VL+oCGF(>vE?2B(;_hP!DQ^m=5fxyYI)EjP9?=@3F+Yy2%+b5@gM)n z{+{{qul>If{`g0G-`8tpjI}Zr5aQ2&vp+D#S{Y-ljImb6SSw?!l`&sPjA7AZtQB?7 zS{cLs{|{?rY#;5cl`;QTF~(XMW36aB)vjTH9b>JGu~x=*FFmn+EOcD_esxRk?~te- z^H)0Vf8e;UvhNM7DHCxjY`8K1X8YcP9mpRGiBrqvh>}HG#qYnm&l=e|TD6Ti=C85u z&4{xt$NWzE&T$n_xxd5z#6ucGq3JPb5zt7vOpI&Gx%@G*(1`?g+A|sRw>$2wcAG#8 z1e#(+$m+8ovO=AmE=pYv>>oPrt#(Zb8FxadBeuywsmDcWuLFCZd%I(Dx#Xh^2QA0$8QdcOu>nyPf{U=xh->I~TOXZV~qo zd9{G6B;vLxc!*jpnj~VjD0qliQBdOj`67p+l$@t6B19wQo1p61Q&492;N|c~E9{6O zd#B|j+YWpbKKk*8*1tu$hm*V)*e3qn-u}S7Pq@cP-or`W!%5!5N#4Ur-or`W!%3=p zoa8+m-(TY-@8Klx;Uw>2%J*=R_i&OLPqk|p{%Pkuoa8;6|h*x-1K$u2v{zT7GyW%UyZ* zYHb_C?;SaKR7aopajf_GZ^-|CQ-9z-j`co{^*)aEK92Q1j`co{^*)aEK8{u0<5=(G zSpNpcdLPGnAIEy1(C$8t^*)YO^?d@#OZO0Gk5h+wNz;YWvkJx9|`R}lo!XR*_M5^f0(s)2MdNCnfUV5D72I87H5jE{}=8G%Wh zxK>cGW6fp!=SkMwK#)Zv7f0+b@-9X9V3d1MvosDI{-p>FZF?Xn%~+1!Ktt!Apt5;9 zpM?>$5$fr0-{Y8tA`rCk>!`Qx=~L@Qa%~N;+y>AMddhOZFbK^cNRvebmnJ6=hu2f+ z@n9$pKQ+C4Yl3|?JvV=Pym-Hx-!}N)v!_Q2@9ZAQdafKc(-9_q5cTfy`xm~IPB z(-oI?F?UNFXLkXw$Co&9t(@(4s(D!)%Q|oa;EwHBLi}^H?~}$9&`XSxrKL zXmHTR@w4Oj+40@$V|n9#kvs0s;L3bz+@D3ch%%ef$K~gKG364<9Ll9!x!gZRxs38@ z%H@@9o23Z6n?bVs%{udSvqOy^;3f~~A z9BD15tzgk0Hayb&vTqR69BB;FR=8-ek^6=+-ym*qB)Tzc-2YK;$ zgB%SUDf?dbU>RlUbHH!N9^^FNNXeS)K@x@|>%R+pY1ZI+?u)*YJy=BfQa(Ix%oxN* zMhc(J9xO!RA>kkQmm%vQvVNJeobnaQOj&IdQC3sFN?F788uuZ} zZIrc?Van~4bzD2Rk5JZAzD^nCdV~80%0|j2%4V(>?prB$QnpdHQ@%;r!SxpRotJYl z0=EJ9T*~*k6z_8>-RDxc&!udiOVK`;l6^@O>{f1e62-cenw>6q)T%;+YWA zlPe@G9Bt)^!buCpUj9zO{85kG0Mf#lR5XF_Sgqy>{o XOmmKiHk96-;*q;^>pow~3y%K}2~=>N literal 0 HcmV?d00001