<snapdata remixID="14443779"><project name="My blocks" app="Snap! 10.7.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAolJREFUeF7t17FJxGAAhuH/DjewtLG5q1zDyg3MJC5xwu1gr5VgJ1q5h1sIEQTFRsXmXghP2gQ+8v4PhKzmeZ6HS4GowArAqLzZjwIAgpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DiADaQEA0/zGAWQgLQBgmt84gAykBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DiADaQEA0/zGAWQgLQBgmt84gAykBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DiADaQEA0/zGAWQgLQBgmt84gAykBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsA+EP+y+OzcbG/GtM0pQe09HEAfznh/cn5192Ht9dx/Xw3NpvN0k0c9P0A/CP3d4Sfj85H6/Fyuh43j/cHPawljgEIYOoawH98gndPt2O73aYHtrRxAP2EpKYBTPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v/F3TAX6qC3K/BYAAAAASUVORK5CYII=</thumbnail><scenes select="1"><scene name="My blocks"><notes></notes><palette><category name="Counters" color="255,186,64,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="if %&apos;foo&apos; then %&apos;out&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block var="foo"/><script><block s="doReport"><block var="out"/></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="delete clones" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="tell my clones to %cmdRing"><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block></custom-block></script></block-definition><block-definition s="create a clone of %&apos;what&apos; at x: %&apos;x&apos; y: %&apos;y&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">myself<options>§_clonablesMenu</options></input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><block s="doDeclareVariables"><list><l>clone</l></list></block><block s="doSetVar"><l>clone</l><block s="newClone"><block var="what"/></block></block><block s="doTellTo"><block var="clone"/><block s="reifyScript"><script><block s="gotoXY"><block var="x"/><block var="y"/></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="tell my clones to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><block s="doForEach"><l>item</l><block s="reportGet"><l><option>clones</option></l></block><script><block s="doTellTo"><block var="item"/><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="tell clone %&apos;id&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input><input type="%cmdRing" initial="1"></input></inputs><script><block s="doTellTo"><block s="reportListItem"><block var="id"/><block s="reportGet"><l><option>clones</option></l></block></block><block var="action"/><list></list></block></script></block-definition><block-definition s="delete clone %&apos;id&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input></inputs><script><custom-block s="tell clone %n to %cmdRing"><block var="id"/><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block></custom-block></script></block-definition><block-definition s="clone?" type="predicate" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportGet"><l><option>parent</option></l></block><l></l></list></block></block></block></script></block-definition><block-definition s="random position" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportRandom"><l>-240</l><l>240</l></block><block s="reportRandom"><l>-180</l><l>180</l></block></list></block></block></script></block-definition><block-definition s="get x of position %&apos;pos&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="pos"/></block></block></script></block-definition><block-definition s="get y of position %&apos;pos&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="pos"/></block></block></script></block-definition><block-definition s="%&apos;a&apos; average %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block><l>2</l></block></block></script></block-definition><block-definition s="reset counter" type="command" category="Counters"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l></l></list><l>Cnt = 0;</l></block><list></list></block></script></block-definition><block-definition s="counter" type="reporter" category="Counters"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>return Cnt;</l></block><list></list></block></block></script></block-definition><block-definition s="increment counter" type="command" category="Counters"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l></l></list><l>Cnt = Cnt + 1;</l></block><list></list></block></script></block-definition><block-definition s="decrement counter" type="command" category="Counters"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l></l></list><l>Cnt = Cnt - 1;</l></block><list></list></block></script></block-definition><block-definition s="repeat %&apos;c&apos; until %&apos;foo&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%cs" initial="1"></input><input type="%b" initial="1"></input></inputs><script><block s="doRun"><block var="c"/><list></list></block><block s="doUntil"><block var="foo"/><script><block s="doRun"><block var="c"/><list></list></block></script></block></script></block-definition><block-definition s="repeat while %&apos;bool&apos; %&apos;c&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%cs" initial="1"></input></inputs><script><block s="doUntil"><block s="reportNot"><block var="bool"/></block><script><block s="doRun"><block var="c"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;c&apos; while %&apos;foo&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%cs" initial="1"></input><input type="%b" initial="1"></input></inputs><script><block s="doRun"><block var="c"/><list></list></block><custom-block s="repeat while %b %cs"><block var="foo"/><block var="c"/></custom-block></script></block-definition><block-definition s="%&apos;a&apos; \ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%b" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicAnd"><list><block var="a"/><block s="reportNot"><block var="b"/></block></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; / %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%b" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportNot"><block var="a"/></block><block var="b"/></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></script></block-definition><block-definition s="when %&apos;var&apos; = %&apos;val&apos;" type="hat" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1"><options>§_getVarNamesDict</options></input><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="get var %s"><block var="var"/></custom-block><block var="val"/></list></block></block></script></block-definition><block-definition s="get var %&apos;var&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"><options>§_getVarNamesDict</options></input></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doReport"><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="var"/></list></block></block></script><l>error</l><script><block s="doReport"><l></l></block></script></custom-block></script></block-definition><block-definition s="var %&apos;var&apos; exists?" type="predicate" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><block s="doReport"><custom-block s="safely try reporting %anyUE then if %upvar report %anyUE"><block s="reportVariadicEquals"><list><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="var"/></list></block><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="var"/></list></block></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;pl:bezpiecznie spróbuj _ a jeśli _ _&#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="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;pl:bezpiecznie spróbuj zgłosić _ a jeśli _ zgłoś _&#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="create %&apos;type&apos; variable %&apos;var&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">global<options>global&#xD;sprite&#xD;script</options></input><input type="%mult%txt"></input></inputs><script><block s="doForEach"><l>item</l><block var="var"/><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><block var="type"/><block var="item"/></list></block></script></block></script></block-definition><block-definition s="delete variable %&apos;var&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"><options>§_getVarNamesDict</options></input></inputs><script><block s="doForEach"><l>item</l><block var="var"/><script><block s="doApplyExtension"><l>var_delete(name)</l><list><block var="item"/></list></block></script></block></script></block-definition><block-definition s="$flag-1.5-0-200-0" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="tell other sprites to %cmdRing"><block s="reifyScript"><script><custom-block s="delete clones"></custom-block></script><list></list></block></custom-block><custom-block s="delete clones"></custom-block><block s="doStopThis"><l><option>all but this script</option></l></block><block s="doBroadcast"><l><option>__shout__go__</option></l><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script></block-definition><block-definition s="tell other sprites to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><block s="doForEach"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doTellTo"><block var="item"/><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="safely try %&apos;c&apos; %&apos;error&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%cs" initial="1"></input><input type="%upvar" initial="1"></input></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><block var="c"/><l>error</l><script><block s="doStopThis"><l><option>this script</option></l></block></script></custom-block></script></block-definition><block-definition s="safely try reporting %&apos;c&apos; %&apos;error&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%upvar" initial="1"></input></inputs><script><custom-block s="safely try %cs %upvar"><script><block s="doReport"><block var="c"/></block></script><l>error</l></custom-block><block s="doReport"><l></l></block></script></block-definition><block-definition s="forever if %&apos;foo&apos; then %&apos;c&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%cs" initial="1"></input></inputs><script><block s="doForever"><script><block s="doIf"><block var="foo"/><script><block s="doRun"><block var="c"/><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="if %&apos;foo&apos; then forever %&apos;c&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%cs" initial="1"></input></inputs><script><block s="doIf"><block var="foo"/><script><block s="doForever"><script><block s="doRun"><block var="c"/><list></list></block></script></block></script><list></list></block></script></block-definition><block-definition s="move %&apos;steps&apos; steps %&apos;dir&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">10</input><input type="%s" readonly="true" initial="1">up<options>forward&#xD;back&#xD;up&#xD;down</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="dir"/><l>forward</l></list></block><script><block s="forward"><block var="steps"/></block></script><list><block s="reportVariadicEquals"><list><block var="dir"/><l>back</l></list></block><script><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block var="steps"/></block></block></script><block s="reportVariadicEquals"><list><block var="dir"/><l>up</l></list></block><script><block s="turnLeft"><l>90</l></block><block s="forward"><block var="steps"/></block><block s="turn"><l>90</l></block></script><block s="reportVariadicEquals"><list><block var="dir"/><l>down</l></list></block><script><block s="turnLeft"><l>90</l></block><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block var="steps"/></block></block><block s="turn"><l>90</l></block></script><block s="reportIsA"><block var="dir"/><l><option>number</option></l></block><script><block s="doDeclareVariables"><list><l>olddir</l></list></block><block s="doSetVar"><l>olddir</l><block s="direction"></block></block><block s="setHeading"><block var="dir"/></block><block s="forward"><block var="steps"/></block><block s="setHeading"><block var="olddir"/></block></script></list></block></script></block-definition><block-definition s="report %&apos;n&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block var="n"/></block></script></block-definition><block-definition s="do simultaneously %&apos;c&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%mult%cs"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="c"/></block><l>0</l></list></block><script><block s="fork"><block s="reportListItem"><l>1</l><block var="c"/></block><list></list></block><custom-block s="do simultaneously %mult%cs"><block s="reportCDR"><block var="c"/></block></custom-block></script><list></list></block></script></block-definition><block-definition s="flip %&apos;costume&apos; on %&apos;axis&apos; axis" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">current<options>§_costumesMenu</options></input><input type="%s" readonly="true" initial="1">horizontal<options>horizontal&#xD;vertical</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="axis"/><l>horizontal</l></list></block><script><block s="doReport"><block s="reportNewCostumeStretched"><block var="costume"/><l>-100</l><l>100</l></block></block></script><list><block s="reportVariadicEquals"><list><block var="axis"/><l>vertical</l></list></block><script><block s="doReport"><block s="reportNewCostumeStretched"><block var="costume"/><l>100</l><l>-100</l></block></block></script></list></block></script></block-definition><block-definition s="%&apos;a&apos; touching %&apos;b&apos;" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1"><options>§_objectsMenuWithSelf</options></input><input type="%s" readonly="true" initial="1"><options>§_objectsMenuWithSelf</options></input></inputs><script><block s="doReport"><block s="reportAskFor"><block var="a"/><block s="reifyReporter"><autolambda><block s="reportTouchingObject"><block var="b"/></block></autolambda><list></list></block><list></list></block></block></script></block-definition><block-definition s="unpause all $pointRight-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>world.children[0].stage.threads.processes.forEach(&#xD;function (proc) {&#xD;proc.isPaused = false;&#xD;})</l></block><list></list></block></script></block-definition><block-definition s="pause this script $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>proc</l></list><l>proc.isPaused = true</l></block><list></list></block></script></block-definition><block-definition s="unpause this script $pointRight-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>proc</l></list><l>proc.isPaused = false</l></block><list></list></block></script></block-definition><block-definition s="is prime %&apos;val&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><block s="reportRound"><block s="reportQuotient"><block var="val"/><l></l></block></block><block s="reportQuotient"><block var="val"/><l></l></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="val"/></block></block></block></block><l>2</l></list></block></block></script></block-definition><block-definition s="is %&apos;a&apos; divisible by %&apos;b&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="a"/><block var="b"/></block><l>0</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; !" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="a"/><l>0</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><custom-block s="%n !"><block s="reportDifference"><block var="a"/><l>1</l></block></custom-block></list></block></block></script><list><block s="reportVariadicEquals"><list><block var="a"/><l>0</l></list></block><script><block s="doReport"><l>1</l></block></script></list></block><custom-block s="error %txt"><l>It cant do negatives</l></custom-block></script></block-definition><block-definition s="put %&apos;thing&apos; into slot %&apos;slot&apos; of %&apos;target&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%n" initial="1"></input><input type="%cmdRing" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>thing</l><l>slot</l><l>target</l></list><l>//if empty&#xD;if (!(target.expression instanceof BlockMorph)) return thing;&#xD;if (!(thing.expression instanceof BlockMorph || thing.expression instanceof ReporterBlockMorph || typeof(thing) == "string" || typeof(thing) == "number" || typeof(thing) == "boolean")) return target;&#xD;&#xD;var type = typeof(thing);&#xD;var slotNum = 1;&#xD;//console.log();&#xD;&#xD;var outExpr = target.expression;  //.fullCopy();&#xD;var outCtx = new Context(undefined, outExpr);&#xD;//outCtx.inputs = thing.inputs || [];&#xD;&#xD;var block;&#xD;&#xD;if (thing.expression instanceof Morph) block = thing.expression;   //.fullCopy();&#xD;&#xD;for (let i in outExpr.children) {&#xD; let child = outExpr.children[i];&#xD;&#xD; if (type == "boolean") {&#xD;  if (child instanceof BooleanSlotMorph) {&#xD;   child.value = thing;&#xD;   return outCtx;&#xD;  }&#xD; } else&#xD; if (child instanceof InputSlotMorph || child instanceof RingMorph || child instanceof CSlotMorph || child instanceof ArgMorph) {&#xD;  if (slotNum == slot) {&#xD;   //console.log(child);&#xD;&#xD;   if (type == "string" || type == "number") {&#xD;    if (!(child.children[0] instanceof InputSlotStringMorph)) return target;&#xD;&#xD;    child.setContents(thing);&#xD;    delete child.bindingID;&#xD;    return outCtx;     &#xD;   }&#xD;&#xD;   if (child instanceof RingMorph) {&#xD;    child.embed(block, thing.inputs);&#xD;&#xD;    return outCtx;&#xD;   } if (child instanceof CSlotMorph) {&#xD;    let input = child;&#xD;&#xD;    //clear children&#xD;    while (input.children[0] !== undefined) input.removeChild(input.children[0]);&#xD;&#xD;    input.children.push(block);&#xD;    block.parent = input;&#xD;    input.fixLayout(); &#xD;   } else {&#xD;    if (child instanceof InputSlotMorph) {&#xD;     thing.expression.isNumeric = child.isNumeric;&#xD;     thing.expression.fixLayout();&#xD;    }&#xD;&#xD;    outExpr.children.splice(i, 1, block);&#xD;    block.parent = outExpr;&#xD;    outExpr.fixLayout();&#xD;   }&#xD;&#xD;   //target.expression.fixLayout();&#xD;   //outCtx.inputs = thing.inputs; &#xD;   return outCtx;&#xD;  }&#xD;&#xD;  slotNum++;&#xD; }&#xD;}&#xD;&#xD;return target; </l></block><list><block var="thing"/><block var="slot"/><block var="target"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; th root of %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportPower"><block var="b"/><block s="reportQuotient"><l>1</l><block var="a"/></block></block></block></script></block-definition><block-definition s="round %&apos;a&apos; to the nearest %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportRound"><block s="reportQuotient"><block var="a"/><block var="b"/></block></block><block var="b"/></list></block></block></script></block-definition><block-definition s="scientific notation of %&apos;a&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>val</l><l>exp</l></list></block><block s="doSetVar"><l>val</l><block var="a"/></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><l>1</l><block var="val"/></list></block></block><script><block s="doSetVar"><l>val</l><block s="reportVariadicProduct"><list><block var="val"/><l>10</l></list></block></block><block s="doChangeVar"><l>exp</l><l>-1</l></block></script></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="val"/><l>10</l></list></block></block><script><block s="doSetVar"><l>val</l><block s="reportQuotient"><block var="val"/><l>10</l></block></block><block s="doChangeVar"><l>exp</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="val"/><l>10</l></list></block><script><block s="doSetVar"><l>val</l><block s="reportQuotient"><block var="val"/><l>10</l></block></block><block s="doChangeVar"><l>exp</l><l>1</l></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block var="val"/><l>×10^</l><block var="exp"/></list></block></block></script><scripts><script x="365.4306640625" y="333.41666666666646"><block s="reportRound"><l></l></block></script></scripts></block-definition><block-definition s="color %&apos;clr&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%clr" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportTextSplit"><custom-block s="letters in %txt before %txt"><custom-block s="letters in %txt after %txt"><block var="clr"/><l>(</l></custom-block><l>)</l></custom-block><l>,</l></block><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>255</l></list></block></list></block></list></block><l>1</l><l>1</l></block></block></script><scripts><script x="199.9951171875" y="18"><block s="reportTextSplit"><l></l><l><option>csv</option></l></block></script><script x="584.9951171875" y="234.99999999999994"><block s="reportTextAttribute"><l><option>length</option></l><l>world</l></block></script><script x="219.9951171875" y="212"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block var="clr"/><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>255</l></list></block></list></block></list></block><l>1</l><l>1</l></block></script><script x="24.9951171875" y="241.83333333333337"><block s="reportDifference"><l></l><l>2</l></block></script></scripts></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reportCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;pt:lança _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="delete all variables" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l><option>variables</option></l><l>Stage</l></block><script><custom-block s="delete variable %mult%txt"><list><block var="item"/></list></custom-block></script></block></script></block></script></block-definition><block-definition s="get pen color" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="getPenAttribute"><l><option>r-g-b-a</option></l></block><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>255</l></list></block></list></block></list></block><l>1</l><l>1</l></block></block></script></block-definition><block-definition s="darken %&apos;kolor&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%clr" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportTextSplit"><block s="errorObsolete"></block><l><option>csv</option></l></block><block s="reportNewList"><list><l>0.5</l><l>0.5</l><l>0.5</l><l>255</l></list></block></list></block></list></block><l>1</l><l>1</l></block></block></script><scripts><script x="295.841796875" y="117.33333333333326"><block var="clr"/></script></scripts></block-definition><block-definition s="brighten %&apos;kolor&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%clr" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportTextSplit"><block s="errorObsolete"></block><l><option>csv</option></l></block><block s="reportNewList"><list><l>2</l><l>2</l><l>2</l><l>255</l></list></block></list></block></list></block><l>1</l><l>1</l></block></block></script></block-definition><block-definition s="always" type="hat" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="forever %&apos;c&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%cs" initial="1"></input></inputs><script><block s="doForever"><script><block s="doRun"><block var="c"/><list></list></block></script></block></script></block-definition><block-definition s="ignore %&apos;thing&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs></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;pl:błąd _&#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="is integer %&apos;n&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input></inputs><script><block s="doReport"><custom-block s="is %n divisible by %n ?"><block var="n"/><l>1</l></custom-block></block></script></block-definition><block-definition s="define counter" type="command" category="Counters"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doSetVar"><l>a</l><custom-block s="counter"></custom-block></block></script><l>error</l><script><custom-block s="reset counter"></custom-block></script></custom-block></script></block-definition><block-definition s="pi" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return Math.PI;</l></block><list></list></block></block></script></block-definition><block-definition s="e" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>e^</option></l><l>1</l></block></block></script></block-definition><block-definition s="%&apos;a&apos; contains %&apos;b&apos; case sensitive %&apos;foo&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input><input type="%txt" initial="1"></input><input type="%b" initial="1">false</input></inputs><script><block s="doReport"><block s="reportIfElse"><block var="foo"/><block s="reportVariadicGreaterThan"><list><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block var="b"/><block var="a"/></list></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block s="reportTextAttribute"><l><option>lower case</option></l><block var="b"/></block><block s="reportTextAttribute"><l><option>lower case</option></l><block var="a"/></block></list></block><l>0</l></list></block></block></block></script></block-definition><block-definition s="letters in %&apos;a&apos; between %&apos;x&apos; and %&apos;y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">Hello!</input><input type="%n" initial="1">1</input><input type="%n" initial="1">3</input></inputs><script><block s="doDeclareVariables"><list><l>b</l><l>c</l><l>list</l></list></block><block s="doSetVar"><l>b</l><block s="reportVariadicMin"><list><block var="x"/><block var="y"/></list></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block><script><block s="doSetVar"><l>c</l><block s="reportTextAttribute"><l><option>length</option></l><block var="a"/></block></block></script><script><block s="doSetVar"><l>c</l><block s="reportVariadicMax"><list><block var="x"/><block var="y"/></list></block></block></script></block><block s="doSetVar"><l>list</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><block var="b"/><block var="c"/><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block s="reportTextSplit"><block var="a"/><l><option>letter</option></l></block></block><block var="list"/></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="list"/></list></block></block></script></block-definition><block-definition s="join %&apos;n&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="n"/></list></block></block></script></block-definition><block-definition s="go to %&apos;edge&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">center<options>center&#xD;left&#xD;right&#xD;down&#xD;up</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="edge"/><l>center</l></list></block><script><block s="doGotoObject"><l><option>center</option></l></block></script><list><block s="reportVariadicEquals"><list><block var="edge"/><l>left</l></list></block><script><block s="gotoXY"><l>-240</l><l>0</l></block></script><block s="reportVariadicEquals"><list><block var="edge"/><l>right</l></list></block><script><block s="gotoXY"><l>240</l><l>0</l></block></script><block s="reportVariadicEquals"><list><block var="edge"/><l>down</l></list></block><script><block s="gotoXY"><l>0</l><l>-180</l></block></script><block s="reportVariadicEquals"><list><block var="edge"/><l>up</l></list></block><script><block s="gotoXY"><l>0</l><l>180</l></block></script></list></block></script></block-definition><block-definition s="placeholder" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="nil" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="is nil %&apos;n&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="nil"></custom-block><block var="n"/></list></block></block></script></block-definition><block-definition s="index of %&apos;a&apos; in %&apos;b&apos; case sensitive %&apos;foo&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input><input type="%txt" initial="1"></input><input type="%b" initial="1">false</input></inputs><script><block s="doReport"><block s="reportIfElse"><block var="foo"/><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block var="a"/><block var="b"/></list></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block s="reportTextAttribute"><l><option>lower case</option></l><block var="a"/></block><block s="reportTextAttribute"><l><option>lower case</option></l><block var="b"/></block></list></block></block></block></script></block-definition><block-definition s="letters in %&apos;a&apos; before %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input><input type="%txt" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportDifference"><custom-block s="index of %txt in %txt case sensitive %b"><block var="b"/><block var="a"/><l><bool>false</bool></l></custom-block><l>1</l></block><l>0</l></list></block><l></l><custom-block s="letters in %txt between %n and %n"><block var="a"/><l>1</l><block s="reportDifference"><custom-block s="index of %txt in %txt case sensitive %b"><block var="b"/><block var="a"/><l><bool>false</bool></l></custom-block><l>1</l></block></custom-block></block></block></script></block-definition><block-definition s="letters in %&apos;a&apos; after %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input><input type="%txt" initial="1"></input></inputs><script><block s="doReport"><custom-block s="letters in %txt between %n and %n"><block var="a"/><block s="reportVariadicSum"><list><custom-block s="index of %txt in %txt case sensitive %b"><block var="b"/><block var="a"/><l><bool>false</bool></l></custom-block><l>1</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="a"/></block></custom-block></block></script></block-definition><block-definition s="empty list" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block-definition><block-definition s="package %&apos;thing&apos; with values %&apos;n&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%cmdRing" initial="1"></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block var="thing"/></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="n"/></block><script><block s="doSetVar"><l>a</l><custom-block s="put %s into slot %n of %cmdRing"><block s="reportListItem"><block var="i"/><block var="n"/></block><block var="i"/><block var="a"/></custom-block></block></script></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="var %&apos;var&apos; shown?" type="predicate" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>var_showing(name)?</l><list><block var="var"/></list></block></block></script></block-definition><block-definition s="get var with value %&apos;n&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l><option>variables</option></l><block s="reportGet"><l><option>self</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="get var %s"><block var="item"/></custom-block><block var="n"/></list></block><script><block s="doReport"><block var="item"/></block></script><list></list></block></script></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="var with value %&apos;n&apos; exists?" type="predicate" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><block s="doReport"><block s="reportNot"><custom-block s="is nil %s ?"><custom-block s="get var with value %txt"><block var="n"/></custom-block></custom-block></block></block></script></block-definition><block-definition s="set all vars to %&apos;n&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l><option>variables</option></l><block s="reportGet"><l><option>self</option></l></block></block><script><custom-block s="set %txt to %s"><block var="item"/><block var="n"/></custom-block></script></block></script></block></script></block-definition><block-definition s="set %&apos;var&apos; to %&apos;n&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"><options>§_getVarNamesDict</options></input><input type="%s" initial="1"></input></inputs><script><block s="doApplyExtension"><l>var_set(name, val)</l><list><block var="var"/><block var="n"/></list></block></script></block-definition><block-definition s="change %&apos;var&apos; by %&apos;n&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"><options>§_getVarNamesDict</options></input><input type="%n" initial="1">1</input></inputs><script><custom-block s="set %txt to %s"><block var="var"/><block s="reportIfElse"><block s="reportIsA"><custom-block s="get var %s"><block var="var"/></custom-block><l><option>number</option></l></block><block s="reportVariadicSum"><list><block var="n"/><custom-block s="get var %s"><block var="var"/></custom-block></list></block><l>0</l></block></custom-block></script></block-definition><block-definition s="change all vars by %&apos;n&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l><option>variables</option></l><block s="reportGet"><l><option>self</option></l></block></block><script><custom-block s="change %txt by %n"><block var="item"/><block var="n"/></custom-block></script></block></script></block></script></block-definition><block-definition s="is composite %&apos;val&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input></inputs><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><block s="reportRound"><block s="reportQuotient"><block var="val"/><l></l></block></block><block s="reportQuotient"><block var="val"/><l></l></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="val"/></block></block></block></block><l>2</l></list></block></block></script></block-definition><block-definition s="%&apos;l&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%clr" initial="1"></input></inputs><script><block s="doReport"><block var="l"/></block></script></block-definition></blocks><primitives><block-definition s="all but first of %&apos;#1&apos;" type="reporter" category="lists" selector="reportCDR" primitive="reportCDR"><header></header><code></code><translations></translations><inputs><input type="%l" readonly="true"></input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>reportCDR</l></block></script></block-definition></primitives><stage name="Stage" width="480" height="360" costume="0" 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="1612"><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 struct="atomic" id="1613"></list></costumes><sounds><list struct="atomic" id="1614"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="145,26,68,1" pen="tip" id="1619"><costumes><list struct="atomic" id="1620"></list></costumes><sounds><list struct="atomic" id="1621"></list></sounds><blocks></blocks><variables></variables><scripts><script x="254.626953125" y="124"><custom-block s="delete clones"></custom-block></script><script x="249.626953125" y="70.83333333333303"><custom-block s="tell my clones to %cmdRing"><block s="reifyScript"><script></script><list></list></block></custom-block></script><script x="246.626953125" y="191.83333333333348"><custom-block s="create a clone of %s at x: %n y: %n"><l>myself</l><l>0</l><l>0</l></custom-block></script><script x="242.626953125" y="10"><custom-block s="if %b then %s"><l/><l></l></custom-block></script><script x="249.626953125" y="269.83333333333303"><custom-block s="tell clone %n to %cmdRing"><l>1</l><block s="reifyScript"><script></script><list></list></block></custom-block></script><script x="254.626953125" y="342.83333333333303"><custom-block s="delete clone %n"><l>1</l></custom-block></script><script x="242.626953125" y="401"><custom-block s="clone?"></custom-block></script><script x="258.626953125" y="446"><custom-block s="random position"></custom-block></script><script x="247.626953125" y="507.8333333333335"><custom-block s="get x of position %l"><l/></custom-block></script><script x="248.626953125" y="552.8333333333335"><custom-block s="get y of position %l"><l/></custom-block></script><script x="241.626953125" y="614.8333333333335"><custom-block s="%n average %n"><l>1</l><l>4</l></custom-block></script><script x="221.626953125" y="669.8333333333335"><custom-block s="reset counter"></custom-block></script><script x="218.626953125" y="722.3333333333335"><custom-block s="increment counter"></custom-block></script><script x="220.626953125" y="836.8333333333335"><custom-block s="counter"></custom-block></script><script x="218.626953125" y="776.8333333333335"><custom-block s="decrement counter"></custom-block></script><script x="210.626953125" y="877.8333333333335"><custom-block s="repeat %cs until %b"><script></script><l/></custom-block></script><script x="214.626953125" y="966.666666666667"><custom-block s="repeat while %b %cs"><l/><script></script></custom-block></script><script x="203.626953125" y="1042.8333333333335"><custom-block s="repeat %cs while %b"><script></script><l/></custom-block></script><script x="196.626953125" y="1126.666666666667"><custom-block s="%b \ %b"><l/><l/></custom-block></script><script x="191.626953125" y="1166.666666666667"><custom-block s="%b / %b"><l/><l/></custom-block></script><script x="187.626953125" y="1200.666666666667"><custom-block s="when %s = %s"><l></l><l></l></custom-block></script><script x="183.626953125" y="1258.666666666667"><custom-block s="get var %s"><l></l></custom-block></script><script x="187.626953125" y="1306.666666666667"><custom-block s="var %txt exists?"><l></l></custom-block></script><script x="188.626953125" y="1357.666666666667"><custom-block s="create %s variable %mult%txt"><l>global</l><list><l></l></list></custom-block></script><script x="187.626953125" y="1412.666666666667"><custom-block s="delete variable %mult%txt"><list><l></l></list></custom-block></script><script x="190.626953125" y="1470.6666666666667"><custom-block s="$flag-1.5-0-200-0"></custom-block></script><script x="203.626953125" y="1519.6666666666667"><custom-block s="safely try %cs %upvar"><script></script><l>error</l></custom-block></script><script x="193.626953125" y="1614.8333333333337"><custom-block s="safely try reporting %s %upvar"><l></l><l>error</l></custom-block></script><script x="205.626953125" y="1662.6666666666674"><custom-block s="report %s"><l></l></custom-block></script><script x="201.626953125" y="1696.6666666666674"><custom-block s="forever if %b then %cs"><l/><script></script></custom-block></script><script x="210.626953125" y="1755.6666666666674"><custom-block s="if %b then forever %cs"><l/><script></script></custom-block></script><script x="184.626953125" y="1826.6666666666674"><custom-block s="move %n steps %s"><l>10</l><l>up</l></custom-block></script><script x="204.626953125" y="1894.5000000000007"><custom-block s="%s touching %s"><l>Sprite</l><l>Sprite</l></custom-block></script><script x="189.626953125" y="1948.7499999999995"><custom-block s="unpause all $pointRight-1-255-220-0"></custom-block></script><script x="187.626953125" y="2052.499999999999"><custom-block s="pause this script $pause-1-255-220-0"></custom-block></script><script x="173.626953125" y="2098"><custom-block s="is prime %n ?"><l>1</l></custom-block></script><script x="177.626953125" y="2147"><custom-block s="is %n divisible by %n ?"><l></l><l></l></custom-block></script><script x="185.626953125" y="2196"><custom-block s="%n !"><l>1</l></custom-block></script><script x="171.626953125" y="2239"><custom-block s="put %s into slot %n of %cmdRing"><l></l><l></l><block s="reifyScript"><script></script><list></list></block></custom-block></script><script x="187.626953125" y="2286"><custom-block s="%n th root of %n"><l></l><l></l></custom-block></script><script x="163.626953125" y="2323"><custom-block s="round %n to the nearest %n"><l></l><l></l></custom-block></script><script x="185.626953125" y="2004"><custom-block s="unpause this script $pointRight-1-255-220-0"></custom-block></script><script x="165.126953125" y="2369"><custom-block s="scientific notation of %n"><l></l></custom-block></script><script x="184.626953125" y="2419.9999999999995"><custom-block s="color %clr"><color>145,26,68,1</color></custom-block></script><script x="192.626953125" y="2460.9999999999995"><custom-block s="get pen color"></custom-block></script><script x="182.626953125" y="2498.833333333333"><custom-block s="darken %clr"><color>145,26,68,1</color></custom-block></script><script x="178.626953125" y="2550.833333333333"><custom-block s="brighten %clr"><color>145,26,68,1</color></custom-block></script><script x="164.626953125" y="2583"><custom-block s="forever %cs"><script></script></custom-block></script><script x="155.626953125" y="2709.833333333333"><custom-block s="pi"></custom-block></script><script x="158.626953125" y="2746.833333333333"><custom-block s="is integer %n ?"><l>1</l></custom-block></script><script x="157.626953125" y="2781.833333333333"><custom-block s="e"></custom-block></script><script x="152.626953125" y="2814.6666666666665"><custom-block s="%txt contains %txt case sensitive %b"><l></l><l></l><l><bool>false</bool></l></custom-block></script><script x="157.626953125" y="2864.5"><custom-block s="letters in %txt between %n and %n"><l>Hello!</l><l>1</l><l>3</l></custom-block></script><script x="142.626953125" y="2912.3333333333335"><custom-block s="join %s"><l></l></custom-block></script><script x="199.626953125" y="2647.833333333333"><custom-block s="ignore %s"><l></l></custom-block></script><script x="160.626953125" y="2960.3333333333335"><custom-block s="go to %s"><l>center</l></custom-block></script><script x="145.626953125" y="3014.5"><custom-block s="placeholder"></custom-block></script><script x="145.626953125" y="3121.5"><custom-block s="is nil %s ?"><l></l></custom-block></script><script x="147.626953125" y="3057.3333333333335"><custom-block s="nil"></custom-block></script><script x="151.626953125" y="3179.5"><custom-block s="index of %txt in %txt case sensitive %b"><l>o</l><l>hello</l><l><bool>false</bool></l></custom-block></script><script x="145.8828125" y="3246.1666666666665"><custom-block s="letters in %txt before %txt"><custom-block s="letters in %txt after %txt"><l>hello(hi)</l><l>(</l></custom-block><l>)</l></custom-block></script><comment x="277.6376953125" y="2615.833333333333" w="90" collapsed="false">this is just used to let the effect of the reporter happen without doing anything with it</comment><script x="131.193359375" y="3421.666666666667"><custom-block s="var %txt shown?"><l></l></custom-block></script><script x="136.193359375" y="3484.833333333334"><custom-block s="get var with value %txt"><l></l></custom-block></script><script x="130.193359375" y="3526.000000000001"><custom-block s="var with value %txt exists?"><l></l></custom-block></script><script x="131.193359375" y="3576.3333333333344"><custom-block s="set %txt to %s"><l></l><l></l></custom-block></script><script x="131.193359375" y="3690.500000000001"><custom-block s="change %txt by %n"><l></l><l>1</l></custom-block></script><script x="131.193359375" y="3635.666666666668"><custom-block s="set all vars to %txt"><l></l></custom-block></script><script x="115.193359375" y="3745.666666666668"><custom-block s="change all vars by %n"><l></l></custom-block></script><script x="119" y="3807.15"><block s="errorObsolete"></block></script><script x="104" y="3858.4833333333336"><custom-block s="is composite %n ?"><l>1</l></custom-block></script><script x="108" y="3905.983333333334"><custom-block s="delete all variables"></custom-block></script><script x="103" y="3959.1500000000005"><custom-block s="empty list"></custom-block></script><script x="114" y="4002.6500000000005"><custom-block s="%clr"><color>145,26,68,1</color></custom-block></script><script x="113.845703125" y="3357.5"><custom-block s="package %cmdRing with values %mult%s"><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block></script><list></list></block><list><l>20</l><l>10</l></list></custom-block></script></scripts></sprite></sprites></stage><variables></variables></scene></scenes></project><media name="My blocks" app="Snap! 10.7.2, https://snap.berkeley.edu" version="2"></media></snapdata>