<snapdata remixID="15103032"><project name="Pace - OS" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes>A remodeled version of EXTRA OS.&#xD;Originally started 3-19-2026&#xD;Enjoy the various commands!</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAoKADAAQAAAABAAAAeAAAAAAeaS0RAAAerklEQVR4Ae3dWYxUxb8H8Bqm3fd913Hfd3FBxQFEBFxxQQ0xarwv5vrgmzE+8GI08eUmJkYTDF6jERNF5a8B9KrggisuuO/jvu+KCyr3fMr7m9uN0/xHxGaYrkp6us85daqqf/Xt72+rU9Oxww47LE51pVarpV9//bXuTP8+DhkyJHV0dKTffvut94ZlbUsDS97b2dmZfv/997R4ccNwe/sqH1ZOCdQqAKY11lgjrbPOOnmCTfT333+fQbjFFlukL7/8Mm200UYZXG+88UZaf/3107PPPpuOO+649Pbbb6dffvklffzxx+nss89O3333XXrooYfS9ttvnx588ME0evTo9O2336aPPvoo96FtdbbbbrvcxhFHHJFeffXVtPnmm6fPPvssbbLJJmmVVVZJCxcuTF999VXaaqutch9bbrllWm+99dKnn36a71uWH8jKOT2Df9Sd55133uSdd945bbjhhmn11VfPk+/zZpttll5//fV0wQUXpDfffDMBz0477ZTWXnvt9Morr2QgbrrppgnzvfXWW+mAAw5ITz/9dLrooovSCy+8kJkKaNZaa61cB+hWW221tPvuu2eWBORVV101ATm20xb21I962E6djTfeONcbOnRomjt3bvrmm28G/6y00TfsGDFiRNZpmAzTvPvuu5mJfvzxx9TV1ZXef//9zIjUK6YEqAULFuRra665ZlIPE+6zzz75XmzmhQGBDntiPaDGbBjR+aeeeiq5H0iBD9hDjevLeABRAXys7F59FQYcPAjtGDt27GKTarJ//vnnzFzYZ9ddd80sRO0CBOZSDxCAUF2MySZzLj7vscce6eWXX87tAZzrGPbDDz9M22yzTWaz1157Ld8f6navvfZK77zzTj6HFX/44YdsEvz0009Z0oCpHewImMHUgHvQQQdlsMc51zEpptaOe/xwvv7669ym64p+tG8M2vcd/CCAW1+uk4P3wrpZZP/In9q4ceOyHUbFmQQMePvtt2fmO/DAA9Pnn3+emefUU0/Nk4+pMNJz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</thumbnail><scenes select="1"><scene name="Pace - OS"><notes>A remodeled version of EXTRA OS.&#xD;Originally started 3-19-2026&#xD;Enjoy the various commands!</notes><palette><category name="CLI &amp; Graphics" color="0,0,0,1"/><category name="Ace’s blocks" color="255,0,48,1"/><category name="Editor Tools" color="220,220,220,1"/><category name="Timer" color="4,148,220,1"/><category name="useless" color="30,30,30,1"/><category name="inputs" color="165,194,255,1"/><category name="lables" color="255,234,182,1"/><category name="iframe &amp; html" color="255,164,63,1"/><category name="Extra" color="101,18,255,1"/><category name="Data" color="247,74,0,1"/><category name="Keys" color="7,0,145,1"/><category name="cursors" color="99,197,173,1"/><category name="Scripts" color="110,110,110,1"/></palette><hidden> undefined reportJSFunction</hidden><headers></headers><code></code><blocks><block-definition s="clear" type="command" category="CLI &amp; Graphics"><header></header><code></code><translations></translations><inputs></inputs><script><block s="clear"></block><block s="doSetVar"><l>Log</l><l></l></block><custom-block s="get ready to print"></custom-block></script></block-definition><block-definition s="get ready to print" type="command" category="CLI &amp; Graphics"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setColor"><color>255,255,255,1</color></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block><block s="up"></block><block s="setXPosition"><l>-240</l></block><block s="setYPosition"><l>170</l></block></script></block-definition><block-definition s="write %&apos;writ&apos;" type="command" category="CLI &amp; Graphics"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">Hello!</input></inputs><script><block s="doSetVar"><l>Log</l><block s="reportJoinWords"><list><block var="Log"/><block var="writ"/></list></block></block></script></block-definition><block-definition s="write lines %&apos;writ&apos;" type="command" category="CLI &amp; Graphics"><header></header><code></code><translations></translations><inputs><input type="%code" initial="1">Hello!</input></inputs><script><custom-block s="%upvar for each %upvar of %l %ca"><l>#</l><l>item</l><block s="reportTextSplit"><block var="writ"/><l><option>line</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><block var="Log"/><l><option>line</option></l></block></block><l>36</l></list></block><script><block s="doSetVar"><l>Log</l><custom-block s="substring of %txt after %txt"><block var="Log"/><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block></custom-block></block></script><list></list></block><custom-block s="write %txt"><block var="item"/></custom-block><custom-block s="write %txt"><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block></custom-block></script></custom-block></script></block-definition><block-definition s="multiline %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o texto multilinha _&#xD;ca:multilínia _&#xD;pl:wielowiersz _&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block var="text"/></block></script></block-definition><block-definition s="substring of %&apos;string&apos; before %&apos;marker&apos;" type="reporter" category="operators"><comment x="0" y="0" w="175.33333333333334" collapsed="false">Reports the part of the first string up to the first instance of the second string inside it.  If the second string isn&apos;t found, reports the entire first string.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;ca:part del text _ anterior a _&#xD;pl:podciąg _ przed _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>0</l></list></block><block var="string"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><l></l><custom-block s="substring of %txt from position %n to position %n inclusive"><block var="string"/><l>1</l><block s="reportDifference"><block var="index"/><l>1</l></block></custom-block></block></block></block></script></block-definition><block-definition s="substring of %&apos;string&apos; after %&apos;marker&apos;" type="reporter" category="operators"><comment x="0" y="0" w="203.33333333333334" collapsed="false">Reports the portion of the first input string starting after the first occurrence of the second string.  If the second string isn&apos;t found in the first string, reports an empty string.</comment><header></header><code></code><translations>pt:o texto de _ depois de _&#xD;ca:part del text _ posterior a _&#xD;pl:podciąg _ po _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>end</l></list></block><block s="doSetVar"><l>index</l><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block></block><block s="doSetVar"><l>end</l><block s="reportVariadicSum"><list><block var="index"/><block s="reportTextAttribute"><l><option>length</option></l><block var="marker"/></block></list></block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>0</l></list></block><l></l><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="end"/><block s="reportTextAttribute"><l><option>length</option></l><block var="string"/></block></list></block><l></l><custom-block s="substring of %txt from position %n to position %n inclusive"><block var="string"/><block var="end"/><l></l></custom-block></block></block></block></script></block-definition><block-definition s="position of %&apos;small&apos; in %&apos;large&apos;" type="reporter" category="operators"><comment x="0" y="0" w="294" collapsed="false">Reports the character position (starting from 1) of the beginning of the first input string inside the second input string.&#xD;If it&apos;s not found, reports 0.</comment><header></header><code></code><translations>pt:a posição de _ em _&#xD;ca:posició de _ en _&#xD;pl:pozycja _ w _&#xD;</translations><inputs><input type="%s"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportGlobalFlag"><l><option>case sensitivity</option></l></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block var="small"/><block var="large"/></list></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block s="reportTextAttribute"><l><option>lower case</option></l><block var="small"/></block><block s="reportTextAttribute"><l><option>lower case</option></l><block var="large"/></block></list></block></block></block></script></block-definition><block-definition s="substring of %&apos;str&apos; from position %&apos;start&apos; to position %&apos;end&apos; inclusive" type="reporter" category="operators"><comment x="0" y="0" w="297.3333333333333" collapsed="false">Reports the portion of the first input (string) starting at the position given by the second input (counting from 1, like LETTER n OF) and ending at the position given by the third input (also counting from 1).  If the third input is empty, reports the portion from the first position to the end of the string.&#xD;If a position number is negative, counts from the end backward, so -1 is the last character, -2 is the next to last, etc.</comment><header></header><code></code><translations>pt:o texto de _ entre as posições _ e _ , inclusive&#xD;ca:part del text _ des de la posició _ fins _&#xD;pl:podciąg _ od pozycji _ do pozycji _ włącznie&#xD;</translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportLetter"><block s="reportNumbers"><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="start"/><l>0</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="start"/><l>1</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="str"/></block></list></block><block var="start"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="end"/><l>0</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="str"/></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="end"/><l>0</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="end"/><l>1</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="str"/></block></list></block><block var="end"/></block></block></block><block var="str"/></block></block></block></script></block-definition><block-definition s="text %&apos;string&apos; contains %&apos;marker&apos;" type="predicate" category="operators"><comment x="0" y="0" w="217.99999999999997" collapsed="false">Reports True if the first input string contains the second input string, otherwise false.&#xD;&#xD;Comparison is case-independent by default; use USE CASE-INDEPENDENT COMPARISONS to change that.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;ca:text _ conté _ ?&#xD;pl:tekst _ zawiera _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block><l>0</l></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#xD;pl:$flash sortuj _ za pomocą _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="function"/></list></block></block></script></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;pl:$flash skojarz _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block><block var="a-list"/></block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;pl:_ dla każdego _ z _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca" irreplaceable="true"></input></inputs><script><block s="doForEach"><l>inner item</l><block var="data"/><script><block s="doSetVar"><l>item</l><block var="inner item"/></block><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="☠︎ linked? %&apos;data&apos;" type="predicate" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_linked(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="☠︎ link %&apos;data&apos;" type="reporter" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportCDR"><block var="data"/></block></block></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).</comment><header></header><code></code><translations>ca:notació textual de _&#xD;es:imprimible _&#xD;pl:tekstowa _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations>ca:frase _&#xD;es:oración _&#xD;pl:zdanie _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="192" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations>pl:$flash spakuj _&#xD;</translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></script></block-definition><block-definition s="%&apos;a&apos;" type="reporter" category="inputs"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportListItem"><l>1</l><block var="lists"/></block></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="lists"/></block></block><custom-block s="multimap %repRing over %mult%l"><block var="function"/><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><block var="lists"/></block></custom-block></block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;pl:zdanie $arrowRight lista _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><l></l></block><l>0</l></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>word</option></l></block></block></block></script></block-definition><block-definition s="update screen" type="command" category="CLI &amp; Graphics"><header></header><code></code><translations></translations><inputs></inputs><script><block s="clear"></block><custom-block s="normal position"></custom-block><custom-block s="%upvar for each %upvar of %l %ca"><l>#</l><l>item</l><block s="reportTextSplit"><block var="Log"/><l><option>line</option></l></block><script><custom-block s="%upvar for each %upvar of %l %ca"><l>#</l><l>subitem</l><block s="reportTextSplit"><custom-block s="char wrap %txt width %n"><block var="item"/><block var="COLS"/></custom-block><l><option>line</option></l></block><script><custom-block s="write %mlt size %n with wrapping %br font %s css properties %mult%s"><block var="subitem"/><l>1</l><l>monospace</l><list><custom-block s="font %s %br bold %b %br italic %b"><l>monospace</l><l><bool>false</bool></l><l><bool>false</bool></l></custom-block></list></custom-block><block s="setXPosition"><l>-240</l></block><block s="changeYPosition"><l>-10</l></block></script></custom-block></script></custom-block></script></block-definition><block-definition s="when variable %&apos;variable&apos; changes" type="hat" category="Data"><variables><list struct="atomic" id="567">old</list></variables><header></header><code></code><translations>de:Wenn Variable _ sich ändert&#xD;</translations><inputs><input type="%s" initial="1"><options>§_getVarNamesDict</options></input></inputs><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportListContainsItem"><block s="reportAttributeOf"><l><option>variables</option></l><block s="reportEnvironment"><l><option>caller</option></l></block></block><block var="variable"/></block></block><block s="reportVariadicEquals"><list><block s="reportAttributeOf"><block var="variable"/><block s="reportEnvironment"><l><option>caller</option></l></block></block><block var="old"/></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doSetVar"><l>old</l><block s="reportAttributeOf"><block var="variable"/><block s="reportEnvironment"><l><option>caller</option></l></block></block></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="when %&apos;sensor&apos; &gt; %&apos;threshold&apos;" type="hat" category="sensing"><header></header><code></code><translations>de:Wenn _ &gt; _&#xD;</translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">$_volume<options>volume=$_volume&#xD;timer=$_timer</options></input><input type="%n" initial="1">5</input></inputs><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="evaluate"><block s="reportListItem"><block var="sensor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>volume</l><block s="reifyReporter"><autolambda><block s="reportAudio"><l><option>volume</option></l></block></autolambda><list></list></block></list></block><block s="reportNewList"><list><l>timer</l><block s="reifyReporter"><autolambda><block s="getTimer"></block></autolambda><list></list></block></list></block></list></block></block><list></list></block><block var="threshold"/></list></block></block></script></block-definition><block-definition s="when background switches to %&apos;costume name&apos;" type="hat" category="looks"><header></header><code></code><translations>de:Wenn Hintergrund zu _ wechselt&#xD;</translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_dynamicMenu</options></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportAttributeOf"><l><option>costume name</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block var="costume name"/></list></block></block></script><scripts><script x="10" y="121.8333333333333"><block s="receiveSlotEvent"><l>costume name</l><l><option>menu</option></l></block><block s="doReport"><block s="reportGetImageAttribute"><l><option>name</option></l><block s="reportAskFor"><block s="reportGet"><l><option>stage</option></l></block><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costumes</option></l></block></autolambda><list></list></block><list></list></block></block></block></script></scripts></block-definition><block-definition s="has %&apos;test&apos; happened?" type="predicate" category="operators"><variables><list struct="atomic" id="697">last state</list></variables><header></header><code></code><translations>de:hat _ sich ereignet?&#xD;</translations><inputs><input type="%b" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="test"/><block var="last state"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doSetVar"><l>last state</l><block var="test"/></block><block s="doReport"><block var="test"/></block></script></block-definition><block-definition s="has %&apos;value&apos; changed?" type="predicate" category="Data"><variables><list struct="atomic" id="720">old</list></variables><header></header><code></code><translations>de:hat _ sich verändert?&#xD;</translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="value"/><block var="old"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doSetVar"><l>old</l><block var="value"/></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="when %&apos;value&apos; changes" type="hat" category="control"><variables><list struct="atomic" id="745">old</list></variables><header></header><code></code><translations>de:Wenn _ sich ändert&#xD;</translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="value"/><block var="old"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doSetVar"><l>old</l><block var="value"/></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;pl:przechwyć _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><custom-block s="run %cmdRing with continuation"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></custom-block></script></block-definition><block-definition s="throw %&apos;cont&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;pl:wyrzuć _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></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;pl:przechwyć _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><custom-block s="run %cmdRing with continuation"><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></custom-block></script></block-definition><block-definition s="throw %&apos;err&apos; %&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;el:σφάλμα _&#xD;de:Error _&#xD;</translations><inputs><input type="%s">Error</input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l><l>n</l></list><l>throw {name: n, message: msg};</l></block><list><block var="msg"/><block var="err"/></list></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><comment x="0" y="0" w="263.3333333333333" collapsed="false">This is a breakpoint block, to be used in debugging.&#xD;The Boolean input specifies the condition under which&#xD;the program should pause.  (Use True for an unconditional breakpoint.)  The intent is that the script should have&#xD;SHOW VARIABLE blocks for the process&apos;s local variables.&#xD;After the pause, this block automatically hides all temporary variables.</comment><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;pt:se _ , então _ e faz pausa em tudo $pause-1-255-220-0&#xD;pl:jeżeli _ wykonaj _ i pauzuj wszystko $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script><list></list></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cascade %&apos;num&apos; times %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="138" collapsed="false">Call f(f(f(...(f(x))))) n times where the three input slots are n, f, and x from left to right.  The # variable can be used inside f to represent how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado de _ invocações em cascata de _ com argumento inicial _ _&#xD;ca:en cascada _ vegades _ _ _&#xD;pl:kaskada _ razy _ _ _&#xD;</translations><inputs><input type="%n"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="cascade until %&apos;pred&apos; %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="210.47493489583334" collapsed="false">Call f(f(f(...(f(x))))) until condition is true, where the three input slots are condition, f, and x from left to right.  The # variable can be used inside f or condition to indicate how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado da invocação em cascata até que _ de _ com argumento inicial _ _&#xD;ca:en cascada fins _ _ _ _&#xD;pl:kaskada aż _ _ _ _&#xD;</translations><inputs><input type="%predRing"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list><block var="result"/></list></block><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="compose %&apos;f&apos; %&apos;g&apos;" type="reporter" category="control"><comment x="0" y="0" w="151.33333333333334" collapsed="false">Returns the function x↦f(g(x)) where f and g are the two inputs.</comment><header></header><code></code><translations>pt:a composição de _ com _&#xD;ca:composa _ _&#xD;pl:skomponuj _ _&#xD;</translations><inputs><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="f"/><list><block s="evaluate"><block var="g"/><list><l></l></list></block></list></block></autolambda><list></list></block></block></script></block-definition><block-definition s="repeat %&apos;action&apos; until %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="202.66666666666666" collapsed="false">Like the built-in REPEAT UNTIL block, except that the ending condition is not tested until the script has been run the first time.  So the script is run at least once.</comment><header></header><code></code><translations>pt:repete _ até que _ $loop-0.7&#xD;ca:repeteix _ fins _&#xD;pl:powtarzaj _ aż _&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;action&apos; while %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="287.3333333333333" collapsed="false">Run the script repeatedly, as long as the given condition is true.  Runs the script at least once before testing the condition.</comment><header></header><code></code><translations>pt:repete _ enquanto _ $loop-0.7&#xD;ca:repeteix _ mentre _&#xD;pl:powtarzaj _ gdy _&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat while %&apos;pred&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="264" collapsed="false">Runs the script repeatedly, as long as the condition is true. Tests the condition before the first time the script is run.  Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.</comment><header></header><code></code><translations>pt:enquanto _ , repete _ $loop-0.7&#xD;pl:powtarzaj gdy _ _&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;num&apos; %&apos;#&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="171" collapsed="false">Runs the script the specified number of times, like the built-in REPEAT block, but this one provides the # variable that can be used inside the script.  Try&#xD;REPEAT (200)&#xD;                MOVE (#) STEPS&#xD;   RIGHT 92&#xD;with the pen down.</comment><header></header><code></code><translations>pt:repete _ vezes _ _ $loop-0.7&#xD;ca:repeteix _ _ _&#xD;pl:powtórz _ _ _&#xD;</translations><inputs><input type="%n"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; step %&apos;step&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="247.33333333333334" collapsed="false">The primitive FOR block uses an implicit step of ±1 depending on which of the starting and ending values is larger.  This version allows you to provide an explicit step value.  If the sign of the step input is incompatible with the ordering of the starting and ending values, the script will not be run at all.</comment><header></header><code></code><translations>pt:para _ de _ com passo _ a _ _ $loop-0.7&#xD;ca:per _ = _ incrementant _ fins _ _&#xD;pl:dla _ = _ co _ do _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="step"/><l>0</l></list></block><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doUntil"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="let %&apos;a&apos; be %&apos;val&apos; in %&apos;loop&apos; %&apos;body&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666666" collapsed="false">Provides LOOP as a function of one input that runs&#xD;the body of the LET with A set to the function input,&#xD;so the body can run itself recursively.&#xD;See COPY block in Variables for an example of use.</comment><header></header><code></code><translations>pt:tendo _ o valor inicial _ , executa _ definido como _&#xD;ca:fes que _ sigui _ al _ _&#xD;pl:ustaw _ na _ w _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>a</l><block var="val"/></block><block s="doSetVar"><l>loop</l><block s="reifyScript"><script><block s="doSetVar"><l>a</l><block var="new value"/></block><block s="doRun"><block var="body"/><list><block var="a"/></list></block></script><list><l>new value</l></list></block></block><block s="doRun"><block var="loop"/><list><block var="a"/></list></block></script></block-definition><block-definition s="run %&apos;action&apos; with continuation" type="command" category="control"><header></header><code></code><translations>de:führe _ mit Continuation aus&#xD;</translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><block s="doRun"><block var="action"/><list><block s="reportEnvironment"><l><option>continuation</option></l></block></list></block></script></block-definition><block-definition s="call %&apos;action&apos; with continuation" type="reporter" category="control"><header></header><code></code><translations>de:rufe _ mit Continuation auf&#xD;</translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reifyReporter"><script><custom-block s="run %cmdRing with continuation"><block var="action"/></custom-block></script><list></list></block><list></list></block></block></script></block-definition><block-definition s="filled costume %&apos;width&apos; × %&apos;height&apos; colored %&apos;color&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n">80</input><input type="%n">100</input><input type="%clr"></input></inputs><script><block s="doSetVar"><l>color</l><block s="reportJoinWords"><block var="color"/></block></block><block s="doSetVar"><l>color</l><block s="reportVariadicProduct"><list><block s="reportTextSplit"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block s="reportListItem"><l>2</l><block s="reportTextSplit"><block var="color"/><l>(</l></block></block><l>)</l></block></block><l>,</l></block><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>255</l></list></block></list></block></block><block s="doReport"><block s="reportNewCostumeStretched"><block s="reportNewCostume"><block s="reportNewList"><list><block var="color"/></list></block><l>1</l><l>1</l></block><block s="reportVariadicProduct"><list><block var="width"/><l>100</l></list></block><block s="reportVariadicProduct"><list><block var="height"/><l>100</l></list></block></block></block></script></block-definition><block-definition s="alter speed of sound %&apos;sound&apos; by %&apos;percent&apos; %" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_soundsMenu</options></input><input type="%n">50</input></inputs><script><block s="doReport"><block s="reportNewSoundFromSamples"><block s="reportGetSoundAttribute"><l><option>samples</option></l><block var="sound"/></block><block s="reportVariadicProduct"><list><block s="reportGetSoundAttribute"><l><option>sample rate</option></l><block var="sound"/></block><block s="reportQuotient"><block var="percent"/><l>100</l></block></list></block></block></block></script></block-definition><block-definition s="current os" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>var userAgent = navigator.userAgent,&#xD;      platform = navigator.platform,&#xD;      macosPlatforms = [&apos;Macintosh&apos;, &apos;MacIntel&apos;, &apos;MacPPC&apos;, &apos;Mac68K&apos;],&#xD;      windowsPlatforms = [&apos;Win32&apos;, &apos;Win64&apos;, &apos;Windows&apos;, &apos;WinCE&apos;],&#xD;      iosPlatforms = [&apos;iPhone&apos;, &apos;iPad&apos;, &apos;iPod&apos;],&#xD;      os = null;&#xD;&#xD;  if (macosPlatforms.indexOf(platform) !== -1) {&#xD;    os = &apos;Mac OS&apos;;&#xD;  } else if (iosPlatforms.indexOf(platform) !== -1) {&#xD;    os = &apos;iOS&apos;;&#xD;  } else if (windowsPlatforms.indexOf(platform) !== -1) {&#xD;    os = &apos;Windows&apos;;&#xD;  } else if (/Android/.test(userAgent)) {&#xD;    os = &apos;Android&apos;;&#xD;  } else if (!os &amp;&amp; /Linux/.test(platform)) {&#xD;    os = &apos;Linux&apos;;&#xD;  }&#xD;&#xD;  return os;</l></block><list></list></block></block></script></block-definition><block-definition s="right mouse down?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="mouse button"></custom-block><l>2</l></list><comment w="90" collapsed="false">You can modify this script to 1, 3, or 4 to detect different buttons.</comment></block></block></script></block-definition><block-definition s="mouse button" type="reporter" category="sensing"><comment x="0" y="0" w="274" collapsed="false">Reports the currently pressed mouse button&apos;s ID (i.e. middle click is 1, right-click is 2). If no buttons are currently being pressed, it will report -1. If multiple are pressed at once, it will report the ID of the button most recently pressed. This doesn&apos;t work for left clicks, however. For that you need to use &apos;mouse down?&apos;.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>if (!window.buttonClicked){&#xD;window.buttonClicked = -1;&#xD;window.onmousedown = e =&gt; buttonClicked = e.button;&#xD;window.onmouseup = e =&gt; buttonClicked = -1;&#xD;}&#xD;return buttonClicked || -1;</l></block><list></list></block></block></script></block-definition><block-definition s="export costume %&apos;costume&apos; as %&apos;name&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">current<options>§_costumesMenu</options></input><input type="%s">costume</input></inputs><script><block s="doApplyExtension"><l>cst_export(cst, name)</l><list><block s="reportNewCostumeStretched"><block var="costume"/><l>100</l><l>100</l></block><block var="name"/></list></block></script></block-definition><block-definition s="export sound %&apos;sound&apos; named %&apos;name&apos;" type="command" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_soundsMenu</options></input><input type="%s">sound</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>sound, name</l></list><l>var lnk = document.createElement("a");&#xD;lnk.href = sound.audio.src;&#xD;lnk.download = name;&#xD;lnk.click();</l></block><list><block s="reportIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><block var="sound"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetSoundAttribute"><l><option>name</option></l><l></l></block><block var="sound"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>sounds</option></l></block></block></block><block var="name"/></list></block></script></block-definition><block-definition s="set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for Boolean settings; use &apos;set value&apos; for non-Boolean values.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;</translations><inputs><input type="%s" readonly="true"><options>presentation mode&#xD;retina display support&#xD;long form input dialog&#xD;plain prototype labels&#xD;input sliders&#xD;execute on slider change&#xD;clicking sound&#xD;turbo mode&#xD;flat design&#xD;keyboard editing&#xD;visible stepping&#xD;thread safe scripts&#xD;prefer smooth animations&#xD;flat line ends&#xD;codification support&#xD;inheritance support&#xD;hyper blocks support</options></input><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>tf</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph),&#xD;        thisObj = this;&#xD;&#xD;if (tf != !!tf) return;&#xD;&#xD;try{&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;presentation mode&apos;:&#xD;        if (tf != ide.isAppMode) ide.toggleAppMode();&#xD;        break;&#xD;    case &apos;retina display support&apos;:&#xD;        if (tf != isRetinaEnabled()) ide.toggleRetina();&#xD;        break;&#xD;    case &apos;long form input dialog&apos;:&#xD;        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)&#xD;            ide.toggleLongFormInputDialog();&#xD;        break;&#xD;    case &apos;plain prototype labels&apos;:&#xD;        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)&#xD;            ide.togglePlainPrototypeLabels();&#xD;        break;&#xD;    case &apos;input sliders&apos;:&#xD;        MorphicPreferences.useSliderForInput = tf;&#xD;        break;&#xD;    case &apos;execute on slider change&apos;:&#xD;        ArgMorph.prototype.executeOnSliderEdit = tf;&#xD;        break;&#xD;    case &apos;clicking sound&apos;:&#xD;        if (tf != !!BlockMorph.prototype.snapSound)&#xD;            BlockMorph.prototype.toggleSnapSound();&#xD;        break;&#xD;    case &apos;turbo mode&apos;:&#xD;        if (tf != stage.isFastTracked)&#xD;            ide.toggleFastTracking();&#xD;        break;&#xD;    case &apos;flat design&apos;:&#xD;        if (tf == MorphicPreferences.isFlat) break;&#xD;        if (tf)&#xD;            ide.flatDesign();&#xD;        else&#xD;            ide.defaultDesign();&#xD;        break;&#xD;    case &apos;keyboard editing&apos;:&#xD;        if (thisObj.scripts.focus &amp;&amp; !tf) {&#xD;            thisObj.scripts.focus.stopEditing();&#xD;        } else if (tf &amp;&amp; !thisObj.scripts.focus) {&#xD;            thisObj.scripts.toggleKeyboardEntry();&#xD;        };&#xD;        break;&#xD;    case &apos;visible stepping&apos;:&#xD;        if (tf != Process.prototype.enableSingleStepping)&#xD;            ide.toggleSingleStepping();&#xD;        break;&#xD;    case &apos;thread safe scripts&apos;:&#xD;        stage.isThreadSafe = tf;&#xD;        break;&#xD;    case &apos;prefer smooth animations&apos;:&#xD;        if (tf != (StageMorph.prototype.frameRate &gt; 0))&#xD;            ide.toggleVariableFrameRate();&#xD;        break;&#xD;    case &apos;flat line ends&apos;:&#xD;        SpriteMorph.prototype.useFlatLineEnds = tf;&#xD;        break;&#xD;    case &apos;codification support&apos;:&#xD;        if (tf != StageMorph.prototype.enableCodeMapping) {&#xD;            StageMorph.prototype.enableCodeMapping = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;inheritance support&apos;:&#xD;        if (tf != StageMorph.prototype.enableInheritance) {&#xD;            StageMorph.prototype.enableInheritance = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;hyper blocks support&apos;:&#xD;        Process.prototype.enableHyperOps = tf;&#xD;        break;&#xD;};&#xD;}&#xD;finally {&#xD;ide.savingPreferences = false;&#xD;};&#xD;</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for numeric or text settings; use&#xD;&apos;set flag&apos; for Boolean values.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;</translations><inputs><input type="%s" readonly="true"><options>project notes&#xD;project name&#xD;language&#xD;zoom blocks&#xD;stage size&#xD;stage scale&#xD;visible palette</options></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>value</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;try {&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which.split(&apos;&apos;)[0].toLocaleUpperCase()+which.slice(1)) {&#xD;    case &apos;Project notes&apos;:&#xD;        ide.projectNotes = value;&#xD;        break;&#xD;    case &apos;Project name&apos;:&#xD;        ide.setProjectName(value);&#xD;        break;&#xD;    case &apos;Language&apos;:&#xD;        ide.setLanguage(value);&#xD;        break;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        if (!isNaN(value)) ide.setBlocksScale(Math.min(value, 12));&#xD;        break;&#xD;    case &apos;Stage size&apos;:&#xD;        if ((value instanceof List) &amp;&amp; value.length()==2&#xD;                       &amp;&amp; !isNaN(value.at(1)) &amp;&amp; !isNaN(value.at(2)))&#xD;            ide.setStageExtent(new Point(value.at(1), value.at(2)));&#xD;        break;&#xD;    case &apos;Stage scale&apos;:&#xD;        ide.toggleStageSize(value != 1, Math.max(0.1, value));&#xD;        break;&#xD;    case &apos;Visible palette&apos;:&#xD;        ide.currentCategory = value.toLowerCase();&#xD;        ide.categories.children.forEach(function (each) {&#xD;                each.refresh();&#xD;        });&#xD;        ide.refreshPalette(true);&#xD;        break;&#xD;};&#xD;}&#xD;finally {ide.savingPreferences = true;&#xD;};</l></block><list><block var="which"/><block var="value"/></list></block></script></block-definition><block-definition s="my scripts" type="reporter" category="sensing"><comment x="0" y="0" w="90" collapsed="false">Reports all the current sprite&apos;s scripts in a list.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return new List(this.scripts.children.map(&#xD;function (e) {if (e instanceof RingMorph){&#xD;return new Context(null,[e]);&#xD;} else {&#xD;return new Context(null,e.fullCopy());}&#xD;}).filter(function (e) {&#xD;return !(e.expression instanceof CommentMorph);}));</l></block><list></list></block></block></script></block-definition><block-definition s="$flag-1.3-0-200-15 restart all" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><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="alter costume %&apos;costume&apos; r: %&apos;r&apos; g: %&apos;g&apos; b: %&apos;b&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>c</l></list></block><block s="doSetVar"><l>c</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>list</option></l></block><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>pixels</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block><block var="costume"/></block></block><block s="doReport"><block s="reportNewCostume"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportQuotient"><block s="reportNewList"><list><block var="r"/><block var="g"/><block var="b"/><l>100</l></list></block><l>100</l></block></list></block></autolambda><list></list></block><list><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>list</option></l></block><block var="costume"/><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="costume"/></block></block></list></block><block s="reportGetImageAttribute"><l><option>width</option></l><block var="c"/></block><block s="reportGetImageAttribute"><l><option>height</option></l><block var="c"/></block></block></block></script></block-definition><block-definition s="file save prompt name: %&apos;filename&apos; $nl contents: %&apos;body&apos; extension: %&apos;extension&apos;" type="command" category="other"><comment x="0" y="0" w="260.350692471591" collapsed="false">Downloads a file onto the user&apos;s computer.&#xD;URLs are supported, and required for PNG images and possibly other extensions.&#xD;&#xD;Update: Now supports backslashing of URLs to instead get a file with the URL as its binary contents. Not sure why you&apos;d want that though.</comment><header></header><code></code><translations></translations><inputs><input type="%s">filename</input><input type="%mlt">body</input><input type="%s">.txt<options>.txt&#xD;.xml&#xD;.html</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>contents</l><l>filename</l><l>ext</l></list><l>var pattern = new RegExp(&apos;^(https?:\\/\\/)?&apos;+ // protocol&#xD;    &apos;((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|&apos;+ // domain name&#xD;    &apos;((\\d{1,3}\\.){3}\\d{1,3}))&apos;+ // OR ip (v4) address&#xD;    &apos;(\\:\\d+)?(\\/[-a-z\\d%_.&#126;+]*)*&apos;+ // port and path&#xD;    &apos;(\\?[;&amp;a-z\\d%_.&#126;+=-]*)?&apos;+ // query string&#xD;    &apos;(\\#[-a-z\\d_]*)?$&apos;,&apos;i&apos;); // fragment locator&#xD;if (ext[0] != &apos;.&apos;)&#xD;ext = &apos;.&apos;+ext;&#xD;var lnk = document.createElement(&apos;a&apos;),&#xD;    blob = new Blob([contents]);&#xD;if (pattern.test(contents) || (pattern.test(contents.slice(1)) &amp;&amp;&#xD;pattern[0] == &apos;\\&apos;)){&#xD;lnk.href = contents;&#xD;} else {&#xD;lnk.href = (window.URL||window.webkitURL).createObjectURL(blob);}&#xD;lnk.download = filename + ext;&#xD;lnk.click();</l></block><list><block var="body"/><block var="filename"/><block var="extension"/></list></block></script></block-definition><block-definition s="%&apos;w&apos; flip costume %&apos;costume&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">horizontal<options>horizontally&#xD;vertically&#xD;bidirectionally</options></input><input type="%s" readonly="true">current<options>§_costumesMenu</options></input></inputs><script><block s="doReport"><block s="reportNewCostumeStretched"><block var="costume"/><block s="reportVariadicProduct"><list><l>100</l><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportVariadicEquals"><list><block var="w"/><l>vertically</l></list></block><l>2</l></list></block><l>1</l></block></list></block><block s="reportVariadicProduct"><list><l>100</l><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportVariadicEquals"><list><block var="w"/><l>horizontally</l></list></block><l>2</l></list></block><l>1</l></block></list></block></block></block></script></block-definition><block-definition s="send notification $nl $- title: %&apos;title&apos; $nl $- text: %&apos;text&apos; $nl $- icon: %&apos;costume&apos; $nl $- image: %&apos;img&apos; $nl $- onclick: %&apos;code&apos;" type="command" category="sensing"><comment x="0" y="0" w="198" collapsed="false">Sends a notification to the user&apos;s device.&#xD;The icon/image parameters take a costume as input and the onclick parameter takes a JavaScript or Snap! function.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Hi there!</input><input type="%txt">How are you today?</input><input type="%s" readonly="true">current<options>§_costumesMenu</options></input><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%cmdRing">this.close();</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>title</l><l>body</l><l>icon</l><l>img</l><l>onclick</l></list><l>if (!("Notification" in window)) console.error("\&#xD;Error", "The notification API is not supported on\n\&#xD;your browser!");&#xD;icon = icon.contents.toDataURL();&#xD;img = img.contents.toDataURL();&#xD;var noti = new Notification(title || "Hi there!",&#xD;{body: body || "How are you today?",&#xD;icon: icon || null,&#xD;image: img || null});&#xD;if (onclick instanceof Function){&#xD;noti.onclick = onclick;&#xD;} else {&#xD;noti.onclick = function () {&#xD;invoke(onclick, new List);&#xD;}}</l></block><list><block var="title"/><block var="text"/><block s="reportNewCostumeStretched"><block var="costume"/><l>100</l><l>100</l></block><block s="reportNewCostumeStretched"><block var="img"/><l>100</l><l>100</l></block><block var="code"/></list></block></script></block-definition><block-definition s="set cursor %&apos;which&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="false">Update: Now accepts URLs!</comment><header></header><code></code><translations></translations><inputs><input type="%s">pointer<options>auto&#xD;cell&#xD;copy&#xD;crosshair&#xD;default&#xD;grab&#xD;grabbing&#xD;help&#xD;move&#xD;not-allowed&#xD;pointer&#xD;progress&#xD;text&#xD;wait&#xD;n-resize&#xD;s-resize&#xD;e-resize&#xD;w-resize&#xD;ne-resize&#xD;se-resize&#xD;nw-resize&#xD;sw-resize&#xD;&#126;1&#xD;§_costumesMenu</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>cur</l><l>proc</l></list><l>function setTo(val){&#xD;document.body.style.cursor = val;&#xD;top.window.document.body.style.cursor = val;&#xD;}&#xD;if (cur instanceof Costume || this.costumes.asArray().map(e=&gt;e.name).includes(cur) || cur===&apos;current&apos;){&#xD;alert("Sorry, costumes don&apos;t work very well for custom cursors at the moment.");&#xD;return;&#xD;let c = newCanvas(),ctx=c.getContext(&apos;2d&apos;);&#xD;cur=proc.reportNewCostumeStretched(cur, 100, 100);&#xD;c.width = cur.width();&#xD;c.height = cur.height();&#xD;ctx.drawImage(cur.contents, 0, 0);&#xD;setTo(&apos;url("&apos;+c.toDataURL()+&apos;"), auto&apos;);&#xD;} else if ("auto cell copy crosshair default grab grabbing help move not-allowed " +&#xD;           "pointer progress text wait n-resize e-resize ne-resize nw-resize"&#xD;.split(&apos; &apos;).includes(cur)){&#xD;setTo(cur);&#xD;}else{&#xD;setTo(&apos;url("&apos;+cur+&apos;"),auto&apos;);&#xD;}</l></block><list><block var="which"/></list></block></script></block-definition><block-definition s="# %&apos;comment&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%mlt">comment...</input></inputs></block-definition><block-definition s="notifications allowed?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return [&apos;granted&apos;,&apos;prompt&apos;]&#xD;.includes(Notification.permission);</l></block><list></list></block></block></script></block-definition><block-definition s="root object" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportNot"><custom-block s="am I a clone?"></custom-block></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportAskFor"><block s="reportGet"><l><option>parent</option></l></block><block s="reifyReporter"><autolambda><custom-block s="root object"></custom-block></autolambda><list></list></block><list></list></block></block></block></script></block-definition><block-definition s="costume from url %&apos;url&apos;" type="reporter" category="looks"><comment x="0" y="0" w="190.36363636363626" collapsed="false">Credit to @programmer_user and @jens (deprecated JS ver. help screen)</comment><header></header><code></code><translations></translations><inputs><input type="%s">Costumes/alonzo.png<options>abby a=Costumes/abby-a.svg&#xD;abby b=Costumes/abby-b.svg&#xD;abby c=Costumes/abby-c.svg&#xD;abby d=Costumes/abby-d.svg&#xD;airplane2=Costumes/airplane2.png&#xD;alonzo=Costumes/alonzo.png&#xD;alonzo (3D)=Costumes/Alonzo3D.png&#xD;alonzo (vector)=Costumes/alonzo.svg&#xD;amon=Costumes/amon.gif&#xD;anina pop down=Costumes/anina_pop_down.png&#xD;anina pop front=Costumes/anina_pop_front.png&#xD;anina pop L arm=Costumes/anina_pop_L_arm.png&#xD;anina pop left=Costumes/anina_pop_left.png&#xD;anina pop R arm=Costumes/anina_pop_R_arm.png&#xD;anina pop right=Costumes/anina_pop_right.png&#xD;anina pop stand=Costumes/anina_pop_stand.png&#xD;anina R cross=Costumes/anina_R_cross.png&#xD;anina stance=Costumes/anina_stance.png&#xD;anina top freeze=Costumes/anina_top_freeze.png&#xD;anina top L step=Costumes/anina_top_L_step.png&#xD;anina top R step=Costumes/anina_top_R_step.png&#xD;anina top stand=Costumes/anina_top_stand.png&#xD;anna a=Costumes/anna-a.png&#xD;anna b=Costumes/anna-b.png&#xD;anna01=Costumes/anna01.png&#xD;anna02=Costumes/anna02.png&#xD;anna03=Costumes/anna03.png&#xD;anna04=Costumes/anna04.png&#xD;anna05=Costumes/anna05.png&#xD;anna06=Costumes/anna06.png&#xD;anna07=Costumes/anna07.png&#xD;anna07b=Costumes/anna07b.png&#xD;anna07c=Costumes/anna07c.png&#xD;anna08=Costumes/anna08.png&#xD;anna09=Costumes/anna09.png&#xD;anna10=Costumes/anna10.png&#xD;anna11=Costumes/anna11.png&#xD;anna12=Costumes/anna12.png&#xD;apple=Costumes/apple.svg&#xD;arrow1 a=Costumes/arrow1-a.svg&#xD;arrow1 b=Costumes/arrow1-b.svg&#xD;arrow1 c=Costumes/arrow1-c.svg&#xD;arrow1 d=Costumes/arrow1-d.svg&#xD;avery a=Costumes/avery-a.svg&#xD;avery b=Costumes/avery-b.svg&#xD;avery walking a=Costumes/avery_walking-a.svg&#xD;avery walking b=Costumes/avery_walking-b.svg&#xD;avery walking c=Costumes/avery_walking-c.svg&#xD;avery walking d=Costumes/avery_walking-d.svg&#xD;AZ pop down=Costumes/AZ_pop_down.png&#xD;AZ pop front=Costumes/AZ_pop_front.png&#xD;AZ pop L arm=Costumes/AZ_pop_L_arm.png&#xD;AZ pop left=Costumes/AZ_pop_left.png&#xD;AZ pop R arm=Costumes/AZ_pop_R_arm.png&#xD;AZ pop right=Costumes/AZ_pop_right.png&#xD;AZ pop stand=Costumes/AZ_pop_stand.png&#xD;AZ stance=Costumes/AZ_stance.png&#xD;AZ top freeze=Costumes/AZ_top_freeze.png&#xD;AZ top L step=Costumes/AZ_top_L_step.png&#xD;AZ top R cross=Costumes/AZ_top_R_cross.png&#xD;AZ top R step=Costumes/AZ_top_R_step.png&#xD;AZ top stand=Costumes/AZ_top_stand.png&#xD;ball a=Costumes/ball-a.svg&#xD;ball b=Costumes/ball-b.svg&#xD;ball c=Costumes/ball-c.svg&#xD;ball d=Costumes/ball-d.svg&#xD;ball e=Costumes/ball-e.svg&#xD;ball soccer=Costumes/ball-soccer.svg&#xD;ballerina a=Costumes/ballerina-a.svg&#xD;ballerina b=Costumes/ballerina-b.svg&#xD;ballerina c=Costumes/ballerina-c.svg&#xD;ballerina d=Costumes/ballerina-d.svg&#xD;balloon1 a=Costumes/balloon1-a.svg&#xD;balloon1 b=Costumes/balloon1-b.svg&#xD;balloon1 c=Costumes/balloon1-c.svg&#xD;bananas=Costumes/bananas.svg&#xD;baseball=Costumes/baseball.svg&#xD;basketball=Costumes/basketball.svg&#xD;bass=Costumes/bass.svg&#xD;bat1 a=Costumes/bat1-a_.svg&#xD;bat1 b=Costumes/bat1-b_.svg&#xD;bat2 a=Costumes/bat2-a_.svg&#xD;bat2 b=Costumes/bat2-b_.svg&#xD;beachball=Costumes/beachball.svg&#xD;bear2 a=Costumes/bear2-a.svg&#xD;bear2 b=Costumes/bear2-b.svg&#xD;beetle=Costumes/beetle.svg&#xD;bell1=Costumes/bell1.svg&#xD;bells a=Costumes/bells-a.svg&#xD;bells b=Costumes/bells-b.svg&#xD;bowl a=Costumes/bowl-a.svg&#xD;bowtie a=Costumes/bowtie-a.svg&#xD;bowtie b=Costumes/bowtie-b.svg&#xD;boy1 standing=Costumes/boy1-standing.gif&#xD;boy1 walking=Costumes/boy1-walking.gif&#xD;boy2=Costumes/boy2.gif&#xD;boy3=Costumes/boy3.gif&#xD;building a=Costumes/building-a.svg&#xD;building b=Costumes/building-b.svg&#xD;building c=Costumes/building-c.svg&#xD;building d=Costumes/building-d.svg&#xD;building e=Costumes/building-e.svg&#xD;building f=Costumes/building-f.svg&#xD;building g=Costumes/building-g.svg&#xD;building h=Costumes/building-h.svg&#xD;building i=Costumes/building-i.svg&#xD;building j=Costumes/building-j.svg&#xD;bus=Costumes/bus.png&#xD;butterfly1 a=Costumes/butterfly1-a.svg&#xD;butterfly1 b=Costumes/butterfly1-b_.svg&#xD;butterfly2=Costumes/butterfly2_.svg&#xD;butterfly3=Costumes/butterfly3_.svg&#xD;button1=Costumes/button1.svg&#xD;button2 a=Costumes/button2-a.svg&#xD;button2 b=Costumes/button2-b.svg&#xD;button3 a=Costumes/button3-a.svg&#xD;button3 b=Costumes/button3-b.svg&#xD;button4 a=Costumes/button4-a.svg&#xD;button4 b=Costumes/button4-b.svg&#xD;button5 a=Costumes/button5-a.svg&#xD;button5 b=Costumes/button5-b.svg&#xD;cake a=Costumes/cake-a.svg&#xD;cake b=Costumes/cake-b.svg&#xD;calvrett jumping=Costumes/calvrett_jumping.png&#xD;calvrett thinking=Costumes/calvrett_thinking.png&#xD;candle1 a=Costumes/candle1-a.svg&#xD;candle1 b=Costumes/candle1-b.svg&#xD;candles1=Costumes/candles1.svg&#xD;candles2=Costumes/candles2.svg&#xD;car bug=Costumes/car-bug.png&#xD;cassy a=Costumes/cassy-a.png&#xD;cassy b=Costumes/cassy-b.png&#xD;cassy c=Costumes/cassy-c.png&#xD;cassy d=Costumes/cassy-d.png&#xD;cassy dance a=Costumes/cassy_dance-a.png&#xD;cassy dance b=Costumes/cassy_dance-b.png&#xD;cassy dance c=Costumes/cassy_dance-c.png&#xD;cassy dance d=Costumes/cassy_dance-d.png&#xD;cat2=Costumes/cat2.gif&#xD;cat2=Costumes/cat2.svg&#xD;cat3=Costumes/cat3.png&#xD;cat4=Costumes/cat4.png&#xD;cat5=Costumes/cat5.gif&#xD;catherine a=Costumes/catherine-a.png&#xD;catherine b=Costumes/catherine-b.png&#xD;catherine c=Costumes/catherine-c.png&#xD;catherine d=Costumes/catherine-d.png&#xD;champ99 a=Costumes/champ99-a.png&#xD;champ99 b=Costumes/champ99-b.png&#xD;champ99 c=Costumes/champ99-c.png&#xD;champ99 d=Costumes/champ99-d.png&#xD;champ99 e=Costumes/champ99-e.png&#xD;champ99 f=Costumes/champ99-f.png&#xD;champ99 g=Costumes/champ99-g.png&#xD;cheesy puffs=Costumes/cheesy-puffs.png&#xD;cloud=Costumes/cloud.svg&#xD;cloud a=Costumes/cloud-a.svg&#xD;cloud b=Costumes/cloud-b.svg&#xD;cloud c=Costumes/cloud-c.svg&#xD;cloud d=Costumes/cloud-d.svg&#xD;cm pop L arm=Costumes/cm_pop_L_arm.png&#xD;cm pop R arm=Costumes/cm_pop_R_arm.png&#xD;cm top L cross=Costumes/cm_top_L_cross.png&#xD;cm top L leg=Costumes/cm_top_L_leg.png&#xD;cm top R cross=Costumes/cm_top_R_cross.png&#xD;cm top R leg=Costumes/cm_top_R_leg.png&#xD;cm top ready=Costumes/cm_top_ready.png&#xD;cm top stand=Costumes/cm_top_stand.png&#xD;convertible1=Costumes/convertible1.png&#xD;convertible2=Costumes/convertible2.png&#xD;convertible3=Costumes/convertible3.svg&#xD;cowbell=Costumes/cowbell.svg&#xD;crab a=Costumes/crab-a.svg&#xD;crab b=Costumes/crab-b.svg&#xD;creature1 a=Costumes/creature1-a.svg&#xD;creature1 b=Costumes/creature1-b.svg&#xD;creature1 c=Costumes/creature1-c.svg&#xD;cymbal a=Costumes/cymbal-a.svg&#xD;cymbal b=Costumes/cymbal-b.svg&#xD;dan a=Costumes/dan-a.png&#xD;dan b=Costumes/dan-b.png&#xD;dani a=Costumes/dani-a.svg&#xD;dani b=Costumes/dani-b.svg&#xD;dani c=Costumes/dani-c.svg&#xD;dee a=Costumes/dee-a.svg&#xD;dee b=Costumes/dee-b.svg&#xD;dee c=Costumes/dee-c.svg&#xD;dee d=Costumes/dee-d.svg&#xD;dee e=Costumes/dee-e.svg&#xD;derec a=Costumes/derec01.png&#xD;derec b=Costumes/derec02.png&#xD;derec c=Costumes/derec03.png&#xD;derec d=Costumes/derec04.png&#xD;derec e=Costumes/derec05.png&#xD;derec f=Costumes/derec06.png&#xD;devin a=Costumes/devin-a.svg&#xD;devin b=Costumes/devin-b.svg&#xD;devin c=Costumes/devin-c.svg&#xD;devin d=Costumes/devin-d.svg&#xD;dinosaur1 a=Costumes/dinosaur1-a.svg&#xD;dinosaur1 b=Costumes/dinosaur1-b.svg&#xD;dinosaur1 c=Costumes/dinosaur1-c.svg&#xD;dinosaur1 d=Costumes/dinosaur1-d.svg&#xD;dinosaur1 e=Costumes/dinosaur1-e.svg&#xD;dinosaur1 f=Costumes/dinosaur1-f.svg&#xD;dinosaur1 g=Costumes/dinosaur1-g.svg&#xD;dinosaur2 a=Costumes/dinosaur2-a.svg&#xD;dinosaur2 b=Costumes/dinosaur2-b.svg&#xD;dinosaur3=Costumes/dinosaur3.svg&#xD;diver1=Costumes/diver1.svg&#xD;diver2=Costumes/diver2.svg&#xD;dm freeze=Costumes/dm_freeze.png&#xD;dm pop down=Costumes/dm_pop_down.png&#xD;dm pop front=Costumes/dm_pop_front.png&#xD;dm pop L arm=Costumes/dm_pop_L_arm.png&#xD;dm pop left=Costumes/dm_pop_left.png&#xD;dm pop R arm=Costumes/dm_pop_R_arm.png&#xD;dm pop right=Costumes/dm_pop_right.png&#xD;dm pop stand=Costumes/dm_pop_stand.png&#xD;dm stance=Costumes/dm_stance.svg&#xD;dm top L leg=Costumes/dm_top_L_leg.png&#xD;dm top R leg=Costumes/dm_top_R_leg.png&#xD;dm top stand=Costumes/dm_top_stand.png&#xD;dog puppy back=Costumes/dog_puppy_back.png&#xD;dog puppy right=Costumes/dog_puppy_right.png&#xD;dog puppy side=Costumes/dog_puppy_side.png&#xD;dog puppy sit=Costumes/dog_puppy_sit.png&#xD;dog1 a=Costumes/dog1-a.svg&#xD;dog1 b=Costumes/dog1-b.svg&#xD;dog2 a=Costumes/dog2-a.svg&#xD;dog2 b=Costumes/dog2-b.svg&#xD;dog2 c=Costumes/dog2-c.svg&#xD;donut=Costumes/donut.svg&#xD;dove1 a=Costumes/dove1-a.svg&#xD;dove1 b=Costumes/dove1-b.svg&#xD;dove2 a=Costumes/dove2-a.svg&#xD;dove2 b=Costumes/dove2-b.svg&#xD;dragon1 a=Costumes/dragon1-a.svg&#xD;dragon1 b=Costumes/dragon1-b.png&#xD;dragon1 b=Costumes/dragon1-b.svg&#xD;dragon2=Costumes/dragon2.gif&#xD;drum bass a=Costumes/drum_bass-a.svg&#xD;drum bass b=Costumes/drum_bass-b.svg&#xD;drum snare a=Costumes/drum_snare-a.svg&#xD;drum snare b=Costumes/drum_snare-b.svg&#xD;drum1 a=Costumes/drum1-a.svg&#xD;drum1 b=Costumes/drum1-b.svg&#xD;drum2 a=Costumes/drum2-a.svg&#xD;drum2 b=Costumes/drum2-b.svg&#xD;drums conga a=Costumes/drums_conga-a.svg&#xD;drums conga b=Costumes/drums_conga-b.svg&#xD;duck=Costumes/duck.svg&#xD;earth=Costumes/earth.svg&#xD;elephant a=Costumes/elephant-a_.svg&#xD;elephant b=Costumes/elephant-b_.svg&#xD;fire hydrant=Costumes/fire_hydrant.png&#xD;fish1=Costumes/fish1.svg&#xD;fish2=Costumes/fish2.svg&#xD;fish3=Costumes/fish3.svg&#xD;flower shape=Costumes/flower_shape.svg&#xD;football running=Costumes/football_running.png&#xD;football standing=Costumes/football_standing.png&#xD;fortunecookie=Costumes/fortunecookie.png&#xD;fox=Costumes/fox.svg&#xD;frog=Costumes/frog.svg&#xD;fruit platter=Costumes/fruit_platter.png&#xD;fruitsalad=Costumes/fruitsalad.svg&#xD;ghost1=Costumes/ghost1_.svg&#xD;ghost2 a=Costumes/ghost2-a.svg&#xD;ghost2 b=Costumes/ghost2-b.svg&#xD;ghoul a=Costumes/ghoul-a.svg&#xD;ghoul b=Costumes/ghoul-b.svg&#xD;gift a=Costumes/gift-a.svg&#xD;gift b=Costumes/gift-b.svg&#xD;girl1 standing=Costumes/girl1-standing.gif&#xD;girl1 walking=Costumes/girl1-walking.gif&#xD;girl2 shouting=Costumes/girl2-shouting.gif&#xD;girl2 standing=Costumes/girl2-standing.gif&#xD;girl3 basketball=Costumes/girl3-basketball.gif&#xD;girl3 running=Costumes/girl3-running.gif&#xD;girl3 standing=Costumes/girl3-standing.gif&#xD;glass water a=Costumes/glass_water-a.svg&#xD;glass water b=Costumes/glass_water-b.svg&#xD;glasses=Costumes/glasses.svg&#xD;green flag=Costumes/green_flag.svg&#xD;guitar=Costumes/guitar.svg&#xD;guitar bass=Costumes/guitar_bass.svg&#xD;guitar electric=Costumes/guitar_electric.svg&#xD;hannah a=Costumes/hannah-a.png&#xD;hannah b=Costumes/hannah-b.png&#xD;hannah c=Costumes/hannah-c.png&#xD;Hat=Costumes/Hat.svg&#xD;hat beanie=Costumes/hat_beanie.svg&#xD;hat party2 a=Costumes/hat_party2-a.svg&#xD;hat winter=Costumes/hat_winter.svg&#xD;hat wizard=Costumes/hat_wizard.svg&#xD;headband=Costumes/headband.svg&#xD;heart code=Costumes/heart_code.svg&#xD;heart face=Costumes/heart_face.svg&#xD;heart love it=Costumes/heart_love_it.svg&#xD;heart purple=Costumes/heart_purple.svg&#xD;heart red=Costumes/heart_red.svg&#xD;heart smile=Costumes/heart_smile.svg&#xD;heart sweet=Costumes/heart_sweet.svg&#xD;helicopter=Costumes/helicopter.png&#xD;hippo1 a=Costumes/hippo1-a.svg&#xD;hippo1 b=Costumes/hippo1-b.svg&#xD;holly1=Costumes/holly1.svg&#xD;holly2=Costumes/holly2.svg&#xD;home button=Costumes/home_button.svg&#xD;horse1 a=Costumes/horse1-a.svg&#xD;horse1 b=Costumes/horse1-b.svg&#xD;jahrd a=Costumes/jahrd01.png&#xD;jahrd b=Costumes/jahrd02.png&#xD;jahrd c=Costumes/jahrd03.png&#xD;jahrd d=Costumes/jahrd04.png&#xD;jahrd e=Costumes/jahrd05.png&#xD;jahrd f=Costumes/jahrd06.png&#xD;jaime a=Costumes/jaime-a.png&#xD;jaime b=Costumes/jaime-b.png&#xD;jaime walking a=Costumes/jaime_walking-a.png&#xD;jaime walking b=Costumes/jaime_walking-b.png&#xD;jaime walking c=Costumes/jaime_walking-c.png&#xD;jaime walking d=Costumes/jaime_walking-d.png&#xD;jaime walking e=Costumes/jaime_walking-e.png&#xD;jamet a=Costumes/jamet01.png&#xD;jamet b=Costumes/jamet02.png&#xD;jamet c=Costumes/jamet03.png&#xD;jamet d=Costumes/jamet04.png&#xD;jamet e=Costumes/jamet05.png&#xD;jamet f=Costumes/jamet06.png&#xD;jamet f&apos;s wall=Costumes/jamet06-wall.png&#xD;jay=Costumes/jay.gif&#xD;jeans a=Costumes/jeans-a.svg&#xD;jeans b=Costumes/jeans-b.svg&#xD;jo pop down=Costumes/jo_pop_down.png&#xD;jo pop front=Costumes/jo_pop_front.png&#xD;jo pop L arm=Costumes/jo_pop_L_arm.png&#xD;jo pop left=Costumes/jo_pop_left.png&#xD;jo pop R arm=Costumes/jo_pop_R_arm.png&#xD;jo pop right=Costumes/jo_pop_right.png&#xD;jo pop stand=Costumes/jo_pop_stand.png&#xD;jo stance=Costumes/jo_stance.png&#xD;jo top L cross=Costumes/jo_top_L_cross.png&#xD;jo top L leg=Costumes/jo_top_L_leg.png&#xD;jo top R cross=Costumes/jo_top_R_cross.png&#xD;jo top R leg=Costumes/jo_top_R_leg.png&#xD;jo top stand=Costumes/jo_top_stand.png&#xD;jodi=Costumes/jodi.gif&#xD;key=Costumes/key.svg&#xD;keyboard a=Costumes/keyboard-a.svg&#xD;keyboard b=Costumes/keyboard-b.svg&#xD;keyboard c=Costumes/keyboard-c.svg&#xD;keyboard d=Costumes/keyboard-d.svg&#xD;khalid a=Costumes/khalid-a.png&#xD;Khalid b=Costumes/Khalid-b.png&#xD;khalid c=Costumes/khalid-c.png&#xD;khalid d=Costumes/khalid-d.png&#xD;knight=Costumes/knight.svg&#xD;ladybug2=Costumes/ladybug2.svg&#xD;ladybug2 a=Costumes/ladybug2-a.svg&#xD;ladybug2 b=Costumes/ladybug2-b.svg&#xD;lamp=Costumes/lamp.png&#xD;laptop=Costumes/laptop.svg&#xD;lb pop down=Costumes/lb_pop_down.png&#xD;lb pop front=Costumes/lb_pop_front.png&#xD;lb pop L arm=Costumes/lb_pop_L_arm.png&#xD;lb pop left=Costumes/lb_pop_left.png&#xD;lb pop R arm=Costumes/lb_pop_R_arm.png&#xD;lb pop right=Costumes/lb_pop_right.png&#xD;lb pop stand=Costumes/lb_pop_stand.png&#xD;lb stance=Costumes/lb_stance.png&#xD;lb top L cross=Costumes/lb_top_L_cross.png&#xD;lb top L leg=Costumes/lb_top_L_leg.png&#xD;lb top R cross=Costumes/lb_top_R_cross.png&#xD;lb top R leg=Costumes/lb_top_R_leg.png&#xD;lb top stand=Costumes/lb_top_stand.png&#xD;lightning=Costumes/lightning.svg&#xD;lion a=Costumes/lion-a.svg&#xD;lion b=Costumes/lion-b.svg&#xD;lioness=Costumes/lioness.svg&#xD;lorenz01=Costumes/lorenz01.png&#xD;lorenz02=Costumes/lorenz02.png&#xD;lorenz03=Costumes/lorenz03.png&#xD;lorenz04=Costumes/lorenz04.png&#xD;lorenz05=Costumes/lorenz05.png&#xD;lorenz06=Costumes/lorenz06.png&#xD;lorenz07=Costumes/lorenz07.png&#xD;lorenz07b=Costumes/lorenz07b.png&#xD;magiccarpet=Costumes/magiccarpet.png&#xD;magicwand=Costumes/magicwand.svg&#xD;marble building=Costumes/marble-building.png&#xD;marissa=Costumes/marissa.gif&#xD;marissa crouching=Costumes/marissa-crouching.gif&#xD;marissa sitting=Costumes/marissa-sitting.gif&#xD;maya=Costumes/maya.png&#xD;microphone=Costumes/microphone.svg&#xD;microphonestand=Costumes/microphonestand.svg&#xD;monkey1 a=Costumes/monkey1-a.svg&#xD;monkey1 b=Costumes/monkey1-b.svg&#xD;monkey2 a=Costumes/monkey2-a.svg&#xD;monkey2 b=Costumes/monkey2-b.svg&#xD;monkey2 c=Costumes/monkey2-c.svg&#xD;mori=Costumes/mori.png&#xD;mouse1 a=Costumes/mouse1-a.svg&#xD;mouse1 b=Costumes/mouse1-b.svg&#xD;muffin a=Costumes/muffin-a.svg&#xD;muffin b=Costumes/muffin-b.svg&#xD;octopus a=Costumes/octopus-a.svg&#xD;octopus b=Costumes/octopus-b.svg&#xD;orange=Costumes/orange.svg&#xD;orange2 a=Costumes/orange2-a.svg&#xD;orange2 b=Costumes/orange2-b.svg&#xD;orange2 c=Costumes/orange2-c.svg&#xD;paddle=Costumes/paddle.svg&#xD;palmtree=Costumes/palmtree.gif&#xD;parrot a=Costumes/parrot-a.svg&#xD;parrot b=Costumes/parrot-b.svg&#xD;parrot2 a=Costumes/parrot2-a.svg&#xD;parrot2 b=Costumes/parrot2-b.svg&#xD;partyhat1=Costumes/partyhat1.svg&#xD;paul=Costumes/paul.gif&#xD;pencil a=Costumes/pencil-a.svg&#xD;pencil b=Costumes/pencil-b.svg&#xD;penguin1=Costumes/penguin1.svg&#xD;penguin1 talk a=Costumes/penguin1_talk-a.svg&#xD;penguin1 talk b=Costumes/penguin1_talk-b.svg&#xD;penguin2=Costumes/penguin2.svg&#xD;penguin2 talk a=Costumes/penguin2_talk-a.svg&#xD;penguin2 talk b=Costumes/penguin2_talk-b.svg&#xD;penguin3 a=Costumes/penguin3-a.svg&#xD;penguin3 b=Costumes/penguin3-b.svg&#xD;penguin3 c=Costumes/penguin3-c.svg&#xD;piano=Costumes/piano.svg&#xD;planet2=Costumes/planet2.svg&#xD;prince=Costumes/prince.svg&#xD;princess=Costumes/princess.svg&#xD;rainbow=Costumes/rainbow.svg&#xD;referee=Costumes/referee.gif&#xD;reindeer=Costumes/reindeer.svg&#xD;robot1=Costumes/robot1.svg&#xD;rocks=Costumes/rocks.svg&#xD;rory=Costumes/rory.png&#xD;ruby a=Costumes/ruby-a.png&#xD;ruby b=Costumes/ruby-b.png&#xD;sail boat=Costumes/sail-boat.png&#xD;sam=Costumes/sam.gif&#xD;saxophone a=Costumes/saxophone-a.svg&#xD;saxophone b=Costumes/saxophone-b.svg&#xD;scarf1=Costumes/scarf1.svg&#xD;scarf2=Costumes/scarf2.svg&#xD;shark a=Costumes/shark-a_.svg&#xD;shark b=Costumes/shark-b_.svg&#xD;shark c=Costumes/shark-c_.svg&#xD;shirt a=Costumes/shirt-a.svg&#xD;shirt b=Costumes/shirt-b.svg&#xD;shirt blouse=Costumes/shirt_blouse.svg&#xD;shirt collar a=Costumes/shirt_collar-a.svg&#xD;shirt collar b=Costumes/shirt_collar-b.svg&#xD;shirt collar c=Costumes/shirt_collar-c.svg&#xD;shirt2 a=Costumes/shirt2-a.svg&#xD;shirt2 a2=Costumes/shirt2-a2.svg&#xD;shoes1=Costumes/shoes1.svg&#xD;shoes2=Costumes/shoes2.svg&#xD;Singer1=Costumes/Singer1.svg&#xD;skates=Costumes/skates.svg&#xD;sl pop L arm=Costumes/sl_pop_L_arm.png&#xD;sl pop R arm=Costumes/sl_pop_R_arm.png&#xD;sl top L cross=Costumes/sl_top_L_cross.png&#xD;sl top L leg=Costumes/sl_top_L_leg.png&#xD;sl top R cross=Costumes/sl_top_R_cross.png&#xD;sl top R leg=Costumes/sl_top_R_leg.png&#xD;sl top ready=Costumes/sl_top_ready.png&#xD;sl top stand=Costumes/sl_top_stand.png&#xD;snowflake=Costumes/snowflake.svg&#xD;snowman=Costumes/snowman.svg&#xD;spaceship a=Costumes/spaceship-a.svg&#xD;spaceship b=Costumes/spaceship-b.svg&#xD;speaker=Costumes/speaker.svg&#xD;squirrel1=Costumes/squirrel1.png&#xD;star1=Costumes/star1.svg&#xD;star2=Costumes/star2.svg&#xD;star3 a=Costumes/star3-a.svg&#xD;star3 b=Costumes/star3-b.svg&#xD;starfish a=Costumes/starfish-a.svg&#xD;starfish b=Costumes/starfish-b_.svg&#xD;stop=Costumes/stop.svg&#xD;street cleaner mit=Costumes/street-cleaner-mit.png&#xD;sun=Costumes/sun.svg&#xD;sunglasses1=Costumes/sunglasses1.svg&#xD;sunglasses2=Costumes/sunglasses2.svg&#xD;tabla a=Costumes/tabla-a.svg&#xD;tabla b=Costumes/tabla-b.svg&#xD;taco a=Costumes/taco-a.svg&#xD;taco b=Costumes/taco-b.svg&#xD;Tad 1=Costumes/turtle01_colour.png&#xD;Tad 2=Costumes/turtle02_colour_resized.png&#xD;Tad 3=Costumes/turtle03.png&#xD;Tad 4=Costumes/turtle04.png&#xD;Tad 5=Costumes/turtle05.png&#xD;Tad 6=Costumes/turtle06.png&#xD;tennisball=Costumes/tennisball.png&#xD;trampoline=Costumes/trampoline.png&#xD;tree lights a=Costumes/tree-lights-a.svg&#xD;tree lights b=Costumes/tree-lights-b.svg&#xD;tree1=Costumes/tree1.svg&#xD;tree2=Costumes/tree2.svg&#xD;trees a=Costumes/trees-a.svg&#xD;trees b=Costumes/trees-b.svg&#xD;trombone a=Costumes/trombone-a.svg&#xD;trombone b=Costumes/trombone-b.svg&#xD;trumpet a=Costumes/trumpet-a.svg&#xD;trumpet a2=Costumes/trumpet-a2.svg&#xD;ukulele=Costumes/ukulele.svg&#xD;umbrella=Costumes/umbrella.png&#xD;unicorn=Costumes/unicorn.svg&#xD;unicorn1=Costumes/unicorn1.png&#xD;vest a=Costumes/vest-a.svg&#xD;vest b=Costumes/vest-b.svg&#xD;wanda=Costumes/wanda.svg&#xD;watermelon a=Costumes/watermelon-a.svg&#xD;watermelon b=Costumes/watermelon-b.svg&#xD;watermelon c=Costumes/watermelon-c.svg&#xD;witch=Costumes/witch.svg&#xD;wizard=Costumes/wizard.svg&#xD;wizard1=Costumes/wizard1.svg&#xD;wizard2=Costumes/wizard2.svg</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>cst_load(url)</l><list><block var="url"/></list></block></block></script></block-definition><block-definition s="window %&apos;which&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">title<options>url=href&#xD;hash&#xD;title&#xD;origin</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>if (which == &apos;title&apos;)&#xD;return document.title;&#xD;return location[which] || &apos;&apos;;</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set window %&apos;which&apos; to %&apos;data&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">title<options>title&#xD;location</options></input><input type="%s">Snap!</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>data</l></list><l>switch (which) {&#xD;case &apos;title&apos;:&#xD;document.title = data;&#xD;break;&#xD;case &apos;location&apos;:&#xD;location.href = data;&#xD;break;&#xD;}</l></block><list><block var="which"/><block var="data"/></list></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="inform %&apos;body&apos; titled %&apos;title&apos;" type="command" category="sensing"><comment x="0" y="0" w="90" collapsed="false">These blocks are obsolete, use the CUSTOM DIALOG block instead.</comment><header></header><code></code><translations></translations><inputs><input type="%s">This is some content!</input><input type="%s">!</input></inputs><script><custom-block s="let %upvar be %s"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list><l>body</l><l>title</l></list><l>var dialog = new DialogBoxMorph(),&#xD;    isDone = false;&#xD;dialog.destroy = function() {&#xD;    isDone = true;&#xD;    var world = this.world();&#xD;    world.keyboardFocus = null;&#xD;    world.hand.destroyTemporaries();&#xD;    DialogBoxMorph.uber.destroy.call(this);&#xD;}&#xD;dialog.inform(title, body, this.world());&#xD;return () =&gt; (isDone);</l></block><list><block var="body"/><block var="title"/></list></block></custom-block><block s="doWaitUntil"><block s="evaluate"><block var="test"/><list></list></block></block></script></block-definition><block-definition s="send %&apos;data&apos; to clipboard" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>textInput</l></list><l>navigator.clipboard.writeText(textInput);</l></block><list><block var="data"/></list></block></script></block-definition><block-definition s="confirm %&apos;body&apos; titled %&apos;title&apos;" type="predicate" category="sensing"><comment x="0" y="0" w="90" collapsed="false">These blocks are obsolete, use the CUSTOM DIALOG block instead.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Are you sure?</input><input type="%s">?</input></inputs><script><custom-block s="let %upvar be %s"><l>accessors</l><block s="evaluate"><block s="reportJSFunction"><list><l>body</l><l>title</l></list><l>var dialog = new DialogBoxMorph(),&#xD;    isDone = false,&#xD;    result = false;&#xD;dialog.destroy = function() {&#xD;    isDone = true;&#xD;    result = this.buttons.children[0].userState &#xD;    != &apos;normal&apos;;&#xD;    var world = this.world();&#xD;    world.keyboardFocus = null;&#xD;    world.hand.destroyTemporaries();&#xD;    DialogBoxMorph.uber.destroy.call(this);&#xD;}&#xD;dialog.askYesNo(title, body, this.world());&#xD;return new List([() =&gt; isDone, () =&gt; result]);</l></block><list><block var="body"/><block var="title"/></list></block></custom-block><block s="doWaitUntil"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="accessors"/></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>2</l><block var="accessors"/></block><list></list></block></block></script></block-definition><block-definition s="prompt %&apos;title&apos; default %&apos;default&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="90" collapsed="false">These blocks are obsolete, use the EDIT BOX block instead.</comment><header></header><code></code><translations></translations><inputs><input type="%s">What&apos;s your name?</input><input type="%s">John Doe</input></inputs><script><custom-block s="let %upvar be %s"><l>accessors</l><block s="evaluate"><block s="reportJSFunction"><list><l>origin</l><l>title</l></list><l>var dialog = new DialogBoxMorph(),&#xD;    isDone = false,&#xD;    result = false;&#xD;dialog.destroy = function () {&#xD;    isDone = true;&#xD;    result = this.buttons.children[1].userState&#xD;    == &apos;highlight&apos;? false:this.getInput();&#xD;    var world = this.world();&#xD;    world.keyboardFocus = null;&#xD;    world.hand.destroyTemporaries();&#xD;    DialogBoxMorph.uber.destroy.call(this);&#xD;}&#xD;dialog.prompt(title, origin, this.world());&#xD;return new List([() =&gt; isDone, () =&gt; result]);</l></block><list><block var="default"/><block var="title"/></list></block></custom-block><block s="doWaitUntil"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="accessors"/></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>2</l><block var="accessors"/></block><list></list></block></block></script></block-definition><block-definition s="%&apos;which&apos; string %&apos;string&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">uppercase<options>uppercase&#xD;lowercase&#xD;titlecase&#xD;capitalize</options></input><input type="%s">Pink girl</input></inputs><script><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s string %s"><block var="which"/><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>lowercase</l></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>txt_lowercase(txt)</l><list><block var="string"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>uppercase</l></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>capitalize</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><custom-block s="%s string %s"><l>uppercase</l><block s="reportLetter"><l>1</l><block var="data"/></block></custom-block><l></l></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>line capitalize</l></list></block><script><block s="doReport"><custom-block s="combine %l with delimiter %s"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s string %s"><l>capitalize</l><l></l></custom-block></autolambda><list></list></block><block s="reportTextSplit"><block var="data"/><l><option>line</option></l></block></block><block s="reportUnicodeAsLetter"><l>10</l></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>full capitalize</l></list></block><script><block s="doReport"><custom-block s="%s string %s"><l>line capitalize</l><custom-block s="combine %l with delimiter %s"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s string %s"><l>capitalize</l><l></l></custom-block></autolambda><list></list></block><block s="reportTextSplit"><block var="data"/><l> </l></block></block><l> </l></custom-block></custom-block></block></script><list></list></block><block s="doReport"><block var="data"/></block></script><scripts><script x="213.06621093749993" y="205"><block var="string"/></script><script x="255" y="203.53333333333327"><block s="reportUnicodeAsLetter"><block s="reportDifference"><block s="reportUnicode"><l>hello</l></block><l>32</l></block></block></script></scripts></block-definition><block-definition s="all but %&apos;fl&apos; %&apos;which&apos; of %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">first<options>first&#xD;last</options></input><input type="%s" readonly="true">letter<options>letter&#xD;word</options></input><input type="%s">world</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="fl"/><l>first</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>word</l></list></block><script><block s="doReport"><custom-block s="combine %l with delimiter %s"><block s="reportCDR"><block s="reportTextSplit"><block var="data"/><block var="which"/></block></block><l> </l></custom-block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportCDR"><block s="reportTextSplit"><block var="data"/><block var="which"/></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="fl"/><l>last</l></list></block><script><block s="doDeclareVariables"><list><l>res</l></list></block><block s="doSetVar"><l>res</l><block s="reportNewList"><list></list></block></block><block s="doDeleteFromList"><custom-block s="last letter of %txt"><block var="res"/></custom-block><block var="res"/></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>word</l></list></block><script><block s="doReport"><custom-block s="combine %l with delimiter %s"><block var="res"/><l> </l></custom-block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block var="res"/></list></block></block></script><list></list></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="combine %&apos;data&apos; with delimiter %&apos;delim&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s">,</input></inputs><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="delim"/><l></l></list></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="is %&apos;string&apos; %&apos;which&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">PINK GIRL</input><input type="%s" readonly="true">uppercased<options>uppercased&#xD;lowercased&#xD;capitalized&#xD;line capitalized&#xD;full capitalized</options></input></inputs><script><block s="doReport"><block s="reportVariadicIsIdentical"><list><block var="string"/><custom-block s="%s string %s"><custom-block s="all but %s %s of %s"><l>last</l><l>letter</l><block var="which"/></custom-block><block var="string"/></custom-block></list></block></block></script></block-definition><block-definition s="latin %&apos;latin&apos; as number" type="reporter" category="operators"><comment x="0" y="0" w="211" collapsed="false">Returns the roman number as actual number&#xD;e.g.&#xD;IV = 4&#xD;XL = 40&#xD;CD = 400&#xD;CLM = 1050&#xD;MMMM = 4000</comment><header></header><code></code><translations>el:λατίνα _ ως νούμερο&#xD;de:Latein _ als zahl&#xD;</translations><inputs><input type="%s">MDCLXVI</input></inputs><script><block s="doIf"><block s="reportVariadicAnd"><list><custom-block s="setting %s"><l>hyper blocks support</l></custom-block><block s="reportIsA"><block var="latin"/><l><option>list</option></l></block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="latin %s as number"><l></l></custom-block></autolambda><list></list></block><block var="latin"/></block></block></script><list></list></block><block s="doIf"><block s="reportListContainsItem"><block s="reportMap"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block s="reportNewList"><list><l>I</l><l>V</l><l>X</l><l>L</l><l>C</l><l>D</l><l>M</l></list></block><l></l></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="latin"/><l><option>letter</option></l></block></block><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><custom-block s="throw %s %s"><l>Error</l><block s="reportJoinWords"><list><l>Invalid latin symbol </l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block s="reportNewList"><list><l>I</l><l>V</l><l>X</l><l>L</l><l>C</l><l>D</l><l>M</l></list></block><l></l></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="latin"/><l><option>letter</option></l></block></block></list></block></custom-block></script><list></list></block><block s="doReport"><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><block s="reportCDR"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="each pair"/></block><block var="each letter"/></list></block></autolambda><list><l>each pair</l></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>I</l><l>1</l></list></block><block s="reportNewList"><list><l>V</l><l>5</l></list></block><block s="reportNewList"><list><l>X</l><l>10</l></list></block><block s="reportNewList"><list><l>L</l><l>50</l></list></block><block s="reportNewList"><list><l>C</l><l>100</l></list></block><block s="reportNewList"><list><l>D</l><l>500</l></list></block><block s="reportNewList"><list><l>M</l><l>1000</l></list></block></list></block></block></block></block></autolambda><list><l>each letter</l></list></block><block s="reportTextSplit"><block var="latin"/><l><option>letter</option></l></block></block><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="#1"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="list"/></block></list></block><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="list"/></block><block var="#1"/></block><block s="reportDifference"><block var="#2"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="list"/></block></block></list></block><block s="reportVariadicSum"><list><block var="#1"/><block var="#2"/></list></block></block></autolambda><list><l>#1</l><l>#2</l><l>index</l><l>list</l></list></block></block></block></script></block-definition><block-definition s="number %&apos;number&apos; as latin" type="reporter" category="operators"><comment x="0" y="0" w="318" collapsed="false">Returns the actual number as roman number, Can be slow for large operations.&#xD;e.g.&#xD;4 = IV&#xD;40 = XL&#xD;400 = CD&#xD;1050 = CLM&#xD;4000 = MMMM</comment><header></header><code></code><translations>el:νούμερο _ ως λατίνα&#xD;de:Zahl _ als Latein&#xD;</translations><inputs><input type="%n">1666</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><custom-block s="setting %s"><l>hyper blocks support</l></custom-block><block s="reportIsA"><block var="number"/><l><option>list</option></l></block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="number %n as latin"><l></l></custom-block></autolambda><list></list></block><block var="number"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="number"/><l>0</l></list></block><script><custom-block s="throw %s %s"><l>Error</l><l>Cannot get latin for negative numbers</l></custom-block></script><list></list></block><block s="doDeclareVariables"><list><l>symbols</l><l>output</l></list></block><block s="doSetVar"><l>symbols</l><block s="reportNewList"><list><block s="reportNewList"><list><l>I</l><l>1</l></list></block><block s="reportNewList"><list><l>V</l><l>5</l></list></block><block s="reportNewList"><list><l>X</l><l>10</l></list></block><block s="reportNewList"><list><l>L</l><l>50</l></list></block><block s="reportNewList"><list><l>C</l><l>100</l></list></block><block s="reportNewList"><list><l>D</l><l>500</l></list></block><block s="reportNewList"><list><l>M</l><l>1000</l></list></block><block s="reportNewList"><list><l>M̅</l><l>1000000</l></list></block></list></block></block><block s="doSetVar"><l>output</l><l></l></block><block s="doUntil"><block s="reportVariadicEquals"><list><block var="number"/><l>0</l></list></block><script><block s="doDeclareVariables"><list><l>symbol</l><l>higher</l></list></block><block s="doSetVar"><l>symbol</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="symbols"/></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="value"/></block><block var="number"/></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="symbols"/></block></block><block var="number"/></list></block></list></block></list></block></autolambda><list><l>value</l><l>index</l></list></block><block var="symbols"/></block></block><block s="doSetVar"><l>higher</l><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportListIndex"><block var="symbol"/><block var="symbols"/></block><l>1</l></list></block><block var="symbols"/></block></block><block s="doIf"><block var="higher"/><script><block s="doFor"><l>i</l><l>1</l><block s="reportListIndex"><block var="symbol"/><block var="symbols"/></block><script><block s="doIf"><block var="higher"/><script><block s="doDeclareVariables"><list><l>sn</l><l>hn</l></list></block><block s="doSetVar"><l>sn</l><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="symbols"/></block></block></block><block s="doSetVar"><l>hn</l><block s="reportListItem"><l>2</l><block var="higher"/></block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicNotEquals"><list><block s="reportDifference"><block var="hn"/><block var="sn"/></block><block var="sn"/></list></block><block s="reportVariadicEquals"><list><block s="reportDifference"><block var="hn"/><block var="sn"/></block><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="number"/><block var="sn"/></block></block><block var="sn"/></list></block></list></block></list></block><script><block s="doSetVar"><l>output</l><block s="reportJoinWords"><list><block var="output"/><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="symbols"/></block></block><block s="reportListItem"><l>1</l><block var="higher"/></block></list></block></block><block s="doChangeVar"><l>number</l><block s="reportDifference"><l></l><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="number"/><block var="sn"/></block></block><block var="sn"/></list></block></block></block><block s="doSetVar"><l>higher</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="symbols"/></block><l>1</l></list></block></block></script><list></list></block></script><list></list></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="higher"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><script><block s="doSetVar"><l>output</l><block s="reportJoinWords"><list><block var="output"/><block s="reportListItem"><l>1</l><block var="symbol"/></block></list></block></block><block s="doChangeVar"><l>number</l><block s="reportDifference"><l></l><block s="reportListItem"><l>2</l><block var="symbol"/></block></block></block></script><list></list></block></script></block><block s="doReport"><block var="output"/></block></script></block></script></block-definition><block-definition s="%&apos;first&apos; $- %&apos;option&apos; $- %&apos;second&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">raincoat</input><input type="%s" readonly="true">contains<options>contains&#xD;starts with&#xD;ends with</options></input><input type="%s">coat</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="option"/><l>contains</l></list></block><script><block s="doReport"><block s="reportVariadicNotEquals"><list><block s="reportJoinWords"><block s="reportTextSplit"><block var="first"/><block var="second"/></block></block><block var="first"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="option"/><l>starts with</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="letters %n - %n of %txt"><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="second"/></block><block var="first"/></custom-block><block var="second"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="option"/><l>ends with</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="reverse string %s"><custom-block s="letters %n - %n of %txt"><block s="reportTextAttribute"><l><option>length</option></l><block var="first"/></block><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportTextAttribute"><l><option>length</option></l><block var="first"/></block><block s="reportTextAttribute"><l><option>length</option></l><block var="second"/></block></block><l>1</l></list></block><block var="first"/></custom-block></custom-block><block var="second"/></list></block></block></script><list></list></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="letters %&apos;a&apos; - %&apos;b&apos; of %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">3</input><input type="%txt">world</input></inputs><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="text"/><l><option>list</option></l></block><custom-block s="setting %s"><l>hyper blocks support</l></custom-block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="letters %n - %n of %txt"><block var="a"/><block var="b"/><l></l></custom-block></autolambda><list></list></block><block var="text"/></block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportLetter"><block s="reportNumbers"><block var="a"/><block var="b"/></block><block var="text"/></block></list></block></block></script></block-definition><block-definition s="reverse string %&apos;string&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">world</input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><block var="string"/><l><option>letter</option></l></block></block></list></block></block></script></block-definition><block-definition s="scramble string %&apos;str&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">world</input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportTextSplit"><block var="str"/><l><option>letter</option></l></block><block s="reifyReporter"><autolambda><block s="reportIfElse"><custom-block s="%n % chance true"><l>50</l></custom-block><block s="reportJoinWords"><list><block var="#2"/><block var="#1"/></list></block><block s="reportJoinWords"><list><block var="#1"/><block var="#2"/></list></block></block></autolambda><list><l>#1</l><l>#2</l></list></block></block></block></script></block-definition><block-definition s="%&apos;c&apos; % chance true" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">50</input></inputs><script><block s="doReport"><block s="reportVariadicLessThanOrEquals"><list><block s="reportRandom"><l>1</l><l>100</l></block><block var="c"/></list></block></block></script></block-definition><block-definition s="shuffle %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doSetVar"><l>data</l><l></l></block><block s="doWarp"><script><custom-block s="for %upvar %upvar in %l %ca"><l>index</l><l>value</l><block var="data"/><script><block s="doIf"><block s="reportVariadicAnd"><list><custom-block s="%n % chance true"><l>50</l></custom-block><block s="reportNot"><block s="reportVariadicEquals"><list><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></block></list></block><script><block s="doRun"><block s="reifyScript"><script><block s="doReplaceInList"><block var="index"/><block var="data"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="data"/></block></block><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="data"/><block var="x"/></block></script><list><l>x</l></list></block><list><block var="value"/></list></block></script><list></list></block></script></custom-block></script></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="write %&apos;text&apos; size %&apos;size&apos; with wrapping $nl font %&apos;font&apos; css properties %&apos;properties&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%mlt">Hello!&#xD;How are you?&#xD;Are you okay?</input><input type="%n">12</input><input type="%s">monospace<options>monospace&#xD;&#126;1&#xD;sans-serif&#xD;serif&#xD;cursive&#xD;fantasy&#xD;&#126;2&#xD;wingdings&#xD;webdings</options></input><input type="%mult%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>x-origin</l><l>newline</l><l>pen</l><l>index</l><l>css</l></list></block><block s="doSetVar"><l>x-origin</l><block s="xPosition"></block></block><block s="doSetVar"><l>css</l><block s="reportJoinWords"><list><block s="reportCombine"><block var="properties"/><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l> </l><block var="size"/></list></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="font"/><l>monospace</l></list></block><script><block s="doSetVar"><l>css</l><block s="reportJoinWords"><list><block var="css"/><l>px </l><block var="font"/><l>, </l></list></block></block></script><list></list></block><block s="doSetVar"><l>newline</l><block s="reifyScript"><script><block s="doSetVar"><l>pen</l><block s="getPenDown"></block></block><block s="up"></block><block s="setXPosition"><block var="x-origin"/></block><block s="turn"><l>90</l></block><block s="forward"><block var="size"/></block><block s="turnLeft"><l>90</l></block><block s="doIfElse"><block var="pen"/><script><block s="down"></block></script><script><block s="up"></block></script></block></script><list><l>x</l></list></block></block><block s="doSetVar"><l>text</l><block s="reportTextSplit"><block var="text"/><l><option>line</option></l></block></block><block s="doForEach"><l>line</l><block var="text"/><script><block s="doChangeVar"><l>index</l><l>1</l></block><block s="write"><block var="line"/><block var="css"/></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block></list></block><script><block s="doRun"><block var="newline"/><list><block var="index"/></list></block></script><list></list></block></script></block></script></block></script></block-definition><block-definition s="for %&apos;index&apos; %&apos;value&apos; in %&apos;data&apos; %&apos;function&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>item</l><block var="data"/><script><block s="doSetVar"><l>value</l><block var="item"/></block><block s="doChangeVar"><l>index</l><l>1</l></block><block s="doRun"><block var="function"/><list></list></block></script></block></script></block-definition><block-definition s="all %&apos;which&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="227.9876302083336" collapsed="false">Sprites: All the sprites (not including the stage).&#xD;Clones: Every clone from every sprite.&#xD;Objects: Both sprites and clones.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">sprites<options>sprites&#xD;clones&#xD;objects</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>sprites</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportObject"><l><option>myself</option></l></block><block s="reportGet"><l><option>stage</option></l></block></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportAskFor"><l></l><block s="reifyReporter"><autolambda><custom-block s="am I a clone?"></custom-block></autolambda><list></list></block><list></list></block></block></autolambda><list></list></block><block s="reportGet"><l><option>other sprites</option></l></block></block></block></script><list></list></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportAskFor"><l></l><block s="reifyReporter"><autolambda><custom-block s="am I a clone?"></custom-block></autolambda><list></list></block><list></list></block></block></autolambda><list></list></block><block s="reportCONS"><block s="reportObject"><l><option>myself</option></l></block><block s="reportGet"><l><option>other sprites</option></l></block></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>clones</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAskFor"><l></l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block></autolambda><list></list></block><custom-block s="all %s"><l>sprites</l></custom-block></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>objects</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><custom-block s="all %s"><l>sprites</l></custom-block><custom-block s="all %s"><l>clones</l></custom-block></list></block></block></script><list></list></block><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block-definition><block-definition s="am I a clone?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIsA"><block s="reportGet"><l><option>parent</option></l></block><l><option>sprite</option></l></block></block></script></block-definition><block-definition s="pos %&apos;n&apos; in %&apos;small&apos; - %&apos;large&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">11</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doReport"><custom-block s="%s %s %s"><block var="small"/><l>max</l><custom-block s="%s %s %s"><block var="n"/><l>min</l><block var="large"/></custom-block></custom-block></block></script></block-definition><block-definition s="%&apos;a&apos; %&apos;which&apos; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">min<options>min&#xD;max</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l>max</l></list></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="a"/><block var="b"/></list></block><block var="a"/><block var="b"/></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="a"/><block var="b"/></list></block><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="indices of %&apos;small&apos; in text %&apos;large&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">o</input><input type="%txt">hello world</input></inputs><script><block s="doDeclareVariables"><list><l>total</l></list></block><block s="doReport"><custom-block s="all but last of %l"><block s="reportMap"><block s="reifyScript"><script><block s="doChangeVar"><l>total</l><block s="reportVariadicSum"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="x"/></block><l>1</l></list></block></block><block s="doReport"><block var="total"/></block></script><list><l>x</l></list></block><block s="reportTextSplit"><block var="large"/><block var="small"/></block></block></custom-block></block></script></block-definition><block-definition s="all but %&apos;n&apos; of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1&#xD;last&#xD;random</options></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="n"/><l>random</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></script><list></list></block><block s="doSetVar"><l>data</l><l></l></block><block s="doDeleteFromList"><block var="n"/><block s="reportNewList"><list><block var="data"/></list></block></block><block s="doReport"><block var="data"/></block></script></block-definition><block-definition s="pause %&apos;which&apos; $pause-1-255-220-0" type="command" category="control"><comment x="0" y="0" w="98" collapsed="false">Pause a selected range of processes.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">all<options>all&#xD;this script&#xD;all but this script</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l>this script</l></list></block><script><block s="doRun"><block s="reportJSFunction"><list><l>proc</l></list><l>proc.isPaused = true;</l></block><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l>all but this script</l></list></block><script><block s="doRun"><block s="reportJSFunction"><list><l>x</l></list><l>var procs = world.children[0].stage.threads.processes;&#xD;if (procs.length &lt; 1) return;&#xD;x.pauseShieldFlag = null;&#xD;procs.forEach(&#xD;function (proc) {&#xD;if (!("pauseShieldFlag" in proc)){&#xD;proc.pause();&#xD;}})&#xD;delete x.pauseShieldFlag;</l></block><list></list></block></script><script><block s="doPauseAll"></block></script></block></script></block></script></block-definition><block-definition s="unpause all $stepForward-1.1-255-220-0" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Unpause each paused process.</comment><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;})&#xD;world.children[0].controlBar.pauseButton.refresh();</l></block><list></list></block></script></block-definition><block-definition s="$flash indices of %&apos;item&apos; in %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s">thing</input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><l></l><block s="reportMonadic"><l><option>sqrt</option></l><l>577</l></block></list></block></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="x"/><block var="item"/></list></block><block var="y"/><block s="reportMonadic"><l><option>sqrt</option></l><l>577</l></block></block></autolambda><list><l>x</l><l>y</l></list></block><block var="data"/></block></block></block></script></block-definition><block-definition s="index of %&apos;small&apos; in text %&apos;large&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">a</input><input type="%s">cat</input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="large"/><block var="small"/></block></block></block><l>1</l></list></block></block></script></block-definition><block-definition s="directory item %&apos;indices&apos; of %&apos;array&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="indices"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="indices"/></block><block var="array"/></block></block></script><script><block s="doReport"><custom-block s="directory item %l of %l"><block s="reportCDR"><block var="indices"/></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="indices"/></block><block var="array"/></block></custom-block></block></script></block></script></block-definition><block-definition s="constant %&apos;which&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">pi<options>e&#xD;pi&#xD;phi&#xD;weekdays&#xD;months&#xD;latin alphabet</options></input></inputs><script><block s="doReport"><block s="reportListItem"><block s="reportListIndex"><block var="which"/><block s="reportNewList"><list><l>pi</l><l>phi</l><l>e</l><l>weekdays</l><l>months</l><l>latin alphabet</l></list></block></block><block s="reportNewList"><list><l>3.14159265358</l><l>1.61803398875</l><l>2.71828182845</l><block s="reportNewList"><list><l>Sunday</l><l>Monday</l><l>Tuesday</l><l>Wednesday</l><l>Thursday</l><l>Friday</l><l>Saturday</l></list></block><block s="reportNewList"><list><l>January</l><l>February</l><l>March</l><l>April</l><l>May</l><l>June</l><l>July</l><l>August</l><l>September</l><l>October</l><l>November</l><l>December</l></list></block><l></l></list></block></block></block></script></block-definition><block-definition s="$camera snap" type="reporter" category="sensing"><comment x="0" y="0" w="216" collapsed="false">takes a snapshot with the webcam and reports it as a new costume, or zero if the user cancels</comment><header></header><code></code><translations>pt:$camera a imagem actual do vídeo&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>accessors</l></list></block><block s="doSetVar"><l>accessors</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var camDialog,&#xD;    result = false;&#xD;&#xD;camDialog = new CamSnapshotDialogMorph(&#xD;    this.parentThatIsA(IDE_Morph),&#xD;    this,&#xD;    function () {result = null; },&#xD;    function (costume) {&#xD;        result = costume;&#xD;        this.close();&#xD;    }&#xD;);&#xD;&#xD;camDialog.key = &apos;camera&apos;;&#xD;camDialog.popUp(this.world());&#xD;return new List([() =&gt; (!(result == false)), () =&gt; (result||0)]);</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="accessors"/></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>2</l><block var="accessors"/></block><list></list></block></block></script></block-definition><block-definition s="$circleSolid-1-255-0-0 record" type="reporter" category="sensing"><comment x="0" y="0" w="192" collapsed="false">records an audio snippet and reports it as a new sound, or zero if the user cancels</comment><header></header><code></code><translations>pt:$circleSolid-1-255-0-0 uma nova gravação&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>accessors</l></list></block><block s="doSetVar"><l>accessors</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var soundRecorder,&#xD;    result = false;&#xD;&#xD;soundRecorder = new SoundRecorderDialogMorph(&#xD;    function (audio) {&#xD;        if (audio) {&#xD;            result = new Sound(audio, &apos;recording&apos;);&#xD;        } else {&#xD;            result = null;&#xD;            this.destroy();&#xD;        }&#xD;    }&#xD;);&#xD;&#xD;soundRecorder.cancel = function () {&#xD;    result = null;&#xD;    this.destroy();&#xD;};&#xD;&#xD;soundRecorder.key = &apos;microphone&apos;;&#xD;soundRecorder.popUp(this.world());&#xD;return new List([() =&gt; (!(result == false)), () =&gt; (result||0)]);</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="accessors"/></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>2</l><block var="accessors"/></block><list></list></block></block></script></block-definition><block-definition s="deep map %&apos;function&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><custom-block s="deep map %repRing over %l"><block var="function"/><l/></custom-block><block s="evaluate"><block var="function"/><list><l></l></list></block></block></autolambda><list></list></block><block var="data"/></block></block></script></block-definition><block-definition s="replace all %&apos;find&apos; in %&apos;text&apos; with %&apos;replace&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">apples</input><input type="%txt">I like apples</input><input type="%s">bananas</input></inputs><script><block s="doReport"><custom-block s="combine %l with delimiter %s"><block s="reportTextSplit"><block var="text"/><block var="find"/></block><block var="replace"/></custom-block></block></script></block-definition><block-definition s="remove all %&apos;thing&apos; in %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">a</input><input type="%s">steam</input></inputs><script><block s="doReport"><custom-block s="replace all %s in %txt with %s"><block var="thing"/><block var="text"/><l></l></custom-block></block></script></block-definition><block-definition s="reverse sound %&apos;snd&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_soundsMenu</options></input></inputs><script><block s="doReport"><block s="reportNewSoundFromSamples"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="s"/></block><l><option>list</option></l></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l><option>reverse</option></l><l/></block></autolambda><list></list></block><block var="s"/></block><block s="reportListAttribute"><l><option>reverse</option></l><block var="s"/></block></block></autolambda><list><l>s</l></list></block><list><block s="reportGetSoundAttribute"><l><option>samples</option></l><block var="snd"/></block></list></block><block s="reportGetSoundAttribute"><l><option>sample rate</option></l><block var="snd"/></block></block></block></script></block-definition><block-definition s="sound from url %&apos;url&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s">Sounds/Chord.wav<options>function () {&#xD;var obj = {};&#xD;world.children[0].getMediaList(&apos;Sounds&apos;).forEach(audio =&gt; {&#xD;obj[audio.name] = &apos;Sounds/&apos; + audio.fileName;&#xD;})&#xD;return obj;&#xD;}</options></input></inputs><script><custom-block s="let %upvar be %s"><l>sound</l><block s="evaluate"><block s="reportJSFunction"><list><l>src</l></list><l>var audio = new Audio(src),&#xD;    sound = null;&#xD;audio.addEventListener(&apos;loadeddata&apos;, () =&gt; {&#xD; sound = new Sound(audio);&#xD;})&#xD;return () =&gt; sound;</l></block><list><block var="url"/></list></block></custom-block><block s="doWaitUntil"><block s="evaluate"><block var="sound"/><list></list></block></block><block s="doReport"><block s="evaluate"><block var="sound"/><list></list></block></block></script></block-definition><block-definition s="let %&apos;var&apos; be %&apos;val&apos;" type="command" category="other"><comment x="0" y="0" w="183.33333333333334" collapsed="false">LET (FOO) BE (5)&#xD;is equivalent to&#xD;SCRIPT VARIABLES (FOO)&#xD;SET (FOO) TO (5)</comment><header></header><code></code><translations>pt:cria a variável de guião _ com valor _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>var</l><block var="val"/></block></script></block-definition><block-definition s="matrix %&apos;rows&apos; × %&apos;cols&apos; with: %&apos;fill&apos;" type="reporter" category="lists"><comment x="0" y="0" w="178.10225497159078" collapsed="false">Improved block from @wunder_wulfe using reshape and with italic dropdown option</comment><header></header><code></code><translations></translations><inputs><input type="%n">4</input><input type="%n">3</input><input type="%n">0<options>identity</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="fill"/><l>identity</l></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportMap"><block s="reifyPredicate"><autolambda><block s="reportDifference"><block s="reportVariadicEquals"><list><block var="x"/><block var="y"/></list></block><l>0</l></block></autolambda><list><l>x</l></list></block><block s="reportNumbers"><l>1</l><block var="cols"/></block></block></autolambda><list><l>y</l></list></block><block s="reportNumbers"><l>1</l><block var="rows"/></block></block></block></script><list></list></block><block s="doReport"><block s="reportReshape"><block var="fill"/><list><block var="rows"/><block var="cols"/></list></block></block></script></block-definition><block-definition s="clipboard %&apos;which&apos;" type="reporter" category="other"><comment x="0" y="0" w="117.27272727272727" collapsed="false">Fetch clipboard contents as costume or plaintext.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">text<options>text&#xD;image</options></input></inputs><script><block s="doDeclareVariables"><list><l>clip</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l>image</l></list></block><script><block s="doSetVar"><l>clip</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var item = null,&#xD;    thing = null;&#xD;&#xD;function error(txt){done = true; console.error(txt);}&#xD;&#xD;function loadImage(url){&#xD;  return new Promise((resolve, reject) =&gt; {&#xD;    var img = new Image();&#xD;    img.onload = () =&gt; resolve( img);&#xD;    img.onerror = reject;&#xD;    img.src = url;&#xD;  })&#xD;}&#xD;&#xD;(async () =&gt; {&#xD;  if("clipboard" in navigator) {&#xD;	try{	&#xD;        var clipData = await navigator.clipboard.read();&#xD;        console.log(clipData);&#xD;	&#xD;&#xD;		const item = clipData.find(v =&gt; v.types.includes("image/png"));&#xD;		if(!item)&#xD;   thing = "";&#xD;			error("No image data");&#xD;&#xD;		blob = await item.getType("image/png");&#xD;		var url = (window.URL || window.webkitURL).createObjectURL(blob);&#xD;		var img = await loadImage(url);&#xD;		canvas = newCanvas(new Point(img.width, img.height), true);&#xD;		canvas.getContext(&apos;2d&apos;).drawImage(img, 0, 0);&#xD;		thing = new Costume(canvas, "clipboard");&#xD;    }&#xD;    catch(err){thing="";error("Can&apos;t get PNG data: "+err.message)};&#xD;  }&#xD; else {thing="";error("Cannot access clipboard")}&#xD;})();&#xD;return () =&gt; thing;</l></block><list></list></block></block></script><script><block s="doSetVar"><l>clip</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var result = null;&#xD;navigator.clipboard.readText().then(&#xD;e=&gt;result=e,e=&gt;result=&apos;&apos;);&#xD;return () =&gt; result;</l></block><list></list></block></block></script></block><block s="doWaitUntil"><block s="reportVariadicOr"><list><block s="evaluate"><block var="clip"/><list></list></block><block s="reportVariadicEquals"><list><block s="evaluate"><block var="clip"/><list></list></block><l></l></list></block></list></block></block><block s="doReport"><block s="evaluate"><block var="clip"/><list></list></block></block></script></block-definition><block-definition s="custom dialog, title %&apos;title&apos; costume %&apos;cst&apos; body %&apos;body&apos; $nl button names %&apos;variadic&apos; on button clicks %&apos;cvariadic&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%mlt"></input><input type="%mult%txt"></input><input type="%mult%cmdRing"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>title,body,names,actions,cst,proc</l></list><l>let _txt;&#xD;&#xD; function autoscroll(textString) {&#xD;   _txt = new TextMorph(&#xD;           textString&#xD;           ,box.fontSize&#xD;           ,box.fontStyle&#xD;           ,true&#xD;           ,false&#xD;           ,&apos;center&apos;&#xD;           ,null&#xD;           ,null&#xD;           ,MorphicPreferences.isFlat ? null : new Point(1, 1)&#xD;           ,WHITE&#xD;     )&#xD;     let maxHeight, scroller;&#xD;      &#xD;     maxHeight = Math.min( world.height() - box.titleFontSize * 30, _txt.height());&#xD;     _txt.enableLinks = true;&#xD;       &#xD;     scroller = new ScrollFrameMorph();&#xD;     scroller.acceptsDrops = false;&#xD;     scroller.contents.acceptsDrops = false;&#xD;     scroller.bounds.setWidth(_txt.width());&#xD;     scroller.bounds.setHeight(maxHeight);&#xD;     scroller.addContents( _txt);&#xD;     scroller.color = new Color(0, 0, 0, 0);&#xD;     return scroller;&#xD;    }&#xD;&#xD;names = names.asArray();&#xD;let scs = actions.asArray();&#xD;actions = actions.asArray().map(_=&gt;function doAction(){if(doAction.e==&apos;close&apos;){this.destroy();}else{invoke(doAction.e,new List());this.destroy()}});&#xD;actions.forEach((e,f)=&gt;{e.e=scs[f];e.f=proc})&#xD;var box = new DialogBoxMorph();&#xD;box.labelString = title;&#xD;box.createLabel();&#xD;box.label.isBold = true;&#xD;if(cst !== ""){&#xD;  box.setPicture(proc.reportNewCostumeStretched(cst,100,100).contents);&#xD;};&#xD;box.addBody(autoscroll( body));&#xD;box.body.fixLayout();&#xD;names.forEach((e, f) =&gt; {&#xD;box.addButton(actions[f], e);&#xD;})&#xD;box.fixLayout();&#xD;box.popUp(this.world());</l></block><list><block var="title"/><block var="body"/><block var="variadic"/><block var="cvariadic"/><block var="cst"/></list></block></script></block-definition><block-definition s="edit box title %&apos;title&apos; pic %&apos;cst&apos; $nl body %&apos;body&apos; desc %&apos;desc&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%mlt"></input><input type="%mlt"></input></inputs><script><block s="doDeclareVariables"><list><l>res</l><l>result</l></list></block><block s="doSetVar"><l>res</l><block s="evaluate"><block s="reportJSFunction"><list><l>title</l><l>cst</l><l>body</l><l>desc</l><l>proc</l></list><l>let res = false,&#xD;    cancel = false;&#xD;&#xD;var box = new DialogBoxMorph();&#xD;box.ok = body=&gt;{res = box.getInput(); box.destroy()};&#xD;box.cancel = body=&gt;{cancel = true; res = true; box.destroy()};&#xD;box.destroy = body=&gt;{if (!cancel) {res = box.getInput();}else{res=true;}&#xD;    (function() {&#xD;    var world = this.world();&#xD;    world.keyboardFocus = null;&#xD;    world.hand.destroyTemporaries();&#xD;    DialogBoxMorph.uber.destroy.call(this);&#xD;    }).call(box);}&#xD;box.promptCode(&#xD;    title,&#xD;    body,&#xD;    this.world(),&#xD;    (cst !== "")?&#xD;    proc.reportNewCostumeStretched(cst, 100, 100).contents&#xD;    :undefined,&#xD;    desc&#xD;);&#xD;&#xD;return () =&gt; res;</l></block><list><block var="title"/><block var="cst"/><block var="body"/><block var="desc"/></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="result"/><block s="reportVariadicEquals"><list><block var="result"/><l></l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="evaluate"><block var="res"/><list></list></block></block></script></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="result"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportBoolean"><l><bool>false</bool></l></block><block var="result"/></block></block></script></block-definition><block-definition s="%&apos;prop&apos; of %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">length<options>length&#xD;rank&#xD;shape&#xD;size&#xD;&#126;1&#xD;flatten&#xD;transpose&#xD;reverse&#xD;shuffle&#xD;&#126;2&#xD;lines&#xD;csv&#xD;json</options></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>prop</l><l>list</l><l>proc</l></list><l>if (!(list instanceof List)){&#xD; throw new Error("expecting list but getting " +&#xD; ((list === 0)? "nothing":proc.reportTypeOf(list)));&#xD;}&#xD;switch (prop) {&#xD; case "reverse":&#xD;  return new List(list.itemsArray().reverse());&#xD; case "shuffle":&#xD;  return new List(list.itemsArray().sort((a, b) =&gt; (0.5 - Math.random())));&#xD; case "lines":&#xD;  if (list.rank() &lt; 2){&#xD;   return list.itemsArray().join(&apos;\n&apos;);&#xD;  } else {&#xD;   throw new Error("Unable to convert to lines");&#xD;  }&#xD; case "csv":&#xD;  if (list.canBeCSV()){&#xD;   return list.asCSV();&#xD;  } else {&#xD;   throw new Error("Unable to convert to CSV");&#xD;  }&#xD; case "json":&#xD;  if (list.canBeJSON()){&#xD;   return list.asJSON();&#xD;  } else {&#xD;   throw new Error("Unable to convert to JSON");&#xD;  }&#xD; default:&#xD;  return (list[prop] || (() =&gt; 0)).call(list);&#xD;}</l></block><list><block var="prop"/><block var="list"/></list></block></block></script></block-definition><block-definition s="is %&apos;list&apos; %&apos;which&apos; ?" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s" readonly="true">empty<options>circular&#xD;empty&#xD;flat</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>circular</l></list></block><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportVariadicIsIdentical"><list><block s="reportListItem"><l>1</l><block var="list"/></block><block var="list"/></list></block><custom-block s="is %l %s ?"><block s="reportCDR"><block var="list"/></block><l>circular</l></custom-block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>flat</l></list></block><script><block s="doReport"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>rank</option></l><block var="list"/></block><l>2</l></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="which"/><l>empty</l></list></block><script><block s="doReport"><block s="reportListIsEmpty"><block var="list"/></block></block></script><list></list></block><block s="doReport"><l>0</l></block></script></block-definition><block-definition s="is %&apos;txt&apos; valid JSON?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mlt">{"foo":"bar"}</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>txt</l></list><l>try {&#xD; let tmp = JSON.parse(txt);&#xD; return true;&#xD;} catch (e) {&#xD; return false;&#xD;}</l></block><list><block var="txt"/></list></block></block></script></block-definition><block-definition s="costume %&apos;cst&apos; made %&apos;p&apos; % as opaque" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">current<options>§_costumesMenu</options></input><input type="%n">50</input></inputs><script><block s="doReport"><block s="reportNewCostume"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><block s="reportQuotient"><block var="p"/><l>100</l></block></list></block></list></block></autolambda><list></list></block><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></block><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></block></block></script></block-definition><block-definition s="symbol %&apos;type&apos; at size %&apos;size&apos; color %&apos;color&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Notes<options>function() {&#xD;var obj = {};&#xD;Object.keys(SymbolMorph.prototype)&#xD;.filter(e =&gt; e.includes(&quot;renderSymbol&quot;))&#xD;.map(e =&gt; e.replace(&quot;renderSymbol&quot;, &quot;&quot;))&#xD;.filter(e =&gt; e !== &quot;ClosedBrushPath&quot; &amp;&amp; e !== &quot;Stop&quot; &amp;&amp; e !== &quot;OctagonOutline&quot;)&#xD;.sort()&#xD;.forEach(e =&gt; obj[e] = e);&#xD;return obj;&#xD;}</options></input><input type="%n">50</input><input type="%clr">rgba(0,0,0,255)</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>type</l><l>size</l><l>color</l></list><l>if ("renderSymbol" + type in SymbolMorph.prototype){&#xD; return new Costume((new SymbolMorph(type.charAt(0).toLowerCase() +&#xD;                                     type.slice(1), size, color)).fullImage(), type);&#xD;} else {return false;}</l></block><list><block var="type"/><block var="size"/><block var="color"/></list></block></block></script></block-definition><block-definition s="clamp %&apos;num&apos; between %&apos;low&apos; and %&apos;high&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">-1</input><input type="%n">1</input></inputs><script><block s="doIf"><block s="reportIsA"><block var="num"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="clamp %n between %n and %n"><l></l><block var="low"/><block var="high"/></custom-block></autolambda><list></list></block><block var="num"/></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicMax"><list><block var="low"/><block s="reportVariadicMin"><list><block var="num"/><block var="high"/></list></block></list></block></block></script></block-definition><block-definition s="lerp from: %&apos;from&apos; to: %&apos;to&apos; by %&apos;percent&apos; %" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">10</input><input type="%n">75</input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="hyperize function %repRing"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><block var="from"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="to"/><block var="from"/></block><block s="reportQuotient"><block var="percent"/><l>100</l></block></list></block></list></block></autolambda><list><l>from</l><l>to</l></list></block></custom-block><list><block var="from"/><block var="to"/></list></block></block></script></block-definition><block-definition s="hyperize function %&apos;func&apos;" type="reporter" category="control"><comment x="0" y="0" w="217.99999999999997" collapsed="false">Takes a dyadic scalar function as input, and&#xD;hyperizes it, so that it can take lists as inputs.&#xD;&#xD;Don&apos;t use on slow functions (this has compiled map calls).  Meant for use on primitives.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>hyper func</l><l>scalarized</l><l>scalar?</l><l>scalar-value</l></list></block><block s="doSetVar"><l>scalar?</l><block s="reifyScript"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportCombine"><block s="reportListAttribute"><l><option>dimensions</option></l><block var="x"/></block><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block><l>1</l></list></block></block></script><list><l>x</l></list></block></block><block s="doSetVar"><l>scalar-value</l><block s="reifyScript"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="x"/></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="scalar-value"/><list><block s="reportListItem"><l>1</l><block var="x"/></block></list></block></block></script><list><l>x</l></list></block></block><block s="doSetVar"><l>hyper func</l><block s="reifyScript"><script><block s="doWarp"><script><block s="doIfElse"><block s="evaluate"><block var="scalar?"/><list><block var="a"/></list></block><script><block s="doIfElse"><block s="evaluate"><block var="scalar?"/><list><block var="b"/></list></block><script><block s="doReport"><block s="evaluate"><block var="func"/><list><block s="evaluate"><block var="scalar-value"/><list><block var="a"/></list></block><block s="evaluate"><block var="scalar-value"/><list><block var="b"/></list></block></list></block></block></script><script><block s="doSetVar"><l>scalarized</l><block s="evaluate"><block var="scalar-value"/><list><block var="a"/></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="b"/></block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="func"/><list><block var="scalarized"/><l></l></list></block></autolambda><list></list></block><block var="b"/></block></block></script><list></list></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="hyper func"/><list><block var="scalarized"/><l></l></list></block></autolambda><list></list></block><block var="b"/></block></block></script></block></script><script><block s="doIfElse"><block s="evaluate"><block var="scalar?"/><list><block var="b"/></list></block><script><block s="doSetVar"><l>scalarized</l><block s="evaluate"><block var="scalar-value"/><list><block var="b"/></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="a"/></block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="func"/><list><l></l><block var="scalarized"/></list></block></autolambda><list></list></block><block var="a"/></block></block></script><list></list></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="hyper func"/><list><l></l><block var="scalarized"/></list></block></autolambda><list></list></block><block var="a"/></block></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="a"/></block></list></block><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="b"/></block></list></block></list></block><script><block s="doReport"><custom-block s="multimap %repRing over %mult%l"><block var="func"/><list><block var="a"/><block var="b"/></list></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="multimap %repRing over %mult%l"><block var="hyper func"/><list><block var="a"/><block var="b"/></list></custom-block></block></script></block></script></block></script></block></script><list><l>a</l><l>b</l></list></block></block><block s="doReport"><block var="hyper func"/></block></script></block-definition><block-definition s="sound %&apos;sound&apos; exists?" type="predicate" category="sound"><header></header><code></code><translations>el:υπάρχει ο ήχος _ ;&#xD;de:existiert Klang _ ?&#xD;</translations><inputs><input type="%s">pop<options>§_soundsMenu</options></input></inputs><script><block s="doIf"><block s="reportVariadicAnd"><list><custom-block s="setting %s"><l>Hyper blocks support</l></custom-block><block s="reportIsA"><block var="sound"/><l><option>list</option></l></block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyPredicate"><autolambda><custom-block s="sound %s exists?"><l></l></custom-block></autolambda><list></list></block><block var="sound"/></block></block></script><list></list></block><block s="doReport"><block s="reportListContainsItem"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportGetSoundAttribute"><l><option>name</option></l><l></l></block></autolambda><list></list></block><block s="reportGet"><l><option>sounds</option></l></block></block><block var="sound"/></block></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows reading global settings programmatically.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:o valor da configuração _&#xD;el:ρύθμιση _&#xD;de:Einstellung _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support&#xD;Visible palette</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    ide = stage.parentThatIsA(IDE_Morph),&#xD;    world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return ide.cloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return !!this.scripts.focus;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    case &apos;Hyper blocks support&apos;:&#xD;        return Process.prototype.enableHyperOps;&#xD;    default: return which;&#xD;    case &apos;Visible palette&apos;:&#xD;        return ide.currentCategory;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="paused? $pause-1-255-220-0" type="predicate" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return world.children[0].isPaused();</l></block><list></list></block></block></script></block-definition><block-definition s="%&apos;n&apos; to base %&apos;base&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">240</input><input type="%n">16</input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="n"/><block var="base"/></list></block><l></l><custom-block s="%n to base %n"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="n"/><block var="base"/></block></block><block var="base"/></custom-block></block><block s="reportLetter"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="n"/><block var="base"/></block><l>1</l></list></block><l>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/.</l></block></list></block></block></script></block-definition><block-definition s="%&apos;n&apos; from base %&apos;b1&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s">F0</input><input type="%n">16</input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l>0</l></list></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicIsIdentical"><list><block var="v"/><block var="x"/></list></block><block var="i"/><l>0</l></block></autolambda><list><l>v</l><l>i</l></list></block><block s="reportTextSplit"><l>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/.</l><l><option>letter</option></l></block></block></block><l>1</l></block><block s="reportPower"><block var="b1"/><block s="reportDifference"><block s="reportTextAttribute"><l><option>length</option></l><block var="n"/></block><block var="y"/></block></block></list></block></autolambda><list><l>x</l><l>y</l></list></block><block s="reportTextSplit"><block var="n"/><l><option>letter</option></l></block></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="char wrap %&apos;text&apos; width %&apos;n&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input><input type="%n" initial="1">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>pos</l><l>chunk</l></list></block><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>pos</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="pos"/><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block></list></block><script><block s="doSetVar"><l>chunk</l><custom-block s="substring of %txt from position %n to position %n inclusive"><block var="text"/><block var="pos"/><block s="reportVariadicSum"><list><block var="pos"/><block var="n"/><l>-1</l></list></block></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="result"/><l></l></list></block><script><block s="doSetVar"><l>result</l><block var="chunk"/></block></script><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block><block var="chunk"/></list></block></block></script></block><block s="doChangeVar"><l>pos</l><block var="n"/></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="custom-dialog, title %&apos;title&apos; cst %&apos;cst&apos; body %&apos;body&apos; $nl buttons %&apos;btns&apos; report pressed button" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">Buttons</input><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%mlt"></input><input type="%mult%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>button</l><l>done?</l></list></block><custom-block s="custom dialog, title %s costume %s body %mlt %br button names %mult%txt on button clicks %mult%cmdRing"><block var="title"/><block var="cst"/><block var="body"/><block var="btns"/><block s="reportMap"><block s="reifyScript"><script><block s="doReport"><block s="reifyScript"><script><block s="doSetVar"><l>button</l><block var="button name"/></block><block s="doSetVar"><l>done?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></block></script><list><l>button name</l></list></block><block var="btns"/></block></custom-block><block s="doWaitUntil"><block var="done?"/></block><block s="doReport"><block var="button"/></block></script></block-definition><block-definition s="gradient costume %&apos;width&apos; × %&apos;height&apos; $nl with colors %&apos;colors&apos; %&apos;which&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n">256</input><input type="%n">256</input><input type="%mult%clr"></input><input type="%s" readonly="true">horizontal<options>horizontal&#xD;vertical</options></input></inputs><script><block s="doDeclareVariables"><list><l>decolorize</l><l>costume</l></list></block><block s="doSetVar"><l>decolorize</l><block s="reifyReporter"><autolambda><block s="reportListItem"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block><block s="reportTextSplit"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block s="reportListItem"><l>2</l><block s="reportTextSplit"><block s="reportJoinWords"><block var="clr"/></block><l>rgba(</l></block></block><l>)</l></block></block><l>,</l></block></block></autolambda><list><l>clr</l></list></block></block><block s="doSetVar"><l>costume</l><block s="reportNewCostume"><block s="reportMap"><block var="decolorize"/><block var="colors"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l>horizontal</l></list></block><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="colors"/></block></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l>horizontal</l></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="colors"/></block><l>1</l></block></block></block><block s="doReport"><block s="reportNewCostumeStretched"><block var="costume"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l>horizontal</l></list></block><block s="reportVariadicProduct"><list><l>100</l><block var="width"/></list></block><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="colors"/></block></block></list></block></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="which"/><l>horizontal</l></list></block><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block var="height"/><block s="reportListAttribute"><l><option>length</option></l><block var="colors"/></block></block></list></block><block s="reportVariadicProduct"><list><l>100</l><block var="height"/></list></block></block></block></block></script><scripts><script x="336.00761718750005" y="559.1999999999998"><block var="which"/></script><script x="285.07207031250005" y="559.1999999999998"><block var="colors"/></script><script x="232.21757812500002" y="591.1999999999996"><block var="height"/></script><script x="183.33281250000016" y="559.1999999999998"><block var="width"/></script></scripts></block-definition><block-definition s="refer costume %&apos;name&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s">current<options>§_costumesMenu</options></input></inputs><script><block s="doReport"><block s="reportListItem"><block s="reportListIndex"><block var="name"/><block s="reportGetImageAttribute"><l><option>name</option></l><block s="reportGet"><l><option>costumes</option></l></block></block></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></script></block-definition><block-definition s="write %&apos;text&apos; size %&apos;sz&apos; stats %&apos;stats&apos;" type="command" category="pen"><comment x="0" y="0" w="211.66666666666669" collapsed="false">Writes text onto the stage, and allows extra styling. You don&apos;t have to add stats.&#xD;&#xD;Created by Tethrarxitet!&#xD;pic goes hard feel free to screenshot</comment><header></header><code></code><translations>es:escribir _ con tamaña _ e información _&#xD;pt:escreva _ com tamanho _ e edita _&#xD;fr:écrire _ avec la taille _ et les modificateurs _&#xD;ru:напишите _ с размером _ и модами _&#xD;de:schreibe _ Größe _ Schriftart _&#xD;</translations><inputs><input type="%s">Hello!</input><input type="%n">12</input><input type="%n" readonly="true"></input></inputs><script><block s="write"><block var="text"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="stats"/><l>0</l></list></block><block var="sz"/><block s="reportJoinWords"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportTypeOf"><block s="reportListItem"><l>2</l><block var="stats"/></block></block><l>Boolean</l></list></block><block s="reportIfElse"><block s="reportListItem"><l>2</l><block var="stats"/></block><l>bold </l><l></l></block><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><block var="stats"/></block><l> </l></list></block></block><block s="reportIfElse"><block s="reportListItem"><l>3</l><block var="stats"/></block><l>italic </l><l></l></block><block var="sz"/><l>px </l><block s="reportListItem"><l>1</l><block var="stats"/></block><l>,</l></list></block></block></block></script><scripts><script x="10" y="241.05555555555446"><custom-block s="write %s size %n stats %n"><l>Hello!</l><l>12</l><l></l></custom-block></script><script x="10" y="278.3888888888879"><custom-block s="text costume %s size %n stats %n"><l>Hello!</l><l>12</l><l></l></custom-block></script><script x="10" y="309.7222222222214"><custom-block s="font %s %br bold %b %br italic %b"><l>monospace</l><l/><l/></custom-block></script><script x="10" y="364.2222222222209"><custom-block s="font %s %br weight %n %br italic %b"><l>monospace</l><l>500</l><l/></custom-block></script><comment x="251.66471354166643" y="253.08333333333223" w="90" collapsed="false">Dependencies and blocks that depend on this</comment></scripts></block-definition><block-definition s="text costume %&apos;text&apos; size %&apos;size&apos; stats %&apos;stats&apos;" type="reporter" category="pen"><header></header><code></code><translations>es:disfraz de texto _ tamaño _ e información _&#xD;pt:traje de texto _ com tamanho _ e edita _&#xD;fr:costume de texte _ avec taille _ et modificateurs _&#xD;ru:текст костюм _ с размером _ и модами _&#xD;de:Textkostüm _ Größe _ Schriftart _&#xD;</translations><inputs><input type="%s">Hello!</input><input type="%n">12</input><input type="%n" readonly="true"></input></inputs><script><block s="doDeclareVariables"><list><l>costume</l><l>x</l><l>y</l><l>dir</l><l>cst</l><l>trails</l><l>pen state</l></list></block><block s="doSetVar"><l>x</l><block s="xPosition"></block></block><block s="doSetVar"><l>y</l><block s="yPosition"></block></block><block s="doSetVar"><l>dir</l><block s="direction"></block></block><block s="doSetVar"><l>cst</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>pen state</l><block s="getPenDown"></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><l><option>Turtle</option></l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><l>0</l></block><custom-block s="write %s size %n stats %n"><block var="text"/><block var="size"/><block var="stats"/></custom-block><block s="gotoXY"><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><l>0</l></block><block s="doSetVar"><l>costume</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="costume"/><block s="reportJoinWords"><list><block var="text"/></list></block></list></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="doIf"><block var="pen state"/><script><block s="down"></block></script><list></list></block><block s="doReport"><block var="costume"/></block></script></block-definition><block-definition s="font %&apos;font&apos; $nl bold %&apos;it&apos; $nl italic %&apos;bd&apos;" type="reporter" category="pen" space="true"><comment x="0" y="0" w="173.33333333333334" collapsed="false">Creates a list of stats for the new write block to use.&#xD;&#xD;Created by Tethrarxitet!&#xD;tamale</comment><header></header><code></code><translations>pt:nome da fonte _ _ texto em negrito? _ _ oblíquo? _&#xD;es:nombre de fuente _ _ ¿negrita? _ _ ¿oblicuo? _&#xD;fr:nom de la police _ _ police en gras ? _ _ oblique ? _&#xD;ru:шриф _ _ жирный? _ _ курсив? _&#xD;de:Schriftart _ _ fett _ _ kursiv _&#xD;</translations><inputs><input type="%s">monospace</input><input type="%b">false</input><input type="%b">false</input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="font"/><block var="it"/><block var="bd"/></list></block></block></script></block-definition><block-definition s="font %&apos;font&apos; $nl weight %&apos;it&apos; $nl italic %&apos;bd&apos;" type="reporter" category="pen"><comment x="0" y="0" w="173.33333333333334" collapsed="false">Creates a list of stats for the new write block to use.&#xD;&#xD;Created by Tethrarxitet!&#xD;tamale</comment><header></header><code></code><translations>es:nombre de la fuente _ _ espesor _ _ ¿oblicuo? _&#xD;pt:nome da fonte _ _ grossura _ _ oblíquo? _&#xD;fr:nom de la police _ _ épaisseur _ _ oblique ? _&#xD;ru:шриф _ _ жирность _ _ курсив? _&#xD;de:Schriftart _ _ Gewicht _ _ kursiv _&#xD;</translations><inputs><input type="%s">monospace</input><input type="%n">500</input><input type="%b">false</input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="font"/><block var="it"/><block var="bd"/></list></block></block></script></block-definition><block-definition s="write %&apos;text&apos; size %&apos;sz&apos; stats %&apos;stats&apos; wrap %&apos;width&apos;" type="command" category="pen" space="true"><comment x="0" y="0" w="90" collapsed="false">write the text on the stage with the specified stylings, word-wrap at the given width</comment><header></header><code></code><translations>de:schreibe _ Größe _ Schriftart _ Umbruch _&#xD;</translations><inputs><input type="%s" initial="1"></input><input type="%n" initial="1">12</input><input type="%n" readonly="true" initial="1"></input><input type="%n" initial="1">200</input></inputs><script><block s="doDeclareVariables"><list><l>words</l><l>lines</l><l>len</l><l>current line</l><l>current width</l><l>current pos</l></list></block><block s="doSetVar"><l>words</l><block s="reportTextSplit"><block var="text"/><l><option>word</option></l></block></block><block s="doSetVar"><l>lines</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>current line</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>len</l><l>0</l></block><block s="doWarp"><script><block s="doForEach"><l>word</l><block var="words"/><script><block s="doSetVar"><l>current width</l><custom-block s="width of text %s size %n stats %n"><block s="reportJoinWords"><list><l> </l><block var="word"/></list></block><block var="sz"/><block var="stats"/></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportVariadicSum"><list><block var="len"/><block var="current width"/></list></block><block var="width"/></list></block><script><block s="doAddToList"><block var="current line"/><block var="lines"/></block><block s="doSetVar"><l>current line</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>len</l><l>0</l></block></script><list></list></block><block s="doAddToList"><block var="word"/><block var="current line"/></block><block s="doChangeVar"><l>len</l><block var="current width"/></block></script></block><block s="doAddToList"><block var="current line"/><block var="lines"/></block><block s="doForEach"><l>line</l><block var="lines"/><script><block s="doSetVar"><l>current pos</l><block s="getPosition"></block></block><custom-block s="write %s size %n stats %n"><block s="reportListAttribute"><l><option>text</option></l><block var="line"/></block><block var="sz"/><block var="stats"/></custom-block><block s="doGotoObject"><block var="current pos"/></block><block s="turn"><l>90</l></block><block s="forward"><block var="sz"/></block><block s="turnLeft"><l>90</l></block></script></block></script></block></script></block-definition><block-definition s="width of text %&apos;text&apos; size %&apos;sz&apos; stats %&apos;stats&apos;" type="reporter" category="pen"><comment x="0" y="0" w="90" collapsed="false">reports the width of the text when written with the specified metrics</comment><header></header><code></code><translations>de:Breite von Text _ Größe _ Schriftart _&#xD;</translations><inputs><input type="%s" initial="1">Hello!</input><input type="%n" initial="1">12</input><input type="%n" readonly="true" initial="1"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>txt_width(txt, fontsize)</l><list><block var="text"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="stats"/><l>0</l></list></block><block var="sz"/><block s="reportJoinWords"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportTypeOf"><block s="reportListItem"><l>2</l><block var="stats"/></block></block><l>Boolean</l></list></block><block s="reportIfElse"><block s="reportListItem"><l>2</l><block var="stats"/></block><l>bold </l><l></l></block><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><block var="stats"/></block><l> </l></list></block></block><block s="reportIfElse"><block s="reportListItem"><l>3</l><block var="stats"/></block><l>italic </l><l></l></block><block var="sz"/><l>px </l><block s="reportListItem"><l>1</l><block var="stats"/></block><l>,</l></list></block></block></list></block></block></script></block-definition><block-definition s="is BIGNUMS on?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicNotEquals"><list><block s="reportJoinWords"><block s="reportMonadic"><l><option>e^</option></l><l>710</l></block></block><l>Infinity</l></list></block></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;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="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="ask %&apos;question&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">what&apos;s your name?</input></inputs><script><block s="doAsk"><block var="question"/></block><block s="doReport"><block s="getLastAnswer"></block></block></script></block-definition><block-definition s="notify %&apos;message&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">Alert!</input></inputs><script><block s="doTellTo"><block s="reportGet"><l><option>stage</option></l></block><block s="reifyScript"><script><block s="doAsk"><block s="reportNewList"><list><block s="reportApplyExtension"><l>ide_translate(text)</l><list><block var="message"/></list></block><block s="reportNewList"><list><block s="reportApplyExtension"><l>ide_translate(text)</l><list><l>Ok</l></list></block></list></block></list></block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="prompt %&apos;title&apos; options %&apos;options&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">choose!</input><input type="%mult%s"></input></inputs><script><block s="doReport"><custom-block s="ask %s"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="title"/><l></l></list></block><block var="options"/><block s="reportNewList"><list><block s="reportApplyExtension"><l>ide_translate(text)</l><list><block var="title"/></list></block><block var="options"/></list></block></block></custom-block></block></script></block-definition><block-definition s="submenu %&apos;title&apos; items %&apos;items&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">title</input><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="title"/><l></l></list></block><l>menu</l><block s="reportApplyExtension"><l>ide_translate(text)</l><list><block var="title"/></list></block></block><block var="items"/></list></block></block></script></block-definition><block-definition s="divider" type="reporter" category="sensing"><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="menu item icon %&apos;icon&apos; label %&apos;text&apos; value %&apos;value&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input><input type="%s">option</input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="icon"/><l></l></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="text"/><l></l></list></block><block var="value"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="value"/><l></l></list></block><block var="text"/><block s="reportNewList"><list><block var="text"/><block var="value"/></list></block></block></block><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="text"/><l></l></list></block><block s="reportIfElse"><block s="reportIsA"><block var="icon"/><l><option>text</option></l></block><block s="reportObject"><block var="icon"/></block><block var="icon"/></block><block s="reportNewList"><list><block s="reportIfElse"><block s="reportIsA"><block var="icon"/><l><option>text</option></l></block><block s="reportObject"><block var="icon"/></block><block var="icon"/></block><block var="text"/></list></block></block><block var="value"/></list></block></block></block></script></block-definition><block-definition s="menu item speech ballon %&apos;orientation&apos; message %&apos;message&apos; value %&apos;value&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">left<options>left&#xD;right</options></input><input type="%s">hey!</input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="value"/><l></l></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="orientation"/><l>right</l></list></block><block s="reportNewList"><list><l></l><block var="message"/></list></block><block s="reportNewList"><list><block var="message"/></list></block></block><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="orientation"/><l>right</l></list></block><block s="reportNewList"><list><l></l><block var="message"/></list></block><block s="reportNewList"><list><block var="message"/></list></block></block><block var="value"/></list></block></block></block></script></block-definition><block-definition s="menu examples" type="command" category="sensing"><comment x="0" y="0" w="212" collapsed="false">open my definition to look at examples how to use the menu blocks</comment><header></header><code></code><translations></translations><inputs></inputs><scripts><script x="10" y="79.00000000000001"><block s="doAsk"><l>what&apos;s your name?</l></block></script><script x="10" y="118.00000000000003"><custom-block s="ask %s"><l>what&apos;s your name?</l></custom-block></script><script x="10" y="151"><custom-block s="notify %s"><l>Alert!</l></custom-block></script><script x="10" y="190"><custom-block s="prompt %s options %mult%s"><l>choose!</l><list><l>foo</l><l>bar</l><l>baz</l></list></custom-block></script><script x="10" y="222.99999999999997"><custom-block s="prompt %s options %mult%s"><l>choose!</l><block s="reportGet"><l><option>costumes</option></l></block></custom-block></script><script x="10" y="261"><custom-block s="submenu %s items %mult%s"><l>more</l><list><l>frob</l><l>quux</l><l>garply</l></list></custom-block></script><script x="10" y="294"><custom-block s="prompt %s options %mult%s"><l>choose!</l><list><l>foo</l><l>bar</l><custom-block s="divider"></custom-block><custom-block s="submenu %s items %mult%s"><l>more</l><list><l>frob</l><custom-block s="submenu %s items %mult%s"><l></l><list><l>fred</l><l>test</l></list></custom-block><custom-block s="divider"></custom-block><l>quux</l><l>garply</l></list></custom-block><l>baz</l></list></custom-block></script><script x="10" y="377.8333333333334"><custom-block s="menu item icon %s label %s value %s"><l></l><l>option</l><l></l></custom-block></script><script x="10" y="411.8333333333334"><custom-block s="prompt %s options %mult%s"><l>choose!</l><list><custom-block s="menu item icon %s label %s value %s"><l>monkey</l><l>monkey</l><block s="reportObject"><l>monkey</l></block></custom-block><custom-block s="menu item icon %s label %s value %s"><l>Octo</l><l></l><l>42</l></custom-block><custom-block s="menu item icon %s label %s value %s"><l></l><l>choice</l><l>yay!</l></custom-block><custom-block s="divider"></custom-block><custom-block s="submenu %s items %mult%s"><l>more</l><list><custom-block s="menu item icon %s label %s value %s"><l>Alonzo</l><l>Alonzo</l><block s="reportObject"><l>Alonzo</l></block></custom-block><custom-block s="menu item icon %s label %s value %s"><l></l><l>foo</l><l>bar</l></custom-block></list></custom-block></list></custom-block></script><script x="10" y="565.8333333333335"><custom-block s="menu item speech ballon %s message %s value %s"><l>left</l><l>hey!</l><l></l></custom-block></script><script x="10" y="599.8333333333335"><custom-block s="prompt %s options %mult%s"><l>choose!</l><list><custom-block s="menu item speech ballon %s message %s value %s"><l>left</l><l>hey!</l><l></l></custom-block><custom-block s="menu item speech ballon %s message %s value %s"><l>right</l><l>wassup?</l><l></l></custom-block><custom-block s="menu item speech ballon %s message %s value %s"><l>left</l><block s="reportObject"><l>Alonzo</l></block><l></l></custom-block><custom-block s="menu item speech ballon %s message %s value %s"><l>right</l><l>so?</l><block s="reportGet"><l><option>costumes</option></l></block></custom-block></list></custom-block></script></scripts></block-definition><block-definition s="change style to %&apos;style&apos;" type="command" category="CLI &amp; Graphics"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1">normal<options>§_inputSlotsMenu&#xD;BSOD&#xD;normal&#xD;hacking&#xD;sunset&#xD;forest&#xD;youtube&#xD;Reddit</options></input></inputs><scripts><script x="12.083333333333334" y="8.333333333333334"><block s="doIf"><block s="reportVariadicEquals"><list><block var="style"/><l>BSOD</l></list></block><script><block s="setColor"><color>255,255,255,1</color></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="multiline %mlt"><l>blue</l></custom-block></block></script><list></list></block><list></list></block></script><list><block s="reportVariadicEquals"><list><block var="style"/><l>normal</l></list></block><script><block s="setColor"><color>255,255,255,1</color></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list></list></block></script><block s="reportVariadicEquals"><list><block var="style"/><l>hacking</l></list></block><script><block s="setColor"><color>2,251,2,1</color></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list></list></block></script><block s="reportVariadicEquals"><list><block var="style"/><l>sunset</l></list></block><script><block s="setColor"><color>255,106,92,1</color></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="multiline %mlt"><l>orange</l></custom-block></block></script><list></list></block><list></list></block></script><block s="reportVariadicEquals"><list><block var="style"/><l>forest</l></list></block><script><block s="setColor"><color>0,112,9,1</color></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="multiline %mlt"><l>green</l></custom-block></block></script><list></list></block><list></list></block></script><block s="reportVariadicEquals"><list><block var="style"/><l>youtube</l></list></block><script><block s="setColor"><color>255,255,255,1</color></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="multiline %mlt"><l>red</l></custom-block></block></script><list></list></block><list></list></block></script><block s="reportVariadicEquals"><list><block var="style"/><l>reddit</l></list></block><script><block s="setColor"><color>250,172,0,1</color></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="multiline %mlt"><l>white</l></custom-block></block></script><list></list></block><list></list></block></script></list></block><custom-block s="update screen"></custom-block></script></scripts></block-definition><block-definition s="normal position" type="command" category="CLI &amp; Graphics"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setXPosition"><l>-240</l></block><block s="setYPosition"><l>170</l></block></script></block-definition><block-definition s="placeholder" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="mouse in stage?" type="predicate" category="Ace’s blocks"><comment x="0" y="0" w="95.5" collapsed="true">Self explanatory    </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportMouseX"></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></list></block><block s="reportVariadicLessThan"><list><block s="reportMouseX"></block><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportMouseY"></block><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></list></block><block s="reportVariadicLessThan"><list><block s="reportMouseY"></block><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></list></block></list></block></block></script></block-definition><block-definition s="$gears = WIP $nl $gearPartial = not for use outside of custom blocks $nl $file = tools $nl $gearBig = not very useful $nl Block update 1.5" type="reporter" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><l>Enjoy the tools and the blocks!</l></list></block></script></block-definition><block-definition s="[] Movement blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="move by %&apos;xy&apos;" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doGotoObject"><block s="reportVariadicSum"><list><block s="getPosition"></block><block var="xy"/></list></block></block></script></block-definition><block-definition s="Collision physics against %&apos;Collider&apos; with %&apos;Friction&apos; friction" type="command" category="Ace’s blocks"><variables><list struct="atomic" id="5921">yv,xv</list></variables><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_objectsMenu</options></input><input type="%n" initial="1">0.01</input></inputs><script><block s="doDeclareVariables"><list><l>Error</l></list><comment w="90" collapsed="false">This is rather buggy and only really works with circles with a specific size.</comment></block><block s="doSetVar"><l>Error</l><block s="reportNewList"><list><l></l></list></block></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportMonadic"><l><option>abs</option></l><block var="Friction"/></block><l>1</l></list></block><script><block s="doShowVar"><l>Error</l></block><block s="doAddToList"><l>friction too high, must be lower than the absolute of 1</l><block var="Error"/></block></script><list></list></block><block s="doWaitUntil"><block s="reportVariadicLessThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="Friction"/></block><l>1</l></list></block></block><block s="doHideVar"><l>Error</l></block><block s="doDeleteFromList"><l><option>all</option></l><block var="Error"/></block><block s="changeXPosition"><block var="xv"/></block><block s="changeYPosition"><block var="yv"/></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><l>45</l><block s="reportRelationTo"><l><option>distance</option></l><block var="Collider"/></block></list></block><script><block s="doFaceTowards"><block var="Collider"/></block><block s="doChangeVar"><l>xv</l><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>sin</option></l><block s="reportRelationTo"><l><option>direction</option></l><block var="Collider"/></block></block><block s="reportDifference"><block s="reportRelationTo"><l><option>distance</option></l><block var="Collider"/></block><l>45</l></block></list></block></block><block s="doChangeVar"><l>yv</l><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>cos</option></l><block s="reportRelationTo"><l><option>direction</option></l><block var="Collider"/></block></block><block s="reportDifference"><block s="reportRelationTo"><l><option>distance</option></l><block var="Collider"/></block><l>45</l></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><block s="xPosition"></block></list></block><script><block s="doSetVar"><l>xv</l><block s="reportMonadic"><l><option>neg</option></l><block var="xv"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="xPosition"></block><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block></list></block><script><block s="doSetVar"><l>xv</l><block s="reportMonadic"><l><option>neg</option></l><block var="xv"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block><block s="yPosition"></block></list></block><script><block s="doSetVar"><l>yv</l><block s="reportMonadic"><l><option>neg</option></l><block var="yv"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="yPosition"></block><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></list></block><script><block s="doSetVar"><l>yv</l><block s="reportMonadic"><l><option>neg</option></l><block var="yv"/></block></block></script><list></list></block><block s="doChangeVar"><l>xv</l><block s="reportVariadicProduct"><list><block var="xv"/><block s="reportMonadic"><l><option>neg</option></l><block s="reportMonadic"><l><option>abs</option></l><block var="Friction"/></block></block></list></block></block><block s="doChangeVar"><l>yv</l><block s="reportVariadicProduct"><list><block var="yv"/><block s="reportMonadic"><l><option>neg</option></l><block s="reportMonadic"><l><option>abs</option></l><block var="Friction"/></block></block></list></block></block><block s="doHideVar"><l></l></block></script></block-definition><block-definition s="go to edge of stage from current direction" type="command" category="Ace’s blocks"><comment x="0" y="0" w="112.08333333333334" collapsed="false">This can be a bit buggy but does work most of the time. I recommend using a “if on edge bounce” block in a forever loop for this to work better.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doUntil"><block s="reportNot"><custom-block s="$gearPartial in stage?"></custom-block></block><script><block s="forward"><l>0.1</l></block></script></block><block s="forward"><l>-0.1</l></block></script></block></script></block-definition><block-definition s="apply gravity to %&apos;Object&apos; $nl gravity strength %&apos;numb&apos; $nl collision against %&apos;collider&apos;" type="command" category="Ace’s blocks"><comment x="0" y="0" w="158.33333333333334" collapsed="false">Makes a simple but buggy gravity physics engine</comment><variables><list struct="atomic" id="6159">Airborne,Y velocity</list></variables><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_clonablesMenu</options></input><input type="%n" initial="1">1</input><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_collidablesMenu</options></input></inputs><script><block s="doTellTo"><block var="Object"/><block s="reifyScript"><script><block s="doIf"><block s="reportNot"><block s="reportTouchingObject"><block var="collider"/></block></block><script><block s="doSetVar"><l>Airborne</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="fork"><block s="reifyScript"><script><block s="doIfElse"><block s="reportTouchingObject"><block var="collider"/></block><script><block s="doSetVar"><l>Airborne</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>Y velocity</l><l>0</l></block></script><script><block s="doSetVar"><l>Airborne</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><list></list></block><block s="fork"><block s="reifyScript"><script><block s="doChangeVar"><l>Y velocity</l><block s="reportMonadic"><l><option>neg</option></l><block var="numb"/></block></block><block s="doIf"><block var="Airborne"/><script><block s="changeYPosition"><block var="Y velocity"/></block></script><list></list></block><block s="doIf"><block s="reportTouchingObject"><block var="collider"/></block><script><block s="doUntil"><block s="reportNot"><block s="reportTouchingObject"><block var="collider"/></block></block><script><block s="changeYPosition"><l>0.10</l></block></script></block></script><list></list></block></script><list></list></block><list></list></block></script><list></list></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="[] Control Blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="$gears when %&apos;Input&apos; are %&apos;slot&apos;" type="hat" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs><input type="%mult%b" separator="and" initial="1" min="1"></input><input type="%s" readonly="true" irreplaceable="true" initial="1">All true at once<options>§_inputSlotsMenu&#xD;All true at once&#xD;True in order</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="slot"/><l>All true at once</l></list></block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="Input"/><block s="reportBoolean"><l><bool>false</bool></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list><block s="reportVariadicEquals"><list><block var="slot"/><l>True in order</l></list></block><script><block s="doIfElse"><l/><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><l><bool>true</bool></l><script></script></list></block></script></block-definition><block-definition s="$file How many Objects are there?" type="reporter" category="Editor Tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>List</l><l>1</l></list><comment w="95.5" collapsed="true">Self explanatory    </comment></block><block s="doSetVar"><l>1</l><block s="reportNewList"><list><block s="reportObject"><l><option>myself</option></l></block></list></block></block><block s="doSetVar"><l>List</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doAddToList"><block s="reportNewList"><list><l>1</l></list></block><block var="List"/></block><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block></block></script></block-definition><block-definition s="$file $gears what’s my current FPS?" type="reporter" category="Editor Tools"><comment x="0" y="0" w="90" collapsed="true">WIP</comment><variables><list struct="atomic" id="6348">Tick,Fps</list></variables><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="Tick"/><l>0</l></list></block><script><block s="doSetVar"><l>Tick</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doReport"><l>0</l></block></script><list></list></block><block s="doSetVar"><l>Fps</l><block s="reportQuotient"><l>1000</l><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="Tick"/></block></block></block><block s="doSetVar"><l>Tick</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doReport"><block s="reportMonadic"><l><option>abs</option></l><block s="reportRound"><block var="Fps"/></block></block></block></script></block-definition><block-definition s="$file how fast is %&apos;Obj&apos; going in steps" type="reporter" category="Editor Tools"><comment x="0" y="0" w="132.08333333333334" collapsed="false">Measures how many steps an object is moving. The first answer will always be 0</comment><variables><list struct="atomic" id="6392">Last X,Last Y,Last time A</list></variables><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_clonablesMenu</options></input></inputs><script><block s="doWait"><l>0.5</l></block><block s="doDeclareVariables"><list><l>Dist</l><l>Speed</l><l>Time</l></list></block><block s="doSetVar"><l>Dist</l><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>x position</option></l><block var="Obj"/></block><block var="Last X"/></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>x position</option></l><block var="Obj"/></block><block var="Last X"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>y position</option></l><block var="Obj"/></block><block var="Last Y"/></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>y position</option></l><block var="Obj"/></block><block var="Last Y"/></block></list></block></list></block></block></block><block s="doSetVar"><l>Time</l><block s="reportDifference"><block s="getTimer"></block><block var="Last time A"/></block></block><block s="doSetVar"><l>Last X</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="Obj"/></block></block><block s="doSetVar"><l>Last Y</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="Obj"/></block></block><block s="doSetVar"><l>Last time A</l><block s="getTimer"></block></block><block s="doReport"><block s="reportRound"><block s="reportQuotient"><block s="reportDifference"><block s="reportQuotient"><block var="Dist"/><block var="Time"/></block><l>0.1</l></block><l>50</l></block></block></block></script></block-definition><block-definition s="$file %&apos;Obj 1&apos; distance to %&apos;Obj 2&apos; rounded? %&apos;T/F&apos;" type="reporter" category="Editor Tools"><comment x="0" y="0" w="90" collapsed="false">Tells how far one object is to another</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_objectsMenu</options></input><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_objectsMenu</options></input><input type="%b" initial="1">false</input></inputs><script><block s="doIfElse"><block var="T/F"/><script><block s="doReport"><block s="reportRound"><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>x position</option></l><block var="Obj 1"/></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="Obj 1"/></block></list></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>x position</option></l><block var="Obj 2"/></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="Obj 2"/></block></list></block></block></block></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>x position</option></l><block var="Obj 1"/></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="Obj 1"/></block></list></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>x position</option></l><block var="Obj 2"/></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="Obj 2"/></block></list></block></block></block></block></script></block></script></block-definition><block-definition s="$file Is JavaScript on?" type="predicate" category="Editor Tools" space="true"><comment x="0" y="0" w="95.5" collapsed="true">Self explanatory    </comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doRun"><block s="reifyReporter"><autolambda><block s="reportJSFunction"><list></list><l>return true;</l></block></autolambda><list></list></block><list></list></block></script><l>error</l><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></custom-block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="$file wait a tick" type="command" category="Editor Tools" space="true"><comment x="0" y="0" w="95.5" collapsed="true">Self explanatory    </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="forward"><l>0</l></block></script></block-definition><block-definition s="set draggability to %&apos;Boolean&apos;" type="command" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1">true</input></inputs><script><block s="doSetVar"><l><option>my draggable?</option></l><block var="Boolean"/><comment w="95.5" collapsed="true">Self explanatory    </comment></block></script></block-definition><block-definition s="$file rotate %&apos;Object&apos; ‘s current costume" type="command" category="Editor Tools"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_objectsMenu</options></input></inputs><script><block s="doTellTo"><block var="Object"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportNewCostume"><block s="reportListAttribute"><l><option>flatten</option></l><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportGetImageAttribute"><l><option>colors</option></l><l><option>current</option></l></block></block></block></block><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></block></block></script><list></list></block><list></list></block></script><scripts><comment x="297.8365885416664" y="10.499999999999996" w="202.91666666666669" collapsed="false">This rotates the costume, NOT THE SPRITE this don’t work with turtle sprites</comment></scripts></block-definition><block-definition s="run with %&apos;Numb&apos; % chance %&apos;Input 1&apos; else %&apos;Input 2&apos;" type="command" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">50</input><input type="%cs" initial="1"></input><input type="%cs" initial="1"></input></inputs><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="Numb"/><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="Numb"/><l>100</l></list></block></list><comment w="66.66666666666667" collapsed="false">Runs a script with the set chance.</comment></block><script><custom-block s="error %txt"><l>invalid chance (0-100)</l></custom-block></script><script><block s="doDeclareVariables"><list><l>List</l><l>Rnumb</l></list></block><block s="doSetVar"><l>Rnumb</l><block s="reportRound"><block var="Numb"/></block></block><block s="doSetVar"><l>List</l><block s="reportNewList"><list></list></block></block><block s="doDeleteFromList"><l><option>all</option></l><block var="List"/></block><block s="doRepeat"><block var="Rnumb"/><script><block s="doAddToList"><block var="Input 1"/><block var="List"/></block></script></block><block s="doRepeat"><block s="reportMonadic"><l><option>neg</option></l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="List"/></block><l>100</l></block></block><script><block s="doAddToList"><block var="Input 2"/><block var="List"/></block></script></block></script></block><block s="doRun"><block s="reportListItem"><l><option>random</option></l><block var="List"/></block><list></list></block></script></block-definition><block-definition s="wait until I receive %&apos;Received IMP&apos;" type="command" category="Ace’s blocks"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for help with this block</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true" irreplaceable="true" initial="1"><options>§_messagesMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>sig</l></list></block><block s="doSetVar"><l>sig</l><block s="reportBoolean"><l><bool>false</bool></l><comment w="288.33333333333337" collapsed="true">Think of this as a “when I receive” in a “wait until” block</comment></block></block><custom-block s="$gearPartial when message recieved %cmdRing"><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportListContainsItem"><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="reportGet"><l><option>self</option></l></block></block><block s="reportVariadicEquals"><list><block s="reportJoinWords"><list><block var="message"/></list></block><block s="reportJoinWords"><list><block var="Received IMP"/></list></block></list></block></list></block><script><block s="doSetVar"><l>sig</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list><l>message</l><l>data</l></list></block></custom-block><block s="doWaitUntil"><block var="sig"/></block></script></block-definition><block-definition s="[] Looks Blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="center %&apos;object&apos; costume" type="command" category="Ace’s blocks" space="true"><comment x="0" y="0" w="90" collapsed="false">Centers a costume</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_objectsMenu</options></input></inputs><script><block s="doTellTo"><block var="object"/><block s="reifyScript"><script><block s="doSetVar"><l><option>my rotation y</option></l><block s="reportGet"><l><option>center y</option></l></block></block><block s="doSetVar"><l><option>my rotation x</option></l><block s="reportGet"><l><option>center x</option></l></block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="go to layer %&apos;Layer&apos;" type="command" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input></inputs><script><block s="goBack"><block s="reportDifference"><block var="Layer"/><l>1</l></block><comment w="95.5" collapsed="true">Self explanatory    </comment></block></script></block-definition><block-definition s="[] Sensing Blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="%&apos;Object&apos; in stage?" type="predicate" category="Ace’s blocks" space="true"><comment x="0" y="0" w="95.5" collapsed="true">Self explanatory    </comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">Sprite<options>§_objectsMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>a</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="Object"/></block></block><block s="doSetVar"><l>b</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="Object"/></block></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="b"/><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></list></block><block s="reportVariadicLessThan"><list><block var="b"/><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block></list></block><block s="reportVariadicGreaterThan"><list><block var="a"/><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></list></block><block s="reportVariadicLessThan"><list><block var="a"/><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></list></block></list></block></block></script></block-definition><block-definition s="$gearPartial in stage?" type="predicate" category="Ace’s blocks"><comment x="0" y="0" w="95.5" collapsed="true">Self explanatory    </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>Xv</l><l>Yv</l></list></block><block s="doSetVar"><l>Yv</l><block s="reportAttributeOf"><l><option>y position</option></l><block s="reportGet"><l><option>self</option></l></block></block></block><block s="doSetVar"><l>Xv</l><block s="reportAttributeOf"><l><option>x position</option></l><block s="reportGet"><l><option>self</option></l></block></block></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="Xv"/><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></list></block><block s="reportVariadicLessThan"><list><block var="Xv"/><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block></list></block><block s="reportVariadicGreaterThan"><list><block var="Yv"/><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block></list></block><block s="reportVariadicLessThan"><list><block var="Yv"/><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></list></block></list></block></block></script></block-definition><block-definition s="[] Sound Blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="[] Operator Blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="$gears Sort costumes by number" type="command" category="Editor Tools"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="common factors of %&apos;Numb&apos; In text %&apos;T/F&apos;" type="reporter" category="Ace’s blocks" space="true"><comment x="0" y="0" w="90" collapsed="false">Lists all the similar factors up the the GCF of the inputted numbers</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n" initial="3">12&#xD;18&#xD;24</input><input type="%b" initial="1">false</input></inputs><script><block s="doDeclareVariables"><list><l>Factors</l></list></block><block s="doSetVar"><l>Factors</l><block s="reportNewList"><list></list></block></block><block s="doIfElse"><block var="T/F"/><script><block s="doFor"><l>i</l><l>1</l><block s="reportVariadicMin"><block var="Numb"/></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="value"/><block var="i"/></block><l>0</l></list></block></autolambda><list><l>value</l></list></block><block var="Numb"/></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><script><block s="doAddToList"><block var="i"/><block var="Factors"/></block></script><list></list></block></script></block><block s="doReport"><block s="reportListAttribute"><l><option>text</option></l><block var="Factors"/></block></block></script><script><block s="doFor"><l>i</l><l>1</l><block s="reportVariadicMin"><block var="Numb"/></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="value"/><block var="i"/></block><l>0</l></list></block></autolambda><list><l>value</l></list></block><block var="Numb"/></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><script><block s="doAddToList"><block var="i"/><block var="Factors"/></block></script><list></list></block></script></block><block s="doReport"><block var="Factors"/></block></script></block></script></block-definition><block-definition s="GCF of %&apos;Numb&apos;" type="reporter" category="Ace’s blocks"><comment x="0" y="0" w="90" collapsed="false">Finds the greatest common factor of the inputted numbers</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n" initial="3">12&#xD;18&#xD;24</input></inputs><script><block s="doDeclareVariables"><list><l>List</l></list></block><block s="doSetVar"><l>List</l><block s="reportNewList"><list><block var="Numb"/></list></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="Numb"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="Numb"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="Numb"/></block><l>2</l></list></block><script><block s="doReport"><custom-block s="$gearPartial find the GCF of %n and %n"><block s="reportListItem"><l>1</l><block var="Numb"/></block><block s="reportListItem"><l>2</l><block var="Numb"/></block></custom-block></block></script><script><block s="doReport"><block s="reportCombine"><block var="Numb"/><block s="reifyReporter"><autolambda><custom-block s="$gearPartial find the GCF of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script></block></script></block></script></block-definition><block-definition s="$gears Round %&apos;Numb&apos; to the nearest %&apos;Input&apos;" type="reporter" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">333.33333</input><input type="%s" readonly="true" irreplaceable="true" initial="1">Tenth<options>§_inputSlotsMenu&#xD;Millions&#xD;Hundred thousands&#xD;Ten thousands&#xD;Thousands&#xD;Hundreds&#xD;Tens&#xD;Ones&#xD;Tenth&#xD;Hundredth&#xD;Thousandth&#xD;Ten thousandth&#xD;Hundred thousandth&#xD;Millionth</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="Input"/><l>Millions</l></list></block><script></script><list><block s="reportVariadicEquals"><list><block var="Input"/><l>Hundred thousands</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Ten thousands</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Thousands</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Hundreds</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Tens</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Ones</l></list></block><script><block s="doReport"><block s="reportRound"><block var="Numb"/></block></block></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Tenth</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Hundredth</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Thousandth</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Ten thousandth</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Hundred thousandth</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l>Millionth</l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Input"/><l></l></list></block><script><block s="doReport"><block var="Numb"/></block></script></list><comment w="204.16666666666669" collapsed="true">Rounds numbers to the nearest input</comment></block></script></block-definition><block-definition s="$file personal library" type="command" category="Editor Tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="PL Mod v1.1_b"><comment w="90" collapsed="false">Block by someone else!</comment></custom-block></script></block-definition><block-definition s="cipher text: %&apos;TXT&apos; $nl offset %&apos;Numb&apos; $nl" type="reporter" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">BCD</input><input type="%n" initial="1">-1</input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportUnicodeAsLetter"><block s="reportVariadicSum"><list><block s="reportUnicode"><block var="TXT"/></block><block var="Numb"/></list></block></block></list></block></block></script><scripts><comment x="8.333333333333334" y="93.30555555555554" w="270.83333333333337" collapsed="true">Ciphers letters along the alphabet in an offset</comment></scripts></block-definition><block-definition s="decipher text: %&apos;TXT&apos; $nl from offset %&apos;Numb&apos;" type="reporter" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">ABC</input><input type="%n" initial="1">-1</input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportUnicodeAsLetter"><block s="reportDifference"><block s="reportUnicode"><block var="TXT"/></block><block var="Numb"/></block></block></list></block></block></script><scripts><comment x="8.333333333333334" y="95.47222222222194" w="215.41666666666686" collapsed="true">Deciphers letters along the alphabet</comment></scripts></block-definition><block-definition s="Tally %&apos;Numb&apos;" type="reporter" category="Ace’s blocks"><comment x="0" y="0" w="189.16666666666669" collapsed="false">Block design is by @redgeographysnap&#xD;It just says tally marks</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">5</input></inputs><script><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block var="Numb"/><l>0</l></list></block><script><block s="doReport"><l></l></block></script><list><block s="reportVariadicLessThanOrEquals"><list><block var="Numb"/><l>4</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>|</l><custom-block s="Tally %n"><block s="reportDifference"><block var="Numb"/><l>1</l></block></custom-block></list></block></block></script></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportUnicodeAsLetter"><l>119672</l></block><l> </l><custom-block s="Tally %n"><block s="reportDifference"><block var="Numb"/><l>5</l></block></custom-block></list></block></block></script></block-definition><block-definition s="[] Pen Blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="$gears Draw a %&apos;Shape&apos; at X %&apos;X&apos; Y %&apos;Y&apos; size %&apos;Numb&apos; on a rotation of %&apos;Rot&apos;" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">Square hollow<options>§_inputSlotsMenu&#xD;Square hollow&#xD;Square filled&#xD;Hollow cube&#xD;Circle hollow&#xD;Circle filled&#xD;Triangle 1&#xD;Triangle 2&#xD;Triangle 3&#xD;Pyramid&#xD;Angle 1&#xD;Angle 2&#xD;Angle 3&#xD;My self</options></input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">15</input><input type="%n" initial="1">90<options>§_directionDialMenu</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>Last x</l><l>Last y</l><l>Last pen size</l><l>Last dir</l></list></block><block s="doSetVar"><l>Last dir</l><block s="direction"></block></block><block s="doSetVar"><l>Last y</l><block s="yPosition"></block></block><block s="doSetVar"><l>Last x</l><block s="xPosition"></block></block><block s="doSetVar"><l>Last pen size</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="up"></block><block s="setSize"><block s="reportQuotient"><block var="Numb"/><l>4</l></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="Shape"/><l>Square hollow</l></list></block><script><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="setHeading"><block var="Rot"/></block><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block var="Numb"/></block></block><block s="setHeading"><block s="reportVariadicSum"><list><block var="Rot"/><l>90</l></list></block></block><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block var="Numb"/></block></block><block s="down"></block><block s="setHeading"><block var="Rot"/></block><block s="forward"><block s="reportVariadicProduct"><list><block var="Numb"/><l>2</l></list></block></block><block s="setHeading"><block s="reportVariadicSum"><list><block var="Rot"/><l>90</l></list></block></block><block s="forward"><block s="reportVariadicProduct"><list><block var="Numb"/><l>2</l></list></block></block><block s="setHeading"><block s="reportVariadicSum"><list><block var="Rot"/><l>180</l></list></block></block><block s="forward"><block s="reportVariadicProduct"><list><block var="Numb"/><l>2</l></list></block></block><block s="setHeading"><block s="reportVariadicSum"><list><block var="Rot"/><l>270</l></list></block></block><block s="forward"><block s="reportVariadicProduct"><list><block var="Numb"/><l>2</l></list></block></block></script><list><block s="reportVariadicEquals"><list><block var="Shape"/><l>Square filled</l></list></block><script><custom-block s="$gears Draw a %s at X %n Y %n size %n on a rotation of %n"><l>Square hollow</l><block var="X"/><block var="Y"/><block var="Numb"/><block var="Rot"/></custom-block><block s="doDeclareVariables"><list><l>Numb decline</l></list></block><block s="doSetVar"><l>Numb decline</l><block var="Numb"/></block><block s="doRepeat"><block s="reportVariadicProduct"><list><block var="Numb"/><l>100</l></list></block><script><block s="doChangeVar"><l>Numb decline</l><l>-0.1</l></block><custom-block s="$gears Draw a %s at X %n Y %n size %n on a rotation of %n"><l>Square hollow</l><block var="X"/><block var="Y"/><block var="Numb decline"/><block var="Rot"/></custom-block></script></block><block s="gotoXY"><block var="X"/><block var="Y"/></block></script><block s="reportVariadicEquals"><list><block var="Shape"/><l>Circle hollow</l></list></block><script><block s="setSize"><block s="reportQuotient"><block var="Numb"/><custom-block s="II"></custom-block></block></block><block s="gotoXY"><block s="reportDifference"><block var="X"/><block s="reportVariadicProduct"><list><block var="Numb"/><l>7.1</l></list></block></block><block s="reportDifference"><block var="Y"/><block s="reportQuotient"><block var="Numb"/><l>1.9</l></block></block></block><block s="setHeading"><l>0</l></block><block s="doRepeat"><l>360</l><script><block s="down"></block><block s="forward"><block s="reportQuotient"><block var="Numb"/><l>8</l></block></block><block s="turn"><l>1</l></block></script></block></script><block s="reportVariadicEquals"><list><block var="Shape"/><l>Circle filled</l></list></block><script><block s="setSize"><block s="reportQuotient"><block var="Numb"/><custom-block s="II"></custom-block></block></block><block s="gotoXY"><block s="reportDifference"><block var="X"/><block s="reportVariadicProduct"><list><block var="Numb"/><l>7.1</l></list></block></block><block s="reportDifference"><block var="Y"/><block s="reportQuotient"><block var="Numb"/><l>1.9</l></block></block></block><block s="setHeading"><l>0</l></block><block s="doRepeat"><l>360</l><script><block s="down"></block><block s="forward"><block s="reportQuotient"><block var="Numb"/><l>8</l></block></block><block s="turn"><l>1</l></block></script></block><block s="doDeclareVariables"><list><l>Numb decline</l></list></block><block s="doSetVar"><l>Numb decline</l><block var="Numb"/></block><block s="doRepeat"><block s="reportVariadicProduct"><list><block var="Numb"/><l>100</l></list></block><script><block s="doChangeVar"><l>Numb decline</l><l>-0.1</l></block><custom-block s="$gears Draw a %s at X %n Y %n size %n on a rotation of %n"><l>Circle hollow</l><block var="X"/><block var="Y"/><block var="Numb decline"/><block var="Rot"/></custom-block></script></block></script><block s="reportVariadicEquals"><list><block var="Shape"/><l>Triangle 1</l></list></block><script><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="setHeading"><block s="reportVariadicSum"><list><block var="Rot"/><l>90</l></list></block></block><block s="forward"><block s="reportQuotient"><block var="Numb"/><l>2</l></block></block><block s="setSize"><block s="reportQuotient"><block var="Numb"/><l>8</l></block></block><block s="down"></block><block s="setHeading"><block var="Rot"/></block><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block var="Numb"/></block></block><block s="forward"><block s="reportVariadicSum"><list><block var="Numb"/><block var="Numb"/></list></block></block><block s="setHeading"><block s="reportDifference"><block var="Rot"/><l>135</l></block></block><block s="forward"><block s="reportVariadicSum"><list><block var="Numb"/><block s="reportQuotient"><block var="Numb"/><l>2</l></block></list></block></block><block s="setHeading"><block s="reportDifference"><block var="Rot"/><l>225</l></block></block><block s="forward"><block s="reportVariadicSum"><list><block var="Numb"/><block s="reportQuotient"><block var="Numb"/><l>2</l></block></list></block></block></script><block s="reportVariadicEquals"><list><block var="Shape"/><l>Triangle 2</l></list></block><script><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="setHeading"><block s="reportVariadicSum"><list><block var="Rot"/><l>90</l></list></block></block><block s="forward"><block s="reportQuotient"><block var="Numb"/><l>2</l></block></block><block s="setHeading"><block var="Rot"/></block><block s="forward"><block var="Numb"/></block><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block var="Numb"/><l>2</l></block></block></block><block s="setSize"><block s="reportQuotient"><block var="Numb"/><l>8</l></block></block><block s="down"></block><block s="setHeading"><block var="Rot"/></block><block s="forward"><block var="Numb"/></block><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicSum"><list><block var="Numb"/><block var="Numb"/></list></block></block></block><block s="setHeading"><block s="reportDifference"><block var="Rot"/><l>90</l></block></block><block s="forward"><block s="reportVariadicSum"><list><block var="Numb"/><block var="Numb"/></list></block></block><block s="setHeading"><block s="reportVariadicSum"><list><block var="Rot"/><l>45</l></list></block></block><block s="forward"><block s="reportVariadicProduct"><list><block var="Numb"/><l>2.75</l></list></block></block></script><block s="reportVariadicEquals"><list><block var="Shape"/><l>Triangle 3</l></list></block><script><block s="gotoXY"><block s="reportDifference"><block var="X"/><block s="reportQuotient"><block var="Numb"/><l>4</l></block></block><block s="reportDifference"><block var="Y"/><block s="reportQuotient"><block var="Numb"/><l>2</l></block></block></block><block s="setSize"><block s="reportQuotient"><block var="Numb"/><l>8</l></block></block><block s="down"></block><block s="changeXPosition"><block s="reportQuotient"><block var="Numb"/><l>2</l></block></block><block s="changeXPosition"><block s="reportMonadic"><l><option>neg</option></l><block var="Numb"/></block></block><block s="setHeading"><l>15</l></block><block s="forward"><block s="reportVariadicProduct"><list><block var="Numb"/><l>3</l></list></block></block><block s="setHeading"><l>165</l></block><block s="forward"><block s="reportVariadicProduct"><list><block var="Numb"/><l>3</l></list></block></block><block s="setHeading"><l>270</l></block><block s="changeXPosition"><block s="reportMonadic"><l><option>neg</option></l><block var="Numb"/></block></block></script><block s="reportVariadicEquals"><list><block var="Shape"/><l>Angle 1</l></list></block><script><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="setHeading"><block var="Rot"/></block><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block var="Numb"/><l>2</l></block></block></block><block s="setHeading"><block s="reportDifference"><block var="Rot"/><l>90</l></block></block><block s="forward"><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block var="Numb"/><l>2</l></block></block></block><block s="setSize"><block s="reportQuotient"><block var="Numb"/><l>8</l></block></block><block s="down"></block><block s="setHeading"><block s="reportDifference"><block var="Rot"/><l>90</l></block></block><block s="forward"><block var="Numb"/></block><block s="setHeading"><block s="reportVariadicSum"><list><block var="Rot"/><l>90</l></list></block></block><block s="forward"><block var="Numb"/></block><block s="setHeading"><block var="Rot"/></block><block s="forward"><block var="Numb"/></block></script><block s="reportVariadicEquals"><list><block var="Shape"/><l></l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Shape"/><l></l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Shape"/><l></l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Shape"/><l></l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Shape"/><l></l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Shape"/><l></l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Shape"/><l></l></list></block><script></script><block s="reportVariadicEquals"><list><block var="Shape"/><l>My self</l></list></block><script><block s="gotoXY"><block var="X"/><block var="Y"/></block><block s="doStamp"></block></script></list></block><block s="up"></block><block s="gotoXY"><block var="Last x"/><block var="Last y"/></block><block s="setSize"><block var="Last pen size"/></block><block s="setHeading"><block var="Last dir"/></block></script></block></script><scripts><comment x="197.08902994791669" y="122.74999999999926" w="90" collapsed="false">Draws an object along the XY graph</comment></scripts></block-definition><block-definition s="[] Variable/List Blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="create %&apos;list&apos; that contains %&apos;Input 2&apos;" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs><input type="%upvar" initial="1"></input><input type="%mult%s" separator="and" initial="1" min="1"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="Input 2"/><l><option>list</option></l></block><script><block s="doSetVar"><l>list</l><block var="Input 2"/></block></script><script><block s="doSetVar"><l>list</l><block s="reportNewList"><list><block var="Input 2"/></list></block></block></script><comment w="90" collapsed="false">Creates a list with the selected inputs</comment></block></script></block-definition><block-definition s="[] Misc Blocks $arrowDown" type="command" category="Ace’s blocks" space="true"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s=": %&apos;input&apos; %&apos;Script&apos;" type="command" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">This is a comment</input><input type="%cs" initial="1"></input></inputs><script><block s="doRun"><block var="Script"/><list></list></block></script></block-definition><block-definition s="hold without running %&apos;input&apos; %&apos;Comment&apos;" type="command" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs><input type="%cs" initial="1"></input><input type="%txt" initial="1">This is a comment</input></inputs></block-definition><block-definition s="$gearPartial message queue" type="reporter" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>var</l></list></block><block s="doSetVar"><l>var</l><custom-block s="$gears hiddenVars"><variables><variable name="a"><l>0</l></variable></variables></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="evaluate"><block var="var"/><list></list></block><l><option>list</option></l></block></block><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportNewList"><list></list></block></block></script><list></list></block><list><block var="var"/></list></block></script><list></list></block><block s="doReport"><block var="var"/></block></script></block-definition><block-definition s="$gearPartial when message recieved %&apos;callback&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><block s="doAddToList"><block var="callback"/><block s="evaluate"><custom-block s="$gearPartial message queue"></custom-block><list></list></block></block></script></block-definition><block-definition s="PL Mod v1.1_b" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>// expecting some silly dev comments? okay then&#xD;&#xD;if (typeof mods != &apos;array&apos;) mods = [];&#xD;&#xD;if (!mods.includes(&apos;tethrarxitet.plmod&apos;)) // there was something i couldve leaked here but didnt because im smatt&#xD;    (function () {&#xD;        mods.push(&apos;tethrarxitet.plmod&apos;)&#xD;        let combineObjects = (object, newKeys) =&gt; {&#xD;            for (let key in newKeys) object[key] = newKeys[key]; return object&#xD;        }, doInOrder = (object, actions) =&gt; {&#xD;            for (let key in actions) {&#xD;                object[key].call(object, actions[key])&#xD;            }&#xD;        }, bodyText = contents =&gt; (new DialogBoxMorph()).inform(0, contents || &apos;make text&apos;).body.copy();&#xD;&#xD;        let texture = new Image(),&#xD;            IDE = world.childThatIsA(IDE_Morph),&#xD;            init = () =&gt; {&#xD;                let lib = localStorage.getItem(&apos;--teth-plib--&apos;);&#xD;                if (lib) return JSON.parse(lib);&#xD;                localStorage.setItem(&apos;--teth-plib--&apos;, &apos;[]&apos;);&#xD;                return [];&#xD;            },&#xD;            snapMenu = IDE_Morph.prototype.snapMenu,&#xD;            projectMenu = IDE_Morph.prototype.projectMenu,&#xD;            plver = &apos;1.1_b&apos;;&#xD;&#xD;        texture.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAAA" + // ugly base64 (like how snap stores their icon)&#xD;            "qCAMAAADbGsbuAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACKFBMVEUAAACAAGSAAGOAAG" +&#xD;            "SAAGN9AGG9AJT8AMZ3AF23AI/2AMH2AMBxAFixAIrwALzwAL1xAFlxAFixAItqAFPqA" +&#xD;            "LfpALdlAE/kALP////ygNleAEneAK7dAK3OgL1eAErugNbvgNdZAEXYAKmYAHesgKJS" + // i couldve used cross-origin: anonymous but NAH&#xD;            "AEDRAKTIgLlMADzMAKDMAJ+mgJ7mgM9NADxGADbFAJvFAJqjgJuFAGnCgLRGADdAADL" +&#xD;            "AAJbAgLI5AC25AJE6AC00ACi0AI2zAI2zAIw0ACmagJTagMYtACOtAIitAIcuACSWgJ" +&#xD;            "FtAFW2gKqXgJJtAFYoAB+oAIOnAINoAFFnAFEhABlhAEyhAH4cABVbAEecAHqbAHmbA" +&#xD;            "HpcAEgVABBVAEOVAHSVAHUMICkPAAwQAAxPAD6PAHCQAHBQAD4QAAwAfHwAvLwA/PwH" +&#xD;            "LzRJADmJAGsAd3cAtrYA9/cA9vYCLTBDADSDAGeDAGZDADUCLS8AcHAAsLAA8PAALCw" +&#xD;            "AAAAAamoA6+sAY2MA5OQA5eWA8vIAXl4A39+Az8+A7+8AV1cA2dkAWFgAmJgAUlIA1N" +&#xD;            "QA09MAS0sAzc2ApaWA5uYARkYAyMiAo6MAh4eAw8MAPz8AwsIAwcEAgIAAOjoAvb0AM" +&#xD;            "zOAmZkALS0AsbEALi6Al5cAb28AJycAqqoAq6sAaGgAISEAZGQApaUAGxsAXV0An58A" +&#xD;            "FRUAmZkAmpoADw8ADw8AUVEAk5MACQkATEwAjo4AAwMARUUAAAB1GmjSAAAAuHRSTlM" +&#xD;            "Av///v7///7////+///////////////////////////////////////////////////" +&#xD;            "///////////////////////////////////////7///7///////7//////////////v" +&#xD;            "7///////7////////////+/////////////////////////////////////////////" +&#xD;            "//////////////////+///+///+///+/////v///v/+/x1brzwAAA1FJREFUeJylVAt" +&#xD;            "bTFEUPYxSVOS5K69BTEkvJlGJmTxHyCPKI6EJ5c0gJiJp8ohUakyhlCJJqf6evc+ee+" +&#xD;            "dMkilr33XWWfvss77b901XCCGmTTcYDDOEDukD4jS+EBQ8ExEcpAWwDwh8KSR01myq0" +&#xD;            "BAO0HxARZfCwiPmREQQw+dGRkbOjdR9QJwXJuYvWPhfNV8sWowARBQLgOYWR0lHIs+Y" +&#xD;            "PsdYJKJjlsQskTeXxnDCMq9bLjV6hXa2jKg7eQ8rWhhXIgCMRoBVJEbajetW05jvbCX" +&#xD;            "DKGLXIABiiSR/d7DW2/SdIWKFKS4+Ll6+7zoTrT6XgGsCORNyPf+FJl3kPSyTSExKTk" +&#xD;            "qmbkpiKkkiO0hJTd6AsgHdRiJ26JQTNso5WYnCnIYAMJvNBhZ2AIa0NAMJOurgs4nFz" +&#xD;            "JLGMIv0zQiALSy683W8js78HSNdZGRmZW4FyN6Kyq+YhY4ozbaM7VLQZWfKpu8M6E6G" +&#xD;            "sFhzrDkAO3C1ct9CDkn7nTt2WXcD7LHsxb7V/4w6OVaLsO3LxbLZaM21SUiHpP1+7O6" +&#xD;            "32Q7QmaRyRp19NnEw79D/IO+gEIePHM0/lj9FHj9MH4SCwhMnp1iFBfxNOXW66HTRme" +&#xD;            "Lis8XMc+QDqvMcUGIvRVy4eMmLixdKJ4a9RPihrPzyFaqr167foLp5i/0EVV6mBtx23" +&#xD;            "PHi7j2Ju3f+DcdtJaHi/lRQoSQ8cDornQCVTlQAJ/3UHjpZsPeQXKXeZGL/gZLwqAoB" +&#xD;            "oIn8tT6u8soTP0dT3slHSkL1UwRADUs17pDPcFcjZYzTJquVhFqXy1UHUFuHioKPv9T" +&#xD;            "90cR5V62S8PwFAkAT+cIv/URvvmKhyedKQv1rBIAmcvhNgyp68/VbXOsbaLJeSWhsam" +&#xD;            "pqBmhsRkXBB/nOT7SmnHtH802NSkKL3d5qB0Cxt6LQbjyhM33O3tqiJLjLEfy2KG65e" +&#xD;            "Y/iZqdKOS8Et5LgaXO0OTihHcBD+sHzEXdt0rU7uE+O5todNN/mURI+dXR0dnR8kkDp" +&#xD;            "JP1MDUldOiWll/NKQlf3l8mju0v95+zp/TpZ9PYIP3yr6evr+z4J1nwTY9D/AzHwU8f" +&#xD;            "Aj4nRPzaAMTj0y4uhwfEn/onhkQaJkeEpBggxyl+50Ule+w1osKYTW7+9+AAAAABJRU" +&#xD;            "5ErkJggg==";&#xD;&#xD;        if (SnapVersion.split(&apos;.&apos;)[0] &lt; 10) {&#xD;            new DialogBoxMorph().inform(&apos;PL Mod | Update!&apos;, `Your version of Snap! is out of date. Please&#xD;upgrade it or move online to use this mod.&#xD;            &#xD;Your version: ${SnapVersion}&#xD;Required: v10.x.x`, world, texture)&#xD;            return;&#xD;        }&#xD;        texture.onload = () =&gt; { // to prevent empty dialog&#xD;            let lines = new AlignmentMorph(&apos;column&apos;, 0),&#xD;                line1 = bodyText(&apos;Thank you for using Personal Library! A new option&apos;),&#xD;                line2 = new AlignmentMorph(&apos;row&apos;),&#xD;                line2_1 = bodyText(&apos;has been added to your project menu (&apos;),&#xD;                line2_2 = new SymbolMorph(&apos;file&apos;, line1.fontSize, WHITE, line1.shadowOffset, line1.shadowColor),&#xD;                line2_3 = bodyText(&apos; ). Enjoy!&apos;),&#xD;                line3 = bodyText(&apos;- Tethrarxitet&apos;)&#xD;&#xD;            line2_2.fixLayout();&#xD;&#xD;            line2.add(line2_1);&#xD;            line2.add(line2_2);&#xD;            line2.add(line2_3);&#xD;            line2.fixLayout();&#xD;&#xD;            lines.add(line1);&#xD;            lines.add(line2);&#xD;            lines.add(line3);&#xD;            lines.fixLayout();&#xD;&#xD;            line3.setLeft(line3.left() + 60)&#xD;&#xD;            let a = new DialogBoxMorph().inform("PL Mod | Thanks!", null, world, texture)&#xD;            a.addBody(lines);&#xD;            a.fixLayout();&#xD;            a.popUp(world)&#xD;        };&#xD;&#xD;        IDE_Morph.prototype.snapMenu = function () {&#xD;            snapMenu.call(this)&#xD;&#xD;            let menuItemText = () =&gt; {&#xD;                let aligner = new AlignmentMorph(&apos;row&apos;),&#xD;                    textTemp = new StringMorph(null, MenuItemMorph.prototype.fontSize, MenuItemMorph.prototype.fontStyle, true),&#xD;                    texts = [];&#xD;                for (let i = 0; i &lt; 3; i++) {&#xD;                    texts[i] = textTemp.copy();&#xD;                    texts[i].text = i == 0 ? &apos;About &apos; : i == 1 ? &apos;Personal &apos; : &apos;Library&apos;&#xD;                    if (!i) texts[i].isBold = false;&#xD;                    texts[i].fixLayout();&#xD;                    aligner.add(texts[i]);&#xD;                    texts[i].color = [&apos;#000&apos;, new Color(192, 0, 192), new Color(0, 192, 192)][i]&#xD;                }&#xD;&#xD;                texts[1].color = new Color(192, 0, 192);&#xD;                texts[2].color = new Color(0, 192, 192);&#xD;&#xD;                aligner.fixLayout();&#xD;&#xD;                return aligner;&#xD;            }&#xD;            let menu = world.activeMenu;&#xD;            menu.addLine();&#xD;            menu.addItem(menuItemText(), () =&gt; {&#xD;                a = new DialogBoxMorph().inform("PL Mod | About", `PL mod v${plver}&#xD;&#xD;Copyleft 2024 Tethrarxitet&#xD;tethrarxitet@gmail.com&#xD;&#xD;Mod idea by @qw23.&#xD;${this.world().currentKey === 16 ?&#xD;                        &apos;Thanks to all who supported:\n@mobility212 for the first words of positivity,\n@blockpointstudios for the separator and sorting idea,\n&apos; +&#xD;                        &apos;many other beautiful members of the Snap! forum...\nand YOU for using this mod and supporting\nmy projects. :)\n&apos;&#xD;                        :&#xD;                        ``&#xD;                    }&#xD;For more mods by Tethrarxitet, check out&#xD;https://tethrxt.neocities.org/snap/mods`, world, texture)&#xD;            }, null, new Color(Math.random() * 255, Math.random() * 255, Math.random() * 255), true);&#xD;&#xD;            menu.popup(world, this.logo.bottomLeft());&#xD;        };&#xD;&#xD;        IDE_Morph.prototype.projectMenu = function () {&#xD;            projectMenu.call(this);&#xD;            let menu = world.activeMenu;&#xD;&#xD;            let pl = new MenuMorph(this, "PL Mod by Tethrarxitet");&#xD;&#xD;            pl.addItem("Personal libraries...", () =&gt; {&#xD;                try {&#xD;                    let a = init();&#xD;                    if (JSON.stringify(a) == &apos;[]&apos;) {&#xD;                        new DialogBoxMorph().inform("Library is empty",&#xD;                            &apos;Your personal library is empty!\n&apos; +&#xD;                            &apos;Create and save some custom blocks to\n&apos; +&#xD;                            &apos;open it.&apos;, world);&#xD;                        return;&#xD;                    }&#xD;&#xD;                    let b = new LibraryImportDialogMorph(IDE, a);&#xD;                    b.labelString = &apos;Import personal library&apos;;&#xD;                    b.createLabel();&#xD;                    b.fixLayout();&#xD;&#xD;                    b.listField.action = ({ name, xml, description }) =&gt; {&#xD;                        if (isNil(name) || isNil(xml)) { return; }&#xD;                        b.notesText.text = localize(description) || &apos;&apos;;&#xD;                        b.notesText.rerender();&#xD;                        b.notesField.contents.adjustBounds();&#xD;                        if (b.hasCached(xml)) {&#xD;                            b.displayBlocks(xml);&#xD;                        } else {&#xD;                            b.showMessage(`${localize(&apos;Loading&apos;)}\n${localize(name)}`);&#xD;                            let serializer = b.ide.serializer,&#xD;                                palette = serializer.parse(xml).childNamed(&apos;palette&apos;);&#xD;                            b.cacheLibrary(xml,&#xD;                                serializer.loadBlocks(xml, null, true),&#xD;                                palette ? serializer.loadPalette(palette) : {}&#xD;                            );&#xD;                            b.displayBlocks(xml);&#xD;                        }&#xD;                    };&#xD;&#xD;                    b.importLibrary = function () {&#xD;                        if (!this.listField.selected) { return; }&#xD;                        let xml = this.listField.selected.xml,&#xD;                            libraryName = this.listField.selected.name;&#xD;&#xD;                        SpriteMorph.prototype.customCategories = this.originalCategories;&#xD;&#xD;                        IDE.showMessage(`${localize(&apos;Loading&apos;)} ${libraryName}`);&#xD;                        IDE.droppedText(xml, libraryName);&#xD;                    }&#xD;                    b.popUp();&#xD;                } catch (e) {&#xD;                    let errorDialog = new DialogBoxMorph().inform("Error while opening library",&#xD;                        e.message + "\nTry reporting this error to Tethrarxitet.\n\nTo make it easier to fix, try copying your personal\nlibrary data with the button above.", world),&#xD;                        copyLibrary = new PushButtonMorph(errorDialog, () =&gt; {&#xD;                            navigator.clipboard.writeText(&apos;Library contents: \&apos;&apos; + localStorage.getItem(&apos;--teth-plib--&apos;) + &apos;\&apos;&apos;);&#xD;                            IDE.showMessage(&apos;copied to clipboard&apos;, 2)&#xD;                        }, &apos;Copy data&apos;, null);&#xD;&#xD;                    let barcolor = DialogBoxMorph.prototype.titleBarColor;&#xD;                    combineObjects(copyLibrary, {&#xD;                        fontSize: 6,&#xD;                        padding: 1,&#xD;                        color: barcolor.darker(25),&#xD;                        labelShadowColor: barcolor.darker(10)&#xD;                    });&#xD;                    doInOrder(copyLibrary, {&#xD;                        createLabel: [],&#xD;                        fixLayout: []&#xD;                    });&#xD;                    errorDialog.add(copyLibrary);&#xD;                    doInOrder(copyLibrary, {&#xD;                        setLeft: [errorDialog.right() - copyLibrary.width() - errorDialog.padding / 2],&#xD;                        setTop: [errorDialog.top() + errorDialog.titleFontSize - errorDialog.padding / 2]&#xD;                    });&#xD;                }&#xD;            }, "select a library from your personal\n" +&#xD;            "libraries");&#xD;            pl.addItem("Edit libraries...", () =&gt; {&#xD;                new DialogBoxMorph().inform("Soon\u2122", "Reordering/deleting is not yet ready.", world);&#xD;            }, "change the order of how every\n" +&#xD;            "library appears in the list");&#xD;            pl.addLine();&#xD;            pl.addItem("Import .spl file...", () =&gt; {&#xD;                //  new DialogBoxMorph().inform("Soon\u2122", "SPL file import support is not\n" +&#xD;                //      "yet ready, but soon enough it will be!", world);&#xD;                function parse(target) {&#xD;                    function splitOnce(s, on) {&#xD;                        [first, ...rest] = s.split(on)&#xD;                        return [first, rest.length &gt; 0 ? rest.join(on) : null]&#xD;                    }&#xD;&#xD;                    return Object.fromEntries(target.split(&apos;\n&apos;).map(a =&gt; splitOnce(a, &apos;=&apos;)));&#xD;                }&#xD;&#xD;                let fileImport = document.createElement(&apos;input&apos;);&#xD;                fileImport.type = &apos;file&apos;;&#xD;                fileImport.accept = &apos;.text, .txt, .spl&apos;;&#xD;                fileImport.click();&#xD;                fileImport.onchange = ev =&gt; {&#xD;                    let fileReader = new FileReader();&#xD;&#xD;                    fileReader.readAsText(fileImport.files[0])&#xD;                    fileReader.onload = function (ev2) {&#xD;                        try {&#xD;                            let libs = init(),&#xD;                                parsed = parse(ev2.target.result),&#xD;                                parsedTrim = Object.fromEntries(Object.entries(parsed).map(a =&gt; [a[0], a[1].trim()])), // an absolute monstrosity&#xD;                                anyCopy = libs.find(a =&gt; a.name == parsedTrim.name),&#xD;                                ogPt = copy(parsedTrim),&#xD;                                copyInfo = anyCopy ? &apos;\n\nA library with the same name has been found, so\na "- Copy" will be added.&apos; : &apos;&apos;&#xD;                                &#xD;&#xD;                            while (anyCopy) {&#xD;                                parsedTrim.name += &apos; - Copy&apos; // to prevent duplicate names&#xD;                                anyCopy = libs.find(a =&gt; a.name == parsedTrim.name)&#xD;                            }&#xD;&#xD;                            let confirm = new DialogBoxMorph().inform("Import blocks",&#xD;                                &apos;Are you sure you want to import\n"&apos; +&#xD;                                    ogPt.name +&#xD;                                    &apos;"?\n\nLibrary description:\n&apos; +&#xD;                                    ogPt.description + copyInfo, world);&#xD;                            confirm.createButtons();&#xD;                            confirm.addButton(&apos;ok&apos;, &apos;Yes&apos;);&#xD;                            confirm.addButton(&apos;cancel&apos;, &apos;No&apos;);&#xD;                            confirm.fixLayout();&#xD;&#xD;                            confirm.ok = () =&gt; {&#xD;                                libs.push(parsedTrim);&#xD;                                localStorage.setItem(&apos;--teth-plib--&apos;, JSON.stringify(libs));&#xD;                                IDE.showMessage(&apos;imported successfully!&apos;, 2);&#xD;&#xD;                                confirm.destroy();&#xD;                            }&#xD;                        } catch (e) {&#xD;                            IDE.showMessage(&apos;an error has occurred while importing:\n&apos; + e + &apos;\n\nthe library was not added to your list.&apos;, 5)&#xD;                        }&#xD;                    }&#xD;                }&#xD;                fileImport.remove();&#xD;            }, "EXPERIMENTAL! import a personal\n" +&#xD;            "library made by another person");&#xD;            pl.addItem("Export .spl file...", () =&gt; {&#xD;                var exportDialog = new DialogBoxMorph();&#xD;&#xD;                exportDialog.listField = new ListMorph(init().map(obj =&gt; obj.name));&#xD;                let listField = exportDialog.listField;&#xD;&#xD;                combineObjects(listField, {&#xD;                    edge: InputFieldMorph.prototype.edge,&#xD;                    fontSize: InputFieldMorph.prototype.fontSize,&#xD;                    typeInPadding: InputFieldMorph.prototype.typeInPadding,&#xD;                    contrast: InputFieldMorph.prototype.contrast,&#xD;                    render: InputFieldMorph.prototype.render,&#xD;                    drawRectBorder: InputFieldMorph.prototype.drawRectBorder,&#xD;                });&#xD;&#xD;                listField.setWidth(200)&#xD;                listField.setHeight(250)&#xD;&#xD;                ProjectDialogMorph.prototype.fixListFieldItemColors.call(exportDialog);&#xD;&#xD;                exportDialog.labelString = "Export blocks"&#xD;                exportDialog.createLabel();&#xD;                exportDialog.addBody(listField);&#xD;                exportDialog.addButton(() =&gt; {&#xD;                    exportDialog.ok();&#xD;&#xD;                    let targetLib = init().find(a =&gt; a.name == listField.selected);&#xD;                    let fileContents = `name=${targetLib.name}&#xD;description=${targetLib.description}&#xD;xml=${targetLib.xml}`;&#xD;                    let blob = new Blob([fileContents], { type: "text/plain" });&#xD;                    saveAs(blob, `${targetLib.name}.spl`);&#xD;                }, "Export");&#xD;                exportDialog.addButton(&apos;cancel&apos;, "cancel");&#xD;                exportDialog.fixLayout();&#xD;                exportDialog.popUp(world);&#xD;&#xD;            }, "EXPERIMENTAL! export a personal\n" +&#xD;            "library to share online");&#xD;            pl.addLine();&#xD;            pl.addItem("Save custom blocks...", () =&gt; {&#xD;                var blocks = SpriteMorph.prototype.bootstrappedBlocks().concat(&#xD;                    this.stage.globalBlocks);&#xD;                var bex = new BlockExportDialogMorph(IDE.serializer, blocks, IDE);&#xD;                bex.labelString = &apos;Save custom blocks&apos;;&#xD;                bex.createLabel();&#xD;                bex.fixLayout();&#xD;                pal = bex.childThatIsA(ScrollFrameMorph);&#xD;                bex.exportBlocks = function () {&#xD;                    if (this.blocks.length) {&#xD;                        let xml = IDE.blocksLibraryXML(&#xD;                            this.blocks, null, false,&#xD;                            this.globalData.fork(this.globalVarNames),&#xD;                            this.localData.fork(this.localVarNames)),&#xD;                            creator = new DialogBoxMorph(),&#xD;                            c = bodyText(0), // name unimportant, this won&apos;t be used anywhere else :3&#xD;                            textLine = contents =&gt; new StringMorph(contents, c.fontSize, c.fontStyle, 1, 0, 0, c.shadowOffset, WHITE),&#xD;                            editorSide = new AlignmentMorph(&apos;column&apos;, 4),&#xD;                            allContents = new AlignmentMorph(&apos;row&apos;, 4),&#xD;                            libTitle = textLine("Library title:"),&#xD;                            libDesc = textLine("Library description (multiline):"),&#xD;                            libTitleInput = new InputFieldMorph(&apos;Unnamed library&apos;),&#xD;                            libDescInput = new ScrollFrameMorph(),&#xD;                            inputText = new TextMorph(&apos;&apos;, 12),&#xD;                            palette = new ScrollFrameMorph(null, null, SpriteMorph.prototype.sliderColor);&#xD;&#xD;                        // CREATOR&#xD;                        creator.labelString = &apos;Create library&apos;;&#xD;                        creator.createLabel();&#xD;                        creator.key = &apos;createLibrary&apos;&#xD;                        creator.addButton(() =&gt; {&#xD;                            libraryData = init();&#xD;                            &#xD;                            console.log(libTitleInput.contents().text.text)&#xD;                            if (libraryData.find(a =&gt; a.name == libTitleInput.contents().text.text)) {&#xD;                                IDE.showMessage(&apos;a library with that name already exists!&apos;)&#xD;                            } else {&#xD;                                creator.ok();&#xD;                                libraryData.push({&#xD;                                    xml: xml,&#xD;                                    name: libTitleInput.contents().text.text || "Unnamed library",&#xD;                                    description: inputText.text || "(no description provided)"&#xD;                                });&#xD;                                localStorage.setItem(&apos;--teth-plib--&apos;, JSON.stringify(libraryData))&#xD;                                IDE.showMessage(&apos;blocks saved.&apos;, 2)&#xD;                            }&#xD;                        }, &apos;Save&apos;);&#xD;                        creator.addButton(&apos;cancel&apos;, &apos;Cancel&apos;);&#xD;                        creator.addBody(allContents);&#xD;&#xD;                        // LIBTITLEINPUT&#xD;                        libTitleInput.setWidth(250);&#xD;&#xD;                        // INPUTTEXT&#xD;                        inputText.setWidth(250 - 4);&#xD;                        inputText.setPosition(libDescInput.topLeft().add(4));&#xD;                        inputText.acceptsDrops = false;&#xD;                        inputText.enableSelecting();&#xD;                        inputText.isEditable = true;&#xD;                        inputText.fixLayout();&#xD;&#xD;                        // LIBDESCINPUT&#xD;                        libDescInput.setWidth(250);&#xD;                        libDescInput.setHeight(125);&#xD;                        combineObjects(libDescInput, {&#xD;                            acceptsDrops: false,&#xD;                            edge: InputFieldMorph.prototype.edge,&#xD;                            fontSize: InputFieldMorph.prototype.fontSize,&#xD;                            typeInPadding: InputFieldMorph.prototype.typeInPadding,&#xD;                            contrast: InputFieldMorph.prototype.contrast,&#xD;                            drawRectBorder: InputFieldMorph.prototype.drawRectBorder,&#xD;                            render: InputFieldMorph.prototype.render,&#xD;                            fixLayout: nop,&#xD;                        });&#xD;                        libDescInput.addContents(inputText);&#xD;&#xD;                        // EDITORSIDE&#xD;                        editorSide.alignment = &apos;left&apos;;&#xD;                        editorSide.color = creator.color;&#xD;                        editorSide.add(libTitle);&#xD;                        editorSide.add(libTitleInput);&#xD;                        editorSide.add(libDesc);&#xD;                        editorSide.add(libDescInput);&#xD;                        editorSide.fixLayout();&#xD;&#xD;                        // ALLCONTENTS&#xD;                        allContents = new AlignmentMorph(&apos;row&apos;, 4);&#xD;                        allContents.add(editorSide);&#xD;                        allContents.add(palette);&#xD;&#xD;                        // PALETTE&#xD;                        combineObjects(palette, {&#xD;                            color: SpriteMorph.prototype.paletteColor,&#xD;                            padding: 4,&#xD;                            isDraggable: false,&#xD;                            acceptsDrops: false,&#xD;                        })&#xD;&#xD;                        palette.contents.acceptsDrops = false;&#xD;                        palette.setWidth(editorSide.height());&#xD;                        palette.setHeight(palette.width());&#xD;&#xD;                        blockList = pal.children[0].children.filter(a =&gt; a.state).map(a =&gt; a.element)&#xD;                        paletteAlignment = new AlignmentMorph(&apos;column&apos;, 4);&#xD;                        paletteAlignment.alignment = &apos;left&apos;;&#xD;                        paletteAlignment.add(new StringMorph(&apos;Blocks to save:&apos;, 11, 0, 1, 0, 0, 0, 0, "#ddd"));&#xD;                        blockList.forEach(block =&gt; {&#xD;                            let inst = block.definition.blockInstance();&#xD;                            inst.isDraggable = false;&#xD;                            paletteAlignment.add(inst);&#xD;                        });&#xD;                        paletteAlignment.setPosition(paletteAlignment.position().add(4));&#xD;                        palette.setContents(paletteAlignment);&#xD;&#xD;                        // let&apos;s fix layouts :)&#xD;&#xD;                        paletteAlignment.fixLayout();&#xD;                        palette.fixLayout();&#xD;                        allContents.fixLayout();&#xD;&#xD;                        creator.addBody(allContents);&#xD;                        creator.fixLayout();&#xD;&#xD;                        creator.popUp(world);&#xD;                    } else { }&#xD;                };&#xD;                bex.popUp(this.world());&#xD;            }, "save some custom blocks in this\n" +&#xD;            "project to your personal libraries");&#xD;            if (this.world().currentKey === 16) {&#xD;                pl.addLine();&#xD;                pl.addItem("Delete all libraries", () =&gt; {&#xD;                    conf = new DialogBoxMorph()&#xD;                    var txt = bodyText(&#xD;                        &apos;Are you sure you want to delete all of your\npersonal library? &apos; +&#xD;                        &apos;This &gt;&gt;CANNOT&lt;&lt; be undone.\nOnly REALLY do this if your personal &apos; +&#xD;                        &apos;library is\nbroken or you\&apos;ve had issues with saving.&apos;);&#xD;                    conf.addBody(txt);&#xD;                    conf.addButton(() =&gt; {&#xD;                        conf.ok();&#xD;                        localStorage.setItem("--teth-plib--", &apos;[]&apos;);&#xD;                        IDE.showMessage(&apos;all blocks cleared.&apos;, 2);&#xD;                    }, &apos;Delete&apos;);&#xD;                    conf.addButton(&apos;cancel&apos;, &apos;Cancel&apos;);&#xD;                    conf.labelString = &apos;Delete all libraries&apos;;&#xD;                    conf.createLabel();&#xD;                    conf.fixLayout();&#xD;                    conf.popUp(world);&#xD;                }, null, new Color(100, 0, 0))&#xD;            }&#xD;&#xD;&#xD;            let array = menu.items;&#xD;            let idx = array.findIndex(item =&gt; item[0] == "Libraries...");&#xD;            if (idx == -1)&#xD;                console.warn(&apos;Library option couldn\&apos;t be found&apos;);&#xD;&#xD;            array.splice(idx, 0, [&apos;Personal libraries...&apos;, pl, 0, 0, 0, 0, 0, &apos;\u25ba&apos;]);&#xD;&#xD;            menu.popup(world, this.controlBar.projectButton.bottomLeft());&#xD;        };&#xD;    })();</l></block><list></list></block></script></block-definition><block-definition s="unit of %&apos;vec&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">vector</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="magnitude of %s"><block var="vec"/></custom-block><l>0</l></list></block><script><block s="doReport"><block var="vec"/></block></script><list></list></block><block s="doReport"><block s="reportQuotient"><block var="vec"/><custom-block s="magnitude of %s"><block var="vec"/></custom-block></block></block></script></block-definition><block-definition s="magnitude of %&apos;vec&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">vector</input></inputs><script><block s="doReport"><block s="reportPower"><block s="reportVariadicSum"><block s="reportPower"><block var="vec"/><l>2</l></block></block><l>.5</l></block></block></script></block-definition><block-definition s="II" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.1415926535897932384626433832795028841971</l></block></script></block-definition><block-definition s="$gearPartial find the GCF of %&apos;#1&apos; and %&apos;#2&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">4</input><input type="%n" initial="1">14</input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="#2"/><l>0</l></list></block><script><block s="doReport"><block var="#1"/></block></script><script><block s="doReport"><custom-block s="$gearPartial find the GCF of %n and %n"><block var="#2"/><block s="reportModulus"><block var="#1"/><block var="#2"/></block></custom-block></block></script></block></script><scripts><comment x="137.59082031250006" y="58.83333333333332" w="579.5" collapsed="true">This is a block for another custom block</comment></scripts></block-definition><block-definition s="$gears hiddenVars" type="reporter" category="variables"><variables><list struct="atomic" id="8080">a</list></variables><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reifyReporter"><autolambda><block var="a"/></autolambda><list></list></block></block></script></block-definition><block-definition s="grayscale specturm" type="reporter" category="pen" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>a</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewColor"><list><l>0</l><l>0</l><l>100</l></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><l>101</l></block></block></block><block s="doSetVar"><l>b</l><l>0</l></block><block s="doRepeat"><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><script><block s="doReplaceInList"><block var="b"/><block var="a"/><block s="reportNewColor"><list><l>0</l><l>0</l><block s="reportDifference"><l>100</l><block var="b"/></block></list></block></block><block s="doChangeVar"><l>b</l><l>1</l></block></script></block><block s="doDeleteFromList"><l><option>last</option></l><block var="a"/></block><block s="doReport"><block var="a"/></block></script><scripts><script x="235.41503906249986" y="132.7999999999995"><block s="reportVariadicSum"><list><l></l><l>1</l></list></block></script><script x="242.4150390624999" y="229.7999999999996"><block s="reportColorAttribute"><l><option>hue</option></l><color>145,26,68,1</color></block></script></scripts></block-definition><block-definition s="text list %&apos;text&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">makes a list by useing the sqaure brackests.&#xD; to add another item use a comma.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">[1, 2, 3, 4]</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportTextSplit"><custom-block s="all but first letter of %txt"><custom-block s="all but last letter of %txt"><block var="text"/></custom-block></custom-block><l>,</l></block></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="217.99999999999997" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations>pt:_ sem o último caractere&#xD;ca:_ sense la darrera lletra&#xD;es:todos menos la última letra de _&#xD;pl:_ bez ostatniej litery&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><custom-block s="require nonempty %s %s"><block var="string"/><l>All but first of empty word.</l></custom-block><l><option>letter</option></l></block></block></block></block></block></block></script></block-definition><block-definition s="require nonempty %&apos;text&apos; %&apos;message&apos;" type="reporter" category="operators" helper="true"><comment x="0" y="0" w="220" collapsed="false">Helper function for word/sentence library.&#xD;Reports its first input, unless that input is empty, in which case it gives its second input as an error message.</comment><header></header><code></code><translations>es:requerir no vacío _ _&#xD;</translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIfElse"><block s="reportIsA"><block var="text"/><l><option>list</option></l></block><block s="reportListIsEmpty"><block var="text"/></block><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><l>0</l></list></block></block><script><custom-block s="error %txt"><block var="message"/></custom-block></script><script><block s="doReport"><block var="text"/></block></script></block></script></block-definition><block-definition s="all but first letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="199" collapsed="false">Takes a text string as input, and reports a new text string containing all but the first character of the input.</comment><header></header><code></code><translations>pt:_ sem o primeiro caractere&#xD;ca:_ sense la primera lletra&#xD;es:todos menos la primera letra de _&#xD;pl:_ bez pierwszej litery&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><block s="reportCDR"><block s="reportTextSplit"><custom-block s="require nonempty %s %s"><block var="string"/><l>All but first of empty word.</l></custom-block><l><option>letter</option></l></block></block></block></block></script></block-definition><block-definition s="color specturm" type="reporter" category="pen" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewColor"><list><block s="reportVariadicSum"><list><l></l><l>1</l></list></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><l>100</l></block></block></block></script><scripts><script x="122.50000000000034" y="147.19999999999993"><block s="reportColorAttribute"><l><option>hue</option></l><color>145,26,68,1</color></block></script></scripts></block-definition><block-definition s="turn %&apos;list&apos; into text list" type="reporter" category="lists"><comment x="0" y="0" w="80" collapsed="false">Turns a list into text.</comment><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>c</l><l>b</l></list></block><block s="doSetVar"><l>c</l><l>0</l></block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doReplaceInList"><block var="c"/><block var="list"/><block s="reportJoinWords"><list><block s="reportListItem"><block var="c"/><block var="list"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>c</l><l>1</l></block></script></block><block s="doSetVar"><l>b</l><block s="reportJoinWords"><list><l>[</l><custom-block s="list $arrowRight sentence %l"><block var="list"/></custom-block><l>]</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="b"/><l>{}</l></list></block><script><custom-block s="error %txt"><l>no list</l></custom-block></script><list></list></block><block s="doReport"><block var="b"/></block></script><scripts><script x="388.72656250000114" y="202.99999999999983"><custom-block s="join words %mult%txt"><list><l></l></list></custom-block></script></scripts></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><comment x="0" y="0" w="230.66666666666663" collapsed="false">Like JOIN, takes any number of words (text strings) and reports a sentence with its inputs concatenated, but inserts a blank space between the inputs.&#xD;Consider using SENTENCE (Lists palette) instead.</comment><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;pt:uma frase com as palavras _&#xD;pl:połącz słowa _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="words"/></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doDeclareVariables"><list><l>first</l><l>bf</l></list></block><block s="doSetVar"><l>first</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="words"/></block><l><option>list</option></l></block><custom-block s="join words %mult%txt"><block s="reportListItem"><l>1</l><block var="words"/></block></custom-block><block s="reportListItem"><l>1</l><block var="words"/></block></block></block><block s="doSetVar"><l>bf</l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block><block s="doIf"><custom-block s="empty sentence? %txt"><block var="bf"/></custom-block><script><block s="doReport"><block var="first"/></block></script><list></list></block><block s="doIf"><custom-block s="empty sentence? %txt"><block var="first"/></custom-block><script><block s="doReport"><block var="bf"/></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block var="first"/><l> </l><block var="bf"/></list></block></block></script></block-definition><block-definition s="empty sentence? %&apos;sentence&apos;" type="predicate" category="operators"><comment x="0" y="0" w="221" collapsed="false">Takes a text string as input, and reports TRUE if the input contains no characters other than spaces (therefore, no words when the string is considered as a sentence), otherwise FALSE.</comment><header></header><code></code><translations>pt:a frase _ está vazia&#xD;ca:frase buida? _&#xD;es:¿oración vacía? _&#xD;pl:puste zdanie? _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportListIsEmpty"><block var="sentence"/></block></block></script><list></list></block><block s="doReport"><block s="reportListIsEmpty"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block></block></block></script></block-definition><block-definition s="saturation specturm %&apos;1&apos;" type="reporter" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%clr" expand="with color" initial="1" max="1">rgba(145,26,68,1)</input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>b</l><block s="reportNewColor"><list><block s="reportColorAttribute"><l><option>hue</option></l><block var="1"/></block><l>100</l><block s="reportColorAttribute"><l><option>brightness</option></l><block var="1"/></block></list></block></block><block s="doSetVar"><l>a</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewColor"><list><block s="reportColorAttribute"><l><option>hue</option></l><block var="b"/></block><block s="reportVariadicSum"><list><l></l><l>1</l></list></block><block s="reportColorAttribute"><l><option>brightness</option></l><block var="b"/></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><l>100</l></block></block></block><block s="doReport"><block var="a"/></block></script><scripts><script x="454.0298828124997" y="188.99999999999977"><block var="a"/></script><script x="172.70410156249955" y="217.9999999999999"><block var="b"/></script></scripts></block-definition><block-definition s="play frequncy %&apos;num&apos; MHz" type="command" category="sound" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input></inputs><script><block s="playFreq"><block s="reportVariadicProduct"><list><block var="num"/><l>1000</l></list></block></block></script></block-definition><block-definition s="previous costume" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><block s="reportDifference"><block s="getCostumeIdx"></block><l>1</l></block></block></script></block-definition><block-definition s="last costume" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><block s="reportListItem"><l><option>last</option></l><block s="reportGet"><l><option>costumes</option></l></block></block></block></script></block-definition><block-definition s="hide all sprites" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doTellTo"><block s="reportGet"><l><option>other sprites</option></l></block><block s="reifyScript"><script><block s="hide"></block><block s="doReport"><l></l></block></script><list></list></block><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportGet"><l><option>self</option></l></block><l><option>sprite</option></l></block><script><block s="hide"></block></script><list></list></block></script></block-definition><block-definition s="show all sprites" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doTellTo"><block s="reportGet"><l><option>other sprites</option></l></block><block s="reifyScript"><script><block s="show"></block><block s="doReport"><l></l></block></script><list></list></block><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportGet"><l><option>self</option></l></block><l><option>sprite</option></l></block><script><block s="show"></block></script><list></list></block></script></block-definition><block-definition s="loud?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="reportAudio"><l><option>volume</option></l></block><l>30</l></list></block></block></script></block-definition><block-definition s="first costume" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><block s="reportListItem"><l>1</l><block s="reportGet"><l><option>costumes</option></l></block></block></block></script></block-definition><block-definition s="all but first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="223.00000100000003" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the first word, with one space between words and no spaces at the beginning or end. (Note: consider using SENTENCE➞LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a primeira palavra&#xD;ca:_ sense la primera paraula&#xD;es:todas menos la primera palabra de _&#xD;pl:_ bez pierwszego słowa&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>All but first of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportCDR"><block var="sentence"/></block></block></script></block></script><list></list></block><block s="doReport"><custom-block s="list $arrowRight sentence %l"><block s="reportCDR"><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>All but first of empty sentence.</l></custom-block></block></custom-block></block></script></block-definition><block-definition s="all but last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="211.99999999999997" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the last word, with one space between words and no spaces at the beginning or end.  (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a última palavra&#xD;ca:_ sense la darrera paraula&#xD;es:todos menos la última palabra de _&#xD;pl:_ bez ostatniego słowa&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>All but last of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><block var="sentence"/></block></block></block></block></script></block></script><list></list></block><block s="doReport"><custom-block s="list $arrowRight sentence %l"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>All but last of empty sentence.</l></custom-block></block></block></block></custom-block></block></script></block-definition><block-definition s="first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="236" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the first word, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;ca:primera paraula de _&#xD;es:primera palabra de _&#xD;pl:pierwsze słowo _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>First of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="sentence"/></block></block></script></block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>First of empty sentence.</l></custom-block></block></block></script></block></script></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations>pt:o último caractere de _&#xD;ca:primera lletra de _&#xD;es:última letra de _&#xD;pl:ostatnia litera _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><l>0</l></list></block><script><custom-block s="error %txt"><l>Last of empty word.</l></custom-block></script><list></list></block><block s="doReport"><block s="reportLetter"><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="262" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the last word of the input, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a última palavra de _&#xD;ca:darrera paraula de _&#xD;es:última palabra de _&#xD;pl:ostatnie słowo _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>Last of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><block var="sentence"/></block></block></script></block></script><list></list></block><block s="doReport"><block s="reportListItem"><l><option>last</option></l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>Last of empty sentence.</l></custom-block></block></block></script></block-definition><block-definition s="empty word? %&apos;word&apos;" type="predicate" category="operators"><comment x="0" y="0" w="208" collapsed="false">Takes a text string as input, and reports TRUE if the string has no characters in it of any kind, otherwise false.</comment><header></header><code></code><translations>pt:a palavra _ está vazia&#xD;ca:paraula buida? _&#xD;es:¿palabra vacía? _&#xD;pl:puste słowo? _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="empty word? %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><l>0</l></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><comment x="0" y="0" w="165.33333333333334" collapsed="false">Takes a sentence in list form and reports the sentence as a text string.</comment><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;pt:uma frase com as palavras em _&#xD;pl:lista $arrowRight zdanie _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="146.42857142857144" collapsed="false">report a list in which each item is one letter from the input word</comment><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;pt:uma lista com os caracteres da palavra _&#xD;pl:słowo $arrowRight lista _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="word $arrowRight list %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><list></list></block><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><comment x="0" y="0" w="158.57142857142858" collapsed="false">join all the items of the input list&#xD;into a single word, and report it</comment><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;pt:uma palavra com os caracteres em _&#xD;pl:lista $arrowRight słowo _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="list"/></block><script><block s="doReport"><block var="list"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="list"/></block><l></l></list></block><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script><list></list></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><block s="reportNewList"><list><custom-block s="list $arrowRight word %l"><l/></custom-block></list></block><l></l></block></autolambda><list></list></block><block var="list"/></block></block></script></block-definition><block-definition s="first letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the first character in the string.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;ca:primera lletra de _&#xD;es:primera letra de _&#xD;pl:pierwsza litera _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><script><block s="doReport"><block s="reportLetter"><l>1</l><custom-block s="require nonempty %s %s"><block var="word"/><l>First of empty word.</l></custom-block></block></block></script></block></script></block-definition><block-definition s="hidden?" type="predicate" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNot"><block s="reportShown"></block></block></block></script></block-definition><block-definition s="tell number %&apos;num&apos; of %&apos;sprite&apos; clones to do %&apos;a&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input><input type="%s" readonly="true" irreplaceable="true" initial="1">myself<options>§_clonablesMenu</options></input><input type="%cmdRing" initial="1"></input></inputs><script><block s="doTellTo"><block s="reportListItem"><block var="num"/><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block></block><block var="a"/><list></list></block></script></block-definition><block-definition s="suffix number %&apos;num&apos; percision %&apos;num2&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1">1</input></inputs><script><block s="doDeclareVariables"><list><l>power of 1k</l><l>suffix</l><l>scaled</l><l>dight count</l><l>rounding factor</l><l>scaled</l></list></block><block s="doSetVar"><l>Suffix</l><block s="reportNewList"><list><l> k</l><l> millon</l><l> billon</l><l> trillon</l><l> quadrillon</l><l> qunitillion</l><l> sextillon</l><l> octillion</l><l> nontillion</l><l> decillion</l><l>  undecillion</l><l> duodecillion</l><l> tredecillion</l><l> quattuordecillion</l><l> quindecillion</l><l> sexdecillion</l><l> septendecillon</l><l> octodecillion</l><l> novemdecillion</l><l> vigintillon</l></list></block></block><block s="doSetVar"><l>power of 1k</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportMonadic"><l><option>log</option></l><block s="reportVariadicProduct"><list><block var="num"/><l>1.0000001</l></list></block></block><l>3</l></block></block></block><block s="doSetVar"><l>scaled</l><block s="reportQuotient"><block var="num"/><block s="reportMonadic"><l><option>10^</option></l><block s="reportVariadicProduct"><list><block var="power of 1k"/><l>3</l></list></block></block></block></block><block s="doSetVar"><l>dight count</l><block s="reportVariadicSum"><list><l>1</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportVariadicProduct"><list><block var="scaled"/><l>1.0000001</l></list></block></block></block></list></block></block><block s="doSetVar"><l>rounding factor</l><block s="reportMonadic"><l><option>10^</option></l><block s="reportDifference"><block var="num2"/><block var="dight count"/></block></block></block><block s="doSetVar"><l>scaled</l><block s="reportQuotient"><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><block var="scaled"/><block var="rounding factor"/></list></block></block><block var="rounding factor"/></block></block><block s="doReport"><block s="reportJoinWords"><list><block var="scaled"/><block s="reportListItem"><block var="power of 1k"/><block var="Suffix"/></block></list></block></block></script></block-definition><block-definition s="all of my effects" type="reporter" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="getEffect"><l><option>color</option></l></block><block s="getEffect"><l><option>saturation</option></l></block><block s="getEffect"><l><option>brightness</option></l></block><block s="getEffect"><l><option>ghost</option></l></block><block s="getEffect"><l><option>fisheye</option></l></block><block s="getEffect"><l><option>whirl</option></l></block><block s="getEffect"><l><option>pixelate</option></l></block><block s="getEffect"><l><option>mosaic</option></l></block><block s="getEffect"><l><option>negative</option></l></block><custom-block s="%s effect"><l>comic</l></custom-block><custom-block s="%s effect"><l><option>confetti</option></l></custom-block><custom-block s="%s effect"><l><option>duplicate</option></l></custom-block></list></block></block></script></block-definition><block-definition s="wait %&apos;1&apos; %&apos;minute&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input><input type="%s" readonly="true" irreplaceable="true" initial="1">second<options>milliseconds&#xD;seconds&#xD;minutes&#xD;hours</options></input></inputs><script><block s="doWait"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="minute"/><l>milliseconds</l></list></block><block s="reportQuotient"><block var="1"/><l>1000</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="minute"/><l>seconds</l></list></block><block var="1"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="minute"/><l>minutes</l></list></block><block s="reportVariadicProduct"><list><block var="1"/><l>60</l></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="minute"/><l>hours</l></list></block><block s="reportVariadicProduct"><list><block var="1"/><l>360</l></list></block><l></l></block></block></block></block></block></script></block-definition><block-definition s="stamp at x: %&apos;1&apos; y: %&apos;2&apos;" type="command" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="getPosition"></block></block><block s="gotoXY"><block var="1"/><block var="2"/></block><block s="doStamp"></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="a"/></block><block s="reportListItem"><l><option>last</option></l><block var="a"/></block></block></script></block-definition><block-definition s="random color w/ transparency %&apos;1&apos;" type="reporter" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1">false</input></inputs><script><block s="doReport"><block s="reportNewColor"><list><block s="reportRandom"><l>0</l><l>100</l></block><block s="reportRandom"><l>0</l><l>100</l></block><block s="reportRandom"><l>0</l><l>100</l></block><block s="reportIfElse"><block var="1"/><block s="reportRandom"><l>0</l><l>100</l></block><l>0</l></block></list></block></block></script></block-definition><block-definition s="pen up?" type="predicate" category="pen" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNot"><block s="getPenDown"></block></block></block></script></block-definition><block-definition s="glide %&apos;1&apos; secs to %&apos;list&apos;" type="command" category="motion" helper="true"><comment x="0" y="0" w="90" collapsed="false">Same as the glide block but input is a list</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input><input type="%l" initial="1"></input></inputs><script><block s="doGlide"><block var="1"/><block s="reportListItem"><l>1</l><block var="list"/></block><block s="reportListItem"><l>1</l><block var="list"/></block></block></script></block-definition><block-definition s="all but last of %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doDeleteFromList"><l><option>last</option></l><block var="list"/></block><block s="doReport"><block var="list"/></block></script></block-definition><block-definition s="a to %&apos;z&apos; %&apos;lowercase&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true" irreplaceable="true" initial="1">z<options>a to g={&#xD;a&#xD;b&#xD;c&#xD;d&#xD;e&#xD;f&#xD;g&#xD;}&#xD;h to p={&#xD;h&#xD;i&#xD;j&#xD;k&#xD;l&#xD;m&#xD;n&#xD;o&#xD;p&#xD;}&#xD;q to v={&#xD;q&#xD;r&#xD;s&#xD;t&#xD;w&#xD;v&#xD;}&#xD;w to x={&#xD;w&#xD;x&#xD;y&#xD;z&#xD;}</options></input><input type="%s" readonly="true" irreplaceable="true" initial="1">lowercase<options>lowercase&#xD;uppercase</options></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>a</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>b</l><l>0</l></block><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="a"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="lowercase"/><l>uppercase</l></list></block><block s="reportTextAttribute"><l><option>upper case</option></l><block var="z"/></block><block var="z"/></block></list></block><script><block s="doAddToList"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="lowercase"/><l>uppercase</l></list></block><block s="reportTextAttribute"><l><option>upper case</option></l><block s="reportUnicodeAsLetter"><block s="reportVariadicSum"><list><l>97</l><block var="b"/></list></block></block></block><block s="reportUnicodeAsLetter"><block s="reportVariadicSum"><list><l>97</l><block var="b"/></list></block></block></block><block var="a"/></block><block s="doChangeVar"><l>b</l><l>1</l></block></script></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="current time" type="reporter" category="Timer"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportDate"><l><option>month</option></l></block><l>/</l><block s="reportDate"><l><option>date</option></l></block><l>/</l><block s="reportDate"><l><option>year</option></l></block><l> </l><block s="reportDate"><l><option>hour</option></l></block><l>:</l><block s="reportDate"><l><option>minute</option></l></block><l>:</l><block s="reportDate"><l><option>second</option></l></block><l> </l><block s="reportIfElse"><custom-block s="AM?"></custom-block><l>AM</l><l>PM</l></block></list></block></block></script><scripts><script x="283.1787109374999" y="163.3999999999997"><block s="reportRound"><l></l></block></script><script x="48.435546875" y="177.79999999999978"><block s="reportDifference"><block s="reportMonadic"><l><option>abs</option></l><custom-block s="timezone"></custom-block></block><l>6</l></block></script><script x="390.1113281249999" y="165.79999999999978"><block s="reportDate"><l><option>hour</option></l></block></script></scripts></block-definition><block-definition s="transiosn %&apos;black&apos; to scene %&apos;next&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"></input></inputs></block-definition><block-definition s="do nothing" type="command" category="useless"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="ingore %&apos;q&apos;" type="command" category="useless"><header></header><code></code><translations></translations><inputs><input type="%mult%s" initial="1"></input></inputs></block-definition><block-definition s="jump" type="command" category="motion" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRepeat"><l>30</l><script><block s="changeXPosition"><l>3</l></block><block s="setYPosition"><block s="reportVariadicProduct"><list><l>125</l><block s="reportMonadic"><l><option>sin</option></l><block s="reportVariadicProduct"><list><block s="xPosition"></block><l>2</l></list></block></block></list></block></block></script></block></script></block-definition><block-definition s="AM?" type="predicate" category="Timer"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicLessThan"><list><block s="reportDate"><l><option>hour</option></l></block><l>12</l></list></block></block></script><scripts><script x="325.47421875" y="178.80000000000015"><block s="reportBoolean"><l><bool>false</bool></l></block></script></scripts></block-definition><block-definition s="PM?" type="predicate" category="Timer"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNot"><custom-block s="AM?"></custom-block></block></block></script></block-definition><block-definition s="letters %&apos;min&apos; to %&apos;max&apos; of %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">2</input><input type="%n" initial="1">4</input><input type="%txt" initial="1">apple</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doFor"><l>i</l><block var="min"/><block var="max"/><script><block s="doAddToList"><block s="reportLetter"><block var="i"/><block var="text"/></block><block var="a"/></block></script></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="a"/></list></block></block></script></block-definition><block-definition s="run random %&apos;s&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%mult%cs" initial="2" min="1"></input></inputs><script><block s="doRun"><block s="reportListItem"><l><option>random</option></l><block var="s"/></block><list></list></block></script></block-definition><block-definition s="pick random true or false" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l><option>random</option></l><block s="reportNewList"><list><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></block></script></block-definition><block-definition s="call random %&apos;a&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%mult%anyUE" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportListItem"><l><option>random</option></l><block var="a"/></block><list></list></block></block></script><scripts><script x="190.185546875" y="98"><block var="a"/></script></scripts></block-definition><block-definition s="%&apos;a&apos; is clone?" type="predicate" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1"><options>§_clonablesMenu</options></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><block s="reportGet"><l><option>clones</option></l></block><block s="reportObject"><block var="a"/></block></block></block></script></block-definition><block-definition s="is it %&apos;1#&apos; already?" type="predicate" category="Timer"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">sunrise<options>sunrise&#xD;noon&#xD;sunset&#xD;midnight</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="1#"/><l>sunrise</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportDate"><l><option>hour</option></l></block><l>6</l></list></block></block></script><list><block s="reportVariadicEquals"><list><block var="1#"/><l>noon</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportDate"><l><option>hour</option></l></block><l>12</l></list></block></block></script><block s="reportVariadicEquals"><list><block var="1#"/><l>sunset</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportDate"><l><option>hour</option></l></block><l>18</l></list></block></block></script><block s="reportVariadicEquals"><list><block var="1#"/><l>midnight</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportDate"><l><option>hour</option></l></block><l>24</l></list></block></block></script></list></block></script></block-definition><block-definition s="number %&apos;increase&apos; %&apos;decrease&apos; %&apos;num&apos;" type="reporter" category="inputs"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">increase<options>§_dynamicMenu</options></input><input type="%txt" readonly="true" irreplaceable="true" initial="1">decrease<options>§_dynamicMenu</options></input><input type="%n" initial="1">1</input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="num"/><l><option>number</option></l></block><block var="num"/><l></l></block></block></script><scripts><script x="592.1842447916672" y="68.61666666666633"><block s="receiveSlotEvent"><l>decrease</l><l><option>menu</option></l></block><block s="doSetSlot"><l>num</l><block s="reportVariadicSum"><list><block var="num"/><l>-1</l></list></block></block></script><script x="348.51757812500017" y="62.78333333333302"><block s="receiveSlotEvent"><l>increase</l><l><option>menu</option></l></block><block s="doSetSlot"><l>num</l><block s="reportVariadicSum"><list><block var="num"/><l>1</l></list></block></block></script></scripts></block-definition><block-definition s="string %&apos;text&apos; %&apos;enter&apos; %&apos;1&apos;" type="reporter" category="inputs"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">hello world!</input><input type="%s" readonly="true" initial="1">enter<options>§_dynamicMenu</options></input><input type="%txt" initial="1">bar</input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="1"/><l><option>text</option></l></block><block var="1"/><l></l></block></block></script><scripts><script x="66.62353515625" y="113.11666666666568"><block s="receiveSlotEvent"><l>enter</l><l><option>menu</option></l></block><block s="doSetSlot"><l>1</l><block var="text"/></block></script></scripts></block-definition><block-definition s="piano %&apos;1&apos;" type="reporter" category="inputs"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_pianoKeyboardMenu</options></input></inputs><script><block s="doReport"><custom-block s="number %s %txt %n"><block var="1"/><l></l><l></l></custom-block></block></script></block-definition><block-definition s="360 %&apos;1&apos;" type="reporter" category="inputs"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_directionDialMenu</options></input></inputs><script><block s="doReport"><custom-block s="number %s %txt %n"><block var="1"/><l></l><l></l></custom-block></block></script></block-definition><block-definition s="turn around" type="command" category="motion" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setHeading"><block s="reportVariadicSum"><list><block s="direction"></block><l>180</l></list></block></block></script></block-definition><block-definition s="shape %&apos;s&apos;" type="reporter" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>square</options></input></inputs><script><block s="doDeclareVariables"><list><l>last costume</l><l>last pen tails</l><l>last color</l><l>last pen size</l></list></block><block s="doSetVar"><l>last costume</l><l>0</l></block><block s="doSetVar"><l>last pen tails</l><l>0</l></block><block s="doSetVar"><l>last color</l><l>0</l></block><block s="doSetVar"><l>last pen size</l><l>0</l></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="change by x: %&apos;n&apos; y: %&apos;1&apos;" type="command" category="motion" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">10</input><input type="%n" initial="1">10</input></inputs><script><block s="changeYPosition"><block var="n"/></block><block s="changeXPosition"><block var="1"/></block></script></block-definition><block-definition s="ㅤㅤ $nl ㅤalways" type="hat" category="control" semantics="rule"><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="..." type="command" category="lables"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="... $(2)-0.0001" type="reporter" category="lables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="$...-1.00000001" type="predicate" category="lables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="$...-1.0001" type="hat" category="lables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="is %&apos;q&apos; touchng %&apos;1&apos;" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_clonablesMenu</options></input><input type="%s" readonly="true" initial="1"><options>§_clonablesMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportNewList"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportRelationTo"><l><option>distance</option></l><block var="q"/></block><l>25</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportRelationTo"><l><option>distance</option></l><block var="1"/></block><l>25</l></list></block></list></block></block><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportVariadicAnd"><list><block s="reportListItem"><l>1</l><block var="a"/></block><block s="reportListItem"><l>2</l><block var="a"/></block></list></block><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></block></script></block-definition><block-definition s="// %&apos;a&apos; value %&apos;value&apos;" type="reporter" category="lables"><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1"></input><input type="%repRing" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script></block-definition><block-definition s="// %&apos;a&apos; value %&apos;value&apos;" type="predicate" category="lables"><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1"></input><input type="%boolUE" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script></block-definition><block-definition s="%&apos;Add&apos; all numbers between %&apos;1&apos; and %&apos;2&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">Add<options>add&#xD;subtract&#xD;multiply&#xD;divided</options></input><input type="%n" initial="1">0</input><input type="%n" initial="1">10</input></inputs><script><block s="doDeclareVariables"><list><l>sum</l></list></block><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doFor"><l>i</l><block var="1"/><block var="2"/><script><block s="doSetVar"><l>sum</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="Add"/><l>add</l></list></block><block s="reportVariadicSum"><list><block var="sum"/><block var="i"/></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="Add"/><l>subtract</l></list></block><block s="reportDifference"><block var="sum"/><block var="i"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="Add"/><l>divided</l></list></block><block s="reportQuotient"><block var="sum"/><block var="i"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="Add"/><l>multiply</l></list></block><block s="reportVariadicProduct"><list><block var="sum"/><block var="i"/></list></block><l></l></block></block></block></block></block></script></block><block s="doReport"><block var="sum"/></block></script></block-definition><block-definition s="point away from edge" type="command" category="motion" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="yPosition"></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportDifference"><block s="xPosition"></block><l>240</l></block><block s="reportDifference"><block s="yPosition"></block><l>180</l></block></list></block><script><block s="setHeading"><block s="reportDifference"><l></l><block s="reportMonadic"><l><option>abs</option></l><block s="direction"></block></block></block></block></script><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportDifference"><l>-240</l><block s="xPosition"></block></block><block s="reportDifference"><block s="yPosition"></block><l>180</l></block></list></block><script><block s="setHeading"><block s="reportMonadic"><l><option>abs</option></l><block s="direction"></block></block></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><l>90</l><block s="reportMonadic"><l><option>abs</option></l><block s="direction"></block></block></list></block><script><block s="setHeading"><block s="reportDifference"><l>180</l><block s="direction"></block></block></block></script><list></list></block></script></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportDifference"><block s="xPosition"></block><l>240</l></block><block s="reportDifference"><l>-180</l><block s="yPosition"></block></block></list></block><script><block s="setHeading"><block s="reportDifference"><l></l><block s="reportMonadic"><l><option>abs</option></l><block s="direction"></block></block></block></block></script><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportDifference"><l>-240</l><block s="xPosition"></block></block><block s="reportDifference"><l>-180</l><block s="yPosition"></block></block></list></block><script><block s="setHeading"><block s="reportMonadic"><l><option>abs</option></l><block s="direction"></block></block></block></script><script><block s="doIf"><block s="reportVariadicLessThan"><list><l>90</l><block s="reportMonadic"><l><option>abs</option></l><block s="direction"></block></block></list></block><script><block s="setHeading"><block s="reportDifference"><l>180</l><block s="direction"></block></block></block></script><list></list></block></script></block></script></block></script></block></script><scripts><script x="300.365234375" y="274.9666666666668"><block s="reportMonadic"><l><option>abs</option></l><l>10</l></block></script></scripts></block-definition><block-definition s="wait until next tick $loop-0.7" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWait"><l>0</l></block></script></block-definition><block-definition s="every %&apos;#1&apos; ticks" type="hat" category="control" semantics="rule"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">3</input></inputs><script><block s="doRepeat"><block var="#1"/><script><custom-block s="wait until next tick $loop-0.7"></custom-block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="clone count" type="reporter" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block s="reportGet"><l><option>clones</option></l></block></block></block></script></block-definition><block-definition s="delete clones of %&apos;myself&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_clonablesMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportAskFor"><block var="myself"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doForEach"><l>item</l><block var="a"/><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="flip %&apos;a&apos;" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">x<options>x&#xD;y&#xD;both</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><l>x</l></list></block><script><block s="doSwitchToCostume"><block s="reportNewCostumeStretched"><l><option>current</option></l><l>-100</l><l>100</l></block></block></script><list><block s="reportVariadicEquals"><list><block var="a"/><l>y</l></list></block><script><block s="doSwitchToCostume"><block s="reportNewCostumeStretched"><l><option>current</option></l><l>100</l><l>-100</l></block></block></script><block s="reportVariadicEquals"><list><block var="a"/><l>both</l></list></block><script><block s="doWarp"><script><custom-block s="flip %s"><l>x</l></custom-block><custom-block s="flip %s"><l>y</l></custom-block></script></block></script></list></block></script></block-definition><block-definition s="boolean %&apos;a&apos; %&apos;toggle&apos;" type="predicate" category="inputs"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1">true</input><input type="%s" readonly="true" initial="1">toggle<options>§_dynamicMenu</options></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="a"/><l><option>Boolean</option></l></block><block var="a"/><custom-block s="... $(2)-0.0001"></custom-block></block></block></script><scripts><script x="78.00410156249995" y="106.53333333333225"><block s="receiveSlotEvent"><l>toggle</l><l><option>menu</option></l></block><block s="doSetSlot"><l>a</l><block s="reportNot"><block var="a"/></block></block></script></scripts></block-definition><block-definition s="reset sprite" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setHeading"><l>90</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="clearEffects"></block><block s="setScale"><l>100</l></block><custom-block s="delete clones of %s"><l><option>myself</option></l></custom-block><block s="show"></block><block s="bubble"><l></l></block><custom-block s="first costume"></custom-block></script></block-definition><block-definition s="new line" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><l>10</l></block></block></script></block-definition><block-definition s="tab charachter" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><l>9</l></block></block></script></block-definition><block-definition s="reverse %&apos;hello word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">hello world</input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><block var="hello word"/><l><option>letter</option></l></block></block></block></block></script><scripts><script x="203.99511718749955" y="241.16666666666657"><custom-block s="list $arrowRight sentence %l"><l/></custom-block></script></scripts></block-definition><block-definition s="touching x: %&apos;1&apos; y: %&apos;0?&apos;" type="predicate" category="motion" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="getPosition"></block><block s="reportNewList"><list><block var="1"/><block var="0?"/></list></block></list></block></block></script></block-definition><block-definition s="stop %&apos;a&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1"><options>§_clonablesMenu</options></input></inputs><script><block s="doTellTo"><block var="a"/><block s="reifyScript"><script><block s="doStopThis"><l><option>other scripts in sprite</option></l></block><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="run $greenflag" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doStopThis"><l><option>all but this script</option></l></block><block s="doBroadcast"><l><option>__shout__go__</option></l><list></list></block></script></block-definition><block-definition s="suffle %&apos;a&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">hello world</input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportListAttribute"><l><option>shuffled</option></l><block s="reportTextSplit"><block var="a"/><l><option>letter</option></l></block></block></block></block></script></block-definition><block-definition s="%&apos;nand&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%b" separator="nand" collapse="all" initial="2"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportVariadicAnd"><block var="nand"/></block></block></block></script></block-definition><block-definition s="mouse up?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNot"><block s="reportMouseDown"></block></block></block></script></block-definition><block-definition s="blur" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="getScale"></block></block><block s="setScale"><block s="reportDifference"><block var="a"/><l>50</l></block></block><block s="doWarp"><script><block s="doRepeat"><l>50</l><script><block s="doSwitchToCostume"><block s="reportNewCostumeStretched"><l><option>current</option></l><l>101</l><l>101</l></block></block></script></block></script></block><block s="setScale"><block s="reportQuotient"><block var="a"/><l>1.5</l></block></block><block s="doSwitchToCostume"><block s="reportNewCostumeStretched"><l><option>current</option></l><l>100</l><l>95</l></block></block></script></block-definition><block-definition s="if %&apos;blooean&apos; , bounce" type="command" category="motion" helper="true"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1">true</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="getPosition"></block></block><block s="doIf"><block var="blooean"/><script><block s="gotoXY"><l>9999</l><l>0</l></block><block s="bounceOffEdge"></block><block s="doGotoObject"><block var="a"/></block></script><list></list></block></script><scripts><script x="224.2265625" y="59.49999999999995"><block var="a"/></script></scripts></block-definition><block-definition s="stop speaking" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="bubble"><l></l></block></script></block-definition><block-definition s="%&apos;end&apos; $nl Σ %&apos;expr&apos; $nl %&apos;i&apos; = %&apos;start&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%anyUE" readonly="true" initial="1">0</input><input type="%upvar" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doReport"><l>0</l></block></script><list></list></block><block s="doDeclareVariables"><list><l>sum</l></list></block><block s="doWarp"><script><block s="doFor"><l>curr</l><block var="start"/><block var="end"/><script><block s="doSetVar"><l>i</l><block var="curr"/></block><block s="doChangeVar"><l>sum</l><block s="evaluate"><block var="expr"/><list></list></block></block></script></block></script></block><block s="doReport"><block var="sum"/></block></script></block-definition><block-definition s="%&apos;n&apos; !" type="reporter" category="operators" space="true"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the idea</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doReport"><custom-block s="%n %br Π %anyUE %br %upvar = %n"><block var="n"/><block var="i"/><l>i</l><l>1</l></custom-block></block></script></block-definition><block-definition s="%&apos;end&apos; $nl Π %&apos;expr&apos; $nl %&apos;i&apos; = %&apos;start&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%anyUE" readonly="true" initial="1">0</input><input type="%upvar" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doDeclareVariables"><list><l>product</l></list></block><block s="doSetVar"><l>product</l><l>1</l></block><block s="doWarp"><script><block s="doFor"><l>curr</l><block var="start"/><block var="end"/><script><block s="doSetVar"><l>i</l><block var="curr"/></block><block s="doSetVar"><l>product</l><block s="reportVariadicProduct"><list><block var="product"/><block s="evaluate"><block var="expr"/><list></list></block></list></block></block></script></block></script></block><block s="doReport"><block var="product"/></block></script></block-definition><block-definition s="⌠ %&apos;a&apos; $nl ⎮ [ %&apos;b&apos; ( x ^ %&apos;c&apos; ) ] dx $nl ⌡ %&apos;d&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="b"/><block s="reportDifference"><block s="reportPower"><block var="a"/><block s="reportVariadicSum"><list><block var="c"/><l>1</l></list></block></block><block s="reportPower"><block var="d"/><block s="reportVariadicSum"><list><block var="c"/><l>1</l></list></block></block></block></list></block><block s="reportVariadicSum"><list><block var="c"/><l>1</l></list></block></block></block></script></block-definition><block-definition s="test %&apos;a&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="errorObsolete"></block><list><block var="a"/></list></block></block></script></block-definition><block-definition s="show %&apos;iframe&apos;" type="command" category="iframe &amp; html"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>iframe</l></list><l>iframe.style.zIndex = 1</l></block><list><block var="iframe"/></list></block></script></block-definition><block-definition s="hide %&apos;iframe&apos;" type="command" category="iframe &amp; html"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>iframe</l></list><l>iframe.style.zIndex = -1</l></block><list><block var="iframe"/></list></block></script></block-definition><block-definition s="hide all iframes" type="command" category="iframe &amp; html"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doRun"><block s="reportJSFunction"><list></list><l>let iframes = document.getElementsByTagName("iframe")&#xD;&#xD;for (i = 0;i&lt;=iframes.length;i++) {&#xD;iframes[i].style.zIndex = -1&#xD;}</l></block><list></list></block></script><list></list></block><block s="reifyScript"><script></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="move %&apos;iframe&apos; to me" type="command" category="iframe &amp; html"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>iframe</l></list><l>let stage = world.children[0].stage;&#xD;iframe.style.top = Math.abs(this.position().y + this.height() / 15).toString() + "px";&#xD;iframe.style.left = Math.abs(this.position().x - 0).toString() + "px";&#xD;iframe.style.width = Math.abs(this.width() - 0).toString() + "px" ;&#xD;iframe.style.height = Math.abs(this.height() - this.height() / 15).toString() + "px";</l></block><list><block var="iframe"/></list></block></script></block-definition><block-definition s="delete all iframes" type="command" category="iframe &amp; html"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>let iframes = document.getElementsByTagName("iframe")&#xD;&#xD;for (i = 0;i&lt;=iframes.length;i++) {&#xD;iframes[i].remove();&#xD;}</l></block><list></list></block></script></block-definition><block-definition s="new Snap %&apos;iframe&apos; %&apos;url&apos; width %&apos;mywidth&apos; height %&apos;myheight&apos;" type="command" category="iframe &amp; html"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doSetVar"><l>iframe</l><block s="evaluate"><block s="reportJSFunction"><list><l>url</l></list><l>let iframe = document.createElement("iframe")&#xD;iframe.setAttribute("width",mywidth)&#xD;iframe.setAttribute("height",myheight)&#xD;iframe.setAttribute("frameBorder",0)&#xD;iframe.setAttribute("allowfullscreen",true)&#xD;iframe.setAttribute("allow", "geolocation; microphone;camera")&#xD;iframe.setAttribute("style","position:absolute; top:100px; left:200px; z-index:50;")&#xD;iframe.setAttribute("src",url)&#xD;let thingone = document.getElementById("world")&#xD;thingone.after(iframe)&#xD;return iframe</l></block><list><block var="url"/><block var="mywidth"/><block var="myheight"/></list></block></block></script><scripts><script x="611.06640625" y="243.00000000000009"><block s="errorObsolete"></block></script></scripts></block-definition><block-definition s="show all iframes" type="command" category="iframe &amp; html"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doRun"><block s="reportJSFunction"><list></list><l>let iframes = document.getElementsByTagName("iframe")&#xD;&#xD;for (i = 0;i&lt;=iframes.length;i++) {&#xD;iframes[i].style.zIndex = 1&#xD;}</l></block><list></list></block></script><list></list></block><block s="reifyScript"><script></script><list></list></block></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="is javascript %&apos;on&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">on<options>on&#xD;off</options></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><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><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="on"/><l>on</l></list></block><block var="a"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="on"/><l>off</l></list></block><block s="reportNot"><block var="a"/></block><l></l></block></block></block></script></block-definition><block-definition s="set %&apos;1#&apos; iframe width to %&apos;2#&apos; height %&apos;3#&apos;" type="command" category="iframe &amp; html"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs></block-definition><block-definition s="typewriter %&apos;text&apos; size %&apos;num1&apos; delay %&apos;num2&apos;" type="command" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1">Hello!</input><input type="%n" initial="1">12</input><input type="%n" initial="1">0.25</input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><block var="text"/><l><option>letter</option></l></block></block><script><block s="write"><block s="reportListItem"><block var="i"/><block s="reportTextSplit"><block var="text"/><l><option>letter</option></l></block></block><block var="num1"/></block><block s="doWait"><block var="num2"/></block></script></block></script></block-definition><block-definition s="timezone" type="reporter" category="Timer"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportDifference"><block s="reportDate"><l><option>hour</option></l></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportModulus"><block s="reportQuotient"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block s="reportVariadicProduct"><list><l>1000</l><l>60</l><l>60</l></list></block></block><l>24</l></block></block></block></block></script></block-definition><block-definition s="%&apos;n&apos; ?" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="%n %br Σ %anyUE %br %upvar = %n"><block var="n"/><block var="i"/><l>i</l><l>1</l></custom-block></block></script></block-definition><block-definition s="%&apos;ors&apos;" type="predicate" category="control"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%mult%boolUE" irreplaceable="true" separator="else" initial="2" min="2"></input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportCONS"><block s="reportBoolean"><l><bool>false</bool></l></block><block var="ors"/></block><block s="reifyReporter"><autolambda><custom-block s="%b else %boolUE"><block var="#1"/><block s="evaluate"><block var="#2"/><list></list></block></custom-block></autolambda><list><l>#1</l><l>#2</l></list></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; else %&apos;b&apos;" type="predicate" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%boolUE" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block var="a"/><block var="a"/><block s="evaluate"><block var="b"/><list></list></block></block></block></script></block-definition><block-definition s="if %&apos;ands&apos; $nl" type="predicate" category="control"><comment x="0" y="0" w="153" collapsed="false">short circuiting variadic and&#xD;Thanks to @askofep1 for this block</comment><header></header><code></code><translations></translations><inputs><input type="%mult%boolUE" irreplaceable="true" separator="then" initial="2" min="2"></input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportCONS"><block s="reportBoolean"><l><bool>true</bool></l></block><block var="ands"/></block><block s="reifyReporter"><autolambda><custom-block s="if %b then %boolUE"><block var="#1"/><block s="evaluate"><block var="#2"/><list></list></block></custom-block></autolambda><list><l>#1</l><l>#2</l></list></block></block></block></script></block-definition><block-definition s="if %&apos;a&apos; then %&apos;b&apos;" type="predicate" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%boolUE" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block var="a"/><block s="evaluate"><block var="b"/><list></list></block><block var="a"/></block></block></script></block-definition><block-definition s="t from %&apos;a&apos; -&gt; %&apos;b&apos; at %&apos;result&apos;" type="reporter" category="operators" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportDifference"><block s="reportQuotient"><block var="result"/><block s="reportDifference"><block var="b"/><block var="a"/></block></block><block var="a"/></block></block></script></block-definition><block-definition s="map %&apos;val&apos; from %&apos;a0&apos; .. %&apos;b0&apos; to %&apos;a1&apos; .. %&apos;b1&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><custom-block s="lerp %n -&gt; %n at %n"><block var="a1"/><block var="b1"/><custom-block s="t from %n -&gt; %n at %n"><block var="a0"/><block var="b0"/><block var="val"/></custom-block></custom-block></block></script></block-definition><block-definition s="lerp %&apos;src&apos; -&gt; %&apos;dest&apos; at %&apos;t&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%n" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><block var="src"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="dest"/><block var="src"/></block><block var="t"/></list></block></list></block></block></script></block-definition><block-definition s="pairs $nl %&apos;pairs&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%group%s%s" irreplaceable="true" expand="$nl&#xD;$arrowLeft" initial="2"></input></inputs><script><block s="doReport"><block var="pairs"/></block></script></block-definition><block-definition s="bezier curve %&apos;points&apos; at %&apos;t&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n" separator="," initial="2" min="2"></input><input type="%n" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="points"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="points"/></block></block></script><list></list></block><block s="doReport"><custom-block s="bezier curve %mult%n at %n"><block s="reportCDR"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="lerp %n -&gt; %n at %n"><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="list"/></block><block var="value"/><block var="t"/></custom-block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="points"/></block></block><block var="t"/></custom-block></block></script></block-definition><block-definition s="match eq %&apos;val&apos; %&apos;cases&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%group%s%cs" irreplaceable="true" expand="$nl&#xD;-&gt;" initial="2"></input></inputs><script><block s="doIf"><block s="reportListAttribute"><l><option>length</option></l><block var="cases"/></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="val"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="cases"/></block></block></list></block><script><block s="doRun"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="cases"/></block></block><list></list></block></script><script><block s="doRun"><block s="reportEnvironment"><l><option>script</option></l></block><list><block var="val"/><block s="reportCDR"><block var="cases"/></block></list></block></script></block></script><list></list></block></script></block-definition><block-definition s="items %&apos;start&apos; to %&apos;end&apos; of %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">4</input><input type="%n" initial="1">8</input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportListItem"><block s="reportNumbers"><block var="start"/><block var="end"/></block><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;vec&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n" irreplaceable="true" expand="x:&#xD;y:&#xD;z:&#xD;w:" initial="2" min="1" max="4"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="vec"/></block><l>1</l></list></block><block s="reportListItem"><l>1</l><block var="vec"/></block><block var="vec"/></block><l></l></list></block></block></script></block-definition><block-definition s="match identical %&apos;val&apos; %&apos;cases&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%group%s%cs" irreplaceable="true" expand="$nl&#xD;-&gt;" initial="2"></input></inputs><script><block s="doIf"><block s="reportListAttribute"><l><option>length</option></l><block var="cases"/></block><script><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="val"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="cases"/></block></block></list></block><script><block s="doRun"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="cases"/></block></block><list></list></block></script><script><block s="doRun"><block s="reportEnvironment"><l><option>script</option></l></block><list><block var="val"/><block s="reportCDR"><block var="cases"/></block></list></block></script></block></script><list></list></block></script></block-definition><block-definition s="match condition %&apos;val&apos; %&apos;cases&apos;" type="command" category="control"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%group%boolUE%cs" irreplaceable="true" expand="$nl&#xD;-&gt;" initial="2"></input></inputs><script><block s="doIf"><block s="reportListAttribute"><l><option>length</option></l><block var="cases"/></block><script><block s="doIfElse"><block s="evaluate"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="cases"/></block></block><list><block var="val"/></list></block><script><block s="doRun"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="cases"/></block></block><list></list></block></script><script><block s="doRun"><block s="reportEnvironment"><l><option>script</option></l></block><list><block var="val"/><block s="reportCDR"><block var="cases"/></block></list></block></script></block></script><list></list></block></script></block-definition><block-definition s="magnitude %&apos;vec&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">vector</input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><block s="reportPower"><block var="vec"/><l>2</l></block></block></block></block></script></block-definition><block-definition s="copy %&apos;sprite&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">myself<options>§_clonablesMenu</options></input></inputs><script><block s="doTellTo"><block s="newClone"><block s="reportObject"><block var="sprite"/></block></block><block s="reifyScript"><script><block s="doSetVar"><l><option>my temporary?</option></l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="unit %&apos;vec&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">vector</input></inputs><script><block s="doReport"><block s="reportQuotient"><block var="vec"/><custom-block s="magnitude %s"><block var="vec"/></custom-block></block></block></script></block-definition><block-definition s="%&apos;dot&apos; $nl" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n" separator="*" collapse="dot" initial="2"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><block s="reportVariadicProduct"><block var="dot"/></block></block></block></script></block-definition><block-definition s="%&apos;list&apos; join by %&apos;sep&apos;" type="reporter" category="operators" space="true"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%s" initial="1">,</input></inputs><script><block s="doReport"><block s="reportCombine"><block var="list"/><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="sep"/><l></l></list></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="%&apos;str&apos; contains %&apos;substr&apos;" type="predicate" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicLessThan"><list><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><block var="str"/><block var="substr"/></block></block></list></block></block></script></block-definition><block-definition s="%&apos;num&apos; sqaured" type="reporter" category="Extra"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="num"/><block var="num"/></list></block></block></script></block-definition><block-definition s="$cube %&apos;num&apos; cubed" type="reporter" category="Extra"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportPower"><block var="num"/><l>3</l></block></block></script></block-definition><block-definition s="T %&apos;n&apos;" type="reporter" category="operators"><comment x="0" y="0" w="181" collapsed="false">Thanks to @redgeographysnap  for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><l>NaN</l></block></script><list></list></block><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="n"/><block s="reportVariadicSum"><list><block var="n"/><l>1</l></list></block></list></block><l>2</l></block></block></script></block-definition><block-definition s="Γ %&apos;n&apos;" type="reporter" category="operators"><comment x="0" y="0" w="173" collapsed="false">Thanks to @redgeographysnap for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="n"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reportEnvironment"><l><option>script</option></l></block><block var="n"/></block></block></script><list><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><l>NaN</l></block></script><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="n"/><l>1</l></block><l>0</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicEquals"><list><l></l><l>0</l></list></block><l>1</l><block s="reportVariadicProduct"><list><l></l><block s="evaluate"><block s="reportEnvironment"><l><option>script</option></l></block><list><block s="reportDifference"><l></l><l>1</l></block></list></block></list></block></block></autolambda><list></list></block><list><block s="reportDifference"><block var="n"/><l>1</l></block></list></block></block></script></list></block><block s="doDeclareVariables"><list><l>coefficients</l><l>pi</l><l>x</l><l>y</l></list></block><block s="doSetVar"><l>pi</l><l>3.141592653589793</l></block><block s="doSetVar"><l>coefficients</l><block s="reportNewList"><list><l>0.9999999999998099</l><l>676.5203681218851</l><l>-1259.1392167224028</l><l>771.3234287776531</l><l>-176.6150291621406</l><l>12.507343278686905</l><l>-0.13857109526572012</l><l>0.000009984369578019572</l><l>1.5056327351493116e-7</l></list></block></block><block s="doChangeVar"><l>n</l><l>-1</l></block><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="coefficients"/></block></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block var="n"/><l>7.5</l></list></block></block><block s="doWarp"><script><block s="doFor"><l>i</l><l>2</l><l>9</l><script><block s="doChangeVar"><l>x</l><block s="reportQuotient"><block s="reportListItem"><block var="i"/><block var="coefficients"/></block><block s="reportVariadicSum"><list><block var="n"/><block s="reportDifference"><block var="i"/><l>1</l></block></list></block></block></block></script></block></script></block><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicProduct"><list><l>2</l><block var="pi"/></list></block></block><block s="reportPower"><block var="y"/><block s="reportVariadicSum"><list><block var="n"/><l>0.5</l></list></block></block><block s="reportMonadic"><l><option>e^</option></l><block s="reportMonadic"><l><option>neg</option></l><block var="y"/></block></block><block var="x"/></list></block></block></script><scripts><script x="273.7080078124999" y="113.0000000000001"><block s="reportModulus"><block var="n"/><l>1</l></block></script><script x="313.7080078124999" y="79.00000000000006"><block s="reportVariadicEquals"><list><l></l><l>0</l></list></block></script></scripts></block-definition><block-definition s="rebind %&apos;code&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="80" collapsed="false">Thanks to @d016 for this block</comment><header></header><code></code><translations></translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><block s="doReport"><block s="reportAttributeOf"><block var="code"/><block s="reportEnvironment"><l><option>script</option></l></block></block></block></script><scripts><script x="65.9951171875" y="138.99999999999994"><block s="reifyReporter"><script></script><list></list></block></script></scripts></block-definition><block-definition s="%&apos;n&apos; $nl Σ %&apos;function&apos; $nl %&apos;i&apos; = %&apos;value&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%repRing" initial="1"></input><input type="%upvar" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="value"/><block var="n"/></list></block><script><block s="doReport"><l>0</l></block></script><list></list></block><block s="doSetVar"><l>i</l><block var="value"/></block><block s="doReport"><block s="reportVariadicSum"><list><block s="evaluate"><block var="function"/><list></list></block><custom-block s="%n %br Σ %repRing %br %upvar = %n"><block var="n"/><block s="reifyReporter"><script><block s="doSetVar"><l>i</l><block var="j"/></block><block s="doReport"><block s="evaluate"><block var="function"/><list></list></block></block></script><list></list></block><l>j</l><block s="reportVariadicSum"><list><block var="value"/><l>1</l></list></block></custom-block></list></block></block></script></block-definition><block-definition s="%&apos;n&apos; $nl Π %&apos;function&apos; $nl %&apos;i&apos; = %&apos;value&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%repRing" initial="1"></input><input type="%upvar" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="value"/><block var="n"/></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doSetVar"><l>i</l><block var="value"/></block><block s="doReport"><block s="reportVariadicProduct"><list><block s="evaluate"><block var="function"/><list></list></block><custom-block s="%n %br Π %repRing %br %upvar = %n"><block var="n"/><block s="reifyReporter"><script><block s="doSetVar"><l>i</l><block var="j"/></block><block s="doReport"><block s="evaluate"><block var="function"/><list></list></block></block></script><list></list></block><l>j</l><block s="reportVariadicSum"><list><block var="value"/><l>1</l></list></block></custom-block></list></block></block></script></block-definition><block-definition s="NaN" type="reporter" category="Extra"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportModulus"><l></l><l></l></block></block></script></block-definition><block-definition s="rainbow with blocks" type="reporter" category="Extra"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reifyScript"><script><block s="doInsertInList"><l>thing</l><l>1</l><l/></block></script><list></list></block><block s="reifyScript"><script><custom-block s="change var %s by %n"><l></l><l>1</l></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="for %s = %n to %n %cs"><l></l><l>1</l><l>10</l><script></script></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="move %s to me"><l></l></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="stop %s"><l></l></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="%n %br Σ %repRing %br %upvar = %n"><l></l><block s="reifyReporter"><script></script><list></list></block><l>i</l><l></l></custom-block></autolambda><list></list></block><block s="reifyScript"><script><custom-block s="stamp at x: %n y: %n"><l>0</l><l>0</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="Set cursor to %s"><l>default</l></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="create key %mult%l"><list><l/></list></custom-block></script><list></list></block><block s="reifyScript"><script><block s="forward"><l>10</l></block></script><list></list></block><block s="reifyScript"><script><custom-block s="reset sprite"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="number %s %txt %n"><l>increase</l><l>decrease</l><l>1</l></custom-block></autolambda><list></list></block><block s="reifyScript"><script><custom-block s="set web title to %txt"><l></l></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="hide all sprites"></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="play frequncy %n MHz"><l>1</l></custom-block></script><list></list></block><block s="reifyPredicate"><autolambda><block s="reifyPredicate"><script></script><list></list></block></autolambda><list></list></block><block s="reifyScript"><script><custom-block s="ingore %mult%s"><list><l></l></list></custom-block></script><list></list></block></list></block></block></script><scripts><script x="308.9722656250001" y="20.167666766666798"><custom-block s="// %mlt %mult%cs"><l>this is a comment</l><list></list></custom-block></script></scripts></block-definition><block-definition s="set web title to %&apos;text&apos;" type="command" category="Extra"><header></header><code></code><translations></translations><inputs><input type="%txt">Snap! 6.9.0 Build Your Own Blocks</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>a</l></list><l>document.title = a;</l></block><list><block var="text"/></list></block></script></block-definition><block-definition s="Popup Website %&apos;http&apos; %&apos;URL&apos;" type="command" category="iframe &amp; html"><comment x="0" y="0" w="90" collapsed="false">Makes a popup website.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">https://<options>https://&#xD;http://</options></input><input type="%txt">google.com</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>url</l><l>http</l></list><l>let n = window.open(http + url, "", "_blank");</l></block><list><block var="URL"/><block var="http"/></list></block></script></block-definition><block-definition s="language" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>ide_language</l><list></list></block></block></script></block-definition><block-definition s="Set lang to %&apos;1&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">en</input></inputs><script><block s="doApplyExtension"><l>ide_setlang(language, [msg])</l><list><block var="1"/><block s="reportJoinWords"><list><l>Language has been set to</l><block var="1"/></list></block></list></block></script></block-definition><block-definition s="yield" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>snap_yield</l><list></list></block></script></block-definition><block-definition s="show block %&apos;1&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doApplyExtension"><l>ide_show(block)</l><list><block var="1"/></list></block></script><l>error</l><script><custom-block s="error %txt"><l>No block :(</l></custom-block></script></custom-block></script></block-definition><block-definition s="hide block %&apos;1&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%cmdRing" initial="1"></input></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doApplyExtension"><l>ide_hide(block)</l><list><block var="1"/></list></block></script><l>error</l><script><custom-block s="error %txt"><l>No block :(</l></custom-block></script></custom-block></script></block-definition><block-definition s="showing %&apos;1&apos; ?" type="predicate" category="Data"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"><options>§_getVarNamesDict</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>var_showing(name)?</l><list><block var="1"/></list></block></block></script></block-definition><block-definition s="hiding %&apos;1&apos; ?" type="predicate" category="Data"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"><options>§_getVarNamesDict</options></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportApplyExtension"><l>var_showing(name)?</l><list><block var="1"/></list></block></block></block></script></block-definition><block-definition s="all my variables" type="reporter" category="Data"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>var_names(scope)</l><list></list></block></block></script></block-definition><block-definition s="%&apos;1&apos; xor %&apos;2&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="reportVariadicEquals"><list><block s="reportApplyExtension"><l>bit_xor(a, b)</l><list><block var="1"/><block var="2"/></list></block><l>1</l></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="move %&apos;up&apos; %&apos;steps&apos; steps" type="command" category="motion" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">up<options>up&#xD;down</options></input><input type="%n" initial="1">10</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="up"/><l>up</l></list></block><script><block s="doGotoObject"><block s="reportVariadicSum"><list><block s="getPosition"></block><block s="reportVariadicProduct"><list><block s="reportNewList"><list><block s="reportMonadic"><l><option>cos</option></l><block s="direction"></block></block><block s="reportMonadic"><l><option>sin</option></l><block s="direction"></block></block></list></block><block var="steps"/></list></block></list></block></block></script><list><block s="reportVariadicEquals"><list><block var="up"/><l>down</l></list></block><script><custom-block s="move %s %n steps"><l>up</l><block s="reportDifference"><l></l><block var="steps"/></block></custom-block></script></list></block></script></block-definition><block-definition s="move back %&apos;10&apos; steps" type="command" category="motion" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">10</input></inputs><script><block s="forward"><block s="reportDifference"><l></l><block var="10"/></block></block></script></block-definition><block-definition s="print" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>window.print()</l></block><list></list></block></script></block-definition><block-definition s="is %&apos;num&apos; a finite number?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportMonadic"><l><option>abs</option></l><block var="num"/></block><block s="reportQuotient"><l>1</l><l>0</l></block></list></block></block></script></block-definition><block-definition s="ㅤㅤ $✕-1.3-241.5-211-144.5-255 $nl $nl ㅤnever" type="hat" category="control"><comment x="0" y="0" w="181" collapsed="false">Thanks to @redgeographysnap  for the block</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="Earape %&apos;sound&apos;" type="command" category="sound" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1"><options>§_soundsMenu</options></input></inputs><script><block s="playSound"><block s="reportNewSoundFromSamples"><block s="reportVariadicProduct"><list><block s="reportGetSoundAttribute"><l><option>samples</option></l><block var="sound"/></block><l>10</l></list></block><block s="reportGetSoundAttribute"><l><option>sample rate</option></l><block var="sound"/></block></block></block></script><scripts><script x="70" y="140"><block s="doPlaySoundUntilDone"><l></l></block></script></scripts></block-definition><block-definition s="translatons" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>ide_translations</l><list></list></block></block></script></block-definition><block-definition s="costume from script: %&apos;script&apos;" type="reporter" category="looks" helper="true"><comment x="0" y="0" w="259.8173828125" collapsed="false">Turns a ringified script into a script pic that can be used as a costume.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><custom-block s="load script pic costume extension"></custom-block><block s="doReport"><block s="reportApplyExtension"><l>spc_script_to_costume(script)</l><list><block var="script"/></list></block></block></script></block-definition><block-definition s="load script pic costume extension" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/microworlds/script-pic-costume.js</l></list></block></script></block-definition><block-definition s="Grade %&apos;a&apos;" type="reporter" category="Extra"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1">Pre-k<options>Pre-K&#xD;K&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7&#xD;8&#xD;9&#xD;10&#xD;11&#xD;12</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><l>Pre-k</l></list></block><script><block s="doReport"><l>goo goo ga ga</l></block></script><list><block s="reportVariadicEquals"><list><block var="a"/><l>K</l></list></block><script><block s="doReport"><l>Kindergaren</l></block></script><block s="reportVariadicLessThan"><list><block var="a"/><l>9</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> grade</l></list></block></block></script><block s="reportVariadicEquals"><list><block var="a"/><l>9</l></list></block><script><block s="doReport"><l>freshman</l></block></script><block s="reportVariadicEquals"><list><block var="a"/><l>10</l></list></block><script><block s="doReport"><l>sophomore</l></block></script><block s="reportVariadicEquals"><list><block var="a"/><l>11</l></list></block><script><block s="doReport"><l>junior</l></block></script><block s="reportVariadicEquals"><list><block var="a"/><l>12</l></list></block><script><block s="doReport"><l>senior</l></block></script></list></block></script><scripts><script x="172.99511718750085" y="190.99999999999983"><block s="reportIfElse"><l/><l></l><l></l></block></script></scripts></block-definition><block-definition s="create a new %&apos;cat&apos; %&apos;type&apos; block $nl with spec %&apos;spec&apos; params %&apos;parms&apos; $nl defaults %&apos;defaults&apos; $nl types %&apos;types&apos; $nl options %&apos;options&apos; $nl readonly? %&apos;readonly?&apos; $nl $- definition %&apos;definition&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">motion<options>motion&#xD;looks&#xD;sound&#xD;pen&#xD;control&#xD;sensing&#xD;operators&#xD;variables</options></input><input type="%s" readonly="true">command<options>command&#xD;reporter&#xD;predicate</options></input><input type="%s"></input><input type="%mult%s"></input><input type="%mult%s"></input><input type="%mult%s"></input><input type="%mult%mlt"></input><input type="%mult%b"></input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>cat</l><l>spc</l><l>def</l><l>dfl</l><l>tps</l><l>ops</l><l>rdy</l><l>prm</l><l>typ</l></list><l>dfl = dfl.itemsArray();&#xD;tps = tps.itemsArray();&#xD;ops = ops.itemsArray();&#xD;rdy = rdy.itemsArray();&#xD;prm = prm.itemsArray();&#xD;let gbs = world.children[0].stage.globalBlocks;&#xD;let tmp = gbs.find(e =&gt; e.spec===spc);&#xD;if (tmp) return;&#xD;let dfn = new CustomBlockDefinition();&#xD;dfn.spec = spc;&#xD;dfn.type = typ;&#xD;dfn.isGlobal = true;&#xD;dfn.category = cat;&#xD;dfl.forEach((e, f) =&gt; {&#xD; dfn.declarations.set(prm[f], [tps[f], dfl[f], ops[f], rdy[f]]);&#xD;}); // Params, spec, defaults, readonly, options, and types MUST match up!&#xD;dfn.body = def;&#xD;gbs.push(dfn);&#xD;world.children[0].switchToDevMode();&#xD;world.children[0].switchToUserMode();&#xD;world.children = [world.children[0]];&#xD;world.rerender();</l></block><list><block var="cat"/><block var="spec"/><block var="definition"/><block var="defaults"/><block var="types"/><block var="options"/><block var="readonly?"/><block var="parms"/><block var="type"/></list></block></script></block-definition><block-definition s="pen %&apos;true&apos;" type="command" category="pen" helper="true"><comment x="0" y="0" w="80" collapsed="false">Thanks to @d016 for this block</comment><header></header><code></code><translations></translations><inputs><input type="%b" initial="1">true</input></inputs><script><block s="doIfElse"><block var="true"/><script><block s="down"></block></script><script><block s="up"></block></script></block></script></block-definition><block-definition s="$cloud-2 Save all my variables data in a %&apos;a&apos; named %&apos;text&apos;" type="command" category="Data"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">txt file<options>txt file&#xD;key</options></input><input type="%txt" initial="1">variables</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><l>txt file</l></list></block><script><block s="doApplyExtension"><l>txt_export(txt, name)</l><list><custom-block s="join words %mult%txt"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>var_get(name)</l><list></list></block></autolambda><list></list></block><custom-block s="all my variables"></custom-block></block></custom-block><block var="text"/></list></block></script><list><block s="reportVariadicEquals"><list><block var="a"/><l>key</l></list></block><script><block s="doApplyExtension"><l>db_store(key, val)</l><list><block var="text"/><custom-block s="join words %mult%txt"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>var_get(name)</l><list></list></block></autolambda><list></list></block><custom-block s="all my variables"></custom-block></block></custom-block></list></block></script></list></block></script></block-definition><block-definition s="$cloud-2 Save my variable %&apos;variables&apos; data in a %&apos;a&apos; named %&apos;text&apos;" type="command" category="Data"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_getVarNamesDict</options></input><input type="%s" readonly="true" irreplaceable="true" initial="1">txt file<options>txt file&#xD;key</options></input><input type="%txt" initial="1">variables</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><l>txt file</l></list></block><script><block s="doApplyExtension"><l>txt_export(txt, name)</l><list><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="variables"/></list></block><block var="text"/></list></block></script><list><block s="reportVariadicEquals"><list><block var="a"/><l>key</l></list></block><script><block s="doApplyExtension"><l>db_store(key, val)</l><list><block var="text"/><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="variables"/></list></block></list></block></script></list></block></script><scripts><script x="158.9794921875" y="269"><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><custom-block s="all my variables"></custom-block></block></script></scripts></block-definition><block-definition s="play note %&apos;1&apos; for %&apos;2&apos; beats chan %&apos;3&apos;" type="command" category="sound" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">90<options>§_pianoKeyboardMenu</options></input><input type="%n" initial="1">0.2</input><input type="%n" initial="1">1<options>1&#xD;2&#xD;3&#xD;4</options></input></inputs><script><block s="doSetInstrument"><block var="3"/></block><block s="doPlayNote"><block var="1"/><block var="2"/></block></script></block-definition><block-definition s="for %&apos;variable&apos; = %&apos;s&apos; to %&apos;e&apos; %&apos;action&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_getVarNamesDict</options></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doFor"><l>i</l><block var="s"/><block var="e"/><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block var="i"/></block></script><list></list></block><list><block var="variable"/></list></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="infinte list" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block var="a"/><block var="a"/></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="turn %&apos;2&apos; %&apos;1&apos; into number" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1"></input><input type="%mult%b" initial="5"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="1"/></block><script><block s="doReplaceInList"><block var="i"/><block var="1"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="i"/><block var="1"/></block><block var="i"/></list></block></block></script></block><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l>1</l></list></block></autolambda><list></list></block><block s="reportPower"><l>2</l><block var="1"/></block></block></block><block var="2"/></list></block></block></script><scripts><script x="372.5849609375" y="45.99999999999983"><block s="reportBoolean"><l><bool>true</bool></l></block></script></scripts></block-definition><block-definition s="Try %&apos;1&apos; and check if it has an error" type="predicate" category="control"><header></header><code></code><translations></translations><inputs><input type="%cs" initial="1"></input></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doRun"><block var="1"/><list></list></block></script><l>error</l><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></custom-block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="constant" 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="create %&apos;_scope&apos; var %&apos;_names&apos;" type="command" category="Data"><comment x="0" y="0" w="146" collapsed="false">This block creates  new variables on the selected scope: global (for all sprites), sprite (for this sprite only) or script (only for that blocks stack) with the names given (in &apos;names&apos; list).&#xD;&#xD;If there is already a variable with that name in that scope, it does nothing: no errors and no overwrites.</comment><header></header><code></code><translations>pt:cria as variáveis _ _&#xD;ca:crea les _ variables _&#xD;es:crear las _ variables _&#xD;de:erstellen _ var _&#xD;pl:utwórz zmienną _ _&#xD;</translations><inputs><input type="%s" readonly="true">global<options>global&#xD;sprite&#xD;script</options></input><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><block var="_scope"/><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="delete var %&apos;_names&apos;" type="command" category="Data"><comment x="0" y="0" w="217" collapsed="false">This block deletes all the variables with the names given (inside input list).&#xD;&#xD;Each name will make only one variable deletion, and this will be the variable found following the scope order: &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;If we have a &quot;testing&quot; sprite variable and also a &quot;testing&quot; global one, deleting &quot;testing&quot; will delete only the sprite one (Yes! we can also do &quot;delete var (testing, testing)&quot; to delete both.&#xD;&#xD;If one variable does not exists (in any scope) an error happens, stopping block action in that point. You can check it before with the &quot;does var (name) exists?&quot;block. </comment><header></header><code></code><translations>pt:remove as variáveis _&#xD;ca:esborra les variables _&#xD;es:borrar variables _&#xD;de:löschen var _&#xD;pl:usuń zmienną _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>err_ignore</l><list><custom-block s="var %s"><block var="_item"/></custom-block></list></block><block s="doApplyExtension"><l>var_delete(name)</l><list><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="set var %&apos;_name&apos; to %&apos;_value&apos;" type="command" category="Data"><comment x="0" y="0" w="240.4931640625" collapsed="false">This block sets the given value (last input) to the variable named with the name givent (var input).&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>ca:assigna a _ el valor _&#xD;es:asignar a _ el valor _&#xD;pt:altera _ para _&#xD;de:setze var _ auf _&#xD;pl:ustaw zmienną _ na _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>var_set(name, val)</l><list><block var="_name"/><block var="_value"/></list></block></script></block-definition><block-definition s="var %&apos;_name&apos;" type="reporter" category="Data"><comment x="0" y="0" w="178.00000000000003" collapsed="false">This block reports the value of the variable with the name given.&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>pt:o valor de _&#xD;pl:zmienna _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></block></script></block-definition><block-definition s="does var %&apos;_name&apos; exist?" type="predicate" category="Data"><comment x="0" y="0" w="146" collapsed="false">This block reports &quot;true&quot; if there is a variable with this given name (input slot) in that context.&#xD;&#xD;It can be a global, sprite or script variable.&#xD;&#xD;Otherwise it reports &quot;false&quot;.</comment><header></header><code></code><translations>pt:a variável _ existe&#xD;ca:existeix la variable _ ?&#xD;es:existe la variable _ ?&#xD;de:existiert var _ ?&#xD;pl:zmienna _ istnieje?&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doApplyExtension"><l>err_ignore</l><list><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="reifyScript"><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="show var %&apos;_name&apos;" type="command" category="Data"><comment x="0" y="0" w="181" collapsed="false">This block turns on (show) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:mostra la variable _&#xD;es:mostrar variable _&#xD;pt:mostra a variável _&#xD;de:zeige var _&#xD;pl:pokaż zmienną _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_show(name)</l><list><block var="_name"/></list></block></script></block-definition><block-definition s="hide var %&apos;_name&apos;" type="command" category="Data"><comment x="0" y="0" w="181" collapsed="false">This block turns off (hide) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:amaga la variable _&#xD;es:esconder variable _&#xD;pt:esconde a variável _&#xD;de:verstecke var _&#xD;pl:ukryj zmienną _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_hide(name)</l><list><block var="_name"/></list></block></script></block-definition><block-definition s="create %&apos;_scope&apos; list %&apos;_names&apos;" type="command" category="Data"><header></header><code></code><translations>pt:cria as variáveis _ _&#xD;ca:crea les _ variables _&#xD;es:crear las _ variables _&#xD;de:erstellen _ var _&#xD;pl:utwórz zmienną _ _&#xD;</translations><inputs><input type="%s" readonly="true">global<options>global&#xD;sprite&#xD;script</options></input><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><block var="_scope"/><block var="_item"/></list></block></script></block><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>var_set(name, val)</l><list><block var="_item"/><block s="reportNewList"><list></list></block></list></block></script></block></script></block></script></block-definition><block-definition s="determine if %&apos;fn&apos; is %&apos;type&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%repRing" initial="1"></input><input type="%s" readonly="true" irreplaceable="true" initial="1">associative<options>associative&#xD;commutative</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="type"/><l>associative</l></list></block><script><block s="doReport"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="evaluate"><block var="fn"/><list><block s="evaluate"><block var="fn"/><list><block var="a"/><block var="b"/></list></block><block var="c"/></list></block><block s="evaluate"><block var="fn"/><list><block var="a"/><block s="evaluate"><block var="fn"/><list><block var="b"/><block var="c"/></list></block></list></block></list></block></autolambda><list><l>a</l><l>b</l><l>c</l></list></block></block></script><list><block s="reportVariadicEquals"><list><block var="type"/><l>commutative</l></list></block><script><block s="doReport"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="evaluate"><block var="fn"/><list><block var="a"/><block var="b"/></list></block><block s="evaluate"><block var="fn"/><list><block var="b"/><block var="a"/></list></block></list></block></autolambda><list><l>a</l><l>b</l></list></block></block></script></list></block><block s="doReport"><block s="reifyPredicate"><autolambda><block s="reportBoolean"><l><bool>false</bool></l></block></autolambda><list></list></block></block></script></block-definition><block-definition s="input %&apos;n&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%n" irreplaceable="true" initial="1"></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><block s="reifyReporter"><autolambda><block s="reportEnvironment"><l><option>inputs</option></l></block></autolambda><list></list></block><block s="reportEnvironment"><l><option>caller</option></l></block></block></block></block></script></block-definition><block-definition s="repeat %&apos;expr&apos; %&apos;n&apos; times on %&apos;val&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%repRing" initial="1"></input><input type="%n" initial="1">10</input><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block var="n"/><custom-block s="repeat %repRing %n times on %s"><block var="expr"/><block s="reportDifference"><block var="n"/><l>1</l></block><block s="evaluate"><block var="expr"/><list><block var="val"/></list></block></custom-block><block var="val"/></block></block></script></block-definition><block-definition s="new 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><scripts><script x="40" y="82.80000000000001"><block s="doPrimitive"><l><bool>true</bool></l><l>reportNewList</l></block></script></scripts></block-definition><block-definition s="while %&apos;t/f&apos; %&apos;do&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="t/f"/></block><script><block s="doRun"><block var="do"/><list></list></block></script></block></script></block-definition><block-definition s="random costume" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><block s="reportGetImageAttribute"><l><option>name</option></l><block s="reportListItem"><l><option>random</option></l><block s="reportGet"><l><option>costumes</option></l></block></block></block></block></script></block-definition><block-definition s="repeat %&apos;text&apos; %&apos;num&apos; times w/ sperator %&apos;e&apos; %&apos;blooan&apos;" type="reporter" category="looks" helper="true"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">hello world</input><input type="%n" initial="1">10</input><input type="%txt" initial="1"><options>new line</options></input><input type="%b" initial="1">false</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><custom-block s="new list"></custom-block></block><block s="doRepeat"><block var="num"/><script><block s="doAddToList"><block s="reportJoinWords"><list><block var="text"/><block s="reportIfElse"><block var="blooan"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="e"/><l>new line</l></list></block><custom-block s="new line"></custom-block><block var="e"/></block><l></l></block></list></block><block var="a"/></block></script></block><block s="doReport"><block s="reportJoinWords"><block var="a"/></block></block></script><scripts><script x="291" y="211"><block s="doAddToList"><l>thing</l><block var="a"/></block></script><script x="120.9951171875" y="304.9999999999999"><custom-block s="join words %mult%txt"><list><l></l></list></custom-block></script></scripts></block-definition><block-definition s="create key %&apos;text&apos;" type="command" category="Keys"><header></header><code></code><translations></translations><inputs><input type="%mult%l" initial="1"></input></inputs><script><block s="doForEach"><l>item</l><block var="text"/><script><block s="doApplyExtension"><l>db_store(key, val)</l><list><block s="reportListItem"><l>1</l><block var="item"/></block><block s="reportListItem"><l>2</l><block var="item"/></block></list></block></script></block></script></block-definition><block-definition s="key %&apos;text&apos;" type="reporter" category="Keys"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>db_get(key)</l><list><block var="text"/></list></block></block></script></block-definition><block-definition s="remove key %&apos;text&apos;" type="command" category="Keys"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><block s="doApplyExtension"><l>db_remove(key)</l><list><block var="text"/></list></block></script></block-definition><block-definition s="all my keys" type="reporter" category="Keys"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>db_getall</l><list></list></block></block></script></block-definition><block-definition s="remove all keys" type="command" category="Keys"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><custom-block s="all my keys"></custom-block></block><script><custom-block s="safely try %cs then if %upvar %cs"><script><custom-block s="remove key %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><custom-block s="all my keys"></custom-block></block></block></custom-block></script><l>error</l><script><block s="doStopThis"><l><option>this block</option></l></block></script></custom-block></script></block></script></block-definition><block-definition s="$cloud-2 Save all my keys data in a %&apos;a&apos; named %&apos;text&apos;" type="command" category="Keys"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">txt file<options>txt file&#xD;key</options></input><input type="%txt" initial="1">keys</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><l>txt file</l></list></block><script></script><list><block s="reportVariadicEquals"><list><block var="a"/><l>key</l></list></block><script></script></list></block></script></block-definition><block-definition s="$cloud-2 Save all my key %&apos;data&apos; data in a %&apos;a&apos; named %&apos;text&apos;" type="command" category="Keys"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" readonly="true" irreplaceable="true" initial="1">txt file<options>txt file&#xD;key</options></input><input type="%txt" initial="1">keys</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><l>txt file</l></list></block><script></script><list><block s="reportVariadicEquals"><list><block var="a"/><l>key</l></list></block><script></script></list></block></script></block-definition><block-definition s="Earape %&apos;sound&apos; untill done" type="command" category="sound" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1"><options>§_soundsMenu</options></input></inputs><script><block s="doPlaySoundUntilDone"><block s="reportNewSoundFromSamples"><block s="reportVariadicProduct"><list><block s="reportGetSoundAttribute"><l><option>samples</option></l><block var="sound"/></block><l>10</l></list></block><block s="reportGetSoundAttribute"><l><option>sample rate</option></l><block var="sound"/></block></block></block></script></block-definition><block-definition s="does key %&apos;text&apos; exist?" type="predicate" category="Keys"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><custom-block s="all my keys"></custom-block></block><script><block s="doIf"><block s="reportListContainsItem"><block s="reportListItem"><block var="i"/><custom-block s="all my keys"></custom-block></block><block var="text"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><l>error</l><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></custom-block></script></block-definition><block-definition s="is %&apos;number&apos; finite?" type="predicate" category="operators"><comment x="0" y="0" w="90" collapsed="false">Thanks to @askofep1 for the block</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is %n a valid number?"><block s="reportListItem"><l>1</l><block s="reportEnvironment"><l><option>inputs</option></l></block></block></custom-block><block s="reportVariadicNotEquals"><list><block s="reportMonadic"><l><option>abs</option></l><block var="number"/></block><block s="reportQuotient"><l>1</l><l>0</l></block></list></block></list></block></block></script></block-definition><block-definition s="is %&apos;number&apos; a valid number?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportEnvironment"><l><option>inputs</option></l></block></block><l><option>number</option></l></block><block s="reportVariadicOr"><list><block s="reportVariadicIsIdentical"><list><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block s="reportEnvironment"><l><option>inputs</option></l></block></block></list></block><l>0</l></list></block><block s="reportNot"><block s="reportNot"><block s="reportListItem"><l>1</l><block s="reportEnvironment"><l><option>inputs</option></l></block></block></block></block></list></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></script></block-definition><block-definition s="write %&apos;text&apos; size %&apos;num&apos; at x: %&apos;num2&apos; y: %&apos;num3&apos;" type="command" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">hello!</input><input type="%n" initial="1">12</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="getPosition"></block></block><block s="gotoXY"><block var="num2"/><block var="num3"/></block><block s="write"><block var="text"/><block var="num"/></block><block s="doGotoObject"><block var="a"/></block></script></block-definition><block-definition s="use %&apos;color&apos; to draw a square on x: %&apos;num&apos; y: %&apos;num2&apos; width: %&apos;num3&apos; height: %&apos;num4&apos; $nl with outline %&apos;t/f&apos; outline color: %&apos;num5&apos; outline length: %&apos;num6&apos;" type="command" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%clr" initial="1">rgba(145,26,68,1)</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">10</input><input type="%n" initial="1">10</input><input type="%b" initial="1">false</input><input type="%clr" initial="1">rgba(68,0,42,1)</input><input type="%n" initial="1">6</input></inputs><script><block s="doDeclareVariables"><list><l>last pos</l><l>last pen</l><l>last size</l></list></block><block s="doSetVar"><l>last size</l><block s="reportNewList"><list><block var="num3"/><block var="num4"/></list></block></block><block s="doSetVar"><l>last pos</l><block s="getPosition"></block></block><block s="doSetVar"><l>last pen</l><block s="reportNewList"><list><block s="getPenAttribute"><l><option>color</option></l></block><block s="getPenAttribute"><l><option>size</option></l></block></list></block></block><block s="setColor"><block s="reportIfElse"><block var="t/f"/><block var="num5"/><block var="color"/></block></block><block s="setSize"><l>1</l></block><block s="gotoXY"><block var="num"/><block var="num2"/></block><block s="doIf"><block var="t/f"/><script><custom-block s="change by x: %n y: %n"><block s="reportDifference"><l></l><block s="reportQuotient"><block var="num6"/><l>2</l></block></block><block s="reportDifference"><l></l><block s="reportQuotient"><block var="num6"/><l>2</l></block></block></custom-block></script><list></list></block><block s="down"></block><block s="doWarp"><script><block s="doSetVar"><l>num3</l><block s="reportVariadicSum"><list><block var="num6"/><block var="num3"/></list></block></block><block s="doSetVar"><l>num4</l><block s="reportVariadicSum"><list><block var="num6"/><block var="num4"/></list></block></block><block s="doRepeat"><block s="reportVariadicProduct"><list><block var="num3"/><block var="num4"/></list></block><script><block s="changeXPosition"><block var="num3"/></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="getPenAttribute"><l><option>size</option></l></block><block s="reportVariadicProduct"><list><block var="num3"/><block var="num4"/></list></block></block><block var="num4"/></list></block></block><block s="changeXPosition"><block s="reportDifference"><l></l><block var="num3"/></block></block></script></block><block s="doIf"><block var="t/f"/><script><block s="down"></block></script><list></list></block><block s="doSetVar"><l>num3</l><block s="reportListItem"><l>1</l><block var="last size"/></block></block><block s="doSetVar"><l>num4</l><block s="reportListItem"><l>2</l><block var="last size"/></block></block><block s="gotoXY"><block var="num"/><block var="num2"/></block><block s="setColor"><block var="color"/></block><block s="doRepeat"><block s="reportVariadicProduct"><list><block var="num3"/><block var="num4"/></list></block><script><block s="changeXPosition"><block var="num3"/></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="getPenAttribute"><l><option>size</option></l></block><block s="reportVariadicProduct"><list><block var="num3"/><block var="num4"/></list></block></block><block var="num4"/></list></block></block><block s="changeXPosition"><block s="reportDifference"><l></l><block var="num3"/></block></block></script></block><block s="up"></block></script></block><block s="setColor"><block s="reportListItem"><l>1</l><block var="last pen"/></block></block><block s="setSize"><block s="reportListItem"><l>2</l><block var="last pen"/></block></block><block s="doGotoObject"><block var="last pos"/></block></script><scripts><script x="514.8582031250012" y="388.0000000000017"><block s="reportVariadicProduct"><list><block var="num3"/><block var="num4"/></list></block></script><script x="323.888671875" y="554.0000000000002"><block s="reportQuotient"><l>10</l><block s="getPenAttribute"><l><option>size</option></l></block></block></script><script x="352.9296875" y="292.00000000000114"><block var="num"/></script><script x="299.3013671875002" y="367.00000000000125"><block var="num2"/></script></scripts></block-definition><block-definition s="set pen palette to %&apos;color&apos;" type="command" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%mult%clr" initial="4"></input></inputs><script><block s="doIfElse"><custom-block s="does var %s exist?"><l>pen palette</l></custom-block><script><custom-block s="set var %s to %s"><l>pen palette</l><block var="color"/></custom-block></script><script><custom-block s="create %s var %mult%txt"><l>global</l><list><l>pen palette</l></list></custom-block><custom-block s="set var %s to %s"><l>pen palette</l><block var="color"/></custom-block></script></block></script></block-definition><block-definition s="color %&apos;num&apos; of pen palette" type="reporter" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1<options>1&#xD;last=$_last&#xD;random=$_random</options></input></inputs><script><block s="doReport"><custom-block s="safely try reporting %anyUE then if %upvar report %anyUE"><block s="reportListItem"><block var="num"/><custom-block s="var %s"><l>pen palette</l></custom-block></block><l>error</l><custom-block s="... $(2)-0.0001"></custom-block></custom-block></block></script></block-definition><block-definition s="remove palette" type="command" category="pen" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><custom-block s="delete var %mult%txt"><list><l>pen palette</l></list></custom-block></script><l>error</l><script><custom-block s="..."></custom-block></script></custom-block></script></block-definition><block-definition s="change color %&apos;num&apos; of pen palette to %&apos;q&apos;" type="command" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1<options>1&#xD;last=$_last&#xD;random=$_random</options></input><input type="%clr" initial="1">rgba(145,26,68,1)</input></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doReplaceInList"><block var="num"/><custom-block s="var %s"><l>pen palette</l></custom-block><block var="q"/></block></script><l>error</l><script><custom-block s="..."></custom-block></script></custom-block></script></block-definition><block-definition s="change var %&apos;_name&apos; by %&apos;_number&apos;" type="command" category="Data"><header></header><code></code><translations>ca:assigna a _ el valor _&#xD;es:asignar a _ el valor _&#xD;pt:altera _ para _&#xD;de:setze var _ auf _&#xD;pl:ustaw zmienną _ na _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input><input type="%n">1</input></inputs><script><block s="doChangeVar"><block var="_name"/><block var="_number"/></block></script></block-definition><block-definition s="wait forever" type="command" category="useless"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWaitUntil"><l><bool>false</bool></l></block></script></block-definition><block-definition s="// %&apos;comment&apos; %&apos;a&apos;" type="command" category="lables"><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1">this is a comment</input><input type="%mult%cs" max="1"></input></inputs><script><block s="doRun"><block var="a"/><list></list></block></script></block-definition><block-definition s="transparency specturm %&apos;1&apos;" type="reporter" category="pen" helper="true"><header></header><code></code><translations></translations><inputs><input type="%clr" expand="with color" initial="1" max="1">rgba(145,26,68,1)</input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>b</l><block s="reportNewColor"><list><block s="reportColorAttribute"><l><option>hue</option></l><block var="1"/></block><block s="reportColorAttribute"><l><option>saturation</option></l><block var="1"/></block><block s="reportColorAttribute"><l><option>brightness</option></l><block var="1"/></block></list></block></block><block s="doSetVar"><l>a</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewColor"><list><block s="reportColorAttribute"><l><option>hue</option></l><block var="b"/></block><block s="reportColorAttribute"><l><option>saturation</option></l><block var="b"/></block><block s="reportColorAttribute"><l><option>brightness</option></l><block var="b"/></block><block s="reportVariadicSum"><list><l></l><l>1</l></list></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><l>100</l></block></block></block><block s="doReport"><block s="reportListAttribute"><l><option>reverse</option></l><block var="a"/></block></block></script><scripts><script x="291.70410156249955" y="248.99999999999991"><block var="b"/></script><script x="277.94316406250005" y="49.99999999999994"><block var="1"/></script></scripts></block-definition><block-definition s="Motion $nl x: %&apos;x&apos; $nl y: %&apos;y&apos; $nl direction: %&apos;dir&apos;" type="command" category="motion" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input><input type="%n" initial="1">1</input><input type="%n" initial="1">90<options>§_directionDialMenu</options></input></inputs><script><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block></script></block-definition><block-definition s="mutiline %&apos;1&apos;" type="reporter" category="inputs"><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1"></input></inputs><script><block s="doReport"><block var="1"/></block></script></block-definition><block-definition s="last message" type="reporter" category="control" primitive="getLastMessage"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>getLastMessage</l></block></script></block-definition><block-definition s="replacement character" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><l>65533</l></block></block></script></block-definition><block-definition s="find the average of %&apos;num&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%n" initial="1">42</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><block var="num"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="num"/></block></block></block></script></block-definition><block-definition s="set %&apos;2&apos; to %&apos;num&apos;" type="command" category="Extra" primitive="setEffect"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">comic<options>comic=$_comic&#xD;confetti=$_confetti&#xD;duplicate=$_duplicate</options></input><input type="%n" initial="1">10</input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>setEffect</l></block></script></block-definition><block-definition s="change %&apos;2&apos; by %&apos;num&apos;" type="command" category="Extra" primitive="changeEffect"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">comic<options>comic=$_comic&#xD;confetti=$_confetti&#xD;duplicate=$_duplicate</options></input><input type="%n" initial="1">10</input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>changeEffect</l></block></script></block-definition><block-definition s="%&apos;2&apos; effect" type="reporter" category="Extra" primitive="getEffect"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">comic<options>comic=$_comic&#xD;confetti=$_confetti&#xD;duplicate=$_duplicate</options></input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>getEffect</l></block></script></block-definition><block-definition s="when %&apos;background&apos; switches to %&apos;costume name&apos;" type="hat" category="looks" helper="true"><header></header><code></code><translations>de:Wenn Hintergrund zu _ wechselt&#xD;</translations><inputs><input type="%s" readonly="true" initial="1"><options>§_clonablesMenu</options></input><input type="%s" readonly="true" irreplaceable="true" initial="1"><options>§_dynamicMenu</options></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportAttributeOf"><l><option>costume name</option></l><block var="background"/></block><block var="costume name"/></list></block></block></script><scripts><script x="10" y="121.83333333333326"><block s="receiveSlotEvent"><l>costume name</l><l><option>menu</option></l></block><block s="doReport"><block s="reportGetImageAttribute"><l><option>name</option></l><block s="reportAskFor"><block var="background"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costumes</option></l></block></autolambda><list></list></block><list></list></block></block></block></script><script x="372.669921875" y="114.83333333333326"><block s="reportGet"><l><option>stage</option></l></block></script><script x="283.3359375" y="181.66666666666657"><block s="reportGet"><l><option>stage</option></l></block></script></scripts></block-definition><block-definition s="Set cursor to %&apos;style&apos;" type="command" category="cursors"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">default<options>alias&#xD;all-scroll&#xD;auto&#xD;cell&#xD;context-menu&#xD;col-resize&#xD;copy&#xD;crosshair&#xD;default&#xD;e-resize&#xD;ew-resize&#xD;grab&#xD;grabbing&#xD;help&#xD;move&#xD;n-resize&#xD;ne-resize&#xD;nesw-resize&#xD;ns-resize&#xD;nw-resize&#xD;nwse-resize&#xD;no-drop&#xD;none&#xD;not-allowed&#xD;pointer&#xD;progress&#xD;row-resize&#xD;s-resize&#xD;se-resize&#xD;sw-resize&#xD;text&#xD;url(myBall.cur),auto&#xD;vertical-text&#xD;w-resize&#xD;wait&#xD;zoom-in&#xD;zoom-out&#xD;initial</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>style</l></list><l>document.body.style.cursor = style;</l></block><list><block var="style"/></list></block></script></block-definition><block-definition s="show cursor %&apos;cursor&apos;" type="command" category="cursors"><header></header><code></code><translations></translations><inputs><input type="%b" initial="1">true</input></inputs><script><block s="doIfElse"><block var="cursor"/><script><custom-block s="Set cursor to %s"><l>auto</l></custom-block></script><script><custom-block s="Set cursor to %s"><l>none</l></custom-block></script></block></script></block-definition><block-definition s="all my variables inputs" type="reporter" category="Data"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="var %s"><l></l></custom-block></autolambda><list></list></block><block s="reportApplyExtension"><l>var_names(scope)</l><list></list></block></block></block></script></block-definition><block-definition s="toggle pointer lock" type="command" category="cursors"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l></l></list><l>document.body.requestPointerLock();</l></block><list></list></block></script></block-definition><block-definition s="mouse locked?" type="predicate" category="cursors"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return document.pointerLockElement !== null;</l></block><list></list></block></block></script></block-definition><block-definition s="mouse x movement" type="reporter" category="cursors"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="report event data %txt"><l>movementX</l></custom-block></block></script></block-definition><block-definition s="report event data %&apos;name&apos;" type="reporter" category="sensing" helper="true"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">movementX<options>movementX&#xD;movementY</options></input></inputs><script><custom-block s="add event listener"></custom-block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>dataName</l></list><l>if (window.mouseLockData)&#xD;  return window.mouseLockData[dataName];&#xD;else&#xD;  return 0;</l></block><list><block var="name"/></list></block></block></script></block-definition><block-definition s="add event listener" type="command" category="sensing" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>if (!window.mouseLockEventAdded) {&#xD;  // we only want to run this code once&#xD;  window.mouseLockEventAdded = true;&#xD;&#xD;  // hijack cycle function to reset data every frame&#xD;  var oldCycle = WorldMorph.prototype.doOneCycle;&#xD;  WorldMorph.prototype.doOneCycle = function() {&#xD;    oldCycle.call(this);&#xD;    window.mouseLockData = undefined;&#xD;  };&#xD;&#xD;  // add mouse movement event listener&#xD;  var canvas = this.root().worldCanvas;&#xD;  canvas.addEventListener("mousemove", function(event) {&#xD;    window.mouseLockData = {&#xD;      movementX: event.movementX,&#xD;      movementY: event.movementY&#xD;    };&#xD;  });&#xD;}</l></block><list></list></block></script></block-definition><block-definition s="mouse y movement" type="reporter" category="cursors"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportDifference"><l>0</l><custom-block s="report event data %txt"><l>movementY</l></custom-block></block></block></script></block-definition><block-definition s="mouse unlocked?" type="predicate" category="cursors"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNot"><custom-block s="mouse locked?"></custom-block></block></block></script></block-definition><block-definition s="when mouse is %&apos;locked&apos;" type="hat" category="cursors"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true" initial="1">locked<options>locked&#xD;unlocked</options></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="locked"/><l>locked</l></list></block><custom-block s="mouse locked?"></custom-block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="locked"/><l>unlocked</l></list></block><custom-block s="mouse unlocked?"></custom-block><l></l></block></block></block></script></block-definition><block-definition s="script %&apos;a&apos; %&apos;code&apos;" type="command" category="Scripts"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">A Script.</input><input type="%mult%cs" irreplaceable="true" max="1"></input></inputs><script><custom-block s="create %s var %mult%txt"><l>global</l><list><block var="a"/></list></custom-block><custom-block s="set var %s to %s"><block var="a"/><block var="code"/></custom-block></script></block-definition><block-definition s="run script %&apos;2&apos;" type="command" category="Scripts"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><block s="doRun"><block var="2"/><list></list></block></script></block-definition><block-definition s="run script %&apos;2&apos; $(2)-0.0000001" type="reporter" category="Scripts"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><block s="doReport"><block s="evaluate"><block var="2"/><list></list></block></block></script></block-definition><block-definition s="delete script %&apos;1&apos;" type="command" category="Scripts"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1"></input></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><custom-block s="delete var %mult%txt"><list><block var="1"/></list></custom-block></script><l>error</l><script><custom-block s="..."></custom-block></script></custom-block></script></block-definition><block-definition s="$Motion-2 $pack-2" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><script><custom-block s="glide %n secs to %l"><l>1</l><l/></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="turn around"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="change by x: %n y: %n"><l>10</l><l>10</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="point away from edge"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="touching x: %n y: %n"><l>0</l><l>0</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="if %b , bounce"><l><bool>true</bool></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="move back %n steps"><l>10</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="move %s %n steps"><l>up</l><l>10</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="Motion %br x: %n %br y: %n %br direction: %n"><l>0</l><l>0</l><l>105</l></custom-block></script><list></list></block></list></custom-block></block></script></block-definition><block-definition s="is %&apos;num&apos; %&apos;negative&apos;" type="predicate" category="Extra"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input><input type="%s" readonly="true" irreplaceable="true" initial="1">negative<options>negative&#xD;positive</options></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="negative"/><l>negative</l></list></block><block s="reportVariadicEquals"><list><block s="reportMonadic"><l><option>neg</option></l><block s="reportMonadic"><l><option>abs</option></l><block var="num"/></block></block><block var="num"/></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="negative"/><l>positive</l></list></block><block s="reportNot"><custom-block s="is %n %s"><block var="num"/><l>negative</l></custom-block></block><l></l></block></block></block></script></block-definition><block-definition s="hold %&apos;blocks&apos;" type="reporter" category="Extra"><header></header><code></code><translations></translations><inputs><input type="%mult%repRing" initial="1"></input></inputs><script><block s="doReport"><block var="blocks"/></block></script></block-definition><block-definition s="pen costume" type="command" category="looks" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><block s="reportPenTrailsAsCostume"></block></block></script></block-definition><block-definition s="$Looks-2 $Pack-2" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><script><custom-block s="previous costume"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="last costume"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="hide all sprites"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="show all sprites"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="first costume"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="hidden?"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="all of my effects"></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="flip %s"><l>x</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="blur"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="stop speaking"></custom-block></script><list></list></block><block s="reifyReporter"><script><block s="errorObsolete"></block></script><list></list></block><block s="reifyReporter"><script><custom-block s="random costume"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="costume from script: %repRing"><block s="reifyReporter"><script></script><list></list></block></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="repeat %txt %n times w/ sperator %txt %b"><l>hello world</l><l>10</l><l></l><l><bool>false</bool></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="when %s switches to %s"><l></l><l></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="pen costume"></custom-block></script><list></list></block></list></custom-block></block></script></block-definition><block-definition s="$Sound-2 $Pack-2" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><script><custom-block s="play frequncy %n MHz"><l>1</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="Earape %s"><l></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="play note %n for %n beats chan %n"><l>90</l><l>0.2</l><l>1</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="Earape %s untill done"><l></l></custom-block></script><list></list></block></list></custom-block></block></script></block-definition><block-definition s="$Pen-2 $Pack-2" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><autolambda><custom-block s="grayscale specturm"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="color specturm"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="saturation specturm %clr"><color>145,26,68,1</color></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="stamp at x: %n y: %n"><l>0</l><l>0</l></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="random color w/ transparency %b"><l><bool>false</bool></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="pen up?"></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="typewriter %s size %n delay %n"><l>Hello!</l><l>12</l><l>0.25</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="pen %b"><l><bool>true</bool></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="write %txt size %n at x: %n y: %n"><l>hello!</l><l>12</l><l>0</l><l>0</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="use %clr to draw a square on x: %n y: %n width: %n height: %n %br with outline %b outline color: %clr outline length: %n"><color>255,172,94,1</color><l>0</l><l>0</l><l>25</l><l>25</l><l><bool>true</bool></l><color>226,80,0,1</color><l>10</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="set pen palette to %mult%clr"><list><color>145,26,68,1</color><color>145,26,68,1</color><color>145,26,68,1</color><color>145,26,68,1</color></list></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="color %n of pen palette"><l>1</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="remove palette"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="change color %n of pen palette to %clr"><l>1</l><color>145,26,68,1</color></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="transparency specturm %clr"><color>224,79,0,1</color></custom-block></autolambda><list></list></block></list></custom-block></block></script></block-definition><block-definition s="$Control-2 $Pack-2" type="reporter" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><script><custom-block s="error %txt"><l></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="tell number %n of %s clones to do %cmdRing"><l>1</l><l>myself</l><block s="reifyScript"><script></script><list></list></block></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="ask number %n of %s clones for %repRing"><l>1</l><l>myself</l><block s="reifyReporter"><script></script><list></list></block></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="wait %n %s"><l>1</l><l>second</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="run random %mult%cs"><list><script></script><script></script></list></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="call random %mult%anyUE"><list><l></l></list></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="%s is clone?"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="ㅤㅤ %br ㅤalways"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="wait until next tick $loop-0.7"></custom-block></script><list></list></block><block s="reifyReporter"><script></script><list></list></block></list></custom-block></block></script></block-definition><block-definition s="ask number %&apos;num&apos; of %&apos;sprite&apos; clones for %&apos;a&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input><input type="%s" readonly="true" irreplaceable="true" initial="1">myself<options>§_clonablesMenu</options></input><input type="%repRing" initial="1"></input></inputs><script><block s="doReport"><block s="reportAskFor"><block s="reportListItem"><block var="num"/><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block></block><block var="a"/><list></list></block></block></script><scripts><script x="48" y="121.8333333333333"><block s="doTellTo"><l></l><block var="a"/><list></list></block></script></scripts></block-definition><block-definition s="RTEST" type="reporter" category="inputs"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="username" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>JS?</l></list></block><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doSetVar"><l>JS?</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>return true;</l></block><list></list></block></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>JS?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><l>unknown</l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block><block s="doIfElse"><block var="JS?"/><script><block s="doApplyExtension"><l>db_store(key, val)</l><list><l>username</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;ide = stage.parentThatIsA(IDE_Morph);&#xD;return ide.cloud.username;</l></block><list></list></block></list></block><block s="doReport"><block s="reportApplyExtension"><l>db_get(key)</l><list><l>username</l></list></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block s="reportApplyExtension"><l>db_get(key)</l><list><l>username</l></list></block><l><option>Boolean</option></l></block><script><block s="doIfElse"><block var="JS?"/><script><block s="doApplyExtension"><l>db_store(key, val)</l><list><l>username</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;ide = stage.parentThatIsA(IDE_Morph);&#xD;return ide.cloud.username;</l></block><list></list></block></list></block><block s="doReport"><block s="reportApplyExtension"><l>db_get(key)</l><list><l>username</l></list></block></block></script><script><block s="doReport"><l>unknown</l></block></script></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>db_get(key)</l><list><l>username</l></list></block></block></script></block></script></block></script></block-definition><block-definition s="parse code %&apos;code&apos; to blocks" type="reporter" category="operators"><comment x="0" y="0" w="104" collapsed="false">turn LISP syntax text code into blocks</comment><header></header><code></code><translations>de:verwandle Code _ in Blöcke&#xD;ca:blocs del codi textual _&#xD;</translations><inputs><input type="%code" initial="1">(+ 3 4)</input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportTextSplit"><block var="code"/><l><option>blocks</option></l></block></block></block></script></block-definition><block-definition s="encode blocks %&apos;script&apos; to text %&apos;lines&apos; pretty" type="reporter" category="operators"><comment x="0" y="0" w="106" collapsed="false">turn blocks into LISP syntax text code.</comment><header></header><code></code><translations>de:verwandle Blöcke _ in Code _ formatiert&#xD;ca:codi textual dels blocs _ formatats _&#xD;</translations><inputs><input type="%repRing" initial="1"></input><input type="%b" initial="1">true</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l></l><block s="reportTextSplit"><block var="script"/><l><option>blocks</option></l></block></block></autolambda><list></list></block><list><block s="reportIfElse"><block var="lines"/><l>lines</l><l>text</l></block></list></block></block></script></block-definition><block-definition s="parse PACE %&apos;input&apos;" type="reporter" category="operators"><variables><list struct="atomic" id="14274">Current token</list></variables><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1">/:execute</input></inputs><script><custom-block s="hold without running %cs %txt"><custom-block s="PACE conditions for %mlt"><block var="input"/></custom-block><l>This is just to hold blocks, just in case</l></custom-block><custom-block s="hold without running %cs %txt"><custom-block s="PACE errors for %mlt"><block var="input"/></custom-block><block s="reportNot"><custom-block s="text %txt contains %txt"><block var="input"/><l>#</l></custom-block></block></custom-block><block s="doWarp"><script><block s="doDeclareVariables"><list><l>Primary</l><l>Start</l><l>End</l></list></block><block s="doSetVar"><l>Primary</l><block s="reportTextSplit"><block var="input"/><l></l></block></block><block s="doIf"><block s="reportListContainsItem"><block var="Primary"/><l>#</l></block><script><block s="doUntil"><block s="reportNot"><block s="reportListContainsItem"><block var="Primary"/><l>#</l></block></block><script><block s="doSetVar"><l>Start</l><block s="reportListIndex"><l>#</l><block var="Primary"/></block></block><block s="doDeleteFromList"><block var="Start"/><block var="Primary"/></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="Primary"/><l>#</l></block></block><script><block s="doReport"><l>Syntax error; invalid comment (unfinished comment)</l></block></script><list></list></block><block s="doSetVar"><l>End</l><block s="reportListIndex"><l>#</l><block var="Primary"/></block></block><block s="doFor"><l>i</l><block var="Start"/><block var="End"/><script><block s="doDeleteFromList"><block var="Start"/><block var="Primary"/></block></script></block></script></block></script><list></list></block><block s="doSetVar"><l>input</l><block s="reportJoinWords"><list><block var="Primary"/></list></block></block><block s="doIfElse"><custom-block s="PACE conditions for %mlt"><block var="input"/></custom-block><script><block s="doDeclareVariables"><list><l>Tokens</l><l>Output</l><l>Parts</l><l>Code tokens</l><l>Words</l><l>Temporary</l></list></block><block s="doSetVar"><l>Tokens</l><l>0</l></block><block s="doSetVar"><l>Current token</l><l>0</l></block><block s="doSetVar"><l>Code tokens</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>Temporary</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="Current token"/><l>1</l></list></block><script><block s="doSetVar"><l>Tokens</l><custom-block s="replace all %s in %txt with %s"><l>;</l><block var="input"/><l>;</l></custom-block></block><block s="doSetVar"><l>Parts</l><block s="reportTextSplit"><block s="reportListAttribute"><l><option>text</option></l><block s="reportTextSplit"><block s="reportJoinWords"><list><custom-block s="all but last letter of %txt"><block var="Tokens"/></custom-block><l>;</l></list></block><l><option>line</option></l></block></block><l>”</l></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Parts"/></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="i"/><l>2</l></block><l>0</l></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="Parts"/></block><block var="Code tokens"/></block></script><script><block s="doSetVar"><l>Temporary</l><block s="reportListItem"><block var="i"/><block var="Parts"/></block></block><block s="doSetVar"><l>Temporary</l><custom-block s="replace all %s in %txt with %s"><l>[</l><block var="Temporary"/><l> [ </l></custom-block></block><block s="doSetVar"><l>Temporary</l><custom-block s="replace all %s in %txt with %s"><l>]</l><block var="Temporary"/><l> ] </l></custom-block></block><block s="doSetVar"><l>Temporary</l><custom-block s="replace all %s in %txt with %s"><l>{</l><block var="Temporary"/><l> { </l></custom-block></block><block s="doSetVar"><l>Temporary</l><custom-block s="replace all %s in %txt with %s"><l>}</l><block var="Temporary"/><l> } </l></custom-block></block><block s="doSetVar"><l>Temporary</l><custom-block s="replace all %s in %txt with %s"><l>;</l><block var="Temporary"/><l> ; </l></custom-block></block><block s="doSetVar"><l>Temporary</l><custom-block s="replace all %s in %txt with %s"><l>”</l><block var="Temporary"/><l> “ </l></custom-block></block><block s="doSetVar"><l>Words</l><block s="reportTextSplit"><block var="Temporary"/><l> </l></block></block><block s="doForEach"><l>item</l><block var="Words"/><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportNewList"><list><block var="item"/></list></block></block><l>0</l></list></block><script><block s="doAddToList"><block var="item"/><block var="Code tokens"/></block></script><list></list></block></script></block></script></block></script></block></script><list></list></block><block s="doUntil"><block s="reportNot"><block s="reportListContainsItem"><block var="Code tokens"/><l></l></block></block><script><block s="doDeleteFromList"><block s="reportListIndex"><l></l><block var="Code tokens"/></block><block var="Code tokens"/></block></script></block><block s="doDeleteFromList"><l><option>last</option></l><block var="Code tokens"/></block><block s="doReplaceInList"><l><option>last</option></l><block var="Code tokens"/><l>/;</l></block><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doFor"><l>i</l><l>0</l><block s="reportDifference"><block s="reportListIndex"><l>/:execute</l><block var="Code tokens"/></block><l>1</l></block><script><block s="doDeleteFromList"><block var="i"/><block var="Code tokens"/></block><block s="doSetVar"><l>Temporary</l><block s="reportListItem"><block var="i"/><block var="Code tokens"/></block></block><block s="doSetVar"><l>Temporary</l><custom-block s="replace all %s in %txt with %s"><l>]</l><block var="Temporary"/><l> ] </l></custom-block></block><block s="doAddToList"><l>/;</l><block var="Code tokens"/></block></script></block><block s="doReport"><block var="Code tokens"/></block></script><script><block s="doReport"><custom-block s="PACE errors for %mlt"><block var="input"/></custom-block></block></script></block></script></block></script></block-definition><block-definition s="PACE conditions for %&apos;Input&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1">/:execute</input></inputs><script><block s="doDeclareVariables"><list><l>T/F</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="PACE errors for %mlt"><block var="Input"/></custom-block><l>Unknown Error</l></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><l>1</l></list></block><script><block s="doIfElse"><custom-block s="%s $- %s $- %s"><custom-block s="items %n to %n of %l"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></custom-block><l>contains</l><l>;</l></custom-block><script><block s="doSetVar"><l>T/F</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doSetVar"><l>T/F</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><custom-block s="%s $- %s $- %s"><block var="Input"/><l>contains</l><l>/;</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>contains</l><l>/:</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>contains</l><l>Execute</l></custom-block><block s="reportVariadicOr"><list><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l>/:</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l> /:</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l>  /:</l></custom-block></list></block><block var="T/F"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicAnd"><list><custom-block s="%s $- %s $- %s"><block var="Input"/><l>contains</l><l>/;</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>contains</l><l>/:</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>contains</l><l>Execute</l></custom-block><block s="reportVariadicOr"><list><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l>/:</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l> /:</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l>  /:</l></custom-block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="PACE errors for %&apos;Input&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1">/:execute;</input></inputs><script><block s="doDeclareVariables"><list><l>List</l><l>List 2</l><l>Amount</l></list></block><block s="doSetVar"><l>List</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>List 2</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>Amount</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block></block><block s="doFor"><l>i</l><l>1</l><block var="Amount"/><script><block s="doAddToList"><custom-block s="%s $- %s $- %s"><block s="reportListItem"><block var="i"/><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><l>ends with</l><l> </l></custom-block><block var="List"/></block></script></block><block s="doFor"><l>I 2</l><l>1</l><block var="Amount"/><script><block s="doAddToList"><custom-block s="%s $- %s $- %s"><block s="reportListItem"><block var="I 2"/><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><l>ends with</l><l>;</l></custom-block><block var="List 2"/></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l>  /:</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l> /:</l></custom-block><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l>/:</l></custom-block></list></block></block><script><block s="doReport"><l>Missing start command “/:”</l></block></script><list><block s="reportNot"><custom-block s="%s $- %s $- %s"><block var="Input"/><l>starts with</l><l>/:execute</l></custom-block></block><script><block s="doReport"><l>Missing start command “execute”</l></block></script><block s="reportListContainsItem"><block var="List"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doReport"><block s="reportJoinWords"><list><l>Invalid syntax; </l><l>line </l><block s="reportListIndex"><block s="reportBoolean"><l><bool>true</bool></l></block><block var="List"/></block><l> contains a space at the end </l><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block><l>“</l><block s="reportListItem"><block s="reportListIndex"><block s="reportBoolean"><l><bool>true</bool></l></block><block var="List"/></block><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><l>”</l></list></block></block></script><block s="reportListContainsItem"><block var="List 2"/><block s="reportBoolean"><l><bool>false</bool></l></block></block><script><block s="doReport"><block s="reportJoinWords"><list><l>Missing new line command “;” </l><l>line: </l><block s="reportListIndex"><block s="reportBoolean"><l><bool>false</bool></l></block><block var="List 2"/></block><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block><l>“</l><block s="reportListItem"><block s="reportListIndex"><block s="reportBoolean"><l><bool>false</bool></l></block><block var="List 2"/></block><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><l>”</l></list></block></block></script><block s="reportNot"><custom-block s="%s $- %s $- %s"><block s="reportListItem"><l><option>last</option></l><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><l>contains</l><l>/;</l></custom-block></block><script><block s="doReport"><l>Missing end command “/;”</l></block></script><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><custom-block s="last word of %txt"><block var="Input"/></custom-block><l>/;</l></list></block><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="%s $- %s $- %s"><block s="reportListItem"><l><option>last</option></l><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><l>starts with</l><l>/;</l></custom-block><custom-block s="%s $- %s $- %s"><block s="reportListItem"><l><option>last</option></l><block s="reportTextSplit"><block var="Input"/><l><option>line</option></l></block></block><l>ends with</l><l>/;</l></custom-block></list></block></block></list></block><script><block s="doReport"><l>Invalid syntax; last line contains invalid placement of end command “/;”</l></block></script><l><bool>true</bool></l><script><block s="doReport"><l>Unknown Error</l></block></script></list></block></script></block-definition><block-definition s="Velocity and friction" type="command" category="Ace’s blocks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l><option>Turtle</option></l><comment w="118.33333333333334" collapsed="true">Movement controls</comment></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSetVar"><l>Friction</l><l>0.8</l><comment w="149.40277777777786" collapsed="false">The closer this is to 1 the less friction there will be</comment></block><block s="doSetVar"><l>vel</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></block><block s="doForever"><script><block s="doChangeVar"><l>vel</l><custom-block s="unit of %s"><block s="reportNewList"><list><block s="reportDifference"><block s="reportKeyPressed"><l><option>d</option></l></block><block s="reportKeyPressed"><l><option>a</option></l></block><comment w="90" collapsed="true">right left</comment></block><block s="reportDifference"><block s="reportKeyPressed"><l><option>w</option></l></block><block s="reportKeyPressed"><l><option>s</option></l></block><comment w="90" collapsed="true">up down</comment></block></list></block></custom-block></block><block s="doSetVar"><l>vel</l><block s="reportVariadicProduct"><list><custom-block s="unit of %s"><block var="vel"/></custom-block><block s="reportVariadicMin"><list><custom-block s="magnitude of %s"><block var="vel"/></custom-block><l>10</l></list></block></list></block><comment w="90" collapsed="true">cap velocity</comment></block><block s="doSetVar"><l>vel</l><block s="reportVariadicProduct"><list><block var="vel"/><block var="Friction"/></list></block></block><custom-block s="move by %l"><block var="vel"/></custom-block><block s="bounceOffEdge"></block></script></block></script></block-definition><block-definition s="remove letter %&apos;numb&apos; of %&apos;input&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input><input type="%s" initial="1">Train</input></inputs><script><block s="doDeclareVariables"><list><l>Result</l></list></block><block s="doSetVar"><l>Result</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="input"/></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="i"/><block var="numb"/></list></block><script><block s="doAddToList"><block s="reportLetter"><block var="i"/><block var="input"/></block><block var="Result"/></block></script><list></list></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="Result"/></list></block></block></script></block-definition><block-definition s="List of commands PACE" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>Execute</l><l>Log</l><l>Print</l><l>Set</l><l>MouseDown</l><l>Join</l><l>Split</l><l>Change</l><l>Wait</l><l>Repeat</l><l>If</l><l>RepeatUntil</l><l>Stop</l><l>Pause</l><l>Time</l><l>Clear</l><l>ExecuteWith</l><l>WaitUntill</l></list></block></block></script></block-definition><block-definition s="all but last line of %&apos;input&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1">Hello</input></inputs><script><block s="doSetVar"><l>input</l><block s="reportTextSplit"><block var="input"/><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block></block></block><block s="doReport"><l></l></block></script></block-definition></blocks><primitives></primitives><stage name="background UI" width="480" height="360" costume="0" color="21,21,21,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="15192"><pentrails>data:image/png;base64,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</pentrails><wear><ref mediaID="1"></ref></wear><costumes><list struct="atomic" id="15193"></list></costumes><sounds><list struct="atomic" id="15194"></list></sounds><variables></variables><blocks></blocks><scripts><script x="8.333333333333334" y="8.333333333333334"><block s="receiveGo"></block><block s="doSwitchToCostume"><custom-block s="filled costume %n × %n colored %clr"><l>480</l><l>360</l><color>34,34,34,1</color></custom-block></block></script><script x="17.916666666666668" y="141.83333333333337"><block s="clearEffects"></block></script></scripts><sprites select="1"><sprite name="Console" idx="1" x="218.20068359375" y="-179.9999999999999" heading="90" scale="1" volume="100" pan="0" rotation="1" instrument="1"  draggable="false" hidden="true" costume="1" color="255,255,255,1" pen="tip" id="15207"><costumes><list id="15208"><item><ref mediaID="Pace - OS_Console_cst_Pace - OS script pic 67"></ref></item></list></costumes><sounds><list struct="atomic" id="15209"></list></sounds><blocks></blocks><variables><variable name="vel"><list struct="atomic" id="15212">-3.646942099448209e-24,-3.646942099448209e-24</list></variable></variables><scripts><script x="10" y="10"><block s="receiveGo"></block><block s="setHeading"><l>90</l></block><block s="doAsk"><l></l></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIf"><custom-block s="$file Is JavaScript on?"></custom-block><script><custom-block s="set web title to %txt"><l>PACE- IOS</l></custom-block></script><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><custom-block s="clear"></custom-block><block s="setColor"><color>255,255,255,1</color></block><custom-block s="write lines %code"><l>welcome to the base terminal:&#xD;key 1: learn about the language this program runs&#xD;key 2: run commands&#xD;key 3: reset&#xD;key 4: terminal theme&#xD;key 5: TXT / print&#xD;key 6: clear log&#xD;key 7: additional information&#xD;key 8: store user data&#xD;key 9: view all data&#xD;key 0: view user data&#xD;key alt: user log in&#xD;———————————————————————————————————————————————————————————————————&#xD;Please enter an input&#xD;———————————————————————————————————————————————————————————————————</l></custom-block><block s="doWait"><l>1</l></block><custom-block s="write %txt"><block s="reportJoinWords"><list><l>-</l><l>Log update:</l><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block><l> user </l><custom-block s="username"></custom-block><l> joined the terminal</l><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block></list></block></custom-block><custom-block s="write %txt"><block s="reportJoinWords"><list><l>-</l><l>Log update:</l><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block><l> Javascript: </l><custom-block s="$file Is JavaScript on?"></custom-block><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block></list></block></custom-block><block s="doIfElse"><block s="reportNot"><custom-block s="$file Is JavaScript on?"></custom-block></block><script><custom-block s="write lines %code"><l> # You may not use a majority of the additional program features&#xD;    without javascript enabled, please enable JavaScript to get more&#xD; # info and to use more system features</l></custom-block></script><script><custom-block s="write lines %code"><block s="reportJoinWords"><list><l> cursor style: </l><l>auto</l><custom-block s="multiline %mlt"><l>&#xD;</l></custom-block><l> device OS: </l><custom-block s="current os"></custom-block></list></block></custom-block></script></block><custom-block s="write lines %code"><block s="reportJoinWords"><list><l>-</l><l>Log update:</l><l> Date of project start</l></list></block></custom-block><custom-block s="write lines %code"><l> project version V0.1 Started 03/21/2026</l></custom-block><custom-block s="write lines %code"><block s="reportJoinWords"><list><l>-</l><l>Log update:</l><l>Project Update</l></list></block></custom-block><custom-block s="write lines %code"><l> project version V0.2 Started 03/26/2026</l></custom-block><custom-block s="write lines %code"><block s="reportJoinWords"><list><l>-</l><l>Log update:</l><l>Project Update</l></list></block></custom-block><custom-block s="write lines %code"><l> project version V0.3 Started 03/26/2026</l></custom-block><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="write %txt"><block var="Additional log"/></custom-block><block s="doForever"><script><block s="doWaitUntil"><block s="reportKeyPressed"><l><option>any key</option></l></block></block><custom-block s="write %txt"><block var="Key currently pressed"/></custom-block><block s="doWaitUntil"><block s="reportVariadicEquals"><list><block var="Key currently pressed"/><l></l></list></block></block></script></block></script><script x="10" y="1064.75"><custom-block s=": %txt %cs"><l>i plan on eventually using these</l><script><custom-block s="create key %mult%l"><list><block s="reportNewList"><list><l>username</l><custom-block s="username"></custom-block></list></block><block s="reportNewList"><list><l>OS</l><custom-block s="current os"></custom-block></list></block><l/><block s="reportNewList"><list><l>user files</l><l></l></list></block><block s="reportNewList"><list><l>user password (for terminal)</l><l></l></list></block></list></custom-block></script></custom-block><custom-block s=": %txt %cs"><block s="reportNewList"><list><l>user saves</l><l></l></list></block><custom-block s="all my keys"></custom-block></custom-block></script><script x="10" y="1192.416666666667"><block s="receiveConditionEvent"><block s="reportKeyPressed"><l><option>any key</option></l></block></block><block s="doIf"><block var="in menu?"/><script><block s="doIf"><block s="reportKeyPressed"><l><option>1</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="clear"></custom-block><custom-block s="write lines %code"><l> The language this operating system uses is ”Problem Algorithmic&#xD;Control Engine”, or (pace) for short.&#xD; Startup: Initiate scripts with /:(command) and terminate with /;&#xD;execution: Press [shift+q] to execute script.&#xD;variables: surround code in [] for inputs&#xD;Boolean: surround code in {} for booleans&#xD;Operators simply use (+-*/ etc.) For operators&#xD;comments: use “” to define strings or concentrated variables&#xD;Concentrating scripts: use indentions to create a script string&#xD; enclose comments between #’s&#xD;new lines: simply use “;” at the end of a line.&#xD;EXAMPLE:&#xD;/:execute;&#xD;log[data];&#xD;if{[variable] = number};&#xD; change[variable]:by[number];&#xD;repeat:(while or until){boolean};&#xD; print"count is [variable]"; &#xD; change[variable]:by number;&#xD;# this is a comment #&#xD;/; # -this ends the script #&#xD;&#xD;EXAMPLE 2:&#xD;/:execute;&#xD;set [variable] :to [input2 + input3];&#xD;if {[variable] = [number + number]}&#xD; log “hello world!”;&#xD;else;&#xD; log “error!”;&#xD;/; # hope this helps! #&#xD;&#xD;Additional commands:&#xD;/:mod /:join /:split /:execute /:pick random ( [number] :to [number] )&#xD;/:print /:set [var] :to [var] /:change [var] :by [var] /:time&#xD;/:mouse down /:join [input] [input] /:split [input] etc.&#xD;Development commands: Control-alt-enter and shift-Q</l></custom-block></script><list><block s="reportKeyPressed"><l><option>2</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="clear"></custom-block><custom-block s="write lines %code"><l>  /:execute;&#xD;/:log“hello!”;&#xD;/; # feel free to delete this #</l></custom-block></script><block s="reportKeyPressed"><l><option>3</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doBroadcast"><l><option>__shout__go__</option></l><list></list></block></script><block s="reportKeyPressed"><l><option>4</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><block s="reportKeyPressed"><l><option>5</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doWait"><l>0.05</l></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="clear"></custom-block><custom-block s="write lines %code"><l>-use Tab to create a new line, press Alt-space to clear a line,&#xD; hit home to go back to menu, &#xD; hit enter to download a .xml file of the text</l></custom-block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportKeyPressed"><custom-block s="%s"><l>enter</l></custom-block></block><block s="reportKeyPressed"><custom-block s="%s"><l>home</l></custom-block></block></list></block><script><block s="doWaitUntil"><block s="reportKeyPressed"><l><option>any key</option></l></block></block><block s="doIf"><block s="reportKeyPressed"><custom-block s="%s"><l>enter</l></custom-block></block><script><block s="doIfElse"><custom-block s="$file Is JavaScript on?"></custom-block><script><custom-block s="file save prompt name: %s %br contents: %mlt extension: %s"><l>EXTRA-OS file</l><block var="Log"/><l>.xml</l></custom-block></script><script><custom-block s="write lines %code"><l>&#xD;# javascript is not enabled.&#xD;  please enable javascript for this to work properly&#xD;#</l></custom-block></script></block></script><list></list></block></script></block></script><block s="reportKeyPressed"><l><option>6</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="clear"></custom-block><custom-block s="write lines %code"><l>welcome to the base terminal:&#xD;key 1: learn about the language this program runs&#xD;key 2: run commands&#xD;key 3: reset&#xD;key 4: terminal theme&#xD;key 5: TXT / print&#xD;key 6: clear log&#xD;key 7: additional information&#xD;key 8: store user data&#xD;key 9: view all data&#xD;key 0: view user data&#xD;key alt: user log in&#xD;———————————————————————————————————————————————————————————————————&#xD;Please enter an input&#xD;———————————————————————————————————————————————————————————————————</l></custom-block></script><block s="reportKeyPressed"><l><option>7</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>Text</l><custom-block s="multiline %mlt"><l>Welcome!&#xD; This section covers a majority of facts or questions you may ask&#xD; about this topic.</l></custom-block></block><custom-block s="clear"></custom-block><block s="doFor"><l>i</l><l>0</l><block s="reportTextAttribute"><l><option>length</option></l><block var="Text"/></block><script><custom-block s="write %txt"><block s="reportLetter"><block var="i"/><block var="Text"/></block></custom-block><block s="doWait"><l>0.05</l></block></script></block><block s="doWait"><l>1</l></block><block s="doSetVar"><l>Text</l><custom-block s="multiline %mlt"><l>&#xD;&#xD;-hit home to go back to menu&#xD;-right click to get a dropdown menu&#xD;-PACE is a project I want to make into a more professional manner &#xD; later on in life. but as of right now it’s a small, simple, text&#xD; formed coding language that will likely be underused &#xD; or recognized as useless</l></custom-block></block><block s="doFor"><l>i</l><l>0</l><block s="reportTextAttribute"><l><option>length</option></l><block var="Text"/></block><script><custom-block s="write %txt"><block s="reportLetter"><block var="i"/><block var="Text"/></block></custom-block><block s="doWait"><l>0.005</l></block></script></block><block s="doWait"><l>1</l></block><block s="doSetVar"><l>Text</l><custom-block s="multiline %mlt"><l>&#xD;&#xD;-any additional questions will be answered here from my forums</l></custom-block></block><block s="doFor"><l>i</l><l>0</l><block s="reportTextAttribute"><l><option>length</option></l><block var="Text"/></block><script><custom-block s="write %txt"><block s="reportLetter"><block var="i"/><block var="Text"/></block></custom-block><block s="doWait"><l>0.05</l></block></script></block></script><block s="reportKeyPressed"><l><option>8</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><block s="reportKeyPressed"><l><option>9</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><block s="reportKeyPressed"><l><option>0</option></l></block><script><block s="doSetVar"><l>in menu?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>typing allowed?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><block s="reportKeyPressed"><custom-block s="%s"><l>alt</l></custom-block></block><script><block s="doIfElse"><custom-block s="$file Is JavaScript on?"></custom-block><script><block s="doDeclareVariables"><list><l>var</l></list></block><block s="doAsk"><block s="reportNewList"><list><l>OSUI</l><block s="reportNewList"><list><l>log in</l><l>create log in</l></list></block></list></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="var"/><l>log in</l></list></block><script><block s="doAsk"><l>username:</l></block></script><script><block s="doAsk"><l>set username to:</l></block></script></block></script><script><custom-block s="clear"></custom-block><block s="setColor"><color>253,0,22,1</color></block><custom-block s="write lines %code"><l>&#xD;! error: cannot load user interface; enable Javascript</l></custom-block><block s="doWait"><l>3</l></block><custom-block s="write %txt"><l>restarting</l></custom-block><block s="doRepeat"><l>3</l><script><block s="doWait"><l>1</l></block><custom-block s="write %txt"><l>.</l></custom-block></script></block><block s="doWait"><l>1</l></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></script></block></script></list></block></script><list></list></block><block s="doIf"><block s="reportKeyPressed"><custom-block s="%s"><l>home</l></custom-block></block><script><block s="doStopThis"><l><option>all but this script</option></l></block><block s="doBroadcast"><l><option>__shout__go__</option></l><list></list></block></script><list></list></block><block s="doStopThis"><l><option>this script</option></l></block></script><script x="10" y="4298.500000000001"><block s="receiveConditionEvent"><block s="reportKeyPressed"><custom-block s="%s"><l>backspace</l></custom-block></block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="Log"/></block><l>0</l></list></block><block var="typing allowed?"/></list></block><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><custom-block s="all but last letter of %txt"><block var="Log"/></custom-block></block><block s="doWarp"><script><custom-block s="clear"></custom-block><custom-block s="write %txt"><block var="a"/></custom-block></script></block></script><list></list></block></script><script x="10" y="4525.416666666668"><block s="receiveConditionEvent"><block s="reportVariadicAnd"><list><block s="reportKeyPressed"><custom-block s="%s"><l>tab</l></custom-block></block><block s="reportNot"><block s="reportKeyPressed"><l><option>space</option></l></block></block></list></block></block><block s="doIf"><block var="typing allowed?"/><script><custom-block s="write lines %code"><l></l></custom-block></script><list></list></block></script><script x="10" y="4648.000000000001"><block s="receiveKey"><l><option>any key</option></l><list><l>key</l></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>tab</l></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>backspace</l></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>enter</l></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>capslock</l></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>shift</l></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>home</l></list></block></block><block var="typing allowed?"/><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>alt</l></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>pageup</l></list></block></block></list></block><script><block s="doSetVar"><l>Key currently pressed</l><block var="key"/></block><block s="doWaitUntil"><block s="reportNot"><block s="reportKeyPressed"><l><option>any key</option></l></block></block></block></script><list></list></block><block s="doSetVar"><l>Key currently pressed</l><l></l></block></script><script x="10" y="4918.750000000001"><block s="receiveGo"></block><custom-block s=": %txt %cs"><l>saving this block for when i need it</l><custom-block s="width of text %s size %n stats %n"><block s="reportJoinWords"><list><l>last updated time: </l><custom-block s="current time"></custom-block></list></block><l>12</l><l></l></custom-block></custom-block><block s="doForever"><script><block s="doWarp"><script><custom-block s="update screen"></custom-block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block><custom-block s="width of text %s size %n stats %n"><block s="reportJoinWords"><list><l>last updated time: </l><custom-block s="current time"></custom-block></list></block><l>0.5</l><custom-block s="font %s %br bold %b %br italic %b"><l>sans-serif</l><l><bool>false</bool></l><l><bool>false</bool></l></custom-block></custom-block></list></block><l>-180</l></block><custom-block s="write %mlt size %n with wrapping %br font %s css properties %mult%s"><block s="reportJoinWords"><list><l>last updated time: </l><custom-block s="current time"></custom-block></list></block><l>12</l><l>sans-serif</l><list></list></custom-block></script></block></script></block></script><script x="10" y="5246.583333333332"><block s="receiveConditionEvent"><block s="reportVariadicAnd"><list><block s="reportKeyPressed"><custom-block s="%s"><l>shift</l></custom-block></block><block s="reportKeyPressed"><l><option>q</option></l></block></list></block><comment w="90" collapsed="true">Parser</comment></block><block s="doIf"><block s="reportVariadicAnd"><list><block var="typing allowed?"/><block s="reportNot"><block var="in menu?"/></block></list></block><script><block s="doWarp"><script></script></block></script><list><block s="reportVariadicAnd"><list><block s="reportNot"><block var="typing allowed?"/></block><block var="in menu?"/></list></block><script><custom-block s="write lines %code"><l>-log cannot run code while in menu</l></custom-block></script><block var="in menu?"/><script><custom-block s="write lines %code"><l>-log cannot run code while in menu</l></custom-block></script><l><bool>true</bool></l><script><custom-block s="write lines %code"><l></l></custom-block><block s="setColor"><color>247,0,23,1</color></block><custom-block s="write lines %code"><l>Unable to run code</l></custom-block><block s="doWait"><l>1</l></block><custom-block s="write %txt"><l>Saving code</l></custom-block><block s="doAddToList"><block s="reportNewList"><list><block var="Log"/></list></block><block s="reportNewList"><list><block var="Saved log"/></list></block></block><block s="doRepeat"><l>3</l><script><block s="doWait"><l>1</l></block><custom-block s="write %txt"><l>.</l></custom-block></script></block><block s="doWait"><l>1</l></block><block s="doBroadcast"><l><option>__shout__go__</option></l><list></list></block></script></list></block></script><script x="10" y="5856.749999999998"><block s="receiveKey"><l><option>any key</option></l><list><l>key</l></list></block></script><script x="10" y="5912.583333333331"><block s="receiveConditionEvent"><block s="reportVariadicAnd"><list><block s="reportKeyPressed"><custom-block s="%s"><l>Control</l></custom-block></block><block s="reportKeyPressed"><custom-block s="%s"><l>Alt</l></custom-block></block><block s="reportKeyPressed"><l><option>enter</option></l></block></list></block><comment w="90" collapsed="true">Parser</comment></block><block s="doStopThis"><l><option>all</option></l></block></script><script x="377" y="5630.083333333331"><block s="receiveConditionEvent"><block s="reportVariadicAnd"><list><block s="reportKeyPressed"><l><option>space</option></l></block><block s="reportKeyPressed"><custom-block s="%s"><l>Alt</l></custom-block></block></list><comment w="90" collapsed="true">Parser</comment></block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportNot"><block var="in menu?"/></block><block var="typing allowed?"/></list></block><script></script><list></list></block></script><script x="438" y="5786.416666666664"><block s="doSetVar"><l>Log</l><block s="reportTextSplit"><block var="Log"/><l></l></block></block></script><script x="261.6865234375" y="5467.583333333331"><custom-block s="parse PACE %mlt"><l>/:execute;&#xD;Log”checking user interface”;# this verifies the user#&#xD;If {[variable]={true}};&#xD; Log”hello [user]”;&#xD;Else;&#xD; Log”invalid”;&#xD;Log”diagnostic complete”;&#xD;#comment#&#xD;/;</l><variables><variable name="Current token"><l>0</l></variable></variables></custom-block></script></scripts></sprite><sprite name="Extra" idx="2" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="109.95599999999999,112.2,0,1" pen="tip" id="16130"><costumes><list struct="atomic" id="16131"></list></costumes><sounds><list struct="atomic" id="16132"></list></sounds><blocks></blocks><variables></variables><scripts><script x="16.666666666666657" y="16.66666666666667"><block s="receiveConditionEvent"><block s="reportVariadicAnd"><list><custom-block s="$file Is JavaScript on?"></custom-block><block s="reportVariadicEquals"><list><custom-block s="mouse button"></custom-block><l>2</l></list></block><custom-block s="mouse in stage?"></custom-block></list></block></block><block s="doGotoObject"><l><option>mouse-pointer</option></l></block><block s="doWaitUntil"><block s="reportNot"><custom-block s="right mouse down?"></custom-block></block></block><block s="doAsk"><block s="reportNewList"><list><l>Menu</l><block s="reportNewList"><list><l>help</l><l>hide mouse cursor</l><l></l><l></l><l></l><l></l></list></block></list></block></block><block s="gotoXY"><l>0</l><l>0</l></block></script><script x="16.666666666666657" y="186.08333333333326"><block s="receiveGo"></block><block s="hide"></block></script></scripts></sprite><watcher var="User text" style="normal" x="10.000000000002501" y="10.000000000000085" color="243,118,29" hidden="true"/><watcher var="Key currently pressed" style="normal" x="10.000000000002501" y="31.000001999999895" color="243,118,29" hidden="true"/><watcher var="typing allowed?" style="normal" x="10.000000000002501" y="52.00000399999979" color="243,118,29" hidden="true"/><watcher var="in menu?" style="normal" x="10.000000000002501" y="76.00000599999993" color="243,118,29" hidden="true"/><watcher var="Text" style="normal" x="10.000000000002046" y="10.000000000000085" color="243,118,29" hidden="true"/><watcher var="Additional log" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="Saved log" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="Extra var" style="normal" x="10" y="52.00000399999999" color="243,118,29"/></sprites></stage><variables><variable name="Log"><l>welcome to the base terminal:&#xD;key 1: learn about the language this program runs&#xD;key 2: run commands&#xD;key 3: reset&#xD;key 4: terminal theme&#xD;key 5: TXT / print&#xD;key 6: clear log&#xD;key 7: additional information&#xD;key 8: store user data&#xD;key 9: view all data&#xD;key 0: view user data&#xD;key alt: user log in&#xD;———————————————————————————————————————————————————————————————————&#xD;Please enter an input&#xD;———————————————————————————————————————————————————————————————————&#xD;-Log update:&#xD; user mrace0 joined the terminal&#xD;-Log update:&#xD; Javascript: false&#xD; # You may not use a majority of the additional program features&#xD;    without javascript enabled, please enable JavaScript to get more&#xD; # info and to use more system features&#xD;-Log update: Date of project start&#xD; project version V0.1 Started 03/21/2026&#xD;-Log update:Project Update&#xD; project version V0.2 Started 03/26/2026&#xD;-Log update:Project Update&#xD; project version V0.3 Started 03/26/2026&#xD;-log cannot run code while in menu&#xD;-log cannot run code while in menu&#xD;</l></variable><variable name="COLS"><l>68</l></variable><variable name="User text"><l>0</l></variable><variable name="Friction"><l>0.99</l></variable><variable name="Suffix"><list struct="atomic" id="16189">P, millon, billon, trillon, quadrillon, qunitillion, sextillon, octillion, nontillion, decillion,  undecillion, duodecillion, tredecillion, quattuordecillion, quindecillion, sexdecillion, septendecillon, octodecillion, novemdecillion, vigintillon</list></variable><variable name="pen palette"><l></l></variable><variable name="Key currently pressed"><l></l></variable><variable name="typing allowed?"><bool>false</bool></variable><variable name="in menu?"><bool>true</bool></variable><variable name="Text"><l>&#xD;&#xD;-any additional questions will be answered here from my forums</l></variable><variable name="A Script."><list struct="atomic" id="16190"></list></variable><variable name="Additional log"><l></l></variable><variable name="Saved log"><l>0</l></variable><variable name="Extra var"><l>17</l></variable></variables></scene></scenes></project><media name="Pace - OS" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><costume name="costume" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAOjklEQVR4Ae3VUQkAMQwFwetJiX+PLVRE92di4MEQ2DUz+3MECBAgQIDAU4H/6ZoxAgQIECBA4AoIsEcgQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQIDAAVDuBDXZY1DUAAAAAElFTkSuQmCC" mediaID="1"/><costume name="Pace - OS script pic 67" center-x="174.5" center-y="180" image="data:image/png;base64,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" embed="&lt;script app=&quot;Snap! 11.0.8, https://snap.berkeley.edu&quot; version=&quot;2&quot;&gt;&lt;blocks&gt;&lt;palette&gt;&lt;category name=&quot;Ace’s blocks&quot; color=&quot;255,0,48,1&quot;/&gt;&lt;/palette&gt;&lt;block-definition s=&quot;parse PACE %&amp;apos;input&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;variables&gt;&lt;list struct=&quot;atomic&quot; id=&quot;3&quot;&gt;Current token&lt;/list&gt;&lt;/variables&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%mlt&quot; initial=&quot;1&quot;&gt;/:execute&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;custom-block s=&quot;hold without running %cs %txt&quot;&gt;&lt;custom-block s=&quot;PACE conditions for %mlt&quot;&gt;&lt;block var=&quot;input&quot;/&gt;&lt;/custom-block&gt;&lt;l&gt;This is just to hold blocks, just in case&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;hold without running %cs %txt&quot;&gt;&lt;custom-block s=&quot;PACE errors for %mlt&quot;&gt;&lt;block var=&quot;input&quot;/&gt;&lt;/custom-block&gt;&lt;block s=&quot;reportNot&quot;&gt;&lt;custom-block s=&quot;text %txt contains %txt&quot;&gt;&lt;block var=&quot;input&quot;/&gt;&lt;l&gt;#&lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;/custom-block&gt;&lt;block s=&quot;doWarp&quot;&gt;&lt;script&gt;&lt;block s=&quot;doDeclareVariables&quot;&gt;&lt;list&gt;&lt;l&gt;Primary&lt;/l&gt;&lt;l&gt;Start&lt;/l&gt;&lt;l&gt;End&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Primary&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;input&quot;/&gt;&lt;l&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportListContainsItem&quot;&gt;&lt;block var=&quot;Primary&quot;/&gt;&lt;l&gt;#&lt;/l&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doUntil&quot;&gt;&lt;block s=&quot;reportNot&quot;&gt;&lt;block s=&quot;reportListContainsItem&quot;&gt;&lt;block var=&quot;Primary&quot;/&gt;&lt;l&gt;#&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Start&lt;/l&gt;&lt;block s=&quot;reportListIndex&quot;&gt;&lt;l&gt;#&lt;/l&gt;&lt;block var=&quot;Primary&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doDeleteFromList&quot;&gt;&lt;block var=&quot;Start&quot;/&gt;&lt;block var=&quot;Primary&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportNot&quot;&gt;&lt;block s=&quot;reportListContainsItem&quot;&gt;&lt;block var=&quot;Primary&quot;/&gt;&lt;l&gt;#&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;l&gt;Syntax error; invalid comment (unfinished comment)&lt;/l&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;End&lt;/l&gt;&lt;block s=&quot;reportListIndex&quot;&gt;&lt;l&gt;#&lt;/l&gt;&lt;block var=&quot;Primary&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doFor&quot;&gt;&lt;l&gt;i&lt;/l&gt;&lt;block var=&quot;Start&quot;/&gt;&lt;block var=&quot;End&quot;/&gt;&lt;script&gt;&lt;block s=&quot;doDeleteFromList&quot;&gt;&lt;block var=&quot;Start&quot;/&gt;&lt;block var=&quot;Primary&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;input&lt;/l&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;list&gt;&lt;block var=&quot;Primary&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doIfElse&quot;&gt;&lt;custom-block s=&quot;PACE conditions for %mlt&quot;&gt;&lt;block var=&quot;input&quot;/&gt;&lt;/custom-block&gt;&lt;script&gt;&lt;block s=&quot;doDeclareVariables&quot;&gt;&lt;list&gt;&lt;l&gt;Tokens&lt;/l&gt;&lt;l&gt;Output&lt;/l&gt;&lt;l&gt;Parts&lt;/l&gt;&lt;l&gt;Code tokens&lt;/l&gt;&lt;l&gt;Words&lt;/l&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Tokens&lt;/l&gt;&lt;l&gt;0&lt;/l&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Current token&lt;/l&gt;&lt;l&gt;0&lt;/l&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Code tokens&lt;/l&gt;&lt;block s=&quot;reportNewList&quot;&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;block s=&quot;reportNewList&quot;&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportVariadicLessThan&quot;&gt;&lt;list&gt;&lt;block var=&quot;Current token&quot;/&gt;&lt;l&gt;1&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Tokens&lt;/l&gt;&lt;custom-block s=&quot;replace all %s in %txt with %s&quot;&gt;&lt;l&gt;;&lt;/l&gt;&lt;block var=&quot;input&quot;/&gt;&lt;l&gt;;&lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Parts&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;text&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;all but last letter of %txt&quot;&gt;&lt;block var=&quot;Tokens&quot;/&gt;&lt;/custom-block&gt;&lt;l&gt;;&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;”&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doFor&quot;&gt;&lt;l&gt;i&lt;/l&gt;&lt;l&gt;1&lt;/l&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;Parts&quot;/&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doIfElse&quot;&gt;&lt;block s=&quot;reportVariadicEquals&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportModulus&quot;&gt;&lt;block var=&quot;i&quot;/&gt;&lt;l&gt;2&lt;/l&gt;&lt;/block&gt;&lt;l&gt;0&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doAddToList&quot;&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;block var=&quot;i&quot;/&gt;&lt;block var=&quot;Parts&quot;/&gt;&lt;/block&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;script&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;block var=&quot;i&quot;/&gt;&lt;block var=&quot;Parts&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;custom-block s=&quot;replace all %s in %txt with %s&quot;&gt;&lt;l&gt;[&lt;/l&gt;&lt;block var=&quot;Temporary&quot;/&gt;&lt;l&gt; [ &lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;custom-block s=&quot;replace all %s in %txt with %s&quot;&gt;&lt;l&gt;]&lt;/l&gt;&lt;block var=&quot;Temporary&quot;/&gt;&lt;l&gt; ] &lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;custom-block s=&quot;replace all %s in %txt with %s&quot;&gt;&lt;l&gt;{&lt;/l&gt;&lt;block var=&quot;Temporary&quot;/&gt;&lt;l&gt; { &lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;custom-block s=&quot;replace all %s in %txt with %s&quot;&gt;&lt;l&gt;}&lt;/l&gt;&lt;block var=&quot;Temporary&quot;/&gt;&lt;l&gt; } &lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;custom-block s=&quot;replace all %s in %txt with %s&quot;&gt;&lt;l&gt;;&lt;/l&gt;&lt;block var=&quot;Temporary&quot;/&gt;&lt;l&gt; ; &lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;custom-block s=&quot;replace all %s in %txt with %s&quot;&gt;&lt;l&gt;”&lt;/l&gt;&lt;block var=&quot;Temporary&quot;/&gt;&lt;l&gt; “ &lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Words&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Temporary&quot;/&gt;&lt;l&gt; &lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doForEach&quot;&gt;&lt;l&gt;item&lt;/l&gt;&lt;block var=&quot;Words&quot;/&gt;&lt;script&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportVariadicGreaterThan&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportNewList&quot;&gt;&lt;list&gt;&lt;block var=&quot;item&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;0&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doAddToList&quot;&gt;&lt;block var=&quot;item&quot;/&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doUntil&quot;&gt;&lt;block s=&quot;reportNot&quot;&gt;&lt;block s=&quot;reportListContainsItem&quot;&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;l&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doDeleteFromList&quot;&gt;&lt;block s=&quot;reportListIndex&quot;&gt;&lt;l&gt;&lt;/l&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;block s=&quot;doDeleteFromList&quot;&gt;&lt;l&gt;&lt;option&gt;last&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;doReplaceInList&quot;&gt;&lt;l&gt;&lt;option&gt;last&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;l&gt;/;&lt;/l&gt;&lt;/block&gt;&lt;block s=&quot;doDeclareVariables&quot;&gt;&lt;list&gt;&lt;l&gt;a&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doFor&quot;&gt;&lt;l&gt;i&lt;/l&gt;&lt;l&gt;0&lt;/l&gt;&lt;block s=&quot;reportDifference&quot;&gt;&lt;block s=&quot;reportListIndex&quot;&gt;&lt;l&gt;/:execute&lt;/l&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;l&gt;1&lt;/l&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doDeleteFromList&quot;&gt;&lt;block var=&quot;i&quot;/&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;block var=&quot;i&quot;/&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Temporary&lt;/l&gt;&lt;custom-block s=&quot;replace all %s in %txt with %s&quot;&gt;&lt;l&gt;]&lt;/l&gt;&lt;block var=&quot;Temporary&quot;/&gt;&lt;l&gt; ] &lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;block s=&quot;doAddToList&quot;&gt;&lt;l&gt;/;&lt;/l&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block var=&quot;Code tokens&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;custom-block s=&quot;PACE errors for %mlt&quot;&gt;&lt;block var=&quot;input&quot;/&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;PACE conditions for %&amp;apos;Input&amp;apos;&quot; type=&quot;predicate&quot; category=&quot;operators&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%mlt&quot; initial=&quot;1&quot;&gt;/:execute&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doDeclareVariables&quot;&gt;&lt;list&gt;&lt;l&gt;T/F&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doIfElse&quot;&gt;&lt;block s=&quot;reportVariadicEquals&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;PACE errors for %mlt&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;/custom-block&gt;&lt;l&gt;Unknown Error&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doIfElse&quot;&gt;&lt;block s=&quot;reportVariadicGreaterThan&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;1&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doIfElse&quot;&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;custom-block s=&quot;items %n to %n of %l&quot;&gt;&lt;l&gt;1&lt;/l&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/custom-block&gt;&lt;l&gt;contains&lt;/l&gt;&lt;l&gt;;&lt;/l&gt;&lt;/custom-block&gt;&lt;script&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;T/F&lt;/l&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;script&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;T/F&lt;/l&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;block s=&quot;doIfElse&quot;&gt;&lt;block s=&quot;reportVariadicAnd&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;contains&lt;/l&gt;&lt;l&gt;/;&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;contains&lt;/l&gt;&lt;l&gt;/:&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;contains&lt;/l&gt;&lt;l&gt;Execute&lt;/l&gt;&lt;/custom-block&gt;&lt;block s=&quot;reportVariadicOr&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt;/:&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt; /:&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt;  /:&lt;/l&gt;&lt;/custom-block&gt;&lt;/list&gt;&lt;/block&gt;&lt;block var=&quot;T/F&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;script&gt;&lt;block s=&quot;doIfElse&quot;&gt;&lt;block s=&quot;reportVariadicAnd&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;contains&lt;/l&gt;&lt;l&gt;/;&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;contains&lt;/l&gt;&lt;l&gt;/:&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;contains&lt;/l&gt;&lt;l&gt;Execute&lt;/l&gt;&lt;/custom-block&gt;&lt;block s=&quot;reportVariadicOr&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt;/:&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt; /:&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt;  /:&lt;/l&gt;&lt;/custom-block&gt;&lt;/list&gt;&lt;/block&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;PACE errors for %&amp;apos;Input&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%mlt&quot; initial=&quot;1&quot;&gt;/:execute;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doDeclareVariables&quot;&gt;&lt;list&gt;&lt;l&gt;List&lt;/l&gt;&lt;l&gt;List 2&lt;/l&gt;&lt;l&gt;Amount&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;List&lt;/l&gt;&lt;block s=&quot;reportNewList&quot;&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;List 2&lt;/l&gt;&lt;block s=&quot;reportNewList&quot;&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doSetVar&quot;&gt;&lt;l&gt;Amount&lt;/l&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/block&gt;&lt;block s=&quot;doFor&quot;&gt;&lt;l&gt;i&lt;/l&gt;&lt;l&gt;1&lt;/l&gt;&lt;block var=&quot;Amount&quot;/&gt;&lt;script&gt;&lt;block s=&quot;doAddToList&quot;&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;block var=&quot;i&quot;/&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;ends with&lt;/l&gt;&lt;l&gt; &lt;/l&gt;&lt;/custom-block&gt;&lt;block var=&quot;List&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;block s=&quot;doFor&quot;&gt;&lt;l&gt;I 2&lt;/l&gt;&lt;l&gt;1&lt;/l&gt;&lt;block var=&quot;Amount&quot;/&gt;&lt;script&gt;&lt;block s=&quot;doAddToList&quot;&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;block var=&quot;I 2&quot;/&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;ends with&lt;/l&gt;&lt;l&gt;;&lt;/l&gt;&lt;/custom-block&gt;&lt;block var=&quot;List 2&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportNot&quot;&gt;&lt;block s=&quot;reportVariadicOr&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt;  /:&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt; /:&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt;/:&lt;/l&gt;&lt;/custom-block&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;l&gt;Missing start command “/:”&lt;/l&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;block s=&quot;reportNot&quot;&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt;/:execute&lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;l&gt;Missing start command “execute”&lt;/l&gt;&lt;/block&gt;&lt;/script&gt;&lt;block s=&quot;reportListContainsItem&quot;&gt;&lt;block var=&quot;List&quot;/&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;list&gt;&lt;l&gt;Invalid syntax; &lt;/l&gt;&lt;l&gt;line &lt;/l&gt;&lt;block s=&quot;reportListIndex&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;block var=&quot;List&quot;/&gt;&lt;/block&gt;&lt;l&gt; contains a space at the end &lt;/l&gt;&lt;custom-block s=&quot;multiline %mlt&quot;&gt;&lt;l&gt;&amp;#xD;&lt;/l&gt;&lt;/custom-block&gt;&lt;l&gt;“&lt;/l&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;block s=&quot;reportListIndex&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;block var=&quot;List&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;”&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;block s=&quot;reportListContainsItem&quot;&gt;&lt;block var=&quot;List 2&quot;/&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;list&gt;&lt;l&gt;Missing new line command “;” &lt;/l&gt;&lt;l&gt;line: &lt;/l&gt;&lt;block s=&quot;reportListIndex&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;block var=&quot;List 2&quot;/&gt;&lt;/block&gt;&lt;custom-block s=&quot;multiline %mlt&quot;&gt;&lt;l&gt;&amp;#xD;&lt;/l&gt;&lt;/custom-block&gt;&lt;l&gt;“&lt;/l&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;block s=&quot;reportListIndex&quot;&gt;&lt;block s=&quot;reportBoolean&quot;&gt;&lt;l&gt;&lt;bool&gt;false&lt;/bool&gt;&lt;/l&gt;&lt;/block&gt;&lt;block var=&quot;List 2&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;”&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;block s=&quot;reportNot&quot;&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;l&gt;&lt;option&gt;last&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;contains&lt;/l&gt;&lt;l&gt;/;&lt;/l&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;l&gt;Missing end command “/;”&lt;/l&gt;&lt;/block&gt;&lt;/script&gt;&lt;block s=&quot;reportNot&quot;&gt;&lt;block s=&quot;reportVariadicAnd&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;l&gt;&lt;option&gt;last&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;l&gt;/;&lt;/l&gt;&lt;/custom-block&gt;&lt;custom-block s=&quot;%s $- %s $- %s&quot;&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;l&gt;&lt;option&gt;last&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;Input&quot;/&gt;&lt;l&gt;&lt;option&gt;line&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;ends with&lt;/l&gt;&lt;l&gt;/;&lt;/l&gt;&lt;/custom-block&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;l&gt;Invalid syntax; last line contains invalid placement of end command “/;”&lt;/l&gt;&lt;/block&gt;&lt;/script&gt;&lt;l&gt;&lt;bool&gt;true&lt;/bool&gt;&lt;/l&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;l&gt;Unknown Error&lt;/l&gt;&lt;/block&gt;&lt;/script&gt;&lt;/list&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;%&amp;apos;first&amp;apos; $- %&amp;apos;option&amp;apos; $- %&amp;apos;second&amp;apos;&quot; type=&quot;predicate&quot; category=&quot;operators&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%s&quot;&gt;raincoat&lt;/input&gt;&lt;input type=&quot;%s&quot; readonly=&quot;true&quot;&gt;contains&lt;options&gt;contains&amp;#xD;starts with&amp;#xD;ends with&lt;/options&gt;&lt;/input&gt;&lt;input type=&quot;%s&quot;&gt;coat&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportVariadicEquals&quot;&gt;&lt;list&gt;&lt;block var=&quot;option&quot;/&gt;&lt;l&gt;contains&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportVariadicNotEquals&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;first&quot;/&gt;&lt;block var=&quot;second&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;block var=&quot;first&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportVariadicEquals&quot;&gt;&lt;list&gt;&lt;block var=&quot;option&quot;/&gt;&lt;l&gt;starts with&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportVariadicEquals&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;letters %n - %n of %txt&quot;&gt;&lt;l&gt;1&lt;/l&gt;&lt;block s=&quot;reportTextAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;second&quot;/&gt;&lt;/block&gt;&lt;block var=&quot;first&quot;/&gt;&lt;/custom-block&gt;&lt;block var=&quot;second&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportVariadicEquals&quot;&gt;&lt;list&gt;&lt;block var=&quot;option&quot;/&gt;&lt;l&gt;ends with&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportVariadicEquals&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;reverse string %s&quot;&gt;&lt;custom-block s=&quot;letters %n - %n of %txt&quot;&gt;&lt;block s=&quot;reportTextAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;first&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;reportVariadicSum&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportDifference&quot;&gt;&lt;block s=&quot;reportTextAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;first&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;reportTextAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;second&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;l&gt;1&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;block var=&quot;first&quot;/&gt;&lt;/custom-block&gt;&lt;/custom-block&gt;&lt;block var=&quot;second&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;l&gt;&lt;/l&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;letters %&amp;apos;a&amp;apos; - %&amp;apos;b&amp;apos; of %&amp;apos;text&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%n&quot;&gt;1&lt;/input&gt;&lt;input type=&quot;%n&quot;&gt;3&lt;/input&gt;&lt;input type=&quot;%txt&quot;&gt;world&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportVariadicAnd&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportIsA&quot;&gt;&lt;block var=&quot;text&quot;/&gt;&lt;l&gt;&lt;option&gt;list&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;custom-block s=&quot;setting %s&quot;&gt;&lt;l&gt;hyper blocks support&lt;/l&gt;&lt;/custom-block&gt;&lt;/list&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportMap&quot;&gt;&lt;block s=&quot;reifyReporter&quot;&gt;&lt;autolambda&gt;&lt;custom-block s=&quot;letters %n - %n of %txt&quot;&gt;&lt;block var=&quot;a&quot;/&gt;&lt;block var=&quot;b&quot;/&gt;&lt;l&gt;&lt;/l&gt;&lt;/custom-block&gt;&lt;/autolambda&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block var=&quot;text&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportLetter&quot;&gt;&lt;block s=&quot;reportNumbers&quot;&gt;&lt;block var=&quot;a&quot;/&gt;&lt;block var=&quot;b&quot;/&gt;&lt;/block&gt;&lt;block var=&quot;text&quot;/&gt;&lt;/block&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;setting %&amp;apos;which&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;sensing&quot;&gt;&lt;comment x=&quot;0&quot; y=&quot;0&quot; w=&quot;254.66666666666666&quot; collapsed=&quot;false&quot;&gt;Allows reading global settings programmatically.&amp;#xD;&amp;#xD;Eisenberg&amp;apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.&lt;/comment&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;pt:o valor da configuração _&amp;#xD;el:ρύθμιση _&amp;#xD;de:Einstellung _&amp;#xD;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%s&quot; readonly=&quot;true&quot;&gt;&lt;options&gt;Project notes&amp;#xD;Project name&amp;#xD;User&amp;#xD;Presentation mode&amp;#xD;Language&amp;#xD;Zoom blocks&amp;#xD;Stage size&amp;#xD;Stage scale&amp;#xD;Retina display support&amp;#xD;Long form input dialog&amp;#xD;Plain prototype labels&amp;#xD;Input sliders&amp;#xD;Execute on slider change&amp;#xD;Clicking sound&amp;#xD;Turbo mode&amp;#xD;Flat design&amp;#xD;Keyboard editing&amp;#xD;Visible stepping&amp;#xD;Thread safe scripts&amp;#xD;Prefer smooth animations&amp;#xD;Flat line ends&amp;#xD;Codification support&amp;#xD;Inheritance support&amp;#xD;Hyper blocks support&amp;#xD;Visible palette&lt;/options&gt;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;evaluate&quot;&gt;&lt;block s=&quot;reportJSFunction&quot;&gt;&lt;list&gt;&lt;l&gt;which&lt;/l&gt;&lt;/list&gt;&lt;l&gt;var stage = this.parentThatIsA(StageMorph),&amp;#xD;    ide = stage.parentThatIsA(IDE_Morph),&amp;#xD;    world = stage.parentThatIsA(WorldMorph);&amp;#xD;&amp;#xD;switch (which) {&amp;#xD;    case &amp;apos;Project notes&amp;apos;:&amp;#xD;        return ide.projectNotes;&amp;#xD;    case &amp;apos;Project name&amp;apos;:&amp;#xD;        return ide.projectName;&amp;#xD;    case &amp;apos;User&amp;apos;:&amp;#xD;        return ide.cloud.username;&amp;#xD;    case &amp;apos;Presentation mode&amp;apos;:&amp;#xD;        return ide.isAppMode;&amp;#xD;    case &amp;apos;Language&amp;apos;:&amp;#xD;        return SnapTranslator.language;&amp;#xD;    case &amp;apos;Zoom blocks&amp;apos;:&amp;#xD;        return SyntaxElementMorph.prototype.scale;&amp;#xD;    case &amp;apos;Stage size&amp;apos;:&amp;#xD;        return new List([StageMorph.prototype.dimensions.x,&amp;#xD;                                   StageMorph.prototype.dimensions.y]);&amp;#xD;    case &amp;apos;Stage scale&amp;apos;:&amp;#xD;       return stage.scale;&amp;#xD;    case &amp;apos;Retina display support&amp;apos;:&amp;#xD;        return isRetinaEnabled();&amp;#xD;    case &amp;apos;Long form input dialog&amp;apos;:&amp;#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&amp;#xD;    case &amp;apos;Plain prototype labels&amp;apos;:&amp;#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&amp;#xD;    case &amp;apos;Input sliders&amp;apos;:&amp;#xD;        return MorphicPreferences.useSliderForInput;&amp;#xD;    case &amp;apos;Execute on slider change&amp;apos;:&amp;#xD;        return ArgMorph.prototype.executeOnSliderEdit;&amp;#xD;    case &amp;apos;Clicking sound&amp;apos;:&amp;#xD;        return !!BlockMorph.prototype.snapSound;&amp;#xD;    case &amp;apos;Turbo mode&amp;apos;:&amp;#xD;        return stage.isFastTracked;&amp;#xD;    case &amp;apos;Flat design&amp;apos;:&amp;#xD;        return MorphicPreferences.isFlat;&amp;#xD;    case &amp;apos;Keyboard editing&amp;apos;:&amp;#xD;        return !!this.scripts.focus;&amp;#xD;    case &amp;apos;Visible stepping&amp;apos;:&amp;#xD;        return Process.prototype.enableSingleStepping;&amp;#xD;    case &amp;apos;Thread safe scripts&amp;apos;:&amp;#xD;        return stage.isThreadSafe;&amp;#xD;    case &amp;apos;Prefer smooth animations&amp;apos;:&amp;#xD;        return StageMorph.prototype.frameRate &amp;gt; 0;&amp;#xD;    case &amp;apos;Flat line ends&amp;apos;:&amp;#xD;        return SpriteMorph.prototype.useFlatLineEnds;&amp;#xD;    case &amp;apos;Codification support&amp;apos;:&amp;#xD;        return StageMorph.prototype.enableCodeMapping;&amp;#xD;    case &amp;apos;Inheritance support&amp;apos;:&amp;#xD;        return StageMorph.prototype.enableInheritance;&amp;#xD;    case &amp;apos;Hyper blocks support&amp;apos;:&amp;#xD;        return Process.prototype.enableHyperOps;&amp;#xD;    default: return which;&amp;#xD;    case &amp;apos;Visible palette&amp;apos;:&amp;#xD;        return ide.currentCategory;&amp;#xD;}&lt;/l&gt;&lt;/block&gt;&lt;list&gt;&lt;block var=&quot;which&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;reverse string %&amp;apos;string&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%s&quot;&gt;world&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;reverse&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;string&quot;/&gt;&lt;l&gt;&lt;option&gt;letter&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;multiline %&amp;apos;text&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;pt:o texto multilinha _&amp;#xD;ca:multilínia _&amp;#xD;pl:wielowiersz _&amp;#xD;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%mlt&quot;&gt;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block var=&quot;text&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;items %&amp;apos;start&amp;apos; to %&amp;apos;end&amp;apos; of %&amp;apos;list&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;lists&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%n&quot; initial=&quot;1&quot;&gt;4&lt;/input&gt;&lt;input type=&quot;%n&quot; initial=&quot;1&quot;&gt;8&lt;/input&gt;&lt;input type=&quot;%l&quot; initial=&quot;1&quot;&gt;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportListItem&quot;&gt;&lt;block s=&quot;reportNumbers&quot;&gt;&lt;block var=&quot;start&quot;/&gt;&lt;block var=&quot;end&quot;/&gt;&lt;/block&gt;&lt;block var=&quot;list&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;text %&amp;apos;string&amp;apos; contains %&amp;apos;marker&amp;apos;&quot; type=&quot;predicate&quot; category=&quot;operators&quot;&gt;&lt;comment x=&quot;0&quot; y=&quot;0&quot; w=&quot;217.99999999999997&quot; collapsed=&quot;false&quot;&gt;Reports True if the first input string contains the second input string, otherwise false.&amp;#xD;&amp;#xD;Comparison is case-independent by default; use USE CASE-INDEPENDENT COMPARISONS to change that.&lt;/comment&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;pt:o texto de _ antes de _&amp;#xD;ca:text _ conté _ ?&amp;#xD;pl:tekst _ zawiera _&amp;#xD;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%txt&quot;&gt;&lt;/input&gt;&lt;input type=&quot;%txt&quot;&gt;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportVariadicGreaterThan&quot;&gt;&lt;list&gt;&lt;custom-block s=&quot;position of %s in %txt&quot;&gt;&lt;block var=&quot;marker&quot;/&gt;&lt;block var=&quot;string&quot;/&gt;&lt;/custom-block&gt;&lt;l&gt;0&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;position of %&amp;apos;small&amp;apos; in %&amp;apos;large&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;comment x=&quot;0&quot; y=&quot;0&quot; w=&quot;294&quot; collapsed=&quot;false&quot;&gt;Reports the character position (starting from 1) of the beginning of the first input string inside the second input string.&amp;#xD;If it&amp;apos;s not found, reports 0.&lt;/comment&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;pt:a posição de _ em _&amp;#xD;ca:posició de _ en _&amp;#xD;pl:pozycja _ w _&amp;#xD;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%s&quot;&gt;&lt;/input&gt;&lt;input type=&quot;%txt&quot;&gt;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportIfElse&quot;&gt;&lt;block s=&quot;reportGlobalFlag&quot;&gt;&lt;l&gt;&lt;option&gt;case sensitivity&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;block s=&quot;reportApplyExtension&quot;&gt;&lt;l&gt;txt_indexof(sub, txt)&lt;/l&gt;&lt;list&gt;&lt;block var=&quot;small&quot;/&gt;&lt;block var=&quot;large&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;reportApplyExtension&quot;&gt;&lt;l&gt;txt_indexof(sub, txt)&lt;/l&gt;&lt;list&gt;&lt;block s=&quot;reportTextAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;lower case&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;small&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;reportTextAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;lower case&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;large&quot;/&gt;&lt;/block&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;replace all %&amp;apos;find&amp;apos; in %&amp;apos;text&amp;apos; with %&amp;apos;replace&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%s&quot;&gt;apples&lt;/input&gt;&lt;input type=&quot;%txt&quot;&gt;I like apples&lt;/input&gt;&lt;input type=&quot;%s&quot;&gt;bananas&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;custom-block s=&quot;combine %l with delimiter %s&quot;&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;block var=&quot;text&quot;/&gt;&lt;block var=&quot;find&quot;/&gt;&lt;/block&gt;&lt;block var=&quot;replace&quot;/&gt;&lt;/custom-block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;combine %&amp;apos;data&amp;apos; with delimiter %&amp;apos;delim&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%l&quot;&gt;&lt;/input&gt;&lt;input type=&quot;%s&quot;&gt;,&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportCombine&quot;&gt;&lt;block var=&quot;data&quot;/&gt;&lt;block s=&quot;reifyReporter&quot;&gt;&lt;autolambda&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;list&gt;&lt;l&gt;&lt;/l&gt;&lt;block var=&quot;delim&quot;/&gt;&lt;l&gt;&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;/autolambda&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;all but last letter of %&amp;apos;string&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot;&gt;&lt;comment x=&quot;0&quot; y=&quot;0&quot; w=&quot;217.99999999999997&quot; collapsed=&quot;false&quot;&gt;Takes a text string as input, and reports a new text string containing all but the last letter of the input.&lt;/comment&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;pt:_ sem o último caractere&amp;#xD;ca:_ sense la darrera lletra&amp;#xD;es:todos menos la última letra de _&amp;#xD;pl:_ bez ostatniej litery&amp;#xD;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%txt&quot;&gt;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doIf&quot;&gt;&lt;block s=&quot;reportIsA&quot;&gt;&lt;block var=&quot;string&quot;/&gt;&lt;l&gt;&lt;option&gt;list&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportMap&quot;&gt;&lt;block s=&quot;reifyReporter&quot;&gt;&lt;autolambda&gt;&lt;custom-block s=&quot;all but last letter of %txt&quot;&gt;&lt;l&gt;&lt;/l&gt;&lt;/custom-block&gt;&lt;/autolambda&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block var=&quot;string&quot;/&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;list&gt;&lt;/list&gt;&lt;/block&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block s=&quot;reportJoinWords&quot;&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;reverse&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportCDR&quot;&gt;&lt;block s=&quot;reportListAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;reverse&lt;/option&gt;&lt;/l&gt;&lt;block s=&quot;reportTextSplit&quot;&gt;&lt;custom-block s=&quot;require nonempty %s %s&quot;&gt;&lt;block var=&quot;string&quot;/&gt;&lt;l&gt;All but first of empty word.&lt;/l&gt;&lt;/custom-block&gt;&lt;l&gt;&lt;option&gt;letter&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;/block&gt;&lt;/block&gt;&lt;/block&gt;&lt;/block&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;require nonempty %&amp;apos;text&amp;apos; %&amp;apos;message&amp;apos;&quot; type=&quot;reporter&quot; category=&quot;operators&quot; helper=&quot;true&quot;&gt;&lt;comment x=&quot;0&quot; y=&quot;0&quot; w=&quot;220&quot; collapsed=&quot;false&quot;&gt;Helper function for word/sentence library.&amp;#xD;Reports its first input, unless that input is empty, in which case it gives its second input as an error message.&lt;/comment&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;es:requerir no vacío _ _&amp;#xD;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%s&quot;&gt;&lt;/input&gt;&lt;input type=&quot;%s&quot;&gt;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doIfElse&quot;&gt;&lt;block s=&quot;reportIfElse&quot;&gt;&lt;block s=&quot;reportIsA&quot;&gt;&lt;block var=&quot;text&quot;/&gt;&lt;l&gt;&lt;option&gt;list&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;block s=&quot;reportListIsEmpty&quot;&gt;&lt;block var=&quot;text&quot;/&gt;&lt;/block&gt;&lt;block s=&quot;reportVariadicEquals&quot;&gt;&lt;list&gt;&lt;block s=&quot;reportTextAttribute&quot;&gt;&lt;l&gt;&lt;option&gt;length&lt;/option&gt;&lt;/l&gt;&lt;block var=&quot;text&quot;/&gt;&lt;/block&gt;&lt;l&gt;0&lt;/l&gt;&lt;/list&gt;&lt;/block&gt;&lt;/block&gt;&lt;script&gt;&lt;custom-block s=&quot;error %txt&quot;&gt;&lt;block var=&quot;message&quot;/&gt;&lt;/custom-block&gt;&lt;/script&gt;&lt;script&gt;&lt;block s=&quot;doReport&quot;&gt;&lt;block var=&quot;text&quot;/&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;error %&amp;apos;msg&amp;apos;&quot; type=&quot;command&quot; category=&quot;control&quot;&gt;&lt;comment x=&quot;0&quot; y=&quot;0&quot; w=&quot;268.6666666666667&quot; collapsed=&quot;false&quot;&gt;Throw an error.&amp;#xD;&amp;#xD;Makes a red halo appear around the script that runs it,&amp;#xD;with the input text shown in a speech balloon next to&amp;#xD;the script, just like any Snap! error.&amp;#xD;&amp;#xD;This is useful to put in the second script of SAFELY TRY&amp;#xD;after some other instructions to undo the partial work of&amp;#xD;the first script.&lt;/comment&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;pt:lança o erro _&amp;#xD;pl:błąd _&amp;#xD;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%txt&quot;&gt;&lt;/input&gt;&lt;/inputs&gt;&lt;script&gt;&lt;block s=&quot;doApplyExtension&quot;&gt;&lt;l&gt;err_error(msg)&lt;/l&gt;&lt;list&gt;&lt;block var=&quot;msg&quot;/&gt;&lt;/list&gt;&lt;/block&gt;&lt;/script&gt;&lt;/block-definition&gt;&lt;block-definition s=&quot;hold without running %&amp;apos;input&amp;apos; %&amp;apos;Comment&amp;apos;&quot; type=&quot;command&quot; category=&quot;Ace’s blocks&quot;&gt;&lt;header&gt;&lt;/header&gt;&lt;code&gt;&lt;/code&gt;&lt;translations&gt;&lt;/translations&gt;&lt;inputs&gt;&lt;input type=&quot;%cs&quot; initial=&quot;1&quot;&gt;&lt;/input&gt;&lt;input type=&quot;%txt&quot; initial=&quot;1&quot;&gt;This is a comment&lt;/input&gt;&lt;/inputs&gt;&lt;/block-definition&gt;&lt;/blocks&gt;&lt;script&gt;&lt;custom-block s=&quot;parse PACE %mlt&quot;&gt;&lt;l&gt;/:execute;&amp;#xD;Log”checking user interface”;# this verifies the user#&amp;#xD;If {[variable]={true}};&amp;#xD; Log”hello [user]”;&amp;#xD;Else;&amp;#xD; Log”invalid”;&amp;#xD;Log”diagnostic complete”;&amp;#xD;/;&lt;/l&gt;&lt;variables&gt;&lt;variable name=&quot;Current token&quot;&gt;&lt;l&gt;0&lt;/l&gt;&lt;/variable&gt;&lt;/variables&gt;&lt;/custom-block&gt;&lt;/script&gt;&lt;/script&gt;" mediaID="Pace - OS_Console_cst_Pace - OS script pic 67"/></media></snapdata>