<snapdata remixID="12438706"><project name="digi4all-L1-turtle-art-2" app="Snap! 8.2, 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></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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAzO0lEQVR4Ae3dCZgU1bn/8fdU9wwMILKICqIBRZieAaKCxg0DKrgkapa/xpsYYzQao7LkZvEmuUkwuS5R44IYr2ISE82GuWZxZRME4xJBEZ0FXIJGETdAQWCWrvP/1UDr6DMDDNN7f+t5muquqj7n1OcM8845deqUGQsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA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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="-2.985416358569637e-10" y="-6.909317562531214e-11" heading="150.0000000001072" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="40.99999999999999,255,100.60000000000004,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>41,255,229,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>70</l></block><block s="doSetVar"><l>seitenzahl</l><l>7</l></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="changePenColorDimension"><l><option>hue</option></l><l>10</l></block><block s="forward"><block var="seitenlänge"/></block><block s="write"><l>HALLO</l><l>12</l></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>70</l></variable><variable name="seitenzahl"><l>7</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,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAOjklEQVR4Ae3VwQnAMAwEQcX995zk4Rq0nzH4fTAI9pmZ9/8eAQIECBAgsChwFrdMESBAgAABAldAgJ0CAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEPrsvA8+MDc1EAAAAAElFTkSuQmCC" mediaID="Bühne_cst_Unbenannt"/></media></snapdata>