<snapdata remixID="12449034"><project name="digi4all-L1-turtle-art-2" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAC/RJREFUeF7tnXt0TVcex7/3nHNFRISiDMtkjfF+rMZbWiGEqIhHkTZoplqmrCraYa2p1amuMVrtLIvpjJnBVDEzZhSthki96lkq1COzKpkY5CFBiggi8rjnnln7RFMhyT333nPvPefs3/7Hcu9v//Zvf3+f7HP377xsABRQIwV8oEBPYRA6C31wQt6FPCWr1hFsBKAPlOfcZSehN3oLQ5Hu/BqZzrR61SAAOYdFz+m3tf0c/cWRyHaew1nnIU2uawVwxIgR6NSpEyRJ0uREbyOn04mLFy9i//79KCsr09s9+dNZgaZoiYHiKFxT8nDWedAt748BuHz5csTHx7vlRItxWeElXNz8HpyVFfWahzVthi6vf4zS0lJcunQJkydPxq1bt7QMQTZ+VqABGmKw+BxuKzdx0rnHo9FrABgdHY2VK1fW6ojB0KJFCzRp0qTG9+xz9ll2djb69etXZxAN0rfiJ+lrq7+3D54JZ346xPaRqNi3oka/0vnf4vr16+pnS5YswaZNmzyaHHXynQJx0iu4r9zFAXmLV4PUAHD69OmYPXu26nDPnj3o3Lkzbty4gTt37qiH48OHDyMyMhKtW7dGbm4uGjZsiObNm8Nut+P+/fvYvn07evfujdu3byM0NBQlJSXo0aMHIiIiEJqZjNbpn1QH22D4m4DUABDtUEpuoPLQqurv7r6RhmvXrqn/T0lJwaJFi7yaJHXWT4EIYQhCbc1wRP5CF6c1AExISMD8+fNVx+np6Zg5cyZWrFiBNm3aoLi4WD0kBgcHo1evXigoKEDjxo3hcDiwbNkyTJw4EYqiQBRFnDp1CrGxsdi1axfmzZuHsLAwNL/45WMA2po8CaFtT5QnL4Iz73T1hIrnHFP9s5acnIylS5fqMlly4rkCIiRMlObgazkZV5RLnjt6pGcNANnGY82aNRAEQTVr164dLl++jLZt2+Lu3bsqbGwlZBCyFe/hFhISgvLyctWGgdq0aVM0a9YMNptNXUFDvtuKTjnbNAV+87UjyMvLU20XLlyIo0ePaupHRr5RIEocjwqUIU3epfsAj21CkpKSEBcXp/7e07M1DQtDyNmNgNNRr1shvC/y7e1U4Nnhd+3aH3836hkP+XKtQEehFzraIpAqr3Nt7KFFrWWYcePGYfTo0QgKClIPq2wVq+1fD8essxtbPc+fP4/du3cjJydH/S1JLTAKPC2OQalyR3M9z9MofV6GKUjbiaJjnwJK/Wf8wiOeQZNhs9R5rF+/Hu+//76nc6J+XihQtcl4AkdkbT+XvBhK7aq5DMN+42VkZCA8PLzOMYuKitQNR2VlpboDZofxrGWTEPvkvarBWraH1GUYnEWXVSDljJq1o8JXD1QXnmfMmIHjx497Oz/qr1GBHzYZbHd7VcnW2Mt7szrLMKtXr1Y3AmwHzA6HY8eOxcGDB9XNR8uWLSHLMrp164Zt27ZhwYIFWLVqFRITE9UdMKsHstogK+PkfDQFI1pVASh2GoKgSb+HnH0SyvfnUfHVH6tnwNbH/Gm7qwGcNWsWTpw44f0MyYNLBdgmoxxl6kUD/m51lmHYKrZ582ZERUWpK9mFCxdQWFgIdpps8ODByMzMVMswixcvxty5c1FRUaGesYiJicGZM2fQqlUrdOjQAQV/fQmxrUrVeQk/7Y2g+HfgSN8BoU13lG+pKvmwxgDMeXGnegaENVa+SUur/0S2v8Wy2ngtbW0xRJyErY6PAja1esswekRVtGE2YpoXu3TFAMycuFUt5bCyDVsB8/PzXfYjA88U6CVEwwYBp537PXOgUy+fl2HaBFXAlpHqMlypWyxyyxupp+BYLZId7qn5RoF4aQbS5cO4rJz3zQBueK21DNOoUSP18MmKzv4ov/wQLzvsZ2VlqZsYavor8DNbd3QV+vu0rudu1HQ9oLuKmdS+jxADGQ6f1/XclYcAdFcxE9o/L72JffK/UKQUGi56AtBwKdEvoK7CALSytcNBeat+TnX2RADqLKhR3PUXYlGBcsMdch/VhwA0CjE6xpEkvY3NjuUoR80rlnQcQjdXBKBuUgbe0VNCFBrbmuGovD3wwWiMgADUKJTRzVhhWYFi+EMuHYKNTpIH8Y0Uk5DhTDNEYdnd8GkFdFcxg9lPsy/ChsrfqaufGRsBaMasqdfRCfiF/TfYULnYpDOoCpsANGH6wm1dwS6XZ8VlszcC0GQZZFcs22DDGTefQGDUaRKARs1MLXEx+FjT+twVM0yNADRDlgAMEJ/FPeUOvnMeM0nE2sIkALXpFFCrF6RfIcWxFvdgvbsECcCAouV68Jft72Jd5W9dG5rUggA0aOKC0RjjpFnY5Fhm0Aj1CYsA1EdHXb2wBz0+JQ5BquPHhznpOoCBnBGABkoGC+UJW2t0Fwbq9vQpg03vsXAIQANlqAmaY4A4EnstUGDWKisBqFUpH9s1QiiipQQuDrsPS0kA+hgsLe4bIBjPSknY7lijxdxSNgRggNMpwY4x0qvY5vhzgCMJzPAEYGB0V0cVIGCCNCegj8YI4PTVoQnAgGXAhkRpvuXrfK7kJQBdKeSj76dKv8ZGx4c+8m4etwRgAHKVZH8b/6h8LwAjG29IAtDPOXnJ/o56CT21KgUIQD+SMM3+LtZb+MICT6QkAD1RzYM+Vr+qxQNJaAX0VDR3+7EXvHzm+JO73biwpxXQx2nuIwxHjnION5WrPh7JnO4JQB/mzYr3cOgtFwGot6IP/LG3hocgDGecB3w0gjXcEoA+yCO7aXy4OBl75Y0+8G4tlwSgD/JJ5RbtohKA2rXSZDlVegsbHR9osiUjKkTrygB7ff1p+QBK4Pq9KLoObGJntALqlDza8XomJAHomW41evUUnoEIO85a5HktOkii2QUBqFmq2g2DEIxoMQG75b976YnP7gSgl3mnq1u8E5AA9EK/WPFF7JH/6YUH6koAesgA23TcRwmynKc89EDdmAIEoAccsLeLDxRH4ai8w4Pe1OVhBQhAD3igMx0eiFZHFwLQTS0HiePwjZwKGfRKWTelq9WcAHRDxS5CXzREiKUekevG9H1iSgC6IesocRq+lNe70YNMXSlAALpS6MH3BJ9Godw0IwA1CMZKLhUoU1+HRU1fBQhAF3qyc7yDxLE4JH+mr/LkTVWAAHQBAt1O6du/FAKwHn2HiBNxTE5BJcp9mwWOvROAdSSfSi7++asgAOvQeYz0S+xw/M0/WeB4FAKwluRTycV/fxEE4CNaS2iASDGOm9ck+A+12kciAB/R5TlpNrfPaw4EjATgQ6pTwdn/CBKAD2k+THwB++VP/Z8FjkckAB8kP16cgRT5Y45RCMzUCUAAQWiEvuJwHJW3ByYLHI9KAAJIkN7AFscfOMYgcFPnHkC28ShHKTKdJwOXBY5H5h7A4eIU7OPo7ZRGY51rANkbyZMdq4yWE67i4RZA9nrUCDEax+jWyoACzy2AidIC7t/TFlDyHgzOJYBVTzW4hyznt0bIAdcxcAlgtDgJB+WtXCfeKJPnDsAIIRo5znMoxnWj5IDrOLgDcKiYgAPyFq6TbqTJcwUgW/1ynRm4he+NlAOuY+EKwKHi8zggb+Y64UabPDcAsp1vrvJf3FIKjZYDruPhBkC61s+YnHMBIFv98pQsFCnXjJkFjqPiAsAYMRFfyZs4TrNxp255ANnqd1k5T+/rNSiDlgeQvbVyn/xvg8pPYVkaQLb65Sv/ww3lCmXaoApYGsAR4hTspYtNDYpeVViWBZCtfgXKBVxXCgydAN6DsyyAI8Sp9MZyE9BtSQDDbV0hwY6Lyn9MkAK+Q7QkgAPFOByXU/nOrElmb0kAx0uv4QvHX0ySAr7DtByAE6TX8bljJd9ZNdHsLQdgpDga38g7TZQCvkO1FIAdhQiUKaXqqTdq5lDAUgA+LcarT7WnZh4FLAVgnPgKUuVPzKM+RWqdMyF0o7k5abbMChgljqcHi5uQQUsA2E0YiJvKFRQqeSZMAd8hWwLAweIEHJY/5zuTJp29JQCky65MSp8VLseaKr2FjY4PzJsBziM3/QpIt1uam2BTA9je1hP3UYKrSra5s8Bx9KYGME58GanyOo7TZ/6p/x98ifsusd3RawAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="digi4all-L1-turtle-art-2"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;attribute&apos; of sound %&apos;sound&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">duration<options>name&#xD;duration&#xD;length&#xD;number of channels&#xD;sample rate&#xD;samples</options></input><input type="%obj"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="attribute"/><l>name</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return sound.name;</l></block><list><block var="sound"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="attribute"/><l>samples</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>audioBuffer</l></list><l>var result, i;&#xD;if (audioBuffer.numberOfChannels &gt; 1) {&#xD;    result = new List();&#xD;    for (i = 0; i &lt; audioBuffer.numberOfChannels; i += 1) {&#xD;        result.add(new List(audioBuffer.getChannelData(i)));&#xD;    }&#xD;    return result;&#xD;}&#xD;return new List(audioBuffer.getChannelData(0));</l></block><list><custom-block s="%s of sound %obj"><l></l><block var="sound"/></custom-block></list></block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>sound</l></list><l>var base64, binaryString, len, bytes, i,&#xD;    arrayBuffer, audioCtx;&#xD;if (sound.audioBuffer) {&#xD;    return;&#xD;}&#xD;base64 = sound.audio.src.split(&apos;,&apos;)[1];&#xD;binaryString =  window.atob(base64);&#xD;len = binaryString.length;&#xD;bytes = new Uint8Array(len);&#xD;for (i = 0; i &lt; len; i += 1)        {&#xD;  bytes[i] = binaryString.charCodeAt(i);&#xD;}&#xD;arrayBuffer = bytes.buffer;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;audioCtx.decodeAudioData(arrayBuffer, function(buffer) {&#xD;   sound.audioBuffer = buffer;&#xD;});</l></block><list><block var="sound"/></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return !isNil(sound.audioBuffer);</l></block><list><block var="sound"/></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l><l>choice</l></list><l>switch (choice) {&#xD;case &apos;sample rate&apos;:&#xD;    return sound.audioBuffer.sampleRate;&#xD;case &apos;duration&apos;:&#xD;    return sound.audioBuffer.duration;&#xD;case &apos;length&apos;:&#xD;    return sound.audioBuffer.length;&#xD;case &apos;number of channels&apos;:&#xD;    return sound.audioBuffer.numberOfChannels;&#xD;default:&#xD;    return sound.audioBuffer;&#xD;}</l></block><list><block var="sound"/><block var="attribute"/></list></block></block></script></block-definition><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="play %&apos;samples&apos; at %&apos;sampleRate&apos; Hz" type="command" category="sound"><comment x="0" y="0" w="164" collapsed="false">play back a sound, a list of samples (single channel), or a list of lists (multiple channels) at the given sample rate.&#xD;for demo purposes this block also fast-plots the samples on the stage</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="samples"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="samples"/></custom-block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>samples</l><l>rate</l></list><l>var audioCtx, channels, frameCount, arrayBuffer, i, source;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;channels = (samples.at(1) instanceof List) ? samples.length() : 1; &#xD;frameCount = (channels === 1) ? samples.length() : samples.at(1).length(); &#xD;arrayBuffer = audioCtx.createBuffer(channels, frameCount, rate);&#xD;if (!arrayBuffer.copyToChannel) {&#xD;    arrayBuffer.copyToChannel = function (src, channel) {&#xD;        var buffer = this.getChannelData(channel);&#xD;        for (i = 0; i &lt; src.length; i += 1) {&#xD;            buffer[i] = src[i];&#xD;        }&#xD;    }&#xD;}&#xD;if (channels === 1) {&#xD;    arrayBuffer.copyToChannel(Float32Array.from(samples.asArray()), 0, 0);&#xD;} else {&#xD;    for (i = 0; i &lt; channels; i += 1) {&#xD;        arrayBuffer.copyToChannel(Float32Array.from(samples.at(i + 1).asArray()), i, 0);&#xD;    }&#xD;}&#xD;source = audioCtx.createBufferSource();&#xD;source.buffer = arrayBuffer;&#xD;source.connect(audioCtx.destination);&#xD;source.start();&#xD;source.pause = source.stop;&#xD;this.parentThatIsA(StageMorph).activeSounds.push(source);</l></block><list><block var="samples"/><block var="sampleRate"/></list></block><custom-block s="plot sound %obj"><block var="samples"/></custom-block></script></block-definition><block-definition s="%&apos;frequency&apos; Hz for %&apos;duration&apos; secs at %&apos;sample rate&apos; Hz sample rate" type="reporter" category="sound"><comment x="0" y="0" w="205" collapsed="false">generate a list of samples representing a sine wave at the given frequency, duration and sample rate</comment><header></header><code></code><translations></translations><inputs><input type="%n">440<options>a 55=55&#xD;a 110=110&#xD;a 220=220&#xD;a 440=440&#xD;a 880=880&#xD;a 1760=1760&#xD;a 3520=3520</options></input><input type="%n">1</input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doDeclareVariables"><list><l>output</l><l>sample period</l><l>duration in samples</l><l>time</l></list></block><block s="doSetVar"><l>sample period</l><block s="reportQuotient"><l>1</l><block var="sample rate"/></block></block><block s="doSetVar"><l>duration in samples</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportVariadicProduct"><list><block var="duration"/><block var="sample rate"/></list></block></block></block><block s="doSetVar"><l>time</l><l>0</l></block><block s="doSetVar"><l>output</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doRepeat"><block var="duration in samples"/><script><block s="doAddToList"><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><block s="reportVariadicProduct"><list><block var="frequency"/><block var="time"/></list></block></list></block></list></block></custom-block></block><block var="output"/></block><block s="doChangeVar"><l>time</l><block var="sample period"/></block></script></block></script></block><block s="doReport"><block var="output"/></block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="find first in %&apos;list&apos; such that %&apos;test&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="list"/><block s="reportNewList"><list></list></block></list></block><script><custom-block s="error %s"><l>item not found in list</l></custom-block></script></block><block s="doIf"><block s="evaluate"><block var="test"/><list><block s="reportListItem"><l>1</l><block var="list"/></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="list"/></block></block></script></block><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportCDR"><block var="list"/></block><block var="test"/></custom-block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l></list><l>throw new Error(msg)</l></block><list><block var="msg"/></list></block></script></block-definition><block-definition s="sound named %&apos;name&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportGet"><l><option>sounds</option></l></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="%s of sound %obj"><l>name</l><block var="sound"/></custom-block><block var="name"/></list></block></autolambda><list><l>sound</l></list></block></custom-block></block></script></block-definition><block-definition s="plot sound %&apos;sound&apos;" type="command" category="pen"><comment x="0" y="0" w="164" collapsed="false">quickly plot the samples of a sound, a list of samples (single channel), or a list of lists (multiple channels) to the stage at a lower resolution.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>offset</l><l>i</l><l>stage height</l></list></block><block s="doSetVar"><l>stage height</l><custom-block s="stage height"></custom-block></block><block s="doIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="sound"/></custom-block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><custom-block s="%s of sound %obj"><l>length</l><block var="sound"/></custom-block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block></script><script><block s="doSetVar"><l>samples</l><block var="sound"/></block></script></block><block s="clear"></block><block s="up"></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="samples"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="samples"/></block></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block var="stage height"/><l>4</l></block></block><custom-block s="for each %upvar of %l %cs"><l>channel</l><block var="samples"/><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><block var="offset"/></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="channel"/></block><block s="reportQuotient"><block var="stage height"/><l>6.4</l></block></list></block><block var="offset"/></list></block></block></script></block></script></custom-block><block s="up"></block><block s="doChangeVar"><l>offset</l><block s="reportQuotient"><custom-block s="stage height"></custom-block><l>-2</l></block></block></script></custom-block></script><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><l>0</l></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="samples"/></block><block s="reportQuotient"><block var="stage height"/><l>3.2</l></block></list></block></block></script></block></script></custom-block><block s="up"></block></script></block></script></block-definition><block-definition s="stage width" 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>return StageMorph.prototype.dimensions.x;</l></block><list></list></block></block></script></block-definition><block-definition s="stage height" 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>return StageMorph.prototype.dimensions.y;</l></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></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>test</l><l>pic</l></list></block><block s="doSetVar"><l>test</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 function () {return result; };</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reifyScript"><script><block s="doSetVar"><l>pic</l><block s="evaluate"><block var="test"/><list></list></block></block><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></block></script><list></list></block><list></list></block></block><block s="doReport"><block var="pic"/></block></script></block-definition><block-definition s="loudness" type="reporter" category="sensing"><header></header><code></code><translations>ca:volum del so&#xD;es:volumen del sonido&#xD;</translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter == &apos;undefined&apos;</l></block><list></list></block><script><block s="doRun"><block s="reportJSFunction"><list></list><l>navigator.getUserMedia = ( navigator.getUserMedia ||&#xD;                       navigator.webkitGetUserMedia ||&#xD;                       navigator.mozGetUserMedia ||&#xD;                       navigator.msGetUserMedia);&#xD;&#xD;var audioContext = new AudioContext();&#xD;&#xD;/*&#xD;The MIT License (MIT)&#xD;&#xD;Copyright (c) 2014 Chris Wilson&#xD;&#xD;Permission is hereby granted, free of charge, to any person obtaining a copy&#xD;of this software and associated documentation files (the "Software"), to deal&#xD;in the Software without restriction, including without limitation the rights&#xD;to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&#xD;copies of the Software, and to permit persons to whom the Software is&#xD;furnished to do so, subject to the following conditions:&#xD;&#xD;The above copyright notice and this permission notice shall be included in all&#xD;copies or substantial portions of the Software.&#xD;&#xD;THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&#xD;IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&#xD;FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&#xD;AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&#xD;LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&#xD;OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&#xD;SOFTWARE.&#xD;*/&#xD;&#xD;function createAudioMeter (audioContext,clipLevel,averaging,clipLag) {&#xD;	 var processor = audioContext.createScriptProcessor(512);&#xD;	 processor.onaudioprocess = volumeAudioProcess;&#xD;	 processor.clipping = false;&#xD;	 processor.lastClip = 0;&#xD;	 processor.volume = 0;&#xD;	 processor.clipLevel = clipLevel || 0.98;&#xD;	 processor.averaging = averaging || 0.95;&#xD;	 processor.clipLag = clipLag || 750;&#xD; 	processor.connect(audioContext.destination);&#xD; 	return processor;&#xD;};&#xD;&#xD;function volumeAudioProcess (event) {&#xD;  var buf = event.inputBuffer.getChannelData(0),&#xD;      bufLength = buf.length,&#xD; 	    sum = 0,&#xD;      x;&#xD;  for (var i=0; i&lt;bufLength; i++) {&#xD;   	x = buf[i];&#xD;   	if (Math.abs(x)&gt;=this.clipLevel) {&#xD;    		this.clipping = true;&#xD;    		this.lastClip = window.performance.now();&#xD;   	}&#xD;   	sum += x * x;&#xD;  }&#xD;  var rms =  Math.sqrt(sum / bufLength);&#xD;  this.volume = Math.max(rms, this.volume*this.averaging);&#xD;};&#xD;&#xD;function gotStream (stream) {&#xD;  mediaStreamSource = audioContext.createMediaStreamSource(stream);&#xD;  window.meter = createAudioMeter(audioContext);&#xD;  mediaStreamSource.connect(meter);&#xD;};&#xD;&#xD;navigator.getUserMedia(&#xD;  {&#xD;    "audio": {&#xD;      "mandatory": {&#xD;        "googEchoCancellation": "false",&#xD;        "googAutoGainControl": "false",&#xD;        "googNoiseSuppression": "false",&#xD;        "googHighpassFilter": "false"&#xD;      },&#xD;      "optional": []&#xD;    },&#xD;  }, gotStream, nop);</l></block><list></list></block></script></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter != &apos;undefined&apos;</l></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return Math.floor(meter.volume * 100);</l></block><list></list></block></block></script></block-definition><block-definition s="$flash map %&apos;fn&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="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicMap(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash keep %&apos;test&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicKeep(fn, data);</l></block><list><block var="test"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash combine %&apos;fn&apos; with %&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="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicCombine(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>fn</l><l>proc</l></list><l>return proc.reportAtomicSort(data, fn);</l></block><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="$flash reverse %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>return new List(list.asArray().slice().reverse());</l></block><list><block var="list"/></list></block></block></script></block-definition><block-definition s="Leap number of hands" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).hands.length;</l></block><list></list></block></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).hands[num-1].stabilizedPalmPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; rotation of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">yaw<options>yaw&#xD;pitch&#xD;roll</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var f = window.controller.frame(0);&#xD;switch (pos){&#xD;  case "yaw":&#xD;    return f.hands[num-1].yaw();&#xD;  case "pitch":&#xD;    return f.hands[num-1].pitch();&#xD;  case "roll":&#xD;    return f.hands[num-1].roll();&#xD;};&#xD;            &#xD;        </l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of finger %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).fingers.length;</l></block><list></list></block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).fingers[num-1].stabilizedTipPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap hand %&apos;num&apos; is pinching" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>0.75</l></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Leap pinch strength of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>100</l></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap $flag" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller !== undefined</l></block><list></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var leapScript,&#xD;    done = false;&#xD;leapScript = document.createElement(&apos;script&apos;),&#xD;leapScript.onload = function () {&#xD;    done = true;&#xD;    console.log(&apos;leap is ready&apos;);&#xD;};&#xD;document.head.appendChild(leapScript);&#xD;leapScript.src = &apos;https://js.leapmotion.com/leap-0.6.4.min.js&apos;;&#xD;return function () {return done; }</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="test"/><list></list></block></block><block s="doRun"><block s="reportJSFunction"><list></list><l>window.controller = new Leap.Controller({enableGestures: true, background: true}); window.controller.connect();</l></block><list></list></block></script></block-definition><block-definition s="square %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRepeat"><l>4</l><script><block s="forward"><block var="side"/></block><block s="turn"><l>90</l></block></script></block></script></block-definition><block-definition s="polygon corner: %&apos;corner&apos; side: %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="corner"/><script><block s="forward"><block var="side"/></block><block s="turn"><l>45</l></block></script></block></script><scripts><script x="186.7744160625" y="106.000002"><block s="reportQuotient"><l></l><l></l></block></script></scripts></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><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="join words %&apos;words&apos;" type="reporter" category="operators"><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;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><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;</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="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><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;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></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;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><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></block><custom-block s="ignore %s"><l>3</l></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;</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;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></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"><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;</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></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><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;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><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;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="from"/><block var="to"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportVariadicSum"><list><block var="from"/><l>1</l></list></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition></blocks><stage name="Bühne" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1440"><pentrails>data:image/png;base64,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</pentrails><costumes><list id="1441"><item><ref mediaID="Bühne_cst_Unbenannt"></ref></item></list></costumes><sounds><list struct="atomic" id="1442"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Stift" idx="1" x="3.1536728783976287e-10" y="-1.282955963688437e-10" heading="49.999999999961574" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="194,10,255,1" pen="tip" id="1447"><costumes><list struct="atomic" id="1448"></list></costumes><sounds><list struct="atomic" id="1449"></list></sounds><blocks></blocks><variables></variables><scripts><script x="118.999999" y="30"><block s="receiveGo"></block><block s="setColor"><color>194,10,255,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>50</l></block><block s="doSetVar"><l>seitenzahl</l><l>80</l></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="forward"><block var="seitenlänge"/></block><block s="turn"><block s="reportQuotient"><l>360</l><block var="seitenzahl"/></block></block></script></block></script></block><block s="turn"><l>10</l></block></script></block></script></scripts></sprite><watcher var="seitenlänge" style="normal" x="10" y="10" color="243,118,29"/><watcher var="seitenzahl" style="normal" x="10" y="31.000001999999995" color="243,118,29"/></sprites></stage><variables><variable name="seitenlänge"><l>50</l></variable><variable name="seitenzahl"><l>80</l></variable></variables></scene></scenes></project><media name="digi4all-L1-turtle-art-2" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADotJREFUeF7t1cEJADAMxLBk/6Fb6BD1R1ngQAS8M3PGESBAgAABAl8FVoC/ehsjQIAAAQJPQIA9AgECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBC5oYGgQUTbVPQAAAABJRU5ErkJggg==" mediaID="Bühne_cst_Unbenannt"/></media></snapdata>