Official Everybody Edits Forums

Do you think I could just leave this part blank and it'd be okay? We're just going to replace the whole thing with a header image anyway, right?

You are not logged in.

#26 2017-11-13 01:52:35

Tomahawk
Forum Mod
From: UK
Joined: 2015-02-18
Posts: 2,822

Re: [Challenge] World string

Sure you can always improve it by adding more characters, but there are diminishing returns on those improvements. The length of your world string is a function of the effort you put into designing your encoding, which is as it should be.

I won't specify ASCII or ANSII or "n-characters" only, because that just seems like an arbitrary requirement. You could pwn Proc's encoding with Base64 and a handful of punctuation by getting really creative, but which modern PC running Windows or OSX or something nerdy can't handle a few accented letters and less-common symbols?

Let the limitation be not in the tool, but in the skill of the hand that wields it.


One bot to rule them all, one bot to find them. One bot to bring them all... and with this cliché blind them.

Offline

#27 2017-11-13 10:13:20

den3107
Member
From: Netherlands
Joined: 2015-04-24
Posts: 1,025

Re: [Challenge] World string

Whatever character set you'd use, wouldn't it still be best to basically generate a binary structure and then just convert it into a printable (and reversable) string?
If we were to use, for example, Extended ASCII (8-bit) instead of ASCII (7-bit), you wouldn't really lose any data either (In ASCII you would constantly lose 1 bit of usable data).

Correct me if I'm wrong, or if that's exactly what Processor did. I haven't given it a real shot myself just yet.

Offline

#28 2017-11-13 11:58:06

Processor
Member
Joined: 2015-02-15
Posts: 2,209

Re: [Challenge] World string

I used ascii85 because only 95 characters in ascii are printable and its inefficient to work with base95 strings so I chose base85.

My bot creates a serializable model.
For the "Output" strings, I serialize the model to protobuf and then base85 it.
For the "Human-readable" strings, I use a YAML serializer.


I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.

Offline

#29 2017-11-13 17:28:16, last edited by LukeM (2017-11-13 18:35:18)

LukeM
Member
From: England
Joined: 2016-06-03
Posts: 3,009
Website

Re: [Challenge] World string

Just wondering, why is it more efficient to work with base 85 than base 95? I can't think of any shortcuts you could use in base 85 //ee.failforums.me/img/smilies/tongue
Unless I guess you split the characters into smaller sections and have a bit of wasted info I guess... Actually that's probably what it is... 85x85 = 1065, so I guess you split it into 10 bit parts and each gets 2 characters?

Although that can't be a significant proportion of the serialisation time can it? So using 95 couldn't be that much slower could it?

Edit: Can't do mental maths in a hurry, I'll fix this later (if I remember)

Offline

#30 2017-11-14 00:49:49, last edited by Processor (2017-11-14 00:50:32)

Processor
Member
Joined: 2015-02-15
Posts: 2,209

Re: [Challenge] World string

With base85, I store 4 bytes in 5 characters. The math is easier to do. It also lets me avoid some characters like < > ? # so that the world ids could potentially be sent over URLs


I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.

Offline

Wooted by: (2)

#31 2017-11-14 01:06:13

Processor
Member
Joined: 2015-02-15
Posts: 2,209

Re: [Challenge] World string

I've improved my method.

1. Empty world: PWW9KtOqWFcEI

Serialized: 52 bytes.

