<snapdata remixID="12373217"><project name="Grid drawing" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes>Draw stuff!&#xD;z and c to switch costumes.</notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Grid drawing"><notes>Draw stuff!&#xD;z and c to switch costumes.</notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="snap %&apos;n&apos; to nearest %&apos;snap&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportRound"><block s="reportQuotient"><block var="n"/><block var="snap"/></block></block><block var="snap"/></list></block></block></script></block-definition><block-definition s="$gearPartial In Editor?" type="predicate" category="sensing"><comment x="0" y="0" w="90" collapsed="false">needs js to work...</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return location.href === parent.location.href;</l></block><list></list></block></block></script></block-definition><block-definition s="$globe set web ID %&apos;s&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>_ID</l><block var="s"/></block></script><scripts><script x="150" y="96.83333333333331"><block s="doRun"><block s="reportJSFunction"><list><l>a</l></list><l>cloudid = a</l></block><list><block var="s"/></list></block></script></scripts></block-definition><block-definition s="$globe cloud var %&apos;s&apos; . %&apos;qqq&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s">.txt<options>png=.png&#xD;txt=.txt&#xD;xml=.xml&#xD;java script=.js&#xD;react js=.jsx&#xD;html webpage=.html&#xD;PHP=.php&#xD;C=.c&#xD;C++=.cpp&#xD;jpeg=.jpeg</options></input></inputs><script><block s="doReport"><custom-block s="substr %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=read&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block var="s"/><l>_id_</l><custom-block s="$globe web ID"></custom-block></list></block><l>.txt</l></list></block></block></custom-block></block></script></block-definition><block-definition s="$globe web ID" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block var="_ID"/></block></script><scripts><script x="125.9951171875" y="105.80000000000001"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>return cloudid;</l></block><list></list></block></script></scripts></block-definition><block-definition s="substr %&apos;s&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="substring %mlt %s %s"><block var="s"/><l>0</l><block s="reportDifference"><block s="reportStringSize"><block var="s"/></block><l>1</l></block></custom-block></block></script></block-definition><block-definition s="$gearPartial username" type="reporter" category="sensing"><comment x="0" y="0" w="90" collapsed="false">needs js to work</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return this.parentThatIsA(IDE_Morph).cloud.username</l></block><list></list></block></block></script></block-definition><block-definition s="$globe set cloud var %&apos;cloud&apos; . %&apos;thang&apos; to %&apos;value&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%mlt">.txt<options>png=.png&#xD;txt=.txt&#xD;xml=.xml&#xD;java script=.js&#xD;react js=.jsx&#xD;html webpage=.html&#xD;PHP=.php&#xD;C=.c&#xD;C++=.cpp&#xD;jpeg=.jpeg</options></input><input type="%s"></input></inputs><script><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=write&amp;content=</l><block var="value"/><l>&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block var="cloud"/><l>_id_</l><custom-block s="$globe web ID"></custom-block></list></block><block var="thang"/></list></block></block></custom-block></script></block-definition><block-definition s="ignore %&apos;s&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="js enabled" type="predicate" category="sensing"><comment x="0" y="0" w="90" collapsed="false">reports if java script is enabled</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="safely try reporting %anyUE then if %upvar report %anyUE"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return true;</l></block><list></list></block><l>error</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block></block></script></block-definition><block-definition s="safely try %&apos;action&apos; then if %&apos;error&apos; %&apos;handler&apos;" type="command" category="control"><comment x="0" y="0" w="276" collapsed="false">Catch errors.&#xD;&#xD;Runs the first script.  If it succeeds, nothing else happens.&#xD;But if it has an error (something that would otherwise result&#xD;in a red halo around the block), then the second script is run,&#xD;with the text of the error message that would have been shown in the variable ERROR.</comment><header></header><code></code><translations>pt:tenta executar _ e, em caso de erro _ , executa _&#xD;ca:prova de forma segura _ i si _ _&#xD;</translations><inputs><input type="%cs"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block var="action"/><block var="handler"/><block var="error"/></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><comment x="0" y="0" w="268.6666666666667" collapsed="false">Throw an error.&#xD;&#xD;Makes a red halo appear around the script that runs it,&#xD;with the input text shown in a speech balloon next to&#xD;the script, just like any Snap! error.&#xD;&#xD;This is useful to put in the second script of SAFELY TRY&#xD;after some other instructions to undo the partial work of&#xD;the first script.</comment><header></header><code></code><translations>pt:lança o erro _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="safely try reporting %&apos;this&apos; then if %&apos;error&apos; report %&apos;that&apos;" type="reporter" category="control"><comment x="0" y="0" w="316.6666666666667" collapsed="false">Catch errors in a reporter.&#xD;&#xD;Evaluates its first input.  If that expression successfully reports a value, this block reports that value.  If the expression causes a Snap! error,&#xD;then the final input slot is evaluated with the text of what would have&#xD;been the error message in variable ERROR.  SAFELY TRY then reports the value of that final expression.&#xD;&#xD;Sometimes you&apos;ll want to throw an error in the final expression.  You&#xD;can put an ERROR block inside a CALL block to do that.</comment><header></header><code></code><translations>ca:prova de forma segura reportant _ i si _ reportant _&#xD;</translations><inputs><input type="%anyUE"></input><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doDeclareVariables"><list><l>value</l></list></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doSetVar"><l>value</l><block s="evaluate"><block var="this"/><list></list></block></block></script><l>err</l><script><block s="doSetVar"><l>error</l><block var="err"/></block><block s="doSetVar"><l>value</l><block s="evaluate"><block var="that"/><list></list></block></block></script></custom-block><block s="doReport"><block var="value"/></block></script></block-definition><block-definition s="$globe send demand %&apos;demand&apos; . %&apos;e&apos; to port %&apos;port&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">send a reqest to a port. NOTE: a port can only hold one reqest at a time. NOTE: a reqest will wait untill a opening is there to send the reqest.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s">.txt<options>png=.png&#xD;txt=.txt&#xD;xml=.xml&#xD;java script=.js&#xD;react js=.jsx&#xD;html webpage=.html&#xD;PHP=.php&#xD;C=.c&#xD;C++=.cpp&#xD;jpeg=.jpeg</options></input><input type="%s"></input></inputs><script><block s="fork"><block s="reifyScript"><script><block s="doWaitUntil"><custom-block s="$globe is port %s empty (reqest)"><block var="port"/></custom-block></block><custom-block s="$globe set cloud var %s . %mlt to %s"><block s="reportJoinWords"><list><l>demand:port="</l><block var="port"/><l>"</l></list></block><block var="e"/><block var="demand"/></custom-block></script><list></list></block><list></list></block></script></block-definition><block-definition s="$globe request on port %&apos;port&apos; . %&apos;ex&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s">.txt<options>png=.png&#xD;txt=.txt&#xD;xml=.xml&#xD;java script=.js&#xD;react js=.jsx&#xD;html webpage=.html&#xD;PHP=.php&#xD;C=.c&#xD;C++=.cpp&#xD;jpeg=.jpeg</options></input></inputs><script><block s="doReport"><custom-block s="$globe cloud var %s . %s"><block s="reportJoinWords"><list><l>reqest:port="</l><block var="port"/><l>"</l></list></block><block var="ex"/></custom-block></block></script></block-definition><block-definition s="$globe create port name: %&apos;name&apos; as a demand: %&apos;d&apos; and reqest: %&apos;r&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">add a port to the current server ID. NOTE: a port can only hold one reqest at a time.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%b"></input><input type="%b"></input></inputs><script><block s="doAddToList"><block var="name"/><block var="_PORTS.NAMES"/></block><block s="doIf"><block var="r"/><script><custom-block s="$globe set cloud var %s . %mlt to %s"><block s="reportJoinWords"><list><l>reqest:port="</l><block var="name"/><l>"</l></list></block><l>.txt</l><l></l></custom-block></script></block><block s="doIf"><block var="d"/><script><custom-block s="$globe set cloud var %s . %mlt to %s"><block s="reportJoinWords"><list><l>demand:port="</l><block var="name"/><l>"</l></list></block><l>.txt</l><l></l></custom-block></script></block></script></block-definition><block-definition s="$storage ports" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block var="_PORTS.NAMES"/></block></script></block-definition><block-definition s="$globe on demand on port: %&apos;port&apos; do: %&apos;cmd&apos; with demand value: %&apos;value&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">wait untill a OPENED port has a demand, then delete the actual reqest and save it to the &quot;value&quot; var; then run the inside code.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%cs"></input><input type="%upvar"></input></inputs><script><block s="doWaitUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="$globe demand on port %s"><block var="port"/></custom-block><l></l></list></block></block></block><block s="doSetVar"><l>value</l><custom-block s="$globe demand on port %s"><block var="port"/></custom-block></block><custom-block s="$globe send demand %s . %s to port %s"><l></l><block var="port"/><l></l></custom-block><block s="write"><custom-block s="%b"><custom-block s="$globe is port %s empty (demand)"><block var="port"/></custom-block></custom-block><l>12</l></block><block s="doRun"><block var="cmd"/><list></list></block></script></block-definition><block-definition s="$flash request on port %&apos;port&apos; but GAS GAS GAS MODE" type="reporter" category="other"><comment x="0" y="0" w="90" collapsed="false">runs very fast! note: only this can run when it is working.. (aboult 2X speed)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="$globe cloud var %s . %s"><block s="reportJoinWords"><list><l>reqest:port="</l><block var="port"/><l>"</l></list></block><l></l></custom-block></block></script></block></script></block-definition><block-definition s="$trash delete port %&apos;name&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">deletes a port. NOTE: this cannot be recovered if the server is running this block.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=delete&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block s="reportJoinWords"><list><l>reqest:port="</l><block var="name"/><l>"</l></list></block><l>_id_</l><custom-block s="$globe web ID"></custom-block></list></block><l>.txt</l></list></block></block></custom-block><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=delete&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block s="reportJoinWords"><list><l>demand:port="</l><block var="name"/><l>"</l></list></block><l>_id_</l><custom-block s="$globe web ID"></custom-block></list></block><l>.txt</l></list></block></block></custom-block><block s="doDeleteFromList"><block s="reportListIndex"><block var="name"/><block var="_PORTS.NAMES"/></block><block var="_PORTS.NAMES"/></block></script></block-definition><block-definition s="$globe refresh all ports" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">resets all saved ports. for example if some one deletes a port this will add it back. NOTE: this also deletes the reqest on it</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>item</l><block var="_PORTS.NAMES"/><script><custom-block s="$globe create port name: %s as a demand: %b and reqest: %b"><block var="item"/><l/><l/></custom-block></script></block></script></block-definition><block-definition s="$trash server reset" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">THIS RESETS ALL SAVED PORTS!!!! ONLY USE WHEN NEEDED</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doForEach"><l>item</l><custom-block s="$storage ports"></custom-block><script><custom-block s="$trash delete port %s"><block var="item"/></custom-block></script></block></script></block-definition><block-definition s="substring %&apos;string&apos; %&apos;start&apos; %&apos;end&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mlt"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>answer</l></list></block><block s="doSetVar"><l>answer</l><l></l></block><block s="doFor"><l>i</l><block var="start"/><block var="end"/><script><block s="doSetVar"><l>answer</l><block s="reportJoinWords"><list><block var="answer"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block></script></block><block s="doReport"><block var="answer"/></block></script></block-definition><block-definition s="$trash delete cloud var %&apos;name&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">deletes a port. NOTE: this cannot be recovered if the server is running this block.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=delete&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block var="name"/><l>_id_</l><custom-block s="$globe web ID"></custom-block></list></block><l>.txt</l></list></block></block></custom-block><block s="doDeleteFromList"><block s="reportListIndex"><block var="name"/><block var="_PORTS.NAMES"/></block><block var="_PORTS.NAMES"/></block></script></block-definition><block-definition s="$globe is port %&apos;name&apos; empty (reqest)" type="predicate" category="other"><comment x="0" y="0" w="90" collapsed="false">reports is a CREATED port is empty, if it&apos;s not created then it returns false.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="$globe request on port %s . %s"><block var="name"/><l></l></custom-block><l></l></list></block></block></script></block-definition><block-definition s="$flash send demand %&apos;demand&apos; to port %&apos;port&apos; NOW" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">send a demand to stage 2, skiping stage 1. NOTE: this overwrites any demand that was in stage 2 of running</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><custom-block s="$globe set cloud var %s . %mlt to %s"><block s="reportJoinWords"><list><l>demand:port="</l><block var="port"/><l>"</l></list></block><block var="demand"/><l></l></custom-block></script></block-definition><block-definition s="$globe demand on port %&apos;port&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="$globe cloud var %s . %s"><block s="reportJoinWords"><list><l>demand:port="</l><block var="port"/><l>"</l></list></block><l></l></custom-block></block></script></block-definition><block-definition s="$flash demand on port %&apos;port&apos; but GAS GAS GAS MODE (2)" type="reporter" category="other"><comment x="0" y="0" w="90" collapsed="false">runs very fast! note: only this can run when it is working.. (aboult 2X speed)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="$globe cloud var %s . %s"><block s="reportJoinWords"><list><l>demand:port="</l><block var="port"/><l>"</l></list></block><l></l></custom-block></block></script></block></script></block-definition><block-definition s="$globe is port %&apos;name&apos; empty (demand)" type="predicate" category="other"><comment x="0" y="0" w="90" collapsed="false">reports is a CREATED port is empty, if it&apos;s not created then it returns false.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="$globe demand on port %s"><block var="name"/></custom-block><l></l></list></block></block></script><scripts><script x="101.9951171875" y="107.83333333333331"><custom-block s="$globe request on port %s . %s"><l></l><l></l></custom-block></script></scripts></block-definition><block-definition s="%&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block var="b"/><l>true</l><l>false</l></block></block></script></block-definition><block-definition s="$globe on reqest on port: %&apos;port&apos; do: %&apos;cmd&apos; with demand value: %&apos;value&apos; and add return value to privete port %&apos;r&apos; skip: %&apos;skip&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">wait untill a OPENED port has a reqest, then delete the actual reqest and save it to the &quot;value&quot; var; then run the inside code.&#xD;skip: skip step 1(recomended)&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%cs"></input><input type="%upvar"></input><input type="%s"></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>return</l></list></block><block s="doWaitUntil"><block s="reportNot"><custom-block s="$globe is port %s empty (reqest)"><block var="port"/></custom-block></block></block><block s="doSetVar"><l>value</l><custom-block s="$globe request on port %s . %s"><block var="port"/><l></l></custom-block></block><custom-block s="$globe set cloud var %s . %mlt to %s"><block s="reportJoinWords"><list><l>reqest:port="</l><block var="port"/><l>"</l></list></block><l></l><l></l></custom-block><block s="doSetVar"><l>return</l><block s="evaluate"><block var="cmd"/><list></list></block></block><block s="doIfElse"><block var="skip"/><script><custom-block s="$flash send demand %s to port %s NOW"><block var="return"/><block var="r"/></custom-block></script><script><custom-block s="$globe send demand %s . %s to port %s"><block var="return"/><block var="r"/><l></l></custom-block></script></block></script></block-definition><block-definition s="send reqest %&apos;reqest&apos; to port %&apos;port&apos; and get info from privete port %&apos;r&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%txt"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doWaitUntil"><custom-block s="$globe is port %s empty (reqest)"><block var="port"/></custom-block></block><custom-block s="$globe set cloud var %s . %mlt to %s"><block s="reportJoinWords"><list><l>reqest:port="</l><block var="port"/><l>"</l></list></block><block var="reqest"/><l></l></custom-block><custom-block s="$globe create port name: %s as a demand: %b and reqest: %b"><block var="r"/><l><bool>true</bool></l><l/></custom-block><block s="doWaitUntil"><block s="reportNot"><custom-block s="$globe is port %s empty (reqest)"><block var="r"/></custom-block></block></block><block s="doSetVar"><l>a</l><custom-block s="$globe demand on port %s"><block var="r"/></custom-block></block><custom-block s="$trash delete port %s"><block var="r"/></custom-block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="send reqest %&apos;reqest&apos; to port %&apos;port&apos; and get info from public port %&apos;r&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%txt"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doWaitUntil"><custom-block s="$globe is port %s empty (reqest)"><block var="port"/></custom-block></block><custom-block s="$globe set cloud var %s . %mlt to %s"><block s="reportJoinWords"><list><l>reqest:port="</l><block var="port"/><l>"</l></list></block><block var="reqest"/><l></l></custom-block><block s="doWaitUntil"><block s="reportNot"><custom-block s="$globe is port %s empty (reqest)"><block var="r"/></custom-block></block></block><block s="doSetVar"><l>a</l><custom-block s="$globe demand on port %s"><block var="r"/></custom-block></block><block s="doReport"><block var="a"/></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="643"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list id="644"><item><ref mediaID="Stage_cst_Untitled"></ref></item></list></costumes><sounds><list struct="atomic" id="645"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="GridDrawer" idx="1" x="-230" y="-190" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="80,80,80,1" pen="tip" id="650"><costumes><list id="651"><item><ref mediaID="GridDrawer_cst_cell_empty"></ref></item></list></costumes><sounds><list struct="atomic" id="652"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="20"><block s="receiveGo"></block><block s="gotoXY"><l>-230</l><l>170</l></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRepeat"><l>18</l><script><block s="doRepeat"><l>24</l><script><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>20</l></block></script></block><block s="setXPosition"><l>-230</l></block><block s="changeYPosition"><l>-20</l></block></script></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>false</bool></l></block></script><script x="30" y="283"><block s="receiveOnClone"></block><block s="goToLayer"><l><option>back</option></l></block><block s="doForever"><script><block s="doIf"><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block><script><block s="doSetVar"><l>touchingCellPos</l><block s="reportNewList"><list><block s="xPosition"></block><block s="yPosition"></block></list></block></block></script></block></script></block></script></scripts></sprite><watcher var="touchingCellPos" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><sprite name="Cells" idx="2" x="190" y="170" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="80,80,80,1" pen="middle" id="705"><costumes><list id="706"><item><ref mediaID="Cells_cst_tile_test"></ref></item><item><ref mediaID="Cells_cst_cell_empty"></ref></item><item><ref mediaID="Cells_cst_cagelight_side"></ref></item><item><ref mediaID="Cells_cst_iron_plate"></ref></item></list></costumes><sounds><list struct="atomic" id="707"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveGo"></block><block s="setEffect"><l><option>ghost</option></l><l>50</l></block><block s="doSwitchToCostume"><l>tile_test</l></block><block s="doForever"><script><block s="goToLayer"><l><option>front</option></l></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="touchingCellPos"/></block><block s="reportListItem"><l>2</l><block var="touchingCellPos"/></block></block><block s="doIf"><block s="reportKeyPressed"><l><option>z</option></l></block><script><block s="doSwitchToCostume"><block s="reportDifference"><block s="getCostumeIdx"></block><l>1</l></block></block><block s="doWait"><l>0.5</l></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>c</option></l></block><script><block s="doWearNextCostume"></block><block s="doWait"><l>0.5</l></block></script></block></script></block></script><script x="30" y="450.16666666666674"><block s="receiveOnClone"></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block></script><script x="218" y="452.16666666666674"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="createClone"><l><option>myself</option></l></block></script><script x="438" y="250.16666666666663"><block s="receiveGo"></block><block s="doForever"><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="getCostumeIdx"></block><l>0</l></list></block><script><block s="doSwitchToCostume"><l>tile_test</l></block></script></block></script></block></script></scripts></sprite></sprites></stage><variables><variable name="touchingCellPos"><list struct="atomic" id="779">190,170</list></variable></variables></scene></scenes></project><media name="Grid drawing" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><costume name="Untitled" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADpBJREFUeF7t1VEJwDAQBcHESaiG+rfWQkTc/swZeDAc7H7O+y1HgAABAgQIjApsAR71NkaAAAECBK6AAHsEAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQI/FsTDg+7uyw6AAAAAElFTkSuQmCC" mediaID="Stage_cst_Untitled"/><costume name="cell_empty" center-x="10" center-y="10" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAGRJREFUOE9jVFIw+c9ARcAIM1CZg4MiY+/++AHWDzaQUsNgLgEZOmogRfHCMBqGlIUfSPdoGFIxDPn+MzGIcrJRbCI8UkAGggClhmIYSKmhcANBBsFcSa6/PzH+QxSw5BqCTR8AvHBWOcMWaoQAAAAASUVORK5CYII=" mediaID="GridDrawer_cst_cell_empty"/><costume name="tile_test" center-x="10" center-y="10" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAHJJREFUOE9jZGBgYFi2bNl/EE0piIqKYmQEGaahoUGpWWD9N27cYIAbaGRkBDf03LlzDKTyMQwECYAMARmGzsbGxyaG4kJsBsKcjM3FZBkIcy1yAOPzBe1dSGlUY7hw1ECSQ2A0DEkOMgwNIzUMqV0FAADWH68H1dYASAAAAABJRU5ErkJggg==" mediaID="Cells_cst_tile_test"/><costume name="cell_empty" center-x="10" center-y="10" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAGRJREFUOE9jVFIw+c9ARcAIM1CZg4MiY+/++AHWDzaQUsNgLgEZOmogRfHCMBqGlIUfSPdoGFIxDPn+MzGIcrJRbCI8UkAGggClhmIYSKmhcANBBsFcSa6/PzH+QxSw5BqCTR8AvHBWOcMWaoQAAAAASUVORK5CYII=" mediaID="Cells_cst_cell_empty"/><costume name="cagelight_side" center-x="8" center-y="8" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAANtJREFUOE9jzLIR+M+ABARZIBxJgQ/IwgzPPwiA+e//oAgzMIIMAGlC12CoqYmi8vz16xgGggxjrHYQ+A/SDNMAUghii+mxomh4dek3A0wOJAFig1zFOCWA4T+yhp0rL4ENULRBdev9IyxgTe7hemCDYQaiGMDN951h3ezbeA0ISlVl+PqJE9MAmI3EGAByAcxFcBeADOCSUWZYUr8D7ALtCHmUMLi64iHYCzGNHgzfntzFNACmgRgDQCbDDIS7gGIDKPYCxYEISjgURSMs5ZGckChOyhRnJkqzMwCGE/dXxg21aAAAAABJRU5ErkJggg==" mediaID="Cells_cst_cagelight_side"/><costume name="iron_plate" center-x="8" center-y="8" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAANVJREFUOE/Vkz0OhCAQhYcbcAgDrRWH8AJ2XIJz4AHosLP2FtpYaTTxLLuZ2UDA/XETi83SSJDvzZs3gcHFxS7y8EcCWusbttu2beb6YwsBQrCqKoprGAZomiZyTwJHqCzLLOdpmjIREjiDjpNKRRjC3ntY1/WriUop6R7ed84BCWB/dV2/FQkQgl3XxULW2odAURQghMhEUsgYA0opArdtg77vaT+OI4sZpCL4EyFcnHP6BiiAwUacQuoEq8zzDPu+R7tY7VVI2WGYxrIs0eJZsr9/C3fPqGME3GHhHwAAAABJRU5ErkJggg==" mediaID="Cells_cst_iron_plate"/></media></snapdata>