<snapdata remixID="12968588"><project name="digi4all-L1-turtle-art-2" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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><list></list></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="1470"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAnZ0lEQVR4Ae3dCZhdZZ3n8d+5t6qygARlyYIklaWSQFgUoWlUUGlbHbV71KcbexyXUSRFqkKi3dLKYlOMbTeyyBCSSgoEm3YGkeluW3q6UcYBBBuIBJAlJFWVykIgGxEkQEiq7r1nfieVSEGnktruvWf53uep3Kp7zznv+37em/rXux6JBwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg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</pentrails><costumes><list id="1471"><item><ref mediaID="Bühne_cst_Unbenannt"></ref></item></list></costumes><sounds><list struct="atomic" id="1472"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Stift" idx="1" x="-83.86925906121542" y="33.8853802017303" heading="129.99999999996157" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="219,0,150,1" pen="tip" id="1477"><costumes><list struct="atomic" id="1478"></list></costumes><sounds><list struct="atomic" id="1479"></list></sounds><blocks></blocks><variables></variables><scripts><script x="118.999999" y="30"><block s="receiveGo"></block><block s="setColor"><color>219,0,150,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>60</l></block><block s="doSetVar"><l>seitenzahl</l><l>10</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><block s="turn"><l>10</l></block></script></block></script></block><block s="turn"><l>90</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>60</l></variable><variable name="seitenzahl"><l>10</l></variable></variables></scene></scenes></project><media name="digi4all-L1-turtle-art-2" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAOjklEQVR4Ae3VwQnAMAwEQcX995zk4Rq0nzH4fTAI9pmZ9/8eAQIECBAgsChwFrdMESBAgAABAldAgJ0CAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEPrsvA8+MDc1EAAAAAElFTkSuQmCC" mediaID="Bühne_cst_Unbenannt"/></media></snapdata>