H[B]V07s<2K7TN(??&9R1BkO3]ZIY6S[2P1$3Rs#c7WUWJHP7b!!

2. 200 lava minigames: PWKK8zFHH8bEI
Serialized: 20370 bytes.

ICj&i*AFrLN)QgfHZ=6]mS_g\MVA.AmSLQ0EHcUi\5V2=h%&j*?f/D<m^HeWbb)!'A0ibZan'%Un)W8JU4RB\c6t(6:Wt^_0H\un_Fc?T')QunjO%=N\8F31]Wm;7kf^kVI<k%q0:XI;,mQa'):=MSn/c0(CZ@lp%NRQ0+&IOV@bF'U3r&LFkkKWu2&8)^SCj)`1c>1VUu'bWkpoMPr&9E4UkV"*=sO.j=5,h/rMP9L-]X6h8j"AjqgYFA,r6Bf@Q4<kDuloebcCuaUQPoH9+O\9[>,',\bpVL<7I))^lDrt?Nek(bf+YGFBc!i-GC.f:7+]YHe:n+""eH!*1n8'oKPJ1Ch+:7\:mdnm.CUjXS>mam]0BuqGrS=$q81ER.sMfJZFctc+F/N#$M<Alao&unk;R2S><XPLu!"'MJg(5*Sn8"D!EEagekNnhhSYkd4FB(B]0[o\(6mA&oj_t/*L]c"W;1l@I"1>8)77DTR"WS$ba)$C\'$3okqGY%J?N-M;,3+'1RcW?9dedok+*W@Vha#k:!:u*BX%%`sljce!5V3KrtID-Kq#RThFZY(cd^Gmr_0,dY9UnMj17tCLDRMD2;76?#-!"L4ku#RA.s-<uc[qYJCnDmqNIKalN"+j$cVR@+\1,(^K_WgAYZQKGnjtZETEt-r3N%ak1O)A9P9ALYn^Ea/gs9c;-old2J?ldaf(N(=L#,j4p"cX:H_Nr2Xh;gH\<s>9"f2C5CT?/@#tYFVA#d@&FAE`]Fqs;6QKs6naY;><J6E\Z:VFaR"H@/ehX5_6_c]\M:m[4k53,5r2PDCn3[MZ]!5HQrj]7c==hMQLbsWNL:7;f+Ma1C4ka2Z,Q6V`-_hBro:u*7*D2]htB15C\,A/qQY1Go^S:0j20bb_uCtAo>Tp'_Z058qu'ZVb33V@bnIO4B(/&-f-7NWkV7FjZ;%Z;GE[koV]Xu)J\BiN7njSU3;sNcJMkKNlPsfojOj)4*]YrNCrW0HBS^&d%U>f,%stefB1fZm?!'kG'Z3Q3n\`Z46sn(i'he4`5e-N\]icK.mVL8l1fkK>8fL]$=nsusc3u48FS?YVAU[:%gX-'BJ,79[;0Vd!+K\\NY(7I_<N,"ICAE5PhmW5U7>j,C/B516A!&(^osNM_a(tVGbLAmRmd.OKddG5]pW5Ki36FakZ:21uICd3'SM=F+=hgNV[g@c;_.n7-DM/mse_.pgbmSAWp;aO7H)/Jm;H3k;oUN1A/.;t1fncZ"#aM'Fg?%$T:ro#A8LPRYmMYlRMQ6,S:O9t,\pXq^6)X(%9='-,gNNUorf8UT;Y6[/KA.RsJ4%F4_G]\^!7!FSo7KNGF#u'ohu;F+&+drQD(^Dba/gYIb1(Pnm:s.XOOS3e`_b3\IIhn(KkgQ=]SX)Q_4,%P1-D'!eu'2E?h(&)ADn"89h-L+H`+2f9U<'?c=RGSgYY'@Kd(flBK=#nWqG8_2mHt2K^B%<5&G>WeQ@8HpJk08jIJ5Lr1RSQI9E\ulHqmY^mPe&!@NYOV(%t:hgf_Lr\DsL!5)#s)sKQ4f'gpq\e3c'hqTG3[P55j*o!ssMt*(0j>OdP!B]I^^@eFlDXh9miBJ=@ED/D#/\B#e]bY4JGk/W%jBpmb+bd5L/EGghhu"+)FZ-of`\>(_,XU!KHE>g!B/B'?R*,:9\-hB09kR@<W,(c'+O;/0C_sMIbep%dO&KUH-a)tNH>dE`/`Lp$+*mq7&#;-F=_]ODJ`fZ%@pXFI"Gb1S?530$I2mPA_ctee%1>>s3K=BaXbH`K'p>7KllTS1HBpt=%RB.]IkK:<`IsG.pm.`1:PIVoUCK>L(m&\e%`bpt):]RFR4>j=6Sm4IX5,GLNZ/#`H,VI/U*c/J/+r1PrO7O9FiYkNlJTIro\WBioXH>%fC;g7G]CBAV!E'a-"O:&qmhgop>q;#_fNh.pM-0,*3U//@SX/OUe9WH^%/OfKH<.O:N/h=EAU9#lVcg[U*LQ3:f+COD9o(c)fl`Oq;F-u6nC^&[email protected]_^U5!Qq'-GV?[nD1U$X9KohTheqGXj%W=%dHRVakOF+uV$Sb"/\AHs(c<_ISt5B=f14iI7Y;r3o1S008\o\G$Ha8XI):Pt#VdOHZsoF3"3r88dn*8q&II0<1QOnUs'h2Y'XUDSHQ'"mBD31<5AX9)F^+Krrg9hF9rhBbi-Oh<WiOUN6Cl`:uB7F<1?G%aOCU#/TO<Q'f+;?nFCnQ;rXbmls**N@iDpjP4dA!b--%K]C,H/T\a7W.b44CQKM:iPR)8,M*FCVaW>*Jf'RF[:\I#%Li=QNCEV8"1oaoP7G;#qP/YCp*Sp[5p@j&DT(,Qrj+66=%Jta<S8:WOat9l/.@nG[[331(!`O.,-FVLbt(!m`Eec)1-EMO:_oC=39J0HTr3ZnfW#3-H9H5nX]ZSD)Dne&CB1]"KRIM,$BJ7<?Z?p`-"UnYXC56j;N*G4R%Ff9#?Tc.pZnEF4!VMln?^!&,H4t]PYnOFHbk=Wpo;?L"(K9FB>.!"u[kuHjO-bMXk[kQ=APGP@t1B;H#+S\]_I`^2X]n1AqiX]QSuFA;-tb@2)cNU1L6t5B=fJ?Ikuc[j'$8?0r`?lt88D`q,[1H/oRnh-4C3#<a1YG0WC"QA@d9eT#j^p:f;Mo&Q(M_6kn2*jeZ$ZG!7CWPY^I$h`>FHRb/'WNF'99m"_A^8$tc917[serB60\[%Jt!5MPbfL.];I?ol0*&f8rYK"=L](OH_P5>pa.b]^,:4D%;,3d'\hu#n7TleL!!mFR(XOp!f(Ykgk1?M`[eR"n!@`1RC,@q8>X)"4==CO7Y&$*&eVAEWQT"nhh&Hs%diUO7!_m.QehDjDgb^Om`ZJkH>,qQ4(A]-X2!db-0.!G"Tp#ZKR;Bc8s\Jl]kkE6f<qH)g2\4!O66aTLZe)@R7p50q\GAng^ji`Rpe'pQ$>o4?.45?\&qDZC?(I+XtIf)$XENmi0p=hN:f7+Q9I*e^92:]ad*TYcC]Zq/XmD`QmeGO#4>UODq=#rehQnm^[&/jS:h<h5&ff>TF3U]!;=99pS\m.0A7BdDqo5+bP..&rJ8@!s!gAP+0qBmc+F"$D[@_\Ko&/8j;MT511d_,O,3tK^7]Kuj:F<iBunLI:Y<Q3,FmHNJe25Qg4G<HZg"_M9DI&C$_V'Js6q>E>@e*h';@?e;.J39?tW79W`Y<ULDEFV&E9D=s<JpSBj4<7BbB=]1^L_[GqQa@0V!WFSs^gCM=:m_oN]!6GECWG%s]q]?F1'8Nq"Kg"n+03-!&tT>h?-Zd&p$WcMMk+r?>/Ib,>Q.[R[$Mrjo5kgDg`q(Hb<M^%o/D6LMp9#_1],qUK%=qQMFk3FM@,qC8u:+QO5F&!+8%46N`jYF/?0^P9%TVWT.\R2r;9]XmbX%2N;<jL[j2@md/qu#>P/I[YI<N]C=&ldNLs[6,?U2PLle>i9sGT&)L'DY;"mqYkq&p4"@YQQeZW7aeqUhpkq&OQSn,Kp!;PoQJZ-&MB;:$\of#a\Q%"%gL&46VZqjV'\_qh72i]JR?o^UOSRMae"!Begh1TE4G'!3SWI(eD;9:aKI-+7/=crn\m>7!cqlc;[>WMSL#9H]b'I-`KPj,N[?H0*oT,!FGVl-BGp2jY!9U/2es+>"\.q!@;rFj7sO.?loTJbQ)>iY/;Lkg4kaXlS]W$V\[c,9'-SbdQ6aDQ01r$#LcjtEfK[[email protected]])V-d]8ZQN^?/qE=[l2spH4Mdh">BU0gDpIa<Y\ClX2"gRc?&VhCo<lUSSq("1WXm#np`-Z-\VC%VHEjdbL6u?K4OgKd,T"KNV"GWDPie,=LmlN+NETO^SqQH!pPH%-W.oL"-Ju!tu$>;+mr(-WOWn"q(<Y<SuLbXO_:PWmq[UcudV;knq;L+TU[]9%gS-![,^1e['<[]5Q!EM0&%CRG@QKr(:PM22=(R2Nn]kZ']EU%2R]hV,rS7tV<fM+kJ@<&?Qc(7q(RROnmA/O-t7Sh>\\WD/)0p<cg!u(k]P=a.KR+E&+:qsAQe75WKba1[c5<a=@a8Sam?W:#-NY"T[E)X@Pbjd<F`?bZ5;;&!sWm6W]D%Q0MT">F;9f-+/j>]b[+fFm`Zl4ej<sg;V]9pM9'HP-Z;+0S%^Yb4S<?fP&gH94"O4hA$)q@/WRXgXBLm6bJX!e1Ao[kVn3os-u`:pD30jN5,rX/nT;mDtHQkAf@/am3TqJW%$!=926<<C!!3X"9r7`:5rl;-=1Z@7XFN(2os[gN.#!&;T1[>_u<SY)R3$*u"V59J>H"55e_D9s7M!sD1i_!0L5aHhkjb;8o=ZOo\5l<[q-mlSVicZ(/%SH\sSPiQi`'_cen`.DYR9fd*>Aqm_/XpH7m-%t?A=pZn(1t3+B4'4;5^")$24ZA)5'#CK\mQ@n1d1ebcqQ;D>_R:^Z6jWAW$#\!Bp;5:bK'Q'Zf&7%:%>umCoOi:9/O[5@"P3?l+.LdbYSHJ79+W+W"HFdoO7N^rqCf>&M3VUm#P'Nnhh.Pe(+cmRTjib2'Z(+4+1F#[(iNsTee,U[$t60q6.]As8[Wen-XdcbJnHTR;"eV3f-,:3d,1^eYGWmpY<Pkk*N8\rY4CG\Lp:!][fCd#7d+oqD`9<b3CkjI6VEt4a!q68r,i5/O!F!-d&aPpHa@7e1D5RQF7"^ZTtCI`=3H-jJ$[QtWB@*'nR0W#s%lacKW4(Qg6L6.CKdN/3DeldT8E5Q<JKA[2O@a^`R=,6q4aE#TSB[8Q-8FMeg/.ea5%N?D`6$SB;X.WgXk<'i;6H8.!PgkP`+rKe0a!7W8G/jY-#7t=`<"+Wdk=J*;e8I<If&5I%t/sKh2*Z3`i6Pp<6?8R_3%.'tEh!2<<&8gm#JVAW)2sk!%>dWUeuV'l'-8Q5pru-D"H[9,gP]A=_:(C)"!G[.Ml=VT@pke1"hok5/_feUgl'1%"u,RA[TqQ14=59Nu.]1<C4D4a,3WIZZl2es0b0icIX_b4X<H#u1Fl3RnLAs(q/9(,E<Vl76`JH;ICW2mHO43O)1@B-<[VYu=1I*up<fc.V\Z?965Ubh/Bo_Q<U5opHI(hmU;NH>84)?cMp`4F.j[aj>01r/:SmI"ch2Y)V..ol(-(Y*+G'H.G)DXdmYkDtZR6KL&hi$^GeFik(1!./H"er>7QHALi`!$6=$:_(W7pS+TES865Y/hsFp+aMX*Ck#qtrcYjJWdS[&+83N/"XtR69B]";D1Fd6Nr,(9#ki+&(Dc/(&LRsm[^FI*3/=LX4D4,;_ZQVsR*r=F8R&B7/+]Tsc>$D\!EL-gsXk\BG)sac8cE]^]%cuL2Y0.YaUVb7r>*Co`,H^@^2&L6rUbg-;<!8igpN;`7nao8JcC"[?+Ut.X#bmW)QmP.um@_p$DErtbGhB#km;^Gk*FNmhX9oVN@6AhYbBk0^Tk/\\aFN(!N@\5DmCLBJP0M?<l;cUE3HM]k3jkMKCc\DF)cH2E&6*;n5ZH,=Fr0u&#$05t+t%l#7l.1;mB=/;gjXJ[E!K?>F]ZMKF8S3IoY`h8@nLO8a(IqY@*#*KHbP&9/h/ZD>A:sQ[ZK#ki)W&GeP;2^9'K?5:g)M1.!PHi^]=qqF-13r=DP0\`c.;Z4Bej>;COe*d%k8E-]eeBUGY<e?fUa(Afn%IL>o?3Dbp%1S+,;!/,n?>dl#s<^EE8QVW":K'JaecY[*c0G4P4VJ`OML:7J@=Ad>#FIO;8(=Mg%<3da.j/[.6^>RS0FK'nTtXqfVN9Q\p*AHX-P8EC+O$./[2C9Fa!0b8&Ncm`0a(1$WepD'`2pUSE&<jRKS$5[(]OrL91m(I`$B\.HKKr(sQ8T14I_H/:=hG::_1:8$uiLC5)6qhgA47?`VGKBuo):+RFZ/OBRUoI*[K9(fNW!.Uq[\i6;4rAKo]IK/X[cVR[c4as6j"SNNK%[(Sci#)oaZRHU1:-3+VeBX>nR))u7Ok\-Le)GY;U,9uD"0!r17GR.n#(WCpUO=$\+'M90"#gQ1_c/i32(FXhOEkP]Tj4he`<5"U4o.5R@W=>(+OSRI0!7:4WOD=(CGYf7Tf1UAPoW,.(Obg^aH7-(#PN%`@g$1l*\8rgI`FVg<[(XHX1mPP')8P<8hPI(+@pF/R;R8^EsB>ZH+DjAc"U1[k"/J`D=QNrjft%dE9.G`a;/mo0VEpf4^5rIKCGS?\\%EDh5?WX/um\QQf!jmE03!5_fsc^'K-8W$s4.l9;P9HAR\T!(pJhHCOdIpAC<pn5cJ'G.$VGNNIt,n@pr$\:FAclGiktGA5?Ab3ZC+h359)n!il3Y1'.XRd76*2-5Lcm]87igL[`]kE(cfg-$qL?*#+$o5/MaBmhtn95C$p6&+Ch@IH%5Cj.!BX0)2[a=EHPeUEAqgGo=UWPIllS/od-=dr(7"[d!<BIE6X].VUg<J"^T.u&F;AFl=MH\b08>k-/8n%pe88rKMTblMuq0ils)0NULk=r[9I$0&g+1\Wi'WFC*I+'5'Lihe;AcO5mHhQ!]oOKC0^qD/V:[AH/Oo_Wc<@%4MX%I5/C_8<Un-mqdI0-YE4]f^7RJq5n;d6I#&gimh$I5rU:RSW>g$jJ573-h-doFbHrVY8P.-lBq9e;@]4h,4-_d$:^!a6"VI6:k1\IdBpV4c#&`D'V<_@qVtk(M:!@mqARM[F&+*^qI'g1V?&$eD%p]hFp3E*;MUl(q2R>2b(pY)(BTo#H*8+VZ`!%fXob@OM1?Q1,pIEY;#dlBkm>ONje1s6lK"IT(Z4#+EfAd@rP%nh7S#Qq==EJ<\Uduab4Ak-B!BJ'B/?[B!$[c#Vd-+('II;Q(Nn+ZfL<-eS[>h)&7#e10,#.0POf62:c#fU)hi)j?_t+#CkRl-Q,+n;]nbn$#?AhO6@)*a3>PAA1lp`SMeX=L#DFf.=8W1;O9%qUSZ5lX5nV>&I#rq&TT6.KoBY?I*2KOS%:1mjDSJ^+!em2JQ&K5I/ac]Ek1NJgg<hVJ/3FZS6gM/YFQd&)bT6"k7CG^QI18ed(P=VaMK.#%j6G[Q,!]>Xf=%pd(-]MDdX=NZ%4Sl\H6'qU"J;EA4t?d/?41Y/d68`M<q;?[Aq8D/G$uuV_$VQOB'pV`7TfZRPc3#,MMTqB[8dpq&TrX:n<Q"1/jT'.4@;orkK%\:5]rVRIEX"3%g*5rGAbGelh@aqW[oo.iR(9h(]&XpCAeIrVW6SneBB.<\ek\`A_r@^MsiF9ut+OZKeG-F#*nd]m_IXHW_sB9(^=047.k'k]")(dgq7.fN2`.BVUWPOLJ\CdN@WF9@o@nDEjR>^/K&Ych($QKHhkcRcm$JqrD'gYf_e!]8Q6LUqVVtZSgMUBm'uB"qX(?Q/ZF)fW3\$<\!0MaP%u-_T*EkX;/&kMe1&[%'&pZ&qeimkURLsoNa*OW4&r;nu;-"W$7%FK(]Vqb5RWjKg@O4qO&fU6s5GNjnG(!r:KdEk4Iu->1_N[`j$h)&/=\H3IYDW&Lo52OIn$VXA1K^'n]O=J:r_7(5"WK++nPd$%^?9Oc`P#TGoGQG9b%-%CTK2I?-hqFEpR$+VsYCqoH>GGb:bAg_:HOJ(^3q1_L@KIflTj^JA,2^"h]TI>59C2/`4RHu(bj8S8G.5L,O9^FiVpjp8ZWcV=4"(`3U,4H5o,3r$Boh*H[p3u'<m%T'Hj*X79=3'LOmgNEpn!f)YAqF:"\^Q*VT'6H1HPreO8l]P`3fCOhZclKoPJ"=t`02:D&Rl$<Ife9Rl,1t-]SFYK8m,WG4eb$GVB+tQB4N.?/a&oI1B?o`nQeB&tqf+qPlH_.mb82OtbfCHd!e=oo4OSB#J8ZfQ]O=Qd'B="6L,M:]pEJY1q;BRMV]R'K;N`]QR]SU@&7m3>^SC'Y$8GQ#Hf(.LT8%JST+=sQ+-bJ%QGF6#Xj563Yl!N/.E]eCpWI+Cqh2kQT^To+ppms4o>ZrJ3>6]";U@AC?36bu=a_$q&<a)\cVoU14WD,j,64&;4L\gl"*<%j4gN^fb`#MF"(;8AU'%YFfb>rR-%]'G='I?NboXO8`iBZoK+Q/Oc\R?%)<2a]M"4eYg(nX#7p%N.$\MCYpAP\%C,-ilY<3]a`k;='a[h+cL*NL[baM=:,lS^G8T8l_AtP9Ubq^d#Er@WA4T:12P2mur:A3MSbB)_0LlY%faMs$+A0V_qQ;#?,+]tAKK'[email protected]`F.T\h#9/Mo(AT6Q4uq:!p:K<Wn*-\QK]?U2*S#]B#.kjn=/7EOc\n9s`G83kQ%iAHB/_8teLbc"I-b1C[',^QlQs)DkTqe>ej`UEUTj7E-8JopV_iUP@RFoAog5cLR>'l_nKF=I.PlF?$OET$8.2'im$3PPGq'"e'LgW/j)Jh>??Zf]:sYSRt2d<3r+@#!2>kJV]&gpQsCG!-G8.$%k<K&0JoJK'..h_E&kCY(36:G>1?P$0th25Tu[&bquNCo0&XFle+C$j>eA=ft5"h*8[;3D=O*SK<?8QFL!/S^/[ONk"CP%KG)aOU3p=Qbe>$l_CNcES8cch4D1Ek]Ye7Q/DOoG_J"oD!0XGKIV<fM7n1k$MMMA8&7lb0-9De%S6-[Sc2_Xbk[W5-=.g36H!]jo\,$XZef[3ri0kaNtOf`M-eT7*N?R^+Y_/'k\7f4i>M")/%:m-5@Z5UA'U'JKj7:%_:A'PLMD!"m*bh`n%j_O:(J(N6uT6/C8S[M%1uNuC6`G+rOZ:T_Ng;_,L\GcajnmKH)OMqO@VpFk]SrC<-a,#RM"('!:Jib6FdTp;&>`-`[8hkA=>$8WGgNNBtoH^VflG@WY-0o'qhCD*[i/PF8[$s!M@1O%H,3jK0I)?Dk9-`(jh?bqZ@($U[)imh.>]uE;qpDftmtt$FhU9l<K>%hiClSQ-IpeYYsknEV"90?3\/X`aC8nSVuf93r4Cbe#!`K-(LO='eNU,;Go(+?Zud7coKi%(?WD4OZ>L`A;E]b^`_ZWr>=oM698\*^1VbU!P=So/6]D)fWH4fH*0iJQ@385/\,3_^/td)"&[G0K6:F<;0Q]Z%`amh_)J$(;*1c0"iG7j8lJ7D+7YVjIu-G<aG"t4\#igVZHI#eKstpufeB?^!hI0(a`HbN<)PE$rJQC5*EK4%EE]bT-.A[#2e1rA&o-T@#GG6n:mj4u)gY13AORs[)PrJ$\o'3*Lr*_$\O$jM5U=Z9phQ("]Q-9o9J.G)1Q68PVk*P>mK*<C:(,T;-*-c6C6/d`_?$\QTpMZ#hZ^RO1's^-$7CUVDe_AR:Wji7^%hne#Kc/aYIn0$cV^7t?$KS0-1N2_o0hJLOp6QUMUH>:2)me90li6k^4<]uQ2S]s]k6L2BFKC@M0YrJ]S3^Hr())Vbn\Nu(tG57N(c0r$B5$#IToma,rM]D<"*n(]M,*ubQ@D/.3uk=g"GW0X(YBYabn"W9RC\ca75`r($*6/TDHSiDo00n4A%=("78R"o8.W->M=s_@/@!H75;DR8PHH=3%ZA"Giq%rJ)/'Eja1I-.#5ouFa3F2@NF=T6XKQ8@*uR)9=d-@l:q.]4!,D*&nS.%MOWDL1gCn6+S(>NTfp@U%Wk@P+G*QdAL.C"8a>;!NM"B?1bGu9>f?rM\sYchoda[8H)uS=Reo1qE!tfB%hDG<Z)#%d,3`dmre`lu79W%_RO[:[a8#N/&7Nhbm['^0<Cm_[B"2<.`CV7[RTt1lE^%l%l>H`0U!DT(gNVrU)bhu%;i+cq+'f*:Ar=7(+jQA1RFO*Y6j?lKN4ce47>1lQ@Csibb6`H\>]kjp/H%0A$6Qq99N>16>22Y`l$Pu:qMV8GV59s1372aHKm`8mTbf*;qK'omX9alTJ]9k]`+VsDIf+^2SCcG$WR`l*5LqT<'!)r`Q7QW'Z*K@*Jg\'J/XS,0^+a0RT&t#"IA!=75'"\q/lEt]"99OaP&?n*a?%4OkRO5B[hBFg0@GtA*KOW9N:5O_nrKUs*SC=^rE$7n-&rlGE3V%q=HHXp*AXW&l[Pb$pR=h?Sg.V6o,P?ICgr*Vq0LLq%m0MiadRI2m0JAJh.`PbGn>@==1VA!&AY6rA:">7.^$%elm=i3H?VCepY>7&<rV+YjaFfpZ$epod(<`X!3D/Z=^JX='6dOq2@)_4i/p.I[O84:5ej^<D0/<TN`"'4#<VJG*)7GZ\BqlaJ3Q7.r*(d<IP4244m:?=itD%7O-4s]p.NZ$13ci#!loQ"T8:Rtj:m.Fd0aCQA1-q>;k`A9Ar=i;TTcU#?bQ/DW>6W8%Y:mOJ)W^?H`!*Kq1E#E1_G@Mg[QV(%9id&r^\,bDN?B<E2F&Q]_hHC\*SfF^gf"[W+Pg(E)UnS=a$EB[Q`[\MN]+n`DDH^]`uA8S`0Cs?o<,<SDj@%_^7f&ji#dX<FDNG84b[:?>_#JepBC0Ui";,JiPe@0bq."=%j77[j+XkYaLZT*]!ZbBP:,6>$'*`_CQ&+;dnl_V1.Uk[^[n##*F,A)8WL>0I\L/i=#`tW<afS?'1"om'BD`[t+-3D6hpFk(0a*U:;>#WsVo]1)T[#9/CIHruEGnnW6^PYQT<%/PK>?i^=dZ(!Z8XZQ?DU(Z%]^A=CR>g?`kJe/Ar+Nq(uD&]%X^dIAD@8a[A8N<W@(r4JoR[uui94C[^Bdhin1PooutCUbJW\-b*29Lc8AJ/HMs=(J1<GK<`T?tV4@eiRVi^gXCt,n(ejV#SXQgF9.>$3h.8Xu'(b]6b/:?Vqo%]Jrg)&$3F$r&?&gfDca1kdD9$PhiU6I1W-(X1N9<!k<Bsnn`_WmT[DuEQo=J8%*NJeE<GF]Sg,P/l[QCgnK:7r$c=Km#`3t+Iu#F-_ds[;NL[3JU2`EF8P_+$S.8!:3]-m<ZnFNT4'N^HWc1gBYL'#,=U")_tA?H_3_q6E&(Q/$*$m`f#:(R2V!T_C.<iWhM%d=0ZXlDeu>D:aaUkDdm%SEm7&p&fNoj@J=mQh]?=U<.<do.m+osgB1VF,)f?0lG.,W^ir6Q\Z.H+#1*n:&e\,Zn\#`l*;"p'gGt%DA:?BG]>G,8S!X;iGAb]*B7;X]<_&\4keuF?WVb$a+,0#1BWD7!(/39J7Vi<[/#08TD#LMb38nY>81crds.[;BYrlQ)2M%`4ln1(p?\lQ"V.b*`G"f`&`Y-/aL&@]nUQEJ7g%QR<E'j+Hp=&A>uCWcUi3_#_t+aP7bl"6_;_O+!"TqC#M#GI82PT4l'?\gs`*@8Vb:?"Q#@ijr,aTQMY.XplLUmH:2pE6SI!"ZNeBZT/LU3:M(TQ.5*_8;dGgn[Y7S71aomd$":/p(T<)/lh("nB]elQeJ)+Uf#'`O7h[*;L*Z]XQ+U!p(]RRt$=E1DTEd)-OT^&`7LBqg_dFp,e/qaI=Nq<?M-*#isUcSP$UOG]+Y_<[j8i-$GKcI(59Ham7Hs1c,\kh8#%j(@1FUCgG!T8i64gSc/spi:r)6iS!V:iG2:s#t6(4qQll(6+j-R#;_uNK)7.7kiP`SS4NbuD+M%$q6:V#7^7-4g1bCj"&Gtsohg"2Ho6=Bd[)/1HEt-#5W'PU[);Ot0$PXO=Lm&%3!?TTr,9cMra)r1*]n^26ZYR+36sr#!R+$]f#^:GUs5fl?-Fhg2dXGrAbC8ihKPi'FTPlH\K[b1akFfL0#@jE?Q&NCbJ04bW?PIZ.\>KN%!I&B2^>9jpjRp#WMg`Uib-tg;.UL1bIsT<P]o+4+4QG1%U3fX=uqSNE?hX_:W."QFQIVK-^m6hF6pZT^B-=P;CEJ_s$u.ad[TadG?:jD'$K.B^+dm\C=*&qTlreeRB93<_1'M0iZi%PV1u+?anGL.kV9c!;dHX"o]8,?Dog^;NG5F]fitG^X!pn5SP[oojajgBK0`C<Y8E6S>8X-Ti;i]C[^#U/%>V[#oAe@t]Aa6<>Ip.]A[Qbj^@gh]<:OT/=/&VHb:kf1$uTJue@/;LP\="7[I#5_`Dpu,gEbdai26E_a)&&H^:(R>]iX@]:T(3<`V)rf%j,JD)g?^%;"flfG!,E]3gdR"U'k3M7iO<?[BQ:J1+0#U9\i"d#>'jTO/!n6RP"_EQk7<mI:c%*/9["Fnc=.*D^YM=#5<H1AB(+EH'Y2gLbU9Wram"4%&iJ3B"$hOq"YhMhV3PKeAf&!/7-Sj?K%c.%ZfWMRs<TGD!fHqIF:F<r7&^&[(JtHA\8RV21%7/Zt0*#/>73u8?,tJLR]>%N1GdSABKQ`jeJA#YIV+&C:j\';oMqf]FrL*C*U,=Vo[;.Pe*X!B*]WQ8C/Ps=]/BF*,;VB_g808=;+dn9$35r/$h+p[)HJL3en3a6sIVD/mh!CKhI0_ff-]uLtOP+h9Z/,8Y+Zj-5X3C,ed&t',`Em>^,TuE6le?4j.&6lJ(m21s#B]JCW2b`Jo'CHNp_lcFK@J_M`DCUHSX'$t"HKEe(ec%MM0XNA"(8nPgCHZ,rZsn*aLD1Jnj"#pm2gGtI$N=^+k[V<taR^]ladSJiut*CRjbi"SlG:nThP!9V]6?=-b.HDa$Cf/>%JH<EI>eR#'OB1)/fB&kV'MP;6Rj,rUVj8*aVH%?g([3ge\68kB`m`T_.omO([d,/lnYhbie"+!Nj8fbsX@?T`7?&KUbX'Wb0j3_AO-M/$OC4Dt*kZK^2p1pMUF%r4-r+(ZWZS"af/]6+Ci3fk/=^0?W,=IDblZ#5G\ZG`F&^ZapL\Ut'ZsS9[1<[8[(1P=p2CI7q&UZgM$3?p@]d"Tga!:*cZk;nI$G9n=k9F5]PZ"s?\k4Rmr&GqHU)og\aMVZGl=;)5Zr\<8<WJV_;6N_EqM]D3?!>g_+>C4ap7`I^lK2o]3_jZk!Srj*MaB@WSTD-#]!W)JQsAD.O3N0\^up5_f#2Sa+*^7^@HF<.Bj(Auq=s/QgKWU<S55l5P\MGs1n[sE`FQti)-\9aUhn3'H7b*UlT)"=[4#Qp'<Y:t#UsoGZq/PUSL2SI-^H\#.1U"B9HXgNU0LOt<[`H.iae1Z_HCJoJL*"_4:X`orouM6hB!t[VM$C&%pai?1TS\sYh-u<lSnK)8YOt?=2ol`231,C#9B::$fGr'3X$_!qeLNB;:**u5AC8/hldh'5I4T[]F7jZ2bc@br`X.B1Zfj+MHY1fRe;n+$"r:52">Sh%uQ2RW8ug>O.b\>,tuImihDuC0I\qK3c7^98_F&-2c\5YjS@'1XW(WN?E5#1c]1Ik^C,S9.fKAPWV4<#s8-M-Q3J_Zm$"EmHe:d946AuSMBQAAG1(PHe]el:iFXJp25l1-6IZ_6EgtfY[gqCkp%)[^;"1Vie!9[1ciki:<gY[Y]kb4OkrnMMIm/S#WQlu;-^kSeZ/XV\?.;U:fY"iLSa1K%(MFfV4/__Ynq:0/rOM_$H=hcgV>%rd0jI9P-t6b,gg#L*4q#l8=4Cc\M2Zkm:@R6]04VW?7G#I[$%<']8"^[3@,$D2p_;06)J%;#C#U,)23s7jnAkKrKuTro6;KQge1ekEktjU$?ejtYl,G%jm;kYn3'@fD@f<>bHnF(WK3&!:QPPa7L4?CB3M^"QK319-cAoaV@+ufD5h3b\Qc4AMTuuRDd^!9c:&rBAhM"#-IlL6I1PA'j37DG.UDM:ZR4c\?k/%;8o`/^$@&I1%TM6e;;"L."[OtD6o319<j[E9$a]$-D"T@H'WeB9-8JUM$o\aMi+&9U0?I,eiqCXuD\36k?+:!q*?J6NIcg.bo$%>#I$3El6PCVcr^@J-Zam!1;Y<SrT;Lit@ip)HZG_Hl9/*#e)FW?ZJ>BWm>*DoO@3\<Pne[TFp,q3W"C4lDI4o1MM#;C=d7Q=l`$Ose&=tt+iW=K])[].+nYm[b7j<qP2nQ6rs+m<uEMoh0)SID#uGZd4UE<`,FJnCn6,83.7Uc6J(QYWGD`0O6cW,=sEmqmS&cT%YoaJY0l#:UY52DN>c@'`5aC)=f&1,.!Eb&37!8q#nT!4a;X$LVC"m%rk;$R%B_hJlC4i[7Wo6J62&0@8>)e$HAR?X,g^e`%*D!70]u:[P-E^W=c<<4,gga&C_UGl\YapT<INe$`LY<+)+7dnF\m+I:Z]\^NC\]"^b[`=C7("Pm%u&c!!Ir+(koGTtmb:ttV/'$_S"("0/LX2)P9P7iXJZK&++ZbqF2UF(rF]N2,4$E@qjKEh%br-cX<o@Zmo6%WH*S]NtsElKn[!%6"N!5a$]*3;b(QY>5Ke69RE6!u"DWG'pGB3&*t1hJ`\1Ye^QS7/A^HTH28Tl32/T`u6O'o.s-&'YW28h^oHWD;<BBF'(H,G\_$h$miMAnNK4q2=;1D'Dh1J)6lUR55RmC]Z0N]TdrrjoP9."```OYNd0UG^GU>-H4A8\Z_T1RmW2jr$)^(gSn@!/T=*Jn3Z6fE)FmX:VQa@/cYG#hBlp#BJ;cS]Us>\)Wchbr5icWIEFfP#K9dF$[7aRiCr["CCGQmmG3[#>Oto$cg`>F3^GZJc-5f*i]<kZHYbMCQf#=D(j#LQ`o8P5@aelW4IV0hK:97&nP,Uc]_6O[7e6?a./Ji"TH?Cn.aB#")%B$pgB;3/3h<E\WhHotpHgaRL1m!.XQDpEh[63hn)S#aH11c@ote%V%bsUY;KYh/e4[3hK--6e9GFk?J<d=[!DM#4%J_:k@0ot4[nm/t\u_kt6BjqQ0C&FYGj<4o(\t%U@-c'>^"DHDqt[mVC3u9e)]\DDUDeJ`)[P8Z1;O'=#MW2"ZBDOUc>TU6oc7"/9FoMrII<.t@F$44)uVmdZc(\M[rnPBmkZ]bqkm?DgtoU0a*J3X+Qmp!gN3PJ$%_79raiQgjL;j^TdKR7o("g5&(MS'L+WA!9uB)ZTk^$.k>Q&;DhD>STZDHfTu[!?[)05q*MLpt8c76E\>Dee3L85FBZ@WE6(a"JQrUUmU8:B79(t`D0)M]n`X?@R=g,MaTXXsO<QZ6Ek1`f8c0K9\?*][_%J,k!Gr'P`(\%YmEqD*['gIHD*'[email protected]^*of>!kF^Ej71<^i)QE\p]_^+pN+_>be"u0SW7i8^XB#\Y/gtCMuB&lL9_/aE;s@$ZI;:rN(uU=H3=CiB't=Dj]eT%P=eEf0t^Q&EBqUD(cqqK39Cp_rYTU:L3dogbJ#P#k%neQ^"e@BfT<T;rP)(GuC`C?SBfo+HAr?ES@_+`lINo\BGLCB$,%4@=i"C=u(ClmO4I(B`]-b5r[j[PjN)#;u/ij;FK:X5GP;["i9f`fueUD?&*op^3dA&\.\VEWOT>*QZb^(NA([5X*%l\iFcP,l.7H_Hmph*T6_,&6oI&;+lutV0U8@&9Y]+)T7WbMmT><qQJqI5I"4qM$KunOnODDM$EH;[Ug9W:8-qMg\$;sU?lb`X*P!hRD41!JZQ%Igc4A3a\+<,/QPKFqBql)?e?m)?L!E)3&G9[:[*UElCV+X_!%02%243P(Z5ORL9Idga260g$;?iq^)0HT1-`juCrkM0QQUiptn9oA7.7A91M<c!e$O^D/N;"Xc)I&Ud.@WmG+Bh[RXf;n4\(bo@6gnQ2Ai__bfGVh85]:=Z-m^Jt/"Q_m+<&fN-,hlm1N^T`902`loN+rWAKXKP@+D+C\qV"h%a-7uI+4kjD:Uh#%(qsQi15&'Wa1?KU0*4=Tc!tg]Ed4EJlRZ*\[,=/0LV?%,)uD&$IkP_D7.`,ceiV%pfC<f3qJB2:Zl35/@t*ff1?Q(7GZLn/G3>fo/[B%p4l='fihu.!e0"cP!X$hK75eT;1kK6ngC,AY^L_trM$7l-;Xa"&L'7;AJGP.!fLG%);[U$_Rp4p>K?HNFJ95rHid*YG'#kL.T5EJM6;A9A!>Pa&LpZE4aFnH0B>9Xk&)e19habpWnfe61GE]?_N+s8o`fV[ggr)q*oa;Y<!\P/GAEUo#fm'M1Q\a*D"J$6!'m9)F^"H8JABrkPg?c=%JXcdI^#KqN8:r1bn&uYU[kH1"&M1NFjHI''(";QbLn^t#uV/X]lUc%9/H9>RD'E?aJ+_ZG&^opZt]#f(MK1Ghn0Zs7D3a[EG%U73/tiCgOhofB*dRN4;u41$;p#JW6Y_^Z\sB_R'r9t(0a@/aO2h`NhfO[pbB9?,_#0NoP;_do9`W8'XNlN:9T+;]Z88qQ>EL_<+d>P$K6@bU.&5V;<9[2f!A!N_Qr?hSY%Ut,4))q?KK8$11XNfbM!_+QYc"M="`U&%RE<OlD3bT!,&iT`.d0DC3"V68(/6C&/agbV%snYR8K2!)>UpN3Ur^(KegSX`JO/\C,:<VZK:QGF0=I&kDkF;f[EuaU2NW8L8K8]:C+OTLpm;7'[XIgHoN+"MH:mkad\nP"Tt6_iS;.)kL`K;@dBMB;U)M^-cJ71P(0WC7o&9P!9KQE!0g"LRuSp7--TL#`c>B1M6UD1W(=oS73Y?PoHJ.Fk:&*F;G,1,7=XpO,,9n%N522;X/^'a?8;Fs[*3BE,Q%QFU,0.XaFjU3KTBeD^eiOh^<8qMA<'buflOeFPHMWkKgMHm\Wj*;9W98sjDMC-ha"5udP+U<`cIR"i`L:#,GiVU+@*nI:<'2oqnh8bojp7Y/q<cX:.Ao`&V$4TKV$*EJrjb^T+$q<"-RG#.o@79`aba\@]_c[UC_t(#m9`$kZt358bd/\eJD*^n*`+`[f;]i3n5<q@K);cP0g(G6."f7#>3;'>FM@$rb'40XRZ*(nt*TTc,#Ae[85m<+V.6e.I62nfHac3Ce[*cJ.CH0<.CsY2BU(3cCTqPj+ZK[<(FL%rBpZX/cf`,4nOm'0Y!="R4,^2ZgTN$gm+K.;*[@0`TZ4@'EC5Q\ig['13>Rn^r<Ni'2(^6$?,o.LtlA@3q-h_Cj,K%(M/<fCP:k9gF#3LMm`KST+GjkoS[%T)[1-<?<67EVO;'BofepZF9KP&1uh[pS$K<L*]1gR'2g($n0J!`_V8AH.0RqLO:OsQI#\jq(lj3'I^KBC'=W=J.e2I'3X>Z<66ADng7mG+haD>\/CA<uhr0T&juEndROp'3gOW_HP^F?I@M%8S.c0J)l!hb0BQd'uC."[r$]dUsZO0G2,@C375uKp6&7tKaZ^CtJqHf?4@D:k,7*UQ6ai(eKY>a?NA>\M.^m74I*k#C3E>UV9jDt\beusG?=,OeJ<Q=)]-X;oC/=qFJ$r44&aOq;SP;$@%q6!M0k<TZZBTJ/*UV4Mi"_\$-L;X-U#[ONb8UkUP+%eIB]&'7cC9s$l@-Z]hO)H1d"Z/le*Ka%Y1GsJn%I(94%-!8"m_n9ZE5s0kZ17DNfR1p%L%6SqR^[^f(2Z<V$CC5S-9G:^BuYQR,CCAer/sc.psLUAH_P">kk"1[)*TjS73eJVWi<od#Atu=#^P)$CaSc15o[139N1T!I_4EuW^s2+k<H=7N'[<?f7uJI+a^C0BffkP--bUGl(k#_h,(Rrl`X+7nMOY25m/F7q-g+EoBkJP1$3;AX=l11rjkO@P`e(%\Z'j)YLq[)*c5qs]4hKQmcG5aa'5[YIP_CnHYYdtT]pm%02<9aE?Aid&X.Jo'JgbTCkmGXn=#F8]*)nm]aS+_*?,&]BqE]L=IY[_*uqfaBUD4.`Rj$37'^lD`<L"EQ8b7W#]hi"]*aZN1L+<T$``3Y>o6):kjXKfZV6_=-3&GX\/sgkW8F8(K^Or^1!_&H<:+[C/FSGUd;k?!qa>5&Qg&ZWp&tbK>*^0(L<aMWNi]dSjtpanO\KRl8Vob]Cf*H=YG]=#6&oLu#,F1]184Hb*4m:f!TfHl>AuL)N@d_8-/Uo)Woood-3:tt*[9'66E5TW7>GO\?cEQNT0It80;*f+1s%E"_;,W)IdcH/nC:@d0,ZK0[U<B7F`U!FAbi(B:W]S>ElpQD4n`FQCjMnL-8t*j!ahnk>S3qlN['.-\r\]pnFrusgVUlDh0/tOo]/eJ@3!>B2c`U3*&aVFbaIO8k%1.pA_[Aph9t+d3:DSM0tV9P9aM>jVe_a)E^e@g96tm5M8C\c99-bhV=4Q/kP;X.RG;)00c9Td(;t@/21t1"g9$nikQL:;Og>3TG?8gj4V3;2*S3M%c>(Qtm^9rm4QWbZ"3uKY;,><P[^<&^q`gI.PAWY<N2LH&QU(`r$R$PUMZ(3aH`,2`<Z84bkLUdVkYnR,n]$^A&,fah/$r^@^)*BOT"F<ZJeV0?dMU]&+-=SFN@K5-4mZFoR\S!MCWoHOM4IKAkOCWr:;]u:BFEA9s*Xj'n[X#ADqif&dOTY8^O@5qo_H89HjZCW2/d<m>f8OH5C^0:`I2oShid0uOgQ]AT<qVoX[TFo9mG4s]7"WkGYA#g.:I*;hDQnc;`_b^mF%K&h2RciH$O%Pi6VEQPWnh49D<WFL=JVa.A;"Sq,a9,ErMm#\J[<84eL27cj?UOjOd5T;PmX'i5/?_)6(]PbLPJa<8u:%l!SU<_)J<:/Ze`-8/um(UKS\FY8?CuD_nbr_t_8qOB/N?B-7ejI;<ZZ(Yj2./(:1k4gJp_Ap.Zn9!hCqpQe2;S@m]QP-+fpQFR.`dn$Ibh^cb!=W!'L)<0'F\*;2Vo@tad0+oVl?bD5e;qYXJ<rZ^n*!Xn,4k,-2]Bus+U@JW9EuF4_lm*-D7DG2Fh4d$nd#`^C_FQe0O9L+Z$c(;GY:Z:],>KCC((<qR'6pU<J:1rc@l@@(S:S6h^]P)pSTd,q0KjTu-(23,(>H&RY':^'(Z=_JopZ!qB`3*-7E&2jSIItkXf2nJ5qgQu#d'K)nTFjq(09A!dRe'%UCt*4/Ma=n3nQtIgYDfonX@K0jo$iM1nT2^&?"LaNmL0#;th-:<ZD4P((sNGY!.Fj)(:[b(u7LfN38.u`Ea+[`lGWHGg]GQD=g#Aa['cTf10Q*eYZW.oUNPNs#&$N-RPXlO79>d\7o#gq#6naT8@UG2RYpCY@Dcb"8HL4!)fkp5('EnnSh-0gh2:8egQ+?RJB>l4*\OK4?"nI>arKt-2m7SAS0mt9dd2:rf!--[qbnk-lD(ofG8nZRQ\.G]<e#K/,U8OH8mmr=-t\^4`YJ8n02?9qSSP:h_ZTE9sN7JJ2?"/F.'S(T9g'$.&e4ml3-5<]h5RK7o>B]G%)?FrAAX-?!-5<Xq(.pk<D\@d;:U_<1d(S:k7tj$(1N%[!ssKL#.M+q/KCqRZc-<J/L-B+3F]oYXi]m9e34Kf\IM^(YEXHd\)BaCEM:+],3K*b_m_(eR@($&NZp<"IbLlFaYAD$>."bTl4HE]4WC@P*@LRP;NnqUZE:F?WDHgU;iF?5pB[E:TboRfJ#(4&@[qf#gE=H\e,'F'1(ZRXVL!]ZfaJ6IlVQpb:ZWU^K.YjLl.)K4op[/\WLsuOr0MjW;YW.qhYUo+UOO1eTct/0WdQbq9\jXkqb-1[?C%M*UJ.?r2W$kr\mOph>bP9p,"VjqAbok^eq5Pp)%*<)MI\8mt/No<MTnd$ue#RDCa\PYNt@Hql3F"lJ5?bpL][VM.lWVN)o_Wcb['j\L\Bfd3e_]iiL0(3FO@D`EIL>lIVUUpN_^8'oITr\X\Rqh+fr"P8\8cMsd&Q#_$fC[4:S;Dl7Ekk61Y.=_4W08(p$-F^GP<'f/\r9G3Z^)AXMRcZrHlHauhkq/I-;f_q;XKBGAlEO/PW>:#VG-d<#>FlOj7\2#k(o:9N'(c%A%RH0G"&M]melq:#W!9Fc\!r'jPCe;^)`0g^T((q80a:ns<9&@s:[/UX/cY<e1/JC55g]X\sDT&8p(0O`c=pcQi^FEB*/QnQq1*<F2S]k&7l)n?,V'8=;FHbA*8`tPB4B(bm6'b_cETUd7=>(R@'"fWB;+qRgRF9],ffsIMgQs_q7S6`&UsG-jH'9C$Un9[\(,\R$_+^1Yrgh@8Sk].Ol2j2r:%.M0<JsRE11(f^MFHNn'&:aWY1Ko>^E#o?m%PjVo]%#GE-V1X#&9TXl,,mI[Ub,k/JK:Q#=l`*FZJm-K79<NHI#TCV0mYjdab:RMLU$5*._GW9/&1K&c-EKR1R\fX!;_+O^/9\hakLnAjWo.J*/&RoDQ;4g>iBA-#!POmrKgTr(<?7cpu4%<#jgh@m5(fN#&?/?2U'@s'r%5@f)D.5OdJ=S?pc+%/_QLS:7>j@_9!$@SN(D:ZghN_>b&@r-\7XZk&%OMLkU<s)sJD,8CXsN=l0S5*g#^k._314^2dl_[LVZN`^eS@H?O>f^HH-Q\^_$2e%HO@a(U?NP!C5pFu'S>#g9CccJY%k/[MGE!t6Fpb:`i+m0q6B$tnt?*a0@[eGE0PQ#"LcfqW_HhZoEm6C+"q?JZ162Iq\<+$Y(E,TuSY/nZ-n_CCon:n)#6*7@*hW]!+hdp93i'33=A^Ip)C\:qqG.$t$crpZa[m(CC@gjHV<kA<(W?6&O"ACR&8=G^K@?o]HI^%'f(d(Mae25iRc&g*u@N'&gjSm>P1e[hh_5G.1`NW<)$q,)&E<JVq6O+p]rMYJM[tG!`d+V0kru!]d59*R*;"#YPPuLS>I\$gp5#;!(g_sH_IR=$`

3. Tutorial #1: PWL17t1R6bbUI
Serialized: 8842 bytes.

!Lt*=jR$5YLh+PKmcj/]p+C?j-t@&[BVW2%M9,r,kN=Q&'ZV'N@#K3@Mo-0@mI[P.)GM_F]rULh%/JS)a<j;+6njc*J\fE&+CGd)=akEcd"<GofiRn\jIbeAYotbDX7YfV;l?Y@WB-rWDKh/k\#0#bhQ"/0l[8ArT=VM0pU?]W^Y*P-dlOV[O\VJ(^UCt:?(g"82p8+UpZ%3[c?P[dJ"9@'_6JNF6TaW!coH$TAP7B@hJW^k^ZG3.jY)+iTtS*QcZ'-@duF`RRQ2NXApIXa)8Q4oDsDZgol[Y,=8f_W6BlT+d30&!1Nc6KJU`Pk8l-PqFR\P:d7H;U%5is67%9'?brVJZoioSF',08CPUNW%GEYGfDN[Bn3J<k0]_NX?%TR_-omiR57t/#M^1)CP&:[k@EghPWhXb\)M<]+dME!&)AH=@en/4BS.4U.AMadTRlDia]fL7uQDu'8SHMP"p*uK3lG&TnV%tklD(+TO8KVO^qRS*tkNHBJbF%%"HqjU6qM+?2"ileYXFF&GiRD8^N1?aZRE/<35UP1XpUd<K>]aTrJK3_M;Bln[)lR/rS&!mabZQmnQ,N=+]3MU:&OalcjhVG-FkTctid6_V>d5T]3kuEEo`akI"8;`HHR4p9NBt('?\=J0"01&:9N$4O_69"I]47pL.9<eei*CAb;7j[2#6[uSY5Ok6L.-tiMnL<VfnXLuD(d`!>IU.Kk,-nQk__,i-_!DXR#7[Ir*te<I2(a\7EfQMr=Cd\4U`:]7U$)Z?Mi1o!E\2oWBL$f0+d&R11uN($+ifiWeLV<R%gL2_>B9:'66:k"4EZ<D680,<btXk,Hl24J;,LLJas&!sfEj3fqT@Ltn\-9uWfL[/5Z_>[l(ETH%YK!CB@Y(T72&3[g#<roA#Y7%F1j:l#2AsP:;u^Z(@gC[STu+9=qsdoS>jd3:/$("Qc,*tmS"&JWP$mZO`2Y`U'k:(;TnYRmX;Kap>cnISVp;4?H\q]hhM#@5_53bF*q`N8s5WB]O$a)eO8?6H_pA/mr(7IRlYVo*d^u^i,Sh/e2c(D]on$9jne'Rl.m/HhUgK[,4,<OL>]u$jECKZnk\<6R+P4+gF"K8'>ZQ"W-dBsH@4CVYt/ma`g%L>Bca5]S3SruP`oFb3:bn<!gc^J$:f3BYgYPhFG[Xbd7lJZNDKX^WV$ne'WhRV86=eV@fRr(2;FM#><BNJCCB#B_oPVU1Pkp>Ps*Dm9fNm'd&TfT2EB;d=<b"N:+WMU;%_p(I(]4P@jg/\n%E4D5PCr$1W/SMG]7e<E\6&!cZ]#bmd0C)\N;p[FG,;oF$[A15=0Dp=8J/RWX&/t*e/(;59&'-fb[-(AX>p?T3Q[(g"E<!7bQk%_'FAN1nG,!WPP^^W)JUda/lg@T%%"a4cd&h;dhu^P1Y]Og058r*IX%'bJeN-!hGEH)kelfZkd=8XGrC_'((1e.V>)G+c3?Sd_h2n/2TF&n']9lVtYf`h*9+jIT-HSI[kn::qeJ"5H:@.l7[5<11#iMjYQj[mjB&%gSZs8b#sL3%RF2eKh!C3c,Cqep3lNl0p@:OP`%Z'#aOEbSh<,'NHWg0c8Ru3Vo177nmc2?N%upgMoJ.49p^>P9c)GWOGU4DQHO3m4gi%OC#eR5hqP]3qdb%Lmq4HFX?X3UR#FPI]@j%.385MAm,^`mfjHp^]>ErAGFnVY8H(/LMWC4O/b"XG?_0QHOR-L/bIpG*9m(b@g/0L],Ak]r8L.C7JHrJOE7&_0Mp\E.Pk%hN4NI&Pf@NZ6/60U-V&3qBeP(j3llQI/hfU!O;!)i\qf;HZD,(tpY&_J_>9I#;p8o3khor?Qcm_0C`F)^@?KH7J^+D2m(="l_HkR.50tmXf_'?Mgr\)bt13iuFZJ(3Mol:\i1=B=[XL2TmCjNh2m"9B`c=EB-28eLI;3l2V$YIDK"O52hnIg)D!diil1t2>Z1idE@R'2:AH)WE+5p7K`:YG(ZX7alq6+l_@J)*<co3WJ#]72.h59A'S_=N:p$Ue$:l&g:gntFBiZGBJW_0.`hgWhD\G'AEV*V(ZuT#.Sg`kkE\Wdd@\p-Dp@'?,%@cl1Hjj*_ZJhCA9c*(O1/'Sf!?8Ju!frfSj2)cDaJ+SbHhLY)+da5tLV_eaZV)Xlj&5cX`K?0-<sAX<Xcr.+he/CeRr/Zd]B@:Uf1+',f(AWCIVJIf=7CX17FnKh(8HCMV"45%X5hVr0A]#5oCJ1!0."uXM"FX-oE4,J:Ws+(MGQ9Wd[ZO]E??+Bf6&Y:cW8Ggc#D>l@P<&53<ZJf7.&0X-X8YjmT"k8Dd,CscKL&t7akE86GnL16?e@Fe^RG+Tep^`*\LV#>o4!*g<@Zp-F?/!udR1(h!bE]O,#+tqpK4AOiS0.0*b\uL1N9[1!e41V'ZHlbrNitT+g:il$Ap\0BBPhY0lAPGY'BA'NIeGl#cOMQ;IlC^tamX7CJ&`Zc<^/ObSf?c9p=,At,eGtGJfCb>6T+em$N-eop!i6>f=!oPqUA\?(q$sbC1s;%@X=D1C3nM$Hc<)Yo&mlV6qr#,&@j;:AF="c6oaE080Ar9n@_auK("\'R*-i)%sCo,g.(/Y@9#'`]=6Tdkf_ScOF+`i`uW0mDk3*(h`&(aN[j<)`uY\J&75r?1#U1s,bg.9HiM\]\T+X=D+77+UIf%DWU1I>mG_t=c9iosCC9ZA1.rL?Pcu?LeEQPboLirAq1%QhfMRr.97"A@+\K`LZ2*_3b[5j>rd&D[qT/TBLPk'&P#*4l*E*+@:dYhQ0_tmc;E:k\Tbl%Ol#'[mP8:gsqRm@7BX:9)?o+EBhTa/j6#.qJ3]$4C3ka]<k!r]VZ%U.HDiYL"oSsU*I.iHPY-Gm#&m.8$Il^SZqP[<upQ!MU^/OtHN:5iIf^u,qJs8AI*Cn5HnN61"1mNsh6@8&AZ3>9=5!-=!VU'G<)Dn,^Mo;c=r2ZKni4'pjNWI:.d&+!3+$26(="+iD8\t)<8@C<+4_rGUrYUr/5<$jP*s41lNYdWR:3$kmb<PoQVf.rJXZdNZF,0>M@%\dZa#3$&$Y&H%6"XKNmq0Bb6/,t4[c/jV)!Ygi!25h#Y6.ACbZlX8brqLR,p^PjpS_,g7N^J_r@H"4#mB/UqC);Be"dn,31Zus<#t!MHrO7Wd)"$M%g$E9H#UeR=b)mIBBgo:\;<+[ouS'\</7P^pA0bpl0o@Y*pm5S%jkA$#Et_+hYrr0/#+WJPJb4Ird<>Yb%*?cTmr5XRP*Fm*@!DU[7JhJ:E.0;nmU]'TR6]$T,rJZBgSmpEFf'I[.XKB9pk&A+)P[SWQLOGl4`%3d&N=6^1F[(4KSK6I2V-qpe82(p\kBNbIZBlbM2DJAtMDYk#drdlFKflQjjmETBaAPl.s:,Us[g$mDpc]jU4HP'Ze9VX#%,FHlVtKYYDV'pme3DnsBt+a7GPL]Eg9BX<ZSlC&5L;msN_mjQ2u%-5`/7&^-j:AOO2:)Be7%?ikp>U=r`G'>Id=DbAh-Pmkp;Qo:sf*Wtdq`tjgloq+,rZJpR,6S`Jg>R3.E60s>M=)tBQ(E%:M(aisSM"Bc%&J_qW?tPTYUa4/9^BiIFI-$pnKF]HaC>.-#rCYU?<36Z9W^0heA%eLNS8'EW++C`.ej&e\iL`iM5:he7[.#a!Kt$orB6OU4Ap4*t^:R,pV.)-.e2'U%9A>"U!Z(Bmr'uqYI90*ET&I$7#*7LN,#@,f*X=SZ,kn#:0"n`2HDd'rYlG$jIrji,[4g%tVWr6k-K=_dh7gj77:J`Gj\_62aK^Z.\YFO_$ucMX_K2dXa]a0Vp>u6]q'/,ad<"!iq6P%8EH_?O0E$?K;u8AGX2L"nnT6=u20X`hAh'BQ*HNg[q*G9jWuV/mT^pb[=A2`hEGqj.]rN@7Y;fbr+(T-QILjEiW0%QA3qK8Q.qqk]6PB)&@:D#kkANs+LcJ.FUuUc!*86`_kJ$<2d\9:BP]QMQg9$I&*d9L$@Lr/2Vg\8+:Rlq&/#/#PqY;dnp;nt;c7WgbdBL&?^&R<K-W`ADj`1Q,C-n<a_5EpbF\l=MI4>=_s&7=YA5P*=,-LXm&"6PoRc!JG31B#ul'8TK)sV118b+343(P*N-2,(pc1!\^YS??",$^Kaf0Y)BR(5HqZH7+s11]+N,`TB%jO@RF_M"B4V)93td+c6([;XJY0Z7gUSTJJMe9+H5SeQ$rPegC1?o/)Y3VIr%6HsctcH?%TQZ'OkXBl@h7[Z>LL;O]BKQ1^(9M/OoO'N$ND'rpR\D39"7tq.;RI,-rq'0;7;k$q!3r6P,>-.1TG,PFuiGQ6Q^:?d?Z#_'im6StX[uoR@G2<scgn->$g$2(?q>C.rs5!VK%2Y7^\U5@jNpDBuBMG&.A&FiPdTHhF#>G_R%eCL:0`+eC'2/kNd0Zq(\+a\%&lCG7_1,f%oN+_/!(S>%*Ol=%FNQ(!R6m1qU_j1hBcR]9\bDmum2CYW&\:H,jl*dM9.qe*]h:DEH"t0(X.gQV\Dr2d>HSPh-\'hnE/=Xc*tl5_0^>-NLcN9n3+&]3gjbjXj!qHDk&@nFT:7mTItYR!L3Lnl.+#&Ng+IutTnblbB5`@];#.[26Q[XAb][&*l1s6ppf8_ifG0hI-4D)XG](8j_k0!8MSA+VBZ_+`d=lN=aZ^`:i]n*^hmmJh3[W:SjFV:5<(^;KC58O&.f7DCO>'DgmG=c;S%X='n,CIRk1O56I+N!!KtR&*:UqF&b,YoDaPEZoW_RcZi&g"@C@KH?4GUt*2R%;OEm%$$XijtGqN'ClFRU=0nTJgaB6%=S4nWn1)W[RnC-$Co@X/B`r9q'[T%^Dc@Q[Pr+*&DY$=h5qB6_Hb@;KPaJ$rS30)e(1:6BD\'s?i%.G3-_[maY$4_E66l9W0gS,+Ele'tpn"JJE56)Ak%:(4_1-G?H#8R&nWL=_AKh>:sMm&Bmhb=eT\He[3rgE0`A%k$%T1j\9m5is/dYk#>g)(Uc1]LPK=PpBjTg>CP3cHT[ml^:@bEpS0fS%c1-kYmp)1Wa9iq;gW&'.,*PF6G;U6*[2G_mnD$H%$'<(uE77s.NUp)8E*o;"%9h51RaG#$bmD;Rt;UK$t[F^85cY2,[>aaLX=gLsUq7M^+)398?:uo8,_.Cd<VWO4&'qh"30`F30<+q<ieJOkdotl+%qA8tUb+q8L(R0)7f=G:gt[1G?E$D[Fko]H6uOrG]`Zk!n:J_;>)EMX8c938D35NV9ZohIPf5QcF`Z4-OI5p1Ua-rU0j_"l`C/C`%FIW72G-qT/Uu0#,X>./Bq](FN'D4L]bJiIjl1DEX!b5t0;rm&M"R>CLhPa6JVJb93<7j[6G"C9cf1E/27mKONJA:)Sn@N6+>"[Dg4BE`c`=J[/$V'X]FD-K>Z^_UW0KYC\IG:>g>j*mYo0gs7T:2;#NG4;PH?1EKlHIl&Vo?-5d)L&Fc2WB2B^RqVl@Gebria*Q=>p:(cidgt*FE]*'7LZfQRC.,.J3.*%fQPhoIp_V`WE8'um=$`C__c8k7hN1uL$kt_RFrD?AR;YgYL3dT6U*J+M%/V,^M>fY4R/1JK/7kk#;k7l;E0t8M3Y(>'khukA/G3s)(>9fg^)CI+S">>WGE?J;cX!ErH7A([_[grb6bd\RD;pGYI.ZtbPn7ta+`a6YaW,5Z3XG*`2E.=0WQu;#h94<!QfQNqXo><RnG]soO*5_[G'8%K['OEDInKE[n0cRL&fk-_eVnAL^_I.;)nK'!@P\.M1tLH(GY3/jO?6"h!Z!@<K\Y&BP"DTJ!H$&Fnr@RB)p5OQJKf9=%Gs%_`/f<-0jIWH-8$@LjXIiZ+o=u-Qs:e?ojj9RU2h/MkH5T)s!_p3l-rMl9*QGhUY7(!(`1,ni+A0-,4<B(/c#H:B12_dQ;4Ef6D_S:><7X>.Aa%C*7JbI$=Op<7HttLWWB,[cZar.M[Sf4n6FWE5ht7;i0onYEkH4nVh7b)Gs2/,Cp)&f4e]88%A$uLXXc*hRO)4G<c)p3i@pm7LABP#7f$RM21'a&hLn`H_q<I@qZH(sYf6('cMUY-@P:0";eZAnM-^'C/iXqr,EU6;jCn]$$$/I#6J?)"^R<Qu^GP7X?aY9UcIb1a9IXAaMEjmhe7OY],'(pZ+,DYX/a:,he9Z&W-rZmT#$iO<9'qMHIX=g>A^54WnBg0<%QN&]3_ie9,t8(ko7F"aV#<7,QDoE>e:XqL.EOT"k:6ikflP`EnZ,T[_MQ"+/Dtt553-LM!tYrfKohhj>TD*g.L#,WFfien&@)(%lK+h6I=1dWdJbEG*pjEq@T#N=+gp]3)no2cTqogW,p/FH>_^th0d["ZN`$SHZ/FOs72mCjE0YM?UXX`DlEo*N,>oLVNob(kIBKkb.k.LG-D"%TWs"bEEP$1u)Sq[Hk)K/+_s1M7I*Mje'hiR@(p5`P9r'B$fJ3M(>VbH#Z%O[(Ua"W%.?$*T625G[LERi2<$("mZYuF35B?g+MR`q>m'9![Z>%27J8Mm;6Mf!W)5/'g)'4S$RJ9g\?(LU^gsCo&S^?0`LCj]ngsuOI#Z5T,9J";>SgRL"qimpVRJM!k.c`Xme,)3)dC]Fdd9:Ih[CspMW[[r$YBR0oB.mZ=N@pgj&GoD&R.eG`L=L*d/7R&mj8#?q4\1XsleS&"2`Fr"2tIP?XE/d8hP]tS.4WJY&`TU>///#RmTZ>R9O2kad$gK082Cm'/UeXQJGm_JVZUu0IXiJ2"R@&W3M$V'(YC@SkFgD"m2fRme1'&*+_sGY]Be2._VrDE._CK6oAWi8DYfh!F)_#MBeq(?mrZA-*01;JajrMY'uHjOED&dU*cie(;HOdM2DFumiQs4U7_mQ-W>taa$K<t+GlU%eGk7[n27h$Wn^t"S)]0mJ0]<Em+*t:G'@U^O3N7(.T]X\a)r5]H@/I-^dneYQg%G[fYT^eGLo>*d'X2K>?6f(]-%HFd(,+=;qBN7".Nk3gp7FY5YS>,_g(?YS!\bK/0qJo.F&a_"OGth5.NDI7"](")_JA6B&I`*J@/Q#batt4e>0Pc3E\[l+>[uCZo&@L@.$1u9%Y[_]O9':C]q9eg2qT60>H.]$NYok.,JL3O*Q+'BdoG8u;@ed#N8k(q#u&o6&&](l<p@"pSJM!I/`HBFXu%/PRrAIHB=%_[6P+,T_dRS'$4/NX^!qIE%UiMZW"D[D2/106C*M\?V8ITaASMR]9*&p/U1K0G#B%=W2`>'%?6Mn.>iFn!k-;Nd=Yu<P*I6as/*XpVJ]^d5K6F5gBL]YgFuY-?)Q.A@Y!g^5?M`3s#uuA4.kiqQ#H*J6!ffH@or+0rBa%+_=1A;6F&YDNYV;.oKWtT!K?9'OiQr9]G0*g1GEu8MR;,/W8*70?/T1m#P6Z@6<T`%o>q/F.h0^]);QY.bSEWiboX'1-]3?Ug\U-gHW<WW&&#u+=h+<K(/m`>G@XAn%8H`#.Ml.]?mV($!]0F3fh)`/F>2f'$E2eiDBmj3&+A=dqX8<j:qfitq`__",^dErO^=X*U>%U!_K(_JXL[@56\enE<oUo-J=`)Md0Vr1CK.[<\)k6=\h!4mo.cm;#%+J1J>qg$DalhV1HNQ6MD/m6c:kQ!r;\$Nn;\]_!r1K5q^E3HuYBs/n87J6FYb[uWL8;D)(;!.C!O>6pT-+G6/t,GHi+j<rGInE%$C(eSEoc%.Z)NggU%3XD;1?4U]Hb,D#UW8F:@$t1,sL%E&90Nn<%:T<$rl"/9d+'S''GY":tIB:FX/Fn<k2VSHSm-Yb4gV[j/^JT";5E"RY[L1Z)CTrr`khibtTkrfU>A7/I!G?DAF!p,OU$?Ti"<__07@XAlNTGd!.b\NHohVYW!"0?!*omL^pqS4W94iP:M^6\oZ%ldjElc&A(q0nU=&m"V'`W#)kMBEbLSb9/Vu@aMUCth2q6DYBjI#N.Ji/R!qf(R@=<:93S(+f!q\m@]R<&K2/$+CO!GrLf.Z(Yo':..C>/b(pjKC;&D@&f28hq)jpg/&*K=6HT2jY#_X]1_#f;!CZ<Ncj]ggY#eN]1hZi!0Ef5^G$\Z%)Clk<L1%bgO]d^T7!mI'ZFKLLb@".%<9K=#pK:%Ks(T.oB$K:Em*)3p*FB<k)"cbjDj]K-#U9c>Y86ZY"a*4%FHdL*S#.?kO@J?ZGb-%Ldlr^!"q5IQLlWR6S;h<g:-j">2E2>bU!XL?;h*t#n/'GJLodY:;)agAZ-V$IVGfq;1>FMQKXYh%MQ">/AKC7*Z]P/Kn*8=`PV8-.;&2u.*jPnKMh)3","%;-Cg"Ki3@Yp7L'FJ_\k**O"`!/[TrfeB;osS[-:b6V@J.);CK>de5n.[cIg85jp(8MG]%+Ep(BdmeqIM(g*\OQm_"qrU]hQJoL>pb8g>Nc[tHVr)=X6+AqYOq&@"STCGMB*LU77rKu^`(e3b6JJ,WNROoK)od6dV,*XXf8_O/qhE1/cNX?4MD*ks(<,po;H_W^S*n!*=K0g*tX(uU^\1k9m%EicLC]2#=i8[f2(A\KI[_I/GXL-RIa_[4"`h&7GYak$5u\(.3`RFkRU>:R1HnV]=69=Pbdnhp+=P2[L\CsVd6d-IqhNdE#D<jpblrsehO"jRtVsqkLSJ6c*]MECf:j7hpR0\e>XbShJi%>0u@1ULF)1<7%0Y%bMUNd,N`Upb_.M$]""JCd)J^a4O"Dj)V+,j>)(QC'n"!p,9^3V]F(OC`C89YMlsV8p/KF+Q(\8;(<=u]CN^p>YLq'GPNcVE0a2<a\ks@9;a[*Xo(I+uA`V#3K(KA6(?_7VSVG.)/Pfhs$W'XOgdE++jk,eCf@t\:9Kc9KV4_.r`H?srBWeh+N@QQ[IQ=<4S4Vq)QC@(+'_1#2Rrc3j[F=eH>g)QiH3</@2*ZN?gBW0(If

4. Most of the blocks: PWtVBnyNUobEI
Serialized: 5675 byte.

NE0[K)ihO*7#b)ZYL9$mM@ci^C8no@C1C3S8o&@E)Pp&)2'PMG=aL<L`$d+BC<)pRCR,n#s6I5YgiMns?g]r#H,oOHIF%MtmuDg(fWAK[SEXGS/1LZjV_9AlJsqXM265+^gq>AHQL<b<i$,GMr%Dpo-?VZ`,"lt0D(QL0X&%kE6&LlUa)ds2%NlZ>enR,(*Rr3hFR*bd1l./0^p>_Ag:H%-NLC;@CchH4Cku6b`^SAd`Kt:[lM-(0V6"jtIj($9m//'tXehpnTC]@]Fi=1-@Va`P'fMrl>Q'BQ[osZ)*&9"kq_i08jcha8;u\[f6f#[n%\>Nak!f3:NG[K!_LY*YmZ3]d9hVY@(C))5(O(\SgE]>G`H>Y[%]MC3PC*RmGT/:Wn`BO<5`[F4hW\!raQC&!>oeY6S4et59.%'k_bPoB]/="OX+<0G!sa]kBWY7gQ\,T`jQD/;E+I#*)E8A,eNS4sSN'ss(0<J;HjM(TY.\3c:0:k8X;Y5KITYD5kh3AUTHFk1FUkDJ^83"B'N!o\'g"\jP$G7mq^#U7k=k/F]Pb4W'"E[5k;1'CPKT'rfD^n:j+,A%9/jP2TU1s"rH!VV+L$toE^_5dh5QTN+d5`[1l2/kF/J-n]59Y':rFl_*T$JA9\XCEG:LH>eVOnGr_nrGp("i^[(AgPR'jB)M71*]@E^L=ab\RK;W9_/8L.BVWN+)$h!bfdoSH45fO3S#5^UgC,IjcAJt"`,G6&llg0>iX3V_pX^+H>8K]O[uo`si3o;(]Gm(,bB7\)l]Wn$-l[23YtaLVb*i`5@LPZP/Dn+_MO_@U]Wbt:\3,DFMapppoN&]Cn^A23_DWl1*&iOiJYQdq<#$8MrrAS5:=ouCVaEUrVKl:QM\HY9V!=HI,:?V`$[,s-MZ<Q8<e1WOT&&[2ND"2Ob_K.#u8^48O<F+F;=^=)'cO9RrPI,jk".n*Yu1W#j8<+hG#Lka!MHK<_,c`tr3(u_Bba</'(p5WtM.A#q)GZbZ#P@J/d9lAI`TZ0FQFg=_?_2Y]gZVbRhafcFQr4a5.O+JsF^^jHsNiA1nis8hO_#Pc,419LemVLVRnKskCY0;q\1ggdASuWjf-t-T]GB2'9EP>#=-VL?hFW"Ps7C=FT*0:B1e1MX-HpVOA57*^QRO"L.Vr0VukU(Sc6QL?RD1f:Gk<SibfI\RKVYQ^Cf/9(mn4t>fq-pB_r\gNl)s-PS,^]Zr\MgR$/!](am`trHJ][t(I_F*gT/Y=elQ3>tC0,HIDMT0K9Z_o'-b(dK7l^fpLOpC'j7X:B&>BlTaH6dD)>uRO#Y(<g&]gCO+.Bji&3\=<)jTK"[&+4jiU?@==c9;$/b=FKPteI.<252JKJuF+hF5Q,IFIOW#o]6%(G`;i<Jl+tV<cIRlQ43lGo3C%YYJ-7E5QbV&TSsi_Ha,\PrPY/``cUHXtU(X%+=.bfO0-`VX0SQCMg1mh+eF;WRghg\W&rOJEb)H1^cm9VIel%1-6SR5Q/qG"BFqW<t?fZpaMl&Bg77AY.i0n[popNm$=E^&;L=gb09Kt4Q@TE8:5bn\ao)Hao^f"k1W$O'o1>'>YCV6Apd_;o0PV0cPNV3cN4N`1HM+!`H3k*GrY[9Hukd_Ch>mY,<R7,3KYqpnC\Z3T=gGWRpoG^;h91JfKn^EhB7IX/d/c\5/YL.)22WJcus/1GkDB!%R<NR#G_GJ!KtNeJ4[]VX49Z>6S_$%+m:FA(uPa+"0AVjO[[32GS@H>2oB1),*kB[*Ma]h(H<Yn3G:P7E)nrRNau:\efe$KEDqb9S5gnTmRlTln!Enc$a:W=$_&t2Ru!l+b5?G.k6;Xt:r&;kJ3c:j4h0GE)S<h>n\E1H`mu)&bd3@Zs1/)sKdVh/re]7f%!fDmnSG5Ncf$]7mIiN9CZof1EGegc&HP?"T`nqPRW+n\CZS0Y0<A.IB)2s<>q.Y"C6pk#Y$G(l)]FdDok:\gO56('Q"Ij(>%Bl?A&*s]F%c+'oO8:joTt#A42'`]_f'dYWV`ncbX_UKMj(tlH0Hh;oL[D=El\#:po=@E,#DW0.#A;:>MI@Aqud5[&iYem'1JKd:C#'jD*7=31'ma_HY(3e&kGD0;*S45Wt4B:>(,e5W:PRK/?1\6Vo@FK3-5g='q`2)!>&[]d;TMV-t4DB3ME$p8)Cb/eEB8Gr0jE0.c7,Z*bt_&+Nu5lY5hj>G1a\o;ats1#V&&qFk4,U?a9V@/Q)4?!CAP>.,Kjgde[IbPs4U(2Vj*bT0?+_r\T?;T9`>pM(0%]0@@n.8]V%P';@VmH$h2_8a`I[gOp856l^e"QjcOJs(G7=!K-iVbEfH+Z:\Rb>3Jd@dCV!c^hgf!`)f<3!UF1T2(sYZMa^pF7OW#TlTml[%M8$OEb$/t"=3b&kC"6`rIRdW=dD_jf'T8K(jD;Vs5KVN2*Fu!<LU7:2b;&b)6_<`6MorG*;6?loE,e<_,B;>bsV4>+8WQ;4N[PLTZ8b?r)^$+>O1jefp)11o-p_:l;@:I<rgG5$ejVWC@Vbn$O%>A_+'BaD'a2t.a5Y6Q;H_MdZ!D?T7]hi^(aOUo)<qe"N,pj`)'nG1$SPHCD#\J^WF9q4PUV(1bDnl#qAaJO5o_XHbAK-!YSp^4Rp(P`'3DoPhj640o=?o0*@UB9Y_?-$IB2h#38:a,;p)Q#aEZB9g0!O6&/kaB+q0ZT6Cf,'=Of3mEM@A3a+'qiT<"l#rZ<)<aZ8P3.RQ#+I0>1I*#FM+6FOip=3jkMHb!k:6m_=n`WCr+(PD("-R@+`LLS]qD2DfRJ\j6S_9?aMbl16M^7>5]"EAXJfT"S4Y%;^-T%QYnk?Y[JVFV,RZ(`fE8\#@XVPt(cqRfCdDEfn)uflKY^7%o#Qt:E"pTW-b5p_cj^^/Xe;_7/5ToP!E!!Z]huQq@+)hj/#mu=s!X4-(G]nroPf\KmVb2I8l"',aqq]^>Mc#"]S]8!dR9R!No`E5:J,pc0mk,%@"+[-iKmF)6S1,G8<`W4hk9EYKn$5eOD*B*32BRiqo-(=DB>cRBLHnS\+UFbc30-)LXt>/?Z=pT)_L]]nh!#;F$@AHE202UUQeug/.^,g8O;I+nhh!YNNZ+'ud"qI:@Rm`W^9TWh2LABj58#g5.u_R]5sdV>R!e(HKbS'_4EVUeV<bm#/G65F>PC=FfSb3m%DSin"Fq@o(8/ScDYffh,X`1Cf_.-D?Da+EW%^D>UbS@mXL&:)[LF/B`3Sqjm$2CPrN+m,M:'I8p/^2ajhf=4kLuLW0?A&)^eb,gZDPa4GpbSM-BGW3g7OntmgN-OpDAsfl[#U7_u\E?Wgd#H7T-Crk<MXa\O*;cWmSGuQ+`87I<!"[*d6LN+Or:R3o[BHJna"pG+CPTonUdRh_u12]F[:>4GXuq'?$DO.:bLAEJX\T=FmXUY?Zg#:9"E.$ClgY>nF%B(.>05rUi[_[V`g#AFe-=$^s"GLaC64(/'OAGZtIOQ2]'Bs4gO"Y9oF!MW?.C;466)IV])?4jhE8[1cg9#imLh3kNQ.YM5*b,lG1$7J\*;ht5OehaktsGced#^22ZN?+EWVgJ(#d0'OECaj!EE2*h&1H4ccJ$^7ilq"T-,gg"c9T0'SF.ArHq`IrM\!XAaQ@6?)%T=t%3D\[!X?.kb=+$D`1hDBB61rJ4pJC!r,#CduiCrk.)aEH$YSL/V+G:^=oZ6c5F&eGL:(WqXjds<#Gm2">+l.M#Z<`Bt/ot+k-adkq2aQ-*NSa3?uC^''$<sdQ\ekPZKJ_op\D#;6DSpKn[dJU,*m&"XgZ2)`[#At<3eL'V,,VP(X,+*1R#Ad*bO$!hnf[fs[b]E'WO'f/OWS)C'm\U*A\^;USC"7(Up+RsrM`F;pdDBP0G'HIc<SNE3irpde]LCH>rk9mA*sQM9n%NV/i($:a*loDX2<Ln%p")'8R?hWtBPK5G..ZHd=+P_YqB$<'l!Y`8!Whds//%f@d3XDEKrsR&R:0%B7Da)0YWf$`[-[2=nRBhDbpUI$)`g/`IDmIWn:f:W<-Q1JV$.UrqK(rbnlL2gXYk:>E,M/&_rVe@dB^$D@oIL=U+Li_i!0;?ACL_.l>O]"UIB%m]Pqb_c(t8l("iO/<mh@D%!Kd8KBd-3=+fXZOW'0f%6IOP&G4a!ndKYY;KWi7T$VA!e(<YrN\<cs(AKHf\eEVDR=8`WLbeP7RT&1*9%feCkgbd@T7Qu%r*<h.q9^\lisE$4Ca^dHk`r@=<$^\ZP2c>IVe)Eb5*i)i*DJ#XE$^s`F8:a_9!-!rcaY==G-lGYKa-O-9+?kZNN8BRIM[8ZTA(sI=:`6Xg<$=j?>uCgIL<-UbPhdJWq3qXX6T)$[ok_pNVom/`I-ZoYF54@>Nd3Z79@]`nCqUU?H.`58MAs"fD3Frqca0bMSKdGcZH[)r!]^nQP5bNT^;TUj1.k/TArc53GA3`T:Ys:V@17c9mY)bkK-[H%\iNMp!^pOV(4:+(#`g_8sMb^UnOHFn[)@#ARR+%&teY?jK%,pd=-i"Mi;Zp.&Guhh#VX/"SZsR_*QpEqc;0_'=_kZ>tFi7Df>Y=TB0eU7NuR3CB"tf3kfrNcn)qBc"Y\&19YBds"*:3:CPtAh3I/mkJ"k^,d"Znod\:NBX*Ic0-`0_lRca-kD(D+LSMQV(a3r@[LI16eof$Sn5bI]eu$'2)?!)7hGeYsj7<`RN1TO_:qq[BUnm\8IpoP7K6#dni$\K/X%;F(RdSQ.$5FP,)ZQ[eXl=^\]j01`]/`LP7r>S2AL?2Vcs@J/[fOOE"jcbXnpA^4B*X]V(Ek"T#(`8i6;/LHkVH`4jo]1c*GLheM8#2/m`+#lC!mS/31<Jpr(j3=W&CPhm#Z4"?lOaUqjq9>/[=p)C@eTj]/B2>^B1WKSFt*g[l=5J/L1Zjb<sWH7D`r]-GL>/["HNn/OG%+^7**IFJ:[c2mlJ-LGs3-cK`,9>H6K5Q+,@iDG>QPKeCYN4oA/e?4sY&;W.H$b9E32efc28XIF=2KQLDDpE7pqD1b0p9[+0?5n(n@f2lSrHR_05+E]Y7<]:/IK_()`J$+j`7"'h:Ed3smL_dSOB3>`/R[1M?YK1LX:Ds\1;WDe1H<):pJ/afB1/r?//.Jf/V&O`RTWorkSbKW8I67Y(dbDFTNEnG$KK%XF>%ZKCC$H]A$fni<"B1(*:F/%JpTc`*kau+'g"sLC3t[h!5NZ-,[brYX566gj5a;1-6<\!F9T[/Pc*!%Cmr3.JikJ42pFF)k3$_r\DRn>NQa?CS5NmFc]cBqKiiD'':Fr,c@[G%eQ1Wqah(kf%4+$F%W=JEGVEmf2W)7aBor`l/;OrZm*tuT,]AOc7Q"F&@nV4@8!i:'hkb%<!%0C[:MZh:sRVRn1@HJL*FsIG6:m:1>Pu/VW`YN,@8e((/8gS)\_b_U\P0eW%NK$kdU90>"=$odZ^R>PHb%-=Fb"/a6*pdlY336EBJWA3omhVI+kDA)Cl4]I'MX]3"\V)FW.Kb/l[uIi'N7.)Fg>fR0Qq#[email protected]$6dESuQNG.%ScB6B8Wl>Lk4-bjThC^0X3nq8e"JL<].<(:F,+WS*ih`n[@p,%5<Ip?W&BZ0f)Bl].QYQ5sBH+uM!M=iUTj5c]:.^l!5FS$H]J@huE'gk"dIQ^[W0&0YV;eY1o"K2=-%T(l]eZ/(=?Zo6K6;&J:Ho;jrrpU&/'rbG

Encode / decode takes less than 0.1s.

It is now faster and takes less space. Its still just BotBits, Some old serializing format, Protobuf, Deflate and base85 mashed together so there's definitely room for improvement, but there you have it. Worlds in "reasonably sized" strings.


I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.

Offline

#32 2017-11-15 22:30:40, last edited by LukeM (2017-11-15 23:09:18)

LukeM
Member
From: England
Joined: 2016-06-03
Posts: 3,009
Website

Re: [Challenge] World string

Just thought I would post some optional rules that I'm going to be following to try to make it more easily comparable and fair:

  1. Must only use printable ASCII characters

  2. Must be O(n) in both memory and time, where n is the area of the world

  3. Must not rely on an external block table (so it works for more than one update)

  4. Must be written as if you havent seen the testing worlds

Offline

#33 2017-11-16 17:13:53

Tomahawk
Forum Mod
From: UK
Joined: 2015-02-18
Posts: 2,822

Re: [Challenge] World string

^ Don't let number 4 stand in the way of general optimisation; many EE levels feature similar patterns or arrangements of blocks, and just rewriting EE's serialiser in compact form would result in a lot of repetition and therefore a longer world string.


One bot to rule them all, one bot to find them. One bot to bring them all... and with this cliché blind them.

Offline

Wooted by:

#34 2017-11-16 17:45:37

LukeM
Member
From: England
Joined: 2016-06-03
Posts: 3,009
Website

Re: [Challenge] World string

Tomahawk wrote:

^ Don't let number 4 stand in the way of general optimisation; many EE levels feature similar patterns or arrangements of blocks, and just rewriting EE's serialiser in compact form would result in a lot of repetition and therefore a longer world string.

I wont, I'm still including info about general EE worlds, just not specifically those 4.
So I guess as if I didnt know which worlds would be used to test it, but could still use information about general EE worlds.

Offline

#35 2017-11-17 22:57:27, last edited by LukeM (2017-11-19 17:55:34)

LukeM
Member
From: England
Joined: 2016-06-03
Posts: 3,009
Website

Re: [Challenge] World string

My first edition (basically a compacted init message) - This was just to test a method of compacting the information, I've got more tricks up my sleeve...

1. Empty world: PWW9KtOqWFcEI
Serialized: 273 characters (about 223 bytes)

Output
Readable (ish)

2. 200 lava minigames: PWKK8zFHH8bEI
Serialized: 62943 characters (about 51449 bytes)

Output

3. Tutorial #1: PWL17t1R6bbUI
Serialized: 18182 characters (about 14862 bytes)

Output

4. Most of the blocks: PWtVBnyNUobEI
Serialized: 11991 characters (about 9801 bytes)

Output

Offline

Wooted by:

#36 2017-11-19 12:22:01, last edited by Processor (2017-11-19 12:22:38)

Processor
Member
Joined: 2015-02-15
Posts: 2,209

Re: [Challenge] World string

destroyer123 wrote:

Must only use printable ASCII characters

Space and newline/tab etc. are printable //ee.failforums.me/img/smilies/big_smile

destroyer123 wrote:

Must be O(n) in both memory and time, where n is the area of the world

This is a very stupid limitation. Actual memory and cpu use matters more than the theoretical scaling of it. Let me also point out that an init serializer is not O(n) so you already broke your criteria.

The other two criteria are good.


I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.

Offline

#37 2017-11-19 14:03:29, last edited by LukeM (2017-11-19 14:05:59)

LukeM
Member
From: England
Joined: 2016-06-03
Posts: 3,009
Website

Re: [Challenge] World string

Processor wrote:
destroyer123 wrote:

Must only use printable ASCII characters

Space and newline/tab etc. are printable //ee.failforums.me/img/smilies/big_smile

I guess, but I meant characters that you can actually see, and dont just affect formatting (and I'd include space in that)

Processor wrote:
destroyer123 wrote:

Must be O(n) in both memory and time, where n is the area of the world

This is a very stupid limitation. Actual memory and cpu use matters more than the theoretical scaling of it. Let me also point out that an init serializer is not O(n) so you already broke your criteria.

Why wouldnt the init serialiser be O(n)? Surely it takes a constant(ish) amount of time per block?

And this was just so if EE did release a world with twice the size or whatever, it wouldnt take an insane amount of time to serialise. (before this I was thinking of storing the whole world as a big integer, then taking one piece of information out at a time in an unspecified base so no data was wasted, but this would be O(n^2) so I thought would probably be pushing the limits of the rules)

Offline

#38 2017-11-19 15:19:24

Processor
Member
Joined: 2015-02-15
Posts: 2,209

Re: [Challenge] World string

I've improved my method.

1. Empty world: PWW9KtOqWFcEI

Serialized: 114 bytes.

H[B]>lXkT!(<=Wz!!!->s2Gijd/5KPZWG@fNY__Y2'RN,bK!L5*4ZK4:fg7o+f57SU1t5QIK`g-+]27_\4^6)J*i9U['d-i_NBn&<UNRWcMEeEVJk`VB7K

2. 200 lava minigames: PWKK8zFHH8bEI
Serialized: 15844 bytes.

ICj&i*AFrLN)QgfHZ=6]mS_g\MVA.AmSLQ0EHcUi\5V2=h%&j*?f/D<m^HeWbb)!'A0ibZan'%Un)W8JU4RB\c6t(6:Wt^_0H\un_Fc?T')QunjO%=N\8F31]Wm;7kf^kVI<k%q0:XI;,mQa'):=MSn/c0(CZ@lp%NRQ0+&IOV@bF'U3r&LFkkKWu2&8)^SCj)`1c>1VUu'bWkpoMPr&9E4UkV"*=sO.j=5,h/rMP9L-]X6h8j"AjqgYFA,r6Bf@Q4<kDuloebcCuaUQPoH9+O\9[>,',\bpVL<7I))^lDrt?Nek(bf+YGFBc!i-GC.f:7+]YHe:n+""eH!*1n8'oKPJ1Ch+:7\:mdnm.CUjXS>mam]0BuqGrS=$q81ER.sMfJZFctc+F/N#$M<Alao&unk;R2S><XPLu!"'MJg(5*Sn8"D!EEagekNnhhSYkd4FB(B]0[o\(6mA&oj_t/*L]c"W;1l@I"1>8)77DTR"WS$ba)$C\'$3okqGY%J?N-M;,3+'1RcW?9dedok+*W@Vha#k:!:u*BX%%`sljce!5V3KrtID-Kq#RThFZY(cd^Gmr_0,dY9UnMj17tCLDRMD2;76?#-!"L4ku#RA.s-<uc[qYJCnDmqNIKalN"+j$cVR@+\1,(^K_WgAYZQKGnjtZETEt-r3N%ak1O)A9P9ALYn^Ea/gs9c;-old2J?ldaf(N(=L#,j4p"cX:H_Nr2Xh;gH\<s>9"f2C5CT?/@#tYFVA#d@&FAE`]Fqs;6QKs6naY;><J6E\Z:VFaR"H@/ehX5_6_c]\M:m[4k53,5r2PDCn3[MZ]!5HQrj]7c==hMQLbsWNL:7;f+Ma1C4ka2Z,Q6V`-_hBro:u*7*D2]htB15C\,A/qQY1Go^S:0j20bb_uCtAo>Tp'_Z058qu'ZVb33V@bnIO4B(/&-f-7NWkV7FjZ;%Z;GE[koV]Xu)J\BiN7njSU3;sNcJMkKNlPsfojOj)4*]YrNCrW0HBS^&d%U>f,%stefB1fZm?!'kG'Z3Q3n\`Z46sn(i'he4`5e-N\]icK.mVL8l1fkK>8fL]$=nsusc3u48FS?YVAU[:%gX-'BJ,79[;0Vd!+K\\NY(7I_<N,"ICAE5PhmW5U7>j,C/B516A!&(^osNM_a(tVGbLAmRmd.OKddG5]pW5Ki36FakZ:21uICd3'SM=F+=hgNV[g@c;_.n7-DM/mse_.pgbmSAWp;aO7H)/Jm;H3k;oUN1A/.;t1fncZ"#aM'Fg?%$T:ro#A8LPRYmMYlRMQ6,S:O9t,\pXq^6)X(%9='-,gNNUorf8UT;Y6[/KA.RsJ4%F4_G]\^!7!FSo7KNGF#u'ohu;F+&+drQD(^Dba/gYIb1(Pnm:s.XOOS3e`_b3\IIhn(KkgQ=]SX)Q_4,%P1-D'!eu'2E?h(&)ADn"89h-L+H`+2f9U<'?c=RGSgYY'@Kd(flBK=#nWqG8_2mHt2K^B%<5&G>WeQ@8HpJk08jIJ5Lr1RSQI9E\ulHqmY^mPe&!@NYOV(%t:hgf_Lr\DsL!5)#s)sKQ4f'gpq\e3c'hqTG3[P55j*o!ssMt*(0j>OdP!B]I^^@eFlDXh9miBJ=@ED/D#/\B#e]bY4JGk/W%jBpmb+bd5L/EGghhu"+)FZ-of`\>(_,XU!KHE>g!B/B'?R*,:9\-hB09kR@<W,(c'+O;/0C_sMIbep%dO&KUH-a)tNH>dE`/`Lp$+*mq7&#;-F=_]ODJ`fZ%@pXFI"Gb1S?530$I2mPA_ctee%1>>s3K=BaXbH`K'p>7KllTS1HBpt=%RB.]IkK:<`IsG.pm.`1:PIVoUCK>L(m&\e%`bpt):]RFR4>j=6Sm4IX5,GLNZ/#`H,VI/U*c/J/+r1PrO7O9FiYkNlJTIro\WBioXH>%fC;g7G]CBAV!E'a-"O:&qmhgop>q;#_fNh.pM-0,*3U//@SX/OUe9WH^%/OfKH<.O:N/h=EAU9#lVcg[U*LQ3:f+COD9o(c)fl`Oq;F-u6nC^&[email protected]_^U5!Qq'-GV?[nD1U$X9KohTheqGXj%W=%dHRVakOF+uV$Sb"/\AHs(c<_ISt5B=f14iI7Y;r3o1S008\o\G$Ha8XI):Pt#VdOHZsoF3"3r88dn*8q&II0<1QOnUs'h2Y'XUDSHQ'"mBD31<5AX9)F^+Krrg9hF9rhBbi-Oh<WiOUN6Cl`:uB7F<1?G%aOCU#/TO<Q'f+;?nFCnQ;rXbmls**N@iDpjP4dA!b--%K]C,H/T\a7W.b44CQKM:iPR)8,M*FCVaW>*Jf'RF[:\I#%Li=QNCEV8"1oaoP7G;#qP/YCp*Sp[5p@j&DT(,Qrj+66=%Jta<S8:WOat9l/.@nG[[331(!`O.,-FVLbt(!m`Eec)1-EMO:_oC=39J0HTr3ZnfW#3-H9H5nX]ZSD)Dne&CB1]"KRIM,$BJ7<?Z?p`-"UnYXC56j;N*G4R%Ff9#?Tc.pZnEF4!VMln?^!&,H4t]PYnOFHbk=Wpo;?L"(K9FB>.!"u[kuHjO-bMXk[kQ=APGP@t1B;H#+S\]_I`^2X]n1AqiX]QSuFA;-tb@2)cNU1L6t5B=fJ?Ikuc[j'$8?0r`?lt88D`q,[1H/oRnh-4C3#<a1YG0WC"QA@d9eT#j^p:f;Mo&Q(M_6kn2*jeZ$ZG!7CWPY^I$h`>FHRb/'WNF'99m"_A^8$tc917[serB60\[%Jt!5MPbfL.];I?ol0*&f8rYK"=L](OH_P5>pa.b]^,:4D%;,3d'\hu#n7TleL!!mFR(XOp!f(Ykgk1?M`[eR"n!@`1RC,@q8>X)"4==CO7Y&$*&eVAEWQT"nhh&Hs%diUO7!_m.QehDjDgb^Om`ZJkH>,qQ4(A]-X2!db-0.!G"Tp#ZKR;Bc8s\Jl]kkE6f<qH)g2\4!O66aTLZe)@R7p50q\GAng^ji`Rpe'pQ$>o4?.45?\&qDZC?(I+XtIf)$XENmi0p=hN:f7+Q9I*e^92:]ad*TYcC]Zq/XmD`QmeGO#4>UODq=#rehQnm^[&/jS:h<h5&ff>TF3U]!;=99pS\m.0A7BdDqo5+bP..&rJ8@!s!gAP+0qBmc+F"$D[@_\Ko&/8j;MT511d_,O,3tK^7]Kuj:F<iBunLI:Y<Q3,FmHNJe25Qg4G<HZg"_M9DI&C$_V'Js6q>E>@e*h';@?e;.J39?tW79W`Y<ULDEFV&E9D=s<JpSBj4<7BbB=]1^L_[GqQa@0V!WFSs^gCM=:m_oN]!6GECWG%s]q]?F1'8Nq"Kg"n+03-!&tT>h?-Zd&p$WcMMk+r?>/Ib,>Q.[R[$Mrjo5kgDg`q(Hb<M^%o/D6LMp9#_1],qUK%=qQMFk3FM@,qC8u:+QO5F&!+8%46N`jYF/?0^P9%TVWT.\R2r;9]XmbX%2N;<jL[j2@md/qu#>P/I[YI<N]C=&ldNLs[6,?U2PLle>i9sGT&)L'DY;"mqYkq&p4"@YQQeZW7aeqUhpkq&OQSn,Kp!;PoQJZ-&MB;:$\of#a\Q%"%gL&46VZqjV'\_qh72i]JR?o^UOSRMae"!Begh1TE4G'!3SWI(eD;9:aKI-+7/=crn\m>7!cqlc;[>WMSL#9H]b'I-`KPj,N[?H0*oT,!FGVl-BGp2jY!9U/2es+>"\.q!@;rFj7sO.?loTJbQ)>iY/;Lkg4kaXlS]W$V\[c,9'-SbdQ6aDQ01r$#LcjtEfK[[email protected]])V-d]8ZQN^?/qE=[l2spH4Mdh">BU0gDpIa<Y\ClX2"gRc?&VhCo<lUSSq("1WXm#np`-Z-\VC%VHEjdbL6u?K4OgKd,T"KNV"GWDPie,=LmlN+NETO^SqQH!pPH%-W.oL"-Ju!tu$>;+mr(-WOWn"q(<Y<SuLbXO_:PWmq[UcudV;knq;L+TU[]9%gS-![,^1e['<[]5Q!EM0&%CRG@QKr(:PM22=(R2Nn]kZ']EU%2R]hV,rS7tV<fM+kJ@<&?Qc(7q(RROnmA/O-t7Sh>\\WD/)0p<cg!u(k]P=a.KR+E&+:qsAQe75WKba1[c5<a=@a8Sam?W:#-NY"T[E)X@Pbjd<F`?bZ5;;&!sWm6W]D%Q0MT">F;9f-+/j>]b[+fFm`Zl4ej<sg;V]9pM9'HP-Z;+0S%^Yb4S<?fP&gH94"O4hA$)q@/WRXgXBLm6bJX!e1Ao[kVn3os-u`:pD30jN5,rX/nT;mDtHQkAf@/am3TqJW%$!=926<<C!!3X"9r7`:5rl;-=1Z@7XFN(2os[gN.#!&;T1[>_u<SY)R3$*u"V59J>H"55e_D9s7M!sD1i_!0L5aHhkjb;8o=ZOo\5l<[q-mlSVicZ(/%SH\sSPiQi`'_cen`.DYR9fd*>Aqm_/XpH7m-%t?A=pZn(1t3+B4'4;5^")$24ZA)5'#CK\mQ@n1d1ebcqQ;D>_R:^Z6jWAW$#\!Bp;5:bK'Q'Zf&7%:%>umCoOi:9/O[5@"P3?l+.LdbYSHJ79+W+W"HFdoO7N^rqCf>&M3VUm#P'Nnhh.Pe(+cmRTjib2'Z(+4+1F#[(iNsTee,U[$t60q6.]As8[Wen-XdcbJnHTR;"eV3f-,:3d,1^eYGWmpY<Pkk*N8\rY4CG\Lp:!][fCd#7d+oqD`9<b3CkjI6VEt4a!q68r,i5/O!F!-d&aPpHa@7e1D5RQF7"^ZTtCI`=3H-jJ$[QtWB@*'nR0W#s%lacKW4(Qg6L6.CKdN/3DeldT8E5Q<JKA[2O@a^`R=,6q4aE#TSB[8Q-8FMeg/.ea5%N?D`6$SB;X.WgXk<'i;6H8.!PgkP`+rKe0a!7W8G/jY-#7t=`<"+Wdk=J*;e8I<If&5I%t/sKh2*Z3`i6Pp<6?8R_3%.'tEh!2<<&8gm#JVAW)2sk!%>dWUeuV'l'-8Q5pru-D"H[9,gP]A=_:(C)"!G[.Ml=VT@pke1"hok5/_feUgl'1%"u,RA[TqQ14=59Nu.]1<C4D4a,3WIZZl2es0b0icIX_b4X<H#u1Fl3RnLAs(q/9(,E<Vl76`JH;ICW2mHO43O)1@B-<[VYu=1I*up<fc.V\Z?965Ubh/Bo_Q<U5opHI(hmU;NH>84)?cMp`4F.j[aj>01r/:SmI"ch2Y)V..ol(-(Y*+G'H.G)DXdmYkDtZR6KL&hi$^GeFik(1!./H"er>7QHALi`!$6=$:_(W7pS+TES865Y/hsFp+aMX*Ck#qtrcYjJWdS[&+83N/"XtR69B]";D1Fd6Nr,(9#ki+&(Dc/(&LRsm[^FI*3/=LX4D4,;_ZQVsR*r=F8R&B7/+]Tsc>$D\!EL-gsXk\BG)sac8cE]^]%cuL2Y0.YaUVb7r>*Co`,H^@^2&L6rUbg-;<!8igpN;`7nao8JcC"[?+Ut.X#bmW)QmP.um@_p$DErtbGhB#km;^Gk*FNmhX9oVN@6AhYbBk0^Tk/\\aFN(!N@\5DmCLBJP0M?<l;cUE3HM]k3jkMKCc\DF)cH2E&6*;n5ZH,=Fr0u&#$05t+t%l#7l.1;mB=/;gjXJ[E!K?>F]ZMKF8S3IoY`h8@nLO8a(IqY@*#*KHbP&9/h/ZD>A:sQ[ZK#ki)W&GeP;2^9'K?5:g)M1.!PHi^]=qqF-13r=DP0\`c.;Z4Bej>;COe*d%k8E-]eeBUGY<e?fUa(Afn%IL>o?3Dbp%1S+,;!/,n?>dl#s<^EE8QVW":K'JaecY[*c0G4P4VJ`OML:7J@=Ad>#FIO;8(=Mg%<3da.j/[.6^>RS0FK'nTtXqfVN9Q\p*AHX-P8EC+O$./[2C9Fa!0b8&Ncm`0a(1$WepD'`2pUSE&<jRKS$5[(]OrL91m(I`$B\.HKKr(sQ8T14I_H/:=hG::_1:8$uiLC5)6qhgA47?`VGKBuo):+RFZ/OBRUoI*[K9(fNW!.Uq[\i6;4rAKo]IK/X[cVR[c4as6j"SNNK%[(Sci#)oaZRHU1:-3+VeBX>nR))u7Ok\-Le)GY;U,9uD"0!r17GR.n#(WCpUO=$\+'M90"#gQ1_c/i32(FXhOEkP]Tj4he`<5"U4o.5R@W=>(+OSRI0!7:4WOD=(CGYf7Tf1UAPoW,.(Obg^aH7-(#PN%`@g$1l*\8rgI`FVg<[(XHX1mPP')8P<8hPI(+@pF/R;R8^EsB>ZH+DjAc"U1[k"/J`D=QNrjft%dE9.G`a;/mo0VEpf4^5rIKCGS?\\%EDh5?WX/um\QQf!jmE03!5_fsc^'K-8W$s4.l9;P9HAR\T!(pJhHCOdIpAC<pn5cJ'G.$VGNNIt,n@pr$\:FAclGiktGA5?Ab3ZC+h359)n!il3Y1'.XRd76*2-5Lcm]87igL[`]kE(cfg-$qL?*#+$o5/MaBmhtn95C$p6&+Ch@IH%5Cj.!BX0)2[a=EHPeUEAqgGo=UWPIllS/od-=dr(7"[d!<BIE6X].VUg<J"^T.u&F;AFl=MH\b08>k-/8n%pe88rKMTblMuq0ils)0NULk=r[9I$0&g+1\Wi'WFC*I+'5'Lihe;AcO5mHhQ!]oOKC0^qD/V:[AH/Oo_Wc<@%4MX%I5/C_8<Un-mqdI0-YE4]f^7RJq5n;d6I#&gimh$I5rU:RSW>g$jJ573-h-doFbHrVY8P.-lBq9e;@]4h,4-_d$:^!a6"VI6:k1\IdBpV4c#&`D'V<_@qVtk(M:!@mqARM[F&+*^qI'g1V?&$eD%p]hFp3E*;MUl(q2R>2b(pY)(BTo#H*8+VZ`!%fXob@OM1?Q1,pIEY;#dlBkm>ONje1s6lK"IT(Z4#+EfAd@rP%nh7S#Qq==EJ<\Uduab4Ak-B!BJ'B/?[B!$[c#Vd-+('II;Q(Nn+ZfL<-eS[>h)&7#e10,#.0POf62:c#fU)hi)j?_t+#CkRl-Q,+n;]nbn$#?AhO6@)*a3>PAA1lp`SMeX=L#DFf.=8W1;O9%qUSZ5lX5nV>&I#rq&TT6.KoBY?I*2KOS%:1mjDSJ^+!em2JQ&K5I/ac]Ek1NJgg<hVJ/3FZS6gM/YFQd&)bT6"k7CG^QI18ed(P=VaMK.#%j6G[Q,!]>Xf=%pd(-]MDdX=NZ%4Sl\H6'qU"J;EA4t?d/?41Y/d68`M<q;?[Aq8D/G$uuV_$VQOB'pV`7TfZRPc3#,MMTqB[8dpq&TrX:n<Q"1/jT'.4@;orkK%\:5]rVRIEX"3%g*5rGAbGelh@aqW[oo.iR(9h(]&XpCAeIrVW6SneBB.<\ek\`A_r@^MsiF9ut+OZKeG-F#*nd]m_IXHW_sB9(^=047.k'k]")(dgq7.fN2`.BVUWPOLJ\CdN@WF9@o@nDEjR>^/K&Ych($QKHhkcRcm$JqrD'gYf_e!]8Q6LUqVVtZSgMUBm'uB"qX(?Q/ZF)fW3\$<\!0MaP%u-_T*EkX;/&kMe1&[%'&pZ&qeimkURLsoNa*OW4&r;nu;-"W$7%FK(]Vqb5RWjKg@O4qO&fU6s5GNjnG(!r:KdEk4Iu->1_N[`j$h)&/=\H3IYDW&Lo52OIn$VXA1K^'n]O=J:r_7(5"WK++nPd$%^?9Oc`P#TGoGQG9b%-%CTK2I?-hqFEpR$+VsYCqoH>GGb:bAg_:HOJ(^3q1_L@KIflTj^JA,2^"h]TI>59C2/`4RHu(bj8S8G.5L,O9^FiVpjp8ZWcV=4"(`3U,4H5o,3r$Boh*H[p3u'<m%T'Hj*X79=3'LOmgNEpn!f)YAqF:"\^Q*VT'6H1HPreO8l]P`3fCOhZclKoPJ"=t`02:D&Rl$<Ife9Rl,1t-]SFYK8m,WG4eb$GVB+tQB4N.?/a&oI1B?o`nQeB&tqf+qPlH_.mb82OtbfCHd!e=oo4OSB#J8ZfQ]O=Qd'B="6L,M:]pEJY1q;BRMV]R'K;N`]QR]SU@&7m3>^SC'Y$8GQ#Hf(.LT8%JST+=sQ+-bJ%QGF6#Xj563Yl!N/.E]eCpWI+Cqh2kQT^To+ppms4o>ZrJ3>6]";U@AC?36bu=a_$q&<a)\cVoU14WD,j,64&;4L\gl"*<%j4gN^fb`#MF"(;8AU'%YFfb>rR-%]'G='I?NboXO8`iBZoK+Q/Oc\R?%)<2a]M"4eYg(nX#7p%N.$\MCYpAP\%C,-ilY<3]a`k;='a[h+cL*NL[baM=:,lS^G8T8l_AtP9Ubq^d#Er@WA4T:12P2mur:A3MSbB)_0LlY%faMs$+A0V_qQ;#?,+]tAKK'[email protected]`F.T\h#9/Mo(AT6Q4uq:!p:K<Wn*-\QK]?U2*S#]B#.kjn=/7EOc\n9s`G83kQ%iAHB/_8teLbc"I-b1C[',^QlQs)DkTqe>ej`UEUTj7E-8JopV_iUP@RFoAog5cLR>'l_nKF=I.PlF?$OET$8.2'im$3PPGq'"e'LgW/j)Jh>??Zf]:sYSRt2d<3r+@#!2>kJV]&gpQsCG!-G8.$%k<K&0JoJK'..h_E&kCY(36:G>1?P$0th25Tu[&bquNCo0&XFle+C$j>eA=ft5"h*8[;3D=O*SK<?8QFL!/S^/[ONk"CP%KG)aOU3p=Qbe>$l_CNcES8cch4D1Ek]Ye7Q/DOoG_J"oD!0XGKIV<fM7n1k$MMMA8&7lb0-9De%S6-[Sc2_Xbk[W5-=.g36H!]jo\,$XZef[3ri0kaNtOf`M-eT7*N?R^+Y_/'k\7f4i>M")/%:m-5@Z5UA'U'JKj7:%_:A'PLMD!"m*bh`n%j_O:(J(N6uT6/C8S[M%1uNuC6`G+rOZ:T_Ng;_,L\GcajnmKH)OMqO@VpFk]SrC<-a,#RM"('!:Jib6FdTp;&>`-`[8hkA=>$8WGgNNBtoH^VflG@WY-0o'qhCD*[i/PF8[$s!M@1O%H,3jK0I)?Dk9-`(jh?bqZ@($U[)imh.>]uE;qpDftmtt$FhU9l<K>%hiClSQ-IpeYYsknEV"90?3\/X`aC8nSVuf93r4Cbe#!`K-(LO='eNU,;Go(+?Zud7coKi%(?WD4OZ>L`A;E]b^`_ZWr>=oM698\*^1VbU!P=So/6]D)fWH4fH*0iJQ@385/\,3_^/td)"&[G0K6:F<;0Q]Z%`amh_)J$(;*1c0"iG7j8lJ7D+7YVjIu-G<aG"t4\#igVZHI#eKstpufeB?^!hI0(a`HbN<)PE$rJQC5*EK4%EE]bT-.A[#2e1rA&o-T@#GG6n:mj4u)gY13AORs[)PrJ$\o'3*Lr*_$\O$jM5U=Z9phQ("]Q-9o9J.G)1Q68PVk*P>mK*<C:(,T;-*-c6C6/d`_?$\QTpMZ#hZ^RO1's^-$7CUVDe_AR:Wji7^%hne#Kc/aYIn0$cV^7t?$KS0-1N2_o0hJLOp6QUMUH>:2)me90li6k^4<]uQ2S]s]k6L2BFKC@M0YrJ]S3^Hr())Vbn\Nu(tG57N(c0r$B5$#IToma,rM]D<"*n(]M,*ubQ@D/.3uk=g"GW0X(YBYabn"W9RC\ca75`r($*6/TDHSiDo00n4A%=("78R"o8.W->M=s_@/@!H75;DR8PHH=3%ZA"Giq%rJ)/'Eja1I-.#5ouFa3F2@NF=T6XKQ8@*uR)9=d-@l:q.]4!,D*&nS.%MOWDL1gCn6+S(>NTfp@U%Wk@P+G*QdAL.C"8a>;!NM"B?1bGu9>f?rM\sYchoda[8H)uS=Reo1qE!tfB%hDG<Z)#%d,3`dmre`lu79W%_RO[:[a8#N/&7Nhbm['^0<Cm_[B"2<.`CV7[RTt1lE^%l%l>H`0U!DT(gNVrU)bhu%;i+cq+'f*:Ar=7(+jQA1RFO*Y6j?lKN4ce47>1lQ@Csibb6`H\>]kjp/H%0A$6Qq99N>16>22Y`l$Pu:qMV8GV59s1372aHKm`8mTbf*;qK'omX9alTJ]9k]`+VsDIf+^2SCcG$WR`l*5LqT<'!)r`Q7QW'Z*K@*Jg\'J/XS,0^+a0RT&t#"IA!=75'"\q/lEt]"99OaP&?n*a?%4OkRO5B[hBFg0@GtA*KOW9N:5O_nrKUs*SC=^rE$7n-&rlGE3V%q=HHXp*AXW&l[Pb$pR=h?Sg.V6o,P?ICgr*Vq0LLq%m0MiadRI2m0JAJh.`PbGn>@==1VA!&AY6rA:">7.^$%elm=i3H?VCepY>7&<rV+YjaFfpZ$epod(<`X!3D/Z=^JX='6dOq2@)_4i/p.I[O84:5ej^<D0/<TN`"'4#<VJG*)7GZ\BqlaJ3Q7.r*(d<IP4244m:?=itD%7O-4s]p.NZ$13ci#!loQ"T8:Rtj:m.Fd0aCQA1-q>;k`A9Ar=i;TTcU#?bQ/DW>6W8%Y:mOJ)W^?H`!*Kq1E#E1_G@Mg[QV(%9id&r^\,bDN?B<E2F&Q]_hHC\*SfF^gf"[W+Pg(E)UnS=a$EB[Q`[\MN]+n`DDH^]`uA8S`0Cs?o<,<SDj@%_^7f&ji#dX<FDNG84b[:?>_#JepBC0Ui";,JiPe@0bq."=%j77[j+XkYaLZT*]!ZbBP:,6>$'*`_CQ&+;dnl_V1.Uk[^[n##*F,A)8WL>0I\L/i=#`tW<afS?'1"om'BD`[t+-3D6hpFk(0a*U:;>#WsVo]1)T[#9/CIHruEGnnW6^PYQT<%/PK>?i^=dZ(!Z8XZQ?DU(Z%]^A=CR>g?`kJe/Ar+Nq(uD&]%X^dIAD@8a[A8N<W@(r4JoR[uui94C[^Bdhin1PooutCUbJW\-b*29Lc8AJ/HMs=(J1<GK<`T?tV4@eiRVi^gXCt,n(ejV#SXQgF9.>$3h.8Xu'(b]6b/:?Vqo%]Jrg)&$3F$r&?&gfDca1kdD9$PhiU6I1W-(X1N9<!k<Bsnn`_WmT[DuEQo=J8%*NJeE<GF]Sg,P/l[QCgnK:7r$c=Km#`3t+Iu#F-_ds[;NL[3JU2`EF8P_+$S.8!:3]-m<ZnFNT4'N^HWc1gBYL'#,=U")_tA?H_3_q6E&(Q/$*$m`f#:(R2V!T_C.<iWhM%d=0ZXlDeu>D:aaUkDdm%SEm7&p&fNoj@J=mQh]?=U<.<do.m+osgB1VF,)f?0lG.,W^ir6Q\Z.H+#1*n:&e\,Zn\#`l*;"p'gGt%DA:?BG]>G,8S!X;iGAb]*B7;X]<_&\4keuF?WVb$a+,0#1BWD7!(/39J7Vi<[/#08TD#LMb38nY>81crds.[;BYrlQ)2M%`4ln1(p?\lQ"V.b*`G"f`&`Y-/aL&@]nUQEJ7g%QR<E'j+Hp=&A>uCWcUi3_#_t+aP7bl"6_;_O+!"TqC#M#GI82PT4l'?\gs`*@8Vb:?"Q#@ijr,aTQMY.XplLUmH:2pE6SI!"ZNeBZT/LU3:M(TQ.5*_8;dGgn[Y7S71aomd$":/p(T<)/lh("nB]elQeJ)+Uf#'`O7h[*;L*Z]XQ+U!p(]RRt$=E1DTEd)-OT^&`7LBqg_dFp,e/qaI=Nq<?M-*#isUcSP$UOG]+Y_<[j8i-$GKcI(59Ham7Hs1c,\kh8#%j(@1FUCgG!T8i64gSc/spi:r)6iS!V:iG2:s#t6(4qQll(6+j-R#;_uNK)7.7kiP`SS4NbuD+M%$q6:V#7^7-4g1bCj"&Gtsohg"2Ho6=Bd[)/1HEt-#5W'PU[);Ot0$PXO=Lm&%3!?TTr,9cMra)r1*]n^26ZYR+36sr#!R+$]f#^:GUs5fl?-Fhg2dXGrAbC8ihKPi'FTPlH\K[b1akFfL0#@jE?Q&NCbJ04bW?PIZ.\>KN%!I&B2^>9jpjRp#WMg`Uib-tg;.UL1bIsT<P]o+4+4QG1%U3fX=uqSNE?hX_:W."QFQIVK-^m6hF6pZT^B-=P;CEJ_s$u.ad[TadG?:jD'$K.B^+dm\C=*&qTlreeRB93<_1'M0iZi%PV1u+?anGL.kV9c!;dHX"o]8,?Dog^;NG5F]fitG^X!pn5SP[oojajgBK0`C<Y8E6S>8X-Ti;i]C[^#U/%>V[#oAe@t]Aa6<>Ip.]A[Qbj^@gh]<:OT/=/&VHb:kf1$uTJue@/;LP\="7[I#5_`Dpu,gEbdai26E_a)&&H^:(R>]iX@]:T(3<`V)rf%j,JD)g?^%;"flfG!,E]3gdR"U'k3M7iO<?[BQ:J1+0#U9\i"d#>'jTO/!n6RP"_EQk7<mI:c%*/9["Fnc=.*D^YM=#5<H1AB(+EH'Y2gLbU9Wram"4%&iJ3B"$hOq"YhMhV3PKeAf&!/7-Sj?K%c.%ZfWMRs<TGD!fHqIF:F<r7&^&[(JtHA\8RV21%7/Zt0*#/>73u8?,tJLR]>%N1GdSABKQ`jeJA#YIV+&C:j\';oMqf]FrL*C*U,=Vo[;.Pe*X!B*]WQ8C/Ps=]/BF*,;VB_g808=;+dn9$35r/$h+p[)HJL3en3a6sIVD/mh!CKhI0_ff-]uLtOP+h9Z/,8Y+Zj-5X3C,ed&t',`Em>^,TuE6le?4j.&6lJ(m21s#B]JCW2b`Jo'CHNp_lcFK@J_M`DCUHSX'$t"HKEe(ec%MM0XNA"(8nPgCHZ,rZsn*aLD1Jnj"#pm2gGtI$N=^+k[V<taR^]ladSJiut*CRjbi"SlG:nThP!9V]6?=-b.HDa$Cf/>%JH<EI>eR#'OB1)/fB&kV'MP;6Rj,rUVj8*aVH%?g([3ge\68kB`m`T_.omO([d,/lnYhbie"+!Nj8fbsX@?T`7?&KUbX'Wb0j3_AO-M/$OC4Dt*kZK^2p1pMUF%r4-r+(ZWZS"af/]6+Ci3fk/=^0?W,=IDblZ#5G\ZG`F&^ZapL\Ut'ZsS9[1<[8[(1P=p2CI7q&UZgM$3?p@]d"Tga!:*cZk;nI$G9n=k9F5]PZ"s?\k4Rmr&GqHU)og\aMVZGl=;)5Zr\<8<WJV_;6N_EqM]D3?!>g_+>C4ap7`I^lK2o]3_jZk!Srj*MaB@WSTD-#]!W)JQsAD.O3N0\^up5_f#2Sa+*^7^@HF<.Bj(Auq=s/QgKWU<S55l5P\MGs1n[sE`FQti)-\9aUhn3'H7b*UlT)"=[4#Qp'<Y:t#UsoGZq/PUSL2SI-^H\#.1U"B9HXgNU0LOt<[`H.iae1Z_HCJoJL*"_4:X`orouM6hB!t[VM$C&%pai?1TS\sYh-u<lSnK)8YOt?=2ol`231,C#9B::$fGr'3X$_!qeLNB;:**u5AC8/hldh'5I4T[]F7jZ2bc@br`X.B1Zfj+MHY1fRe;n+$"r:52">Sh%uQ2RW8ug>O.b\>,tuImihDuC0I\qK3c7^98_F&-2c\5YjS@'1XW(WN?E5#1c]1Ik^C,S9.fKAPWV4<#s8-M-Q3J_Zm$"EmHe:d946AuSMBQAAG1(PHe]el:iFXJp25l1-6IZ_6EgtfY[gqCkp%)[^;"1Vie!9[1ciki:<gY[Y]kb4OkrnMMIm/S#WQlu;-^kSeZ/XV\?.;U:fY"iLSa1K%(MFfV4/__Ynq:0/rOM_$H=hcgV>%rd0jI9P-t6b,gg#L*4q#l8=4Cc\M2Zkm:@R6]04VW?7G#I[$%<']8"^[3@,$D2p_;06)J%;#C#U,)23s7jnAkKrKuTro6;KQge1ekEktjU$?ejtYl,G%jm;kYn3'@fD@f<>bHnF(WK3&!:QPPa7L4?CB3M^"QK319-cAoaV@+ufD5h3b\Qc4AMTuuRDd^!9c:&rBAhM"#-IlL6I1PA'j37DG.UDM:ZR4c\?k/%;8o`/^$@&I1%TM6e;;"L."[OtD6o319<j[E9$a]$-D"T@H'WeB9-8JUM$o\aMi+&9U0?I,eiqCXuD\36k?+:!q*?J6NIcg.bo$%>#I$3El6PCVcr^@J-Zam!1;Y<SrT;Lit@ip)HZG_Hl9/*#e)FW?ZJ>BWm>*DoO@3\<Pne[TFp,q3W"C4lDI4o1MM#;C=d7Q=l`$Ose&=tt+iW=K])[].+nYm[b7j<qP2nQ6rs+m<uEMoh0)SID#uGZd4UE<`,FJnCn6,83.7Uc6J(QYWGD`0O6cW,=sEmqmS&cT%YoaJY0l#:UY52DN>c@'`5aC)=f&1,.!Eb&37!8q#nT!4a;X$LVC"m%rk;$R%B_hJlC4i[7Wo6J62&0@8>)e$HAR?X,g^e`%*D!70]u:[P-E^W=c<<4,gga&C_UGl\YapT<INe$`LY<+)+7dnF\m+I:Z]\^NC\]"^b[`=C7("Pm%u&c!!Ir+(koGTtmb:ttV/'$_S"("0/LX2)P9P7iXJZK&++ZbqF2UF(rF]N2,4$E@qjKEh%br-cX<o@Zmo6%WH*S]NtsElKn[!%6"N!5a$]*3;b(QY>5Ke69RE6!u"DWG'pGB3&*t1hJ`\1Ye^QS7/A^HTH28Tl32/T`u6O'o.s-&'YW28h^oHWD;<BBF'(H,G\_$h$miMAnNK4q2=;1D'Dh1J)6lUR55RmC]Z0N]TdrrjoP9."```OYNd0UG^GU>-H4A8\Z_T1RmW2jr$)^(gSn@!/T=*Jn3Z6fE)FmX:VQa@/cYG#hBlp#BJ;cS]Us>\)Wchbr5icWIEFfP#K9dF$[7aRiCr["CCGQmmG3[#>Oto$cg`>F3^GZJc-5f*i]<kZHYbMCQf#=D(j#LQ`o8P5@aelW4IV0hK:97&nP,Uc]_6O[7e6?a./Ji"TH?Cn.aB#")%B$pgB;3/3h<E\WhHotpHgaRL1m!.XQDpEh[63hn)S#aH11c@ote%V%bsUY;KYh/e4[3hK--6e9GFk?J<d=[!DM#4%J_:k@0ot4[nm/t\u_kt6BjqQ0C&FYGj<4o(\t%U@-c'>^"DHDqt[mVC3u9e)]\DDUDeJ`)[P8Z1;O'=#MW2"ZBDOUc>TU6oc7"/9FoMrII<.t@F$44)uVmdZc(\M[rnPBmkZ]bqkm?DgtoU0a*J3X+Qmp!gN3PJ$%_79raiQgjL;j^TdKR7o("g5&(MS'L+WA!9uB)ZTk^$.k>Q&;DhD>STZDHfTu[!?[)05q*MLpt8c76E\>Dee3L85FBZ@WE6(a"JQrUUmU8:B79(t`D0)M]n`X?@R=g,MaTXXsO<QZ6Ek1`f8c0K9\?*][_%J,k!Gr'P`(\%YmEqD*['gIHD*'[email protected]^*of>!kF^Ej71<^i)QE\p]_^+pN+_>be"u0SW7i8^XB#\Y/gtCMuB&lL9_/aE;s@$ZI;:rN(uU=H3=CiB't=Dj]eT%P=eEf0t^Q&EBqUD(cqqK39Cp_rYTU:L3dogbJ#P#k%neQ^"e@BfT<T;rP)(GuC`C?SBfo+HAr?ES@_+`lINo\BGLCB$,%4@=i"C=u(ClmO4I(B`]-b5r[j[PjN)#;u/ij;FK:X5GP;["i9f`fueUD?&*op^3dA&\.\VEWOT>*QZb^(NA([5X*%l\iFcP,l.7H_Hmph*T6_,&6oI&;+lutV0U8@&9Y]+)T7WbMmT><qQJqI5I"4qM$KunOnODDM$EH;[Ug9W:8-qMg\$;sU?lb`X*P!hRD41!JZQ%Igc4A3a\+<,/QPKFqBql)?e?m)?L!E)3&G9[:[*UElCV+X_!%02%243P(Z5ORL9Idga260g$;?iq^)0HT1-`juCrkM0QQUiptn9oA7.7A91M<c!e$O^D/N;"Xc)I&Ud.@WmG+Bh[RXf;n4\(bo@6gnQ2Ai__bfGVh85]:=Z-m^Jt/"Q_m+<&fN-,hlm1N^T`902`loN+rWAKXKP@+D+C\qV"h%a-7uI+4kjD:Uh#%(qsQi15&'Wa1?KU0*4=Tc!tg]Ed4EJlRZ*\[,=/0LV?%,)uD&$IkP_D7.`,ceiV%pfC<f3qJB2:Zl35/@t*ff1?Q(7GZLn/G3>fo/[B%p4l='fihu.!e0"cP!X$hK75eT;1kK6ngC,AY^L_trM$7l-;Xa"&L'7;AJGP.!fLG%);[U$_Rp4p>K?HNFJ95rHid*YG'#kL.T5EJM6;A9A!>Pa&LpZE4aFnH0B>9Xk&)e19habpWnfe61GE]?_N+s8o`fV[ggr)q*oa;Y<!\P/GAEUo#fm'M1Q\a*D"J$6!'m9)F^"H8JABrkPg?c=%JXcdI^#KqN8:r1bn&uYU[kH1"&M1NFjHI''(";QbLn^t#uV/X]lUc%9/H9>RD'E?aJ+_ZG&^opZt]#f(MK1Ghn0Zs7D3a[EG%U73/tiCgOhofB*dRN4;u41$;p#JW6Y_^Z\sB_R'r9t(0a@/aO2h`NhfO[pbB9?,_#0NoP;_do9`W8'XNlN:9T+;]Z88qQ>EL_<+d>P$K6@bU.&5V;<9[2f!A!N_Qr?hSY%Ut,4))q?KK8$11XNfbM!_+QYc"M="`U&%RE<OlD3bT!,&iT`.d0DC3"V68(/6C&/agbV%snYR8K2!)>UpN3Ur^(KegSX`JO/\C,:<VZK:QGF0=I&kDkF;f[EuaU2NW8L8K8]:C+OTLpm;7'[XIgHoN+"MH:mkad\nP"Tt6_iS;.)kL`K;@dBMB;U)M^-cJ71P(0WC7o&9P!9KQE!0g"LRuSp7--TL#`c>B1M6UD1W(=oS73Y?PoHJ.Fk:&*F;G,1,7=XpO,,9n%N522;X/^'a?8;Fs[*3BE,Q%QFU,0.XaFjU3KTBeD^eiOh^<8qMA<'buflOeFPHMWkKgMHm\Wj*;9W98sjDMC-ha"5udP+U<`cIR"i`L:#,GiVU+@*nI:<'2oqnh8bojp7Y/q<cX:.Ao`&V$4TKV$*EJrjb^T+$q<"-RG#.o@79`aba\@]_c[UC_t(#m9`$kZt358bd/\eJD*^n*`+`[f;]i3n5<q@K);cP0g(G6."f7#>3;'>FM@$rb'40XRZ*(nt*TTc,#Ae[85m<+V.6e.I62nfHac3Ce[*cJ.CH0<.CsY2BU(3cCTqPj+ZK[<(FL%rBpZX/cf`,4nOm'0Y!="R4,^2ZgTN$gm+K.;*[@0`TZ4@'EC5Q\ig['13>Rn^r<Ni'2(^6$?,o.LtlA@3q-h_Cj,K%(M/<fCP:k9gF#3LMm`KST+GjkoS[%T)[1-<?<67EVO;'BofepZF9KP&1uh[pS$K<L*]1gR'2g($n0J!`_V8AH.0RqLO:OsQI#\jq(lj3'I^KBC'=W=J.e2I'3X>Z<66ADng7mG+haD>\/CA<uhr0T&juEndROp'3gOW_HP^F?I@M%8S.c0J)l!hb0BQd'uC."[r$]dUsZO0G2,@C375uKp6&7tKaZ^CtJqHf?4@D:k,7*UQ6ai(eKY>a?NA>\M.^m74I*k#C3E>UV9jDt\beusG?=,OeJ<Q=)]-X;oC/=qFJ$r44&aOq;SP;$@%q6!M0k<TZZBTJ/*UV4Mi"_\$-L;X-U#[ONb8UkUP+%eIB]&'7cC9s$l@-Z]hO)H1d"Z/le*Ka%Y1GsJn%I(94%-!8"m_n9ZE5s0kZ17DNfR1p%L%6SqR^[^f(2Z<V$CC5S-9G:^BuYQR,CCAer/sc.psLUAH_P">kk"1[)*TjS73eJVWi<od#Atu=#^P)$CaSc15o[139N1T!I_4EuW^s2+k<H=7N'[<?f7uJI+a^C0BffkP--bUGl(k#_h,(Rrl`X+7nMOY25m/F7q-g+EoBkJP1$3;AX=l11rjkO@P`e(%\Z'j)YLq[)*c5qs]4hKQmcG5aa'5[YIP_CnHYYdtT]pm%02<9aE?Aid&X.Jo'JgbTCkmGXn=#F8]*)nm]aS+_*?,&]BqE]L=IY[_*uqfaBUD4.`Rj$37'^lD`<L"EQ8b7W#]hi"]*aZN1L+<T$``3Y>o6):kjXKfZV6_=-3&GX\/sgkW8F8(K^Or^1!_&H<:+[C/FSGUd;k?!qa>5&Qg&ZWp&tbK>*^0(L<aMWNi]dSjtpanO\KRl8Vob]Cf*H=YG]=#6&oLu#,F1]184Hb*4m:f!TfHl>AuL)N@d_8-/Uo)Woood-3:tt*[9'66E5TW7>GO\?cEQNT0It80;*f+1s%E"_;,W)IdcH/nC:@d0,ZK0[U<B7F`U!FAbi(B:W]S>ElpQD4n`FQCjMnL-8t*j!ahnk>S3qlN['.-\r\]pnFrusgVUlDh0/tOo]/eJ@3!>B2c`U3*&aVFbaIO8k%1.pA_[Aph9t+d3:DSM0tV9P9aM>jVe_a)E^e@g96tm5M8C\c99-bhV=4Q/kP;X.RG;)00c9Td(;t@/21t1"g9$nikQL:;Og>3TG?8gj4V3;2*S3M%c>(Qtm^9rm4QWbZ"3uKY;,><P[^<&^q`gI.PAWY<N2LH&QU(`r$R$PUMZ(3aH`,2`<Z84bkLUdVkYnR,n]$^A&,fah/$r^@^)*BOT"F<ZJeV0?dMU]&+-=SFN@K5-4mZFoR\S!MCWoHOM4IKAkOCWr:;]u:BFEA9s*Xj'n[X#ADqif&dOTY8^O@5qo_H89HjZCW2/d<m>f8OH5C^0:`I2oShid0uOgQ]AT<qVoX[TFo9mG4s]7"WkGYA#g.:I*;hDQnc;`_b^mF%K&h2RciH$O%Pi6VEQPWnh49D<WFL=JVa.A;"Sq,a9,ErMm#\J[<84eL27cj?UOjOd5T;PmX'i5/?_)6(]PbLPJa<8u:%l!SU<_)J<:/Ze`-8/um(UKS\FY8?CuD_nbr_t_8qOB/N?B-7ejI;<ZZ(Yj2./(:1k4gJp_Ap.Zn9!hCqpQe2;S@m]QP-+fpQFR.`dn$Ibh^cb!=W!'L)<0'F\*;2Vo@tad0+oVl?bD5e;qYXJ<rZ^n*!Xn,4k,-2]Bus+U@JW9EuF4_lm*-D7DG2Fh4d$nd#`^C_FQe0O9L+Z$c(;GY:Z:],>KCC((<qR'6pU<J:1rc@l@@(S:S6h^]P)pSTd,q0KjTu-(23,(>H&RY':^'(Z=_JopZ!qB`3*-7E&2jSIItkXf2nJ5qgQu#d'K)nTFjq(09A!dRe'%UCt*4/Ma=n3nQtIgYDfonX@K0jo$iM1nT2^&?"LaNmL0#;th-:<ZD4P((sNGY!.Fj)(:[b(u7LfN38.u`Ea+[`lGWHGg]GQD=g#Aa['cTf10Q*eYZW.oUNPNs#&$N-RPXlO79>d\7o#gq#6naT8@UG2RYpCY@Dcb"8HL4!)fkp5('EnnSh-0gh2:8egQ+?RJB>l4*\OK4?"nI>arKt-2m7SAS0mt9dd2:rf!--[qbnk-lD(ofG8nZRQ\.G]<e#K/,U8OH8mmr=-t\^4`YJ8n02?9qSSP:h_ZTE9sN7JJ2?"/F.'S(T9g'$.&e4ml3-5<]h5RK7o>B]G%)?FrAAX-?!-5<Xq(.pk<D\@d;:U_<1d(S:k7tj$(1N%[!ssKL#.M+q/KCqRZc-<J/L-B+3F]oYXi]m9e34Kf\IM^(YEXHd\)BaCEM:+],3K*b_m_(eR@($&NZp<"IbLlFaYAD$>."bTl4HE]4WC@P*@LRP;NnqUZE:F?WDHgU;iF?5pB[E:TboRfJ#(4&@[qf#gE=H\e,'F'1(ZRXVL!]ZfaJ6IlVQpb:ZWU^K.YjLl.)K4op[/\WLsuOr0MjW;YW.qhYUo+UOO1eTct/0WdQbq9\jXkqb-1[?C%M*UJ.?r2W$kr\mOph>bP9p,"VjqAbok^eq5Pp)%*<)MI\8mt/No<MTnd$ue#RDCa\PYNt@Hql3F"lJ5?bpL][VM.lWVN)o_Wcb['j\L\Bfd3e_]iiL0(3FO@D`EIL>lIVUUpN_^8'oITr\X\Rqh+fr"P8\8cMsd&Q#_$fC[4:S;Dl7Ekk61Y.=_4W08(p$-F^GP<'f/\r9G3Z^)AXMRcZrHlHauhkq/I-;f_q;XKBGAlEO/PW>:#VG-d<#>FlOj7\2#k(o:9N'(c%A%RH0G"&M]melq:#W!9Fc\!r'jPCe;^)`0g^T((q80a:ns<9&@s:[/UX/cY<e1/JC55g]X\sDT&8p(0O`c=pcQi^FEB*/QnQq1*<F2S]k&7l)n?,V'8=;FHbA*8`tPB4B(bm6'b_cETUd7=>(R@'"fWB;+qRgRF9],ffsIMgQs_q7S6`&UsG-jH'9C$Un9[\(,\R$_+^1Yrgh@8Sk].Ol2j2r:%.M0<JsRE11(f^MFHNn'&:aWY1Ko>^E#o?m%PjVo]%#GE-V1X#&9TXl,,mI[Ub,k/JK:Q#=l`*FZJm-K79<NHI#TCV0mYjdab:RMLU$5*._GW9/&1K&c-EKR1R\fX!;_+O^/9\hakLnAjWo.J*/&RoDQ;4g>iBA-#!POmrKgTr(<?7cpu4%<#jgh@m5(fN#&?/?2U'@s'r%5@f)D.5OdJ=S?pc+%/_QLS:7>j@_9!$@SN(D:ZghN_>b&@r-\7XZk&%OMLkU<s)sJD,8CXsN=l0S5*g#^k._314^2dl_[LVZN`^eS@H?O>f^HH-Q\^_$2e%HO@a(U?NP!C5pFu'S>#g9CccJY%k/[MGE!t6Fpb:`i+m0q6B$tnt?*a0@[eGE0PQ#"LcfqW_HhZoEm6C+"q?JZ162Iq\<+$Y(E,TuSY/nZ-n_CCon:n)#6*7@*hW]!+hdp93i'33=A^Ip)C\:qqG.$t$crpZa[m(CC@gjHV<kA<(W?6&O"ACR&8=G^K@?o]HI^%'f(d(Mae25iRc&g*u@N'&gjSm>P1e[hh_5G.1`NW<)$q,)&E<JVq6O+p]rMYJM[tG!`d+V0kru!]d59*R*;"#YPPuLS>I\$gp5#;!(g_sH_IR=$`

3. Tutorial #1: PWL17t1R6bbUI
Serialized: 7648 bytes.

>lXkT!5lPPz!!!-Igg1SEdMB/c]'?kAB/D+7dtabgNMc]Umef12!_$B``X[0c*%N[aSV*\!(P%ghRb/&G$GipUgd__i/5'?4\"l4VcR^bW/0m%$[U4T-_!mjSUKN*#2ip:p0BOF<&M6FbJRa%W.&"J?A2?$Jc<<r)El5_D!%:ec4iRE-UJ<n[Jo->'GX"T/Z8poWJh]&8<Mp\Tc;n=24_I_Od0oN$L');H1@#Js.0ETW+G1`:,R1#(eOgDN8U^9fJJgD<nb!`:?;-%,M(jO(F)JH?IUa"L%,`X'WM&_nfBqFuOup[$p:/j1>;.q/hW;*D5XuQk5'gLZE,KHs"#Hs&MGINDZ/)$Cq2&2/?_3srIgl'GMt'@m&/E_A@42:92D<`Y">/btV=3<<crM^?X-F5Tmo(B2q0b&JIGQ\%gOWN$5pWe^UCh/!9mC\-gWcqM]=-7#&]aTT@o79qh'i;_&I5[-nHm$DYAuV5T).LbbQ6nq9=&e:WIcG@'=K7kILDuo]fX?9@(B.kR#feLp@5;+L$Y?oBJQE?pkHC0#gKDD3mtXp)N^PO6upOX:O\?PMri/m?hZJHQguhfc^Ta',"B-jX_I:<`Z+pW+<#2X;enj@`23@O=XG*3U#jH-IND]AFm:D!"lbk2JtL5$0bepb&;%4G'&b<Xeoh_aaSNK;$qu#W7(F8A8[_"MW7+n[<EtVan="'[,-a<$W;N+A2$a@#/os6M#]sSt8F"i8?re33bYK"d6D])m?I$EQ-Xaa[2cY-WH7)garDju9@J['SLD:[Y![I-+)h=DGk?`g!2kL/RBgI^$l9LS5n"MXZb3Fto8+TjKYu*BHTs"&nrCc5Hf>]'.L8^tf_+1F:T"s^0&_$-q:>-39KrJP=?a[?>6JK<\j\4\!&8?2VXojKnc\*-t'>%EV@.\j[EJa!tM4=_JLTZgl,kp@Yp!m&?QO?n!gP`8@n*?1S&[pbg6C_?rRGB7T:'TZ1:l$n>81=2miBcTJ*H1eqB92rZe=AmNb]^6+..H8&g/@s>Eu1\-rMIsl89;^3"c*qVGsYXOW*,C>Y&1hWKpimJiW4OSG*>_rU^HDes$Rchod^4qUf+;A6iOOlLeIu_3F+sV9Buqckc5&<MuQQ*F)3'N;&6dW.-<M5_A8pOmn=M$]*:t6g>$G^:FV\A*8(uHX"pX7S(fUBqrFp6%YJbA2ur1r?C!B\Xf>7CFIA#GSUr68=ME[\P46NCQ0EYtS=+?rR`Y]Tqgf2]8M2g8HR1!IBU^']Of,3>#'&2sGWh0Oata0\#\J1HHVhWG@<l_(SNV:F_"gU9PDN4rnN>]bFTpT$EK)!]4V6o9]-O:YNi'1-.Q-`d2o&=.`^BKIoaHPi&-7;\Kd2j8EI4l0?;lSV$?)lB6Kl&@]^^_pl0*us,Wh_(dpjE+7"[email protected]\#fA;nTFO3ai')&qoAmQPb#laOVmh[i]/MlKigfgq5]c`+Yk8<roZP^"GS65K]MJGcqQ]NqI52J8?Ja(&%?0+-W*frk&dGD4cMVsuT3iha%)kCbuQ!;WZGVoMrb(H)C&.O`\c,CgA_(*8<Pdr-/MJj\bL^j8ZkN;7O8hqu-o<ph\!<8-([X!b0Zp*!UY6U6l,QDk-TY<4h^0&4iC4eAuS-,7is/p*D0GcuUBWpY4_PM=#fukfjqG-:?EN2Ug5mo]9P`J[:FBS2bIuX_u%0ea*A4VA&WU,H)K[*uu[,KJp^/-]3'1rFR1T=g`_GR-#OdE80L:#:s+:9"YI_]i#%9;9FLNs'GmVWu[0AC.opbj$!!a4Su4LTQAs*epD6o1P8Lo[;J@*"&JiGEab(s6<Y'FYHaGJI7[\0L[o<+Ln:QGf6=U>H,Nc#R%Z/8JbIi)5-Wda#\L3kmqjoes/ICBVckoiZphDpfO^HSCsik$&=$_lnbALC_P&3Ea\G)H8E6orC;d&ICIZbZ<oc1/)%]DTq*`IapQT.f]?W;18MVELCjRpuu[)*Y<AH)Bfbs8PKCaZ_CSd/Q,'$DptY48L&\+PYj4>GP%&,aTgCp/0]=m&09)XE#Fp?d,T7CF).)LN":GTiKRM%rrGu2V+cS&fIE,0W?_>9R8V7;-]@Ncg^Z\:5(@<CY;epj.=f37MEr'Afkk\XYd\A>-k"0@Sh'Ha"-OZ97h?uM\t2&ViD<akI>%O8a"MPCq8#'37SV+.-2'F_1)^'ZEOIe-$*_At45FC8@:k*S]Sja1/%HMB.IKaUg\rr*iZ$./iW+F!Bd'=$)$*GA7I`Db>;86u22<,Qbb@T"$a'#i&^d?B6e/c]gnrH`9?2C0P)77U,)a]U5&.1rk\K8NNR#(n]UWLT$(Y7c2^r,',ia)so4Nn:[gLs6&T=3aFc.5mk.\$$o%3VKYnQOaqda=Y;845;dW4&.qb&dKq:f&e5po<Ga@mU13FK_soN)%aaT4KQ,e*Qor"Y(fArQ7^mE#BHmZf<)e&nmg\#.`4eZZY!rBL<F_X*5C!Xq>d!!3T7O:Yk$WGK&rOD!rda;b`L%?r:[eXc%k+u'2^R.phJjOgZM@(!6f]E5VZ;e\leoII#nR83<JRL3*k#I=g?4hF>s#L0L0gckut+WXFpY@+51?c%$]Q>!SBE;@B,&:DsIe#hATbkdlISn8\u$"=\L1>HRqOW>FP`smHV-@B#XKm%VO5YjXJdYROg)n)oKLs'es]a>Bq()G'%K7qW(HAcmN'u1O#U&[N]7hD1u#omD@@iNA'f<AB"S>27U5l3k3J_N?gGfDJoA:(*-fD5IVDK0PQLVJ^7!ldQ;hY!R^:qhU4QAD@AL!`5[6dPUda8YkRMS)2a^bC]).VC`8q?45!):g7)0l`.YIk0rTK)G:t31P@HT_\$S,7.l?\c7DGs#0f.eNRIacCKa%9L8p9jOe<.`&e?tfoMG3>_"s57!^=d5RK+/)<fl?CruP5Hmjmt8ckWU'U4Mb1+N4TKPI3N3Eo3VRQ[KEk*_et>Sl_qZ2scZR".Zr<)7p\r()Ct65UFC7KmKI?G\AJQ*AjX@[m_mR?`%J_Gue^f*Uf@[3K@>7Xa=.DHJ9"Ne!u'f4cd<*q0hpWBEbqaH)nU<i2_]EOKJF?'6@4-DO#PWL,S*e`7E!/ulIFoSIgQRZsVB0ENGlH7/VOnRXJ>maWbl)q"Fse!a2r)ITZ!kch?B^7$_$6VG$.,Iksm[tLFiW32[PohO%YZmiIZ1lA;=Yls3V3EuOOFtXXhZijT*2fX"!ca?5E[8<@f'EmrnB7?k;(`Rh<G)3$P-t[\6YklcciedUZ41;Uk.)\qK<@'s%l+c=Ls3P%ApMQ1Q:dk*AdpDqrG7&c>4$A,(8Uj_d<hpf\i/J`,I5<S1"Fco7Be]dFma>OI9eaJg"l)[PB<n0<SN'j=^IL+=[2391^)TIN;mDFQX\X(EOaFZDHu=DY9ms"uVg9A#.(k8$qXgaq*YVp?1r9bI(=Fgf"4XLb3RTP%-,H_+<%42Sbl'aW<f>:@kJ(IhEaQZD%3RK4?`SqH:jN5`4#piK9pK;1Y!M)"95O<=cP'@\l^*!DMi2rcFYnunaK)^`6,+Nhq^n>:qe$aHWTqD?SKT7<knGpBoo@e1H2"mFaOQ,o.5@CBY)h08M,IQi;q']($Y$*F',])*G?_$mf0OHDBA`%22E"h"5rWRmH;I;@LNa'?gmo5'6L:7RUJo/^9AoL=aa]!$bYGLsB8d3X'O$=R&L+&oZm\jU5*!H6`F9RpX:ab]/4_S#c!T&qRMjXH5@fc]obr7iE#:VYT?rlG03cHsVS.V5Kj<kmY6qAa>MsbR*:U![Q60HA>FYUN=cR,MrkjgSaVXW9Zb>eXe4sB7<#&Bg^\VRI%W!T!)9(W=j*]kjoL:15:522^So:kgIKY8,#D_)u&Kn+s3C[.>,X,bCLncTXlV?0fIa,(+9/5W`&@Rc,\-V9oLhS;mZ'/FD_=.@()2+/m@"1Ip4LU`uK@-+cIT+-ZU_0H\@N2"JP>bn$@H9T:Fpu/I<#W+.^/uq1JRp4d'Gi;A'Sq,`D_ShY:^GUr996=Y*8IWDI157,_*VX37"(aU/4N6/5@LufB'^/F)A??m:I0fS5Y5%@aNsN<>806YFs"&4JKo\=Xo^>^BAua*W_eb\BCA:n[^CFt5'!\(?#aT/`IksU$tQ:I.(Tu20:nbZ+C/OL%?m,RUo`sN\_5_+?W]oOI#p7VkID]%T\OcV7/Zc'?F+Ok22klrq!gd`":UTr7?OSI<&PtM;1<\R-'+Gj]H,GDrRn9q&BeS&/U4.:1Oof.FkQ?ULXga-ilg?t36CQD/)og&Oh!jT[(.h*-o(?<'&fh9J@-ad)UH'!QrKZNR'%.KQW&du^6*>O[L#>DJdR`U7$A>ip6Rg%G$pA]C9]f-S+#t'0`E\.=Z#S?mPUXY4L"X5^'q*g/'YIE>ig(>"L@]#p9%3N;Mn)JKW0jC]MS[GP8N>b&ro?SGh"j2+%dDPUruJ_jnh0H:/7Y,$Nc+$<#W1(ljW<M+t!grfuX@[email protected]!SX]mT\$%r;P$0UqO,GU@Ntn#52_[h=V8CL[UNl<3P<q!>R5Rd,AomrI6NEh2eWt2+U*iu/;h[Ea=5*eMbeq*UrCM1;l,38Y2nShleUtX32s3SD@H\nk\ANIikTm=$+AX/o'7KT?^GXA0bb:G?%(AaZqe)=LRumXRpT*I5!)Em$<b=P88rEp.gd5pt(^V0!/u'WN5\\@$SVD.;.CWdV^rA[`Bn`e<WC+7lf#CkV$p_QT3<Y'"Ss<0A2Y<ON;n$n*DQuT=d0'jHZAdLg66Ef$3Ghfh:bh,Jqn8)f:>dl%p&A"S).5M+UpMi4Up!l.G=mo[GPWnikVWMRgT-S>^*72/N%"^OM0pCi/&CNMH4X?tU=(6\KX&_K1qcU4r!g40K@[&W&)*,r;tWJdlI*3WFNuAP`lj#deI<)g!#)%m^5COQD],5+U=`@P4aks)%h(ZL*-pl&N(LUnSr$Au;ji[dH"3C%q0Fq6C`-N!V$N>/;FQ1X_,p+sbsk"?M2[s[f:t+`7>nL*G9JRZf_sgFM-<hZ^,R=lH]LeqrO4Q<:(In<ZbM;4LYTSgpm?4ZPsI8j[1^I(hd*qgTaXf5F+?4a'?>&8Zq!_2@^Je'dh>AU=]q2nr66<tT.F7mkaK'fgBKk\M]AX1GmlfCd!8BQ'i26Cg/M.!i5qdZm7LWJ`m!<5T=0^.`($bEGjYa@nr^iA&9H7$W)^6uX?Wajd<#k=s#GA.UX\Uj#D^E)`aU]GP=lciI\KmCkKoZ-VUVE8)[PWOq?abd:BB<:be[+CWr$Nl6N%"TQ^kmF.?"sDiX=dg&@\H%:sl>2qc)!NleE*1E4%DHA??>sAs[<-L]>BpaULQJW5emK:iR4\]Z6V@a.@=)Nqp#3Ra.+"n[dP#WLh23gdT"D]E[mU4.?Y`LHRqhJ.'Clo*m*I68UGr`g(Qt<^'kgj*C+H*^eUaV^kV(X>ENrd.61%9Gc<EAaBt7:u*e(n**]qnEQ*k>b&2s[FnEl$WU$#]-d@MXacb,SFH-)&NDU+ZHEb1H"fh!X&dQVP$Rm/l+p%M.4?Xfk#ZQJEddoWOeR:hQ0*#XbViL2m?`DihH<6-d`]RCK8I7%GE!GX.Aj3aibZpsN7HSY'M+23V6&g->t>0@LAGQ5J;DLMi'9LR4,?b>(CB9h1]bNR1]'l=\D(XuR-Ch0D\%Z/`f;k6Mo]P&o*JQb5%SVVa^Cb^B/?tq`Kjo+C=Eq6$#\)91fBHIJOHfdoAt?;R>?C]BE_0'1)5J<XoO7^/@nFIHuh?tk\L?1%nu;fS<%3bflTHp_-A'AANCf:D6]HC#pFWgEgZnu4<&4?n2o6j"F2hj?033nq,Z'OgPYbfAM^CmK"r"[email protected])lT6d[ns;Q!cqoX1R<V/n<+tU$D!$1bL\(TaD+I)5=.+>Dct1P3RZ4Qt!_r[o$r0L\410F4.NNo>YkJ5bm_9R04E6=0,bIrg)>QMR,c,R&sl7`]oT;[:*<jms?p<,gPH-aF]XZA8=f;&)k-Cj-8foldD8@\oYL;rE_s(A2^jZZ9M)indU<G;S&]S$,=:.)+E>H)>cLFcZ64;d9n97mU%O]j`/ne80uOU>bJ;`#Y+J!MF-.+S"epeiF@o#54bn-_&h6Vl'Sea4]\;'"9Xi[,eN$fitD^?qeVPq_V[#I-$Ys/hd@MY-f<Qj.FQM_JICSOL9BgRqX4@_B$AZVDaJ(KNjB_]a`><dH,YMfi($_48#oDnVj`pdiu;":bj4cd)0^B(IeDX0cr]CXBo9VuF'`m:9q#K3]%GXa#=D*kNRtR(\QOBG50=h/(KL+6QU7kb$F?.+7NH9<iL(r[7C!-kXiTXpl>4OD;tA<4Qtq9oLk5%%)6nUk3"3QENF57a)R;^YDW)kX(TAYTMk):=L\FW#;[?FWMlrhDKSmi*9tZ#o,/CkC_$uX3d\sC#DNFLU-fg&D":M,?aFdYRIrRA>/0iRK:,7]'FL>hHH<Ke$pYH=8<Y>4WabI=u%io(Z`=D\d,>h[;492)r,C=L+=4Vn!"4WF<4Z1W=^Fp7TeHcE!-!P4*]1s<n.Rb=M!QolN@qIR&:f:T[%o)Lbi"<,3HIE4ZAtp"/QR?`5cH42MH`;,o+a1,%gRtIH2irhc@'#.`Jd5H-^!\1aO5/NZF]@"S`ReKe8U0&X0[7e'5`!m<1iNc0A(mSSCqM7]4Do==S/Q'I`"%KK%b8.OVo\Ihb=Jh30(k(Ql>L98Ij_K+3%(i?itK,IS(SfEd!?<N/a)74ik.D*LK60+Aon]N!$P/eq.;TmgmRofcs'tB)7K^>0lmBTPl<q5OA!pk$JQ^oIktV]#%)+\RgJ/$/naaJT89%FE)rW?+chhkO*%49f">,_NW;q\/!74@Et63<=@_'k&c=H]1iSK>[HXb)gh[.%FPES"9;HgOY,>+[!0E.ab$sB6DCH[G-!YYEXH,c-8]YG`dR82=l*Kf2(3dL;&/W<qUq1o7&UH@88!!2mSPtutLZEM;6C$n1HOC</=h9"&k-6IV:A"?hf#dqn0:HT/AIKF"M'77=&is-X)+qoqXPdIKETcZ-D]U"BdZ?XOK1m.qk[nO=@AV278V6C"oQ5Fk)Dpr<klsDq3*lnVUeHQTa'`nbTP/?U(5c?+_\\o(\3_=r_=V0'=MO4>AR/a*m!IU;%!eug*M]o;W2&?+OZBm[ie"X&(<3Mn5T4oEisQ?gFYZoaPR>mj`iL`?^>$trpu)R"EH>D[OfBe&Ifc^,W6n9/e0>;](cZ_9EPiq,BBNFQC7d/7VR%p]!OaW8=A2(cP)ndi8Dmn&&.bI[M7&L0.1BYHJ2[<'ZMt>bT]ec\<[jM7RX@JE_urLM0eYGc,L.#QQ=YXD.!BRp(#9Di(=6[YMIL10e,)>>Z@t-sm?hV!:f]mq;u'Sb[069g52mg:H'&dD\)p87]+r4=GOr/FSLp?'INF#<r5ic9\3qo=DbeEd<n$=ghYp\0qTr+=d58q?WC(%D6ffi#4XKDVA>8_gmVQ2t/@W3!n:UW*K9;<Z20H.abI*a"kd,S_4jlQfr&KeK[[DCr8?t!]jr#";hdW!PgY1KY8;aAZh166^IOdnHjM&O@B5rUiU"g$H'@%QcJNh\m$h^JpAEF?.VPnA?>f(#NaU9dhFm1>]P9/'-c`=].?/Aq?)0^S?lk^a>:jCs>.9*p.Ff7/,o1Y?he'9JiCB

