BLENDER_v245REND LSceneGLOB h 0o{(SRxP{SR1-Animationo(lk0pK( DATAooDATAo@oo DATA@ono DATAnn@oDATAnhnnDATAhn nnDATA nmhnDATAmm nDATAmHmmDATAHmmmDATAmlHmDATAlplmDATApl(llDATA(lplDATAkk@ooDATAkPkknoDATAPkkkhnoDATAkjPk n@oDATAjxjk nhnDATAxj0jjmnDATA0jixjm nDATAii0jmmDATAiXii nnDATAXipiHmoDATApȌXimnDATAȌpmnDATArȌmHmDATArprlmDATApr(rrplhnDATA(rqprplmDATAqq(rpllDATAqPqq(lHmDATAPqqq(lmDATAqpPqlnDATApxpq(llDATAxp0ppHmhnDATA0pxp(lplDATAboHmmnO bP]p bDATAhbLink and MaterialsEditing>DATAhbbMeshEditingF>DATAbbhbAnim settingsObject>DATAbbbDrawObjectF>DATAbbbConstraintsObject>DATAbbbEffectsObjectDATAbbbHooksObjectF>bDATAbbbParticle InteractionObject>bDATAb( bbSoftbodyObject>bDATA( b@ bbOutputRender>DATA@ bX b( bRenderRenderF>DATAX bp b@ bAnimRender>DATAp bX bFormatRender>DATA bwP]333?V,@DhCDhCC(BDC?z?DATAhP]y b333?V,/9DATAb8=hno@o n !  DATA8=h@blplmmG==o?U8>P?DATA8>P?Transform PropertiesView3d>DATAP?8>3D Viewport propertiesView3d>"DATArU333?V<????????G==o? A*A?G==o??????*A B??=C ݢM@ݢM@ݢM@? DATAhUy333?V</9DATAh@F8=mm nn??PףH0JhAhADATAhATransform PropertiesIpo!>DATA(0vB333?V\zC̽̌?zC@ #< #<`jFzD OBzC̽̌?DATABz0333?V\CC|||??l|DATACB 333?V\zCCHBC|||?CFC= ADATAxC}PD 333?V\xx =rttDATAPD|(EC 333?V\?zDzDBCl||ll|zDzD=HB DATA(EcPD 333?V\BCBCl|llFzD #<HB DATAcrJ(E333?V\??? ???? A???PA A!O?j?}GCHB? A B? #<C DATAhJyc333?V\/9DATAFKh@(llnm 8IG HDATAG HLink and MaterialsEditing>DATA HGMeshEditingF>DATA8IJ333?VLzCB{ µCB ?BFB= ADATAJJ8I 333?VLzCCHBC$?CFC= ADATAJwJ333?VL#DhC`DpJgChCC(BDC?z?DATAhyJ333?VL/9DATAKFHmhnpl(l} ?=o?.OyLMDATALMTransform PropertiesView3d>DATAML3D Viewport propertiesView3d>"DATAOzR333?YDATA@~X(}LampLampF>DATAXp@~SpotLamp>DATApXTexture and InputLamp>DATApMap ToLamp>pDATAPreviewMaterial>6DATAЄMaterialMaterialF>6DATAЄPreviewWorld>DATAЄWorldWorldF>DATAMist Stars PhysicsWorld>DATA0Texture and InputWorld>DATA0HMap ToWorld>DATAH`0OutputRender>DATA`xHRenderRenderF>DATAx`AnimRender>DATAxFormatRender>DATALink and MaterialsEditing>DATAؐMeshEditingF>DATAؐMesh ToolsEditing>DATAؐMesh Tools 1Editing^>DATA CameraEditingF>DATA 8ShadersMaterial>6DATA8P TextureMaterial>6DATAPh8Anim settingsObject>DATAhPDrawObjectF>DATAhConstraintsObject>DATAScriptlinksScript>DATAțEffectsObjectDATAțMap InputMaterial>8DATAțMap ToMaterial>8DATAAnimAnim>DATA(SoundSound>DATA(@ListenerSoundF>DATA@X(SequencerSound>DATAXp@ArmatureEditingF>DATApXRampsMaterialF>6DATApMirror TranspMaterial>6DATAMist / Stars / PhysicsWorld>DATAЧAmb OccWorld>DATAЧShadow and SpotLamp>DATAЧModifiersEditing>DATAShapesEditing>DATA0MultiresEditing>DATA0HLinks and PipelineMaterial>6DATAH`0Render LayersRender>HDATA`xHBakeRender>xDATAx`SSSMaterial>6DATAwb333?(|(DHhC(D0~hCC(BDC?z? mDATA$b~G333?(|DATAGrb333?(|??? ???? A??@PA Aj?c3>}GCHB? A B? #<C DATAzG333?(| M M M??DATAhy333?(|+Import a Wavefront OBJC:\muray\Meshes\..\der Foundation\..\der\..\PaintyBot_01.objDATAPP(|8noXom@@DATAPPPmmln?D@ JL]W]]W HPhDATAPhTransform PropertiesView3d,>DATAhPView PropertiesView3dT>"DATAr333?P >0V!2?ASY?=;ѠS>W?>{I? >@SY?ҠS>0V=W?!2?:>[M A ?1@?$3?^'2!2m?ca>?;?wg>AK?3ƑFA{IA>F?O|A>&pk1=>3W/rB0F,BQA!@?D@ JL >0V!2?ASY?=;ѠS>W?>{I?Ş8?+y-{IA{IA B??'F1;=C7?X<t@t@t@@?GX? DATA(v333?PzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAzؼ333?P 1 12 1??2DATAؼ 333?P?zDzDBD22FzD #<HB DATAwؼ333?PDdC8CnD fCC(BDC?z?DATAhy333?PLSave FileNT PICTURES/Users/ton/Desktop/umpbug Folder/ender.app/Contents/Resources/untitled.blend DATAPPPnlmmw=c >o?[W[[W  \H((PhDATAPhTransform PropertiesView3d,>DATAhPView PropertiesView3dT>"DATAx}( 333?Pp W?-/,@DATA$(~333?PDATArX(333?P????????w=c >o?{IA@y?w=c >o??????{IA B??*==C7?X<ZH@ZH@ZH@? DATA(Xv333?PzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAzX333?P 1 12 1??2DATA 333?P?zDzDBD22FzD #<HB DATAw333?PDdC8CnD fCC(BDC?z?DATAhy333?PEOpen Text FileICTURESC:\uray\..\es\..\umpbug Folder/ender.app/Contents/Resources/processing_export.py *2DATAPPPm`mml? @ JL]Y]Ys]t XPhDATAPhTransform PropertiesView3d,>DATAhPView PropertiesView3dT>"DATAr333?PT?{(F?6R?> H"i?>g̗?D?T?6R?W{ >"i?(F?$>3M@p23f???~ >ƽ.?ͩξξ+g?R_7@D@?1@?`4< . >>44˃U_@0:`tA@ @2@? @ JLT?{(F?6R?> H"i?>g̗?D?@?͒24@? B??,F1;=CLѿAr>7?X<>>>@?GX? DATA(v333?PzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATAz333?P 1 12 1??2DATA 333?P?zDzDBD22FzD #<HB DATAw333?PDdC8CnD fCC(BDC?z?DATAhy333?PLSave FileNT PICTURES/Users/ton/Desktop/umpbug Folder/ender.app/Contents/Resources/untitled.blend DATAPPl8n`mmw=і>o?[Y[Ys[t\X.PhDATAPhTransform PropertiesView3d,>DATAhPView PropertiesView3dT>"DATA{333?PCC.?0?\Xd?DATAr333?P????????w=і>o?{IA @y?w=і>o??????{IA B??*==C7?X<ZH@ZH@ZH@? DATA(v0333?PzC̽̌?zC@22 #< #<`jFzD OBzC̽̌?DATA0z333?P 1 12 1??2XDATA,XBOp=ADATA,XCS@ff(DATA0 333?P?zDzDBD22FzD #<HB DATAw333?PDdC8CnD fCC(BDC?z?DATAhy333?PSave AseNT PICTURESC:\SGWeb\labs\recursion\g Folder/ender.app/Contents/Resources/paintyBot4.blendd.blenddASRx"{SR3-Materialodel Singb 8( DATAbDATAPb DATAPc DATAchPDATAhxc<DATAxh<DATA`xDATA` DATA P``,<DATAP` ,DATA`P`DATA`@,DATA@ `DATA @DATAPDATA(cbDATA(hhbDATAhh(xcDATAhhxhDATA hDATA P`DATAP `DATAPx`DATA(Ph DATA(x DATAX(`P`DATAXX P` DATAX HXhDATAH`X DATA`hH`P`DATAh`` DATAh`DATAx@DATAx@`DATA@x DATA@ P`DATA@@ DATA8 bhxc?@Pף;;!8DATA8POutputRender>DATAPh8RenderRenderF>DATAhPAnimRender>DATAhFormatRender>DATA`333?V\~CA~CA!?AFA= ADATA`0 333?V\zCCHBC ?CFC= ADATA0w0`333?V\DhC?DhCC(BDC?z?mDATA0r`0333?V\??? ???? A??@PA Aj?c3>}GCHB? A B? #<C DATA`z0333?V\@̌AR|B1@lA A@CC #<@DATAhy`333?V\/9DATA  8P` !  DATA `   P``xG@? JL-=-=W-X~@ (DATA 8OutputRender>DATA8P RenderRender>DATAPh8AnimRender0>DATAhPFormatRenderH>DATAhPreviewMaterial>DATAMaterialMaterial>DATAShadersMaterial0>DATATextureMaterialD>DATAMap InputMaterial\>DATAMap ToMaterial`>DATA(RampsMaterial>DATA(Mirror TranspMaterialH>DATA@w@333?VChCCvgCC(BDC?z?DATA@rp@333?VJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?J>#xu?ܗ=Hi6>(? ?Pb^L?\FAA?4[?[!?@jG>gb>Pb>4Im>k&?]M^L<0@AzA=>Kc<2֍7&> ?:x¸A1vB,jB~@G@? JLJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?@?$$OA B?=Ch?j(4?t'>d DATA(pv@333?VzC AzC A #< #<`jFzD OBDATAhyp333?V;SAVE FILE/usr/home/intrr/blender/blend/untitled.blendDATA`  h` U.=w=o?+=+=W+X,X` DATA` r333?W???h?j(4?t'>????hj(4t'?U.=w=o??OA B??=Ch?j(4?t'>dEh@Eh@Eh@? DATAw` 333?WDdC>9C,DeCC(BDC?z?DATA(v333?WzC AzC A #< #<`jFzD OBDATAhy333?W SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA` @ P``e?B$?AHM+++USDATAr333?W |ݕ/?U~'?3F:?>T8165e?2>Z& 4?ߕ/?7F:?81W~>85e?'?T2>ne@>M@?4z?'''䷄?K??T?v|@?l211A 4Atp>?@@FC>G ?4xB֟&BĭeA(@e?B$?AHMݕ/?U~'?3F:?>T8165e?2>Z& 4?H?N,Z#OA B??=Ch?j(4?t'>dA@A@A@? DATAw333?W |DdC>9C,DeCC(BDC?z?DATA(v333?W |zC AzC A #< #<`jFzD OBDATAhy333?W | SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA @&=+=o?US(!DATAr333?W ?3?3:-vk(4??3?3;@k(40v@?&=PU1n;+=ꉖø;ZO{:?JXA54U0AC;@j(40v@?&=+=o??3?3:-vk(4?5?5IXA B??=C:j(4?.vdٚ@ٚ@ٚ@? DATAw333?W DdC>9C,DeCC(BDC?z?DATA(v(!333?W zC AzC A #< #<`jFzD OBDATAh(!y333?W SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendSRx"xNSR4-Sequence@$$(*p*G( DATA( DATA(   DATA (  DATA DATADATADATADATA0DATA0DATAh#0DATAh##TDATA##h#TDATA#@$#DATA@$#DATA$$ ( DATA$%$DATA%`%$DATA`%%%DATA%%`%DATA%8&%( DATA8&&% DATA&&8&DATA&'&0DATA'X'&DATAX'''0DATA''X'0h#DATA'0('h#DATA0(x('#DATAx((0(#DATA()x(h##DATA)P)(#DATAP)))0#DATA))P)@$DATA)(*)@$DATA(*)#@$DATAp*h2/0p+.DATAp+,OutputRender>DATA,-p+RenderRenderF>DATA-.,AnimRender>DATA.-FormatRender>DATA/w0333?WDhCvDhCC(BDC?z?DATAh0y/333?W/9DATAh2h3p*(   !  DATAh39h2#@$8=i>o? h4`8DATAh4333?W&~CB~CB ?BFB= ADATAx05h4333?W&zCAzCA  A@FB= A DATA05r`8333?W&????????8=i>o?fffAD&@??fffA B? #<C DATAh`8y05333?W&AVE TARGA/t1.blend9DATA9@h3h##8=H>o?UUU :?DATA:x;333?W*zCAzCA1||1 A@FB= A DATA;r?:333?W*????????8=H>o?fffA*@??fffA B? #<C DATAh?y;333?W*AVE TARGA/t1.blend9DATA@G90#h#8=>o?SSSTA0FDATA(AvC333?W.B̽̌?B̽̌? #< #<`jFzD SQB̽̌?DATACr0FA333?W.????????8=>o?fffA@??fffA B? #<C DATAh0FyC333?W.OAD FILE/9DATAG@#0@$8=i>o? HLDATAHxI333?W1zCAzCA A@FB= A DATAIrLH333?W1????????8=i>o?fffAD&@??fffA B? #<C DATAhLyI333?W1AVE TARGA/t1.blend9SRxxN"SR5-Scripting OQQU(V@m( DATA OhODATAhOO O DATAOOhO DATAO@PODATA@PPODATAPP@PDATAPQPDATAQ`QPDATA`QQQDATAQ`QDATAQ8RhOODATA8RRQhOPDATARR8ROPDATARSRPPDATASXSR@PQDATAXSSSP`QDATASSXSP`QDATAS0TSQ`QDATA0TxTS@PPDATAxTT0T O@PDATATUxT OQDATAUPUTOQDATAPUUUQQDATAUUPU`QQDATAUUOPDATA(V(WPhOOP !  DATA(W _(V@PP`QQz==o?XZ](X@YDATA(X@YTransform PropertiesView3d>DATA@Y(X3D Viewport propertiesView3d>"DATAXZr]333?Y.|????????z==o?&A*A?z==o??????*A B??=C ?@?@?@? DATAh]yXZ333?Y.|/9DATA _@m(WQ`QPO??Pף L@ak(`(`DATA(`Transform PropertiesIpo!>DATAx@a}a 333?Y/|xx> =DATAa{c@a333?Y/|CCx??|?DATA(cvhda333?Y/|zC̽̌?zC@;; #< #<`jFzD OBzC̽̌?DATAhdzec333?Y/|CC|||??l|eeDATA,eBOp=ADATAefhd 333?Y/|zCCHBC|||?CFC= ADATAf|ge 333?Y/|?zDzDBCl||ll|zDzD=HB DATAgxhf 333?Y/|BCBCl|llFzD #<HB DATAxhrkg333?Y/|??? ???? A???PA A!O?j?}GCHB? A B? #<C DATAhkyxh333?Y/|/9DATA@m _ O@PQQO}~@nx|DATA@nXoLink and MaterialsEditing>DATAXopp@nMeshEditingF>DATAppqXoAnim settingsObject>DATAqrppDrawObjectF>DATArsqConstraintsObject>DATAstrEffectsObjectDATAtusHooksObjectF>qDATAuwtParticle InteractionObject>rDATAwxuSoftbodyObject>rDATAx0ywOutputRender>DATA0yHzxRenderRenderF>DATAHz`{0yAnimRender>DATA`{x|HzFormatRender>DATAx|`{ScriptlinksScript>DATA}w~333?Y0|ChC#DhCC(BDC?z?DATAh~y}333?Y0|/9SC(pSCScenetageainx0&@X(A@?@?GX@?GX@?GX=Hdd??< 2ddZ! ??  ????//backbuf/tmp\//ftype@&#@^@&^#D șDATAxcj.[IDATAjcX xDATAX c jDATA c X HDATA cȳ  DATAȳ c0  DATA0 c ȳ DATA cȤ0 (*DATAȤc8  DATA8cШȤ DATAШc8  <#DATAc!Ш DATA!c! DATA!c!DATAc!DATAcDATAcx HDATAx c hCDATA cPx (@DATAPc (DATAcP@ DATAc DATAch0 DATAhc!HDATAc8hDATA8c؈"ЯDATA؈c(8$xDATA(cx؈%HDATAxcȉ(&DATAȉcx'DATAchȉ(8DATAhc)DATAch*hDATAcX+DATAXc,DATAcX-DATAc..DATA(Hb,d'=A@DATALmL?B ?o: ?? #<=DATA@ h1 RenderLayerIMtIMRender ResultACA8CACameraamera.001L>DB=B B@?LA$LALamp ????=h>A4B>??? B4B?@@???WO(aWOWorld???===??A@pA A?L=TXhpxxTXprocessing_export.pyP( șșHtDATAC:\processing_export.pyDATAPghtDATAP FREEDATA( FREEDATA(pp ry DATAp( FREEDATAp  DATAH` FREEDATAH ps:DATAؕH e DATAؕ P 0)DATA hؕx FREEDATAh  0)DATAhFREEDATA@DATA@0)[DATAЗ@ 3FREEDATAЗP%(1)DATA`ЗderDATA`FREEDATA`HFREEDATA8FREEDATA8FREEDATAș8FREEDATAșFREEDATAXș0FREEDATAXxFREEDATAXFREEDATA0PFREEDATA0x؊ FREEDATAx0FREEDATAx(FREEDATAPx(extDATAPxDATAP%FREEDATA(0FREEDATA(pFREEDATAp(XFREEDATApFREEDATAHe dDATAHFREEDATA؞HFREEDATA؞ 0REEDATA h؞EFREEDATAh =derDATAhh=(1)DATA@FREEDATA@(=(0)DATAР@9FREEDATAР:0)DATA`РDATA`xFREEDATA`0)DATA8FREEDATA8Xps:DATAȢ8 DATAȢFREEDATAXȢ0FREEDATAXxFREEDATAXFREEDATA0FREEDATA0xP()EDATAx0FREEDATAxDATAP(;DATAPp#REEDATAPFREEDATA(!()DATA(ppFREEDATAp(!FREEDATApDATAHh!DATAHFREEDATAاH!EEDATAا hFREEDATA hا!REEDATAh FREEDATAh`!lenDATA@FREEDATA@ )DATAЩ@( FREEDATAЩ ;DATA`ЩP FREEDATA` $)EEDATA` FREEDATA8` FREEDATA8H!FREEDATAȫ8pFREEDATAȫ*EEDATAXȫ!DATAX!DATAXnot DATA0("1FREEDATA0xx(texDATAx0 FREEDATAxHzersDATAP" FREEDATAP8t DATAPFREEDATA("~ DATA(p8#FREEDATAp(#_by_DATAp#ix(fDATAHDATAH$.sizDATAذH`$DATAذ $DATA hذ$z DATAh 8%bal DATAh% lefDATA@P ,DATA@%FREEDATAв@& DATAв`& DATA`в&,end(DATA`''imagDATA`h'end(DATA8'(nderDATA8(0(numDATAȴ8x(* EEDATAȴ(0* DATAXȴ@)(DATAX)2FREEDATAX*)is sDATA0h*-DATA0x*(+ stDATAx0(+/DATAx+) DATAP+-3*l.DATAP + sDATAPH,tr(3DATA(,%romODATA(p,[a liDATAp(-7rrayDATAp-Hmt(1DATAHh.C'|' DATAH.<DATAعH0/4DATAع /Eear DATA hع0er('DATAh rginDATAhhplesDATA@DATA@X0FDATAл@0FDATAлH1*DATA`л1DATA`1DATA`P= TeDATA8,DATA8H2 DATAȽ8DATAȽ2) DATAXȽ2( BacDATAX@3amRaDATAX0fnamDATA03 'OPEDATA0x3(draDATAx084DATAx4DATAP4'DATAP(5^DATAP5bDATA(P6aDATA(p6^DATAp(x70DATAp7oDATAHDATAHDATAH8DATA 8'DATA h 9'DATAh p90(DATAh9)DATA@:/P)DATA@h:DATA@8;DATA;(DATA`;+DATA`(+DATA`8<%DATA8<-DATA8<`.DATA8.DATADATAX=DATAX=7DATAX0DATA0P>rDATA0xDATAx0>0raDATAx?;rbDATAPHDATAPx?DATAPDATA(?DATA(p@,8DATAp(x@$DATApDATAH@.DATAH0ADATAHADATA A$DATA h B*@?DATAh hDATAhBFREEDATA@B.DATA@0C7FREEDATA@DATADATA`C;DATA`DFREEDATA`FREEDATA8HDATA8hDATA8PDDATADATAXHDATAXDDATAXDATA0D DATA0x8EDATAx0 x(p,DATAx not DATAPE!matrDATAPE"DATAPXDATA(8FDATA(pDATAp(F0DATAph DATAHF&DATAH@GDATAHGDATA G"DATA h(H&DATAh DATAhHDATA@HDATA@DATA@DATAIDATA``IDATA`IDATA`0DATA8IDATA8@J1DATA8JDATAJDATAX@KDATAXp DATAXDATA0KnDATA0x0LDATAx0DATAxLDATAPLVDATAPPMEDATAPMDATA( DATA(pDATAp(@DATAp DATAHNDATAHNDATAHXDATA 0ODATA hO1DATAh ODATAh8PDATA@P$DATA@DATA@ DATA DATA`PoDATA`xQDATA`DATA8QDATA8RWDATA8RFDATASDATAXHDATAXDATAXDATA0SoDATA0xTDATAx0DATAxTDATAP UWDATAPUFDATAP VDATA(DATA(pDATAp(8DATApHDATAH DATAHV2DATAHDATA DATA hDATAh `W8DATAhWDATA@X/DATA@0DATA@xX*DATAȶDATA`XDATA`DATA`(YDATA8pY"DATA8XDATA8YDATAýDATAXPDATAXDATAXP DATA0ZDATA0x`ZADATAx0ZeDATAxp[PDATAPxtDATAPhDATAP[DATA(H\DATA(p\DATAp(\DATAp8]DATAH]DATAH]1DATAH0^DATA(x^DATA(p^DATAp(_DATApP_DATAH_DATAH_DATAH8`DATA `DATA h`DATAh aDATAhXaDATA@DATA@aDATA@0DATA DATA`a6DATA`XbKDATA`b&DATA80c#DATA8cDATA8cDATA dDATAXhdDATAXdDATAXDATA0DATA0xPDATAx0e!DATAxXeDATAPDATAPeDATAPeDATA(8fDATA(pf(DATAp(fDATAp(g,DATAHDATAHgDATAHDATA g@DATA hPhMDATAh hQDATAhDATA@8DATA@XiDATA@jDATADATA`DATA`jDATA`(ktDATA8ЕDATA8ГDATA8kDATAHDATAXDATAXlDATAXDATA0mDATA0xПDATAx0HnDATAxDATAPDATAPnDATAPnDATA(/DATA(pxDATAp(oDATAp DATAHoDATAHDATAH@pDATA p$DATA h DATAh pDATAh DATA@HDATA@(qDATA@xq8DATADATA`qDATA`pDATA`0rDATA8xrDATA8(DATA8rDATADATAXرDATAXsDATAXP DATA0  DATA0 x DATAx  0 `sDATA  x  DATA P  @DATAP   DATA  P sDATA (  `JDATA(  sDATAimport BlenderEDATA import os_SDATAimport structEDATAp from Blender import *:DATA from Blender import LampREEDATA$ from Blender.Scene import Render):DATA` from Blender.Draw import *oDATA from Blender.BGL import *nDATA from Blender import RegistryREEDATAP from Blender import TextDATAx DATA from math import *DATA DATA #globalsQDATA_DATA4 #get the root directory that the current file is inDATA(P#we'll write the muray files there. EEDATA path = Blender.Get('filename')1DATAtokens = path.split('\\')rDATAHfileName = tokens.pop();DATAfile = fileName.split('.')DATAfileName = file[0]DATA DATA path =''DATA0for i in tokens:DATAx path = path + i + '\\' DATADATAPP"DATA؊def export():EEDATA #open a file to export toDATA, f = open(path + fileName + '.mra','wb')GE:DATA,x s = open(path + fileName + '.mrb','wb')DATAx riDATA( f.write('muRay scene description\n')EDATA0 f.write(' ')EDATA def writeln(out):DATAX f.write(out + '\n')EEDATA DATA def fmt(input):= 4DATA return '%5.5f' %inputDATA DATA0 def point_by_matrix(p, m):DATAH return [p[0] * m[0][0] + p[1] * m[1][0] + p[2] * m[2][0] + m[3][0],EDATA@ p[0] * m[0][1] + p[1] * m[1][1] + p[2] * m[2][1] + m[3][1],EEDATA@h p[0] * m[0][2] + p[1] * m[1][2] + p[2] * m[2][2] + m[3][2]]EEDATA  def vector_by_matrix(p, m):REEDATA@( return [p[0] * m[0][0] + p[1] * m[1][0] + p[2] * m[2][0],EEDATA< p[0] * m[0][1] + p[1] * m[1][1] + p[2] * m[2][1], DATA< p[0] * m[0][2] + p[1] * m[1][2] + p[2] * m[2][2]] DATA DATA x def contain(min, max, point):EDATA for v in point:(4DATA if v[0] < min[0]:)EDATAX min[0] = v[0]:DATA if v[1] < min[1]:REEDATA min[1] = v[1]+ DATA0 if v[2] < min[2]:REEDATAx min[2] = v[2]rrDATA if v[0] > max[0]:REEDATA max[0] = v[0]DATAP if v[1] > max[1]:REEDATA max[1] = v[1]DATA if v[2] > max[2]:DATA( max[2] = v[2] ";DATA$p def containSphere(min,max,sphere):DATA  radius = sphere.getSize()[0]EDATA$ if min[0] > sphere.LocX-radius:')DATA p min[0] = sphere.LocX-radiusEDATA$ if min[1] > sphere.LocY-radius:(DATA  min[1] = sphere.LocY-radiusDATA$h if min[2] > sphere.LocZ-radius:arDATA  min[2] = sphere.LocZ-radiusEDATA$ if max[0] < sphere.LocX+radius:ecDATA h max[0] = sphere.LocX+radius DATA$ if max[1] < sphere.LocY+radius:o.DATA  max[1] = sphere.LocY+radiusrDATA$` if max[2] < sphere.LocZ+radius:o.DATA  max[2] = sphere.LocZ+radiusEDATA  DATA(  DATA  #Grab the sceneDATAP  scn = Scene.GetCurrent()DATA(  context = scn.getRenderingContext()DATA  obj = Blender.Object.Get()DATA`  DATAH! #export general scene dataDATApDATA DATA! #background colorTDATA! w=Blender.World.Get()yDATADATA4(" scene = Blender.Scene.GetCurrent().getChildren()EDATAxGDATA writeln('')REEDATAH DATA$" #create the baked textures listDATA8t baked_maps=[]DATA ,mDATA" #create a materials list00DATA8# material_array =[]DATA# materials = Material.get()DATA# for m in materials:SelDATA iDATA$ refFile = "NULL";DATA`$ textureFile = "NULL";DATA$ alphaFile = "NULL";DATA$ normalFile = "NULL";nDATA8% emitFile = "NULL";DATA% specFile = "NULL";DATAP 0DATA % for mtex in m.getTextures():EDATA& if mtex: DATA `& #check if there is an imageDATA0& if mtex.tex.type == Texture.Types.IMAGE:fa.DATA(' print mtex.tex.image.getFilename()DATAh' #map to colorrDATA,' if mtex.mapto == Texture.MapTo.COL:()DATA4( textureFile = mtex.tex.image.getFilename()EEDATA,x( if mtex.mapto == Texture.MapTo.ALPHA:DATA4( alphaFile = mtex.tex.image.getFilename() mt(DATA,@) if mtex.mapto == Texture.MapTo.NOR:,maDATA4) normalFile = mtex.tex.image.getFilename() eDATA,* if mtex.mapto == Texture.MapTo.EMIT:DATA0h* emitFile = mtex.tex.image.getFilename()atDATA,* if mtex.mapto == Texture.MapTo.REF:eftDATA0(+ refFile = mtex.tex.image.getFilename() DATA,+ if mtex.mapto == Texture.MapTo.SPEC:DATA0+ specFile = mtex.tex.image.getFilename() DATA ,DATA H, print m.getDiffuseShader()REEDATA(, material_array.append(m.getName()) etDATA\, writeln('shad=' + str(m.rgbCol) + '|' +str(m.getRayMirr()) + '|' + str(m.getHardness()) +DATA8- '|' + str(m.getAlpha()) +'|'+ str(m.getIOR()) +'|'+DATAL- str(m.getSpec())+'|'+ str(m.getEmit())+'|' + str(m.getRef()) + '|' + ''DATADh. str(m.getDiffuseShader()) +'|' + str(m.getSpecShader()) + '|' +DATA . str(m.getSpecCol()) +'|' +EDATA80/ str(textureFile) + '|' + str(alphaFile) + '|' + REEDATAH/ str(normalFile) + '|' + str(emitFile)+'|' + str(refFile) + '|' + SeDATA0 str(specFile), DATA)*lDATAh ) DATAREEDATAHX0 #while looping through the scene, we will need to collect the maximummDATAH0 #extents of the scene. These will be written to the head of the fileDATA,H1 #after all mesh objects have been measureEDATA1 min = [1e300,1e300,1e300];DATA 1 max = [-1e200,-1e300,-1e300];DATAP numObjects = 0DATAturDATAH2 for obj in scene:.DATA6, DATA 2 if obj.getType() == 'Camera':DATA,2 cam_mat = obj.getMatrix('worldspace')HeiDATA@3 print 'Exporting camera'DATA0 iDATA$3 height = context.imageSizeY() evDATA 3 width = context.imageSizeX()DATA 84 lens = obj.getData().lens DATA4 fov = lens; DATA(4 writeln('cam=' + str(camType.val) + DATA`(5 '['+str(cam_mat[0][0]) + ',' + str(cam_mat[0][1]) + ',' + str(cam_mat[0][2]) + ']' + '|' +EDATAd5 '['+str(cam_mat[1][0]) + ',' + str(cam_mat[1][1]) + ',' + str(cam_mat[1][2]) + ']' + '|' + "DATAdP6 '['+str(-cam_mat[2][0]) + ',' + str(-cam_mat[2][1]) + ',' + str(-cam_mat[2][2]) + ']' + '|' +EEDATA`6 '['+str(cam_mat[3][0]) + ',' + str(cam_mat[3][1]) + ',' + str(cam_mat[3][2]) + ']' + '|' +DATA4x7 str(width) + ',' + str(height) + ']' + '|' +REEDATAp7 str(fov) + ',' + str(fov) + ']' + str(obj.getData().getClipStart()) + '|' + str(camRadiusSlider.val) + '|' DATA )DATA DATA 8 elif obj.getType() == 'Lamp':DATA8 print 'Exporting Lamp' DATA 9 l=Lamp.Get(obj.getName())REEDATAp9 m = obj.getMatrix()DATA9 if l.getType() == 0: tryDATA0: #lamp=location,color,size,energy for a lampDATAh: writeln('lamp=[' + str(obj.getLocation()) + ']|['+ str(3*l.getEnergy()*l.col[0]) +','+ str(3*l.getEnergy()*l.col[1]) + ','+str(3*l.getEnergy()*l.col[2]) )DATA8; elif l.getType() == 1:DATA,; #sun=location,color,energy,direction+DATA ; print 'Exporting the sun'EEDATA( DATA(8< vec = vector_by_matrix([0,0,1],m)DATA< print str(vec)DATA< writeln('sun=['+ str(vec) + ']|[' + str(3*l.getEnergy()*l.col[0]) +','+ str(3*l.getEnergy()*l.col[1]) + ','+str(3*l.getEnergy()*l.col[2]) )DATA DATAREEDATA = elif obj.getType() =='Surf':EDATA8= material_index = material_array.index(obj.getName())DATA02DATA P> containSphere(min,max,obj)DATADATA4> writeln('sphere=[' + str(obj.getLocation()) +REEDATA<? ']|['+ str(obj.size[0]) + ']|['+ str(material_index))DATAH DATA x? elif obj.getType() == 'Mesh':DATA DATA? #get standard mesh dataEDATA0@ m = NMesh.GetRawFromObject(obj.getName())DATA(x@ mat = obj.getMatrix('worldspace')DATA DATA0@ #for every mesh, we dump a list of verticesDATA0A numverts = len(m.verts)DATAA numTris = 0 EEDATA(A print 'verts ' + str(numverts) DATA, B writeln('numverts=' + str(numverts)) EDATAh DATA B for i in range(numverts): DATA0B x,y,z = point_by_matrix(m.verts[i].co,mat)DATA80C writeln('v=' + fmt(x) + '|' + fmt(y) +'|' + fmt(z))DATA DATA DATA<C #iterate through faces - then split faces into trianglesDATAD faces = m.facesDATA DATA H #lastt()DATAh DATAPD lastUVTexture = 0DATA lastidx = 0;DATAH DATAD for fa in faces:DATA DATA$D #each face may have an imageMDATA 8E if str(fa.image) == 'None':DATA idx = -1EEDATA  else:ndDATA$E #is this image the last one?xDATA$E if lastUVTexture == fa.image:DATAX (DATA8F idx = lastidxDATA DATA4F #different texture, have we seen it before?.DATA h try:DATA(F idx = baked_maps.index(fa.image)DATA@G #create new entry DATAG except ValueError:DATA$G baked_maps.append(fa.image) DATA((H idx = baked_maps.index(fa.image)DATA DATA H lastUVTexture = fa.imageDATAH lastidx = idx;DATA DATA DATAI if len(fa.v) == 3: DATA`I numTris += 1DATAI numObjects+=1DATA0 DATA I #check for uv coordinatesDATA4@J #there has got to be a better way to do thisDATAJ if len(fa.uv) == 0:DATAJ zers=[0,0];DATA @K fa.uv = [zers,zers,zers];DATA p DATA DATApK trans = [point_by_matrix(fa.v[0].co,mat),point_by_matrix(fa.v[1].co,mat),point_by_matrix(fa.v[2].co,mat)]DATA0L contain(min,max,trans)DATA DATAL writeln('t=' + DATAXL str(fa.v[0].index) + '|' + str(fa.v[1].index) + '|' + str(fa.v[2].index) + '|' + DATAHPM str(material_array.index(m.materials[fa.mat].getName())) + '|' +DATAM fmt(fa.uv[0][0]) + '|' + fmt(1-fa.uv[0][1]) + '|' + fmt(fa.uv[1][0]) + '|' + fmt(1-fa.uv[1][1]) + '|' + fmt(fa.uv[2][0]) + '|' + fmt(1-fa.uv[2][1]) + '|' + )DATA str(idx)EEDATA )DATA@ DATA  else:DATAN numTris += 2DATAN numObjects+=2DATAX DATA 0O #check for uv coordinatesDATA4O #there has got to be a better way to do thisDATAO if len(fa.uv) == 0:DATA8P zers=[0,0];DATA(P fa.uv = [zers,zers,zers,zers];DATA DATA  DATA  try:DATApP trans = [point_by_matrix(fa.v[0].co,mat),point_by_matrix(fa.v[1].co,mat),point_by_matrix(fa.v[2].co,mat)]DATA xQ contain(min,max,trans)DATADATAQ writeln('t=' + DATAXR str(fa.v[0].index) + '|' + str(fa.v[1].index) + '|' + str(fa.v[2].index) + '|' + DATAHR str(material_array.index(m.materials[fa.mat].getName())) + '|' +DATAS fmt(fa.uv[0][0]) + '|' + fmt(1-fa.uv[0][1]) + '|' + fmt(fa.uv[1][0]) + '|' + fmt(1-fa.uv[1][1]) + '|' + fmt(fa.uv[2][0]) + '|' + fmt(1-fa.uv[2][1]) + '|' + DATAH str(idx)EDATA )DATA DATApS trans = [point_by_matrix(fa.v[2].co,mat),point_by_matrix(fa.v[3].co,mat),point_by_matrix(fa.v[0].co,mat)]DATA T contain(min,max,trans)DATA DATAT writeln('t=' + DATAX U str(fa.v[2].index) + '|' + str(fa.v[3].index) + '|' + str(fa.v[0].index) + '|' + DATAHU str(material_array.index(m.materials[fa.mat].getName())) + '|' +DATA V fmt(fa.uv[2][0]) + '|' + fmt(1-fa.uv[2][1]) + '|' + fmt(fa.uv[3][0]) + '|' + fmt(1-fa.uv[3][1]) + '|' + fmt(fa.uv[0][0]) + '|' + fmt(1-fa.uv[0][1]) + '|' + DATA str(idx)EDATA )DATA8 DATAH DATA except:REEDATA4V print 'caught quad exception on ' + str(fa) DATADATA DATA DATA<`W #if the background is set pass that in, else pass colorDATAW if Background.val:DATA0X writeln('bgimage=' + str(BackgroundText.val))DATA0 else:DATA,xX writeln('bgcolor=' + str(w[0].getHor()))DATAȶ DATA X #write out the baked texturesDATADATA(Y for tex in baked_maps:DATA$pY s.write('b=' + str(tex) + '\n') DATAXDATAY #done with the scene DATA ý f.close@DATA P s.closeDATA DATAPdef render():EEDATA Z spawnPath = path + fileNameDATAD`Z os.spawnl(os.P_NOWAIT,executable,'foo ' + path + ' ' + fileName)DATAhZ #os.spawnl(os.P_NOWAIT,"/home/sheemwaza/base/optimized/src/base","monkey","/home/sheemwaza/out.mra")DATATp[ #retcode=Popen(["/home/sheemwaza/base/src/base","/home/sheemwaza/out.mra"]).pidDATAxt print 'no op'EDATAhDATA[mSampleSlider = Create(0)DATAH\camRadiusSlider = Create(1)DATA\imageSamples = Create(1)DATA\shadowSamples = Create(4)DATA8]muonSlider = Create(0)DATA]Muon = Create(0)DATA4]BackgroundText = Create('using background color')DATA0^Background = Create(0)DATAx^numSample = Create(4)DATA^hemiToggle = Create(0)DATA_camType = Create(1)DATAP_iCacheToggle = Create(0)DATA_samplerWindow = Create(1)DATA_GIWindow = Create(0)DATA8`partOutput = Create(0)DATA`bounce = Create(0) DATA`filterWidth = Create(0)DATAajitter = Create(0)DATAXasbackground = Create(1)DATADATAamaterialsDrop = Create(0)DATA0 DATA def draw():DATA8a global mSampleSlider, muonSlider, Muon,BackgroundTextEDATALXb global Background, numSample, hemiToggle, bounce, ExitButton, iCacheToggleDATA(b global Button2, camType, exportButtonDATA$0c global imageSamples, shadowSamplesDATAc global camRadiusSliderDATA c global samplerWindow, GIWindowDATA d global partOutputDATAhd global filterWidth, jitterDATAd global sbackground DATA DATADATAPDATA$e glClearColor(1.0, 1.0, 1.0, 0.0)DATA Xe glClear(GL_COLOR_BUFFER_BIT)DATADATAe leftMargin = 10;DATAe bottomMargin = 15;DATA8f columnWidth = 170;DATA,f buttonWidth = columnWidth - leftMargin;DATAf columnHeight = 35;DATA0(g buttonHeight = columnHeight - bottomMargin;DATADATA g #always display these buttonsDATADATADg Button('Exit', 3, leftMargin, 5, buttonWidth, buttonHeight, '')DATAPPh Button('Export', 1, leftMargin+columnWidth,5, buttonWidth, buttonHeight, '')DATATh Button('Render', 2, leftMargin+ 2*columnWidth, 5, buttonWidth, buttonHeight, '')DATA DATA8 camType = Menu('Camera Model%t|Perspective %x1|Spherical %x2|Architecture %x3|DOF %x4', 5, leftMargin, 5*columnHeight, buttonWidth, buttonHeight, camType.val, 'Select which type of camera to use.')2DATAXi imageSamples = Slider('Image', 11, leftMargin , 6*columnHeight, buttonWidth, buttonHeight, imageSamples.val, 1, 20, imageSamples.val,'')]DATAj shadowSamples = Slider('Shadow', 12, leftMargin + columnWidth, 6*columnHeight, buttonWidth, buttonHeight, shadowSamples.val, 1, 20, 1,'') DATADATA DATAj #these are the GI settingsDATAx(k #Background = Toggle('Set Background', 7,leftMargin, 4*columnHeight, buttonWidth, buttonHeight, Background.val, '') +DATAЕ DATAГ DATAk sbackground = Menu('Background%t|Uniform %x1|CIE Clear Sky %x2|CIE Overcast %x3|Sky Model %x4', 102, leftMargin, 3*columnHeight, buttonWidth, buttonHeight,sbackground.val, 'Set Background')DATAH DATADATAl numSample = Slider('Samples', 6, leftMargin + columnWidth, 2*columnHeight, buttonWidth, buttonHeight,numSample.val, 1, 64, 4, 'The number of hemisphere samples.')DATADATAm bounce = Slider('Bounce', 0, leftMargin + 2 * columnWidth, 2*columnHeight, buttonWidth, buttonHeight, bounce.val, 1, 5, 0,'') DATAП DATAHn if Background.val == 1:DATA BackgroundText = String('', 6, leftMargin + columnWidth, 4*columnHeight, buttonWidth, buttonHeight, BackgroundText.val, 512, '')DATA DATAn if camType.val == 4:DATAn camRadiusSlider = Slider('Radius', 0, leftMargin + columnWidth, 5*columnHeight, buttonWidth, buttonHeight, camRadiusSlider.val, 1, 20, 1,'')DATA/DATAx DATAodef setBackground(fname):DATA print fnameREEDATAo BackgroundText.val=fnameDATADATA@pdef event(evt, val):DATA(p if (evt== QKEY and not val): Exit()DATA DATApdef bevent(evt):DATA DATAHDATA (q if evt == 7: #setBackgroundDATA<xq Blender.Window.FileSelector(setBackground,'OPEN FILE')DATADATAq elif evt == 10:DATAp DATA0r print 'Materials'DATAxr Blender.Redraw()DATA( DATAr elif evt == 3: #ExitButtonDATA  Exit()beDATAرDATAs elif evt == 2: #Button2DATA P export()DATA  render())DATADATA `s elif evt == 1: #exportButtonDATA  export(),DATA@ DATA else:DATAs Blender.Redraw()DATA`J DATA sRegister(draw, event, bevent)TXhxxpTXTextyyyyXyDATAyEERFDATAOB [0 OBCameraamera.001 8ne@>N@???*?91<"P???ޕ/?5F:?81V~>75e?'?T3>ne@>N@??????7573Ib ?4O2LZ?2]ڜT??OBd??)d??>)d?????OB 0 [OBCube.001{ .?{»,a2>a2>Γ=??a2>a2>Γ=.?{»,?????Dz@+@rn@vEA;@d@R5BwrFwB?DOBd?? #=?>=??@???PDATA OB [I0 OBCube.0020 D?"4}e=??@???`)DATA0 OB I[@ OBCube.003(F` ?{Z35|>@|>@A???|>@|>@A??{Z35?????+?U?^T6~>0@?n$U?QKAq[A?DOBd?? #=?>=??@???XHiDATA` OB @ [HIOBcube3_copy5_RoboM.001 p @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???hDATAp OB H[@ OBcube3_copy5_RoboM.002pX n?cty=??@???8HODATAX OB [HOBcube3_copy5_RoboMetal08\?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@???XDATA8\OB [OBcube3_copy6_RoboM.001H| @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???(hDATA OB [OBcube3_copy6_RoboM.002H n?cty=??@???0DATAH OB [hCOBcube3_copy6_RoboMetalHG?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@???Q(DATAHGOB hC[OBcube3_copy7_RoboM.0018 @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???H$dDATA8 OB [hCOBcube3_copy7_RoboM.002 n?cty=??@???P+0DATA OB [(OBcube3_copy7_RoboMetal?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@???Pn}DATAOB ([OBcube3_copy8_RoboM.001hЭ @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???p% DATAЭ OB [(OBcube3_copy8_RoboM.002(h n?cty=??@???TxDATAh OB [OBcube3_copy8_RoboMetal@Ț?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@???(`CDATAȚOB [OBcube3_RoboMetal_R.001] @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???oDATA OB [xOBcube3_RoboMetal_R.002$Xn?cty=??@???hhDATAXOB x[OBcube3_RoboMetal_RoboM ?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@??? >DATAOB [(@xOBcube4_RoboMetal_R(0@?GX'O>'O>'O>??'O>'O>'O>@?GX?????=??@???(DATA0OB (@[OBcube4_RoboMetal_R.001Q` @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???( DATA` OB [h(@OBcube4_RoboMetal_R.002ȴp n?cty=??@???HdDATAp OB h[OBcube4_RoboMetal_RoboM0?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@??? DATAOB [hOBcube9_Black_Blackx8 ?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@???PDATA OB [OBcube9_Black_Black.002 @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???DATA OB [ЯOBcube9_Black_Black.003n?cty=??@???H4(9(DATAOB Я[OBcube9_default_defH@?GX'O>'O>'O>??'O>'O>'O>@?GX?????=??@???Ș(DATAOB [ <#ЯOBcube9_default_def.001 @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@??? X%DATA OB  <#[HOBcube9_default_def.002ln?cty=??@???Xh>(DATAOB H[H <#OBcube9_default_defaultN?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@???h DATAOB H[(*HOBcube9_Silver_Silv.001 @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???DATA OB (*[8HOBcube9_Silver_Silv.002  n?cty=??@???DATA OB 8[(*OBcube9_Silver_Silver0^x?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@???8DATAxOB [ 8OBcube9_Wood_Woodf?????????????ޕ/?8F:?81W~>85e?'?T2>me@>M@?DOBd8? #=?>=??@???N8DATAOB  [OBcube9_Wood_Wood.002} @?[/Ϻˀ%=%=%=??%=%=%=@?[/Ϻˀ?????nAAt'@ʰA0NAK(q/ACӔ ; C?DOBd?? #=?>=??@???xDATA OB [ OBcube9_Wood_Wood.003X n?cty=??@???pDATAX OB [OBLamp S@@%]????,'?F^r,@??2g>:r=ٽC\m? >!6U?gݺ>S@@%]??????hR1c?>=A?>;&S$?p@kW?DOBd8? #=?>=??@???MA&MABlack<o:o:o:??????????L?????3AA ????????@?=?==???????L?L?L?L==ff????MA& MAdefault=?????????????L?????3AA ????????@?=?==???????L?L?L?L==ff????MA &@MARoboMetal>p>)\?(???????????L?????3AA ????????@?=?==???????L?L?L?L==ff????MA@&` MASilver?Mn?Mn?Mn???????????L?????3AA ????????@?=?==???????L?L?L?L==ff????MA`&@MAWood@N?N?+i???????????L?????3AA ????????@?=?==???????L?L?L?L==ff????ME{2MECube (IF(;8z P 3???DATA DATA,;FDATAF8??II?I?I???III??II?I??IIDATA,8z(DATA(5 ############DATA,P(IDATAx(I4ME2(FMECube.002 x(( H(  3???DATA DATA,H(DATA(8??II?I?I???III??II?I??IIDATA,( DATA 5 ############DATA,x(DATAxx(4ME(F2XMECube.003 hpF&XL M 3???DATA DATA,pFDATApF8??II?I?I???III??II?I??IIDATA,XL&DATA&5 ############DATA,MhDATAxh4ME 2pXMEcube3_copy5_RoboM.001ж OH 0m th"_'kD>TS>߯>DATA  DATA,ODATAO8'kDd ݕ'kD>d ݕI'kD>d 3 II'kDd 3 I'kDA| ݕI'kD>A| ݕII'kDA|3 II'kD>A|3 IIIDATA,HDATAH5 ############DATA,0mDATAx4MEp20 MEcube3_copy5_RoboM.002Xؙ 0s( @ th"_'kD>TS>߯>DATAؙ  DATA,sDATAs8'kDd ݕ'kD>d ݕI'kD>d 3 II'kDd 3 I'kDA| ݕI'kD>A| ݕII'kDA|3 II'kD>A|3 IIIDATA,(DATA(5 ############DATA,@0DATAx04ME02pMEcube3_copy5_RoboMetalPx`@  th"_'kD>TS>߯>DATAx DATA,DATA8'kDd ݕ'kD>d ݕI'kD>d 3 II'kDd 3 I'kDA| ݕI'kD>A| ݕII'kDA|3 II'kD>A|3 IIIDATA,@DATA@5 ############DATA,`DATAx`4MEH|2MEcube3_copy6_RoboM.001H [H8  e>`'kD>TS>ݯ>DATA  DATA,[DATA[8'kDFD=L8'kD>FD=L8I'kD>FD=II'kDFD=I'kDR ?L8I'kD>R ?L8II'kDR ?II'kD>R ?IIIDATA,8HDATAH5 ############DATA,DATAx4ME2H|MEcube3_copy6_RoboM.002} N`$$ Ȋ* e>`'kD>TS>ݯ>DATA  DATA,`$DATA8'kDFD=L8'kD>FD=L8I'kD>FD=II'kDFD=I'kDR ?L8I'kD>R ?L8II'kDR ?II'kD>R ?IIIDATA,$DATA5 ############DATA,Ȋ*NDATAxN4ME2MEcube3_copy6_RoboMetalP (`  e>`'kD>TS>ݯ>DATA( DATA,`DATA8'kDFD=L8'kD>FD=L8I'kD>FD=II'kDFD=I'kDR ?L8I'kD>R ?L8II'kDR ?II'kD>R ?IIIDATA,DATA5 ############DATA,DATAx4ME2MEcube3_copy7_RoboM.001 p 8!2IO `] pN5I>> >>DATAp  DATA,I2DATA287qI>7qII>7q&-/?II7q&-/?IS,II>S,IIIS,&-/?II>S,&-/?IIIDATA,ODATA5 ############DATA,`]8!DATAx8!4ME2MEcube3_copy7_RoboM.002; @½8 ( pN5I>> >>DATA  DATA,8DATA87qI>7qII>7q&-/?II7q&-/?IS,II>S,IIIS,&-/?II>S,&-/?IIIDATA,@½DATA@½5 ############DATA,(DATAx4ME2h MEcube3_copy7_RoboMetalHp@ ` pN5I>> >>DATA DATA,pDATAp87qI>7qII>7q&-/?II7q&-/?IS,II>S,IIIS,&-/?II>S,&-/?IIIDATA,@DATA5 ############DATA,`DATAx4MEh2(h MEcube3_copy8_RoboM.001Ћ( P0X p  th>>O?>6> >R>DATA(  DATA, 0DATA08"+?C,?aqɽUO?C,?=cfWC,?&%?cfC,?>"+?q?aqɽIUO?q?=cfIq?>IWq?&%?IcfDATA,pXDATAX5 ############DATA, PDATAxP4ME(2@hMEcube3_copy8_RoboM.002a 87(  th>>O?>6> >R>DATA  DATA,(8DATA88"+?C,?aqɽUO?C,?=cfWC,?&%?cfC,?>"+?q?aqɽIUO?q?=cfIq?>IWq?&%?IcfDATA,7DATA75 ############DATA,DATAx4ME@2(MEcube3_copy8_RoboMetal p P  th>>O?>6> >R>DATA DATA, DATA 8"+?C,?aqɽUO?C,?=cfWC,?&%?cfC,?>"+?q?aqɽIUO?q?=cfIq?>IWq?&%?IcfDATA,PDATAP5 ############DATA,pDATAxp4ME]2$MEcube3_RoboMetal_R.001h @ PpX  $=h>'?E6?DATA@  DATA,PDATAP8hʾ'Qh>'QIh>'&:O?IIhʾ'&:O?Ihʾ'?QIh>'?QIIhʾ'?&:O?IIh>'?&:O?IIIDATA,XpDATAp5 ############DATA,DATAx4ME$2 ]MEcube3_RoboMetal_R.002pHhh8  $=h>'?E6?DATA DATA,h8DATA8hʾ'Qh>'QIh>'&:O?IIhʾ'&:O?Ihʾ'?QIh>'?QIIhʾ'?&:O?IIh>'?&:O?IIIDATA,hDATAh5 ############DATA,HDATAxH4ME 2($MEcube3_RoboMetal_RoboM8" (#&p"$ & $=h>'?E6?DATA8" DATA,p"#DATA#8hʾ'Qh>'QIh>'&:O?IIhʾ'&:O?Ihʾ'?QIh>'?QIIhʾ'?&:O?IIh>'?&:O?IIIDATA,$&DATA&5 ############DATA,& (DATAx (4ME(2Q MEcube4_RoboMetal_R@ 8oQP T;V=Pܽ O@O@}Y@DATA@ `@DATA,P 8oDATA 8o8T2U@"H@II2U@dUIpHaUpH"H@I9U@"H@III)U@lUIIpH_UIpH"H@IIA?Myp?&>"VfO7?l?]M`=s^?&?%Fíbf?/)?=wƹo"? ?Z9= q;?a,?΍<3\2y?eC?P= N=Rj;q???IJo9GkDd ݕ3kD>d ݕI3kD>d 4 IIkDd 4 IkDA| ݕI3kD>A| ݕIIkDA|4 II3kD>A|4 III%+?C,?fqɽXO?C,?=cf{UC,?%%?cfzC,?>%+?q?fqɽIXO?q?=cfIzq?>I{Uq?%%?IcfdnǾԾ?7?q75?Cƙh|?l?Rf  >k ξ?ZYdn>ڨ?GLD?k ?W?CX) >>+@j9gph|?Ǿ>?RfEK 7qI>7qII>7q%-/?II7q%-/?IS,II>S,IIIS,%-/?II>S,%-/?IIIbf?/)?=%yg??j=f|Zq?I?b<+_I2y?eC?P= dO l?j^E?bjEZq???IJ|@Kg_? ?::%N^?&?%F,wvw??==wƹo'^?K:)íX?8?P.Ľo9GkDFD=L83kD>FD=L8I3kD>FD=IIkDFD=IkDR ?L8I3kD>R ?L8IIkDR ?II3kD>R ?IIIvw??==h~n쏎?q>A=';MX??Nuym#'^?K:)&?&Q>ռk\+X?8?P.ĽW5?E?Oq/Oxbʾ'Qn>'QIn>'%:O?IIbʾ'%:O?Ibʾ'?QIn>'?QIIbʾ'?%:O?IIn>'?%:O?IIIDATA,QDATAQ5############ # # # # # # # # # ## ######################### !#"## ##$%##&#$&# $#&'#!%#"'#!"#%'#()#*+#(+#,-#+.#,.#(,#./#)-#*/#)*#-/#01#23#03#24#45#35#46!67#57#18#89#12!8:#16#:;#6:#29#9;#4;#<=#>?#<?#@A#?B#@B#<@#BC#=A#>C#=>#AC#DG#EI#DE#DH#IK#HI#HJ#FG#FK#JK#GJ#EF#LM#NO#LO#PQ#OR#PR#LP#RS#MQ#NS#MN#QS#DATA,DATA4;        !"# $%!$ #&"'&#!%'"&'%$()*+(,-),(+.*/.+)-/*./-,01233245546718926:814;:629;4<=>?<@A=@<?B>CB?=AC>BCA@DEFGEDHIJKIHGFKJIKFELMNOLPQMPLORNSROMQSNRSQPMEQ2ȴ(MEcube4_RoboMetal_R.001&  SPh؂!H : 9>F??k ?T+?DATA  DATA,؂!PDATAP8dnǾԾ?7?q75?Cƙh|?l?Rf  >k ξ?ZYdn>ڨ?GLD?k ?W?CX) >>+@j9gph|?Ǿ>?RfEK DATA,HhDATAh5 ############DATA,: SDATAx S4MEȴ20QMEcube4_RoboMetal_R.002 H)(  9>F??k ?T+?DATA  DATA,)DATA)8dnǾԾ?7?q75?Cƙh|?l?Rf  >k ξ?ZYdn>ڨ?GLD?k ?W?CX) >>+@j9gph|?Ǿ>?RfEK DATA,(DATA5 ############DATA,HDATAxH4ME02x8ȴMEcube4_RoboMetal_RoboMpg1735 2P4 p6 9>F??k ?T+?DATA1 DATA, 23DATA38dnǾԾ?7?q75?Cƙh|?l?Rf  >k ξ?ZYdn>ڨ?GLD?k ?W?CX) >>+@j9gph|?Ǿ>?RfEK DATA,P45DATA55 ############DATA,p67DATAx74MEx82@@0MEcube9_Black_Black 9?X;=9(< H> k?2 ? L/Zw0>zF9>Ƈ=DATA9DATA,9X;DATAX;8sw??B=h~nꏎ?q>A=':)&?&Q>mռk\+X?8?K.ĽW5?E?Jq/OxDATA,(<=DATA=5 ############DATA,H>?DATAd?4ME2@@MEcube9_Black_Black.002Cp =h @ X k?2 ? L/Zw0>zF9>Ƈ=DATAp DATA,DATA8sw??B=h~nꏎ?q>A=':)&?&Q>mռk\+X?8?K.ĽW5?E?Jq/OxDATA,@h DATAh 5 ############DATA,X=DATAd=4ME2HMEcube9_Black_Black.003hxo`?#(`m n k?2 ? L/Zw0>zF9>Ƈ=DATAhDATA,(DATA8sw??B=h~nꏎ?q>A=':)&?&Q>mռk\+X?8?K.ĽW5?E?Jq/OxDATA,`m`?#DATA`?#5 ############DATA,nxoDATAdxo4MEH2MEcube9_default_def؞ PINJLIhK (Mb[c?t_?ޥ8=>l=DATA @DATA,P0@DATA@8 _f?/)?=%yg??j=f|Xq?I?t<+_I/y?eC?P= dOl?j^E?bjEZq???@J|@Kd_? ?;:%N^?&?z%F,wsw??B=wƹo%^?K:)íX?8?K.Ľo9GDATA, (DATA(5########## ## ## # # # # #DATA, DATA 4    ME 20^MEcube9_Silver_Silv.002h h*h ( ]?D#? S;>>l=DATA @DATA,hDATA8 _f?/)?=%yg??j=f|Xq?I?t<+_I/y?eC?P= dOl?j^E?bjEZq???@J|@Kd_? ?;:%N^?&?z%F,wsw??B=wƹo%^?K:)íX?8?K.Ľo9GDATA,DATA5########## ## ## # # # # #DATA,(h*DATAh*4    ME0^2f MEcube9_Silver_Silver x_fac_0b d ]?D#? S;>>l=DATAx_@DATA,_aDATAa8 _f?/)?=%yg??j=f|Xq?I?t<+_I/y?eC?P= dOl?j^E?bjEZq???@J|@Kd_? ?;:%N^?&?z%F,wsw??B=wƹo%^?K:)íX?8?K.Ľo9GDATA,0bcDATAc5########## ## ## # # # # #DATA,dfDATAf4    MEf2n0^MEcube9_Wood_Wood`hmikHhxj l d@?xX?tX=Ƶd>fH>=DATAh`DATA,HhiDATAi8A?Myp?(>"VfL7?l?fM`=s^?&?z%Fí_f?/)?=wƹo"? ?_9= q;?a,?ύ<3\/y?eC?P= N=Rj;q???@Jo9GDATA,xjkDATAk5 ############DATA,lmDATAdm4ME}2nMEcube9_Wood_Wood.002 xAU` Z d@?xX?tX=Ƶd>fH>=DATA `DATA,`UDATAU8A?Myp?(>"VfL7?l?fM`=s^?&?z%Fí_f?/)?=wƹo"? ?_9= q;?a,?ύ<3\/y?eC?P= N=Rj;q???@Jo9GDATA,DATA5 ############DATA,ZxADATAdxA4ME2}MEcube9_Wood_Wood.003X, ( ` d@?xX?tX=Ƶd>fH>=DATA `DATA,(DATA8A?Myp?(>"VfL7?l?fM`=s^?&?z%Fí_f?/)?=wƹo"? ?_9= q;?a,?ύ<3\/y?eC?P= N=Rj;q???@Jo9GDATA,DATA5 ############DATA,`DATAd4DNA1(SDNANAMEF*next*prev*first*lastxyzwxminxmaxyminymax*pointergroupvalpadname[32]typesubtypeflagsaveddatalentotallen*newid*libname[24]usicon_id*propertiesid*idblock*filedataname[240]filename[240]tot*parentcurvecurblocktypeshowkeyposcurvaladrcodetotelem*data*weightsvgroup[32]sliderminslidermax*refkeyelemstr[32]elemsizeblock*ipo*fromtotkeyslurph**scripts*flagactscripttotscript*line*formatblen*nameflagsnlineslines*curl*sellcurcselc*undo_bufundo_posundo_len*compiledsizeseekpassepartalphaangleclipstaclipendlensortho_scaledrawsizeshiftxshiftyYF_dofdistYF_apertureYF_bkhtypeYF_bkhbiasYF_bkhrotscriptlinkh*rectframenrframesoffsetsfrafie_imacyclokmulti_indexlayerpassmenunribufs*anim*rrsourcepad1lastframetpageflagtotbindxrepyreptwstatwendbindcode*repbind*packedfile*previewlastupdatelastusedanimspeedgen_xgen_ygen_type*vnodetexcomaptomaptonegblendtype*object*texuvname[32]projxprojyprojzmappingofs[3]size[3]texflagcolormodelrgbkdef_varcolfacnorfacvarfacdispfacwarpfacname[160]*handle*pname*stnamesstypesvars*varstr*result*cfradata[32](*doit)()(*instance_init)()(*callback)()versionaipotype*ima*cube[6]imat[4][4]obimat[3][3]stypeviewscalenotlaycuberesdepthrecalclastsizenoisesizeturbulbrightcontrastrfacgfacbfacfiltersizemg_Hmg_lacunaritymg_octavesmg_offsetmg_gaindist_amountns_outscalevn_w1vn_w2vn_w3vn_w4vn_mexpvn_distmvn_coltypenoisedepthnoisetypenoisebasisnoisebasis2imaflagcropxmincropymincropxmaxcropymaxxrepeatyrepeatextendcheckerdistnablaiuser*plugin*coba*envloc[3]rot[3]mat[4][4]min[3]max[3]*obmodetotexenergydistspotsizespotblendhaintatt1att2shadspotsizebiassoftbufsizesampbuffersfiltertypebufflagbuftyperay_sampray_sampyray_sampzray_samp_typearea_shapearea_sizearea_sizeyarea_sizeztexactshadhalostepYF_numphotonsYF_numsearchYF_phdepthYF_useqmcYF_bufsizeYF_padYF_causticblurYF_ltradiusYF_glowintYF_glowofsYF_glowtypeYF_pad2*mtex[10]specrspecgspecbmirrmirgmirbambrambbambgambemitangspectraray_mirroralpharefspeczoffsaddtranslucencyfresnel_mirfresnel_mir_ifresnel_trafresnel_tra_ifiltertx_limittx_falloffray_depthray_depth_traharseed1seed2mode_lflarecstarclinecringchasizeflaresizesubsizeflarebooststrand_stastrand_endstrand_easesbiasshad_alphapadfrgbselpr_typeuse_nodespr_backpr_lampseptexml_flagdiff_shaderspec_shaderroughnessrefracparam[4]rmsdarkness*ramp_col*ramp_specrampin_colrampin_specrampblend_colrampblend_specramp_showpad3rampfac_colrampfac_spec*nodetree*groupfrictionfhreflectfhdistxyfrictdynamodepad2sss_radius[3]sss_col[3]sss_errorsss_scalesss_iorsss_colfacsss_texfacsss_frontsss_backsss_flagsss_presetYF_arYF_agYF_abYF_dscaleYF_dpwrYF_dsmpYF_presetYF_djitname[256]scale*bbi1j1k1i2j2k2selcol1selcol2quat[4]expxexpyexpzradrad2s*mat*imatelemsdisp**mattotcolwiresizerendersizethreshvec[3][3]alfaweightradiush1h2f1f2f3hidevec[4]mat_nrpntsupntsvresoluresolvorderuordervflaguflagv*knotsu*knotsv*bp*beztcharidxkernnurb*bevobj*taperobj*textoncurve*path*keybevpathlenbevresolwidthext1ext2resolu_renresolv_renspacemodespacinglinedistshearfsizewordspaceulposulheightxofyoflinewidth*strfamily[24]*vfont*vfontb*vfonti*vfontbisepchartotboxactbox*tbselstartselend*strinfocurinfoname[128]maxrcttotrctvartypetotvertipoextraprtbitmaskslide_minslide_max*drivereffect*mface*mtface*tface*mvert*medge*dvert*mcol*msticky*texcomesh*mselect*oc*sumohandlevdataedatafdatatotedgetotfacetotselectcubemapsizesmoothreshsubdivsubdivrsubsurftype*mr*pv*tpageuv[4][2]col[4]transptileunwrapv1v2v3v4edcodecreasedef_nr*dwtotweightco[3]no[3]co[2]indexv[4]midchildrenstartpad[2]v[2]*verts*faces*colfaces*edges*vert_edge_map*vert_face_map*map_memlevelslevel_countcurrentnewlvledgelvlpinlvlrenderlvluse_col*edge_flags*edge_creases*vert_map*edge_map*old_faces*old_edges*errormodifiersubdivTyperenderLevels*emCache*mCachedefaxispad[6]startlengthrandomizeseed*start_cap*end_cap*curve_ob*offset_oboffset[3]scale[3]merge_distfit_typeoffset_typecountaxistolerancesplit_angle*texturestrengthdirectiondefgrp_name[32]midleveltexmapping*map_objectuvlayer_name[32]uvlayer_tmp*projectors[10]*imagenum_projectorsaspectxaspectypercentfaceCountfacrepeat*objectcenterstartxstartyheightnarrowspeeddamptimeoffslifetimedeformflagparentinv[4][4]cent[3]falloff*indexartotindexforceoperationpntswopntsuopntsvopntswtypeutypevtypewfufvfwdudvdw*defvec[8][3]dvec[3]max**obpartypepar1par2par3parsubstr[32]*track*proxy*proxy_group*proxy_from*action*poseconstraintChannelsnetworkdefbasemodifiersdloc[3]orig[3]dsize[3]drot[3]dquat[4]obmat[4][4]laycolbitstransflagipoflagtrackflagupflagnlaflagprotectflagipowinscaflagscavisflagboundtypedupondupoffdupstadupendsfctimemassdampinginertiaformfactorrdampingsizefacdtdtxactcolempty_drawtypepad1[7]empty_drawsizepropsensorscontrollersactuatorsbbsize[3]actdefgameflaggameflag2softflaganisotropicFriction[3]constraintsnlastripshooks*pd*soft*dup_groupfluidsimFlagrestrictflagshapenrshapeflagrecalcopad4*fluidsimSettings*derivedDeform*derivedFinallastDataMaskcurindexactivedeflectforcefieldpdef_damppdef_rdamppdef_permf_strengthf_powermaxdistpdef_sbdamppdef_sbiftpdef_sbofttotpointtotspring*bpoint*bspringnodemassgravmediafrictrklimitphysics_speedgoalspringgoalfrictmingoalmaxgoaldefgoalvertgroupfuzzynessinspringinfrictefraintervallocalsolverflags**keystotpointkeysecondspringcolballballdampballstiffsbc_modeaeroedgeminloopsmaxloopschokepad5*scratchshow_advancedoptionsresolutionxyzpreviewresxyzrealsizeguiDisplayModerenderDisplayModeviscosityValueviscosityModeviscosityExponentgravxgravygravzanimStartanimEndgstarmaxRefineiniVelxiniVelyiniVelz*orgMesh*meshSurface*meshBBsurfdataPath[240]bbStart[3]bbSize[3]typeFlagsdomainNovecgenvolumeInitTypepartSlipValuegenerateTracersgenerateParticlessurfaceSmoothingsurfaceSubdivsunusedDNADummyparticleInfSizeparticleInfAlphafarFieldSize*meshSurfNormalsmistypehorrhorghorbhorkzenrzengzenbzenkambkfastcolexposureexprangelinfaclogfacgravityactivityBoxRadiusskytypephysicsEnginemisimiststamistdistmisthistarrstargstarbstarkstarsizestarmindiststardiststarcolnoisedofstadofenddofmindofmaxaodistaodistfacaoenergyaobiasaomodeaosampaomixaocolor*aosphere*aotableshemiresmaxiterdrawtypesubshootpsubshootenodelimmaxsublamppamapamielmaelmimaxnodeconvergenceradfacgammaselcolsxsy*lpFormat*lpParmscbFormatcbParmsfccTypefccHandlerdwKeyFrameEverydwQualitydwBytesPerSeconddwFlagsdwInterleaveEveryavicodecname[128]*cdParms*padcdSizeqtcodecname[128]codecaudio_codecvideo_bitrateaudio_bitrategop_sizerc_min_raterc_max_raterc_buffer_sizemux_packet_sizemux_ratemixratemainpad[3]*mat_override*light_overridelayflagpassflagpass_xor*avicodecdata*qtcodecdataffcodecdatacfrapsfrapefraimagesframaptothreadsframelenblurfacedgeRedgeGedgeBfullscreenxplayyplayfreqplayattribrt1rt2stereomodedimensionspresetmaximsizexschyschxaspyaspxpartsypartswinposplanesimtypesubimtypequalityscemoderendererocresrpad[2]alphamodeosafrs_secedgeintsafetyborderdisprectlayersactlaygausspostmulpostgammaposthuepostsatdither_intensitybake_osabake_filterbake_modebake_flagGIqualityGIcacheGImethodGIphotonsGIdirectYF_AAYFexportxmlYF_nobumpYF_clamprgbyfpad1GIdepthGIcausdepthGIpixelspersampleGIphotoncountGImixphotonsGIphotonradiusYF_numprocsYF_raydepthYF_AApassesYF_AAsamplesGIshadowqualityGIrefinementGIpowerGIindirpowerYF_gammaYF_exposureYF_raybiasYF_AApixelsizeYF_AAthresholdbackbuf[160]pic[160]ftype[160]col[3]framename[64]*brushtoolcornertypeeditbutflagjointrilimitdegrstepturnextr_offsdoublimitsegmentsringsverticesunwrapperuvcalc_radiusuvcalc_cubesizeuvcalc_mapdiruvcalc_mapalignuvcalc_flagimapaintselect_threshclean_threshretopo_moderetopo_paint_toolline_divellipse_divretopo_hotspotmultires_subdiv_typepad4[2]dirairbrushview*sessiondrawbrushsmoothbrushpinchbrushinflatebrushgrabbrushlayerbrushflattenbrushbrush_typetexnrtexrepttexfadetexsepaveragingdraw_flagtablet_sizetablet_strengthsymm*camera*world*setbase*basactcursor[3]twcent[3]twmin[3]twmax[3]editbutsizeselectmodeproportionalprop_mode*ed*radioframing*toolsettingsaudiomarkersjumpframe*theDagdagisvaliddagflagssculptdatazoomblendximyimspacetypeblockscale*areablockhandler[8]viewmat[4][4]viewinv[4][4]persmat[4][4]persinv[4][4]winmat1[4][4]viewmat1[4][4]viewquat[4]zfacpad0persp*ob_centre*bgpic*localvd*ri*retopo_view_data*depthsob_centre_bone[32]localviewlayactscenelockaroundcamzoompivot_lastgridgridviewpixsizenearfarcamdxcamdygridlinesviewbutgridflagmodeselecttwtypetwmodetwflagtwdrawflagtwmat[4][4]clip[4][4]*clipbbafterdrawzbufxrayflag2gridsubdivsnap_target*properties_storageverthormaskmin[2]max[2]minzoommaxzoomscrollkeeptotkeepaspectkeepzoomoldwinxoldwinyrowbutv2d*editipoipokeyactname[32]constname[32]totipopinbutofschannellockmedian[3]cursenscuractaligntabomainbmainbo*lockpointexfromshowgroupmodeltypescriptblockre_alignoldkeypresstab[7]chanshown*filelisttotfiletitle[24]dir[160]file[80]ofssortmaxnamelencollums*libfiledataretvalmenuact(*returnfunc)()(*returnfunc_event)()(*returnfunc_args)()*arg1*arg2*menup*pupmenuoopsvisiflagtree*treestoresearch_string[32]search_tsesearch_flagsdo_outlinevisstoreflagdeps_flags*cumapimanrcurtileimtypenrshowsparecentxcenty*info_str*info_spare*spare*texttopviewlinesfont_idlheightleftshowlinenrstabnumbercurrtab_setshowsyntaxunused_paddpix_per_linetxtscrolltxtbar*script*but_refsredraws*idaspect*curfont*edittreetreetypetitle[28]fasesubfasemouse_move_redrawimafasemxmydirslidirsli_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*cmapoutline[4]neutral[4]action[4]setting[4]setting1[4]setting2[4]num[4]textfield[4]textfield_hi[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_drawtypeiconfile[80]back[4]header[4]panel[4]shade1[4]shade2[4]hilite[4]grid[4]wire[4]select[4]lamp[4]active[4]group[4]group_active[4]transform[4]vertex[4]vertex_select[4]edge[4]edge_select[4]edge_seam[4]edge_sharp[4]edge_facesel[4]face[4]face_select[4]face_dot[4]normal[4]bone_solid[4]bone_pose[4]strip[4]strip_select[4]vertex_sizefacedot_sizebpad[2]syntaxl[4]syntaxn[4]syntaxb[4]syntaxv[4]syntaxc[4]movie[4]image[4]scene[4]audio[4]effect[4]plugin[4]transition[4]meta[4]bpad1[4]tuitbutstv3dtfiletipotinfotsndtacttnlatseqtimatimaseltexttoopsttimetnodebpad[4]spec[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]tw_hotspottw_flagtw_handlesizetw_sizetextimeouttexcollectratememcachelimitframeserverportpad_rot_angleobcenter_diarvisizervibrightversemaster[160]verseuser[160]recent_filessmooth_viewtxvertbaseedgebaseareabase*sceneendxendysizexsizeyscenenrscreennrfullmainwinwinakthandler[8]*newvvec*v1*v2panelname[64]tabname[64]drawname[64]ofsxofsycontrolsnapold_ofsxold_ofsysortcounter*paneltab*v3*v4*fullwinmat[4][4]headrctwinrctheadwinwinheadertypebutspacetypewinxwinyhead_swaphead_equalwin_swapwin_equalheadbutlenheadbutofscursorspacedatauiblockspanelssubvstr[4]subversionpadsminversionminsubversiondisplaymode*curscreen*curscenefileflagsglobalfname[80]*ibuf*se1*se2*se3nrdone*stripdataorxory*instance_private_data**current_private_data*newseqstartofsendofsstartstillendstillmachinestartdispenddispmulhandsize*strip*curelemfacf0facf1*seq1*seq2*seq3seqbase*sound*hdaudiolevelpancurposstrobe*effectdataanim_preseek*oldbasep*parseq*seqbasepmetastackedgeWidthforwardwipetypefMinifClampfBoostdDistdQualitybNoCompScalexIniScaleyIniScalexFinScaleyFinxInixFinyIniyFinrotInirotFin*frameMapglobalSpeedbuttypeuserjitstaendtotpartnormfacobfacrandfactexfacrandlifeforce[3]vectsizemaxlendefvec[3]mult[4]life[4]child[4]mat[4]texmapcurmultstaticstepomattimetexspeedtexflag2negvertgroup_vvgroupname[32]vgroupname_v[32]*keysminfacusedusedelemdxdylinkotypeold*poin*oldpoinresetdistlastval*makeyqualqual2targetName[32]toggleName[32]value[32]maxvalue[32]materialName[32]damptimerdelaypropname[32]matname[32]axisflag*fromObjectsubject[32]body[32]pulsefreqtotlinks**linksinvertfreq2axisfbuttonbuttonfhathatfprecisionstr[128]*mynewinputstotslinks**slinksvalotime*actblendinprioritystrideaxisstridelengthsndnrpad1[2]makecopycopymadepad2[1]trackvolume*melinVelocity[3]localflagforceloc[3]forcerot[3]linearvelocity[3]angularvelocity[3]butstabutendminvisifacslowminloc[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_gaindistancestreamlenchannelshighpriopad[10]gaindopplerfactordopplervelocitynumsoundsblendernumsoundsgameengine*lamprengobjectchildbaserollhead[3]tail[3]bone_mat[3][3]arm_head[3]arm_tail[3]arm_mat[4][4]xwidthzwidthease1ease2rad_headrad_tailbonebasechainbasepathflaglayer_protectedghostepghostsizeghosttypepathsizeghostsfghostefpathsfpathefconstflagikflagselectflag*bone*childiktree*b_bone_matschan_mat[4][4]pose_mat[4][4]pose_head[3]pose_tail[3]limitmin[3]limitmax[3]stiffness[3]ikstretch*customchanbaseproxy_layerstride_offset[3]cyclic_offset[3]reserved1autosnapactnractwidthtimeslidename[30]enforce*tariterationsrootbonesubtarget[32]orientweightgrabtarget[3]reserved2minmaxflagstickystuckcache[3]lockflagfollowflagzminzmaxvolmodeplaneorglengthbulgepivXpivYpivZaxXaxYaxZminLimit[6]maxLimit[6]extraFzchannel[32]no_rot_axisstride_axiscurmodactstartactendactoffsstridelenblendoutstridechannel[32]offs_bone[32]hasinputhasoutputdatatypesockettypenslimitstack_indexinternstack_index_extlocxlocyown_indexto_index*tosock*link*new_nodelastyoutputs*storageminiwidthcustom1custom2need_execexectotrbutrprvr*typeinfo*fromnode*tonode*fromsocknodeslinks**stackinitstacksizecur_indexalltypes*owntype(*timecursor)()(*stats_draw)()(*test_break)()cyclicmoviesamplesminspeedbokehhuesatt1t2t3fstrengthfalphakey[4]colname[32]bktyperotationpreviewgamcono_zbuffstopmaxblurbthreshshortymintablemaxtableext_in[2]ext_out[2]*curve*table*premultablecurrcliprcm[4]black[3]white[3]bwmul[3]offset[2]innerradiusratergb[3]cloneactive_rndpad[4]*layerstotlayermaxlayertotsizeTYPEcharucharshortushortintlongulongfloatdoublevoidLinkListBasevec2svec2ivec2fvec2dvec3ivec3fvec3dvec4ivec4fvec4drctirctfIDPropertyDataIDPropertyIDLibraryFileDataIpoKeyBlockKeyScriptLinkTextLineTextPackedFileCameraPreviewImageImageUserImageanimRenderResultMTexObjectTexPluginTexCBDataColorBandEnvMapImBufTexMappingLampWaveMaterialbNodeTreeGroupVFontVFontDataMetaElemBoundBoxMetaBallBezTripleBPointNurbCharInfoTextBoxCurvePathIpoDriverIpoCurveMeshMFaceMTFaceTFaceMVertMEdgeMDeformVertMColMStickyMSelectOcInfoCustomDataMultiresPartialVisibilityMDeformWeightMultiresColMultiresColFaceMultiresFaceMultiresEdgeMultiresLevelMultiresMapNodeModifierDataSubsurfModifierDataLatticeModifierDataCurveModifierDataBuildModifierDataArrayModifierDataMirrorModifierDataEdgeSplitModifierDataDisplaceModifierDataUVProjectModifierDataDecimateModifierDataSmoothModifierDataCastModifierDataWaveModifierDataArmatureModifierDataHookModifierDataSoftbodyModifierDataBooleanModifierDataLatticebDeformGroupLBufbActionbPosePartDeflectSoftBodyFluidsimSettingsDerivedMeshObHookSBVertexBodyPointBodySpringSBScratchWorldRadioBaseAviCodecDataQuicktimeCodecDataFFMpegCodecDataAudioDataSceneRenderLayerRenderDataGameFramingTimeMarkerImagePaintSettingsBrushToolSettingsBrushDataSculptDataSculptSessionSceneDagForestBGpicView3DSpaceLinkScrAreaRenderInfoRetopoViewDataViewDepthsView2DSpaceInfoSpaceIpoSpaceButsSpaceSeqSpaceFiledirentryBlendHandleSpaceOopsTreeStoreTreeStoreElemSpaceImageCurveMappingSpaceNlaSpaceTextSpaceScriptScriptSpaceTimeSpaceNodeSpaceImaSelImaDirOneSelectableImaThemeUIThemeSpacebThemeSolidLightUserDefbScreenScrVertScrEdgePanelFileGlobalStripElemStripPluginSeqSequencebSoundhdaudioMetaStackEditingWipeVarsGlowVarsTransformVarsSolidColorVarsSpeedControlVarsEffectBuildEffPartEffParticleWaveEffOopsbPropertybNearSensorbMouseSensorbTouchSensorbKeyboardSensorbPropertySensorbCollisionSensorbRadarSensorbRandomSensorbRaySensorbMessageSensorbSensorbControllerbJoystickSensorbExpressionContbPythonContbActuatorbAddObjectActuatorbActionActuatorbSoundActuatorbCDActuatorbEditObjectActuatorbSceneActuatorbPropertyActuatorbObjectActuatorbIpoActuatorbCameraActuatorbConstraintActuatorbGroupActuatorbRandomActuatorbMessageActuatorbGameActuatorbVisibilityActuatorFreeCamerabSamplebSoundListenerSpaceSoundGroupObjectBonebArmaturebPoseChannelbActionChannelSpaceActionbConstraintChannelbConstraintbKinematicConstraintbTrackToConstraintbRotateLikeConstraintbLocateLikeConstraintbMinMaxConstraintbSizeLikeConstraintbActionConstraintbLockTrackConstraintbFollowPathConstraintbDistanceLimitConstraintbRotationConstraintbStretchToConstraintbLocLimitConstraintbRotLimitConstraintbSizeLimitConstraintbRigidBodyJointConstraintbClampToConstraintbActionModifierbActionStripbNodeStackbNodeSocketbNodeLinkbNodebNodePreviewbNodeTypeNodeImageAnimNodeBlurDataNodeHueSatNodeImageFileNodeChromaNodeGeometryNodeVertexColNodeDefocusCurveMapPointCurveMapBrushCloneCustomDataLayerTLEN  L4(Thxh tx T8pDDlh8$88\,< @ @ 44DX`Dt<<<\h`4@t( <(,((0@XP Lt<$x$(h x$ 8x h (88,@0,HhH,(lDLP@< <@Lh48<8l(DlP<,4D4,,D,@,<4` <$t (@  ,<STRC                 !"#$ %&'( )*+, -./01 234* 56789 :;<=!!!>?@" ABC D!E!FGHIJK L#MNB -$OPQRSTUVWXYZ[\6 ]%^_& `abcdefghij'! k(l)mfnopqrstuvwx#y%z{|}~ *+,-   .)&/#&.0+'1QRfp,4dabc&6'-/02+34QR   * 6 ]465p  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI/J/KLMNOPQRS* 6T67UVWXYZ[\]^_`abcdefghijklmno ]8pq9-#y:::;rstuvwxyz{|}~<;r  65= >???>=@\A^B9;r  +++6C5 \D)8888A@@D+'+EEE>='+  *DF);r 65GHIJKLMNFOP QQQ\RS I GKTLTJMNOH'UVUWX Y YYJ W V X   ZR QQSGK[[[\[ !"B # $][ +^[ +%&_[ '()*` [ +++,+-+./0(123B4a[ 56b[ 7Bc [ ,89:;<=+>?@d [ +A'BBCDE?@e[ FGf[ H;Ig[ +HM;h[ +J;,8+>KLMNOP=@?QRi[ So\+;j [ +TUVWXYk[ l[ +Zm[\]^\_`abcdefg>h6Lnnn;iPjo#k+l+gmnopq+$+r+s+t+u6C;rpvqw - x  y  z {5|}~{T ]        rs7tuu vvv+$TUVWXYr ws(xycw8Qzt(FFF6     J{9 !"#$%&'()*+,-./0123456789:;<=6*  ]|>?@ABCDEFGHIJKL}}}MNO+~ P QRSTUVWXYZ[ \ ]^\_ `abcdBefghijkl 5m7nopqe~rstucvwxyz{|}~M \o\QQ\M9* %+{' }     >6T |  ] o\Q '&MD !"#$%&'()*+++,-./01@234567oS89:;<=>?@ABjCDEFGH;I JKLMNO\ P#&QRSTUVWXYZ[\]   ^\_ ` a67bcdefg('jhi#. jklm_njeo pqrstuvw _nx\ yz{|}~      _ e p  _'B&jh\1  jh_ "Bj Bjo __7j 6T6Q\1       l0   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ@R4STUVWXYZ[\]^_`abcdefghijklmn opqrstuvwxyz{|}~&   KL  ]      1f | p     ) 'c6(l      P B(c-R8*   P  M7UKLMNOPQR, - !" # $% & '()o\5*+,-./0123P\P5*456o7+89:$;<=o\ ->+?@ 5ABCDEFG"HI=$J\Q ->KLM+ pNOPQR STUVWSXY M+FZ[\+0+ ]^|_` o&ab+MckH5dPefghi l&ab7U*jklmn5o+p9qo\:rs H$t -+ uvwxyz{| }#y#~ 6YB_Sh\+ 7 h$ (h  @Sh \$  {+q 6 xp  _pveh6 - ++B++ +bo\+ +'ckpN++b+o\/   +   M   o   o++o\+ +6pN+';IO {ck -   o      j I   z           6       ac voHL\p`c !"#$ %&'()*+,q- ./01234 &56789:;'B; M<=>* ?b@A -QBCDEENDB