<snapdata remixID="11418696"><project name="digi4all-L1-turtle-art-AyseNurKaya" app="Snap! 7, 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-AyseNurKaya"><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="reportEquals"><block var="attribute"/><l>name</l></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="reportEquals"><block var="attribute"/><l>samples</l></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="reportEquals"><block var="list"/><block s="reportNewList"><list></list></block></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="reportEquals"><custom-block s="%s of sound %obj"><l>name</l><block var="sound"/></custom-block><block var="name"/></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="reportEquals"><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></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="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></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="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></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="reportGreaterThan"><block var="num"/><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).fingers.length;</l></block><list></list></block></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="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="reportGreaterThan"><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></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="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></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="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></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="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></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="reportGreaterThan"><block var="i"/><block var="end"/></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="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></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="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></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="reportGreaterThan"><block var="from"/><block var="to"/></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="1404"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAUS0lEQVR4Ae3de8gldRkH8Jl3L+6uy3pbzfLS7oqXSlPMDCQREakkK4kkKehCRBFqkUUhWpaQ+YeRQRiFYUUolYKVhEZXUgQxK1vW+27WamGirZfd8767v75nj/6xy7r77u77zjtz5nNgds6Z2+95PvMuz/nNzJmpKi8CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGxFShl41GlbDq/lBdXlFLmj22iEiNAYFoC9bSWshABAnsskGK7X1Vt+lhVTVyYjbxYVWXfvF+S8T8zrKuq+pFMvz/jtVW1OZ/3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GedLxRUpwN8dp5zkQoAAAQJjJpBiddaoCG967ziklt7v8hTf3PN5ePcrLwIECBAg0GKBFOG3pmilJ7zpghaHOa3QksulyeWGaS1sIQIECBAgMNcC+U3wqaMiPPjwXMeyp+2n93tgvkQ8kuGNe7oN6xEgQIAAgcYFUoBPTPFKT3jzxxtvfAYaTO/3ksR/4wxsyiYIECBAgECzAilgx42K8ODCZlveu9bS+90/cT+ULxEn792WrE2AAAECBOZIIMVsZQrZmmGPco5C2K1mE+tJGX6T4U+7taKFCRAgQIBA2wRKefHIFLT7hxc1tS22l+PJF4Xhk46uz/Bw4vxcPh/28jxjAgQIECDQWYEUtMNzWPe+FLf8rra05m5yuWDssBTdazLk50aTX0lsyzuLLHACBAgQILAjgVKef00K3d0pxFel0M3f0TJNTUv7ByWOL40K7+DafPaUo6bwtUOAAAECzQuU8tzw1o5/zPCNFL2FTUeQNpel7YszDC+y+kGK8HFNx6A9AgQIECAwJwIpggen+P06w7fzflETQQzbSXsfyrA6RffWjF3h3AS8NggQIECgXQIpiMNDwLelEN6Ui7ROH/aMZyPCtDMv96d+d9q5N8Mfcp53jJ/aNBuCtkmgXQJ1u8IRDYFuCpTyzAFVteTmRL9vnif82oy3VFVZNxom8ozhLWvymMN8nr82856o6zrzp/9KsT0j27oyayzOtq6oqn1+ubvbmH5rliRAoAkBBbgJZW30SiA91eH/q/SCp1aMivHmnJutj820FOaSaRO5aKv8I9PWppg+nPHq0fupFOhF/0phncqyW1/p6Z6SeV/O8isz4aqqWvCTzN84mutfAgS6LKAAd3nvib2TAqVsOCQ92JeLcZ7NW4ZPKFqRIdPqJfn8eMYpxtXw/XD6tSm8N6Twbsh7LwIExkRAAR6THSmN8RBI7/nAqppckcK7Kj3lDPO/l8L79HhkJwsCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFuCPwfEq04KGR9NKAAAAAASUVORK5CYII=</pentrails><costumes><list id="1405"><item><ref mediaID="Bühne_cst_Unbenannt"></ref></item></list></costumes><sounds><list struct="atomic" id="1406"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Stift" idx="1" x="9.681684787210543e-9" y="1.6938486169237876e-9" heading="184.0000000034172" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,255,250,1" pen="tip" id="1411"><costumes><list struct="atomic" id="1412"></list></costumes><sounds><list struct="atomic" id="1413"></list></sounds><blocks></blocks><variables></variables><scripts><script x="118.999999" y="30"><block s="receiveGo"></block><block s="setColor"><color>255,255,250,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>20</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></script></block></script></block><block s="turn"><l>50</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>20</l></variable><variable name="seitenzahl"><l>10</l></variable></variables></scene></scenes></project><media name="digi4all-L1-turtle-art-AyseNurKaya" app="Snap! 7, 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>