4. Most of the blocks: PWtVBnyNUobEI
Serialized: 4496 byte.

>lXkT!'A7%z!!!->s2Gijf?t^[Rigg=pS8JqI%-d0,6ED]?%6HmLT0Yi]tIKjpmGS[K=@_2hMA8a'pG1f)QZQ`U2"T5ft^O]W"N0q9l`S\V20!LIrO2&k=]m.Xi^A/mW*pmnbk/rq__kID7-C$5OD_jVtE6)b9"hbGDiGXE.EWm;<gA[aBFr9VFmu!DZ$\ub9=+"i'bKNAp]8=Nd1,B4;r^E7\UT'QGfIR$1ODH>G)Ue7LC6a.1@rH9F+mk#p`'r6"?JX2:\am*a&]FC>Rk`c<mGl3rUE"UUB3+`]O+2$S@_7P7)1=($?qXm;66n[==Sq]JJ/dVS?mBq`)$pO3]^k>eNaIS]Y$"gJuO,R^ZROJqBWa1nP*pO=J,ZQkA-r7u-ZqXCO-WlRckGnsGua'jeW'A@e[3n`d(cAK^r'L85_RboR?/#"eF61'q#pla1gf'@Er#W^EM09olA^_b?"#l_C$m$aO3IbJq6\W[GcXWZC&C@4m<ZOO=^p19YA1ERpF;QDGqi)9.pg*Knlm5B/Jl2Y$:]m-qgsJ[V(g[gJ8!W4e>.eJUdA)bm7jM@,SpT[23>FKGNZ6LrM?]ZkC"c:e9K+.ZiR2sD,&hi(`oN4$_fn<grjcnseEq72GL$OcjoTL9qSp]VGj8FSDI4H1/E05rWR#kP.X"6VJ]d(U4;lCg,k@n6tZr:HD4`naA:.QsOeK:,Og&08+nZit:`dnR.&ba+H%SBJsFaGgcjbqa,F*iFdNrKh>(Laa*uB'U'fI*_Q*UTU8<L`E(EU4%;L_mu8e]ZW5-?GZ*(&%-nOn#IPcVk$3abK_ieq?3if)gcWckt`5&0u^8e4EDk.d?M?S<1=$3`K226DQOE7`!IQt^B'_cK".MH:M#^kMg0V7%/l_nORE3.^B-en6-FgXi8gfdIS(.\[)LTBaYbMO<<R%<_bQ]mJbY:7PS:b1>sY<gBH@'<[hKGWJGG$/IZ=9n!,X,t3)m:\[K[T9QmZ[890_M8L=bX(iNY;HZG(42<.Npl5uM+]LIe=#BdbLdrFNT+'1[tX*Wt,=lA"<q`k!<L'HDKbe&%A%\p$L6D6lX_/rdZk)KF+"'OOugqd5=8A<JEm\@^O7>!CP]A_:.9bo6dfdE(n'JdhfN4'>XA^.d9?<M2g2?,1<IcAi#]I5EJFPI;ejpkVN*>f5EuL.U.:5P$"YB?%V='ccC_SmdFHMjf!N^e.bAqes.NXZPD)NHE>:5mUHZRuBlFme536.SCa^)]jtd\a`rKgaKCbo.!$g!$,""26QHQ[^"kWV>=2Y_4W_;J1pW[6l/LM[,5ZD'<7SX*Fi"Z0A!`se62Vf;^<O=MJj,;`VBSgah9;I&URHpj_\gWGhDSgV,oi@+7@&<YbnLACCqXYYsq?EmmhRtXmK#JcV,;DadF/tj8tKq>;(oFPTG+*T#q4O><Gs_#)``iaI2dJP+uBN(ooPQ=AoIU&/*[@!99dqRa/4Ge'?F.LENB=bEWOMeE=?h6',>ZfuQO+cg:T6,6r'_jq,jT)or;FZ0CB/9#lGV8*#NuplVJ60@=7?K0]S^9^iZb:/:8(!3nZm50-_#?8Tbr_c9B[WGfn**Bn[`70mB7@?ZJ"T:U;I.1=U:oFO$h4&%qP+Pmi^n@jq/Q@WIjoRBPgeQOARn1ME6Qcb7B(o-=+6MqlgR/:pN$+pWJ5$.+1+S'j#79gV>S.!/BZ=a!e-\#hIATBcH_^Cma0jZXe3?/gro6g(#1lF=jjAEA%3"J9u%\D20_[i3O07fU#W;bdmh"H'03l;%k$JnLb)\53q>d_T!`mXdW"ulLl8S?4H%u6QnPrtp#%Ne1^!DGfi`lm]eKp'p1Ed9-[KCda5ZLb[)<s*PHdi,qH0W(T7eS-k5a9-n!C81hu#!!DSJPiU<^mQ2p6/3/is,caDQJr%(aS"atB9(BRAiH`CHpcR9aa.m8`+^B54jk52cZcgNg2&DB*D,151$.<ESJmU0K0h<iAKbEBpHo#TN>.BoSR_Q8!S"c06b%l7eOqo\`FukFIFHX$Tm..[5/O>SIrq_WL-T5cC_"_p;#fcmr!B*<#/G1.,ScU4q@8,$cTO!NDfE!h'2LRpZrH]Rb<5X#,MBa,5>:r6$@DjrRARWJh5q!rQ;tnO>=6@'ln,O6,!Sia]"<Fbc4]ejMD`an0TZM40&%sY8TD5uH"2UMIY)i9cIqbXR=D]0iO:k(&9<lJ6PZmam#J1*i$0Uk&j@DRJX,dDhmc53kB63"-#7*ANN+7n@C+jY3=.d%q^FdK>+iR$c!"ci<bb@C@cQDs)*+F30&M6uW-gVMlYTbD8OZXHpjJu6&+*W:oai:39J"*@VP$['E3I94L>U/0CdI6K1@RH+I:,6,M[,DT\Z[DJa%kMl1=Yi0+Y_5bChRBo]0;+&/h.87,7Db'o5j9g-q\n+N[sOf$7hWaj4E7V_&Z"KC'M7#a(D8;/H9Y5,*$h<IFjb;MImnBP"dTj?O)Q`m0hbfHJ*>8hdrT>l*])6f2F%X2RZa9iF9%b2F4Gt4PXM22n,DRWt43?,SEe8<O?`GU-4I8?tURB0?mBG^>=I!`Zq#>KL#Qkbcf62Yj3O+P/gTuTRjhBIfRo%*gH-fBe;FX/1-H.P\s,%5G%abn^8Q_U\8OPn<%(LKg[s*M]`"PFb+"(^YhR4i@\_K64^*03%;;aC"\1Znbil=MVabVlE52kAIXdLqk`O!Sho67:"oR;5IfW@'Oo^J`)P<TX+L'JR1Z^t6-[*m%/>S//9BE2=+]C!VXE2Jd9*&tn41Vr8!(7t<uOT@5&Bi:G+b#]+ps0t[PB@Yml9Z=PrslOMi!rq6KubG1a'PDe&b*CXl.P/(=rb=dlG$R[r6J?'P-h6[>3fh?[E,!J6n3)6Qeh>ktC4un$(kp_N<&J4OW\&&97@r>/bBtE8JiDSQ`!kHGQ,A?$Cn9UDPBIVD_H@^YV*L/SdkUVY\*8>N2@%U2E9dMB^$_mW-@K+2sSNZH;p+23:&;-H'1,D'=X7B.affe>R%)lcqV&*GhP/N4LdGZlu9@^MkqHU^oV%!&a?Ip;`>`PP$2+Hq]jS^iE@:CakD<'.b(5VhUn=rSpPWJ!LFu_Q:JoJ7ZF$f,s"!Q'p0JWRF:!D45qdI:1nq02Q+!d6G4!X+u)N)QIleaP*Od%,G"gml71!23#mp:6?Q_i1SP:&e;uu%MLu+]E-QPIh@DW^e2n-9*r@1#'47R@]tJ=c"1#H,]YCnYNuHHT5f?i"_gJi<Y>LYAR,AcDZ<:Boha`SfKT'6'/m+&a#kk[Bo,Hs<;q_QAi'\N)(aE^j]`S)JsB?Dl?B`pOim`op5OrgGMK`>ik)>\C4R<Phl*%P6dJT".lQcXdnd24cij&5%j:oWgtJ%?Uu%f]-X+&`f#a;kF]0NH/Pni5*aEI'3hG%4M7uFXRrf)1g>PlO4_BhR10&"PQTR!o/9d%-dE+[f""%XW2:U@k%D[.*^IN]X8O3nc/B?TgoVt9pfB-Z;]G<p$)oWRu]^%i7nYFok.Rm\ID)5RcU4dS:pX83%o8Ba3E]R</S=R?1KHP[iQAC'E]3mFeGL%T:2miB)ns#:]T]p;FOPAc6onM`pF\Als`%k"kWS!>SqdDeOK)1BMGG_6pZ5Df"NP[!FQ'4O__i!LA([email protected]*]o:0Q7`0p1C5:CZR3?u@>3WJ"WjVtjk(;LQANMG^T^NRYi#7iHQq1GTQrWq8iaaK!dVE<[email protected]]K5qd%QL^Ab]sKB`k.iULX9.%RMHp;!`t/'2.[59gHi1-^:>9>CJ-uME(M.*@XY>I=N-s,5Ala(7-_C6W&r(!97go0Y[Q`:KX6NCiu^55HG^)-n\$DPo7I^Zqd"dTbDaIYU%K>8jI[]YaF[B!he^6G6>>'0VpFlc*+<FAaMEr!9g10\M5fBI'Ychn&=?rH4Xc/cbajiG*',D)8K`\&-&YkcH5[VJ*fNMXf,e/OU#Z^B!VY.#='%:^9gl0S\B5)ggqU6ED2VTl^$:fi8D*FlIF!be(UTe3knU\6[]0Bb][>)IV!'\@p:uKeX'T4M<sT]oF=4LN[.GjXTR*mR1hkSqZJlo;Tg/o.%$,qX<Cn4T?]UE#beWOg2<_AE!CWQVY0'`hJFf%/+*Ak9jQU\T"OUQ"P!L^6-k7?`.d_E;B0_1iYEP8\+3GE$<H3k;4+BNE7h)T'qfUijVIQubKgoQ(VkT/->J2U8Fg([?''lPLs>?m`R_t$HQb1Pp":kf2g^"-$.[udOcn@omF:h:!L[_QGMJp0VD$SX+kbT#jX(8s^DWqfj5P4U9t/\;jGtUoCC!?*8-T6_e"Mom7`:5ia,fKe(okA_7X[PppPfP^huS8RJS*'6#]1'-dp6b3At)\6*Il3cOY!SJ`s"r5.V[&liT:,`d^Ab)Km?!f5d[!&<SKN.CY^Gb:$j]/aYiBcpra:rGB,4p5QqeC+<h&9H-!NPc!%0VR'q<KDT0_<&g),u-9$/9"'VIiF1dQ6&>+(-0[Tc+B_+I^'b-2@i=DK2l=fqm

