BLENDER_v236REND 81SRdb8 Wq8 SRscreen( 4e8 |e8 li8 i8 m8 T8 DATA( X' DATA' X$( ( DATA$( Xc8 ' DATAc8 Xc8 $( DATAc8 Xd8 c8 DATAd8 X\d8 c8 DATA\d8 Xd8 d8 DATAd8 Xd8 \d8 DATAd8 X4e8 d8 xDATA4e8 Xd8 xDATA|e8 Ye8 ' $( DATAe8 Y f8 |e8 ( c8 DATA f8 YTf8 e8 ( c8 DATATf8 Yf8 f8 c8 d8 DATAf8 Yf8 Tf8 c8 d8 DATAf8 Y,g8 f8 ' \d8 DATA,g8 Ytg8 f8 $( d8 DATAtg8 Yg8 ,g8 \d8 d8 DATAg8 Yh8 tg8 c8 d8 DATAh8 YLh8 g8 d8 d8 DATALh8 Yh8 h8 \d8 4e8 DATAh8 Yh8 Lh8 d8 4e8 DATAh8 Y$i8 h8 d8 4e8 DATA$i8 Yli8 h8 d8 d8 DATAli8 Y$i8 c8 \d8 DATAi8 [k8 ( c8 d8 c8 dj8 j8 DATAj8 I333?DdCIzաDdCC(BDC??DATAk8 [l8 i8 \d8 ' $( d8   dDATAl8 [m8 k8 c8 \d8 4e8 d8 | m==o?bbbc)3ttDATAtD333?????????| m==o?p=Ae=ɶW ?r?R?a i+r=ڞz?JN?wP>Of?~Q??j)L?{;j0NNN?p>??dC?PyPQN=kF@ @>3?`ƹȓU=#e?_bq\@lI@f@?@/? S@4?  B?=Cb>*UFSS DATA|8 H8 4}8 333?lz8 zC̽̌?zC@!! #< #<`jFzD OBzC̽̌?DATA8 d8 |8 333?lz8 zCCHBCbb?CFC= ADATAd8 Il8 8 333?lz8 DdCDv@CC(BDC??DATAl8 Q|8 d8 333?lz8 SELECT IMAGE&(ZZ&4\leaves.tgagd:\Armagan\Blender\Lsystem\extures\@ JDATAT|8 Kl8 333?lz8 nSave FileFILED:\Armagan\Blender\Lsystem\ew Folder\ew Folder\p\blends\draw_buttons.blend\Tels46packed.blend4.blenddlendgs13.blendnRiDATA8 [|8 lz8 $t8 s8 t8 t8 6?sh?AHMggg h 8 8 DATA8 D<8 333?8 !z?p*<*H>{I>0sDz? H;?z?{I>N*Az0<?嵐>??ĝ?<]=-eI*Hb>v{?Dz?PG?K<{I>0sDz? H;?k2?75㕡x@4?  B?=CGq@l>S   DATA<8 LT8 8 333?8 0AAH\rA-kKBh A@CC #<@h48 8 DATA,48 n8 MAffA8@ DATA,8 n8 48 TEffA?@ DATA,8 nT8 8 TEA=@ DATA,T8 n8 8 OBX¤p=A@ DATA,8 n8 T8 OBp¤p=A+@ DATA,8 nt8 8 MEp|AN@ DATA,t8 nԍ8 8 OBX`Ad(@ DATA,ԍ8 n48 t8 MEXAu@ DATA,48 n8 ԍ8 OBpHA%@ DATA,8 n8 48 MEpALr@ DATA,8 nT8 8 OB¤p=At@ DATA,T8 n8 8 MEA<[@ DATA,8 n8 T8 OB`A? DATA,8 nt8 8 ME|AK@ DATA,t8 nԐ8 8 OB¤p=A@ DATA,8 nt8 8 MEA|@ DATA,t8 nԜ8 8 OBأ@4? DATA,Ԝ8 n48 t8 OB@q=  @ DATA,48 n8 Ԝ8 OB@ "@ DATA,8 n8 48 ME|Al@ DATA,8 nT8 8 OBp=A@ DATA,T8 n8 8 ME@|At@ DATA,8 n8 T8 OB@p=A@ DATA,8 nt8 8 MEA|@ DATA,t8 nԟ8 8 OBp=A@ DATA,ԟ8 n48 t8 ME|A@ DATA,48 n8 ԟ8 OB@`A@ DATA,8 n8 48 ME|A@ DATA,8 nT8 8 OBp=A @ DATA,T8 n8 8 OB@p=A<2@ DATA,8 n8 T8 ME@AoDATA8 H 8 T8 333?8 zC̽̌?zC@!! #< #<`jFzD OBzC̽̌?DATA 8 ܩ8 8 333?8 zCCHBCbb?CFC= ADATAܩ8 I8 8 333?8 DdCDv@CC(BDC??DATA8 Q8 ܩ8 333?8 SELECT IMAGE&(^^&$bark01.jpga.jpgd:\Armagan\dxengine\VertexShader\s\TA JDATAT8 K8 333?8 oSave FileRYD:\Armagan\Blender\Lsystem\hader\Blender\Buildings1.blend\Object\raw_buttons.bls46packed.blendchd39.blendgs39.blenddgs37.blendendendSi>ADATA|8 [8 tr8 $t8 lt8 Ls8 ?n@ JL}| }O8 8 1 <0 l8 ,8 DATAl8 ZD8 Link and MaterialsEditing>DATAD8 Z8 l8 MeshEditingF>DATA8 Z8 D8 CameraEditingF>DATA8 Z̳8 8 Texture faceEditing>DATA̳8 Z8 8 UV CalculationEditing>8 DATA8 Z|8 ̳8 Mesh ToolsEditing>DATA|8 ZT8 8 Mesh Tools 1Editing>DATAT8 Z,8 |8 OutputRender>DATA,8 Z8 T8 RenderRenderF>DATA8 Zܸ8 ,8 AnimRender>DATAܸ8 Z8 8 FormatRender>DATA8 Z8 ܸ8 Anim settingsObject>DATA8 Zd8 8 DrawObjectF>DATAd8 Z<8 8 HooksObjectF>8 DATA<8 Z8 d8 ConstraintsObject>DATA8 Z8 <8 EffectsObject<8 DATA8 Zľ8 8 Particle InteractionObject><8 DATAľ8 Z8 8 PreviewMaterial>DATA8 Zt8 ľ8 MaterialMaterialF>DATAt8 ZL8 8 RampsMaterialF>8 DATAL8 Z$8 t8 ShadersMaterial>DATA$8 Z8 L8 Mirror TranspMaterial>L8 DATA8 Z8 $8 TextureMaterial>DATA8 Z8 8 Map InputMaterial>8 DATA8 Z8 8 Map ToMaterial>8 DATA8 Z\8 8 PreviewWorld>DATA\8 Z48 8 WorldWorldF>DATA48 Z 8 \8 Mist / Stars / PhysicsWorld>DATA 8 Z8 48 Amb OccWorld>48 DATA8 Z8 8 Texture and InputWorld>DATA8 Z8 8 Map ToWorld>8 DATA8 Zl8 8 ScriptlinksScript>DATAl8 ZD8 8 PreviewLamp>DATAD8 Z8 l8 LampLampF>DATA8 Z8 D8 Shadow and SpotLamp>DATA8 Z8 8 Texture and InputLamp>DATA8 Z8 8 Map ToLamp>8 DATA8 Z|8 8 PreviewTexture>DATA|8 ZT8 8 TextureTextureF>DATAT8 Z,8 |8 Radio RenderRadio>DATA,8 ZT8 Radio ToolRadioF>DATA8 I 8 333?|8 DhCDhCC(BDC??}|@ DATA 8 M8 8 333?|8 DDX=@?>%?u: ?LDATA8 D<8 8 333?|8 r?i+NN?R?p=j z?yP>e=ɶW ?r?R?a i+r=ڞz?JN?wP>Of?~Q??S?\j0NNN @f?m???{@PyPI7!=dF@ @ /?cx@?hN3wo<*=2#bq\@lI@f@?@/? S@4?  B?=Cb>*UF J J DATAp<8 O8 8 333?|8 $: T8 1>oDATA8 H8 <8 333?|8 zC̽̌?zC@!! #< #<`jFzD OBzC̽̌?DATA8 8 8 333?|8 zCCHBCbb?CFC= ADATA8 Q8 8 333?|8 SELECT IMAGE&(ZZ&4\leaves.tgagd:\Armagan\Blender\Lsystem\extures\VB JDATAT8 K8 333?|8 SAVE FILED:\Armagan\Blender\Lsystem\New Folder\New Folder\p\blends\draw_buttons.blend\Tels30.blend4.blenddlendgs13.blendn9SRd\8 Wq8 SRscreen.0028 8 T8 8 d8 |8 T8 DATA8 X<8 DATA<8 X8 8 DATA8 X8 <8 DATA8 X8 8 DATA8 X\8 8 DATA\8 X8 8 DATA8 X8 \8 DATA8 X48 8 DATA48 X|8 8 DATA|8 X8 48 DATA8 X 8 |8 `DATA 8 X8 `DATAT8 Y8 <8 8 DATA8 Y8 T8 8 8 DATA8 Y,8 8 8 8 DATA,8 Yt8 8 8 \8 DATAt8 Y8 ,8 8 \8 DATA8 Y8 t8 <8 8 DATA8 YL8 8 8 8 DATAL8 Y8 8 8 8 DATA8 Y8 L8 8 48 DATA8 Y$8 8 8 48 DATA$8 Yl8 8 8 |8 DATAl8 Y8 $8 \8 |8 DATA8 Y8 l8 48 |8 DATA8 YD8 8 48 8 DATAD8 Y8 8 |8 8 DATA8 Y8 D8 8 8 DATA8 Y8 8 8 8 DATA8 Y8 8 8 DATAd8 [\8 8 8 \8 8 dT8 T8 DATAT8 I333?DdCIzաDdCC(BDC??DATA\8 [L8 d8 8 <8 8 8   dDATAL8 [8 \8 8 48 |8 \8 8=i>o?d<8 \8 DATA<8 J8 333?zCAzCA A@FB= A DATA8 D\8 <8 333?????????8=i>o?fffAD&@??fffA4?  B? #<CDATAT\8 K8 333?SAVE FILE/pics/blender/rt1.blendkDATA8 [|8 L8 8 8 8 |8 8=H>o?UUUd8 8 DATA8 J8 333?zCAzCA1||1 A@FB= A DATA8 D8 8 333?????????8=H>o?fffA*@??fffA4?  B? #<C>>DATAT8 K8 333?SAVE FILE/pics/blender/rt1.blendkDATA|8 [8 48 8 8 8 8=>o?OOOPdl8 8 DATAl8 H8 333?B̽̌?B̽̌? #< #<`jFzD SQB̽̌?DATA8 D8 l8 333?????????8=>o?fffA@??fffA4?  B? #<CzzDATAT8 K8 333?SAVE FILE/pics/blender/rt1.blendkSCT8 BSC14? : $8 $ 9 9 b$>Rʽ'i At 9 fdd??< d?? _@@???///render///#DATA$8 <t8  7 @ DATAt8 <8 $8 .6 "@ DATA8 <9 t8 .6@ DATA9 <d9 8 .6@ DATAd9 <9 9 .6@ DATA9 <9 d9 .6@ DATA9 <T9 9   @ DATAT9 <9 9  <2@ DATA9 <9 T9  .@ DATA9 <D9 9  @ DATAD9 <9 9  +@ DATA9 <9 D9  d(@ DATA9 <49 9  %@ DATA49 <9 9  t@ DATA9 <9 49  ? DATA9 <$9 9  >AA>>AAAAAAAAAAAAAAA!!1!!$!!1>-''''->8;333;8AA>>AAAAAAAAAAAAAAAAA"!1AQaq"2BRr#b3CS4$!1AQaq"2BRbrѢ#3$ ?T&k0J_Ă;ܘנ A-CZַupjO_dGLg )ndۺX[+⿩Eՙ[ZΩ61ӳ[{h ëֽK3.;L[@VToFr^Jz)qXcLM+."m D̬ gj릶g-Ur>җoO*ׄըpA{' 3.6bM^Ÿ]fn-It7qc:k_P0RP{%3-: Y8);re7-HmVp% آ_"]cOs+r)uH譥)U*Ĉby [BUj٧䤤ٗl"+]M6Fi*76Ȱbr -W~L)~ [ώt N׎1|oӋvWv٨/N5452ڐuZBDJZܬBoƖjR1'uIFu3k!LRͰ6 'UiПm 6=[ԇ~{[5؈dJ-lBiUn3 nVh5Xc*ŸPwY.H(,x52ҪPo;MF䱸%& ~xR8D혓/&/zx{Ike5N(W 2y6ɴDκD-"22uS+S}][Zn,>;ݞcw*+n䭤kكۭf<{덬d)O9~oy]]{SLO,ۆY=Kq޺z?#Y;?淛R2碭o/^ڻi_yJStlW>~^MَK_KxK|דo˭MzoĬqocjUU2|6M9FG͹##N3 C~nYpWts^ȺpiU0)Ó^'ܗ6-Vz2YBM67,F]߶ˣ足CsWꋯv73-eU/iLE_SK֛GC^10ۋZδN:ZvO{BK"#܎6\$־{LD 9$'QYN{;%ReB{g 2 Cf>_NbZ WƱ񜓖}'˞ieҠ"uQUrkVVjO\vilok#+ivګUUt,RQee/^NT-ge>6e|*rVl ,ɼCLFҖ%FZD/Zr,QDUЊqլ᧌ӭ+pU^,zeto1(R 'R+U_ԓ6ĽɄWdwQ+u*fυ܊BM?Rpw)8JoKY}JbdX/Z*ՒKszx56;8y :{j}-mn=|Z_|}\a+Nv-zG];:/"[Q)+u `DPRԻxQ]o9)qq=uc뺗R!`ԸKu޷ժf>] q767yE]n/*&,:</חkdgmg:3m-雷r;Z[׎J[)^+ZVv]p/wttѿMGuK3JrUJ<=+mr}'7oLXןrE /kml RUe I$Mw~U+_{5NZt.Wy)1m b65jB%` ]ODYl) zjorW[.sxk|zm"óRKIZ"-GkjiXuv<[WB4H4ESZEqS+{wfwE;Ӭۆ666!|ohZ-> QSN/¬IܽylZ[>lIx?!OLB9ыڷqɥ#Vq7 bύ-=wuWW_6ty|s'IƎTaxOCSɬƈni˳n-?uvhtiLX䫫iᭋiY޿]5jz.t-¾zunLOZ/겗RI~_ {ٯĥn͘};}TkG5,3ldӊt\Qfާ|e8qx95$ >nuBgAv9UɵSj.5oNuF%D@8s5 Vэ,zHF6:mTG5wI͹[*Ѧ MjVʖ9 5̨Tn$B*]TaU˧ԋ%бP)؈ܤj{%ԡuO5-ĭ6ZRoDYD QR$Mrk맩"UZʩu4e{qv8RSԝTޏA e- GGWFY<|4޾ }kU:`We_IL1NT/YS&cCάCQi%J/[4Mv]~担$סlDt鷖M:M? y-kvR8Oū<]he顩288sx|ͷ~mvղZ4];Y+Sk9QZGmN;`-ISNz[D^,V-HOL0!9CO8%]X 6!8oܣZe|j8eCucp,Dr߱B͞5nݞɗWIsԗvn$ŮdSrqKkÓ9MH^^F>SN>'l跶IM-{v'NT"k-{m݀d%e vK}Jm9-_5zJ!iq&2 ߩx@(el$D'F(Z'M26t!Bk&)߮EUOjϩe ઔdCYu%W^Q._EԳ[u'nQE /]s3#5Nju:{wLJܔ}QM\fz !f.j=iC&&pOuP8rr낎Coi,+>k;\+R]*_Z*}%l!JFl8{VmBIhI'dEpx錙U7^||[P<׮>W ƱTz_ϖ"ַ)K-KU.t۫\ݖO.Sqm҈&}ʰ-{c$jۘԙzA7%~>!ljUj`ϟsIjO彫5].'Uw=y)CS&˥fN>Kw]u'^~?5?Pwqe5y5tEl:7o]羮^J>;lFewz2y-kbv$qgS2n3f.{>;Φ ^Ot͸*ʡgv<~93pm4X祻_RuKR4$:[jwbLI<|+7-oYGv靮ժv"V]Fw˟'653Er֫lVܿK>䖓uq#rOF69I3&qӻ FuVJ%x#o*MuQݨ\|s\Yn6׵׮h]sv^u6^u@pYN*3tS& n\[O.rS,O4vUSi"'&`KƸ!4X IV{-P[Rn"Zm {:k\ZDG4kC.Y}=ZW-u {k}Z9.o:$i$ߛרf_~5g #k$fk=2ħd~.>lI0 r@Y/37_[ާD"RM3 )nMD Rqz ?sKе)hе]Y/PKo܁zƐ*h2B/"_,S1}`ֳڤ}o7/p\(t$U5:oq\VR:lF=C-'*$e  K鄎v*˕D9EN2ݛ}5sTtjҸUtsŴJ~X:=Sk>uHjZKKlH?$ZpoW(s=p.dݭ0OVyKW3j&IѽWIEfRʭCcBKm *7f EgZ[Eir>~;'XuIYNkMB2&ek){zGj 0͡GW^N徰s䝞ƙn<+UTs7rզ[#YTqvU'z3O{\~UpBܛk..p˧8Sk Z*j]ZsygL7kpsWS3OY|+6Ny ˎYo;ZGU[&g5SGmnzrq믿fzF)LUx\<.mml~^ZqWyV\6IrrcI6jWIS]u][>3wzMߡN%ݿQXө2{O׻\4RpY 7瞘JpY^2Gi\V1͓7flۋR՝5xꝪnjjr\&~745>$H,[Qڏ(nt,eJM21a/EZe? rz>_;qq)jrwGVVOڶxJ%RI}Z=]7nQ,gZL=v<#su*r]̽ч72㫳mU,L*~v5dNf"l ԿS,jJre{ʅXVFsciZhӎym'g}uF@Jo=u:^-#U[Tr嗣͝aMWWRQS$_C{!<{~Gjj.:4:NV*{w4RΩi*''})7#敦&cs=#_;|vp~G_TֵE^*kR#U/8xmoqzk+rvt&|%>R5QGgLe׏ykv'' $Ou6o&ܼ~=.iFK]3J!oOѪ%;uTz*_W֩fkl ){Vjnwy*W~8ˇ=&i,wyuJG^.:Redrvν1f{W71 R-e\F}' e;z,{r<8 e^&i|ʾ*x3et_>O&;4`kf43_zs\\V0WhZ/y/Ayϓxӡ|"0-9kKg(&mKtak,9izU-fPL(VNI+VM%T!&p KeWeiK:W/˶b2wv-D$/fI۫<z*9\9@GdGlu!-5fVM6Cӫ)ģRtep"#G Ǫ{i:ojf1) ujZ_NV@CuVaj3BsPUgګ"tUtZ B܇|()Kv6ӣA r]2䚦!+@# ]K,5%+nmKU-* (i<&vsQI `"0{(dD|KeWJ:"0kZa\Tse%Ӈ'm_ƹ!<yzY{;[ħ5+gFԣJj̼o!5CKCZ͵Rc:^fUijkD/1j98eT֬8Vw֘Xm^po]%*{mœ5Ĝm5(pozr pVklTIKpI-GSe^L5ڹ8^k_cWMw9{urr Rη\/cfF{3 ׻t/dgWqȪvk9SJ*>_S]cӻN4)Io8%Btov6m\}[#J?#X՚|[p<w_m3~'jjp_v\kJuѪpm}Ӈ]=wT&5ܟ[fOZq{vɎo4}2׳zM} V5 -]'鶫ŗ 7_;m;_5e|ߖ\]toq|>' E&G%me1I+`LI-ϭzN;"8yn/C-ĭ,,B[}8x4&q\5XܒE3WC3%?:\žɟۻ'j;_yM;8ZsHpFnZ?|]SUDiț,{vUxȪٻl3]s-Cte+qԢj [] oĢnL7-$n" Um2*Ze~^W?V74Dי%D~u0'Adgبdux-zt!NA{WjR* %[OŸrZD `5V5.*Ыoil'"~03Mӎ_z_k+,xO拥*lCvݛ2q o/]g)4h9ZgB.^J4'ZcM44WjhխY׎P@ӗK`{ꑂo|[x' \56Z8y;pX@%PCŵy8_<Ӈ߻mrk孞iһl>7K4\+r#m4j\c^+$rtYĘ\|yi_YFG=J\ijYfW-OVSFU^糗v77&oj=/^ktֱ6z?MK}lvP1nµ-jjs_GpryZW/?jjG=yxg뜞O ruS7\uW}5q~K^Xo0EenU}?nlg,{hx59vawǹVd5寕fvޤ@kзoVBpiKrYVoAVc֨n*;ѣ roq~UǏUJz^+m@EDkL%ymU&D~vkesۉ;C>|vƅU1 N>+.^z|Lon;EM!krURtї>ՕHɂ:ߌYK2̚{3}ԷiYkZfҭ`YQ!2]_=9;O)?Cݑܺb泍}R[Ԣn4e\K%ǤDe肄Zʩ8] jtV:]EÆdZ%8igYKLq%Z"Tv-Օj=XMD3I7%9Ήz52vU` ۺ׻3v'r^gl78rQq>pɞ5ԝT7/#E4ԍ\nBk^ۢ%LfKv}H?Wt= (IKՔ-fY"Lܧ*2^Êl?Z/6H{N:Z6+N:1PްqE|yZzp8^D3YᲕm}Ucurևw7R~g^:NMqdc~Jמusy>;zc.>~N&7>[^ky}/' 4BUcԯ\s%.ӭz@M%[f6צY4~?#rXOU_⟭ ]eJ4ګEF~p˕7 3o+\}ꭱ?-Vvn[yk=5gߑ:q5Vkh]ds۝vf^5U^Re_'L?}'~+yԥifvqJRr{Z̿vIBP\M8l^6VŴzvnk؈FrMzz3{evUR2<\/ݩdeym8|N֯kzuzׇf{{txZߏ,,תzỴt'8GSVYM~|*bOO)XE^Yj+%-XYyӦ%o^:&W5:89{[ci8\M䯓WfTie {w%s䣯WxUq ƻrUIR=تWLRKfѧ=h;w7 3}Ҹrk5ikĒo]SIj[Y+y>(A- ߀S{TJQ%IVkBmRó9_0}zm:{isET4]IseF i)9LQS U3ų2Vdmz9]gEi4Ev=!Y鎬Hw%;.vD…osEU돑g^u"7 IT:>`6SVHwn{^ކU.:(^rBEU˘r͞|~N(_sJMVN+w=7y'MWк9~WY/zzZRJu՗& %&jmMY]y^s7~k>-ߑgtM8K>7*4\w^vx-W3z|__'%ϵQW頳žsOz߷8_gm;x?]eeG7v꽏FY&e_'glO7Ɣ}M]3޼?#׍MSge&u=No-&pR:lf%okZ^ӋƷ,][]g$u_Zyj]sN~N)J,S;qx)fˬޮ~~ETާ\_+5oq!k]|q<|6tm~y~?%uR~gyzN r6ݞ)ZW2mĜgm?򹼶Y -.(j*Ko:\΢@q0"WFJrԙ4P ӎT-dxZP<ӏ-ڭ.c^<ƌ?/G[^Av% ߕ:Ez>]NddElGk^~V/p;<5/G3צmfb nZc>x_?L@ UYCg5:?ǾM$/Ǯ#>}?#<[gsc._-Jꌫ~+M\3u/Tס[S˿'ʽS}]<~3}ݢ;$V4hը*Kr$ۦ1VޏB7~m{6`SOy|^wZ=|/:<պuUukjW`Xm%eǛO枉r>=k'yG/%pgcԣdI=It;0\oE#[W43y/]YUvV[ؑ9_㽽|}["ɝ5Q哜FQ]e? (.fT' v\O%ϓ+N>gL:_\v>dᲾ'W_e;6K3^'ǟep?e~lڪvz%/yN)~rwy-'Uڪq/Nv?$x/(O {3_\VhOGmZ)S{ۢr),%[G/kQavHv϶ӧb;ɥ| &:N^>o>QZ=: CsXm>L8|ק*K+Xgۋk/_|W@^O9˓y}ҡ uG/FVKa ,gCZdjTyІU@ry wc~1Dafq2k{S5yJ;x])mCV:8OUvtJ:MZ` 8y;hN-^_ũ}d+nuY<SLiq~cp@AA:|>^Xm9&ͥ-Yr/7\3x]5m%PBI|L( @QCw CMIjOHGn+^2i37/w.^?)؜k5ٮ$鿛UX~_mQ_:]iI/%|{;q&&+f?kx^쳳&n}tNWSZ忁f&p??t 326\iuz<*q/u~6i5^mǓ8fFl^ ӓ5ڢmng^ҦvÓ\ΒuX_znNe7S|j%~/o'C{s^n>^/izkƽ_+]q8j7/\[-,j+Ҿw:ի{d~DW>̙zޗuCaGJ(%9NJvӃfN[~&Xu2X1l-Y)d3؟QB !3LRl2!@"?F@oyQ2KczmעAPǞŷx+Nt3a[ ;N5ђ25R+"X[oGm-[Zs[7GMvwBjYh"϶G\ʸghQ&Z&J{rP_=+bddzdweDPufBӏ_Ж[=}sWr۝NC;n:or'=O_5{ Vokunq"%d#"[LI ~ JL]$8#R oDEܳnB0%{>j{VjyoY],|guϧG <n'Uz$YwUbq(k"_K׮^++\[V2sW-/:7]e9lYLKwg,s^I=5oKsٟo^Y'0)?{כM?l&3RSݧ5g5M7 Aikf%yOz+w7|r[iWҩ'8rF1+8x$W6U<[qk;GS,_&Q39z˭h|.\/]O 'wtj_wlǟi4=x}@EZ)U^Kȷ%xV7M8۬܁˟PpL͖zz(9oXnJLʳ,kԮz:B2U!D`HC$CNm"'Mi@&%]M|gG@ƄrJjDQ NWĨ$56?7ܿh\azhMkۺ }8x%F`&Zd$+~52lsxסw#Sl_Eku{m:NN[] %)gpk?:&iw1= ԝ3v\-Ϛgioy^IX.ER|= P^ l`SDIV7VKYL (Pr)GF\'[[UYC&_;clGO Veo')KҷQdr-ӃiM[I~+rV\91n~ŧ寧ݡ%TBv;zWe2m篭5nRq~o_[:9my]Ǣy^+wHyz"ݴcʻѻ:9- U~ɧ<+qFGڪvgyzgM_gE ~M/ewȔG_>4,N>Z:~4Ĺۏlz:J>&ܞ/ }Q?lgXi~1期~-×|m}I8[3+ێݶPĎN[r]/)-噿O,O,[tqyΟ8x/ipo'JVUj(Hra'Iay7u8m)Z^ rN./pv[J-uVPԯS/J\kFpXegǤs~6ݟM.|w&=죒пHwOc2uzom׻Sŗv[^ĺ. x}o7N%c^峷#zNekmTxvoQqolc͓Ut{sWOuf.ͷrʒey]hJm.:xNKlV)I79n.n]M:+Jӫ8ynkO8{]͛o_no<9_?s[`5q$T9*GN>-3<I;YZq_ζkܜ{7f?߯7bxG;SGH9&n-[؞U_κy4AٚD.-ܽxmܲj{z8l|N>NN.*[7-eI6֬ߕ^nUcQ{Uߏ8~ڣ՚pqg3UN:UFmXKL/77ܲ\MenWwwE[=998g=%>HHxK&onⶻR?Ɍ%\m~NND)JZU{XfԘ|_y$0-@/ce0V~(h&L' huD~UkЖIc%ZK]IҳOV+$>hIИQ-gmLi+;Iϩ[M(f"eկ1U2]em]lu*n}2vcrv>,痁kwYԃ7(u"pYfJNʪUzo mVz>2n猝jIfvi-Yrv&S*#_m1~׭ΚH3?%\y8%{{[77^f51}>^=n._'Ov\Zp)V[eZUM--_Gmov?NEgi,U%$د7UWY_Sz#^]7Vq믗÷gPm%/ emYmy_s_K:gWƗv)&TlΔR(Ey)G^4䓚o{y'_ś:=NW)G'fEn_ț׬l~GM/NES淃Ofu`%xtӦYyk]Q֯ vkty>O/'ӣ>JrW=Q.zI-^Œro-]6 jQĭt13(ɭ^rG+=I` EЙoB5K$F==|H]4$Y(Q&Dzy4{.;H$$# }>%!C!%4y _DB,*Z>ro_2w@4--.rC2mq|ܜwRv`ZhR HD+6Juh,2P ҞB,Zg$Uūni9+[uOjNv%9̇yem-GOv{7U[Y7C/!]k~JܳI5,8TZ(ٴT} Iv6C= xtsCsn9>$W嗥rKq-&lwFfyͶο7l֕g97Z@m^?F͢cҲ--^{8?NO=vrێi*uLp^uţL_9;\5=N w^5_غ8skU|jqCZU;5#ì=*s7_do_w14׷|>G䬯~mV5z_u"G&sLM4ז;cে'k˥%l֏(MJ[x漓i:o?4$5Fw닁PW>%YBGAOuz{)Ò5 /F&dypMĿ؂2FW3WvثmZ%s1;EYtΑvQk;_KnC{Ne'ЖEOBEOS"f[l% ,K=S1q#镀ҀUkDq_-_%UƵy~f:i]HⵝYP` 9|ҵ+xH%uۋi!~[B*O' oŬqd}}}3;Y{˅)ωkm|UvgΕ_zht&ͽۭoӴAxo̹|>9K뷦/5m6 -my_ۗV>w%mחȧ>~\Ӌgc^U:YheW|Z{%c} VӥowMy'ӶoxB BeM__S̈́O.:ؙDVT^}̑iɹ![NcMKF7O&:hr؃D%tеbs8ҕ}ވEIkMr ZTYb`ɓ"BoR%tu=G̈p3^^+Vs;|Ph3=^53|7i }?i_skҫFO{"cYiN UNU[aWX:μkCZqyjm*ۡF\KƗԿS2{Q0ƜIv%m-9HݝHoapdӏxs~BXPƵ=UjDuPo򪿵fLLvGwwwr*qW<o{Y eTOGw^8ZϖkW3^~g=5˳U/'#ilV/CO+Q~:9t-cWa9mo"!oqko528hիod[pDFs%ro;ȒMu:֯xc~/%fwl"Y:鶷]eBuX:SVI-x$876x Kyk!rZ=&Z̾q$vO{g^jɩrri4k0}1-4e7抉 k H!>k g?*[Qu9ǰ^.܇gÅ5{QY٨}04uWm-- uOfPoeg F^L4iU.cGiO_؎]Lko2mN5D[,SLtg'lL=HKݻ,]DN}"j~D6ԳrAt2ҫ1M qLkumUKp77R~Kxt__|Yo}YaCIPTY8 H@5swC?I5TMMwfruNTI!7r:4Zܓ9֔WMN]֭ޜtھ%+'GM8]lOI~Muw]V؝识6ϡ M'Wo]@ɿ&: 'إ6%׹{5-jʷ8 8y!ԄօU|3'_[k}?ԅvPzM~6kZJ_~N"l9} >N)܊%5u9,R:sw)%qK]JKFJTYԆGKӡjVUw^^4nt 5,DJVU\FFwDdDY$&$|զ5AlƎժ8]N^_&qǧߒrMW{腛o.HН2&Q=Ȭu'PSхv=MjԺO|h_qJs2v  KʹhV;sswOFLΏ@N o^e_o`GoZ>K/c任rqU閿c3o}O@i/EȸMΪU*}Kz׉BU6㮾?)O뾫ܹ"]Ӿ/?ƚ%QrVѼFu_ٽ׶@iIҞ/ht{we) \u[^~_ơ}8]s6vYЖ Hȏ*1Ր!=kl]$M1vd!{[b,U-ip]6hZcg!/M-I|Z&OLݚ_ݝm'@T܂SP ]7^z~*\3GyUv>w-q_ Z3w[*@Tرۏ'6MCZL?58\}DZ ='oRbSA .}(lDW*=Iio"}gCZ<Zz",W ELJkdjf`47)X2(ZxNGMilsֽSR}Q mOnվ%ڊQjެLIlkZ7J[۪"kj`ahq #ﻶdkrͻ_sނ3aJi/R$Ʌ[-iN(* Jw(%,B P!mZG~.;r[|_Dtpx]cduV75qiUZtPmF@ϺSop^Tͽ{rgk;=^YM5Zk}Zq}|ܜ/ M9lk-Rǹ4w饾Om-ARvA)40OSZUᘛK1F|VNml[z~u*WD~r˘CSe udeڣAOe*}d2$=4 qk>|wMbɬ$uev%q99y\Z2m^e98ǡm_ S{LDgZ5:%I(X@zZ֫ogȩ_W{wiX3nlݙ.} =$>&n9(:XJ8GK,iL_a5ɽnDD.Wxܽ%PÜ%t*g&~[ߠ䧍waS2u~ĻդH4ȠOS\  W5'kheXze#4ԭ_tu־і+oі/-eU,^WYG;.lUzmm`vHP4|Bx(3N]JJ^jplR~s}tqp ?s;mRٳsO̽-.6ڀk^= \٘"܋>[[Зl"jTcj܎'&DMj5r=z֚,~ub\ Z][+B)WWkY(&jMV*ӴtԐ ˚%Ck6சj/WW8ZJjV!UΫR~snki[An'8S;$@亳ZI5Xsl6R~ Q'!ҲUrff񡢴<r--݄uݚQKI|YY:(k3`I(@&; JΛRu&I#4ԆRo#A8s -FqGI}әye7v\JY$ŲwQRe^Q}[h˩:\lDK`oI&}6-*eB-ܑp [E!V乐Y%%̒/Y/v|JjJMDVl>9IWUs?Up5Ձ t}PB} VE}-YYmy)LW}Yk 4%qmM eXSZm@څk=\vOIDclc[^*=˄iVk6iJSS~/$}9,m-fvIoYL:^{4?%?RמpRz=$תez|uXq4ح8fۉKhfJWWLuOaQ)tFRtG5:A߃VdDxj)^*s5$'*AQhӠWi]p% ꂌ,U#5V0d3"b=WD2{rDg-I,*j=mU:0 3ѓk'$:=͞|p+35D[aΪ;'=DDMe-NDTY6&ZřkBɻJz7-}6KNSl_GOQ ^6H:H95޶x.['3>|RCBe$5"e0K_92G]42yere9N_xl %KJ95H(\"jy.vfkA>FQ] %rR*A)pCDB/E9HحW$&5qu_ru\@*)fY6vjjQ2N7"Y1n;Z`qU9؊73dPk g'SӲ3˵ FB9"fx `4rW/+fɬ,`ʬ'5v =Xv3wV9Q7nS酉z3qcjν Y#}dPD4 n=#r;T D0~վmTh+T[ߑdM&7dj\ D)dy&B WW4ժRxݦ{agzFetjfz50\vOsǹԴF|usԽj:aI$' bUwj5%:\iIh?J[`-=-Z$*z6㌥ˊ A؟W?*~e+UBOcє;{I*յk1 w+4NRkFbĿm_i\/oȨ]DYoDqoOQ؝mRKvKA˿QJ)]H.Ko s:U^NzR_v\ⱟt]u MGP"'hʗuV36-HS rۻ$ 9c6#I9gd;H"$/BSQj΄Zđ;2QD5KQ Л ]Ju;gQ lD2RD([*g=3\EJ3mF>!k(-m92F%"{sBljfAuWиI%ztrY„*է%M9)p_TL?pixBMd|MZL綹,FNYeE*;FdmHhrJ ׹OS4̗sfa|Ny,S:"VI'4GCQ)Z{OrYէ:x(С-\Yd_R5~,],k휲0J\pe54r$a5C\_x}d܋׺-v*"KMJJL:Д$iƭt䏪 tI.ס`BU-WYl @O}P9+: YGYn:7sFVS{'!v<o6)llh5M prZ!%^ԙ/E?NvbjjYh"r:~eˍγ3ɈǹOjE8w9R71sY~F-:}O (rBȿ㟺%׫+%QjlzR{mX$q/aEhYz?Bs;5u^f@1Mo=M2n\>K\D~x&PvRLȪDB(M!j ;c[dE̎G][xKULY{Du 'pi4+eFY'Uf[T,HI&#L+Wݱ^.ڽw%2tYՐb"eV %8Z=],~G#Wj]N~k+Y5JSZ WBkU+WǠp$(-0UBRvoz4qRS__Vӯ߰ؒBJ{T[[ 9l^5XzWjmIݺK#kQK!NʫVڢu{*`I(1oU~f,#@+n:J~ [A>C0,-&Cܟs,o#T %ԙЫm@ЫԈlllA\,,:! ȉt"IĐQ |[8 kZ&0`Bnw,u+n*+ UqV{~N 4' ZC1_/۪GMiZ蠐T  @̬ڽ9%Њ-(cC2u&-Q=DDCo na]J:UCz>$QK\ьq~I}ȘփDyο hԣWnWi=nZgneK;5%:*}j e$UZRL-elSo J͜#ss5Y7 O%辕Ҽ+S^*W(KV^_șU+JW)Kd 4/swZ4OcextS傀)H$JMO$0  J$ 3Ҍk#bN :=8˴ h5QYL^+6Ze I)!>ҹh/WT_}E  ,*Z2EV-ۊfۏЯTb=z = q:1+$!o=W5^QJ=^ H]d/ꏚf\O{~U0>Gv(+)Oh*]Mۻ2!5X!u |dp]̞V*մ4W?-_Sl/X+U3CV~ ؊ֺI:i:g܉zjBiBܧufhJN⍁GwwWtrѻ'S9Tƥ*Riȹo-Dӊ]ӎײ-wGDER* %-)ޡBx~x)֖V,!PV坻_~oO m-J;=QnY;uLVeH܆Ǚ!Σ(kƛœ%YUe5AzZ3/j,YQӕSԥTX(6~\WmVU~`Te]+ku!^VcRSoC5RKƈ%ǩoE>Ϲ3jYYzuȔz 2cS;痍t4"鵍I$YrZ= {g$_Q-X*ײ.3i }R3Dϡ5hcԫVLeBd׆2r‚r$nu$NWR,ZFs[_ɔV+[a^;'̿o}19dkzk\V-kPʄLj۶㊽)^K?Bnn+%QM1ֱ$(I ʴF||m{5سIHn#܊Rgέ -կd۷@3voس{(.OG/*h#C;&p 2&2WzɭĵlƛߎIڝKQ4]Qq –{dZiE?7lvЮH3Y_J3TIZ2!jJm9O|2lz06զFm@_(ʗ"խ3oi4gmswG>7BKۍ2ȿt5c*kJw/Q *VYnnsk] '-9f}?}+O<ԫm=#ǵVcԷdl"|Nз/$}S{hrrqƣ>5ưle:ԞO6P,%R1V2FZuz0+KU=rmZz4g3Vo)<\m|S'sxn 7ڶS_mj6E'B TGb$_aWZQRL3\PغSH,OE7n\zz 'ێtfmY8g@3ts&m:.cCza@'*Vpr],h N-L1\w\`Sm@.'gމոRp˧s\@# GezjE`n[tޤC ףIZJ+doQo_z< UW~#Bؒ)bHnWWphssO:>Dn}M_ qWI[] Rvj(Z#*rq:YIP%j\i%Ʒe2q(g9(\S7jgIo(5W kr](A/běB%Q,ELofz :Iϩ-dT%%%m~s %Tpx; [-jTiWώJz5Un긝Q o` 0B-U ¢j[WHd|[C xݮ̓ki\#jˮu(0Fg{j)?Z] <̪4ٝWs8zp=v:q+@Iv꫑]OkO29Gۯu/rI喴$ 4eG^K˝ h9񝚫t\ךu֛%= vk}6ʏEO#jim4|8鱃\֭,g~;$ ],WZKw[#jȲUbAY{߅Yf|N*Vk}֖a^:8W_PJ oE9-mT#,mnP%mH DdUe +ܲڎ'pZk ON2U+ة2&0L'\~oS=9eDhQ~?J7ʺqƅN[Je*k ɽuZͼ :$VɲJ,^51w}V@ezdw)!0SҙV7%}R-+>d{nZϱV؂QR t@OsVjއKuz=fv9r3RMzeBm:y;Fw5h=t!R}DtVSNyeV:Ơ*}uU&jp{EXPpB[=7JsJϵ5O,>k%~Rn֝u_ǡJӽ2M|JΊ6UQr؇N^m>PIKVgwdk\Q΃GUݎ^>dU[/C$9}_j0:*XK v8-nx:x診b\ v\YUK1/ri,IgŐHΈ!C@kB>@ κarZrtx򧡭-#pP )/mU , v#+`(O"2~bif*}- i r-~=(YAL(JԀ|IoJ- n^RVsilMS&digA@H'f,Mjzzc1QFk%ꢗj^Zo/ْܗk J.jBMD-5a K$A&{Q (9,C)[cNG^':QÖfX =59P×ЉI'?Wgޞ-jnmSދ;4+.ɿ8"ssWߓEb9yUnEVZcR]8RܽJyI\i4'sl6~J>ʨŖen6SJ)]U^ܥgeJ^mo-nGmiT2jеlQQUWUZ/Z^߶fuS{ʩUo"tqhprZ(5{{^Īo^r&PGYg"Na#U"}Ȍ;CDz  up'r$UV#|s"@u$~=QE>lLB@B$a!)\-Ӡ^-)ס(Џ\>6.&q\K,rAԫ{hة5"B,afې C'c"[+ 8 aI!p]_m̞diE>=׭/6ߨRLxkbdo[Ge[vn1CR F *0vv] %4λ;q)O/%V!IeRzvOR0BЗ OM{LC^;:4~=-1꿋k& JM4mW:FTeYe,*Ӥsj/?j]i'HYF܋SViCJ7iRgr4>z+}՟E-]N~ZKѦrtrOuv][㪧mv݁z&V茪/uo5ja"Pש!*0΂/^/c|lE3 z0 Aˀev esxϹ莣> SCJ;^#v2!u'%'K#VZpZFiZU\I`5 7 &ݧ$Ւt*dUybM^o5w쟡WhŚ- LeJy@ N"ӌ$`gf9kr/G6VѶ O9rfǍi%2կT]|}=/z׻]7e+/LG~ح~/ԡ.Bpݐs{me2V)I Qtzԛ9.TiBHO7w+mB{-]cM[r]6;NkN7uhlf UD%_ba}SzhD;jZi&/RY6Eg=HM9$N͠8OG%y 5ܜϣ0"swFu]We?ҕ"VsUXOrE읰xܞEmLFƬ_;INN;֏9n)bC^A^7XkX;o#]NzҷmۊCR#I3רpoejV}[[pn&q`sw(lg?=e^jg',2$rk5eu595 F`:7-nƓBqG dw(:y_9ĤqH4n[^ QcUvxз;|ټ(.B(=}Q>|Z`G9=dJ8ISwP8o K'-+["Fμq^4 L ^+ d˜ɂ %&mbݿ=eJ= 0ɛ,,j5X7m?䊯I%!\:%YY(RəK[9в)kR)-`/B;V?Ȟ-T3jLeV&6n3ڰdIs2 m*ܲ2$@,]1(P5Pc7sUYKP"kf$fثVENiR6o ~N;+ɇ'\JxwϹum -ƻVDc @.^9k0s܎cJZ0 d5(.^?XihJ:~ 7oOɔȵks|w;*ylsIkT*橝Eg^<%s6ۗloܻ5^k C^ VQe(VtzΊ۾y*ݸ퇗_Z܉ZҾϬ峪WZ'b[us#j4K+LE(^ٻvu]79۴qVCRjq޼&Y2:謫DRff%ᐪjZ`^%7OjV;Vf3Ό[і|F|y,M9/g&O'%L!V8l.s@hZ ZSD:&bQjeZllѬE~_Uu^FlI/C [ (ʝJVħZ:V*ɨ|9aiB6iLo!qO /xVv*B lTQ|}*ͩW4QԃZtddR^M Q/S*VuLbWĪvKJ::uݺ4f5u5;%˺4 zNj.֝YS$1jv N#_n. 0Z6fbyU6vU:ԲtPER]ͯbKzU yxvl5&`pvvۊ:N5FChy4fɔG^*—ŕkE[oR$i@Ȼze{ݯ:Ӈ&V;yuX/ ܫpeը9cmq'BO"XVrhQv% {]@zhM+gkWW^ͯ7mR|ٍ749yEMbYVpBJ%cNmSRfx}lLI% @:0v}sԵ\4zZFgkp 췍W.8`džÂ:^;(+J-7,jqZ2_GI10 J\i'̋>S"V_Bp{&IsvvUyX& Dƌ͋!VW}K)O,ә%(xr@k_#^])TK nMYtWc)Ŏ.W_2՝5ůҿ9~t#[.tӎ-٘-(>rDsYԾ {G9 k[,Vz2FĴE]ދq- {Iff>MOO&Ҝ=HO 6y.s׻ 8/ȟB^G:<̨󡿔ZB1+=lcN5U='SCT KPvhjߴ(OSjI{wYzUJM7fMWuB80pW2hX@NAޟ0 Ve {isLa&hǭwXk 7k;=^JuoO5s=Ik'uy\Yl/{2KWV mVmŞ#;գOܽ>?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG))4&4?((?G?5?GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"|!1AQ"2aqBR#3br4$CSs5 ?Q )pgyƦJ?`{\8ݗ6GS L|_erNZI/;wm^gWZӃ0[6oM[跶e `Rׂ0Q˾(Iyj}aY4lFh,*Z]+@ JUN4Hz2WenJ^+C;/wrψxX*m˵@rB?ڈ*>sYc Y;ki73MǗ>(VꛃߩM._9l\v|Z\ .ES+OJrq5J([;2fӈx.NzK6%QtiruF±N\aFC˫ݪPGϜZ#%Kܭuؔ IZ,tu ~u' kMQ5GW^~^ TLV$_"l]RZq׉a}5O|r %uǖUvm3zx|މ >j\-r܄|%m>7g\]n(G+$e8;=5UU' phll93XmȎ=~GQR\S=;> wSӌ_TOn{N? ~e-xCă0QGEяMu"F?OK2)bkH.pka_U .ȩu\v歭P%@aHAh_i.``vL֕2"MKmxtBm"N[сad,k*KZwwh#xz{c^3՛(.-=Z)@#{i$B,RmEjZ]68q^ůYz̕@ax3 O|k8K^reP 9jXr[+?Kx ,]O\ǗJP}dd4n?+{6?rk̳U+up3MQū<*()jFo'lY[^`v m,6m+ \DFݬɗÀ6t<TrVG^IM;l^s 'rؾQޫ/g >R6dkkKVYµ+U^iD鄴Z# vU VJKls,:bP"e&(sԴY)NOPZ#E¸ŽZK^vY=uofKE+[ 2-s,q4y-rvJ^V (ߵiȦ3Z~uRin5A@k?j3!cסEڿL;ܺ@R'9sgb[5фE8ke%CrQ\ ,eR~`u2` 2yqM@9sRtM5SZ(2ǽeu<]YgP%me9%fHDz>uK̹*iŰcIۯе%>/12ܬuͮzws.qO'rEQI.jpƊ`s])鮈''Ͳߺ.BHmɮV.'V.;o^!c'ZkdY1qq.dnG؇\@Ub|`lS(ؔwi&ދi ׵W%8NJ=em䦤s ݲG]_Glس]tX )G" ]FMj ϹqQ#*=:_|KFֺ-sR^OV;> rf=c85F oY>w#aJ{R2i߂-%%Ajp(Ǔ>USmɣ]Et~RAmUe߫R6K=XXYi/G]rօj[1mӣЮNCԚ4$D&+`&Spğ LWP'YfpW֪`.QGv>s`Hg5'G%+٧#qVg)Z8O^g|]8Z4M͋UBZ0jՁ"j>z#mtyگ?̖%|@qEjrfd[6e[(-$LW^ [6Rz(˓'oŲ۶y+[(IO9W7`V.$=IktZ3]x[]6J<-=V@6fM> vlGLy|KZ@Ln\Yt!SO_'4Y8MvK̾Z4CZQڹπLd9gE m[W&Il#5 jY6.4jBaB趵_\a)-@;TOMJ-K\آ@UyӧzקS@l8Ŵx2@I^ an5YuE =b`}([VҳaNm&߉ aLR6r2qU ُur5_&Rrz,_x(<Bw{?K}*2SZG)̺ɯBZR/v'dz Kƿڿ2PK3kO ӴucgYoxueIhzKN7.REF?&EJdɛIExwf?<zz/p%u`B=Q#^1ӎB {Ww>vo笗PP=i3 X]7=57.٤z<^2UeUa3JuXחWtXFBdlu.i-W# |kj2M?Ojs6d˓V*Ӹ,:E&|l L۞#՞@᭲-{4Sz0ޅ r߾R\йgQ9|DF|cF/zǂmS&mn0yvnf-`kyTq{*(Z'*˻xf35RF[-ܬh_GHm8Dʕ]> Y}wya$] cı)i>ʩ[-摧'tU~o^k4tz͹|ݳkRNTN\[pXV'ZzQ]fR Օ(PT{rװOr___%vcc'q-[-䗏Bu4׺K^ݜk a=Vqi}oMOߎKe-x#1+VZ6뗛|ѶlmHhKNE˞P8w8qqĦ_fDz9Yȱ|p384a);8t,gݒiS'w˝?n˟L|S)lnPJ1\;w+g2)A"pny>ӊǠMb9r)=moG q:recØ w/'f@cCBoУN'P_ f+VLXqi-hb1ZiqfNLg_nt+"4&^_bZ5ͶnÖV3r)KTfOG \ir<)dj?D k^wn dUMG<NI.v?àr 4F11Z՝@n1Χ>q+ۖ7'%~Ձa)l ح)Xԑ`/Yˈ_hӖݏ~ aƶF۷O=vKoj4Dçئ5.?3QRZIjl}iا枫 e#ǩ2HFׁ SSjw!cC=Sǩ͹Kg,?>%ӏ̵Ew>%E~]d⛊l 2$6߬ܢ:ʭ2SѠ.[ex-r$}tYk|,_0.fJƩϙDɞDevÞ]iW=JFZ2q:W?O8KL`FEʊ7TXlvl~2ɷл 6s\5(XJۏ*/ {^pgu#sTWִEǩӍWT-[fDa_r洉Vƪt{Mqkg.vCO8Jvp_ǰP9ZO"F#1גoĔTS<]ܻ~6 k\I$F}ĿpL%'2ʥ] W^D4zI07'[mG_"9[wWFˇc_-IEe3#q9j?vzv<ۉ^PcsR%1w{}]hz֐"ZNg7 Kd2R@=Ucl@t+w \"Rix.\271N\|{uyljRkU@ą2.a S؟<4vc'SԸvrD_Hmk")/gc̏e`9a9|Y\۽;nŎ[eڽ'| j%%џDd#5 dqr|Edj>W2GrTJ+E8l[2eZՁm[TeRq5^E\\u_kfq_Oo:b酎ei~ Yt{⼚3%GQ#ͫUȃ}JcKv)tZ4sF6[S)Ir"\*zj, +^h=`@UzeM?,6٨M8w^lcmTNפea+XT+]I >p֜ 읊e vkzz6À`Hj[:&vq?Wqh^ne*=.rk~_ZIjJJ=WP"lT4ϡg58/;E<~7(a=S}6Դ׎ ՓfLr.;OO)nߖmSɁMN*K=5]^%|=rvli",. 9e'& M}^ fP_V.[_F4ʞ,[v{ޚv@elS?`XpJ3jE|Ϟ}bmSm-@xipZW1%%iaW9:>,,=ݳO#wǴ2b 7;؈,wtat^r)ǪNR\ʵbWc"\vtq$h4ABr(S̀,.RKEfyWuZ2 ds}mx=X\Yhɯ& pd FJkTz0AvU6*[팔z8&xl8z|4mǫ;RKd)('''&s,܄$sgK.J8@VcJ M5ܓШ]ZHGmٱ˯XH-[Zr=Ɇ4|7%[X;3!c#ڎ0U=J7F >r7ϧ̡tCvyD8"( fřf\O:ǺTMN<Ǻ7֬&&'5\\H̤|N79dۇ ryR Dqb~,jT=ޓ5m]bIVZ2UwF|x?Sx=fڗ^vߛKԎ*I⌑aIqBE5%R.|o{U<ׇd|,8wi#Tqs#nWȳb׋/@١+\tf[13>*KCj^h{|ړ׋gw|ӇhʚisG.f@m˒*[J|89)nT$m*TNFߚRKԊՋf,zkx WiA7 )-bLVi>qЄwQ?f~=p+[ڴ\R_D⌜{|)%dcM- nz9$_3f\~:M>M,.%W}s n2,~M kvb>dQ˧krrxw% -eý-8vPh:oN'n fLka-̀mѪ.MuѦs.~[ʵW͗ybB;v}/zd$n=R'Wxdv.PNlۇ/j~~ҁe,S2'vZnx+'v*#emGfG 6]w-9!543a9RIq\t|&9}y SkϧRXwGV֬2'lzYFkzD݁ה~Y,(v^ nb)7KUO;+fG̕u? <\hcAB YӒ\$Blgm@oޗ?rly4Iq\mU~4W$Onr싖7q"RK_z׵?#WIoY3P:b8[ENտ-;Ӌ ^g)< ۝( SMTE7%B&ֽ$6?t @;g7l#l3wROV oYwG|Np[D9/g 8/\ZiA| {_z|q}데2M|ʮSRt 6g}ue$yƯ_7s^%ɾln;|c=Ro@ o~2< ~T픟=Y9!+ ݧ+خ|5_2rsnO;0(N'Z=?meW&tmV'W 62Əd[kt[d5=:E1)qEجEPT^7K&i&Yxr^:xWzf˥0U֢$GMisOuz:+N/lǗ6Df)Bs&J]MiF"_=v^*sח=\IRPL62?tvqVd;Tk@x\tRȥu8#z }NwIrcm-q?^=ua+*s؀ng:ȇwC8s3˖~^SldY%r#@_3ɶ@߬MWjWIM"Tz'6_"/ZY$Y+MWd'"niMrՁ͑V<,L]r]Y=FN IphE]Y(-һ8O' lv9{_i-Ϳo%vˣk@'zdb߂?t̍4"pjǔH f&׉1T}p hFn5mho*8Vڋ6}Y\+||0|90Ə}SKc7ח^\Tgӑ QM' [\8LyB&o$́8ꑼcqr#[QrɗtJyQ@6_da˹j;69AGjŠk_>}1r>CDzU:`c^FmޡDQ3f:U?D\6:|mNvh@y:k/zW#mYv>\YwQ-o#;8e% 6f[yc)^Y(*+H [5fɂ_x|Qqz> ,[*\]BW(YkCv'/Kэf4z2~ Qŷ}rDqdQ|˫!k\gTgI2/>(Kib\;Rhʪ K_&/902G{|Fv7칲ݱS ʏ6_!:sDzqν\snfM.rQ\.ĻqW6Z=| ~5^Q)(o@=v8'Ό~o"64נQS}xMlrw^!KgPꞠX z ̽Zx j`|qmˉiv[xIEj|/F\ywx*򣤗dc1>(k^`|Ӑ.ٛEYh%*8c?:s$LJOޒ_0=n~5is?@ϣߢP֏FImY?Oz}%ĽmK&GDuv/R]Z, \o;,e_s0Ғ@|i9V$zZ拭JwH&Lfmgś9'TvxYWgS '-z)wcDw^`uoOi(W#ݓt1ǫ%}ʰ*Q$p"֯U,Kʛ`O'\l]Zf-{t4'JMT' sG\<8e''c'˅ k@Yw Rex 듄' ;2KTzVsG)w+Rqѣ'fVZ-%ٸbKIq7c+UǛ>LhB< aߒKȰI.R^ j *@W)ŞRrz.dEEv? ]/~">ds>>de׉Cž-Iy_&_F8Is@Ŗ- N-5_}*sZ?);ŘV|Mk_9?j8t[kYNi<oʫTi~qdJbRdY /E.M%͒<|.i#ܤ~'}^##?v?"1nL$R̊%Ddi&q -zMz%g8[?$jBrVXܲQ_4;V\ȝb+H/S|$򯓎Ϛ{n]a@uSE5^7.cQY+*jMn~K?pfՍg8;*K=/+T2#mW/nq\[Gm}d$w_on4 }nBo-H쒂'{ylU6\K͓D.<dm\;ݔv)dP,`4D/֩XsӜ_&_ ȃ֨tfb[>F{"+x.UF`NEJk 듋枇Wyo@ # ܧ fIO?mlG\B  * $6ܷr\{OUB_žkDn2qє+ 듃c*Vx9ǵNkl|oKK_VOZkT9q*Zuǟ[só v:[⎿ծOw}̦ 4㩳cm0V늲)mp0wF+%Z| -ovǻ}ͻqr}|"e@/]b u=UQMuMQorՒk7;bߛG3f5M>Hwmܖш,|@;9?MNZ3@vc]zxoWF$nDTq_Sٰ,sG?2Ė nk˯p-X-YM[*`eDi*yWޗ2|bkU<\k]Z = XFUKi| 8{mԷz/n۳9imܹZ ֲBpNJ&iRUOբx'S7L8bXk^%oNdVQnO>O8@KOU+iY5vT82T= xO?>-yhϝKh]j^'۷*iiԻB* EpH 2]S4͆ ILIhORz ]ZdE;#AnE> Wc0,@ -цZz'pޕ죯6L픗Y3@mh{ȯդćZA[ţ떬>FEyuK)dAy%̮t$qK|nVy~dftcGT'JkZAU'告Mԍk"hܽ7cpׯ.5{U?ȕɵS\#lb\dU\@AauzrDň닺K|o7Dz|rG ƜW7ZS;fcdCqrVH2ݲQKZ' v֭%kqqZEJ%Zz54쓔|<k]r>$^{z.X)E"S|Ξ$h 4cG" rf9s?sTO_ϟ$ݾYs#L\ydثRzp]q*1Z${YM4$m3U׈gbş`(seWnprEzۧkr`Odo|*Z/CݛuYɜ)j-*NOtcٓ.֥=d܉jKH%tI--;I3̤|rzi>D:6-,FtggT>Ieei ,OU87 H^6$VOK'g} Q@Q9)qIOM91e*x\qQ\SF6D2`L0=oN,m;.cOnprʦ~}(WgtHy)E-S<zf\6 =]lyQG;#D'ÁjBN8'ԹOvw9>VO ;^NOHm3'<*#}_P+TlWY5 W%6cܵK b&mx% ܴM8:D^Q~O6)\#`R!Lge{VLGOx#I#JITC׬6MvֻQ#7yvKQo {j?s+xt, NˇIyGE$[͊]e*25j]8+=F.MEse.K TNK1}}j2W@6W\<\*e$Tp7}IͻuYrp@& jdg)jV27 WDYw|IB1g5pÒ\d*fjcgy3Ma`|/ێRIr&]n_ #8Ks]MƊrkk &oCoo +2EܕQZ0X£DmSmȗ%7[;(kduj=njY|mO^(=bǗ߷u[oq{W.q*GѮ7I>L%, @2 ;z5๑l,kRx.Y{%W?m#:>? +ӄCU$cج4{ uZur\kZ @`r͵SZ4Z\}kxvԤi%o"Xo ڌ#Y mJ)8AjUӦ]z25kVF_ި|.YwVɏW=|)Ȯ$o`Qǃ^;'p?JZs6||^Ǿ-ج""QpzIh͘:,> 4\ T]ଏ)#hiIhgrswAxӄ}Z2ٲU{s> ky/ݯԗT4ҁT7yEzBԚ|P0ދVdT!R $d8GSMB(% "R7L(ʮO œ8zXA.8s}v.-T<3 Ⱦ)=]Qd&Ͱ,?yn_'66mm}é'{ԻWRRrz.q1ѱ=OTz^?h流]&>[R"pu-`%!(Dz~[6ٛ˗>smS]Z4Z(^k[C&O5qkE=rE?綼ZxB?p.ֺ-9/k"0FɂkNuj|:t)jtؗ J$,K"PT'`5_th\ Opw${c m;NY@hɱT6|s9q,UZ7>(:q,ʗmkRWlVBm^%zZV@k:UcJQ7!wM9i55rOy[{/!w8V,)ͺP)Uyd<%Z#g?0#(λ'5E+xYqEdnp׵x"4[cmد&&wܥx}@<]#. j4~u?OC}e_֩GG} Fd{7oǏ^l_)#^vkk{fKӒz-eW|2N pe^6J+D@}UPs|TLQ|/k[^d֜Myğtyu@^4f^'8hMY|tS=ɮ>erڵ nA~em_bM@K]X>#lv=fܟ۳^-Z ^Ǚe>1'X@`϶xVÔ_x(-$L t_ کS(6,mp1Hc>=cno`qPդ} EQz :@8TJPiI.W7ܘbxsdIɶ`ߴK#I]dK RՅJ/S-**+E`w/L銲)|<(жWTsf˔G?^ݾzOҏz"wmد&l8X89q"sd{}I,xtVReґkMd1[ŕӔIeSӊcKNJ)qYQ=C<]AyڲeJ޲Dr,]mͻwJH`M+s+2v&.׉Uȩi'ƙ0 a_3xzD=+ 7J^?,xir\Ȯ%6ݺYr|+\6y*-$\0Q`jJOgdmM%SC~i)@ufZnjzǡ!n%yqKCCm7NwA(ўI:w%wGёǗlրh-[d4".]~D`AcnofXTF')?ASTeVm鯂"OvMNO<Չ,YG'<Sӊ0o&%TM>/,4^ɭw/,$.;E.=jdri }}jxq 727+v@I6njGnV/HHmJC/Z0<;0}sz$Dnu=gr? .9r@mqD>t._]Q?>)#ޱ4^M+@M԰1?T+VM')sdTC92DOn鱫\DvG|WEzi<!))$Ћ%\b鳇K1bѝx;'0pGx>`YjI4_Q:!d %'lwѩ '--T Uz=cdܨ\11ZGOqtk~hmu񠟆yͺk]QɗBPqDFڊYp9;&wnWdG oDՒ^H&zwK1;.  RdKvo^w; ?ZQL?TqTt~$NE{p||M͢}5V+w \\\x -9[4p s4Q.oxZ?'zT|~Ȁ[o0K^l:]Ik*Q.\tʅxFMm@@f2oW%'(zbMΘIqGAcUo$($D^^MʽxXHfȭԋi Yv 7kʸ!-tkwN8h? ƚXGiw>ӓ$qk햒]>-uՁ}([1z1MxUmk?W1. U&L)|eNM4}]tZ>om=t_] ƩKF=:|j9IqRc]@~Ş|q,.rk._"g-GŁ}j!=dpn %f#7V[_V_Ef猱)kAOzb ZMvi)bXh<>ҸÐce[JV˒^.Y%:ƞ4v.&`G*WQg^4\b_N@v'ڠJ-Z;wS?c׏.EǶ7A9>HeN+DdrpUETVe=`QkSuʷ.>7B}gŁ%\{" cFiq6ZH7S'%mD$wuj\pE,۲V5rɁ~썑R3c2$)y_ fnKV8GOlFe|q&^6õqNk}Ѣr6T)>|OYr\v<=#%d… pi:i$\ӕrK@7)85A:()I>%sq|P eFɶ/nÖU~͗E$#UǏmkDoTw Bl\Yn4d(x>tvA'ph6/r~$M5JAjġQT` 7 +D@QRZ>(b_4[l]Ź92ֻ0fF#Xh,[ZYtO]=?3fKߧ,8WrO )EqqdTGY2ʖk#ձ9L,E)bڬkT^iNTpnu;q_4CܮQ`Sx9[(p}".KFĖq|d OYq%|HSj(䠜#w;mZ%kUޑx2,WgtKM;~-NZSEif4~~.~eÄ;QGtȷ, + =BrQ6]v[K^ˁl@df g+uk|JCEo}N1I ? e)Ij㦄u٨t)G. @1Vs*ҧ4.)J ̰ntWw[M5дf9Jq5H 6_u/jfszmRR{%%RerZֹuF[*OkFN~|ܻՁz%5\9ݟ&|uG-cb, V+bR@|ŮhʮOL$|%*.: >n ܶis]MSqQ$ ӏiȪ.]:=F4fmv. ;nEwE.zk  0@U7{gϛ-d6SWzL}:-5Nug`}-nf,e7F_ -rW?;F iw&۟BXtWjO@8:!d_0=bW?iEMzuNTg-Z=/R&69iÊ`sc|{]_QVf_Ia^hsR|DK8!_3u/ٵ>_agǮ]ݺ )>G.v{V YezEtkPZdmW 5Cn̖-OK怾sjd ݾK*ww>Ѣ` i v==,c]դҒp[6*[=0:}8r?mZ_d{_SK) |m!{Hp"̐mɖvͰ#ʽS(z%̪hX[,)}߇CN#"o*[(7+.lXN.ع-K5 0]J8zHۜ*ZF] b>MTS k>gR^q}S .m>2ꎣMﶹ6z3.lN q9Mz\p5~c|TzŔL8_4I--h4G[:Zw-QmNK3=9 EjXdz]zi*YRʱ_b9IkoS"Dՠ4{MЮ F7 )G@}(nż$@kU2c>K宨ǶHol,ןޣle,F֭}=U_WQ+Dz 5xPQI|mmeq%NP'V%%=tD1M3M%(h eo&ɂ3lYUӽsD?"4q]2zmk^hۏC.h䮵yW%ZKKNF@{W=@*5Œۼ.ҔnRcK_.jn*Zp(:奉>jݒQ]Zt@r.pL>z^v)cG@$c^@qnǛ^ƖP(;fZ\%-w bPZ 1`3/ - mojwmQzREr5nګ^]egyΕUwoM>'F%FOy8C_h{%ʵF[cNoe?QǍ5.^֜:hĝ VsՋf+ַϟĹg& e6%G {tAWbK =9*qkF,W$jDON;AAi_p˦ÿ^1^6UX#ﹱk㮩 +[+7f{r$2=k2]ȩǓE3gvGŗ)T֫_9('' IA9> uyۭvy_xd*zq0mrR&0|*iwV.{vwW֒\is nMtǺrIݱSD%N'c{5VfV:2Yx.י`zĨ=!:' HC\tӉ$rO_鶊]3S;vyo֜U%(G^"J+ ZryW_MQ~u3}~I~ *(S\hJRȦeC YVv.\ۺ9?C Y<>:ĝJΠKVv< {=J֌ `-F<+vK[]pxHJo 5Vq+V*5@k=)rl~"㮋MN:qԫ&7ˬ"!9M'<?A52ӣ_pU*tmok)Sӊ`ao6l}K%[=HˎkȮ &@rǧN.>HKO1]KwxQzS}z~VeR`o5rg^.=ٶz.M2 )s`1!MJ5]~g.E`'%3=\i qrm?:7"sz wL{X2kt2U ;*7/8ίAwI= t2&ny6 3n5?Zr+=iy󊯝/ Z6\K|J +J)_oUflvIxrILm(_`/dP>S뒜yjS\&Er菞7d6,;k؏.l#\8lUI\7X2oDBSy 2qzhmʏcdSY*@\;cr_ԒLӵ_5z[j=%_8ss#N\aM'" +%9qnw{ɮKm,y_o(Y3NY2oXOfԡ\@dmKI_]sc%R+;#Ǻ_LpzEjMғۧIp! xV&L`DubbO.}S̙tף^ZQ@fEEtGm.sz$V6+E-F8K(Ğ_&5^@gC5×-Hbrd鶋]3S_ps& pg@/&8չurGϖd|" 8웲NO<uIsEr6ͫMVn+ŵxԻVMQ_/hǕvNsM:Dz)fbZqI'2a)73N-uE +[<;#e'lʚR2'Ma~a X,[U\[QdPJy^E`a*Ԟ1ꓶQ^F-턢6썝@םWJ"mTCP_"X*ײ\S; 㝌_8iiK~80mu?,$o˙ֺJwWJ$l=: ;qL&$浏 d˶ RÏ6EQJQ}u-yjflzFI:@0AUc~^_;c'al^Z]'vt{@m4D/֩lx_T&FHd\_Rً-_LSˉkid_$7)9E֛ctG =r#TeՐu:@aҬd}+>اЉm,ܷpF.DVGyžיcdxH YwOY5gɝy驧rČ_W.Il C\y#6ͮSj|?ﷵ%+uy`%s7UJFm,waey.uDj,W-E\̖%%JPV_g&sXhV6_QX ^րї[GbսkKvyUM쏺VV2Ԅ&69%s(ѵ<.6k:ljjjN=uJ:x'ז)2r,*RX}Q#'71JțknF n&NVɿtrȎ-ܗ́FUZѠhV>([(=S>po&ʽht$RM[\?VI=SzIu(U9SfdY..O~EZ37z$Fy' :X'_4uTF?>[6܊j6vD.ة."O}J7$DgdEϐǶmrњ %'Rz` =T>Ȍ: =npȚ$S?"0 c s2Gi7GK^ }E|OsRjD˄ }KToG5$1rp|5yߟɵ8fRD<>nNѺXĊ  r9M_*&8!G%/7K&d@Tg7F7:1='q`EJ+<*,V5xȳe{skwm#zqt|.('7ǪoMF$\\j?iEFskԓݳD~ D:LbO?ӣDLe-}4][> 㦫MO'v(}cZŲ)qLErɺvM-5"wgpOadFS)AS)/UZ?-ͽY]7Oa(Z?Pf1(@+K/YqM}5/n%r_Sb=Rf2^+kKY#u̪m¨̐2u%\VǕpSK je!u+Vܛzۊm-͓Duˡ7z+:%~r\$\jնӝNI/BǏ h5[^4ywwK]-8KKwI 0W1cU|hX&oG_O:Z\gV(Egj.k(<>d-J9fz@6SSj#5 |5v>?f\!?ۑl[mGChF!~bһWY~#oƥb=QBӜpSp슏=C0ecZy&Gq^''xhll#͚̦s ;8FU*[=[N ;#ͳI5ݬjؤ#tZ^DN/Geް\?QZH6Q.S\\ro2ܵ3zُC&kR5.D6ڬK0"ֶGwcd}>SzǻgQݳZ_3'[so@'Դ4[M^8׸wWT:/hڇ@v0 >1 kBoY?wowc"b:'dΧ}4ԍmܖ<"%wŅo?D\v٫cn]ZkǩLmOq0_ d֏]R +&Yr|/S͓#ʹB$Mbj솾R]D<'6LGmI踲еZ9q`J[# Ȧt7SԚ 焲jz/4x(<NwۮRLhɭTMtb[Ŧ0ZWˁGޗ\PJ+= mk%{Jt|?~/\6X ;>qYƭ]9Ll eٕ.鿒9z.``·~>vDT2C?8x.30+g*s 6?Y/$yd@2ig qxeqYUzJ,_4jRȂ|VJ٣zMBdF0fFM5KVKWX`x\44eFؾظG6>#eq)&eTq(OҞo@91J唟GXv&kJ)ll)N:S"u/ZΏ鎽;'8צ5n=S?*ENwSzθ~scb;}oVOFrh;e ݯ*쎺4Ϋ۪o vu㮈o4Bb8B*%Est˝I=H&ɻ$LPrtG$%o׹ V .W (܂eA* )Kg@.;v˺^{QSjڃq=]:=\W~^UUKFۺ%(MgU2g>4FN/U>-t[I=2]8X޳}=adܛo0vGNK#7@r;Uʥxt3w+V[+5F+D{EnmXiP+@Z= =F.mF<[<7o~`XURg_3?{c\\uT8|=N.q| /=Vгڗ̰+"4|"jGM4gъGe}@AeE踰'vҙɨ5*ѭ\Kf]Dej̎M~'~58|XMuնzǽܛqI zd /%ӻ$ ׃eVNٮ1׷^-7t$,Ŝa|(Kʾ=nyqzeͪܛ=^M?nRp5}Qr>/U*fzrzQ=BnR\ߏ 5jzغԡ[vww ope`e "AGϧ 8h 7\@ýdUT|l<]/怴ZҨœk zAhWB<~ơc֫B7h۾>מ_&9. sTc´IoRO+ GDxhSyF >ڒ ~YEygewޜģAG--5\IoQ}Ng`}tw52hiIK  =FN/U@mUUzxǧ,?783Sler@ŽXupu-:;N-rfNJ4di|߳8iN9W|GۆQ>OYR1ʳ{Kp롷.$w6/!?gqJm̱ɦ+z#Ȣ4E&9@[t/vRɥK_7RKmr> 3jziIk}R_,Q|f4^a58.Lue ULc>iVwֿYPk^ d2 ׉bkWy۶cM@N˭_c:n+׌2oXV]dgZׁGÂ.Fj|Pci 0;VÒ,v_D2ri>wnG/|C#UC4`R]y/iȓV%\Κ/SMRӁ0"b{qg?"WmW5z>+`zz|D=+z<ҾG){P'IY7|v6v7W%*㐽 鶫UoW/q֫K2DZƦ*\[CEUrK6DjwuyoTb)x/4AJ].>cMQωfeNpIIKN>5kсqXk$ܟ6HJyM"0^iڵ?|n/U̻myȭGEqר4\Gf/-D&UOl|_GhܫU+G O> Ĵ F+DURʎ$n:syX>?2%dlraUnµ]~UE;?25zcdݩKJQc)FJKTGc$o# h oN,n;f^s06Yl}mXeZRFؒ&LJy1\iF]&9c~lZ׊#tZ cT~%~N p}Ė듥ҹ-#eܞ)1Pj̳ܺRO AlwRY:!vF=R- sۑ&=>8P/ҾG sա_8}v)7ǑbEi[x255NhXM%KrrvW!d.M=\5{nJCIVxm6Qgpzut9Z]iF;JN]TF#7\,KɏһWGɏsHwOˢՕYՇ^}uQ5a?tt8N(j|)bڦ֨}tTLU,Wrz9r-d?tMfqƓʋӄX/ĦOޜux]MI7QZ$@isA08UX>y''/omkt햟 4W[&'zZf\ջ":xwWꄸ|7*&FvaY4Ձ{~rx Q\o1ɓ|"-&#S }qRcTSJ,X-T)&@6qpCO=WȲ_$8/3iY;;WEԀzkߑfLz GdY#ƪ>:6OI`chMaŊS^D ~.SZ@E*OF&bob=8ȭzڬs:ǩ$@YuI%'"PpwKk{E-[¾^^n k ._2 vIIterSU]'9[&;}:$VNs#]]@zqEgܝQf]U=d}z0> \7̈鮍/ta -ōr@as¥TI$VO PklTF8kSm)w&43pک?ʾvfSyb">J8]W%iN bWZ9x=6}$轑]oFj=bj[ i3 ƪ\\bl`+CǓN7\|fE pzn>}n+BˍUg <pʪ~EdWhMVzd ]г%/@,V]͟׎báPɳ"]=X.WM\k ͓)UgK̸7S58ETl|@9E˞b~ zHf^Q-E,m*.m>Һtb3F*FqRw)Zu`F7L_qE[tۑ&=' +\4+|1LJXXiy3+D.|u>2Ր;7'3k9dόcjX8ص6;1N0Z+c 5zEiŗBڊ[3vzcyɢOAV&y^ezd-K(ȆD{zvdf,ju9p)OV_q]nϣ)y[}̸x8׫vUmug (c:Uʭ\tHx+nSdLvSB>g !9%z훏|| ˺MSko/nmtȨ]:t$&d'1kb_)^LIħ.6oEyS!nN0E0-ŘgrOBoŻز6s`}qVG70̞,l[]]POmY&j]c)uKO~,bo^:U7cYplT|Dۯ=園$78߈RqMe]rs9vlZ:i[+_tެ2o^zñY@C˳]at͎d; .heܔy0.04_UJq65*ȭg}:yw?P,9|S_+Wn=:~$abY5%֩Dz~1du}o7{4B2nG|$i\|#M+:ȉOK%>ǔ/~sqr~=NR`ć}Џ?2sҸWJ1" }p#9QI'ǡe>qMǜKJɩOP:-D^*l EJiK|MfSӈ|}9B``.X5H%pv=0" hc#Gc~@p/0pZ[enB_41V;DjZgm 1KǪN{ꊢvϒznsk<w_gBq`CY7dVxݶr!8Nͽ@זoL:_Pո},eTd\m[Sk2P="}ʪD|r`kc?((!yq:nk\$1Jm);d`EԹxߌmkI5Mqypdx\egcC//cB8Bcccccccccccccccccccccccccccccccccccccccccccccccccc" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?9梈MqL9Q$ԒYM;۵RrhP)1Krr1@-e^@WQyZc~OP)ϴ]6A;a]jʕ sjgkR㝠 GU=ig@\#]qޙ! z|oҙ1!qLc#n)$$M J <`sf摷tXJ`ORq4rJM8>b2J9w0:<3@pz!!:JqEF#2p~$7(4RUt&W̌{Sv!cǥ;_z{qL^" f6& >Y""'"q4ѝ/!ED@'Ҥ8ٜ/\(J<ӑB/5e;I8'ۥVlH vGAMkӴvǵ6Zۿ.̓9##aML~`Wx3ii%)Cϥ!RZqlSTQ1zDo@I@ Ü1(pEpYP|{ #kdA\Ա3 >Hh֐;WPri3ښAx4"(C:X;<`srޝRBPd 8/1lʊRcu8ާ^11P(j gd)'$@buŒt?*$E9n"\u'zB C9 r(C,epTgUrs'P"rK(4w)zwpK`g'M^6\ SJY²:FuON=^K'"@8 n@k:sI1p[4r,B\#q8d 3ީO# *˲г \zLe9XS ;=>XT'&)! 2 OZqnaLc\y0Z~݄mEfc8hV,%5A*䪃j6Q 8wW#'$@QW2;Ĉp03UA~l&0Ck=[;R`$ #<@0Ӧo90 ObH)GqR9 d/VPJߕPǕPB=3SLwӚ%A@GaO1FH=h2cMQ&*I)C?%{@bh+&9ɩl'n:To)p@Ny $c[ 8j?SRc 9 R;xlj|hII HёQ򌚬 {樰?nlu݁3pJϰ9HSq9%"FHl Ғ|Zl5e#6RΥB1i{PX8'qF^)皫;sfr0,T0 UN:yF#8#;nG'IłX=heUR{6$c zL   j}G[:Q$cQ@s!nƟ)ڦncq ̜8ǽVbˏ\@Obd{OZeF' ;ɧ6U!Zcڢܲ2$x4a1!m=OP3#䋆= b.`}`qRXf烑֚у0 HGN=X=h@^ȡ $$( TDK~1Χf݆12nI`HUr}jNjr'H3f>4J bNW;w٨0۱~(t .FNVi9ScEp8 7'p:Rʧ8┝ӱp: C  x₄.Az{*P|GSSo)̋8QiҜ̝82pq9 9`ǏZ fێ=e?)R@Mu!IQp3@##;Ԭف1сFG#v ӥZuv% <}?)3{t =XSqQBH|Z'gP*Jfa8'>9pO#Z`;䎔HPAz/;m$WB̬ԀS՘R Kgld)I1؛qޣɷP?}-6@0iUÖnOL$ă 24C"caM8-U/SXy0FGE)sǿJm:dt⢁RpzG$U `Tӥ5iYL!bC:wsJtkE#ɠ㏗!jFPqQ&w5Zܖ98=k6@9h~N89TGNZCc$ qQpޣB=-XH' Jt 4y*tP\a,Hl` 84gjRPޥcN) e4C8^dy )*y=< FI2(#L qP("2sަïˊ&c4K}N|?JbS\Бp FP{j8N4yPCWgS-c"3c4`F𾔎ˆUA(d{5, `Gx& T`H}i#=*Hɗ8oғ ʄv9d%6JdJk&e=*F*e4l dnNx*&%|8< lJOM:~@ ?{uP0G3R\DlM!icL)+yO-fa;Cb"pN3۽W.O FLQ!hCX psV$'h?Z%dM+G|~sEAtے@yǥ,S2R=W#rO0Hh,<{RbT1BI)%z?ނ>aU+u`TLH9Ҁ"Yy'*NYGAnL4'X( K'Ҙ[PZ gUmDݐA3zTw( 9,sV^Kg` jFŻMLpbUnS}x]sZB ڬ $IcjU\zW"VU!UĊ㊄#=jyd1ɵ~|{`{`HH?Zr$gSg\Dǹ0$Bҡ^dluSblv$@ˑMX'9#烓C6V1!NAL0" *tC%pqrW4c;qI1m I%@M"54yl{@D =;Q4_$OoI& U:!2.i$)=*@WhR1sIp1w,#S;&rH ~`ydx 0pK9o֡hǘX SLAnI)P=IGI& 1#L2XN- 2Hb](T][yr2`9VN2TsQ@B\V" zw Ҁ"sHd2L}68T$j&$4qQJpN@ b,W "+&sO82Fx:pix*rA ɪfZ9rFv`5v=sRFAon+R,e P\?:yvsQ T́'$sdC'%!ɧvz NH99!ȨZ&T>rlK rp*æY\/[yKc)1]Hp SK;CbJh8P!$idF[ fpP.Z"8Gh؏9ٌ7CU)MJ c$o*;NpjԒ ! RzR8Lf$L\aN(C;zի #PII J|T723P194 T9GQғVq)6I\z o&F"O%H4!yeaOpH{B>S&Fz6zO X~aU9S❉4WJpsL_lYM0~Xc V OBqCGҐ$tZUsK*Cjb6)f1OY1N QYMc9i **-ǭJ;P%x b$*)$qcޜ2})*wƀ?كIM(u: ( IMtrees2.tga\Armagan\Creatures\VertexShader\Textures\trees2.tgaCAlTw: CACamera=B B?LAw: y: LALampb??{G??L>A4B>??? B4B?@@???LAy: 4z: w: LALamp.001????ˑ?A4B>??o@A4B?@@???LA4z: T{: y: LALamp.002"?,?ge??>A4B>??? B4B?@@???LAT{: t|: 4z: LALamp.003?'D?ge??o>A4B>??? B4B?@@???LAt|: }: T{: LALamp.004?v?.:??>A4B>??? B4B?@@???LA}: ~: t|: LALamp.005P3?!J???L>A4B>??? B4B?@@???LA~: }: LALamp.006?X?@??=A4B>??? B4B?@@???WO: :WOWorld>>d>T6?+?P(???A@pA A?L=TXd$: ; TXApplication.py: ; : : t; DATA: :  ; &pt vDATA: L: : \ ; $DATAL: : : d( DATA: ܂: L: ; reenDATA܂: $: : ( reenDATA$: l: ܂:  ; 'FREEDATAl: : $: \ ; *reenDATA: : l: ( reenDATA: D: : ; .DATAD: : :  ; 0DATA: Ԅ: D: ; /DATAԄ: : : / DATA: d: Ԅ: ; &reenDATAd: : : <; &reenDATA: : d: ; &reenDATA: <: : ; &0DATA<: : : D; &####DATA: ̆: <: # ,DATĂ: : : ; 3FREEDATA: \: ̆: ; %hes:DATA\: : : \; nd nDATA: : \: ; DATA: 4: : _$ DATA4: |: : ; reenDATA|: Ĉ: 4: L; reenDATAĈ:  : |: ; DATA : T: Ĉ: ; .py|DATAT: : : ; FREEDATA: : T: T; DraDATA: ,: : ; |_DATA,: t: : ;  troDATAt: : ,: 4; pmi DATA: : t: ; W%DATA: L: : ; .py|DATAL: : : ; urvDATA: ܋: L: L; = :DATA܋: $: : ; | DATA$: l: ܋: ; 0DATAl: : $: <; DATA: : l: ; DATA: D: : ;  CreDATAD: : : $; FREEDATA: ԍ: D: l; ate(DATAԍ: : : ; eateDATA: d: ԍ: ; FREEDATAd: : : T; menuDATA: : d: ; DATA: <: : ;  = CDATA<: : : ,; nu=DATA: ̏: <: t; enu=DATȀ: : : ; e(1)DATA: \: ̏: ; (etaDATA\: : : T; me= DATA: : \: ; ate(DATA: 4: : ; reenDATA4: |: : ,; (1)DATA|: đ: 4: t; )0(DATAđ:  : |: ;  |DATA : T: đ: ; reenDATAT: : : L; e(0.DATA: : T: ; FREEDATA: ,: : ; e(0.DATA,: t: : ,; DATAt: : ,: t; FREEDATA: : t: ; te(0DATA: L: : ; reenDATAL: : : L; te(0DATA: ܔ: L: ; (0.0DATAܔ: $: : ; RuleDATA$: l: ܔ: ,; DATAl: : $: |; reenDATA: : l: ; = CrDATA: D: : ; reatDATAD: : : d; .py|DATA: Ԗ: D: ; = CrDATAԖ: : : ; DATA: d: Ԗ: D ; DATAd: : : ; DATA: : d: ; e(0)DATA: <: : $!; te(0DATA<: : : l!; te(0DATA: ̘: <: !; te(0DATA̘: : : !; te(0DATA: \: ̘: 4"; DATA\: : : l"; ts.pDATA: : \: "; DATA: 4: : "; eenDATA4: |: : <#; reenDATA|: Ě: 4: #; reenDATAĚ:  : |: #; reenDATA : T: Ě: #; ts.pDATAT: : : <$; (enDATA: : T: $; FREEDATA: ,: : $; em.pDATA,: t: : $%; DATAt: : ,: d%; eln(DATA: : t: %; DATA: L: : %; x.pyDATAL: : : ,&; DATA: ܝ: L: t&; saveDATAܝ: $: : &; DATA$: l: ܝ: '; em.pDATAl: : $: (; 6eafmDATA: : l: ); LreenDATA: D: : ); DATAD: : : ); DATA: ԟ: D: *; reenDATAԟ: $: : L*; #eln(DATA$: l: ԟ: *; $val)DATAl: : $: *; .py|DATA: : l: 4+; BDATA: D: : t+; openDATAD: : : +; lenaDATA: ԡ: D: ,; e:DATAԡ: : : D,; &x.pyDATA: d: ԡ: ,; CDATAd: : : ,; ts.pDATA: : d: -; reenDATA: <: : T-; nameDATA<: : : -; DATA: ̣: <: -; ! elDATẠ: : : <.; FREEDATA: \: ̣: |.; em.pDATA\: : : .; FREEDATA: : \: /; eenDATA: 4: : ; $DATA$: l: ܱ: >; %ln(DATAl: : $: >; 'DATA: : l: fmenDATA: <: : ; AreenDATA<: : : ,; reenDATA: : <: t; temrDATA: : : l; enuDATA: \: : k$ FREEDATA\: : : ; ruleDATA: : \: ; ODATA: 4: : ̬; afruDATA4: |: : ; :enDATA|: : 4: ܭ; afruDATA:  ; |: ,; QDATA ; T; : ; afruDATAT; ; ; 4; DATA; ; T; ; afruDATA; ,; ; <; x.pyDATA,; t; ; ; afruDATAt; ; ,; L; al,lDATA; ; t; ; (steDATA; L; ; D; nd(sDATAL; ; ; ; eenDATA; ; L; ; d(sDATA; $; ; ,; reenDATA$; l; ; |; pth.DATAl; ; $; ; FREEDATA; ; l; ; cDATA; D; ; L; 0DATAD; ; ; ; leveDATA; ; D; ; @DATA; ; ; ,;  0DATA; d; ; |; * toDATAd; ; ; ĵ; * foDATA; ; d; ; cDATA; <; ; \; ]orDATA<; ; ; ; el =DATA; ; <; ; el.vDATA; ; ; <; % elDATA; \; ; ; %DATA\; ; ; ; al =DATA; ; \; <; %2DATA; 4; ; ; %DATA4; |; ; ; reenDATA|; ; 4; <; !DATA;  ; |; ; pDATA ; T ; ; ̹; oradDATAT ;  ; ; ĺ; :al)DATA ;  ; T ; 4; tcejDATA ; , ; ; |;  ,waDATA, ; t ; ; ̼; e noDATAt ;  ; , ; ; :)lDATA ; t ; <; DATA( ; ######################################DATA(\ ; # Blender Tree-maker Script ver1.30DATAd( #DATA ; # 2001-2005 Armagan YAVUZDATA( # DATA( ; # Latest version can be obtained from:DATA,\ ; # www.geocities.com/blenderdungeon/EDATA( #DATA0 ; # This script is public domain. You can copy,DATA4 ; # distribute, and modify it in any way you like.2DATA0 ; # But please keep the information above intact.DATA/ # TDATA( ; ######################################DATA(<; # # DATA(; # PRESS ALT+P TO ACTIVATE THE SCRIPT #DATA(; # # DATA(D; ######################################rDATA# #BuDATA4; # Modify the line below to set a default directory DATA(; # Make sure you use forward slashes: 5DATA\; # i.e. use / and not \ DATA; ###########################DATA_$ ###DATA; defaultdir = "C:/Lsystem/"DATAL; pyDATA; import BlenderDATA; from lsystem import * iDATA ; from rulesets import *tDATAT; from stemRules import *DATA; from leafRules import *DATA; from Blender.Draw import *DATA4; from Blender.BGL import *ogDATA; from string import strip1DATA; DATA ; version = 130DATAL; urvDATA; orientation = Create(0.5)#DATA4; force = [Create(0.0), Create(90.0), Create(0.0)]2DATA<; scaleforce = Create(0.0)REEDATA; iteration= Create(2)15DATA; resolutionLOD= Create(0.75)DATA$; resolution= Create(16)DATAl; resolutionV= Create(2)DATA; stemresolutionV= Create(2)EDATA; leafresolutionV= Create(1)EDATAT; repeat= Create(1)DATA; stemrepeat= Create(1)5DATA; leafrepeat= Create(1)5DATA,; bangle = Create(90.0)DATAt; stembangle = Create(90.0)EDATA; leafbangle = Create(90.0)EDATA; menu= Create(5)DATAT; stemmenu= Create(1)DATA; leafmenu= Create(1)DATA; leafname= Create("a")atDATA,; useleaf = Create(1)DATAt; leafscale = Create(1.0)DATA; thickness = Create(0.1)DATA; length = Create(0.5)15DATAL; leaflength = Create(1.0)1EDATA; rotF = Create(0.0)DATA; stemrotF = Create(0.0)DATA,; leafrotF = Create(0.0)DATAt; curve = Create(0.0)DATA; stemcurve = Create(0.0)DATA; leafcurve = Create(0.0)DATA L; stemorientation = Create(0.0)DATA; conism = Create(0.05)atDATA; shorten = Create(0.05)DATA,; branch_scale = Create(0.75)DATA |; stembranch_scale = Create(0.75)DATA; lenscale = Create(0.75)DATA; stemlenscale = Create(0.75)DATAd; prune = Create(0.0)DATA; prunefirst = Create(0)DATA; rot_rand_per = Create(0.1)DATAD ; rot_rand_abs = Create(0.1)DATA ; leafbank = Create(0.0)DATA ; maxdepth = Create(30)5DATA$!; randScale = Create(0.1)DATAl!; prune_level = Create(6)DATA!; DATA!; message = "Ready"enDATA4"; DATA l"; filename = Create(defaultdir)DATA"; DATA"; def writeln(f,x):enDATA<#;  f.write(str(x))enDATA#;  f.write("\n")DATA#;  DATA#; def readint(f):DATA<$;  return int(f.readline())DATA$; def readfloat(f):enDATA $;  return float(f.readline()):DATA$%; def readstr(f):DATAd%;  s = (f.readline()) (fDATA%;  return strip(s)enDATA%; eenDATA,&; def do_file(save):yDATAt&;  fname = filename.valDATA&;  global message, iteration, orientation, menu, stemmenu,leafmenu,thickness, length, leaflength, rotF, stemrotF, leafrotF,conism , branch_scale, stembranch_scale, lenscale, stemlenscaleDATA';  global prune, prunefirst, resolutionLOD, resolution, resolutionV, stemresolutionV, leafresolutionV, repeat, stemrepeat, leafrepeat, rot_rand_per,rot_rand_abs,leafname,useleaf,leafscaleDATA8(;  global force,scaleforce,bangle,stembangle,leafbangleDATAP);  global curve,stemcurve,leafcurve,stemorientation,leafbank,shorten,maxdepthyDATA);  # version 1.2DATA );  global randScale, prune_levelDATA*; DATA$L*;  if save: message = "file saved."DATA(*;  else: message = "file loaded."15DATA*; eenDATA 4+;  if save:DATA t+;  try:DATA+;  f = open(fname,'w')EDATA ,;  except:DATA(D,;  message = "unable to save file."DATA,;  returnDATA,;  else:DATA -;  try:REEDATAT-;  f = open(fname,'r')EDATA -;  except:DATA$-;  message = "file not found."DATA<.;  returnDATA|.;  ifDATA .;  if save: writeln(f,version)DATA/;  else:DATA ;  else: prune.val = readfloat(f)15DATA(>;  if save: writeln(f,prunefirst.val)5DATA(>;  else: prunefirst.val = readint(f)DATA= 120: randScale.val = readfloat(f)EEDATAS;  ifDATA(T;  if save: writeln(f,prune_level.val)DATA<lT;  elif file_version >= 120: prune_level.val = readint(f)DATAT; DATA U;  f.close()DATATU;  prDATAU; enDATAU; ranDATA U; def draw():DATA 0:>DATA;  maxd = maxdepth.valDATAL;  if prune_level.val == 1:EDATA;  min_prune_level = 2DATA;  max_prune_level = 30DATA ,;  elif prune_level.val == 2:DATA|;  min_prune_level = 3ADATAĵ;  max_prune_level = 30DATA ;  elif prune_level.val == 3:DATA\;  min_prune_level = 2DATA;  max_prune_level = 2DATA ;  elif prune_level.val == 4:DATA(<;  min_prune_level = iteration.val -25DATA(;  max_prune_level = iteration.val -15DATA ;  elif prune_level.val == 5:REEDATA(<;  min_prune_level = iteration.val -1DATA(;  max_prune_level = iteration.val -1DATA ;  elif prune_level.val == 6:5:DATA<;  min_prune_level = 1DATA;  max_prune_level = 30DATA̹;  cart_force = [cos(force[0].val * torad) * cos(force[1].val * torad) * force[2].val, sin(force[0].val * torad) * cos(force[1].val * torad) * force[2].val, sin(force[1].val * torad) * force[2].val][2DATA<ĺ;  lsystem_build(rules[0],rules[1],rules[2],iteration.val,length.val*thickness.val,conism.val,shorten.val,resolution.val,resolutionLOD.val,rot_rand_per.val * 4.0,rot_rand_abs.val * 2.0,randScale.val,prune.val, prunefirst.val, maxd, min_prune_level, max_prune_level, cart_force, scaleforce.val,leafscale.val,leafobj)DATA4;  message = "Ready" 15DATA |; Register(draw, event, bevent)DATA̼; 8 %DATA; DATA<; TXd; \]< $: TXleafRules.py<;  < D < D < ,Y< DATA<; ; d < e,reDATA; ; <; < ):DATA; ; ; < pdefDATA; \; ; $ < DATA\; ; ; d < DATA; ; \; < DATA; 4; ; < DATA4; |; ; 4 < DATA|; ; 4; | < DATA;  ; |; < DATA ; T; ; < DATAT; ; ; 4< T:e,DATA; ; T; < DATA; ,; ; < DATA,; t; ; << FREEDATAt; ; ,; |< cDATA; ; t; < )DATA; L; ; < ]DATAL; ; ; 4< zCDATA; ; L; t< LDATA; $; ; < DATA$; l; ; ,< DATAl; ; $; l<  [DATA; ; l; < DATA; D; ; < DATAD; ; ; ,< DATA; ; D; l< DATA; ; ; < [DATA; d; ; <  DATAd; ; ; < FREEDATA; ; d; \< FREEDATA; <; ; < DATA<; ; ; < xrDATA; ; <; < )DATA; ; ; l< DATA; \; ; < WreenDATA\; ; ; ,< DATA; ; \; l< resoDATA; 4; ; < nV):DATA4; |; ; < def DATA|; ; 4; $< DATA;  ; |; \< DATA ; T; ; < DATAT; ; ; < LDATA; ; T; d< DATA; ,; ; < XaDATA,; t; ; < DATAt; ; ,; $< DATA; ; t; d< DATA; L; ; < $DATAL; ; ; < DATA; ; L; $< DATA; $; ; d< DATA$; l; ; < DATAl; ; $; < XaDATA; ; l; $< DATA; D; ; d< DATAD; ; ; < reenDATA; ; D; <  ], DATA; ; ; < es.pDATA; d; ; L< $DATAd; ; ; < )FREEDATA; ; d; < lutiDATA; <; ; $< Y:e,DATA<; ; ; < def DATA; ; <; < DATA; ; ; 4< x 32DATA; \; ; t< DATA\; ; ; < DATA; ; \; < DATA; 4; ; ,< DATA4; |; ; d< DATA|; ; 4; < DATA;  ; |; < ',nDATA ; T; ; $< f',DATAT; ; ; l< aDATA; ; T; < DATA; ,; ; < XaDATA,; t; ; $ < (CDATAt; ; ,; \ < DATA; ; t; <  DATA; L; ; < DATAL; ; ; !< DATA; ; L; L!< DATA; $; ; !< aDATA$; l; ; "< @aDATAl; ; $; "< FREEDATA; ; l; <#< (DATA; D; ; t$< aDATAD; ; ; $< DATA; ; D; $< FREEDATA; ; ; $%< )DATA; d; ; %< DATAd; ; ; %< DATA; ; d; %< YreenDATA; <; ; &< DATA<; ; ; &< DATA; ; <; '< ,resDATA; ; ; D'< gle,DATA; \; ; |'< esolDATA\; ; ; '< ionVDATA; ; \; '< def DATA; 4; ; 4(< ch_aDATA4; |; ; l(< gle,DATA|; ; 4; (< eafrDATA;  ; |; (< &DATA ; T; ; L*< DATAT; ; ; *< eenDATA; ; T; z# (DATA; ,; ; *< FREEDATA,; t; ; *< ts.pDATAt; ; ,; <+<  DATA; ; t; t+< DATA; L; ; +< DATAL; ; ; +< cDATA; ; L; ,,< DATA; $; ; d,< DATA$; l; ; ,< ĜDATAl; ; $; ,< atDATA; ; l; -< DATA; D; ; T-< )@DATAD; ; ; -< DATA; ; D; -< U(repDATA; ; ; t.< (repDATA; d; ; .< :e,DATAd; ; ; .< def DATA; ; d; 4/< }DATA; <; ; l/< DATA<; ; ; /< DATA; ; <; /< DATA; ; ; $0< FREEDATA; \; ; \0< DATA\; ; ; 0< DATA; ; \; 0< DATA; 4; ; 2< DATA4; |; ; <2< @DATA|; ; 4; |2< DATA;  ; |; 3< DATA ; T; ; 3< DATAT; ; ; 4< aDATA; ; T; L4< DATA; ,; ; 4< DATA,; t; ; 4< DATAt; ; ,; 5< DATA; ; t; <5< DATA; L; ; |5< DATAL; ; ; 5< DATA; ; L; 5< DATA; $; ; ,6< )FREEDATA$; l; ; 6< ionVDATAl; ; $; 6< U(repDATA; ; l; L7< (repDATA; D; ; 7< , nDATAD; ; ; 7< ionVDATA; ; D; 8< DATA; ; ; D8< ,2DATA; d; ; 8< |HDATAd; ; ; 8< DATA; ; d; 8< DATA; <; ; 49< EW %DATA<; ; ; |9< f',DATA; ; <; 9< aDATA; ; ; :< DATA; \; ; :< XaDATA\; ; ; ,;< CDATA; ; \; $<< DATA; 4; ; \<< [DATA4; |; ; << FREEDATA|; ; 4; << DATA;  ; |; $=< DATA ; T; ; \=< DATAT; ; ; =< DATA; ; T; =< rDATA; ,; ; >< DATA,; t; ; L>< DATAt; ; ,; >< DDATA; ; t; >< DATA; L; ; >< DATAL; ; ; DATA D8<  ['f', 1|DATA8<  ['g']DATA8<  ]eenDATA8<  ]iDATA49<  terminal_rules = [DATA |9<  ['f',1EDATA9<  lcat(lrepeat(repeat,[['a',(length / (repeat))],['rS',curve],['rF',rotF],['b',[ ['rF',-bank],['rU',branch_angle],['l',1.0] ] ],['b',[ ['rF',bank], ['rU',-branch_angle],['l',1.0] ] ] ]),[]) 1DATA:<  ],DATA :<  ['e',DATA,;<  lcat(lrepeat(repeat,[['a',(length / (repeat))],['rS',curve],['rF',rotF],['b',[ ['rF',-bank],['rU',branch_angle],['l',1.0] ] ],['b',[ ['rF',bank], ['rU',-branch_angle],['l',1.0] ] ] ]),[]) DATA$<<  ],5DATA \<<  ['lf', [DATA<<  ['l', 1.0]DATA <<  ]DATA$=<  ],xDATA \=<  ['h', []DATA=<  ],DATA=<  ['h2', []DATA><  ],DATAL><  ['h3', []DATA><  ],DATA><  ]EDATA ><  axiom = []DATA, DATALu< u< u< < s:mDATAu< u< Lu< << :reenDATAu< $v< u< < DATA$v< lv< u< < on 'DATAreenDATAz< z< \z< < 1XaDATAz< 4{< z< < (DATA4{< |{< z< L< DATA|{< {< 4{< < ,aDATA{<  |< |{< < rticDATA |< T|< {< << -vertDATAT|< |< |< < FREEDATA|< |< T|< < DATA|< ,}< |< << %DATA,}< t}< |< < 6d(meDATAt}< }< ,}< < "s[i]DATA}< ~< t}< T< =@aDATA~< L~< }< < 6% brDATAL~< ~< ~< ,< ?@aDATA~< ~< L~< < 9reenDATA~< $< ~< < 8DATA$< l< ~< |<  nfDATAl< < $< < i + DATA< < l< < .FacDATA< D< < \< !DATAD< < < < s =DATA< Ԁ< D< < eenDATAԀ< < < << 02DATA< d< Ԁ< < "DATAd< < < < es)DATA< < d< D< ve_vDATA< << < < ve_vDATA<< < < < -FREEDATA< ̂< << D< $in rDATÂ< < < < n rDATA< \< ̂< < (navDATA\< < < ,< .FacDATA< < \< t< #RDATA< 4< < < ,f.v.DATA4< |< < ,< i]) DATA|< Ą< 4< t< 6) % DATAĄ<  < |< < -i]) DATA < T< Ą< << .FREEDATAT< < < < s.apDATA< < T< < DATA< ,< < $< .appDATA,< t< < t< DATAt< < ,< < "DATA< < t< < (tokDATA< L< < $< (tokDATAL< < < t< ] ==DATA< ܇< L< < t.pyDATA܇< $< < < m):DATA$< l< ܇< D< FREEDATAl< < $< < okenDATA< < l< < okenDATA< D< < < DATAD< < < \< reenDATA< ԉ< D< < n):DATAԉ< < < < t.pyDATA< d< ԉ< ,< DATAd< < < d< ef lDATA< < d< < ):nDATA< << < < reenDATA<< < < 4< ):DATA< ̋< << |< ef lDATA̋< < < < reenDATA< \< ̋< < okenDATA\< < < L< x 32DATA< < \< < DATA< 4< < < n):DATA4< |< < < DATA|< č< 4< l< reenDATAč<  < |< < ls_DATA < T< č< < 0DATAT< < < $< reenDATA< < T< \< DATA< ,< < < es, DATA,< t< < < DATAt< < ,< $< les:DATA< < t< l< = toDATA< L< < < eenDATAL< < < < es, DATA< ܐ< L< D< n):DATAܐ< $< < |< -n):DATA$< l< ܐ< < &ion)DATAl< < $< 4< DATA< < l< l< )DATA< D< < <  neDATAD< < < < DATA< Ԓ< D< T< (strDATAԒ< < < < DATA< d< Ԓ< < reenDATAd< < < << reenDATA< < d< < n >DATA< << < < aDATA<< < < |< >n) iDATA< ̔< << < #pendDATA̔< < < D< DATA< \< ̔< < 'FREEDATA\< < < < urn DATA< < \< < DATA< 4< < l< reenDATA4< |< < < DATA|< Ė< 4< < tr:DATAĖ<  < |< D< tr:DATA < T< Ė< |< reenDATAT< < < < !DATA< < T< < DATA< ,< < L<  stDATA,< t< < < DATAt< < ,< < .t.pyDATA< < t< D< tr:DATA< L< < < @DATAL< < < < tokeDATA< ܙ< L< $< +DATAܙ< $< < < t.pyDATA$< l< ܙ< < eenDATAl< < $< < DATA< < l< \< rn nDATA< D< < < DATAD< < < < PeshDATA< ԛ< D< T< yMatDATAԛ< < < < dsh,tDATA< d< ԛ< << 0,0.DATAd< < < t< vreenDATA< < d< < reenDATA< << < l< (mesDATA<< < < < 0 DATA< ̝< << < h,tuDATA̝< < < T< py| DATA< \< ̝< < #ing(DATA\< < < < NurtlDATA< < \< |< P DATA< 4< < < K)otDATA4< |< < < YreenDATA|< ğ< 4< < <DATAğ<  < |< < ing(DATA < T< ğ< < DATAT< < < < [DATA< < T< l< .py| DATA< ,< < < .py|DATA,< t< < < IhDATAt< < ,< < LllofDATA< < t< < G@aDATA< L< < < turtDATAL< < < < en):DATA< ܢ< L< 4= DATAܢ< $< < = >h,tuDATA$< l< ܢ< = (tokDATAl< < $< D= A}DATA< < l< = (tokDATA< D< < = < DATAD< < < |= DATA< Ԥ< D< = reenDATAԤ< < < = okenDATA< d< Ԥ< d= _leDATAd< < < = 8t.geDATA< < d< $= [0]:DATA< << < l= ;(tokDATA<< < < = reenDATA< ̦< << = _perDATA̦< < < T= @DATA< \< ̦< = DATA\< < < = t.pyDATA< < \< = CDATA< 4< < <= orceDATA4< |< < = reenDATA|< Ĩ< 4< d= sh.GDATAĨ<  < |< = DATA < T< Ĩ< = DATAT< < < L = EW %DATA< < T< = DATA< ,< < = DATA,< t< < 4 = reenDATAt< < ,< = reenDATA< < t< = 0DATA< L< <  = eenDATAL< < < d = py| DATA< ܫ< L< = ismDATAܫ< $< < = orteDATA$< l< ܫ< D = &DATAl< < $< = %0DATA< < l< = DATA< D< < , = lsysDATAD< < < t = DATA< ԭ< D< = *DATAԭ< < < $= /reenDATA< d< ԭ< =  DATAd< < < = FREEDATA< < d< = @DATA< << < d= f = DATA<< < < = 3eafoDATA< ̯< << = VDATA̯< < < = turtDATA< \< ̯< = !eafmDATA\< < < <= eafmDATA< < \< t= avesDATA< 4< < = P0DATA4< |< < = reenDATA|< ı< 4< = DATAı<  < |< T= e(roDATA < T< ı< = 4p-DATAT< < < = DATA< T< D= t.pyDATA< from Blender import * iDATA,< from math import *tDATAt< from copy import *DATA< from types import *DATA< from Matrix import *5DATAL< import randomDATA< DATAĴ< force = [0.0, 1.0, 0.0]DATA < scaleforce = 0.0eenDATAT< resLOD = 0.0DATA< leafscale = 1.0DATA Ե< prune = 0.0DATA< prunefirst = 0DATAT< thickness = 0.0DATA< conism = 0.0DATAԶ< shorten = 0.0DATA< maxdepth = 0gDATAT< randScale = 0.0DATA< randThin = 0.0DATAԷ< min_prune_level = 1015DATA< max_prune_level = 1015DATAd< in_DATA < def apply_force(turtle,scale):DATA$<  s = (1.0 - scale*scaleforce*10.0)DATAD<  if s <= 0.0:DATA <  returnDATA Ĺ<  lf = vec_scal_mul(force,s)DATA0<  turtle[1] = vec_normal(vec_add(turtle[1],lf))DATA8t<  turtle[0] = vec_normal(crossp(turtle[1],turtle[2]))DATA,ܺ<  turtle[2] = crossp(turtle[0],turtle[1])EDATA<< eenDATA,t< def generate_sample_leaf(sampleleafmesh):DATAԻ<  verts = []DATA<  faces = []DATA T<  uvs = []DATA<  modes = []DATAԼ< DATA$ <  for v in sampleleafmesh.verts:DATALd<  verts.append([v.co[0]*leafscale,v.co[1]*leafscale,v.co[2]*leafscale])EEDATA$<  for f in sampleleafmesh.faces:rldDATA <<  nf = []DATA|<  faces.append(nf)15DATAľ<  for pv in f.v:nDATA4 <  for iv in range(len(sampleleafmesh.verts)):07DATA,t<  if sampleleafmesh.verts[iv] is pv:DATAԿ<  nf.append(iv)DATA$< DATA$\<  for f in sampleleafmesh.faces:DATA<  if f.uv:DATA<  nuv = []DATA4<  for uv in f.uv:DATA|<  nuv.append(uv)DATA<  uvs.append(nuv)5DATA <  modes.append(f.mode)1EDATA$\<  return [verts,faces,uvs,modes]eenDATA<  DATA< eenDATA0$< def add_leaf(mesh,leaf_data,turtle,sampleleaf):DATA<  if not sampleleaf:DATA <  returnDATA < # C = NMesh.ConstDATA T< # print CDATA <  last_vertex = len(mesh.verts)DATA <  sampleverts = sampleleaf[0]x.DATA 4<  samplefaces = sampleleaf[1]:DATA <  sampleuvs = sampleleaf[2]DATA <  samplemodes = sampleleaf[3]DATA$<  for v in sampleverts:DATA,l<  vg = transform_point_to_src(turtle,v)DATA(<  nv = NMesh.Vert(vg[0],vg[1],vg[2])DATA$<  mesh.verts.append(nv)EDATA t<  iface = 0DATA<  for f in samplefaces:DATA<  nf = NMesh.Face()5DATAD<  for fv in f:eenDATA0<  nf.v.append(mesh.verts[last_vertex + fv])DATA<  if sampleuvs:DATA$4<  nf.uv = sampleuvs[iface]eenDATA(<  nf.mode = samplemodes[iface]15DATA<  mesh.faces.append(nf)EDATA4<  iface += 1DATA$t<  leaf_data[0] += len(sampleverts)nDATA<  NMDATA< eenDATA<<< def add_branch(mesh,turtle,bradius,blen,bres,branch_data):EDATA<  bresolution = int(bres)DATA<  if bresolution < 3:DATAD<  bresolution = 35DATA(<  active_vertices = branch_data[0]DATA<  by = branch_data[1]DATA$,<  last_vertex = len(mesh.verts)leDATA<  new_vertices = []m DATA <  first_active_vertices = []%DATA$<  for v in range(bresolution):DATA8t<  phi = (float(v) / float(bresolution)) * pi * 2276DATA <  if active_vertices == []:DATA@,<  v_local = [cos(phi) * bradius ,0.0, sin(phi)* bradius]DATA4<  vg = transform_point_to_src(turtle,v_local)DATA,<  nv = NMesh.Vert(vg[0],vg[1],vg[2])EDATA d<  mesh.verts.append(nv))DATA,<  first_active_vertices.append(nv)1EDATA@<  v_local = [cos(phi)* bradius , blen , sin(phi)* bradius]DATA4<  vg = transform_point_to_src(turtle,v_local)DATA,<  nv = NMesh.Vert(vg[0],vg[1],vg[2])DATAL<  mesh.verts.append(nv)DATA <  new_vertices.append(nv)DATA <  if active_vertices == []:EEDATA0<<  active_vertices = first_active_verticesrDATA$<  for i in range(bresolution):DATA<  nf = NMesh.Face()DATA(<<  nf.v.append(active_vertices[i])0.DATA8<  nf.uv.append((float(i) / float(bresolution),by))DATA$<  nf.v.append(new_vertices[i])nDATA@T<  nf.uv.append((float(i) / float(bresolution),by + blen))DATA8<  nf.v.append(new_vertices[(i + 1) % bresolution])uDATA@,<  nf.uv.append((float(i+1) / float(bresolution),by + blen))DATA<<  nf.v.append(active_vertices[(i + 1) % bresolution])tiDATA< <  nf.uv.append((float(i+1) / float(bresolution),by))bDATA|<  nf.smooth = 1DATA<  nf.mode = 0enDATA <  mesh.faces.append(nf)DATA$\<  branch_data[0] = new_verticesenDATA <  branch_data[1] = by + blen DATA<  DATA4<< def close_branch(mesh,turtle,branch_data,scale):DATA$<  active_vertices = branch_data[0]nDATA<  by = branch_data[1]DATA D<  nav = len(active_vertices)DATA<  v_local = [0.0,scale,0.0]DATA0<  vg = transform_point_to_src(turtle,v_local)DATA(D<  nv = NMesh.Vert(vg[0],vg[1],vg[2])DATA<  mesh.verts.append(nv)DATA<  for i in range(nav):gDATA,<  nf = NMesh.Face()DATA$t<  nf.v.append(active_vertices[i])DATA0<  nf.uv.append((float(i) / float(nav),by))DATA,<  nf.v.append(nv)DATA8t<  nf.uv.append(((float(i)+0.5) / float(nav),by+0.1))DATA0<  nf.v.append(active_vertices[(i+1) % nav])EEDATA0<<  nf.uv.append((float(i+1) / float(nav),by))DATA<  nf.smooth = 1EEDATA<  nf.mode = 0DATA$<  mesh.faces.append(nf))DATAt<  meDATA< DATA< eenDATA$< def is_substring(token):REEDATAt<  return token[0] == 'b'1EDATA< aDATA< def forward(param):DATAD<  return ['f',param]15DATA< .pyDATA< def is_advance(token):DATA <  return token[0] == 'a'1EDATA\< qDATA< def is_rotS(token):DATA<  return token[0] == 'rS'DATA,< eenDATAd< def is_rotF(token):DATA<  return token[0] == 'rF'DATA< DATA4< def is_rotU(token):DATA|<  return token[0] == 'rU'DATA< DATA< def is_scale(token):15DATAL<  return token[0] == 's'1EDATA< DATA< def is_leaf(token):DATA<  return token[0] == 'l'1EDATAl< DATA< def ls_token():DATA <  return[]DATA$< pDATA\< ot_DATA< def get_rule(rules, token):DATA<  res = NoneDATA$<  for rule in rules:15DATAl<  if rule[0] == token:1EDATA<  return ruleenDATA<  return NoneEDATAD< eenDATA0|< def grow_aux(str,grow_rules,iteration,level):DATA(<  grow_aux(str,grow_rules,iteration,0)DATA4< eenDATA,l< def grow(str,grow_rules,iteration,level):EEDATA<  new_str = []DATA <  str_len = len(str)15DATAT<  for i in range(str_len):DATA<  token = str[i]nDATA <  if type(token) is ListType:DATA$<<  if iteration > prunefirst:DATA <  if level < maxdepth:DATAd<  if (level < min_prune_level) or (level > max_prune_level) or (random.random() > prune):DATA@|<  sub_str = grow(token,grow_rules,iteration,level+1)EDATA$<  new_str.append(sub_str)DATA D<  else:DATA(<  rule = get_rule(grow_rules,token)DATA<  if rule:DATA <  new_str.extend(rule[1])DATA l<  else:DATA <  new_str.append(token)DATA<  return new_str w_sDATAD<  DATA|< "DATA$< def finalize(str,terminal_rules):enDATA <  new_str = []DATAL<  for token in str:DATA <  if type(token) is ListType:DATA0<  sub_str = finalize(token,terminal_rules)DATA D<  new_token = ['b',sub_str]DATA <  new_str.append(new_token)DATA <  else:DATA,$<  rule = get_rule(terminal_rules,token)DATA<  if rule:DATA <  new_str.extend(rule[1])DATA<  return new_streenDATA\<  DATA< DATAT< def get_mesh(mesh,leafmesh,str,resolution,rot_rand_per,rot_rand_abs,sampleleaf):nDATA T<  turtle = identityMatrix4()tiDATAh<  get_branch(mesh,leafmesh,[0,0],turtle,str,1.0,1.0,resolution,rot_rand_per,rot_rand_abs,sampleleaf)DATA<< eenDATAxt< def get_branch(mesh,leafmesh,leafmesh_data,turtle,str,scale,lenscale,resolution,rot_rand_per,rot_rand_abs,sampleleaf):DATA <  scale_falloff = 1.0 - conismDATAl<  len_keep = 1.0 - shortenEDATA<  branch_data = [[],0.0]1EDATA <  for token in str:DATAT<  if is_substring(token):DATA$<  turtle_aux = deepcopy(turtle)DATAP<  matrix_rotate_about_side(turtle_aux,r_rot_per * (random.random() - 0.5))DATAT|<  matrix_rotate_about_forward(turtle_aux,r_rot_per* (random.random() - 0.5))DATAL<  matrix_rotate_about_up(turtle_aux,r_rot_per* (random.random() - 0.5))DATA\<  new_resolution = (1.0 * resolution)* (1.0 - resLOD) + (scale * resolution) * resLODEEDATA@<  randscale_factor = 1.0 - (randScale * random.random())DATA<  get_branch(mesh,leafmesh,leafmesh_data,turtle_aux,token[1],(scale * randscale_factor) * (1.0 - (randThin * random.random())),lenscale * randscale_factor,new_resolution,rot_rand_per,rot_rand_abs,sampleleaf)DATA<  elif is_advance(token):DATA\<  add_branch(mesh,turtle,thickness * scale,token[1] * lenscale, resolution,branch_data)DATA0l<  matrix_advance(turtle,token[1]*lenscale)DATA <  apply_force(turtle,scale)DATAL<  matrix_rotate_about_side(turtle,r_rot_abs* (random.random() - 0.5))EEDATAP<  matrix_rotate_about_forward(turtle,r_rot_abs* (random.random() - 0.5)))DATAH<  matrix_rotate_about_up(turtle,r_rot_abs* (random.random() - 0.5))DATA <  scale *= scale_fallofffDATA<  lenscale *= len_keepEDATA4=  elif is_rotS(token):DATA@=  matrix_rotate_about_side(turtle,rot_randomize(token[1])).DATA=  elif is_rotF(token):REEDATADD=  matrix_rotate_about_forward(turtle,rot_randomize(token[1]))enDATA=  elif is_rotU(token):1EDATA@ =  matrix_rotate_about_up(turtle,rot_randomize(token[1]))DATA|=  elif is_scale(token):EDATA=  scale *= token[1]DATA=  lenscale *= token[2]EDATAd=  elif is_leaf(token):17DATA<=  add_leaf(leafmesh,leafmesh_data,turtle,sampleleaf)EDATA$=  if branch_data[0]:5DATA<l=  close_branch(mesh,turtle,branch_data,thickness * scale)DATA= DATA= r_rot_per = 0.0DATAT= r_rot_abs = 0.0DATA= -DATA= eenDATA= def lsystem_build(axiom,grow_rules,final_rules,iterations,g_thickness,g_conism,g_shorten,resolution,resolutionLOD,rot_rand_per,rot_rand_abs,g_randScale,g_prune, g_prunefirst, g_maxdepth, g_min_prune_level, g_max_prune_level, glob_force, sforce, lfscl, leafobj):DATA<=  global r_rot_per, r_rot_abs, force, resLOD, scaleforce, leafscale, prune, prunefirst, thickness, conism,shorten,maxdepth,min_prune_level, max_prune_level,randScale,randThinDATA=  force = glob_force15DATAd=  scaleforce = sforce5DATA=  r_rot_per = rot_rand_perDATA=  r_rot_abs = rot_rand_absDATAL =  randScale = g_randScaleDATA =  randThin = g_randScale1DATA =  leafscale = lfsclDATA4 =  resLOD = resolutionLODREEDATA =  prune = g_pruneenDATA =  prunefirst = g_prunefirstDATA =  maxdepth = g_maxdepthDATAd =  thickness = g_thicknessEDATA =  conism = g_conismDATA =  shorten = g_shorten5DATA(D =  min_prune_level = g_min_prune_level DATA( =  max_prune_level = g_max_prune_levelDATA = eenDATA, =  lsystem = axiom, DATA t =  for i in range(iterations):DATA, =  lsystem = grow(lsystem,grow_rules,i,1)DATA0$=  final_string = finalize(lsystem,final_rules) DATA=  mesh = NMesh.GetRaw()DATA=  leafmesh = NMesh.GetRaw()DATA=  sampleleaf = NoneDATAd=  if leafobj:DATA4=  sampleleaf = generate_sample_leaf(leafobj.data)DATAX =  get_mesh(mesh,leafmesh,final_string,resolution,rot_rand_per,rot_rand_abs,sampleleaf)DATA=  NMesh.PutRaw(mesh,"tree")DATA$=  NMesh.PutRaw(leafmesh,"leaves")DATA<=  NMDATAt= bleDATA= eenDATA= DATA= -DATAT= def rot_randomize(rot):DATA8= # return rot + (-rot * random.random() * r_rot_per) DATA=  return rotDATAD= TXd= ,O= \]< TXMatrix.pyD= /= /= /= J= DATAD= = /=  *DATA= = D= ,0= @DATA= = = d0= (s,vDATA= d= = 0= (s,vDATAd= = = 0= &8DATA= = d= <1= |_DATA= <= = t1= DATA<= = = 1= &DATA= = <= 2= XaDATA= = = L2= CDATA= \= = 2= 1DATA\= = = 2= DATA= = \= 43= DATA= 4= = |3= 1DATA4= |= = 3= DATA|= = 4= 4= DATA=  = |= d4= 4DATA = T= = 4= CDATAT= = = 5= DATA= = T= L5= \XaDATA= ,= = 5= DATA,= t= = 6= DATAt= = ,= T6= 2DATA= = t= 6= DATA= L= = 6= DDATAL= = = <7= DATA= = L= 7= !DATA= $ = = 7= XaDATA$ = l = = 8= DATAl =  = $ = d8= DATA =  = l = 8= XaDATA = D!= = 9= DATAD!= != = l9= %DATA!= != D!= 9= DATA!= "= != 9= @DATA"= d"= != L:= 5 DATAd"= "= "= := MDATA"= "= d"= := DATA"= <#= "= D;= !CDATA<#= #= "= ;= DATA#= #= <#= ;= FREEDATA#= $= #= $<= !DATA$= \$= #= |<= DATA\$= $= $= <= &XaDATA$= $= \$= $== DATA$= 4%= $= \== "DATA4%= |%= $= == DATA|%= %= 4%= t>= DATA%=  &= |%= >= #DATA &= T&= %= ?= DATAT&= &= &= ?= DATA&= &= T&= ?= DATA&= ,'= &= L@= 1DATA,'= t'= &= @= DATAt'= '= ,'= @= &DATA'= (= t'= DA= DATA(= L(= '= A= DATAL(= (= (= A= BXaDATA(= (= L(= LB= BDATA(= $)= (= B= $yDATA$)= l)= (= C= $FCDATAl)= )= $)= tC= @vDATA)= )= l)= C= )DATA)= D*= )= D= DATAD*= *= )= TD= DATA*= *= D*= D= BDATA*= += *= E= BDATA+= d+= *= E= DATAd+= += += E= DATA+= += d+= F= DATA+= <,= += TF= $DATA<,= ,= += F= DATA,= ,= <,= F= DATA,= -= ,= = uCDATA$>= def transform_matrix_to_dest(m,mt):DATA?=  return [transform_dir_to_dest(m,mt[0]), transform_dir_to_dest(m,mt[1]), transform_dir_to_dest(m,mt[2]), transform_point_to_dest(m,mt[3])]DATA?= DATA ?= def matrix_advance(m,alpha):DATA4L@=  m[3] = vec_add(m[3],vec_scal_mul(m[1],alpha))DATA@= DATA(@= def matrix_rotate_about_side(m,alpha):DATADA=  ca = cos(alpha)DATAA=  sa = sin(alpha)DATADA=  new_f = vec_add(vec_scal_mul(m[1],ca) , vec_scal_mul(m[2],sa))DATADLB=  new_u = vec_sub(vec_scal_mul(m[2],ca) , vec_scal_mul(m[1],sa))DATA(B=  m[1][0], m[1][1],m[1][2] = new_fDATA(C=  m[2][0], m[2][1],m[2][2] = new_uDATAtC= DATA,C= def matrix_rotate_about_forward(m,alpha):DATA D=  ca = cos(alpha)DATATD=  sa = sin(alpha)DATADD=  new_s = vec_sub(vec_scal_mul(m[0],ca) , vec_scal_mul(m[2],sa))DATADE=  new_u = vec_add(vec_scal_mul(m[2],ca) , vec_scal_mul(m[0],sa))DATAE=  m[0] = new_sDATAE=  m[2] = new_uDATAF= aDATA(TF= def matrix_rotate_about_up(m,alpha):DATAF=  ca = cos(alpha)DATAF=  sa = sin(alpha)DATAD = TXrulesets.pyO= = d{= d{=  #> DATAO=  P= ,= reenDATA P= TP= O= l= DATATP= P= P= = l):DATAP= P= TP= = reenDATAP= ,Q= P= ,= DATA,Q= tQ= P= t= DATAtQ= Q= ,Q= = )enDATAQ= R= tQ= = reenDATAR= LR= Q= D= reenDATALR= R= R= = reenDATAR= R= LR= ĸ= reenDATAR= $S= R= = [1,p2DATA$S= lS= R= = def DATAlS= S= $S= ̹= --- DATAS= S= lS= = --- DATAS= DT= S= T= FREEDATADT= T= S= = DATAT= T= DT= ̺= 0|ScDATAT= U= T= = DATAU= dU= T= <= DATAdU= U= U= = DATAU= U= dU= Ļ= VDATAU= DATA܊= $= = = DATA$= l= ܊= $= [,p2,DATAl= = $= = DATA= = l= = DATA= D= = 4= EDATAD= = = = DATA= Ԍ= D= = reenDATAԌ= = = $= DATA= d= Ԍ= \= g h DATAd= = = = DATA= = d= = DATA= <= = = ,DATA<= = = l= DATA= ̎= <= = eenDATA̎= = = = VDATA= \= ̎= l= DATA\= = = = [DATA= = \= = RDDATA= 4= = l= DATA4= |= = = DATA|= Đ= 4= = TDATAĐ=  = |= l= DATA = T= Đ= = DATAT= = = = inalDATA= = T= $= )DATA= ,= = = DATA,= t= = = \reenDATAt= = ,= L= growDATA= = t= = reenDATA= L= = = FREEDATAL= = = = FREEDATA= ܓ= L= d= DATAܓ= $= = = DATA$= l= ܓ= \= DATAl= = $= = ['h2DATA= = l= = ['hDATA= D= = > DATAD= = = > DATA= ԕ= D= > aDATAԕ= = = D>  DATA= d= ԕ= |> DATAd= = = > xADATA= = d= > DATA= <= = <> k,'h'DATA<= = = > DATA= ̗= <= > ts.pDATA̗= = = T> DATA= \= ̗= >  DATA\= = = > DATA= = \= > _forDATA= 4= = L> epeaDATA4= |= = > DATA|= ę= 4= > ,p1)DATAę=  = |= > V,lenDATA = T= ę= > DATAT= = = > REEDATA= = T= > ',[DATA= ,= = d> ,'brDATA,= t= = > r',[DATAt= = ,= > d',[DATA= = t= t>  DATA= L= = > DATAL= = = > dDATA= ܜ= L= > XaDATAܜ= $= = > DATA$= l= ܜ= > DATAl= = $= < > )al_rDATA= = l= > DATA= D= = > [,lenDATAD= = = d > ,lenDATA= Ԟ= D= > caleDATAԞ= = = > EanchDATA= d= Ԟ= \ > epeaDATAd= = = > [DATA= = d= > ts.pDATA= <= = >  [DATA<= = = D > DATA= ̠= <= > DATA̠= = = > DATA= \= ̠=  > DATA\= = = L > DATA= = \= > VDATA= 4= = > FREEDATA4= |= = L> DATA|= Ģ= 4= > dDATAĢ=  = |= $> dBDATA = T= Ģ= \> DATAT= = = > dNDATA= = T= 4> DATA= ,= = l> DATA,= t= = > |UDATAt= = ,= > )DATA= = t= L> DATA= L= = > FREEDATAL= = = > X@aDATA= ܥ= L= L> p2,pDATAܥ= $= = > DATA$= l= ܥ= > e0 trDATAl= = $= d>  MesDATA= = l= > [DATA= D= = > 'DATAD= = = > DATA= ԧ= D= L> DATAԧ= = = > eenDATA= d= ԧ= > VDATAd= = = \> DATA= = d= > FREEDATA= <= = > ,DATA<= = = $> DATA= ̩= <= \> [ [DATA̩= = = > 9DATA= \= ̩= >  DATA\= = = D> ,[[DATA= = \= > tDATA= 4= = >  DATA4= |= = > DATA|= ī= 4= T> DATAī=  = |= >  DATA = T= ī= > @DATAT= = = > ܰDATA= = T= \> )DATA= ,= = > DATA,= t= = > xADATAt= = ,= ,> YDATA= = t= > reenDATA= L= = > 8DATAL= = = <> a<8DATA= ܮ= L= > at,rDATAܮ= $= = > reenDATA$= l= ܮ= L> DATAl= = $= > DATA= = l= > DATA= D= = > ulesDATAD= = = D> Vat,rDATA= ԰= D= > DATA԰= = = > DATA= d= ԰= D> DATAd= = = > DATA= = d= > @DDATA= <= = > 9DATA<= = = |> 1DATA= ̲= <= > DATA̲= = = > DATA= \= ̲= L > DATA\= = = > DATA= = \= > FREEDATA= 4= = !> DATA4= |= = L!> DATA|= Ĵ= 4= !> DATAĴ=  = |= !> )DATA = T= Ĵ= ,"> :onDATAT= = = d"> eat,DATA= = T= "> (repDATA= = "> _scaDATA,= pi = 3.1415926DATAl= 7DATA= def lrepeat(num,l):DATA =  res = []DATA,=  for i in range(num):DATAt=  res.extend(l)enDATA=  return resDATA= def lcat(la,lb):eenDATAD=  la.extend(lb)DATA =  return laDATAĸ= DATA\= def b_straight(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATA=  grow_rules = [DATA ̹=  ['h', EEDATA =  ['e','lf','h']DATAT=  ],DATA=  ['lf', []DATA̺=  ],5DATA=  ]EDATA<=  terminal_rules = [DATA =  ['g',DATAXĻ=  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])rDATAL=  ],DATA =  ['a',[DATAļ=  ['rS',pi * 0.5]EEDATA=  ]],DATAL=  ]DATA=  axiom = ['a','h']DDATA,̽=  return [axiom,grow_rules,terminal_rules]DATA,= ef DATA\d= def b_fork1_2d(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATA=  grow_rules = [DATA,4=  ['h', EDATA<=  lcat(lrepeat(repeat,['e',['br','h']]),['lf','h'])EDATA=  ],DATA<=  ['lf', []DATA|=  ],f'DATA=  ]DATA=  terminal_rules = [DATA 4=  ['a',[EEDATAt=  ['rS',pi * 0.5]DATA=  ]],DATA =  ['g',REEDATAX<=  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATA=  ],DATA =  ['br',[DATAT<=  ['s',branch_scale,lenscale],['rU',branch_angle],['rS',- (p1 - 0.5) * pi]DATA=  ]],DATA=  ]DATA4=  axiom = ['a','h']DATA,|=  return [axiom,grow_rules,terminal_rules]DATA= eenDATA\= def b_fork1_3d(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATA=  grow_rules = [DATA,=  ['h', EDATA<D=  lcat(lrepeat(repeat,['e',['br','h']]),['lf','h'])EDATA=  ],DATA=  ['lf', []REEDATA,=  ],DATAd=  ]DATA=  terminal_rules = [DATA =  ['a',[`DATA$=  ['rS',pi * 0.5]DATAt=  ]],DATA =  ['g',`DATAX=  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATAt=  ],DATA =  ['br',['DATAh=  ['s',branch_scale,lenscale],['rS',- (p1 - 0.5) * pi],['rF',-pi * 0.5],['rS',-branch_angle] DATA=  ]],rDATA=  ]DATA=  axiom = ['a','h']DATA,<=  return [axiom,grow_rules,terminal_rules]DATA= ef DATA`= def b_split2_2d(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATAd=  grow_rules = [DATA =  ['h', DATAL=  lcat(lrepeat(repeat,['e','cr',['br','h2'],['bl','h2']]),['lf'])1EDATAd=  ],5DATA =  ['h2', EDATAH=  lcat(lrepeat(repeat,['e','cl',['br','h'],['bl','h']]),['lf'])DATAT=  ],DATA=  ['lf', []DATA=  ],f'DATA=  ]DATA<=  terminal_rules = [DATA =  ['g', ['DATAX=  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATAL=  ],DATA =  ['a',[DATA=  ['rS',pi * 0.5]EEDATA=  ]],DATA L=  ['br',[EDATA<=  ['s',branch_scale,lenscale],['rU',branch_angle]DATA=  ]],DATA 4=  ['bl',[EDATA<t=  ['s',branch_scale,lenscale],['rU',-branch_angle]EDATA=  ]],DATA =  ['cr',[DATA$\=  ['rU',(p1 - 0.5) * pi]DATA=  ]],,DATA =  ['cl',[EDATA$,=  ['rU',-(p1 - 0.5) * pi]DATA=  ]]DATA=  ]DATA=  axiom = ['a','h']nDATA,<=  return [axiom,grow_rules,terminal_rules]EEDATA= eenDATA`= def b_split2_3d(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATAd=  grow_rules = [DATA =  ['h', [ DATAD=  lcat(lrepeat(repeat,['e',['br','h'],['bl','h']]),['lf'])enDATA\=  ],DATA=  ['lf', []DATA=  ],f'DATA =  ]DATAD=  terminal_rules = [DATA =  ['g',DATAX=  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATAT=  ],DATA =  ['a',[DATA=  ['rS',pi * 0.5]EEDATA=  ]],DATA T=  ['br',[DATAd=  ['s',branch_scale,lenscale],['rF',pi * 0.5],['rS',branch_angle],['rS',- (p1 - 0.5) * pi]DATA,=  ]],DATA d=  ['bl',[DATAh=  ['s',branch_scale,lenscale],['rF',pi * -0.5],['rS',branch_angle],['rS', (p1 - 0.5) * pi]DATA<=  ]]xDATAt=  ]DATA=  axiom = ['a','h']DATA,=  return [axiom,grow_rules,terminal_rules]DATAT= DATA`= def b_fork1_alt_2d(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATA=  rep_half = repeat / 2DATAd=  rep_odd = repeat % 25DATA=  if rep_odd:DATA=  grow_rules = [enDATA4=  ['h', DATA`t=  lcat(lrepeat(rep_half,['e',['bl','h'],'e',['br','h']]),['e',['bl','h'],'lf','h2'])DATA=  ],DATA <=  ['h2',DATA`|=  lcat(lrepeat(rep_half,['e',['br','h'],'e',['bl','h']]),['e',['br','h'],'lf','h'])DATA =  ],DATAD=  ['lf', []DATA=  ],DATA=  ]DATA=  else:DATA,=  grow_rules = [[DATAt=  ['h', DATAP=  lcat(lrepeat(rep_half,['e',['bl','h'],'e',['br','h']]),['lf','h'])DATA4=  ],DATAl=  ['lf', []DATA=  ],DATA=  ]DATA=  terminal_rules = [DATA d=  ['a',[t3DATA=  ['rS',pi * 0.5]EEDATA=  ]],eDATA ,=  ['g',DATAXl=  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATA=  ],'CDATA ,=  ['br',[DATATl=  ['s',branch_scale,lenscale],['rU',branch_angle],['rS',- (p1 - 0.5) * pi]DATA=  ]],DATA ,=  ['bl',[DATAXl=  ['s',branch_scale,lenscale],['rU',-branch_angle],['rS',- (p1 - 0.5) * pi]DATA=  ]]DATA,=  ]DATAd=  axiom = ['a','h']DATA,=  return [axiom,grow_rules,terminal_rules]DATA = eenDATA`D= def b_fork1_alt_3d(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATA=  rep_half = repeat / 2 DATA=  rep_odd = repeat % 22_DATAd=  if rep_odd:b%DATA=  grow_rules = [orDATA=  ['h', DATA`,=  lcat(lrepeat(rep_half,['e',['bl','h'],'e',['br','h']]),['e',['bl','h'],'lf','h2'])DATA=  ],DATA=  ['h2', DATA`4=  lcat(lrepeat(rep_half,['e',['br','h'],'e',['bl','h']]),['e',['br','h'],'lf','h'])DATA=  ],DATA=  ['lf', []DATA<=  ],DATAt=  ]pDATA=  else:DATA=  grow_rules = [DATA,=  ['h', DATAPl=  lcat(lrepeat(rep_half,['e',['bl','h'],'e',['br','h']]),['lf','h'])DATA=  ],DATA$=  ['lf', []DATAd=  ],DATA=  ]EDATA=  terminal_rules = [DATA $=  ['a',[DATAd=  ['rS',pi * 0.5]DATA=  ]],DATA =  ['g',DATAX,=  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATA=  ],DATA =  ['br',[rDATAd,=  ['s',branch_scale,lenscale],['rF',pi * 0.5],['rS',branch_angle],['rF',- (p1 - 0.5) * pi]]DATA=  ]],'DATA =  ['bl',[dDATAh<=  ['s',branch_scale,lenscale],['rF',pi * -0.5],['rS',branch_angle],['rF',- (p1 - 0.5) * pi]DATA=  ]]DATA =  ]nDATAD=  axiom = ['a','h']DATA,=  return [axiom,grow_rules,terminal_rules]DATA= DATA\$= def b_fork2_2d(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATA=  grow_rules = [DATA =  ['h', DATAH4=  lcat(lrepeat(repeat,['e',['br','h'],['bl','h']]),['lf','h'])5DATA=  ],DATA=  ['lf', []DATA$=  ],f'DATA\=  ]DATA=  terminal_rules = [DATA =  ['a',[DATA=  ['rS',pi * 0.5]EEDATAl=  ]],DATA =  ['g', ['DATAX=  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATAl=  ],DATA =  ['br',[DATAT=  ['s',branch_scale,lenscale],['rU',branch_angle],['rS',- (p1 - 0.5) * pi]2DATAl=  ]],DATA =  ['bl',[DATAX=  ['s',branch_scale,lenscale],['rU',-branch_angle],['rS',- (p1 - 0.5) * pi]67DATAl=  ]]DATA=  ]DATA=  axiom = ['a','h']_DATA,$=  return [axiom,grow_rules,terminal_rules]DATA= eenDATA`= def b_fork2_alt(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):bDATAL=  rep_half = repeat / 2uDATA=  rep_odd = repeat % 2DATA=  if rep_odd:DATA=  grow_rules = [DATAd=  ['h', eseDATA=  lcat(lrepeat(rep_half,['e',['bl','h'],['br','h'],'e',['d','bl','h'],['d','br','h']]),['e',['bl','h'],['br','h'],'lf','h2'])DATA\=  ],DATA=  ['h2', %xDATA=  lcat(lrepeat(rep_half,['e',['d','bl','h'],['d','br','h'],'e',['bl','h'],['br','h']]),['e',['d','bl','h'],['d','br','h'],'lf','h'])DATA>  ],DATA>  ['lf', []DATA >  ],DATAD>  ]EDATA|>  else:DATA>  grow_rules = [DATA>  ['h', DATAl<>  lcat(lrepeat(rep_half,['e',['bl','h'],['br','h'],'e',['d','bl','h'],['d','br','h']]),['lf','h'])DATA>  ],DATA>  ['lf', []DATAT>  ],DATA>  ]DATA>  terminal_rules = [DATA >  ['a',[2_DATAL>  ['rS',pi * 0.5]EEDATA>  ]],DATA >  ['g',repDATAX>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATA>  ],DATA >  ['d',[eDATA>  ['rF',pi * 0.5]EEDATAd>  ]],DATA >  ['br',[rDATAh>  ['s',branch_scale,lenscale],['rS',- (p1 - 0.5) * pi],['rF',-pi * 0.5],['rS',-branch_angle]CONDATAt>  ]],DATA >  ['bl',[DATAh>  ['s',branch_scale,lenscale],['rS',- (p1 - 0.5) * pi],['rF',pi * 0.5],['rS',-branch_angle]DATA>  ]]DATA>  ]DATA>  axiom = ['a','h']DATA,< >  return [axiom,grow_rules,terminal_rules]EEDATA > eenDATA\ > def b_fork2_3d(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):DATAd >  grow_rules = [DATA >  ['h',DATAH >  lcat(lrepeat(repeat,['e',['br','h'],['bl','h']]),['lf','h'])5DATA\ >  ],5DATA >  ['lf', []DATA >  ],DATA >  ]DATAD >  terminal_rules = [DATA >  ['a',[DATA >  ['rS',1.5]rawDATA >  ]],DATA L >  ['g',DATAX >  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])eDATA>  ],DATA L>  ['br',[DATAh>  ['s',branch_scale,lenscale],['rS',- (p1 - 0.5) * pi],['rF',-pi * 0.5],['rS',-branch_angle]67DATA$>  ]],DATA \>  ['bl',[DATAh>  ['s',branch_scale,lenscale],['rS',- (p1 - 0.5) * pi],['rF',pi * 0.5],['rS',-branch_angle]DATA4>  ]]DATAl>  ]DATA>  axiom = ['a','h']DATA,>  return [axiom,grow_rules,terminal_rules]DATAL> EDATA> ef DATA\> def b_fork3(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):REEDATAL>  grow_rules = [DATA >  ['h', DATAh>  lcat(lrepeat(repeat,['e',['c','b','h'],['c','d','b','h'],['c','d','d','b','h']]),['lf','h'])5DATAd>  ],DATA>  ['lf', []DATA>  ],DATA>  ]]DATAL>  terminal_rules = [DATA >  ['g', ['DATAX>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATA\>  ],DATA >  ['a',[DATA>  ['rS',pi * 0.5]EEDATA$>  ]],DATA \>  ['b',[DATA<>  ['s',branch_scale,lenscale],['rS',branch_angle]EEDATA >  ]],DATA D>  ['c',[DATA$>  ['rU',(p1 - 0.5) * pi]py|DATA>  ]],DATA >  ['d',[EEDATA T>  ['rF',0.66666 * pi]'DATA>  ]]xDATA>  ]DATA>  axiom = ['a','h']_DATA,\>  return [axiom,grow_rules,terminal_rules]_rDATA> eDATA> eDATA\,> def b_split3(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,p1):EEDATA>  grow_rules = [DATA >  ['h', EDATAd<>  lcat(lrepeat(repeat,['e',['c','b','h'],['c','d','b','h'],['c','d','d','b','h']]),['lf'])DATA>  ],DATA >  ['lf', []DATAL>  ],f'DATA>  ]DATA>  terminal_rules = [DATA >  ['g',DATAXD>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATA>  ],DATA >  ['a',[DATAD>  ['rS',pi * 0.5]DATA>  ]],DATA >  ['b',[DATA< >  ['s',branch_scale,lenscale],['rS',branch_angle]DATA|>  ]],DATA >  ['c',[DATA$>  ['rU',(p1 - 0.5) * pi]DATAL >  ]],DATA >  ['d',[DATA >  ['rF',0.66666 * pi]ADATA!>  ]]DATAL!>  ]DATA!>  axiom = ['a','h']DATA,!>  return [axiom,grow_rules,terminal_rules]n.DATA,"> VDATAd"> 1DATA"> DATA"> TXd<'> > ,O= TXstemRules.py'> D]> 4+> 4+> ̖> DATA'> (> ]> reenDATA(> d(> '> ]> DATAd(> (> (> ^> |DATA(> (> d(> L^> DATA(> <)> (> ^> DATA<)> )> (> ^> DATA)> )> <)> _> DATA)> *> )> \_> DATA*> \*> )> _> DATA\*> *> *> _> DATA*> *> \*> $`> reenDATA*> 4+> *> \`> _DATA4+> |+> *> `> DATA|+> +> 4+> ,a> DATA+>  ,> |+> la> 9DATA ,> T,> +> a> ):nDATAT,> ,> ,> b> [DATA,> ,> T,> Tb> FREEDATA,> ,-> ,> b> DATA,-> t-> ,> b> 1(reDATAt-> -> ,-> c> ve,lDATA-> .> t-> Tc> eenDATA.> L.> -> c> VDATAL.> .> .> d> DATA.> .> L.> Td> \DATA.> $/> .> d> VDATA$/> l/> .> e> DATAl/> /> $/> Te> _DATA/> /> l/> e> DATA/> D0> /> e> DATAD0> 0> /> f> eenDATA0> 0> D0> \f> "[DATA0> 1> 0> f> DATA1> d1> 0> f> =DATAd1> 1> 1> ,g> DATA1> 1> d1> tg> DATA1> <2> 1> g> reenDATA<2> 2> 1> g> :DATA2> 2> <2> \h> DATA2> 3> 2> h> DATA3> \3> 2> h> DATA\3> 3> 3> i> )DATA3> 3> \3> ti> headDATA3> 44> 3> i> \):oDATA44> |4> 3> 1(reDATA|4> 4> 44> |j> ve,lDATA4>  5> |4> j> 5e,leDATA 5> T5> 4> $k> _scaDATAT5> 5> 5> \k> def DATA5> 5> T5> k> DATA5> ,6> 5> k> rDATA,6> t6> 5> l> VDATAt6> 6> ,6> l> DATA6> 7> t6> l> DATA7> L7> 6> m> ,DATAL7> 7> 7> lm> DATA7> 7> L7> m> ]nDATA7> $8> 7> m> WuDATA$8> l8> 7> ln> DATAl8> 8> $8> n> DATA8> 8> l8> n> `~DATA8> D9> 8> $o> )ADATAD9> 9> 8> o> esolDATA9> 9> D9> o> FREEDATA9> :> 9> o> `esolDATA:> d:> 9> p>  groDATAd:> :> :> p>  = [DATA:> :> d:> q> DATA:> <;> :> \q> DATA<;> ;> :> q> DATA;> ;> <;> q> XDATA;> <> ;> tr> DATA<> \<> ;> r> ['p2DATA\<> <> <> r> W ['pDATA<> <> \<> ts> FREEDATA<> 4=> <> s> DATA4=> |=> <> s> DXDATA|=> => 4=> t> DATA=>  >> |=> dt> DATA >> T>> => t> HVDATAT>> >> >> $u> DATA>> >> T>> \u> DATA>> ,?> >> u> def DATA,?> t?> >> u> DATAt?> ?> ,?> v> VXaDATA?> @> t?> v> DATA@> L@> ?> v> DATAL@> @> @> w> DATA@> @> L@> lw> DATA@> $A> @> w> DATA$A> lA> @> w> WDATAlA> A> $A> lx> DATAA> A> lA> x> reenDATAA> DB> A> x> XDATADB> B> A> ty> DATAB> B> DB> y> DATAB> C> B> y> @DATAC> dC> B> ,z> )DATAdC> C> C> z> py| DATAC> C> dC> z> reenDATAC>  C> z> `DATA D> C> {> DATAD> D> {> py| DATAD> E> D> $|> DATAE> \E> D> d|> DATA\E> E> E> |> DATAE> E> \E> |> DATAE> 4F> E> }> DATA4F> |F> E> }> ['p2DATA|F> F> 4F> ~> ['pDATAF>  G> |F> ~> PDATA G> TG> F> > DATATG> G> G> L> DATAG> G> TG> > DATAG> ,H> G> > ['pDATA,H> tH> G> > f['p'DATAtH> H> ,H> > FREEDATAH> I> tH> ܀> x5| DATAI> LI> H> > ]DATALI> I> I> \> \"?DATAI> I> LI> > VDATAI> $J> I> $> gDATA$J> lJ> I> \> ,[[DATAlJ> J> $J> > lrepDATAJ> J> lJ> > ,['qDATAJ> DK> J> $> DATADK> K> J> d> DATAK> K> DK> > gDATAK> L> K> > DATAL> dL> K> ,> WDATAdL> L> L> > DATAL> L> dL> > DATAL>  L> ,> XDATA M> L> > DATAM> M> > DATAM> N> M> ,> FREEDATAN> \N> M> t> )DATA\N> N> N> Ԇ> onV,DATAN> N> \N> > \(repDATAN> 4O> N> > _scaDATA4O> |O> N> ܇> (repDATA|O> O> 4O> > `ve,lDATAO>  P> |O> > DATA P> TP> O> > DATATP> P> P> $> DATAP> P> TP> l> DATAP> ,Q> P> > VDATA,Q> tQ> P> 4> DATAtQ> Q> ,Q> l> DATAQ> R> tQ> > DATAR> LR> Q> > DATALR> R> R> 4> DATAR> R> LR> t> DATAR> $S> R> > DATA$S> lS> R> > DATAlS> S> $S> 4> 9DATAS> S> lS> > DATAS> DT> S> ܌> DATADT> T> S> > XaDATAT> T> DT> l> DATAT> U> T> > DATAU> dU> T> ܍> DATAdU> U> U> $> )DATAU> U> dU> > DATAU>  U> > \olutDATA V> U> L> :utDATAV> V> > (repDATAV> W> V> ̏> HDATAW> \W> V> L> ,aDATA\W> W> W> > es.pDATAW> W> \W> > DATAW> 4X> W> > DATA4X> |X> W> D> VDATA|X> X> 4X> ̑> .pyDATAX>  Y> |X> > DATA Y> TY> X> D> DATATY> Y> Y> > DATAY> Y> TY> ̒> DATAY> ,Z> Y> > XaDATA,Z> tZ> Y> T> DATAtZ> Z> ,Z> > DATAZ> [> tZ> ̓> Is.pyDATA[> L[> Z> L> DATAL[> [> [> > DATA[> [> L[> Ĕ> JDATA[> $\> [> D> XaDATA$\> l\> [> |> DATAl\> \> $\> > DATA\> \> l\> > )DATA\> D]> \> \> DATAD]> \> > DATA]> pi = 3.1415926DATA]> i =DATA^> def lrepeat(num,l):DATA L^>  res = []DATA^>  for i in range(num):DATA^>  res.extend(l)DATA_>  return resDATA\_> def lcat(la,lb):ionDATA_>  la.extend(lb)DATA _>  return laDATA$`> (DATA`\`> def s_straight(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,orient):DATA`>  grow_rules = [DATA ,a>  ['p', EDATA<la>  lcat(['u'],lrepeat(repeat,['v',['tr','o','h']]))DATAa>  ],DATA b>  ['u', 1DATATb>  ['q','u']DATAb>  ]DATAb>  ]DATA c>  terminal_rules = [DATA Tc>  ['u',1DATAXc>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATAd>  ],DATA Td>  ['q',['qDATAXd>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATAe>  ],DATA Te>  ['a',[EEDATAe>  ['rS',pi * 0.5]DATAe>  ]],DATA f>  ['v',[DATA$\f>  ['rF',2.0 * pi / repeat]nDATAf>  ]],DATA f>  ['o',[o'DATA,g>  ['rF',orient]DATAtg>  ]],DATA g>  ['tr',[DATA<g>  ['s',branch_scale,lenscale],['rS',-branch_angle]EDATA\h>  ]],'DATAh>  ]DATAh>  axiom = ['a','p']rDATA,i>  return [axiom,grow_rules,terminal_rules]DATAti> DATA`i> def s_fork1(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,orient):DATA  grow_rules = [DATA |j>  ['p', DATA8j>  lcat(lrepeat(repeat,['q',['tr','h']]),['p'])DATA$k>  ]h_aDATA\k>  ]DATAk>  terminal_rules = [DATA k>  ['q',DATAXl>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATAl>  ],DATA l>  ['a',[erDATAm>  ['rS',pi * 0.5]DATAlm>  ]],DATA m>  ['tr',[DATAXm>  ['s',branch_scale,lenscale],['rF',pi * 0.5],['rS',branch_angle],['rF',orient]DATAln>  ]],'DATAn>  ]DATAn>  axiom = ['a','p']DATA,$o>  return [axiom,grow_rules,terminal_rules]DATAo> eenDATAo> mDATAdo> def s_fork1_alt(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,orient):%x DATAp>  rep_half = repeat / 2lDATAp>  rep_odd = repeat % 2 DATAq>  if rep_odd:lt_DATA\q>  grow_rules = [DATAq>  ['p', DATA\q>  lcat(lrepeat(rep_half,['q',['tl','h'],'q',['tr','h']]),['q',['tl','h'],'p2'])1DATAtr>  ],DATAr>  ['p2', DATAXr>  lcat(lrepeat(rep_half,['q',['tr','h'],'q',['tl','h']]),['q',['tr','h'],'p'])DATAts>  ],DATAs>  ]DATAs>  else:DATAt>  grow_rules = [DATAdt>  ['p', DATALt>  lcat(lrepeat(rep_half,['q',['tl','h'],'q',['tr','h']]),['p'])REEDATA$u>  ]DATA\u>  ]DATAu>  terminal_rules = [DATA u>  ['q',DATAXv>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATAv>  ],DATA v>  ['a',[DATAw>  ['rS',pi * 0.5]DATAlw>  ]],DATA w>  ['tr',[DATAXw>  ['s',branch_scale,lenscale],['rF',pi * 0.5],['rS',branch_angle],['rF',orient]DATAlx>  ]],DATA x>  ['tl',[DATA\x>  ['s',branch_scale,lenscale],['rF',-pi * 0.5],['rS',branch_angle],['rF',orient]1DATAty>  ]],'DATAy>  ]DATAy>  axiom = ['a','p']DATA,,z>  return [axiom,grow_rules,terminal_rules]DATAz> ,rDATAz> nDATAdz> def s_fork2_alt(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,orient):DATA{>  rep_half = repeat / 2DATA{>  rep_odd = repeat % 2DATA$|>  if rep_odd:DATAd|>  grow_rules = [DATA|>  ['p', REEDATA|>  lcat(lrepeat(rep_half,['q',['tl','h'],['tr','h'],'q',['v','tl','h'],['v','tr','h']]),['q',['tl','h'],['tr','h'],'p2']) rDATA}>  ],DATA}>  ['p2', DATA~>  lcat(lrepeat(rep_half,['q',['v','tl','h'],['v','tr','h'],'q',['tl','h'],['tr','h']]),['q',['v','tl','h'],['v','tr','h'],'p'])EDATA~>  ],DATA>  ]]DATAL>  else:DATA>  grow_rules = [DATA>  ['p', DATAh >  lcat(lrepeat(rep_half,['q',['tl','h'],['tr','h'],'q',['v','tl','h'],['v','tr','h']]),['p'])DATA>  ],DATA܀>  ]]DATA>  terminal_rules = [DATA \>  ['q',DATAX>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATA$>  ],DATA \>  ['v',[DATA>  ['rF',pi * 0.5]DATA>  ]],DATA $>  ['a',[EEDATAd>  ['rS',pi * 0.5]DATA>  ]],DATA >  ['tr',[DATAX,>  ['s',branch_scale,lenscale],['rF',pi * 0.5],['rS',branch_angle],['rF',orient]DATA>  ]],DATA >  ['tl',[DATA\,>  ['s',branch_scale,lenscale],['rF',-pi * 0.5],['rS',branch_angle],['rF',orient]DATA>  ]],DATA>  ]DATA,>  axiom = ['a','p']DATA,t>  return [axiom,grow_rules,terminal_rules]DATAԆ> eenDATA` > def s_fork3(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,orient):DATA>  grow_rules = [DATA ܇>  ['p', EDATAd>  lcat(lrepeat(repeat,['q',['x','o','h'],['w','x','o','h'],['w','w','x','o','h']]),['p'])DATA>  ]DATA>  ]DATA$>  terminal_rules = [DATA l>  ['q',1EDATAX>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATA4>  ],DATA l>  ['a',[DATA>  ['rS',pi * 0.5]DATA>  ]],DATA 4>  ['o',[DATAt>  ['rF',orient]DATA>  ]],DATA >  ['x',[DATA<4>  ['s',branch_scale,lenscale],['rS',branch_angle]DATA>  ]],DATA ܌>  ['w',[DATA >  ['rF',0.66666 * pi]EEDATAl>  ]]DATA>  ]DATA܍>  axiom = ['a','p']DATA,$>  return [axiom,grow_rules,terminal_rules]CDATA> DATA`> def s_fork2(repeat,rotF,curve,length,branch_scale,lenscale,branch_angle,resolutionV,orient):DATAL>  grow_rules = [DATA >  ['p', eDATAL̏>  lcat(lrepeat(repeat,['q',['tl','o','h'],['tr','o','h']]),['p'])DATAL>  ]hDATA>  ] DATA>  terminal_rules = [DATA >  ['q',REEDATAXD>  lrepeat(resolutionV,[['a',(length / resolutionV)],['rS',curve],['rF',rotF]])DATȂ>  ],DATA >  ['a',[DATAD>  ['rS',pi * 0.5]DATA>  ]],DATA ̒>  ['o',[DATA >  ['rF',orient]DATAT>  ]],DATA >  ['tr',[DATAL̓>  ['s',branch_scale,lenscale],['rF',pi * 0.5],['rS',branch_angle]ulDATAL>  ]],DATA >  ['tl',[DATALĔ>  ['s',branch_scale,lenscale],['rF',-pi * 0.5],['rS',branch_angle]DATAD>  ]]DATA|>  ]DATA>  axiom = ['a','p']DATA,>  return [axiom,grow_rules,terminal_rules]EWDATA\> hDATA> ef TXd> u? <'> TXrandom.py> l> ? > > ##q? DATA0> D:\Armagan\Blender\Lsystem\New Folder\random.pyDATA> <> T? DATA<> > > ? DATA> ̜> <> ? #pADATA̜> > > 4? " DATA> \> ̜> ? DATA\> > > ? DATA> > \> $? DATA> 4> > t? DATA4> |> > ?  DATA|> Ğ> 4> ? BDATAĞ>  > |> 4? 1DATA > T> Ğ> ? 1 DATAT> > > ? DATA> > T> T?  FDATA> ,> > ? BDATA,> t> > ? 5DATAt> > ,> <? DATA> > t> t? BDATA> L> > ? ANDATAL> > > d? &DATA> ܡ> L> ? DATAܡ> $> > ? DATA$> l> ܡ> , ? DATAl> > $> l ? NDATA> > l> ? 6' DATA> D> > T ? DATAD> > > ? >DATA> ԣ> D> ? @DATAԣ> > > t ? DATA> d> ԣ> ? DATAd> > > ? EDATA> > d> l ? DATA> <> > ? BDATA<> > >  ? `BDATA> ̥> <> T ? DATḀ> > > ? DATA> \> ̥> ? @DDATA\> > > ? 39 lDATA> > \> T? DATA> 4> > ? DATA4> |> > ? DATA|> ħ> 4> ,? DATAħ>  > |> t? DATA > T> ħ> ? DATAT> > > ? |DATA> > T> L? /^DATA> ,> > ? DATA,> t> > ? 7DATAt> > ,> 4? DATA> > t> l? -kDATA> L> > ? DATAL> > > ? DATA> ܪ> L> <? nDATAܪ> $> > ? DATA$> l> ܪ> ? DATAl> > $> ? #@DATA> > l> \? DATA> D> > ? DATAD> > > ? DATA> Ԭ> D> 4? ?DATAԬ> > > ? pfDATA> d> Ԭ> ? 36 lDATAd> > > ? .00DATA> > d> l? ? DATA> <> > ? DATA<> > > $? '^DATA> ̮> <> |? BDATA̮> > > ? DATA> \> ̮> ? .ZDATA\> > > d? DATA> > \> ? DATA> 4> > ? @@DATA4> |> > \? DATA|> İ> 4> ? DATAİ>  > |> ? 1 02DATA > T> İ> ,? 1 17DATAT> > > t? $1 00DATA> > T> ?  uDATA> ,> > ? J uDATA,> t> > ? DATAt> > ,> ? DATA> > t> ? ?DATA> L> > ? ,rDATAL> > > ? %BDATA> ܳ> L> ? )DATAܳ> $> > |? FREEDATA$> l> ܳ> ? (DATAl> > $> ,? DATA> > l> d? ; DATA> D> > ? 9DATAD> > > D? <<DATA> Ե> D> ? 'DATAԵ> > > ? systDATA> d> Ե> D? DATAd> > > ? DATA> > d> ? DATA> <> >  ? DATA<> > > T ? DATA> ̷> <> ? DATA̷> > > ? DATA> \> ̷> !? DATA\> > > d!? DATA> > \> !? BDATA> 4> > "? DATA4> |> > L"? DATA|> Ĺ> 4> "? %FREEDATAĹ>  > |> "? ane.DATA > T> Ĺ> ,#? <| DATAT> > > #? DATA> > T> #? DATA> ,> > $$? 1DATA,> t> > $? <CDATAt> > ,> $? DATA> > t> 4%? ,FREEDATA> L> > %? DATAL> > > %? DDATA> ܼ> L> D&? DATAܼ> $> > |&? DATA$> l> ܼ> &? DATAl> > $> '? 'DATA> > l> l'? DATA> D> > '? 6DATAD> > > '? CDATA> Ծ> D> ,(? DATAԾ> > > l(? 6DATA> d> Ծ> (? DATAd> > > (? BDATA> > d> d)? DATA> <> > )? DATA<> > > )? ConsDATA> > <> ,*? DATA> > > d*? DATA> \> > *? 4 DATA\> > > +? .CDATA> > \> |+? -orldDATA> 4> > +? DATA4> |> > ,? 6DATA|> > 4> |,? 5PainDATA>  > |> ,?  ADATA > T> > 4-? DATAT> > > l-? 3DATA> > T> -? DATA> ,> > $.? DATA,> t> > \.? FREEDATAt> > ,> .? DATA> > t> .? DATA> L> > ,/? *DATAL> > > /? &DATA> > L> /? @DATA> $> > 40? DATA$> l> > l0? DATAl> > $> 0? DATA> > l> 0? DATA> D> > $1? DATAD> > > l1? cDATA> > D> 1? DATA> > > 2? DATA> d> > <2? *DATAd> > > |2? DATA> > d> 2? 9DATA> <> > $3? @DATA<> > > d3? DATA> > <> 3? DATA> > > 3? 9DATA> \> > 4? WCDATA\> > > t4? atDATA> > \> 4? DATA> 4> > 5? DATA4> |> > <5? DATA|> > 4> |5? FREEDATA>  > |> 5? >DATA > T> > $6? DATAT> > > \6? DATA> > T> 6? DATA> ,> > 6? ameDATA,> t> > ,7? DATAt> > ,> |7? #DATA> > t> 7? d DATA> L> > $8? @DATAL> > > 8? !DATA> > L> 8? pDATA> $> > $9? )pDATA$> l> > 9? DATAl> > $> 9? $`DATA> > l> :? DATA> D> > d:? DATAD> > > :? DATA> > D> :? DATA> > > ,;? DATA> d> > t;? 3EDATAd> > > ;? DATA> > d>  <> > \ > > > <> > > \=? 1 DATA> \> > =? DATA\> > > =? DATA> > \> <>? DATA> 4> > >? DATA4> |> > >? DATA|> > 4> ?? DATA>  > |> d??  DATA > T> > ?? DATAT> > > ?? 6LEDATA> > T> T@? BDATA> ,> > @? DATA,> t> > @? DATAt> > ,> A? DATA> > t> \A? DATA> L> > A? @DATAL> > > A? !DATA> > L> $B? DATA> $> > lB? 8DATA$> l> > B? - DATAl> > $> C? DATA> > l> D> > C? DATAD> > > C? DATA> > D> ,D? DATA> > > lD? !DATA> d> > D? DATAd> > > D?  DATA> > d> 4E? !DATA> <> > E?  0 .DATA<> > > E? ADATA> > <> F? 1 13DATA> > > TF?  uDATA> \> > F? -ADATA\> > > F? 217 lDATA> > \> dG? 48 lDATA> 4> > G? x.pyDATA4> |> > G? DATA|> > 4> H? DATA>  > |> TH? FDATA > T> > H? DATAT> > > I? DATA> > T> LI? DATA> ,> > I? DATA,> t> > I? 8FREEDATAt> > ,> > t> J? LEDATA> L> > J? #DATAL> > > K? #DATA> > L> lK? \DATA> $> > K? ;DATA$> l> > L? DATAl> > $> \L? FREEDATA> > l> L? BDATA> D> > M? DATAD> > > TM? ;^?DATA> > D> M? <DATA> > > 4N? ;DATA> d> > N? ;DATAd> > > O? >1 18DATA> > d> O? DATA> <> > O? DATA<> > > O? DATA> > <> DP? DATA> > > |P? DATA> \> > P? DATA\> > > Q? DATA> > \> DQ? DATA> 4> > Q? *D>DATA4> |> > Q? jW>DATA|> > 4>  > |> R? DATA > T> > R? [<?DATAT> > > S? DATA> > T> LS? 0DATA> ,> > S? DATA,> t> > S? >DATAt> > ,> > t> tT? ,DATA> L> > T? DATAL> > > U? |>DATA> > L> TU? DATA> $> > U? W>DATA$> l> > U? DATAl> > $> V? 2h !?DATA> > l> V? DATA> D> > V? >DATAD> > > W? DATA> > D> TW? DATA> > > W? c>DATA> d> > W? DATAd> > > X? FREEDATA> > d> TX? 3@>DATA> <> > X? @>DATA<> > > X? FREEDATA> > <> LY? ,DATA> > > Y? B?DATA> \> > Y? DATA\> > > $Z? &>DATA> > \> |Z? DATA> 4> > Z? 3DATA4> |> > [? <DATA|> > 4> [? (DATA>  > |> [? DATA > T> > $\? '+Q>DATAT> > > |\? GDATA> > T> \? DATA> ,> > ,]? CDATA,> t> > ]? @DATAt> > ,> ^? \DATA> > t> T^? ?DATA> L> > ^? EDATAL> > > <_? ?DATA> > L> _? $Ԯ>DATA> $> > `? 4?DATA$> l> > <`? _V>DATAl> > $> t`? %DATA> > l> `? @>DATA> D> > Da? !XDATAD> > > a? +Q>DATA> > D> a? DATA> > > $b? 8FREEDATA> d> > b? DATAd> > > b? DATA> > d> c? 4%?DATA> <> > dc? DATA<> > > c? 'DATA> > <> d? 'FREEDATA> > > dd? DATA> \> > d? -?DATA\> > > e? .DATA> > \> te? ,DATA> 4> > e? &DATA4> |> > ,f? /DATA|> > 4> f? ,DATA>  > |> f? ,DATA > T> > Lg? ,=DATAT> > > g? ,Z>DATA> > T> h? -DATA> ,> > lh? .4@>DATA,> t> > h? %- > ,> $i? +DATA> > t> i? (DATA> L> > i? .'7>DATAL> > > Dj? DATA> > L> |j? DATA> $> > j? DATA$> l> > k? DATAl> > $> dk? +z=DATA> > l> k? ?DATA> D> > l? >DATAD> > > Dl? DATA> > D> l? FREEDATA> > > l? lC>DATA> d> > m? DATAd> > > dm? DATA> > d> m? DATA> <> > m? `DATA<> > > 4n? DATA> > <> n? L! ? > n? DATA? \? > o? DATA\? ? ? to? DATA? ? \? o? !3?DATA? 4? ? p? .DATA4? |? ? lp? $)?DATA|? ? 4? p? DATA?  ? |? p? DATA ? ? Lq? DATA T? """Random variable generators.?DATA? DATA$?  distributions on the real line:DATA$4?  ------------------------------DATA ?  normal (Gaussian)DATA?  lognormalDATA $?  negative exponentialDATAt?  gammamagDATA?  betaDATA? DATA44?  distributions on the circle (angles 0 to 2pi)DATA4?  ---------------------------------------------BDATA?  circular uniformDATAT?  von MisesDATA? DATA8? Translated from anonymously contributed C/C++ source.DATA<? BDATADt? Multi-threading note: the random number generator used here is notDATAD? thread-safe; it is possible that two calls return the same randomDATA(d? value. See whrandom.py for more info.DATA? """DATA? DATA, ? import whrandomDATAPl ? from whrandom import random, uniform, randint, choice, randrange # For export!DATA8 ? from math import log, exp, pi, e, sqrt, acos, cos, sinDATAT ? DATA@ ? # Interfaces to replace remaining needs for importing whrandomDATAD ? # XXX TO DO: make the distribution functions below into methods.DATAt ? WDATA ? def makeseed(a=None):DATAH ?  """Turn a hashable value into three seed values for whrandom.seed().DATAl ? DATAD ?  None or no argument returns (0, 0, 0), to seed from current time.DATA ? DATAT ?  """DATA ?  if a is None:DATA ?  return (0, 0, 0)lDATA?  a = hash(a)DATAT?  a, x = divmod(a, 256)DATA?  a, y = divmod(a, 256)DATA?  a, z = divmod(a, 256)DATA,?  x = (x + a) % 256 or 1DATAt?  y = (y + a) % 256 or 1DATA?  z = (z + a) % 256 or 1DATA?  return (x, y, z)DATAL? UDATA? def seed(a=None):DATA8?  """Seed the default generator from any hashable value.DATA4? DATA0l?  None or no argument seeds from current time.DATA? DATA?  """DATA<?  x, y, z = makeseed(a)DATA?  whrandom.seed(x, y, z)DATA? iDATA$? class generator(whrandom.whrandom):DATA \?  """Random generator class."""DATA? fDATA ?  def __init__(self, a=None):DATA@4?  """Constructor. Seed from current time or hashable value."""DATA?  self.seed(a)DATA? 2 lDATA?  def seed(self, a=None):lopDATA@l?  """Seed the generator from current time or hashable value."""DATA?  x, y, z = makeseed(a)DATA($?  whrandom.whrandom.seed(self, x, y, z)DATA|? DATA? def new_generator(a=None):DATA0?  """Return a new random generator instance."""DATAd?  return generator(a)DATA? [DATAD? # Housekeeping function to verify that magic constants have beenDATA\? # computed correctlyDATA?  uDATA? def verify(name, expected):DATA,?  computed = eval(name) DATA(t?  if abs(computed - expected) > 1e-7:42 DATA?  raise ValueError, \r DATAL?  'computed value for %s deviates too much (computed %g, expected %g)' % \DATA ?  (name, computed, expected)EDATA? DATA@? # -------------------- normal distribution --------------------DATA? DATA(? NV_MAGICCONST = 4*exp(-0.5)/sqrt(2.0)DATA,? verify('NV_MAGICCONST', 1.71552776992141)DATA |? def normalvariate(mu, sigma):?DATA,?  # mu = mean, sigma = standard deviationDATA,? uDATA<d?  # Uses Kinderman and Monahan method. Reference: Kinderman,DATA<?  # A.J. and Monahan, J.F., "Computer generation of randomDATA@D?  # variables using the ratio of uniform deviates", ACM TransDATA(?  # Math Software, 3, (1977), pp257-260.DATA ? :DATA D?  while 1:DATA?  u1 = random()DATA?  u2 = random()DATA  ?  z = NV_MAGICCONST*(u1-0.5)/u2DATAT ?  zz = z*z/4.0EDATA ?  if zz <= -log(u2):ADATA ?  breakDATA!?  return mu+z*sigmaDATAd!? DATAD!? # -------------------- lognormal distribution --------------------DATA"? DATA L"? def lognormvariate(mu, sigma):DATA("?  return exp(normalvariate(mu, sigma)) PDATA"? | DATA@,#? # -------------------- circular uniform -------------------- DATA#? DATA #? def cunifvariate(mean, arc):DATA4$$?  # mean: mean angle (in radians between 0 and pi)EEDATA@$?  # arc: range of distribution (in radians between 0 and pi)DATA$? DATA04%?  return (mean + arc * (random() - 0.5)) % pi?DATA%? DATAH%? # -------------------- exponential distribution --------------------DATAD&? DATA|&? def expovariate(lambd):DATA &?  # lambd: rate lambd = 1/meanDATA('?  # ('lambda' is a Python reserved word)DATAl'? DATA'?  u = random()oDATA'?  while u <= 1e-7:DATA,(?  u = random()DATAl(?  return -log(u)/lambdFDATA(? DATAD(? # -------------------- von Mises distribution --------------------DATAd)? DATA)? TWOPI = 2.0*piDATA )? verify('TWOPI', 6.28318530718)DATA,*? DATA d*? def vonmisesvariate(mu, kappa):DATA8*?  # mu: mean angle (in radians between 0 and 2*pi)DATA0+?  # kappa: concentration parameter kappa (>= 0)DATA0|+?  # if kappa = 0 generate uniform random angle WDATA+? ADATA8,?  # Based upon an algorithm published in: Fisher, N.I.,DATA8|,?  # "Statistical Analysis of Circular Data", CambridgeDATA,?  # University Press, 1993.DATA4-? DATA4l-?  # Thanks to Magnus Kessler for a correction to theDATA -?  # implementation of step 4.DATA$.? DATA\.?  if kappa <= 1e-6:DATA.?  return TWOPI * random()DATA.? DATA,,/?  a = 1.0 + sqrt(1.0 + 4.0 * kappa * kappa)DATA(/?  b = (a - sqrt(2.0 * a))/(2.0 * kappa)DATA /?  r = (1.0 + b * b)/(2.0 * b)DATA40? DATA l0?  while 1:veDATA0?  u1 = random()DATA0? DATA$1?  z = cos(pi * u1)DATAl1?  f = (1.0 + r * z)/(r + z)DATA1?  c = kappa * (r - f)DATA2? DATA<2?  u2 = random()DATA|2? DATA<2?  if not (u2 >= c * (2.0 - c) and u2 > c * exp(1.0 - c)):DATA $3?  breakDATAd3? DATA3?  u3 = random()DATA3?  if u3 > 0.5:dDATA$4?  theta = (mu % TWOPI) + acos(f)DATAt4?  else:NDATA$4?  theta = (mu % TWOPI) - acos(f)DATA5? DATA<5?  return thetaDATA|5? DATA@5? # -------------------- gamma distribution --------------------DATA$6? 9DATA\6? LOG4 = log(4.0)DATA$6? verify('LOG4', 1.38629436111989)DATA6? DATA ,7? def gammavariate(alpha, beta):DATA$|7?  # beta times standard gammaDATA 7?  ainv = sqrt(2.0 * alpha - 1.0)DATAD$8?  return beta * stdgamma(alpha, ainv, alpha - LOG4, alpha + ainv)DATA8? s33DATA 8? SG_MAGICCONST = 1.0 + log(4.5)DATA,$9? verify('SG_MAGICCONST', 2.50407739677627)leDATA9? DATA(9? def stdgamma(alpha, ainv, bbb, ccc):s32DATA :?  # ainv = sqrt(2 * alpha - 1)DATAd:?  # bbb = alpha - log(4)DATA:?  # ccc = alpha + ainvDATA:? DATA,;?  if alpha <= 0.0:DATA4t;?  raise ValueError, 'stdgamma: alpha must be > 0.0'DATA;? DATA 1.0:EDATA\?  u1 = random() DATA>?  u2 = random()DATA >?  v = log(u1/(1.0-u1))/ainvDATA??  x = alpha*exp(v)DATAd??  z = u1*u1*u2DATA??  r = bbb+ccc*v-xDATA8??  if r + SG_MAGICCONST - 4.5*z >= 0.0 or r >= log(z):DATAT@?  return xDATA@? DATA@?  elif alpha == 1.0:DATAA?  # expovariate(1)DATA\A?  u = random()LDATAA?  while u <= 1e-7:DATAA?  u = random()DATA$B?  return -log(u)DATAlB? DATA0B?  else: # alpha is between 0 and 1 (exclusive)DATAC? DATAD 1DATAF?  x = -log((b-p)/alpha) DATATF?  u1 = random() uDATA0F?  if not (((p <= 1.0) and (u1 > exp(-x))) or- DATA4F?  ((p > 1) and (u1 > pow(x, alpha - 1.0)))):lDATA dG?  breakenDATA G?  return xDATAG? ^DATAH?  DATAHTH? # -------------------- Gauss (faster alternative) --------------------DATAH? DATAI? gauss_next = NoneDATALI? def gauss(mu, sigma):DATAI? DATA<I?  # When x and y are two variables from [0, 1), uniformlyDATADATAQ?  z = cos(x2pi) * g2radDATA$DATAR? DATAR?  return mu + z*sigmaDATAS? DATA4LS? # -------------------- beta --------------------?DATAS? h*?DATA S? def betavariate(alpha, beta):?DATADATA W?  # Jain, pg. 495DATATW? DATAW?  u = random()DATA W?  return 1.0 / pow(u, 1.0/alpha)DATAX? DATA4TX? # -------------------- Weibull --------------------DATAX? DATA$X? def weibullvariate(alpha, beta):DATA0LY?  # Jain, pg. 499; bug fix courtesy Bill Arms>DATAY? DATAY?  u = random()DATA($Z?  return alpha * pow(-log(u), 1.0/beta)DATA|Z? DATA4Z? # -------------------- shuffle --------------------DATA@[? # Not quite a random distribution, but a standard algorithm.>DATA,[? # This implementation due to Tim Peters.DATA[? DATA($\? def shuffle(x, random=random, int=int):DATAH|\?  """x, random=random.random -> shuffle list x in place; return None.DATA\? @?DATAD,]?  Optional arg random is a 0-argument function returning a randomDATAD]?  float in [0.0, 1.0); by default, the standard random.random.DATA^? DATA@T^?  Note that for even rather small len(x), the total number ofDATAH^?  permutations of x is larger than the period of most random numberDATA@<_?  generators; this implies that "most" permutations of a longDATA(_?  sequence can never be generated.DATA`?  """DATA<`? DATA(t`?  for i in xrange(len(x)-1, 0, -1):DATAD`?  # pick an element in x[:i+1] with which to exchange x[i]DATA$Da?  j = int(random() * (i+1))DATA a?  x[i], x[j] = x[j], x[i]DATAa? Q>DATA<$b? # -------------------- test program --------------------DATAb? )>DATAb? def test(N = 200):DATA c?  print 'TWOPI =', TWOPIDATA dc?  print 'LOG4 =', LOG4DATA(c?  print 'NV_MAGICCONST =', NV_MAGICCONSTDATA( d?  print 'SG_MAGICCONST =', SG_MAGICCONSTDATA dd?  test_generator(N, 'random()')DATA0d?  test_generator(N, 'normalvariate(0.0, 1.0)')EEDATA0e?  test_generator(N, 'lognormvariate(0.0, 1.0)')DATA0te?  test_generator(N, 'cunifvariate(0.0, 1.0)')DATA(e?  test_generator(N, 'expovariate(1.0)')DATA0,f?  test_generator(N, 'vonmisesvariate(0.0, 1.0)')DATA0f?  test_generator(N, 'gammavariate(0.5, 1.0)')DATA0f?  test_generator(N, 'gammavariate(0.9, 1.0)')DATA0Lg?  test_generator(N, 'gammavariate(1.0, 1.0)')DATA0g?  test_generator(N, 'gammavariate(2.0, 1.0)')DATA0 h?  test_generator(N, 'gammavariate(20.0, 1.0)')>DATA0lh?  test_generator(N, 'gammavariate(200.0, 1.0)')DATA(h?  test_generator(N, 'gauss(0.0, 1.0)')=DATA,$i?  test_generator(N, 'betavariate(3.0, 3.0)')DATA,i?  test_generator(N, 'paretovariate(1.0)')DATA0i?  test_generator(N, 'weibullvariate(1.0, 1.0)')EDATADj? DATA$|j? def test_generator(n, funccall):DATAj?  import timeDATAk?  print n, 'times', funccallDATA,dk?  code = compile(funccall, funccall, 'eval')DATA k?  sum = 0.0?DATAl?  sqsum = 0.0REEDATADl?  smallest = 1e10DATAl?  largest = -1e10DATAl?  t0 = time.time()>DATAm?  for i in range(n):DATAdm?  x = eval(code)=DATAm?  sum = sum + xDATAm?  sqsum = sqsum + x*xlDATA 4n?  smallest = min(x, smallest)DATAn?  largest = max(x, largest)DATAn?  t1 = time.time()EEDATA$o?  print round(t1-t0, 3), 'sec,', H>DATAto?  avg = sum/nDATA$o?  stddev = sqrt(sqsum/n - avg*avg)DATA0 p?  print 'avg %g, stddev %g, min %g, max %g' % \>DATA(lp?  (avg, stddev, smallest, largest)=DATAp? >DATAp? if __name__ == '__main__':DATALq?  test()TXdu? > TXwhrandom.pyLv? v? ̝? v? v? ,? DATA4Lv? D:\Armagan\Blender\Lsystem\New Folder\whrandom.pyDATAv? v? ? (ew FDATAv? Dw? v? t? !DATADw? w? v? ? $DATAw? w? Dw? ? DATAw? x? w? L? 8DATAx? dx? w? ? $DATAdx? x? x? ? DATAx? x? dx? L? DATAx? DATA |? T|? {? ? headDATAT|? |? |? D? ?DATA|? |? T|? ? -1 16DATA|? ,}? |? ? DATA,}? t}? |? L? 9>DATAt}? }? ,}? ? 3BDATA}? ~? t}? $? DATA~? L~? }? \? FREEDATAL~? ~? ~? ? DATA~? ~? L~? ̦? BDATA~? $? ~? D? =DATA$? l? ~? ? BDATAl? ? $? ,? AFREEDATA? ? l? ? .DATA? D? ? ? 'DATAD? ? ? DATAl? ? $? IJ? DATA? ? l? ? DATA? D? ? D? ;DATAD? ? ? ? !DATA? ԉ? D? ?  DATAԉ? ? ? T? 1 22DATA? d? ԉ? ?  uDATAd? ? ? Դ?  uDATA? ? d? ?  uDATA? >24))@DATA?  t, x = divmod(t, 256)DATAl?  t, y = divmod(t, 256)DATA?  t, z = divmod(t, 256)DATA, ?  # Zero is a poor seed, so substitute 10 4DATA(l?  self._seed = (x or 1, y or 1, z or 1)DATAIJ? DATA?  def random(self):DATA<D?  """Get the next random number in the range [0.0, 1.0)."""DATA ?  # This part is thread-unsafe:DATA?  # BEGIN CRITICAL SECTION DATAT?  x, y, z = self._seed DATA?  #DATAԴ?  x = (171 * x) % 30269DATA?  y = (172 * y) % 30307DATAd?  z = (170 * z) % 30323DATA?  #DATA?  self._seed = x, y, z DATA,?  # END CRITICAL SECTION 1DATA|?  #DATA4?  return (x/30269.0 + y/30307.0 + z/30323.0) % 1.0lDATA?  uDATAT?  def uniform(self, a, b): 5DATA4?  """Get a random number in the range [a, b).""" 20DATA$ ?  return a + (b-a) * self.random()DATAd? DATA?  def randint(self, a, b):- DATA8?  """Get a random integer in the range [a, b] includingDATA$T?  both end points.4 lDATA?  12DATA(?  (Deprecated; use randrange below.)"""DATA 0:DATA(?  return int(self.random() * istart)DATA4L?  raise ValueError, "empty range for randrange()"DATA?  istop = int(stop)DATA?  if istop != stop:DATA8D?  raise ValueError, "non-integer stop for randrange()"DATA?  if step == 1:DATA?  if istart < istop:DATA(4?  return istart + int(self.random() *DATA?  (istop - istart))dDATA4?  raise ValueError, "empty range for randrange()"lDATAD?  istep = int(step)DATA?  if istep != step:DATA8?  raise ValueError, "non-integer step for randrange()"DATA 0:DATA,|?  n = (istop - istart + istep - 1) / istepDATA?  elif istep < 0:DATA,$?  n = (istop - istart + istep + 1) / istepDATA?  else:DATA4?  raise ValueError, "zero step for randrange()"REEDATA$?  00DATA\?  if n <= 0:endDATA4?  raise ValueError, "empty range for randrange()"DATA0?  return istart + istep*int(self.random() * n)DATAd?  DATA? DATA$? # Initialize from the current timeDATA,? _inst = whrandom()DATAt? seed = _inst.seedDATA? random = _inst.randomDATA? uniform = _inst.uniformDATAL? randint = _inst.randintDATA? choice = _inst.choiceDATA? randrange = _inst.randrangeOB\? 8? OBaa@ l? ?]?????????]?????"z?{I>^*<*s?Dz)ԣg#>??DOBdB? #=?>=?@???DATAl? 8@ OB? 8? \? OBcc@ ? ,?]????????,?]?????"z?{I>_*<+s?Dz(TS>g#>??DOBdB? #=?>=?@???DATA? 8@ OB? 84? ? OBbl@ ? Z?k'`????????Z?k'`?????#z?{I>a*<+s?Cz*j>L)>??DOBdB? #=?>=?@???DATA? 8@ OB4? 8D? ? OBCamera Tw: =?浐>??????!z?{I>_*<-s?;H>Bz#=?浐>???????}33y'?7L0?ܲ3445?OBdB?)d??>)d????OBD? 8? 4? OBd^@ T? ?]?????????]?????"z?{I>^*<+s?Dz(|>g#>??DOBdB? #=?>=?@???DATAT? 8@ OB? 8? D? OBeX@ ? >]????????>]?????#z?{I>Y*<+s?Dz(a:?g#>??DOBdB? #=?>=?@???DATA? 8@ OB? 8? ? OBfto@ ? K=k'`????????K=k'`?????#z?{I>{*<,s?;H>Cz*øb?L)>??DOBdB? #=?>=?@???DATA? 8@ OB? 8d? ? OBgU@ ,? t]????????t]?????"z?{I>P*<+s?=H>Dz)?g#>??DOBdB? #=?>=?@???DATA,? 8@ OBd? 8? ? OBh\f@ t? `QF]????????`QF]?????"z?{I>d*<+s?;H>Dz+K?g#>??DOBdB? #=?>=?@???DATAt? 8@ OB? 8? d? OBi4i@ ? 宾]????????宾]????? z?{I>*<*s?;H>Dz1?g#>??DOBdB? #=?>=?@???DATA? 8@ OB? 84<)ༀs3HDz_<[%>ݿ?DOBdB? #=?>=?@???DATA? 8@ OBG<)ys0HBz^<7ֿ%>ݿ?DOBdB? #=?>=?@???DATAL? 8@ OB? 8? L< *~s3HCzi<җ#>ݿ?DOBdB? #=?>=?@???DATA? 8@ OB? 8? ? OBLamp.001 y: [#3A(Ln A??? ?ăw???c>i?P>6ӵdb?\T?ʾq<>[#3A(Ln A?????>j:?U~>_? >uVz = ?¿7?DOBdB? #=?>=@???OB? 8? ? OBLamp.002 4z: 0 s@’1@????3???i!3?h!3??h!i!30 s@’1@?????{I>#z?:s?*<Bz>@H>;9慿UA?DOBdB? #=?>=@???OB? 8@ ? OBLamp.003 T{: FA<@gUA????3???i!3?h!3??h!i!3FA<@gUA?????{I>!z?8s?*<CzD?H>i,;9؏?DOBdB? #=?>=@???OB@ 8 @ ? OBLamp.004 t|: EAN@????3???i!3?h!3??h!i!3EAN@?????{I>!z?9s?*<BzJ>H>JV;5?DOBdB? #=?>=@???OB @ 8 @ @ OBLamp.005 }: @9@<@A??? y???i!3? y3i!3 y?@9@<@A?????{I>!zrc*?Bz@Hk,Y??߬?DOBdB? #=?>=@???OB @ 8, @ @ OBLamp.006 ~: 6<@???I@?24???L.??2?M.4i!"4k!"4?26<@?????{I>#z? <s*<Cz1H><o,H3@?DOBdB? #=?>=@???OB, @ 8t@  @ OBleaves@@ <@ ?????????????!z?{I>H*Cz%=?浐>??DOBdB? #=?>=?@???DATA<@ 8@ OBt@ 8@ , @ OBm<[@ @ DjRA2???Ii!"I??i!"i!"4j!"?i!"g!"j!"DjRA2?????!z{I>s< *s0HDzw<=<#>ݿ?DOBdB? #=?>=?@???DATA@ 8@ OB@ 8@ t@ OBLamp w: 6@rk@????3???i!3?h!3??h!i!36@rk@?????{I>#z?:s?*<Cz?AH>dJ3v@?DOBdB? #=?>=@???OB@ 8@ @ OBMesh.003@ ?????????????!z?{I>H*Cz%=?浐>??DOBdB? #=?>=@???OB@ 8@ @ OBMesh.004@ ?????????????!z?{I>H*Cz%=?浐>??DOBdB? #=?>=@???OB@ 8@ @ OBMesh.005|@ ?????????????!z?{I>H*Cz%=?浐>??DOBdB? #=?>=@???OB@ 8 "@ @ OBMesh.006t@ ?????????????!z?{I>H*Cz%=?浐>??DOBdB? #=?>=@???OB "@ 8%@ @ OBMesh.007l@ ?????????????!z?{I>H*Cz%=?浐>??DOBdB? #=?>=@???OB%@ 8d(@ "@ OBnLr@ ,(@ ҂RK???Ii!"I??i!"i!"4j!"?i!"g!"j!"҂RK?????#z{I>+< *s2HDzj<a#>ݿ?DOBdB? #=?>=?@???DATA,(@ 8@ OBd(@ 8+@ %@ OBou@ t+@ :ZRCjf/???Ii!"I??i!"i!"4j!"?i!"g!"j!":ZRCjf/?????"z{I>!< *~s2HDz^<%#>ݿ?DOBdB? #=?>=?@???DATAt+@ 8@ OB+@ 8.@ d(@ OBpN@ .@ EޚRK???Ii!"I??i!"i!"4j!"?i!"g!"j!"EޚRK?????!z{I>\< *s1HDzj<g #>ݿ?DOBdB? #=?>=?@???DATA.@ 8@ OB.@ 8<2@ +@ OBqI< *~s2HCza<#>ݿ?DOBdB? #=?>=?@???DATA2@ 8@ OB<2@ 85@ .@ OBr]< *s1HCzf<(#>ݿ?DOBdB? #=?>=?@???DATAL5@ 8@ OB5@ 8<2@ OBtrunk|@ 8@ ?????????????!z?{I>H*Cz%=?浐>??DOBdB? #=?>=?@???DATA8@ l;@ MA`8@ !l;@ MAleaf>?>??????????{>??2C ?????\:@ :@ ?DATAX\:@ ?@ ???].?? >?????DATAX:@ =@ ??????????MA`l;@ !8@ MAtrunk#? +?5??o?LHl??????? Q???' ?????<@ ?DATAX<@ >@ ̰V@?@??????=rG?">`>TE=@ >@ TEI.leaves.jpg>@?????=?@@????? @??<$ TE>@ ?@ =@ TEI.bark01.jpg<@????Xr???@@????? @??<"( TE?@ >@ TEI.leaves_alpha.jpg>@?????=?@@????? @??<' ME@@ +E@ MEleaves547 D/ D/ \C@ D@ A@ T9//?> ؤ=>DATAhA@ 0 ھJǹK>$E릾;y$=>$TX>p%X̾Ƚ>p%X O]"~> j/Ҿҽ> j3#>l=m>L*>$&=s>L֢>n(=y ?p>Qn= ?p9>=O>nq2>I=>n`"g:3?&+pݶ;:o?&+ ܽ8?@i?!nlt{=?!bG[J$l? nȥ߆? nDATAx\C@ ,       DATAhD@ *>>?>A?>?w>@|?>@D?>?>?>A?>>?>A?>?w>@|?>@D?>?>?>A?>>?>A?>?w>@|?>@D?>?>?>A?MEE@ +I@ @@ MEPlane %1 / / F@ tG@ G@ F@ 2;_]=7;k=l=(;DATAF@ DATAxF@ 0'w=)=;JQ=YqxX;L`;; x:_#="; x`G:Z:09i;=09gDATAPtG@ ,3&DATAG@ *$ >>=$ >>>>>>=$ >>>>>>>=$ >>>>>=MEI@ +K@ E@ MEPlane.001̷1 $/ $/ J@ J@ DK@ DJ@ @2;_]=ۦ7;Zk=l= ;DATA J@ DATAxDJ@ 0%w='=;*|Q=x?;*`;;g {:q$=pY;g {`G:Z:09H;=09HDATA(J@ ,DATAxDK@ *$ >`<>`<>>>x>$ ><>|>>>>`<MEK@ +N@ I@ MEPlane.0021 / / L@ M@ N@ M@ ";ɤV=:#; Tż=3#; #;\09 #;=09DATA(M@ ,DATAxN@ *$ >>?>?>@?>=$ ?>?>?>?>=MEN@ +@? ?@? $ ??> ??>$ ??> ?>?>$ ?>@?> ?@?> ME09DATA(@?>???>?=$ ???@?>@??@?=ME<[@ +^@ X@ MEPlane.007|2 D/ D/ 4\@ ]@ ]@ l\@ l(4p`=r:=N-d=f:DATA4\@ DATAxl\@ 0><(=8; <]Fo0: ;c;"3ļN=);1 TX̯:j09#;t=09w DATAP]@ ,3u6DATA]@ *$ ?? ?>0?> ?>=$ @?>@??0?>@??=$ 0?>@??0??@??=$ 0?? ??0?> ??=ME^@ +a@ <[@ MEPlane.008ld/ d/ _@ d`@ `@ _@ جu;]=09Tp=Tp=?DATA_@ DATAP_@ 0==09˴Q=ڜ09Wa;09)2=09DATAd`@ ,DATA<`@ *$ >?;?@;@??>??=MEa@ +c@ ^@ MEPlane.0092 / / b@ b@ Lc@ Lb@ dSZ=NZ=>Z=;DATAb@ DATAxLb@ 0Y=s=7S~Y=@~77S~DZ@7< 0~DZv=: 0~ )s@709 st=09DATA(b@ , DATAxLc@ *$ >>?>A?>?w>@|?$ >@D?>?>?>A?MEc@ +\f@ a@ MEPlane.010l?. $/ $/ d@ e@ e@ $e@ -098=G=ՌԀbs09Ci a=ՌDATAe@ ,DATA<e@ *$ 3?A??=???@7??ME\f@ +4i@ c@ MEPlane.0110 / / Tg@ 4h@ h@ g@ l;HY=4m= =;DATATg@ DATAxg@ 0F=V>^}2~T=xsM/^}2~gZ@:yY&}X/*'\>}Gql090 P- <"jY>09* DATA(4h@ , DATAxh@ *$ h>>?=@??>>>> $ <>>>=@??pIK}*=:Gɧk }m"=09iDATAPj@ ,wwrrDATA|k@ *$ `???@A??@A??@A??=$ @??`???@??`???=$ `???@A??@??@A??=$ `???@??@A??@??=MEl@ +to@ 4i@ MEPlane.0130 / / m@ tn@ n@ m@ :0WZ=w=f=(:DATAm@ DATAxm@ 0Q@? ?@? ?}?>}?MELr@ +u@ to@ MEPlane.0152 / / Ds@ $t@ t@ |s@ : @="D: ?0? ?=$ @?@?>0?@?>=$ 0?@?>0?>@?>=$ 0?> ?>0? ?>=MEu@ +C?@O?C?=$ [?[?>@O?[?>=$ @O?[?>@O?>[?>=$ @O?>C?>@O?C?>=ME ;3s=;3sT^~); J^U>); Ki<0L:\Ki0L:\DATAP{@ ,3U&DATA{@ *$ Z?>Z?<@o?<Z?<$ ?<?>@o?<?>$ @o?<?>@o?>?>$ @o?>Z?>@o?<Z?>ME|@ +@ n>zG=ͫ>DATA }@ 0L=L=*1>X5==D 0@v5==A>3wn)=30Z=>X\dD<5=00D<5=>q3Ί8ga"L"0ga"L> D5=0D5=>30>`5=D 05=A>=LgᢘKL*1>/5=D< 05=H<>و._=3Z=>أXD5==@vD5==>WuSl)L="l)L=>D<5==0@vD<5==>. w==3ZZ==>X.\5==D< @v05==H<>Du>3J'T*=:c*>K=jV>1xS^_f<&4׻>6fau'Ey>z06L!:E>-blȆ>P HN>w"r[Z 5n>IDNI~]+7& f=L.>MVb>Ӽk-=c>s{>=W>[|,<3=5>+Hx<t =>-Vq^=(<$>sR6P9˦?|$/>d6{55gW@)?#u+E>T,>rT']>9&$d#JR>*$o^: '[>? >4!څZ;X^Ҽ>\%Br1yQQ>(V2I;zF>C$h$N~|>q( :;>(2!ZtY>m;)12$M¼T>m5ތԻ<̴>^(QO<> a%+ȧ<>ex,̻I>jyh]<>zy@/[iOK>ݧy)v9<*?ھdE31F7>aFirX^6kr╽k3>dA > —Q\_Ľ<7>ߘa>Ͻt>U皃Irνw>?m3h½A>I>HYIšF>"ϵ sT>SL("AJ >JOS􍡾C4>dw|9m5>=cM>OM4_wTp>y$VऽP>zTJ.ǻeV>*tf$>n<½>mHz>Ī&>;>AGj)޼}> J(>⟻> ӯCٺQf`>R`4>)>r~/ji># G=ͺ>f ]W)>H&> ~6TҼ5C? 1Sk(>V`? ŜO wd?'u'>Y<?Qzs ]95?x)%>ߞ< ?!k-=-?X7&sj<*?IeOL!>C=S?zcO$K|, >ZZ=o>vA|xvu&7n<>>Oz@ >X=H>>|`>K`ϬrP!>==l>c8MH<>2يJ">H0 =(>7C>0 => 0x>B<>4Զ><;>m8Ҳ9>I;߈>:R>:>+;oq1>5;`?9ȤDݤ>S~='?1qu>\8=!1?,^2l4s>9Wf=?(;]M%>6w=>&,v >[=ݹ>4& x]C->HLl=&0>(b۸>")A=`>+c:35>=4 >*>?A@@ACBBCED DEGF FGIH HIKJJK101LM33MN55NO7 7OP9 9PQ; ;QR==RS??STAATUCCUVE EVWG GWXI IXYKKYL1LZM@MZN@NZO OZP PZQ QZRRZSSZTTZUUZV@VZW@WZX@XZY@YZL@[\^]]^`__`ba abdc cdfe efhgghjiijlkklnmmnpo oprq qrts stvuuv\[\wx^^xy``yzb bz{d d{|f f|}hh}~jj~llnnp pr rt tvvw\wx@xy@yz@z{@{|@|}@}~@~@@   @w@ !@!"@"# #$ $% %& &'@'(@()@)*@*+ +, ,- -. ./@/ @@@    @@@@    @@  @@@@DATAp&@ *>=>===>>>>>>>@>>@>@>@>>>>>>>>>>>>>>>>>>>>>>>>>>?>???>?>???> ?> ? ? ?>0?>0?0?0?>@?>@?@?@?>P?>P?P?P?>`?>`?`?`?>p?>p??>?p?p?>>>=>=>=>=>>>>>>>>>@>>@>>@>>@>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>?>?>?>?>?>?>?>?> ?> ?> ?> ?>0?>0?>0?>0?>@?>@?>@?>@?>P?>P?>P?>P?>`?>`?>`?>`?>p?>p?>p?>p?>?>?>)>%I=)>%I=%I=%I=)>%I>)>%I>%I>%I>)>m[>)>m[>m[>m[>)>%I>)>%I>%I>%I>)>n۶>)>n۶>n۶>n۶>)>m>)>m>m>m>)>?)>???)>%I?)>%I?%I?%I?)>I$?)>I$?I$?I$?)>n6?)>n6?n6?n6?)>$I?)>$I?$I?$I?)>m[?)>m[?m[?m[?)>۶m?)>۶m?۶m?۶m?)>?)>?)>7l>%I=7l>%I=)>%I=)>%I=7l>%I>7l>%I>)>%I>)>%I>7l>m[>7l>m[>)>m[>)>m[>7l>%I>7l>%I>)>%I>)>%I>7l>n۶>7l>n۶>)>n۶>)>n۶>7l>m>7l>m>)>m>)>m>7l>?7l>?)>?)>?7l>%I?7l>%I?)>%I?)>%I?7l>I$?7l>I$?)>I$?)>I$?7l>n6?7l>n6?)>n6?)>n6?7l>$I?7l>$I?)>$I?)>$I?7l>m[?7l>m[?)>m[?)>m[?7l>۶m?7l>۶m?)>۶m?)>۶m?7l>?7l>?)>7l>%I=j>%I=7l>??%I=7l>m=j>%I>7l>??%I>7l>n6>j>m[>7l>??m[>7l>>j>%I>7l>??%I>7l>I>j>n۶>7l>??n۶>7l>$>j>m>7l>??m>7l>۶>j>?7l>???7l>$ ?j>%I?7l>??%I?7l>m?j>I$?7l>??I$?7l>۶-?j>n6?7l>??n6?7l>@?j>$I?7l>??$I?7l>%IR?j>m[?7l>??m[?7l>Id?j>۶m?7l>??۶m?7l>nv?j>?7l>??v,>%I=v,>%I=%I=%I=v,>%I>v,>%I>%I>%I>v,>m[>v,>m[>m[>m[>v,>%I>v,>%I>%I>%I>v,>n۶>v,>n۶>n۶>n۶>v,>m>v,>m>m>m>v,>?v,>???v,>%I?v,>%I?%I?%I?v,>I$?v,>I$?I$?I$?v,>n6?v,>n6?n6?n6?v,>$I?v,>$I?$I?$I?v,>m[?v,>m[?m[?m[?v,>۶m?v,>۶m?۶m?۶m?v,>?v,>?v,>'>%I='>%I=v,>%I=v,>%I='>%I>'>%I>v,>%I>v,>%I>'>m[>'>m[>v,>m[>v,>m[>'>%I>'>%I>v,>%I>v,>%I>'>n۶>'>n۶>v,>n۶>v,>n۶>'>m>'>m>v,>m>v,>m>'>?'>?v,>?v,>?'>%I?'>%I?v,>%I?v,>%I?'>I$?'>I$?v,>I$?v,>I$?'>n6?'>n6?v,>n6?v,>n6?'>$I?'>$I?v,>$I?v,>$I?'>m[?'>m[?v,>m[?v,>m[?'>۶m?'>۶m?v,>۶m?v,>۶m?'>?'>?v,>'>%I=LZ>%I='>??%I='>m=LZ>%I>'>??%I>'>n6>LZ>m[>'>??m[>'>>LZ>%I>'>??%I>'>I>LZ>n۶>'>??n۶>'>$>LZ>m>'>??m>'>۶>LZ>?'>???'>$ ?LZ>%I?'>??%I?'>m?LZ>I$?'>??I$?'>۶-?LZ>n6?'>??n6?'>@?LZ>$I?'>??$I?'>%IR?LZ>m[?'>??m[?'>Id?LZ>۶m?'>??۶m?'>nv?LZ>?'>??>\6?=\6?=>=>=\6?>\6?>>>>>\6?@>\6?@>>@>>@>\6?>\6?>>>>>\6?>\6?>>>>>\6?>\6?>>>>>\6?>\6?>>>>>\6??\6??>?>?\6??\6??>?>?\6? ?\6? ?> ?> ?\6?0?\6?0?>0?>0?\6?@?\6?@?>@?>@?\6?P?\6?P?>P?>P?\6?`?\6?`?>`?>`?\6?p?\6?p?>p?>p?\6??\6??>\6?nm?=nm?=\6?=\6?=nm?>nm?>\6?>\6?>nm?@>nm?@>\6?@>\6?@>nm?>nm?>\6?>\6?>nm?>nm?>\6?>\6?>nm?>nm?>\6?>\6?>nm?>nm?>\6?>\6?>nm??nm??\6??\6??nm??nm??\6??\6??nm? ?nm? ?\6? ?\6? ?nm?0?nm?0?\6?0?\6?0?nm?@?nm?@?\6?@?\6?@?nm?P?nm?P?\6?P?\6?P?nm?`?nm?`?\6?`?\6?`?nm?p?nm?p?\6?p?\6?p?nm??nm??\6?nm?=?=nm???=nm?=?>nm???>nm? >?@>nm???@>nm?`>?>nm???>nm?>?>nm???>nm?>?>nm???>nm?>?>nm???>nm?>??nm????nm????nm????nm??? ?nm??? ?nm?(??0?nm???0?nm?8??@?nm???@?nm?H??P?nm???P?nm?X??`?nm???`?nm?h??p?nm???p?nm?x???nm???ME@ +@ |@ MEleaves54???ME@ +|@ @ MEleaves63 ???ME|@ +t@ @ MEleaves7$ ???MEt@ +l@ |@ MEleaves8,41 ???MEl@ +t@ MEleaves91 ???GLOB@\q8 T8  2 DNA1V$P- SDNANAME*next*prev*first*lastxyzwxminxmaxyminymax*newid*libname[24]usflagpadid*idblock*filedataname[160]totcurvecurblocktypeshowkeypostyperttotelem*dataname[32]sliderminslidermax*refkeyelemstr[32]elemsizecurvalblock*ipo*fromtotkeyslurphactkey**scripts*flagactscripttotscript*linelenblen*nameflagsnlineslines*curl*sellcurcselc*undo_bufundo_posundo_len*compiledsizeseekdrawzoomholdclipstaclipendlensdrawsizeYF_dofdistYF_apertureYF_bkhtypeYF_bkhbiasYF_bkhrotscriptlink*anim*ibuf*mipmap[10]oklastframelastqualitytpageflagtotbindxrepyreptwstatwendbindcode*repbind*packedfilelastupdateanimspeedreserved1texcomaptomaptonegblendtype*object*texprojxprojyprojzmappingofs[3]size[3]texflagcolormodelrgbkdef_varcolfacnorfacvarfacdispfacwarpfac*handle*pname*stnamesstypesvars*varstr*result*cfradata[32](*doit)()(*callback)()versionaipotypedata[16]*ima*cube[6]imat[4][4]stypenotlaycuberesdepthrecalclastsizepad1noisesizeturbulbrightcontrastrfacgfacbfacfiltersizemg_Hmg_lacunaritymg_octavesmg_offsetmg_gaindist_amountns_outscalevn_w1vn_w2vn_w3vn_w4vn_mexpvn_distmvn_coltypenoisedepthnoisetypenoisebasisnoisebasis2imaflagcropxmincropymincropxmaxcropymaxxrepeatyrepeatextendcheckerdistnablaframesoffsetsfrafie_ima*nor*plugin*coba*envfradur[4][2]modetotexenergydistspotsizespotblendhaintatt1att2bufsizesampshadspotsizebiassoftray_sampray_sampyray_sampzray_samp_typearea_shapearea_sizearea_sizeyarea_sizeztexactshadhalostepYF_numphotonsYF_numsearchYF_phdepthYF_useqmcYF_bufsizeYF_padYF_causticblurYF_ltradius*mtex[10]layspecrspecgspecbmirrmirgmirbambrambbambgambemitangspectraray_mirroralpharefspeczoffsaddtranslucencyfresnel_mirfresnel_mir_ifresnel_trafresnel_tra_iray_depthray_depth_traharseed1seed2mode2flarecstarclinecringchasizeflaresizesubsizeflareboostrgbselpr_typeseptexpr_backpr_lampdiff_shaderspec_shaderroughnessrefracparam[4]*ramp_col*ramp_specrampin_colrampin_specrampblend_colrampblend_specramp_showpad3rampfac_colrampfac_spec*renfrictionfhreflectfhdistxyfrictdynamodepad2name[256]scale*bbi1j1k1i2j2k2selcolexpxexpyexpzradrad2smaxrad2*mat*imatelemsdisp**mattotcolloc[3]rot[3]wiresizerendersizethreshvec[3][3]alfas[3][2]h1h2f1f2f3hidevec[4]s[2]mat_nrpntsupntsvresoluresolvorderuordervflaguflagv*knotsu*knotsv*bp*beztnurb*bevobj*taperobj*textoncurve*path*keybev*orcopathlenbevresolwidthext1ext2spacemodespacinglinedistshearfsizexofyof*strfamily[24]*vfontmaxrcttotrctadrcodevartypetotvertipoextrapbitmask*tpageuv[4][2]col[4]transptileunwrapeffect*mface*dface*tface*mvert*medge*dvert*mcol*msticky*texcomesh*oc*sumohandletotedgetotfacesmoothreshsubdivsubdivrsubdivdonesubsurftypecubemapsizev1v2v3v4punoedcodecreasedef_nrweight*dwtotweightco[3]no[3]co[2]pntswtypeutypevtypew*defdvec[3]max**obdeflectforcefieldpdef_damppdef_rdamppdef_permf_strengthf_powerpartypepar1par2par3parsubstr[32]*pardata*parent*track*action*pose*activeconconstraintChannelsnetworkdefbasedloc[3]orig[3]dsize[3]drot[3]quat[4]dquat[4]obmat[4][4]parentinv[4][4]colbitstransflagipoflagtrackflagupflagipowinscaflagscavisflagboundtypedupondupoffdupstadupendsfctimemassdampinginertiaformfactorspringfrdampingsizefacdtdtxactcolpropsensorscontrollersactuatorsbbsize[3]dfrasactdefgameflaggameflag2softflaganisotropicFriction[3]constraintsnlastripshooks*pd*soft*lifelbufporttoonedgemat[4][4]cent[3]falloff*indexartotindexcurindexactiveforcemistypehorrhorghorbhorkzenrzengzenbzenkambkfastcolexposureexprangelinfaclogfacgravityactivityBoxRadiusskytypemisimiststamistdistmisthistarrstargstarbstarkstarsizestarmindiststardiststarcolnoisedofstadofenddofmindofmaxaodistaodistfacaoenergyaobiasaomodeaosampaomixaocolorphysicsEnginehemiresmaxiterdrawtypesubshootpsubshootenodelimmaxsublamppamapamielmaelmimaxnodeconvergenceradfacgammasxsy*lpFormat*lpParmscbFormatcbParmsfccTypefccHandlerdwKeyFrameEverydwQualitydwBytesPerSeconddwFlagsdwInterleaveEveryavicodecname[128]*cdParms*padcdSizeqtcodecname[128]mixratemainpad[3]*avicodecdata*qtcodecdatacfraefraimagesframaptoframelenblurfacedgeRedgeGedgeBfullscreenxplayyplayfreqplayattribrt1rt2stereomodemaximsizexschyschxaspyaspxpartsypartssafetyborderwinposplanesimtypebufflagqualityscemoderendererocresrpad[2]alphamodedogammaosafrs_secedgeintsame_mat_reduxgausspostmulpostgammapostaddpostigammadither_intensitypad_ditherGIqualityGIcacheGImethodGIphotonsGIdirectYF_AAYFexportxmlyfpad1[3]GIdepthGIcausdepthGIpixelspersampleGIphotoncountGImixphotonsGIphotonradiusYF_numprocsYF_raydepthYF_AApassesYF_AAsamplesGIshadowqualityGIrefinementGIpowerGIindirpowerYF_gammaYF_exposureYF_raybiasYF_AApixelsizeYF_AAthresholdbackbuf[160]pic[160]ftype[160]col[3]*camera*world*setbase*basact*groupcursor[3]selectmode*ed*radioframingaudiozoomblendximyim*rectspacetypeblockscale*areablockhandler[8]viewmat[4][4]viewinv[4][4]persmat[4][4]persinv[4][4]winmat1[4][4]viewmat1[4][4]viewquat[4]perspview*bgpic*localvdlocalviewlayactscenelockaroundcamzoomgridnearfarmxmymxomyogridlinesviewbutgridflagmodeselectmenunrtexnrverthormaskmin[2]max[2]minzoommaxzoomscrollkeeptotkeepaspectkeepzoomoldwinxoldwinyrowbutv2d*editipoipokeytotipopinbutofschannellockmedian[3]cursenscuractaligntabomainbmainbo*lockpointexfromshowgrouprectxrectycurymodeltypescriptblockre_aligntab[7]*filelisttotfiletitle[24]dir[160]file[80]ofssortmaxnamelencollums*libfiledataretvalmenuact(*returnfunc)()*menupoopsvisiflagtree*treestoreoutlinevisstoreflag*imageimanrcurtile*texttopviewlinesfont_idlheightleftshowlinenrstabnumbercurrtab_setpix_per_linetxtscrolltxtbar*scripttitle[28]fasesubfasemouse_move_redrawimafasedirslidirsli_linesdirsli_sxdirsli_eydirsli_exdirsli_himaslifileselmenuitemimasli_sximasli_eyimasli_eximasli_hdssxdssydsexdseydesxdesydeexdeeyfssxfssyfsexfseydsdhfsdhfesxfesyfeexfeeyinfsxinfsyinfexinfeydnsxdnsydnwdnhfnsxfnsyfnwfnhfole[128]dor[128]file[128]dir[128]*firstdir*firstfiletopdirtotaldirshilitetopfiletotalfilesimage_sliderslider_heightslider_spacetopimatotalimacurimaxcurimay*first_sel_ima*hilite_imatotal_selectedima_redraw*cmap*arg1outline[4]neutral[4]action[4]setting[4]setting1[4]setting2[4]num[4]textfield[4]popup[4]text[4]text_hi[4]menu_back[4]menu_item[4]menu_hilite[4]menu_text[4]menu_text_hi[4]but_drawtypeback[4]header[4]panel[4]shade1[4]shade2[4]hilite[4]grid[4]wire[4]select[4]active[4]transform[4]vertex[4]vertex_select[4]edge[4]edge_select[4]edge_seam[4]edge_facesel[4]face[4]face_select[4]face_dot[4]normal[4]vertex_sizefacedot_sizepad1[2]tuitbutstv3dtfiletipotinfotsndtacttnlatseqtimatimaseltexttoopsspec[4]dupflagsavetimetempdir[160]fontdir[160]renderdir[160]textudir[160]plugtexdir[160]plugseqdir[160]pythondir[160]sounddir[160]yfexportdir[160]versionsvrmlflaggameflagswheellinescrolluiflaglanguageuserprefviewzoomconsole_bufferconsole_outmixbufsizefontsizeencodingtransoptsmenuthreshold1menuthreshold2fontname[256]themesundostepscurssizetb_leftmousetb_rightmouselight[3]vertbaseedgebaseareabase*scenestartxendxstartyendysizexsizeyscenenrscreennrfullmainwinwinakt*newvvec*v1*v2panelname[64]tabname[64]ofsxofsycontrolold_ofsxold_ofsysortcounter*paneltab*v3*v4*fullwinmat[4][4]headrctwinrctheadwinwinheadertypebutspacetypewinxwinyhead_swaphead_equalwin_swapwin_equalheadbutlenheadbutofscursorspacedatauiblockspanels*curscreen*curscenedisplaymodefileflagsglobalfname[40]*se1*se2*se3nrdone*stripdatadir[80]orxoryname[80]*newseqstartstartofsendofsstartstillendstillmachinestartdispenddispmulhandsize*strip*curelemfacf0facf1*seq1*seq2*seq3seqbase*soundlevelpancurpos*effectdata*oldbasep*parseq*seqbasepmetastackedgeWidthangleforwardwipetypefMinifClampfBoostdDistdQualitybNoCompbuttypestaendlifetimetotpartseednormfacobfacrandfactexfacrandlifeforce[3]dampvectsizedefvec[3]mult[4]life[4]child[4]mat[4]texmapcurmultstaticstep*keysheightnarrowspeedminfactimeoffs*obpremat[4][4]postmat[4][4]vec[3]faclenoalphaoeff[2]iterlastfralimbbaseeff[3]effg[3]effn[3]memslowtotytotxxyconstrainttotdefdef_scrolllimb_scrollused*idusedelemdxdylinkotypedataold*poin*oldpoinresetdistlastval*makeyqualqual2targetName[32]toggleName[32]value[32]maxvalue[32]materialName[32]damptimeraxisdelaypropname[32]matname[32]axisflag*fromObjectsubject[32]body[32]pulsefreqtotlinks**linksinvertfreq2str[128]*mynewinputstotslinks**slinksvalvalopad5time*actblendinprioritystridelengthstrideaxisreserved2reserved3sndnrmakecopycopymadepad[1]trackvolume*melinVelocity[3]localflagforceloc[3]forcerot[3]linearvelocity[3]angularvelocity[3]addedlinearvelocity[3]anotherpad[4]butstabutendminvisifacminloc[3]maxloc[3]minrot[3]maxrot[3]distributionint_arg_1int_arg_2float_arg_1float_arg_2toPropName[32]*toObjectbodyTypefilename[64]loadaniname[64]goaccellerationmaxspeedmaxrotspeedmaxtiltspeedrotdamptiltdampspeeddamp*sample*stream*newpackedfile*snd_soundpanningattenuationpitchmin_gainmax_gaindistancestreamlenloopstartloopendchannelshighpriopad[10]gaindopplerfactordopplervelocitynumsoundsblendernumsoundsgameengine*gkeypadfokeygobjectgkey*activechildbaserollhead[3]tail[3]parmat[4][4]defmat[4][4]irestmat[4][4]posemat[4][4]boneclassfiller1filler2filler3bonebasechainbaseres1res2res3chanbase*achan*pchanactnrname[30]enforceoffset[3]orient[3]roll[3]*tartoleranceiterationssubtarget[32]cacheeff[3]cachemat[4][4]lockflagfollowflagzminzmaxvolmodeplaneorglengthbulgeactstartactendstridelenrepeatblendoutTYPEcharucharshortushortintlongulongfloatdoublevoidLinkListBasevec2svec2ivec2fvec2dvec3ivec3fvec3dvec4ivec4fvec4drctirctfIDLibraryFileDataIpoKeyBlockKeyScriptLinkTextLineTextPackedFileCameraImageanimImBufMTexObjectTexPluginTexCBDataColorBandEnvMapLampWaveMaterialVFontVFontDataMetaElemBoundBoxMetaBallBezTripleBPointNurbCurvePathIpoCurveTFaceMeshMVertMEdgeMDeformVertMColMStickyOcInfoMFaceMDeformWeightBoneLatticebDeformGroupLBufPartDeflectbActionbPosebConstraintChannelSoftBodyLifeObHookWorldRadioBaseAviCodecDataQuicktimeCodecDataAudioDataRenderDataGameFramingSceneGroupBGpicView3DSpaceLinkScrAreaView2DSpaceInfoSpaceIpoSpaceButsSpaceSeqSpaceFiledirentryBlendHandleSpaceOopsTreeStoreSpaceImageSpaceNlaSpaceTextSpaceScriptScriptSpaceImaSelImaDirOneSelectableImaThemeUIThemeSpacebThemeSolidLightUserDefbScreenScrVertScrEdgePanelFileGlobalStripElemStripPluginSeqSequencebSoundMetaStackEditingWipeVarsGlowVarsEffectBuildEffPartEffParticleWaveEffDeformLimbIkaTreeStoreElemOopsbPropertybNearSensorbMouseSensorbTouchSensorbKeyboardSensorbPropertySensorbCollisionSensorbRadarSensorbRandomSensorbRaySensorbMessageSensorbSensorbControllerbExpressionContbPythonContbActuatorbAddObjectActuatorbActionActuatorbSoundActuatorbCDActuatorbEditObjectActuatorbSceneActuatorbPropertyActuatorbObjectActuatorbIpoActuatorbCameraActuatorbConstraintActuatorbGroupActuatorbRandomActuatorbMessageActuatorbGameActuatorbVisibilityActuatorFreeCamerabSamplebSoundListenerSpaceSoundGroupKeyObjectKeyGroupObjectbArmaturebPoseChannelbActionChannelSpaceActionbConstraintbKinematicConstraintbTrackToConstraintbRotateLikeConstraintbLocateLikeConstraintbActionConstraintbLockTrackConstraintbFollowPathConstraintbDistanceLimitConstraintbRotationConstraintbStretchToConstraintbActionStripTLEN  0PDtdl(XP4`@d<0P<  L, @,(D$$x$T p H`P8d@l  8( ,@0,HhH,(lDLP< <@Lx0848l(@0pP<`|,,,8,<48STRC                    !" #$%& '()*+,-./0123 456 789:;<=> ?!@A5 "BCDEFGHIJKL(M#$N%O%PQRSTUVWXYZ[!\]^_&`abc'd(efghijklmnopqrstuvw) xyz{| }~ *nop+*,'d##DEQR(52t(#)+,--mnopqDE&(M.(/Omnop     `a++&(/ !M0"#1!\2223$%&'()*+,-./01223443$ 5 6(/78l9k:;<=5 >?@ABCDEF6G?HCF777IFJKLMNOPQRS6T5U8'3$ V 6'W'X'Y(9Z[/7 \]9k:l^8_`abLM27cdefghijk0l:::6T5Umnopqrs  t&; uvwxyz<#3$ { 6([/7 | } ~=>?@A<]B ql9k:8_CI>DE?D_=I@nopAF JK6([GGG BkH'I'X ''(9Z3$JK L  {  6 /79k:8M     w   IMNHHOOO' P7m      !"(&MQ#$%&'()*+,-./01RRR+23'dS 4 56789:;<=>?T @ AB!CUDEFVXSGTHIJKLMNOPQRSTUVWXYF@Z[\]^_`abcdefghijklmnopq1rstuvwxyz{|}~W!X'PX# RY Q WVnUMZ #(ehi@[+\\]'Z[%Fj^\\\]_\\]`\\]!^  ()a\\]^ !b \\]^!c\\]de f\\]^   gh\\]^#!hii \\]^j\\]   5  k \\]l!5mQ\\] !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHnInJKLMNOPQRSTUVoWoXYZ!%[  \p]^_`abcdefghijklm!qnfgopqrstuvwxyz{|}~rrr pqqqqqqqqqqqqqswGt# su   Xvvvv wwwvvbxxxx]]]vvvvun   y  cz%OzzzQ{ {{2z|  xy| } }&}}} 2{z(X$N|}} }  ~    }   2 !"#*$%&'()*+,-./0123456`789+:" ';<=>? 2@?ABCD EFGHIJKLM('NOPQRgS FTUR V  WXY Z [ \]! /^_`abc de fg+! h $i jkl'mnoWpqr! s';tuv wxrWy! sz{|}~'; J ! _  !~  ! ~';< X' d'; 9:  ! ';6?h+J  ! Y$j'n!o ! wW '; ~ !\! (5\\]^~ hi!JI ''(9k:'; Y  EEEE  9k    9k _K (  _J \\]^J_!LLL( (W_~'_'_'_'_'!J'''!   '_(J!ENDB