Encode / decode takes about 1 second.


I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.

Offline

Wooted by:

#39 2017-11-19 15:41:11

Processor
Member
Joined: 2015-02-15
Posts: 2,209

Re: [Challenge] World string

Processor wrote:

I've improved my method.

1. Empty world: PWW9KtOqWFcEI

Serialized: 2 bytes.

!!

2. 200 lava minigames: PWKK8zFHH8bEI
Serialized: 15853 bytes.

>lXkT!#`0Lz!!!-Igg1a]nus';1<7jK;Y:G8JUq!eE(rR$K0S?+r0A_#)ceN:grEWLWk<7gCXWUN/^UiBDcW&3fuMo(R<sie!doeKX$%0&]eNJ!4]Dc;KPgWGodkHtC[u_GC5Q".%cTrs['TZbJA@"'"H]$/TE:eIIu;umY6Z>aVdV/fG+XILlnN8%(IO+S6QsRAom!WIb34=,AHfLZ*8J;uSO)qSTMLXk+,F<bSO-XT"fa$s]Y_?C^=KXW=*9<S*O8R-M-+L*2P3*Rre[557%B\n#q%kJ`TCg426?iC@<!cWM89=U83m6Ck(rIV>oTrVPZACta$!PXhPgsG4:X]6WQdV1@l&H]Pe(:Z-Z4`;/;%Kg/UohN3+B3bI'6391ABS%1Vm8<@rS"*c@oKV&\hl91'N%@1EW;&qcsPEi2-9<_LSp?qMp+5Uc@Q<*m<r+2LXsp],]F!&n:htZ<Am2Q.Xb?"J(lS<Hr%i2O[QTGMSV3Dub\A&Obb+\7h#[n3-sP&3$3:[R\_r;P(qF4`6_,-\KgNN#5FPltH'#+TANAR=UR0+0hC)YdTCZ6n2MsIP;WbMO&#Ff!XZ(Eh;5R3eZj^1m!9XE/rmI>'(MT+Jh63Y?:$N`3q2]d3>JgfjBl5fnGNlaa@;[B$"XmhPih"_-mMhYG:P.#3dd(/^b8RIM[iPZ7[Z60dZM[/E@^t_O&sJPW+hZkp0[#L;>.pjoET5$Y\l.l!VOd%.<H4!1X>u/Oo-!4CMnomQ?17>rC59r)Ju3RP0.0!m,_rAKd$,bnhpZ[DT!^!(1H[pge0=0\3hb@4DfWdaiPYjQ?4Pn4I!80MM*m"fLl%$Xlp"R$V->3L$nY$TEs]o>[b9(1-7$g?7aAJsA9F9n*^J((X[r=oO.\+%"(-+ZSbn@d2&W?id6bQf6\Cc;;&S'n&TW[Vc&/NY:-R-^H_JPPd@V53C1b[eJ(g-u>gOfq*[`$pEt8c!uXZ$EYbhAjH9Z]?MX=Y'p6JJVCPa>1*INd8S_Zs&>Kk[aL^:P9;.A&fu>5p=a+t`#p'<T8$$2Q;U8`oc(7:?E>f_SC33Vkl)SL%Zi,l<_Ob;1X.;$RC6p>/hEEgL@o)QO<-oX5o"HKWq?O1Q%:a<=m4+ePMlR+ScpFZj4]q>$0p:;X_guk[;,@B5%E7M^rqRus*GkJIE#Us"9:7*_"@(BEs7>?[J*>%(L/4B$%DsN<5Z_3m>%?D%I9Nk,.sLaG(tbBEt&Q2Le;^\C%;/gVVZMX".FlM0!n0Wp!:Kcdi<SLdSGZ`5#d<d!X&,LA'5tPIcjOa(K>LDXE3/:#<LGC5!ff?3"?W1RY<DT3qpmsN#,5\UG?DoVN?'.]5&dg`58Xs:*J4LYrgQNo2!3\k*@Ni&2NEGGme8,a&,tA.r(E:f>BTi=jr&tW%[9Z!W(/QN@Ai8L(O:>QA67M]stFGC;r%;MX)Ro:$6Z1QY?tI("-P.Ns9rt$q[/qYu)/]U0/VZK:lS8Y>1/NO1$-P`j`OL8$pcC.W]r<MndJf9H!-aZ>L_^5HAWmHn_rU9F+10GNt%R,f8RiKF^nE:Xmu=[us_lR13.r$(n0LXo_#-YG:YVD]G/:@H^H4L6@)e0RKO?%(bH!IJa.d]/-u'#N1FB;>;%Rfs<<NGW@AD1I:)R[@9QWL_"f4la>kQh3a6C`/?GsAG[!aa%igG',GgnRNV>S9t!@N;q8X5J+:gWIpB?Dbk:j8*qK3_PI&Tg/a*D\!S1<jje;u/le*7H+\_BT5MuCje4t[30EDJ@n;LpZW*IZ4j")UNYYrE]<1k8lGo&\u%@q5@oUn[0cP&Wf*?DX<Y0]4oQ'+JpPH<]WGh])]aQhY.-]+Ku<K?b<mbNbrcG3EBM#sU>W&N1mio>TCC&L5`Q'*>0IY+dMPHmM,GRR7ID-&NkqBJbR(\j-Pd57i#'aO"X\p(L<a$ELre?:aJIa&Cajbm_,(b5nRke6$6R8+UTKU8O89tG(p:=tpKO7?P(BAZbPALRM4kRJ\C$#!G`on4%9Ll?VjA+\l2E:<'TMCCW(E<Db-6\"NQ5[:W_7=QY=89"a/qC`XGOq+-q+PWDZP*X2497Hq.?$=F7\aYgcp53rr`=Zb/X!'ds$M+rTXqBgR%\:sHC,=bLs'>Q*;9r=hED^kE3@a:VV["bsM\-C:7p*Q%RBF(Y?%^U,\XfhJb=*ZKGknqt+UV80QU&tJ^74K06QShdflSu8iB`A*7Op4KpO1oW1HCm4_!h[.NA[!k@/!_RX.a>UF;-iK%V!uUb:`m[ddYpCG)=?M[^-PRFq&H$a#o\qWUMI$;baIDnl<":];^M-T%XJ39kMke"B>9-1+f.J0Y.9.dCu<geTI+K#_r6S$FdZoW>)5d'HhSap>&T1DfQY-qWndK)^4i6TkB"Sb3FQcYYf>+386VrPX7jF"HZFm0Slh6X$"#=N.7KtLk]dn0.?jE,3#K-$HDkOP4%P<"CP&eJGWe_/cUf05+OYeUfh(:TXpJ!dT?e<_oTe)[Ps+U,kSAq'(/K3YG5`-L>C_gak)r[lSkR6W$-$/9s6I?na&3@S+o@)S#:7G-i'<%[=/8lpAOtp1e\bJ08@X$T$0,*cl9b5[gXl+*tHq1/Ra%N7M?ZT'6Q.+m=.\GT$6]G$>j!D/cM6F6sM/(JHE6"c=c`'E._?Hint;]<nUj2\VD@WgFS<AMW+ZfCA*dU$4]op!\Y\YmZPB7)rT>,=,cAN+dAhFRopK=euGsr#/:(,V3$uH+231iO"sR7'fD?o:RTIp/?>CL1<W(ZhDRFYf3-Z'k)\g,Q;*eJ73sf>d(dpKp_ep\>u3pHrXb1Y8LQ6$-'/u927=S:f3O:s%#cDdKW`W,TSVj6Uc6q(#9!/cdV".!kV=s=(7bo4,H_f"k#/V=in:N3^19fU<5"nboUjno->qu:oB3Y.D5.P<4tcTW$a/3h!HY1HYCfq5/;fe/"IRUU*'q%:G0mT,e2=@!!DeU]AR]po9tX1!j$/XW%)HKfRJRa$cjfLrFb:PAdCt^^]&=QNa_1cRAn=>5Rh9RW2[>G?J^^/pMF\e.+>qk@>C@P%bdULS+ALi0jkd5MO6hFk_2\f+n%>EPRs-gD!1/t4^*@1`=Gsoa;O\aWHF"Vs;k2G:22CeHX[/mnR>&81=J'sY.X5PN]]+^mr8CJ8m-uaVD+5>mcL",SUsVpsc66iBP90l74^Jo:7>\903^,QJ(T8LC`#'>B066OT5q1O5i[fLc7N[a,a#c+*aiuYIJ2M8BDoQ_I1W)fT)uK@nO;TtY/L0W2FYq8i6)^?UN?_7fE%,^WV/*0;*Of6If*+?i)$XI\cpC])+'<jqEQ2'a8N/iq;65^ZM@YLe*We:W^rtnVerpggi%7\m/=94s#(P]sV:CmZ=Xn5B9X,5$,U;P2,-^r$-i?O4#tpS?,RIJ%2C6^6_Ur#&48P-5cM<^GN(0YQ?+^Pfg5C,C=:QVCqge9@j&,mgR]9?tFfA6XpVD7VRg`m:U;Yi'..c_AKODXfGb4GH"i-Pf/Js%E)Ho_S)q;:gs,9bdH*8]1&-Wqa7@/=ZH'&SnmWIrc?<?_o'Tc943;,Y:)$A(?"]TP`l%BiA5gm8CImY&$.]\garre3J@AB_pKqHqlX-/Y+L^Gki`)mn+%43:k1n.s)XII&B*XaX^6-i9;BDINK1;p:d?+$h=Om]atT2k>;j>IVklr+FLP'OB?TR5(pFKqrKMQn)lnj^Jf)KNHf4,OHXj(3GfJ?Pb-ad.AZqDWITo_]1GShXFgkR)/!-L;:fKARhZ9V7s+Ep&Gj#91tn>S2*X+<%g/"c16W2+1SY.)8>ND@#u$j"Pb76b-g&GUi%2lZmYeRdAEqdeN%XZ'W]A=AcVmK:h1AdnL'JADO.=OUp%Miu9bga1aQW=d>igW!2Ho8TfW;8\TdS_^oeYBNR"s-3s=1pW)fODHNX<Rq(f]K-Cp^)3'?S_c_2Eql;W:l7L3e\U(]S.@qZu_IhM&_&^(j@io9H#RPh5%Cs:Ko&98;/JMtBg`%PT]F_*T[p^cSV>;,f(d5mLEh>WBQL"G[dB+Wuo"H\e/uPpgJuKB8)UE^f6Z>#:*2q*Q[nKLSS1CrH@Q`:`$3YFL0J=Wd_%G,Jg3KQ]'Zbo`'BK93?a`bFPpX8NZdO.V;lEotZuUN3_qd1&E'EP&pO_@N'374uMtY2&>u@CChu\KOZ.4mK_qm"oYW*J",%\/S"H[dh_OWNp2q4N?mYVo,XurXG`M.#;dd)1mn'2XW4G@4[$b%LVnK5BR$(7jo90["#`,XKpHPC%5#:`fbIXCOZ44r<c"+Bj)ISO-+9#CLZao]R$.kSBcr^[>Q1$XEKR`92P$dDAK)YJI-\XX*7<bQA#1pIYQd/crLUX)lu7[0d$SpNH;frU.pQ^J%1n"gYGg"p_D4$4'j[r6dS#JSupp8J7P&)LC-HGl+V?E#)3HloAH*#aI6(:8?=!(p,#gW_!&KFO+bj35WKJQAJLZTo?=BH6ZK(QRf[kptm1H=1SaB0'(-.<k&?l>jQQUm0W`L'$]:)0#n69\4YL$<b7W/@mg`349+)K1Ci7SV`FL6mLTM5JYBs<V/k1`eM1Ddm8.U$8:K/f<:G!+JMj)TJ5g\<_I34BmjuRX:I$AeNo_!L6_1BNC/Nco*;auh<]g7BjVDWGn'k_$);5&^23Oa\EQ(Eas*U/oLZ>NadP(t;`5Bp&E0N?i=6c'(5DpB`l4Xd;qj/+Y]K2Cmut[@\cCSHLQ8uI,V*65r3[ZBBQqU"2')-\(Q"MWgB>p.mR"mNb9dKdj2Ub':@N&)PnY4A`FYqeYri'Y2c+#)\R&FnpL$W@:q61D+0eY43HNtW@IpZEeOJrsKAkj:RPQ%;WT'&b#jkc:#YM]#NFYs8"SElZC\`S5X>EGs9Tqm1?u!Ij+in6_jI><'CsPJ\`BBoR&q_`aE>t47I[PVd]]*)V%dL2qP8Skd7N\^<`?3VQ/h/4*Hq>5cZp.iI_0V_7N.<ArmE0UXJ0_<h6JVkL[8@Lc''US5H6a*LVpNqj;8CUhTg6#m4X&E>_2Z;f")7JSeN4+'X<dA$W1!"dJn4B*JYR9CiS&#*n.FE&_''1nFtWDlimlgQ)Fs3>Z&oQG#D6SBA/1Ing64H`<ED7Jb0V;"Wt7bi'YRpW`mNF-ER&ag5Y!2]a1M!cmiH7Eog-#S`bC=_-[>*A*CYEKWf<U%4,&1`[.B37YU9JWS(L_JAt2954fcr'$rdsI^-Hn_qOVF]?&GlMLS//B_al_U@/$E9YkZSDb.5S'IX-Po35Tht:P.nSqq3TCg>Jt_Ata`qb/(TY1O%"&,7].d[PM5^5)V6G7A;M!7(p,Q>Yq2sa\\X^94ZmVK)$n&B,jR-.1M+hS:R#U6O^s3]&>"Zgk'`_AURcr8/1!^PVXrpQE(,q*N"+4Y)#(ql<?_UW:_G&Y\>`-4Zp12K#-uQnWdb[J[W\oe[<GKp9"7N]QeVDoi[L5aUZ5i)uOQ@;&4So>m2Z?8N^nr<ku,A]<bj`Bkj'uHY)lD\iV;0HI]$.Z,Y^n_9`rZ7Dj8H`AUqu?Zm]93nH:LgT"]KcRG8P'k0]+5pfYAjKU#<Lb5r_Qrk^g(5%Xt=YFA02KF0k<+@N^QM?T_4!JS&8/q(&o!b\gG\pSI*l$=R^AD);%tGGoYs5g`2_F\XVF'!Q[7Uc5@u:<S<"&=p&9R->5kdtiEeFRI^NdnA>0J-(T=BYS#C+91JHtdhJ;]W'FlH(O=g%pOBI<oeE^+V<.kk9QnjJ8>'r>)rjO1_m!;I#Td>)!:Q42jI.sTD04gr>*iik,B@A++i$"`i?k7V"M6a2Q:=-9"=MXoCO>p="6`O]Jo[O3Y5p[9_<IV2Bh6l>#B.0,%"1Oh8QK%l#o#.W4%-P\,=mXIAo97OKNPCnUKA>uO]S9GA_8=X22&:$>S3B!CAm.!]Qq-NFB/]qL^jS58QR7L3HD4]`F8OVBOW/Yr94\<`R.L3G>UE@e70-DMocSou\j-UGKVeq1eF+a>sKWcj0S.?^dkU^ihgqpedD_MdV+C%1P$TC>LJ+$'1OqB%QO5mdd?)86F5fN,aJcXn:kK*?j:aZ_:W-nBqN@Ej>?AX!S41.stENu&4#pg9YeHhT1()dQmoMsRUS>8BHOFKb9iT0`N3bbc_^r`r6I+Mfj"9iQ>'0bqZV(\acE?_7sBT[NY[4+1-,!_Jn'GupY!XftAnHq<SeZhqIH12o^[3kp@R_k2#m.ndDj!7+M;=j5+58cYA`/(i<('3`m%\b\&s4sN/g0Zk7U8].oC5"N+02pp7L^$Jm;E1*DlZ$lDOA=efO*>XuKdUb+74T%J1-r!,&s@W=c0D#T$],$%oZ\P(DZNQ1BaP[L8X^bPauUk':<EQpD#h^L7DdRn@^[/_?15Dr:#_[c84^.jV/%9jE1(UrAb1J9,@-H"r*\N4$."C7g3fp8DZO/a6#cO@J47kd'ON+mO9o;C#'GfKa02%k1]Wa'g(e9^B3d!Ii$+P7K6'Tk7`HZ]0bSpL'E&B0.^3Ho@`8I`Nq.W^JLR"G2hY\R(F%\+d\IL__.cDtV7j#TD^:,sh!7)=E\d?4W/ri_?td7__+(da/KZ]:VX+`hGe0nNBCL\Ycn25'IN`Ea!n>tX+SltIZ0rYZ^ho-@qPlYb4r\2GU7(P(5DO`uEo'mTdqV(+j51Hid7o9u9]qq]5Zmn4^1(nM)dAOo3UPj<G9EZEQ12(?CJ^3tpk+GNK1YTrJ_pjVRCd.r:B/q?Pk+g//Y+S2=^p72Ai5S#ZA?MM&gBcj%;;P8Nc_d)/!0KJcl^'*aCsQRZ4<s1#0oq7L740".?F3CQL'1]`e5MdZ)A8%&colrYW13?5/6]i2j"h'7W>%XGD\%;85P7S-Se@OTaF\\\8NJhUA&."1?'*hcrj3J/r<F4H[-4t2GWV"l=8,#c,2!fC#L(J0&>7SpT8VXPr_6ZrKsXip2SqQ(K5hI&'bP#SiSu*_+gs$GLX@8>6Tou0_-i6.Y5B)@VK<eKB*sh*sL^/-4tbSp2:(.!c&$&1)Wt9-u_BiZM(d(P9P(."7?j.jJ7tHdA*T_E<37#%[[email protected]`7!csN7^][email protected]@7p2o.SL74h>#pCXeJl<a#f&j?YAr[\'j*O"7IMsmAWphQ8rHG>)/Vd>L!Na\eZ(`9I]ruHa`gcr4g;f6dnj>bL*F,6U&^GYrh=%gG)OR>54+_>re+)0Bf0/Q7YTL&'XQ*Br!mGQ\iu+mWFt<RJ;a_`Pn\-?e7_(i9gj!u;(sY8cO+[rro3;%%b1L?5`*-rcXCibBU.H)#ig6i*!/tXs2G;YTD)Pf_bp,]qDMI4f9(#qLiNmUB`56#;:4*,_8@8(-VlN=JW@DT*8U$?ZX[[$QO'+oZ,%sA*ScNa;TaPhG#E1+Ch9-\g5KsmC<a\EEt.f*rU<3$c(5$mR;$:27#5E7Vua3dNE*id*q1SC.`G]dp0TiUX'`c*-j3kW0!)`-%-7f<>RL8k.lLF5i+sYImZ%f##^lE5jCK85nE0L<k[.+oBk)!=q+Y[=bU.`@lDE^njg]4q*<j6.&IHa.a\h]pd;SIl3&Q2NQk5$$_8O*La^a;;i`r5$'I(,./+uNbL=M7b.uec9dMOi,P:;*nKGM\.2?E)Y3;3E*hiCA!6MR@or]Wq.H2]2eMk/ZMSDJ`dF".r7>08Kc7Z`r\#*%#?B?Wn0dYoiJUJ*&Alur>aXU.@@7>oY2=MtgeHne@;<Mb.*CB,UHKR;O&T:35VS-qOuF:_+fVd1I2rGXT3\O@*\-\l&B`+sFUkECUerUP\P;lV8eEL!)CD'R7Ed1Wkk.'V=(A+XQo/U]J"Iu%HdL[dTASrsc4Qms4d2%)Z(F:PUR?/lG^@`FT\brroV[D$aC[77D+#:X7K)Ee(!1=YE@YW["7d4.$9^&pOCJj^-Bm0-Y[%oJ$YB4!5P;mL@lUF+G+JAD)V.;q^fV,m'AJb]N_7E?u7Fs;BG8gt.LFr<5H("kgJCXdkrqXs;V'SW'-V],7Bc9`b$e+j]iC$9j,%75+F0V5%,8uf\-<B/e*LJ?3XWL7UdoWAfOZ4-Z6V/qC$).?RHF9b3P'qJ+_04E!KA8Ju3j(dP8`"Xf5O_@hU#O_ZJH`,mM&'SMIp>I9*;K:tTK`,b2.8ACD]o;mlJntACMN?t0,5SJ=\/OYHf@``t0`H,a)Vek)>NL>b].e@d*,s+?f<_S]h`F99ChE+'?+a.QI;j`U7r1X4Hj"sf^),8D7>fke#R`GAgR#q,M_`kFLXa^rdZ0sX9E:h48cS^bVp>E-A]OpP/SEj[R]!#Fgu+qRs$f-krrG]mr22C$a#<^][5Z'4ReA2!0YEcHrk!@6oNVT#.A5*rWi\kbm]$Y]C*>GsrgMJ)F$IHZU<O#8k&Ea^/Ipqb?_e??@X[UPBsJo1IBTQ]!":L8k*!6)+clm(-#L.,2-#\Rk=P8n]r'4B`T<b@FHNeuTd:;5OAOW'6ViW,c+[a5lH<:J`'(\?_iKSB!KZ9L88UhnftIjD%D2m_&?oAAD9u6_L5O/A9!l."=)GG)[VP2pCM0pt(P8%_#WR1XX&2cl@P=o;ZZGDklahaaMX(;X,",?f[=0AaX\jTZDb*D:L/QG(+tAqVZ5cSYr[R=p=N*^%G,:4`.U0hU+,%`*fc1RorM.kWS5jJA\)eTnonatJnPjYY9<9bF4/Cm''F/2_\KG4OAu'*h1n187W]f3Be`ckW>[*)W+!^o[-hg>/4"IBu586i>I=oSTrrY7Th$u&snh7F@&#n(OcO#%_.),adc3ACNfB1(\SmS1'E5-T1+"HF(&4-4/lIE1\5[E%ePBO1;lYG"%"oc/3&VaS?F)^B.BOefCNq21%pU`JOTbB)AMtp!0B9B)WJ<b?KR1F%"@'q0<i_U>l(=Mm#.62Kg4=@d%#m!X,VpG_qW1\NOQV#rpoO2d-gqcZk^*F"C'.=Upn?F^fdPo5J6mW^*`kNh=ESF.DG=D".s)kGNFdX2Sp!'p%L`>7n*en6]3[,:c$*V]`rH!W,\!%QT=9X"mYo]BWG9#>Ab6Xk7VLV.+>SN>1n5nIQeM8RE\V3WY`;oDFm`Gr"-11S6]E'(/n"7jOmLNY?A"A4GEoKMfTg,Xs!Y0p'WZ;kdo>i4g1<(^W"s$'t/ot0B,#]ueHfV.>D:^'8V"].`pJ[5;o-/]&`"V+0g:,;(YD_A)3`$>Ie]$\MjAHM</%d+>Ph+Fl'-0ZjJXdtnMt5:GCb]:H)6q0#aBPc;e=Hb/1kX\"ca`(@LOZa6ZI_g6-"A>&A"HX1@ba/s+i2mUk5I"C$RI@T8_"B.qGXX3$t]+6rV&qiN4k*Raf`:2Ha4k5QDSNYeO5Z-b>P?="^p`JWA'^p:"YpGgPXgGSde=V*-8r3nP-CfMVH305#KMTOl"#TP>Dui3b3$QZRLDg+f[>PkK*E?\T(lV+cl/2LC?q#hg=1OTOBddM(VW#,,uaFWI%L=C5L,T9q!:*brJB&*5N8ST2%WX9pEPW-'0rX7(ht"9I.bP'1B6%PJ!n]TX5bf8up_VJ1;=Yh>)NP]gGALiB=q5]'*bp4!fZ^dI&n1[Ra##A'$%5V&s2Fb80[Q7phQ7T5VmAf<G5SWg7V+V@H'">jpRo3>@_B^,>I0>$"k\)Y8CE`aCH.AH_#;+P6"2Uslq>oh[W>9!"(W%7F%F<%$CU0-*?HY45k//%OrLUM%/RCV(V,,gWgJ8ukWT$uYm82`;Ct:%CaDRto&CnVAJ:U=bundN#7H.OT>K*48<>ghb/3AX`M8;@kg'r&`A4DX))@6h@ZG']lqKGD"0D*n1m,]4OLrqLLhnZ%ic`0@`O/.MbkN2Mf^E=TZ<L8XrV*TP)=XAVr.uO-f@sU&i/Ac*30A#qf9bAKmat#iqe&7C\Mk6Wp9GI'iIt-sE3<Nr^TAKM*4rb#<FJJu)+`Bjsd1"H9U!A".:@TdOX.jTkAbDtTNI7Wr&DMC:dR(,T<B;QZ%(=#09l:]UGp-VUPIEE!d>(X&T1$B@V3M'/C)6,Ok-]Hu5N:'='?RHDDR'>dH%Hg1f,_IS<-!O`EqF,_5/OV=NgL=]"2oi88+rqqc;%.6I)7uR_Uk<jIa)V9>IB%Bj_%T]W0%/qPLYEtt_M?+B\l@4e>G^9?-LIlg!g&]"#?]csVPL=5;O7F5kR(A+;\e_(3<8E!"ji9]NrrVFP@Zn06Z1eS_iJ4CBoVR_NZ;rk">@R,'?15oEa7a\V`UdHl)^b7'+@?6DMc2h\KmN/iVcm'0jlCT)ji'\Z20I6^mPfHd1@ZA/lp_!VSQ8V3jKQ<O"Z1s0Y,E/-Wo?Zf37?QRUaR7@j1#djN2$/X]Ddjt]S.cRl=)[&XMT5;F!1Qc,P(=K5ogkj$d@@`^EKb<1<ud33[q,H-W@KIe>:4lc7*dS(#jQN_i;`,%8@o-;+]1j,?pQ`N,^Z`HL8oX5pKFMDS9[%4+2cWmB)c(6>hQCQ[U(Sj[*t=BM*R/[YT>,Z'PQ8rBOPY-:PoKKM:#I91>705l.F!deB>jM83!SG+X-L)-^_md=4(XK[/2ndjt;S:?^D`$pX.c1)qr6;P]*+lGR@A>udSA1)t>]#Bi=2b;]ot&5J4Ek</Ko/K+Y3"h_YONkH3CGP/m2*BRZ)\la;r.Wm,0h/WF1kV.Z=*l%MQA7Xu6om<3?;e\BEr</G*^28r7D'sb*;s<\Ad?_,,7Wtb"!^&aj`.%\t+@ALA[mgpHP>GLg[,#N.A^lVk?<aXC6_V9I$jU_]K.8/@^)JRFkNJ<%cNdPL%suS5Q.]g47*LK$]R)s"8^P$]6od33qB!"c,GT9E<fEgW+&h%a8jBB1,D)#)q3>6sh*]"D!_OdM7GP<)P37I/N*fi'<Bd]Y0H9+3Chk#$*u4M2,@"Wur0GH`5p\^#*8/a2g18YJ$tYXQ.1E0KGmiOo:L<WE&`<&rC--r!'VdQ'HYYFHj3OH"o+SUknVjjb)G%m\b6fk>(>@5582I-bBg=39X(D'iRD'0q,Y<?_&#5?B?s:035aVHYJ1VZu>+ah@("XMDNB0kQ7'm@ehgLPX8pRagP:8_e/ZQ^&_N,+1k%bLmNj.e`"c*B@[sm/nGYb-1;GW)Eni*C\*2!B*(%2Ki\l/4q/*cos%+W1/6mdf\fnkKgoTNr.:Fr/BgTe97K;E7j#e1bCfoj:7+g!HG,.[X-]nGPW=R;[T``BZsC'#]^IY#:;'!l/hQ>ip^jN&#8nu4>!]n_a`0e'(KqhOMqON)a6I!Q-"J3/N;32OYe#0L:]<<oWsY051D)U!]^V!UA54Y4IRe1I%Bm;B:Vi[3AQlm[p=^fRqgLEU-jGmDk39++i9=\BZ&\[H@es*:0DbYm,]q?RE[ockCQNj_+_(*05(G]JFRjm9=5%XPE\-c+:LB@gk-oN6[7U/p_?m@RI8BM]l@HkOjbWk5sGVG[aHr_3)-63FF+]dA-gX3<E_]C=hj-X)i@f/0f:^Y=;E]GfL9P=5c6ZR#>PZ]%>#dr#l7i,W[-UffI4-"MQDC`BGQ+kJ`()`RALcu22>-_[Vu3cJtuM)6;oXB6o@/q[:(rod01]C)sEaG5md3-Oj$j9mcS;oe:Q$Yr6"aKTkRX-EK8,:"Dbm6=:F3<T@/-Vj:h)j\="`E*1*nU?g>3fAgZDS?gcS6%aFH-6RGG&31d\ER3N":FUPBZ+P]Ve!8+Wh71[k[?OqmEYmhb>5\\iC*/oUdC/Jr"Y&)%hq:GTG0Hae0+HHo.&bgMe#iPFkVa8AND&"%<.JJ/]%<m4_f+@0i7`+r$(NeT6_QWGH&/^7g@TCF/hLHS=9;Y=Rd#SCakB#^HSrt=aU5ap;?Z2hTrslg2YI$s5&\^j8B([T#4\H8ZlB+!Y<kb,>cTC005LE$#U7G`RjYhAoF@P?Z3C$O`Z8tW7u7\`$bk-i/djVj"`L>E?-8+Q-U>W3f93PFYmjW67A7sZN+2_g.GapJ@iB=Msj`<(lpfp6J:@BT:JqnA/%Kj2q!^>9[o5MM*R_2M/5ZVgrora&0N5`@EiG.lKO_S'[KP$0UJWorWPkjT4Flt9%lD_AIO`SY]7DL.+A"-1ap=s^:jN\;`H>.,igABK"&ta3drRs)=3$P[e02&pU/<mm8Rt%f4/Der?B7B=9jL8?D=?Yn&a0U"q6kV_6:c%QQ4QhfYFh!S6O%oa,PGdZ#7j1ZmhT/2h)1nZH'o7TQ6>cB/6Je3K6&[email protected]'.sn819f_Yn<e:*3j-_nL]lNr'B["#<W8@O;k":/<%j@%*kpl25\?hCA?#`']R=N)Q=%3)F8_n/GW^D7/C?+lK-X,\R;rsX%;JUC]oPjAtBT5085%*\pG#C9X/;QNl&lBP5U<^QL>;1P0!B.Q22qYt?C>Ftq@'sHAk"tQ&ZT"ZXq9$lNIr^iZp03oXL*74"q<RX0daGE%0)Pf`XEhP@>-_T^YK//gN5ZHNEuK&2\+fQDR]`KHc%JGjC(=i^OjIuF8;p&?8HgrG-$%:0);aa_L`=NE*`3c80KtMU+B+*Hc,q()UAG?KI/i<Kcj[W:Z+*(?DL.Ju"Z9QVEfgPXV+r\'NK1AP3]2L6=iRN+2=(]gbQn^W@^-oH?9M<7D3S5=fCI&Nf%eeMBD,G)M\:RO4*mZVZ$#SqXn-,eFPms&l/AF6EKkbL@\nn?\]Ri+bA9usS,mEF^q#fJS5E<Xri?>W8NQUkjc'$s=Q0Uk_]F2mQZ@Ug[7Go<f\lW2@mF@u^%&cL^D%<*%J=7b*[T"B[fj+\LURd"16(C`lX/9<mLF5fhV?%;^A^(P>D+OGWRf[g`sIRJ,Z@mQ@tqFpOG:FnjU-Bo^_36d_M@10QX%B;^8ec-`95=B0fL8$2om[rj.9N"oD=$ZVq7aDm(2&=gpV<DYZK=g;J#c^)XSA;6IIV7UNG*-=VfHkc(40to[A'H8)aL;[W^9-bH7)(`7tCqT^;_t(r`j%X?u(4;\"7W"DUZ@?5=A@pq0YlOYaAF-$;WP3Omi!D.lV14%j?H5VY0hpI/rOP;"2sNBG4Q5Dd0W![CZ%A4>IFg]DV..=7do"%T?0J2(a*E79u^Vu'5-'5-UKQ:MXLdO!96;5-'kM/k7)(!9?n1gm4E8YV,Tl0l.X[GP=JRUB80/?pZ>NJB\_<0eh>F)mp3^'*ku1D@DD^?BIBX;>Z2CX+:Qd"9Rh`g'\m-#%rg:oK7OYV-l5]V[NP3,RB(@$]Oeo)t?>X5hS1r6+[FT_].H"_&]l-I`^&X%i?c^Jjh_PqkX5P2#BU8;-f*O#o9+U6"tu!o*>r^lhnMo;Td"=aEUUm,8W_rj6P;'7ZoS//3D,!DJ-[)_`9sN+9fND([8/XaE5=TI4k1Ms/26VZD+7Q=f0D*8ltbh^)udd52_Id(>YEPcDDU?=!YJRVj'XAl'"3?![:tDar%Hm8?C$%/2/'mh8B3)?LfPXgH">.EC5`%T%MMH!b6'/jN]C(1%a]f9c_U(ar#3MaO_7j]=Dj.H[#BY0*lfkBUdQlhS[g@q"!8Gtj(g?njSLU@q##5TYVJ<Re2KP;DTqeL!a$BRf+/M1bIUgL\pHWfj6FQFg7G3I>KVKVI5PL(5lcoI*(!op0-m&#Mr"gto'UT>(eAOK+pQKK/s3Za26%<V2X*9j=25V)TZm)8\D!3a#22BQf=Wd$nTX^T;RqX[sRcDr3I+]Jm!\!C-=m\B-hf;FB77:>bh!oA>C&?Ob.5g;I!q>'uZ6c(Es7KAHomdL-e(,nP#?2)i,5WNbZB\g*>%l]J4FY9A"$T.;gF,btO-E/TfTBA5s53$BmO$P#\A$?[CrP8S'md`nHf_qj;6"S2BjK]\5op$i1QEqm&mP/PZ?Oc#WuYbhuP#N$bkF;p^J2G(%W$RniOH(<U`:jtLiZjmXe=$=(TZ2i0J(HH]>mpWMs/?'+2MX4_M*mW"BHQ8-PNCHu;*7!]d#i>hZ>DjF,[a3Wi=5X[S(OcsqB7&KNi.ZW2M[gQ6lV\VDnY3opAd4*K-!s4n[\2JRPBC-oK!$I/`s.upGArF,HCAYhSQ(qFjte7STgOV06[dIEj"As(IfWCMSd<((#%7_[J;%9SCnZrm_W7ADPa\q9Xb<9S/)asp]3b*9S=F1>*s3.[3l\+s)@tT6K@jjM5*]1oUcf&@0,?8C4`b*[3<tQk$gqfDU_XA_Z]]TS3j._N=I_nQq!1`TiP?oS[JtCj!W0dapkB8\2`?C;QlJ1#D#[;gd_.pa26"gLrhO/CCO&H$i-1EBUDJU)8<;o(%AH;+S`/C\KZ7"I$?#_3+,dj,?[^\)"b4J-<'OpF#;ndKq4`q&D[j6SaF`IO!0eP7WF2ATZ+X(O-JZ$WX/1.!#QPmfhL[F+frk!!O-nW%$NeC())/5UaC48oY\,hBFGEEK(C_G'Kop#@p.19lC45h>2.GU&Zm8R-`E]7j_ID0ln;bkXE4:;U=AN4I0rQi$%mT#^>.VuZaYhXPUfa=,R"41:&6)(5M"kNF<-$EegCon6fXW7q7+=Lc1)G]QK_.c@$\"$2[j`Ya,;bSmEVY[>ItOF3&0itb[(g-?Ff(Po(#``PgWHcG2\?Y:bWtdE"ZmQn6j$MZM.7058jnf%hi:7g9,-1S`%Js.JL8eb<O;/AR+G\lO>&f#b)4IajLeF^\$X(I5i8^FpLb+Q&3.LHI2Eo)a5@NQFR8.[I?Z[KrUSclm2N]]3,P]`)Ms/D!aUD!q=Lss3mKjt__$[db7?b(Go`_%_6b8<G:IR)N/dE9'1OFg&XOkLE)@7)1$6Q^3Z*/ZXB_ka#"8G+[G!HW[f/i[E8RtDbp`dg7h'fXd[?h%pR]g-mE>(-%MN9>`W'$6]GX0ol^,SAkm]^=_,O*l3l,4d0&52(8Xiq&g-!EQl^$>hp:jPAM)KtBcQ51irB=C\hRHl?N1F(_aFVP3<T$Q*A5()Wd$69k_+KH!HD0!])/ps2hO3IoYT5gQ8kN'dZu,3k5[Tr0?fX>:O,\A:Y'_Y_J1C;(-LI)W0[1q6&0N*eI,rQsPS7`g<'].NW=X.J3he:*4T1gUSU<#N2bcHZf*%6n'?q8-i30jJ6diB*jf?GGN7.R<=ZIiYSRuQtP(ClD-PFk0#]\p'^GUFV`<+gme;[@0N&N]Y#_bTXV,VnFE:J>!RrbjhJ"j`$U@o:bT\-e>Vh<%XIZ!KVTsjt,n@j<\<9]]CS=5`Q.P:B_Wt2@aR]L2L!tRQ?4=Nk^ONXEr.<q,E;Kj^u,.-H69YTKU+s=LQIO4h!2'SWCr)QYE4l'tgQ/k;qaL=0WENO'4*N!=p8U8I<o-?OuRBa(@eV+36.pIM:O7`Hk'=HuQI>IqshsCS6>9kjogV'7^A.mecB&99*/t-e`-;rRI:;_tNPFCM=Z+)-*n'Xe;LH^p8F4#hN[0@'M'X8j)k!(h;E[fSg/)2ubo3a$X@(LU/+oE8$R'U.Z4)/_Xfa$9-meD)%&fOg>deW.LjXj<F$b[2*,_AE,/u:U8WH/Tc_W5l8<1Q(8P7'4/X6D/K:+el?Pm!(B(C!V5Ycbj3(42coep&aZTXKK]Q59pkBgi9IDK?/CnDgCO0]'ph#<J?SE[3*Io\^H]%J?ec9YMA5=P2Hr#`E,6+c'S-&64pBE!TuS57$m\]5,Hi`M\R^RFVGBG*U@Q7W2Pbj*`=r&@T1&&=>oCa*GQ_4*!g!4Z:l^Fb-m7F:QP($j"0EFW.(&bO*@'$*Vd+H:q0C,aW,egLpK61uX$sq\;&[()mV<OcLi1$FYih:mh%7l@D8,7U6l=>4",5XmCXpS<5F9(^VK%a:6ac[*kVNgsMo7"\P_^aaM,M"[7K^op,h0i^5g[=?AbTL)5L#g#.g!a4R_\a&r/]N7#@@f&X=fYh_3fo#-2n/&kZ_mN_/a)mr/i(S/#_U7,=Ij`LJ?.EeW#>(Y=?Qi!5X&arUZl+E(,Eo1).ND1c'DVJaf06?^XoaAN>L[@GP/32"@Uh%2J!!

3. Tutorial #1: PWL17t1R6bbUI
Serialized: 7648 bytes.

>lXkT!:dN!z!!!-Igg1SEdMB/c]'?kAB/D+7dtabgNMc]Umef12!_$B``X[0c*%N[aSV*\!(P%ghRb/&G$GipUgd__i/5'?4\"l4VcR^bW/0m%$[U4T-_!mjSUKN*#2ip:p0BOF<&M6FbJRa%W.&"J?A2?$Jc<<r)El5_D!%:ec4iRE-UJ<n[Jo->'GX"T/Z8poWJh]&8<Mp\Tc;n=24_I_Od0oN$L');H1@#Js.0ETW+G1`:,R1#(eOgDN8U^9fJJgD<nb!`:?;-%,M(jO(F)JH?IUa"L%,`X'WM&_nfBqFuOup[$p:/j1>;.q/hW;*D5XuQk5'gLZE,KHs"#Hs&MGINDZ/)$Cq2&2/?_3srIgl'GMt'@m&/E_A@42:92D<`Y">/btV=3<<crM^?X-F5Tmo(B2q0b&JIGQ\%gOWN$5pWe^UCh/!9mC\-gWcqM]=-7#&]aTT@o79qh'i;_&I5[-nHm$DYAuV5T).LbbQ6nq9=&e:WIcG@'=K7kILDuo]fX?9@(B.kR#feLp@5;+L$Y?oBJQE?pkHC0#gKDD3mtXp)N^PO6upOX:O\?PMri/m?hZJHQguhfc^Ta',"B-jX_I:<`Z+pW+<#2X;enj@`23@O=XG*3U#jH-IND]AFm:D!"lbk2JtL5$0bepb&;%4G'&b<Xeoh_aaSNK;$qu#W7(F8A8[_"MW7+n[<EtVan="'[,-a<$W;N+A2$a@#/os6M#]sSt8F"i8?re33bYK"d6D])m?I$EQ-Xaa[2cY-WH7)garDju9@J['SLD:[Y![I-+)h=DGk?`g!2kL/RBgI^$l9LS5n"MXZb3Fto8+TjKYu*BHTs"&nrCc5Hf>]'.L8^tf_+1F:T"s^0&_$-q:>-39KrJP=?a[?>6JK<\j\4\!&8?2VXojKnc\*-t'>%EV@.\j[EJa!tM4=_JLTZgl,kp@Yp!m&?QO?n!gP`8@n*?1S&[pbg6C_?rRGB7T:'TZ1:l$n>81=2miBcTJ*H1eqB92rZe=AmNb]^6+..H8&g/@s>Eu1\-rMIsl89;^3"c*qVGsYXOW*,C>Y&1hWKpimJiW4OSG*>_rU^HDes$Rchod^4qUf+;A6iOOlLeIu_3F+sV9Buqckc5&<MuQQ*F)3'N;&6dW.-<M5_A8pOmn=M$]*:t6g>$G^:FV\A*8(uHX"pX7S(fUBqrFp6%YJbA2ur1r?C!B\Xf>7CFIA#GSUr68=ME[\P46NCQ0EYtS=+?rR`Y]Tqgf2]8M2g8HR1!IBU^']Of,3>#'&2sGWh0Oata0\#\J1HHVhWG@<l_(SNV:F_"gU9PDN4rnN>]bFTpT$EK)!]4V6o9]-O:YNi'1-.Q-`d2o&=.`^BKIoaHPi&-7;\Kd2j8EI4l0?;lSV$?)lB6Kl&@]^^_pl0*us,Wh_(dpjE+7"[email protected]\#fA;nTFO3ai')&qoAmQPb#laOVmh[i]/MlKigfgq5]c`+Yk8<roZP^"GS65K]MJGcqQ]NqI52J8?Ja(&%?0+-W*frk&dGD4cMVsuT3iha%)kCbuQ!;WZGVoMrb(H)C&.O`\c,CgA_(*8<Pdr-/MJj\bL^j8ZkN;7O8hqu-o<ph\!<8-([X!b0Zp*!UY6U6l,QDk-TY<4h^0&4iC4eAuS-,7is/p*D0GcuUBWpY4_PM=#fukfjqG-:?EN2Ug5mo]9P`J[:FBS2bIuX_u%0ea*A4VA&WU,H)K[*uu[,KJp^/-]3'1rFR1T=g`_GR-#OdE80L:#:s+:9"YI_]i#%9;9FLNs'GmVWu[0AC.opbj$!!a4Su4LTQAs*epD6o1P8Lo[;J@*"&JiGEab(s6<Y'FYHaGJI7[\0L[o<+Ln:QGf6=U>H,Nc#R%Z/8JbIi)5-Wda#\L3kmqjoes/ICBVckoiZphDpfO^HSCsik$&=$_lnbALC_P&3Ea\G)H8E6orC;d&ICIZbZ<oc1/)%]DTq*`IapQT.f]?W;18MVELCjRpuu[)*Y<AH)Bfbs8PKCaZ_CSd/Q,'$DptY48L&\+PYj4>GP%&,aTgCp/0]=m&09)XE#Fp?d,T7CF).)LN":GTiKRM%rrGu2V+cS&fIE,0W?_>9R8V7;-]@Ncg^Z\:5(@<CY;epj.=f37MEr'Afkk\XYd\A>-k"0@Sh'Ha"-OZ97h?uM\t2&ViD<akI>%O8a"MPCq8#'37SV+.-2'F_1)^'ZEOIe-$*_At45FC8@:k*S]Sja1/%HMB.IKaUg\rr*iZ$./iW+F!Bd'=$)$*GA7I`Db>;86u22<,Qbb@T"$a'#i&^d?B6e/c]gnrH`9?2C0P)77U,)a]U5&.1rk\K8NNR#(n]UWLT$(Y7c2^r,',ia)so4Nn:[gLs6&T=3aFc.5mk.\$$o%3VKYnQOaqda=Y;845;dW4&.qb&dKq:f&e5po<Ga@mU13FK_soN)%aaT4KQ,e*Qor"Y(fArQ7^mE#BHmZf<)e&nmg\#.`4eZZY!rBL<F_X*5C!Xq>d!!3T7O:Yk$WGK&rOD!rda;b`L%?r:[eXc%k+u'2^R.phJjOgZM@(!6f]E5VZ;e\leoII#nR83<JRL3*k#I=g?4hF>s#L0L0gckut+WXFpY@+51?c%$]Q>!SBE;@B,&:DsIe#hATbkdlISn8\u$"=\L1>HRqOW>FP`smHV-@B#XKm%VO5YjXJdYROg)n)oKLs'es]a>Bq()G'%K7qW(HAcmN'u1O#U&[N]7hD1u#omD@@iNA'f<AB"S>27U5l3k3J_N?gGfDJoA:(*-fD5IVDK0PQLVJ^7!ldQ;hY!R^:qhU4QAD@AL!`5[6dPUda8YkRMS)2a^bC]).VC`8q?45!):g7)0l`.YIk0rTK)G:t31P@HT_\$S,7.l?\c7DGs#0f.eNRIacCKa%9L8p9jOe<.`&e?tfoMG3>_"s57!^=d5RK+/)<fl?CruP5Hmjmt8ckWU'U4Mb1+N4TKPI3N3Eo3VRQ[KEk*_et>Sl_qZ2scZR".Zr<)7p\r()Ct65UFC7KmKI?G\AJQ*AjX@[m_mR?`%J_Gue^f*Uf@[3K@>7Xa=.DHJ9"Ne!u'f4cd<*q0hpWBEbqaH)nU<i2_]EOKJF?'6@4-DO#PWL,S*e`7E!/ulIFoSIgQRZsVB0ENGlH7/VOnRXJ>maWbl)q"Fse!a2r)ITZ!kch?B^7$_$6VG$.,Iksm[tLFiW32[PohO%YZmiIZ1lA;=Yls3V3EuOOFtXXhZijT*2fX"!ca?5E[8<@f'EmrnB7?k;(`Rh<G)3$P-t[\6YklcciedUZ41;Uk.)\qK<@'s%l+c=Ls3P%ApMQ1Q:dk*AdpDqrG7&c>4$A,(8Uj_d<hpf\i/J`,I5<S1"Fco7Be]dFma>OI9eaJg"l)[PB<n0<SN'j=^IL+=[2391^)TIN;mDFQX\X(EOaFZDHu=DY9ms"uVg9A#.(k8$qXgaq*YVp?1r9bI(=Fgf"4XLb3RTP%-,H_+<%42Sbl'aW<f>:@kJ(IhEaQZD%3RK4?`SqH:jN5`4#piK9pK;1Y!M)"95O<=cP'@\l^*!DMi2rcFYnunaK)^`6,+Nhq^n>:qe$aHWTqD?SKT7<knGpBoo@e1H2"mFaOQ,o.5@CBY)h08M,IQi;q']($Y$*F',])*G?_$mf0OHDBA`%22E"h"5rWRmH;I;@LNa'?gmo5'6L:7RUJo/^9AoL=aa]!$bYGLsB8d3X'O$=R&L+&oZm\jU5*!H6`F9RpX:ab]/4_S#c!T&qRMjXH5@fc]obr7iE#:VYT?rlG03cHsVS.V5Kj<kmY6qAa>MsbR*:U![Q60HA>FYUN=cR,MrkjgSaVXW9Zb>eXe4sB7<#&Bg^\VRI%W!T!)9(W=j*]kjoL:15:522^So:kgIKY8,#D_)u&Kn+s3C[.>,X,bCLncTXlV?0fIa,(+9/5W`&@Rc,\-V9oLhS;mZ'/FD_=.@()2+/m@"1Ip4LU`uK@-+cIT+-ZU_0H\@N2"JP>bn$@H9T:Fpu/I<#W+.^/uq1JRp4d'Gi;A'Sq,`D_ShY:^GUr996=Y*8IWDI157,_*VX37"(aU/4N6/5@LufB'^/F)A??m:I0fS5Y5%@aNsN<>806YFs"&4JKo\=Xo^>^BAua*W_eb\BCA:n[^CFt5'!\(?#aT/`IksU$tQ:I.(Tu20:nbZ+C/OL%?m,RUo`sN\_5_+?W]oOI#p7VkID]%T\OcV7/Zc'?F+Ok22klrq!gd`":UTr7?OSI<&PtM;1<\R-'+Gj]H,GDrRn9q&BeS&/U4.:1Oof.FkQ?ULXga-ilg?t36CQD/)og&Oh!jT[(.h*-o(?<'&fh9J@-ad)UH'!QrKZNR'%.KQW&du^6*>O[L#>DJdR`U7$A>ip6Rg%G$pA]C9]f-S+#t'0`E\.=Z#S?mPUXY4L"X5^'q*g/'YIE>ig(>"L@]#p9%3N;Mn)JKW0jC]MS[GP8N>b&ro?SGh"j2+%dDPUruJ_jnh0H:/7Y,$Nc+$<#W1(ljW<M+t!grfuX@[email protected]!SX]mT\$%r;P$0UqO,GU@Ntn#52_[h=V8CL[UNl<3P<q!>R5Rd,AomrI6NEh2eWt2+U*iu/;h[Ea=5*eMbeq*UrCM1;l,38Y2nShleUtX32s3SD@H\nk\ANIikTm=$+AX/o'7KT?^GXA0bb:G?%(AaZqe)=LRumXRpT*I5!)Em$<b=P88rEp.gd5pt(^V0!/u'WN5\\@$SVD.;.CWdV^rA[`Bn`e<WC+7lf#CkV$p_QT3<Y'"Ss<0A2Y<ON;n$n*DQuT=d0'jHZAdLg66Ef$3Ghfh:bh,Jqn8)f:>dl%p&A"S).5M+UpMi4Up!l.G=mo[GPWnikVWMRgT-S>^*72/N%"^OM0pCi/&CNMH4X?tU=(6\KX&_K1qcU4r!g40K@[&W&)*,r;tWJdlI*3WFNuAP`lj#deI<)g!#)%m^5COQD],5+U=`@P4aks)%h(ZL*-pl&N(LUnSr$Au;ji[dH"3C%q0Fq6C`-N!V$N>/;FQ1X_,p+sbsk"?M2[s[f:t+`7>nL*G9JRZf_sgFM-<hZ^,R=lH]LeqrO4Q<:(In<ZbM;4LYTSgpm?4ZPsI8j[1^I(hd*qgTaXf5F+?4a'?>&8Zq!_2@^Je'dh>AU=]q2nr66<tT.F7mkaK'fgBKk\M]AX1GmlfCd!8BQ'i26Cg/M.!i5qdZm7LWJ`m!<5T=0^.`($bEGjYa@nr^iA&9H7$W)^6uX?Wajd<#k=s#GA.UX\Uj#D^E)`aU]GP=lciI\KmCkKoZ-VUVE8)[PWOq?abd:BB<:be[+CWr$Nl6N%"TQ^kmF.?"sDiX=dg&@\H%:sl>2qc)!NleE*1E4%DHA??>sAs[<-L]>BpaULQJW5emK:iR4\]Z6V@a.@=)Nqp#3Ra.+"n[dP#WLh23gdT"D]E[mU4.?Y`LHRqhJ.'Clo*m*I68UGr`g(Qt<^'kgj*C+H*^eUaV^kV(X>ENrd.61%9Gc<EAaBt7:u*e(n**]qnEO%]7Va9gYcjVM,NLQ;EeC\CejWNFXR16uIdA.KQU#qP_0V?-#;N?S%\.bP]s9TT[^JY"i]`b,RJrE8<$Q&W?EUBBi4kd6e,#R^QY:"(S\cM17D.BHr@`WP5p"(2)':5&rSL,Pm%?+U9#48daDbbc\Xj_CNoZ]eRu7i%q3QhUmi#BTe44+>Gu(N3^fR3[0lR$n3jN1FoNtl\Og^Ln5,cW*bn4a7W6<;[e_+7YqYBk;d`.9uk>]6Uq!2i'*37##^?$VNCHLDlgD"0B^_HUK1X5VLq(QbuQD9(sc+#D'K1tX_6nQgT5RQW$5c4Y+EK*0*LHnFDZiVuU.r:P]*YJc6MoUq9cXR9"Ak;mtV66@Dh#<dNh3!nd7`!flUca:,o'rf,-[f/B*q-ur_%.MDJGr3Seo$JQAUS.GOPD8k_W4'__:[t)?#<R'5uJfX@Zmf!MV?lHl?SAbjBHH?j=\.LGfTE'`f1dk4;*m!0"XZT$[@Q2'pnH0Xo]ZqO#Ni>cf0'bHTa;@\>TmZ8[=0JT4(.4g]eme7B,7Dd_h(&A,edbP3S2nW/.Y-AgIE:e3'pMKJP)U^ib%s8QlW:)jSnka0GNiRoE<easN<p/h=BE;'r>T?-V&3YGY'Kn!W67]Qe3##i>I;J\Wj,e29"&f#nekr-9uZ)m4<9nUG9P]mj`VF/*<">94%_(a%9:h%phnCVs7/!?&e\SHFijmPpVA<a0uG]*uBU;!O7,kjI@%JEo%(3#Y/CFaXb#^bCM:R9<eKXk[E;LGr&#W7K(A06s8tl#oV0^Z6q+4*?Sc7Pc7F^H1$!@NgZ>,D/2;7&j].3C'6L&g!N7!+l.6-Ug3g<"&i-jNJ+[cFnmP_0'<_9#IPt\fX;Sf8-'?SO\eJ/T8/m,l-nDP&"_jWqAYR*Mk$:"A2Z%C(I&1W>k150FVkA#mW'!BAd%.J+0UHgjGI`;At/QK,TT>rB&oZ?HRI;q#.?(IB$<i&ZF>VH%r""1u.h`.PJY`=*9i,OGkrDpLT^e/D%uISk:Fc9N3g5(Is:a'*hd3?+!MaD%,caV'(!L*1\*Y>7>+,TF_'E=LYas?_<YEDTD6M/_NT@+$!41AtMT0)]S<KYe)kRm=MhG\ss6C6"6(a6HgR7j0\`318c!FK*'HVo1Y,'l]qM\ciBme.DE6W8#TP_a?54&mV_u@K1G>?-hE&?O5-9=@Sk3q`7s?i4-SMu)%dFjm.?&)HL`XAgB;ns2a=f`1eND4kIN,W5'W$(@RMT/ZIMS4WBtu0hDHD\pV!2hNT%;9g1JYE#$432ku&JCY\uON`co^f0Gu(]nl:+SX>[sD!fgpkm!SlgJ[OuRn`T7L_:Bpc[goflPU2C]KMu-'hPmlp@XF5+=.$/a/RHZ2<)(R@9`nqh^`qqc,XPf(/:nPHk+=J69*^9-LHj>qN492+52A7=:"Jgo0!Tlm/05r;"5dL=3.9XF;VG2DIR-"rM^@AZC+nb/20NX=Ok-*^SC,:UjL97E]L?_\XAW-.I'/4Ooc4Xl,U<4"p)lUCb<bF^3m>0jNK'fP&:a_HoO),.P?FLib,i0#0W^),KM-.uKIAKi;+&it[,`$<Pnn(BQTj#$(Phj%NPc/crFV5C^M+%MeZKY<J=:&pFNtQ7ab-2,`>#j6o4FAc^n="o"^+MhI1ZF'9[T-/<FYda!LlX[9V)BHPJp0apZW**WZ\?7EGK2\,DY4YaQc]bZB(AHH0&-3ZQ)K7e33A@qf?$ll%aoP_LtH+e"`=$%5B0">!!.X^!][T*I*?,-Q1_iAh=lSI$CQ8WrfrB:J@dIM)BKd,EV0Bq"LL[8,0l#+/(h<K(1lu&Fh;#=?$W6^dhK+YlpA2/sYI\bJQk.nFBLS6!>%J>n[Z]N0U9I^/WX+^"DqPPe-1h]QT#f>MPK;+<O?32bY^#LA,?SjD@K!#L4_R7+GHInB>ig4dmh.K+K#/0LiDb>NVJ5TYQ:1SK@>0P/91"bQZnCgNnKDA7E`HoE`9X2?C9Z5@X]i*F2blEJPOCAp92b[$nWe=ZMc.df$6jbG[!QnN!;Fik.9l4<FK%l"%]S`BWpu(QRG/s2:(!!%8V0PE*8cFVs%__P0Ejl6$tbAJSVhh42>IUZT=>bthDoOn,WB@oo*)?%@&n7bt*pdbi2;kQ0Oq2@!Z:q,Oj9oN8V<9G@Vd9T+1r5&:3

4. Most of the blocks: PWtVBnyNUobEI
Serialized: 4466 byte.

>lXkT!5#?5z!!"GJI/hGW5pqjQp)_+"P\oHo2f2);SU^^mP@p+Q+ZP:^I5,c*f1_m@bE^-ePjIQ4[fn$MjsV%!YHt[c<gIf#dEE=UA&+pq;B5!,4#LgHVp&M,Yu&@.\d<1Q:]@=m0K@!M`mMHgTs1F!AYRa6d/,aX:^NK:FJr4>-jB_BablE=N4TWl`V/8gJKV6o:*j`7$-n[5bLm%:]2A;#@)S"fbqVX;IcDJTN<V<:E&i%M7U60]dAG4iCC.8mqV5qX17X\logU_@PMGZ<(Jg)Iib5JK\`F)o\O%bBKI\t>IBn7=p@Y3?qM,[]cZe,U6#dkD];>@PC`j]@E&#\DF\dG"18rLs'FWsf!)DduN4>l@.,mt2kYgd*g=CIoaeRokSL&T<CB&g"APo37/ao2<K9HFX!_J20rF:.s2uOrjTHE9h9\Z1VHb5<H%(Cb^h1J(#[!E@@"U$)>5\)3/R?MAk>n-7e`T=g'll!?c&/c4tg@i&*+;iYmi-6]$&dZ8*>!Erei-C1+DY)K'a+a6@J@_p$TT@>f(B_e@Yjm\?r(TJ5Xf%4t%r!Ee]?9nQ/P<`7I&%U4gq#4[lkPAQbej?C;S@=F]_fke8nUR^CcWWX<W/d<K4Qlb<X-pZM?nY/WreSF=qRZC#t!m1k/'`e!79H,BX>tZ6enW,2mg'W4#`q^E/>.@!D`dXj,mmQg9=g`5%@%hSAT2h//Z-4[:'To6JU&ir!\r7Z-Q'[hL0_g/?,PsN%?0oqZ_th7:_om^!.!q&HL0Z\pPg_%"jr2fD*o_KQ/%@*nFUWZ9e[Z*%J7$*M:]4kNijJS-O5'b8`QJfjd6PYt/.<"\SODS9mY.RFfdQW7N`'F?)2-!emXR3Iq6u=2i>Q\Jr?BVOR.WPmXhInDno#?#W'e*TL[%CTpiPqMm#W5h<]+*hW/Jdo_\WIa$N1jY+X;aI/B+:?3fn871pVdgH62NK["V%t:6`]$F9/fNXX]/ntr/5#['p=ZIB-meA3/DALjM"g!G9h>FdfX72<$Fo;^"WU22\ldNC?6C'8niD6$e7X\Gr!Tt]Fa%!:&;5Z+&[+&k"+ZWds0\AM2NT4&GMQW'Q.s3&6NQnP#]c%H]q29C,nOcts#q2`$m.*+\l4lG3SaL_m.r&<>D_$,UZlr'G&sFBnRR]NF]k_:.A9p%'e!7D7aCg)u3k[*f"DiB%e^@H#2CQ68=cX?^N<`uJ7X00B'c]Ki$0*(-drf*RkU*FVa_jgm]HPn8aYo'Pk^d>P)<g(63a#a:=I<JoJfs#<6LglI1GQ2;d.WO4>E)]hp=LE:^QMfC/%?104k-DT#0&$[WO?X;BS9smeJ#kYdPjHAXsHAkSp*Xh#5Mu'&b3:=T9oToff6Sj,'d4jJhE1dP#6Vk]/SVf&!@n$0#jU>8ZjO>EK0OCSn`=9b0e8lQk/<T[A<(_1!U!J-eln+nm]oXL&eMd;X(nVe$7q]GjtV4ro0"qEgnOhE'D,tB_=D,KMKP2+=GX/:\8s[<DmOB<4@,]9"?thYa^@C,=\h560Ts@Au$K^/WENQ[0k3uA6?)PM^Y.;+hfXRj<fk%1RsXb[3NZf@pak0HCJO4k$&GnA:T%Mkj2X^.g%]8iW55:<u\JYW\$#+7-dG3_1%Q1`c0dTk@q@scCS!,dP6$\N)"VLoQU-`9T(`Yg]U^Vq&@AaH9Qh_T0[0p-Q%qdW0nM(R\j+O^-&VaiQ.&O&[?^or0TNRWk(:E`'YUaXtYfnMOQF/Ion2b%FNZ[C:ZS1A<qPIJI!QfMQFI;$^]A6m(CO1TK\9+qUgQcd>gF3Z/bU1k-/1c:au3qkh['9CGD;j7eEU6(2`HSL+n]AL+m4&nD=sccN&sd&34cK)Y*<K!J+cr_;5f))g9:+o+]]X7Mjm#lL]"`FsaaFTm&6kod\kuAA>goZ()132Ju!'NH$)FN/D_%au%rg1cA"*=Hf=4N::C-W)Ogla)X%,/V`ADhUM<KE(%(iX++Bp>V'_?)"egSJn!We>sfEk[JCqJ6#kfkgLm`]Xl,+bK8Og`CE,T!I7GTo9TT?*VE\=)Nb],30TUn%Fp>N1CM-hk_BIM(103PFVWTtgq)fb5iSOk)Sk:9Ko]I$2R+Z:X+b.q/q$Gk(@JR6.EJ5,K/"Uk*'Z'%Z[4,tln/pp=cU3j\a'+p[o5jN^%/H:pfZbs#M]/M0#^Db6qlD@45>V)bn$9\qE.^gh:ke)-ma0T*m@rSr4#j%4'u<99iD72Y1Cg2Nm)Kd)==UPF[2jJ)fW-i#jILW"DrjU9=F9iI:1q86DFmBp@ZlW<iEU<Y&O+o.5fm<4e[[jNTJb5Q2N6o7R7Q%IZ14`u)<1\l%B-<_Wp-.2!BHb9THIU_cN`ZnB;JMS52N.)L9G?uZfHb`7XNM4+9X:8f%n.9[t<:YnGLUiIbie6DcW,6M^p^DWMoK-Q9c>Sf>,<MOH-A%H?"=XWEN,'et"[email protected]&(T1nDEITfY+E$j6As?nE9^k_\`C9ko>9cf@63\EuXk@!9TRs*NIe#>8[Xb1FA,5ZXTmrF-KR*G3^qfsI<&@YZMh;&lIPLXlaIc6_CTFo[etQ4]eJ\sECqK9o6c'(Zo=L7\+mRF74c9D(u6V.9sPdEZ@q.*7U[Sr)7LS._4No\`8Hp)tL!qT%E6/Cc"eK7K3/Ch9n+V+H>fIuq'gFi4#g=ESuF49U"&5M4]Z*VT(&?t;EQq:sqN[t.tfY6BeAK"+Ct`O^9mkU-7,;M^Yi0&4o7Nt\teKR-*AJ8kN<e2t.rbA/cq4rhM6$;lV`n>,LbTe,bhWm5tBh[Y!j2GY<a5e19Y_^TPgB)k;R4VLn93L!9IQeu2V(`"s7"se>oX(dap(E$Qa5T]l7gOZKeIk8j8pQW2%CGslEL>u:NH=WVB^>l.\anm-u06:*afJWT6h'p+&F)4M:;#htC&]j4YG?/bIba]%cqqrf@"0-9A0IY"OPinp-EktUI;1u\M\'-'VoB(RjT-sn'd-SnhTLNdW-`XrB061'ZrOlQt5M(h05^`F<9a-+4rI,Ke17)icW4ZmIL08A/p65)P^cYc2e0lhR"f3!CEnEWr8o71*MD?.PJrWh"H_=J=H<o=NK*n.5(jmSD:sl6kKSa)^$a?"k8cu0gX;@+^*ubZp]Med>dnq)Yf6H'qe6g"^0%c6PKg/XgYbMWN'gYWe="7&2@iH<`l3qdsmYi>DG$-cHq#>;`Ff&bNN%a0^_V_72DOIpX7`@ce^Bt]r0mlmHm2]AMWHQ=P-@h`B.>p1@*]&Q#+d@_UpVT"PP^9$-5KLbfW\-?<;_&IScAjB_[r9B##AF)KZ^_&AMS(aR,Wp<=(980*2s#WKq5i<Qo+UYmA'd[FACXi&22+bWK,Vh5\2Lcc"J6I8Nff4[rVUcN3GLPFIX7AJ["QGS22+:R#>N;M<YI?GF1G,dVL5A$B4-Jb$X63V80s@Jc&U[0FNQD^ADSUY;<`dV@H=dFb@0f91"[!0Ai_@fa)tLX?@WPLo5i#)"[8?-[bQXi7'UJWp(>OngXJ-V07_YtR"s_ofEDt(kRsi8]8<MM[cP1PY&^^4+m`EIX*&Ge54+VKjI?en;@PD79_<)Z,Y`t`?C,![PN!BiMZ+q(?n#A:5k>4_T>gb1lG#Bs(Ya,-kK?\LME=DV&l.cIUtTfm#P@p>=ToF9d[QcFT9i=W"%2)"^_i7A>a6dG$4-\/0K-V%/>Vr:J.S97]E"dDSL<>GX@%j?+5?9V(BeOK9sWeC&jWbk-Q@5X=A>JXAgqHr&Ekr^R:]'XEk$es?e%bCZdqi2KBa"@M@]19fo[3\>(AERNY3:^I.*FFXNF.4jn'apl@JhMKF+K1PPUJ!?t!$,XbLik46*?#a#Q*$G'Z?hUg%fr^CR,*-?1VCL=qEKfB6KZ=\.C^%"G8p<$<.(T7hU4,Y9<!,^/V$.3(eIEIjOf6NKg=g:VNqhc1+=p.cc&,[P2?XIH3*4<(p+#]^<DN@*ckNgCAD8c[CI48PF:kXUEX/\r&A2hsk_8k?i<)tcla0)2\57W&D=P+<T3Rc970l,(BF"8,#s`rT;PVBCo^Dpurb6g`t0"A[b3T*-_!Lcb5lcH!$H5Qu#=Xu0N&Z'["58.oan/pl_gXp@rDIA>e]F9mcWD=%LMV?aq!F[J^anT\67RSi'k>q'l/ZS1HRO+VP@$lOh/6-+sNXj^n:URht/lEHGp5BpE$O9gD3W$LOLog35sG@?O-[>3nNjo,VdA$Om1qIs-4=pu>hXE19KqDUOjo(_/h91&r(J@fSZ=EgOqB>B.HkIr'dnuFLh\U6jl>&5Z2k[7kS]+#0ua:(_D?:,5\lbl[Oc\TPpTdF*laKMkbqI1_%B5I#]9+1=tf=QBNm@PpCE9#S"`ZcBhcsDIi3h+HG)#'HY'_G,q"j\7*+Y:$AV2L>DB(Mn^Gu@@E&ber8aeEe(S:"r&C#hR9T6D]mUM%K@bo+B\b2dj:FR5iWD8C'E'"s#1C/ep7:?8mQ

Encode / decode takes about 1 second.


I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.

Offline

Wooted by:

#40 2017-11-19 17:44:06

Tomahawk
Forum Mod
From: UK
Joined: 2015-02-18
Posts: 2,822

Re: [Challenge] World string

^ Ah, optimisation for empty worlds. Now we're getting somewhere. How about the other worlds; is your encoding still block-by-block, compressed?

~Pls ppl, put your strings in spoilers. Scrolling through this thread is a marathon.


One bot to rule them all, one bot to find them. One bot to bring them all... and with this cliché blind them.

Offline

#41 2017-11-19 17:48:54

Slabdrill
Formerly 12345678908642
From: canada
Joined: 2015-08-15
Posts: 3,402
Website

Re: [Challenge] World string

I'd say O(n) is too strict, O(n log n) is probably a better standard


suddenly random sig change

Offline

#42 2017-11-19 17:53:52, last edited by LukeM (2017-11-19 17:56:03)

LukeM
Member
From: England
Joined: 2016-06-03
Posts: 3,009
Website

Re: [Challenge] World string

Tomahawk wrote:

~Pls ppl, put your strings in spoilers. Scrolling through this thread is a marathon.

For some reason it didnt let me do this, it said the spoiler was missing an end tag when I put it in... I guess Ill try putting it in a code tag in a spoiler tag maybe?
edit: yep that worked

And oops, for me it shows each as a single line with a horizontal scroll bar...

Offline

#43 2019-01-14 02:59:53

SirJosh3917
Formerly ninjasupeatsninja
From: USA
Joined: 2015-04-05
Posts: 2,095

Re: [Challenge] World string

i don't really have anything revolutionary in terms of current sizes, but this is base64'd binary that's just a serialized DatabaseObject, so this method would be much more useful and versatile than the current contesters here.
the idea is based off of atilla's world's PropertyEnumable class

Results

Offline

#44 2019-01-14 07:02:27

MWstudios
Member
From: World 4-2
Joined: 2018-04-06
Posts: 1,331

Re: [Challenge] World string

Tomahawk wrote:

1. The string must contain no whitespace - no spaces, no tabs, no newlines; just black on white with nothing in between

What if you want to store number 32 in bytes?


Time before becoming a Member - Leaderboard
1. Whirl - 9 months
2. KirbyKareem - 8 months
3. pwnzor - 2.4 months
4. MWstudios - 2 months
5. ILikeTofuuJoe - 1.5 months
giphy.gif Piskel is the best GIF maker I've seen
HG's signature for me - Anatoly's signature for me
The Mashed Potatoes Song - The longest post on EE forums - Play my Minesweeper

Offline

#45 2019-01-14 22:09:08

daneeko
Member
From: EE Universe
Joined: 2015-02-20
Posts: 2,245

Re: [Challenge] World string

now are you gonna make it possible for the bot to use the string to rebuild the world again


UzI5nBc.png

Offline

#46 2019-01-15 18:19:08

Tomahawk
Forum Mod
From: UK
Joined: 2015-02-18
Posts: 2,822

Re: [Challenge] World string

MWstudios wrote:

What if you want to store number 32 in bytes?

Hint: you don't have to store data using the ASCII values of the characters in the world string.

Have a look at base encoding. In Base64 (for instance), g = 32.


One bot to rule them all, one bot to find them. One bot to bring them all... and with this cliché blind them.

Offline

Tomahawk1547572748738826

Board footer

Powered by FluxBB

[ Started around 1711618131.964 - Generated in 1.163 seconds, 12 queries executed - Memory usage: 2.34 MiB (Peak: 3.17 MiB) ]