<snapdata remixID="13454937"><project name="Blume" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Blume"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;attribute&apos; of sound %&apos;sound&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">duration<options>name&#xD;duration&#xD;length&#xD;number of channels&#xD;sample rate&#xD;samples</options></input><input type="%obj"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="attribute"/><l>name</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return sound.name;</l></block><list><block var="sound"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="attribute"/><l>samples</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>audioBuffer</l></list><l>var result, i;&#xD;if (audioBuffer.numberOfChannels &gt; 1) {&#xD;    result = new List();&#xD;    for (i = 0; i &lt; audioBuffer.numberOfChannels; i += 1) {&#xD;        result.add(new List(audioBuffer.getChannelData(i)));&#xD;    }&#xD;    return result;&#xD;}&#xD;return new List(audioBuffer.getChannelData(0));</l></block><list><custom-block s="%s of sound %obj"><l></l><block var="sound"/></custom-block></list></block></block></script><list></list></block><block s="doRun"><block s="reportJSFunction"><list><l>sound</l></list><l>var base64, binaryString, len, bytes, i,&#xD;    arrayBuffer, audioCtx;&#xD;if (sound.audioBuffer) {&#xD;    return;&#xD;}&#xD;base64 = sound.audio.src.split(&apos;,&apos;)[1];&#xD;binaryString =  window.atob(base64);&#xD;len = binaryString.length;&#xD;bytes = new Uint8Array(len);&#xD;for (i = 0; i &lt; len; i += 1)        {&#xD;  bytes[i] = binaryString.charCodeAt(i);&#xD;}&#xD;arrayBuffer = bytes.buffer;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;audioCtx.decodeAudioData(arrayBuffer, function(buffer) {&#xD;   sound.audioBuffer = buffer;&#xD;});</l></block><list><block var="sound"/></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return !isNil(sound.audioBuffer);</l></block><list><block var="sound"/></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l><l>choice</l></list><l>switch (choice) {&#xD;case &apos;sample rate&apos;:&#xD;    return sound.audioBuffer.sampleRate;&#xD;case &apos;duration&apos;:&#xD;    return sound.audioBuffer.duration;&#xD;case &apos;length&apos;:&#xD;    return sound.audioBuffer.length;&#xD;case &apos;number of channels&apos;:&#xD;    return sound.audioBuffer.numberOfChannels;&#xD;default:&#xD;    return sound.audioBuffer;&#xD;}</l></block><list><block var="sound"/><block var="attribute"/></list></block></block></script></block-definition><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="play %&apos;samples&apos; at %&apos;sampleRate&apos; Hz" type="command" category="sound"><comment x="0" y="0" w="164" collapsed="false">play back a sound, a list of samples (single channel), or a list of lists (multiple channels) at the given sample rate.&#xD;for demo purposes this block also fast-plots the samples on the stage</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="samples"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="samples"/></custom-block></block></script><list></list></block><block s="doRun"><block s="reportJSFunction"><list><l>samples</l><l>rate</l></list><l>var audioCtx, channels, frameCount, arrayBuffer, i, source;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;channels = (samples.at(1) instanceof List) ? samples.length() : 1; &#xD;frameCount = (channels === 1) ? samples.length() : samples.at(1).length(); &#xD;arrayBuffer = audioCtx.createBuffer(channels, frameCount, rate);&#xD;if (!arrayBuffer.copyToChannel) {&#xD;    arrayBuffer.copyToChannel = function (src, channel) {&#xD;        var buffer = this.getChannelData(channel);&#xD;        for (i = 0; i &lt; src.length; i += 1) {&#xD;            buffer[i] = src[i];&#xD;        }&#xD;    }&#xD;}&#xD;if (channels === 1) {&#xD;    arrayBuffer.copyToChannel(Float32Array.from(samples.asArray()), 0, 0);&#xD;} else {&#xD;    for (i = 0; i &lt; channels; i += 1) {&#xD;        arrayBuffer.copyToChannel(Float32Array.from(samples.at(i + 1).asArray()), i, 0);&#xD;    }&#xD;}&#xD;source = audioCtx.createBufferSource();&#xD;source.buffer = arrayBuffer;&#xD;source.connect(audioCtx.destination);&#xD;source.start();&#xD;source.pause = source.stop;&#xD;this.parentThatIsA(StageMorph).activeSounds.push(source);</l></block><list><block var="samples"/><block var="sampleRate"/></list></block><custom-block s="plot sound %obj"><block var="samples"/></custom-block></script></block-definition><block-definition s="%&apos;frequency&apos; Hz for %&apos;duration&apos; secs at %&apos;sample rate&apos; Hz sample rate" type="reporter" category="sound"><comment x="0" y="0" w="205" collapsed="false">generate a list of samples representing a sine wave at the given frequency, duration and sample rate</comment><header></header><code></code><translations></translations><inputs><input type="%n">440<options>a 55=55&#xD;a 110=110&#xD;a 220=220&#xD;a 440=440&#xD;a 880=880&#xD;a 1760=1760&#xD;a 3520=3520</options></input><input type="%n">1</input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doDeclareVariables"><list><l>output</l><l>sample period</l><l>duration in samples</l><l>time</l></list></block><block s="doSetVar"><l>sample period</l><block s="reportQuotient"><l>1</l><block var="sample rate"/></block></block><block s="doSetVar"><l>duration in samples</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportVariadicProduct"><list><block var="duration"/><block var="sample rate"/></list></block></block></block><block s="doSetVar"><l>time</l><l>0</l></block><block s="doSetVar"><l>output</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doRepeat"><block var="duration in samples"/><script><block s="doAddToList"><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><block s="reportVariadicProduct"><list><block var="frequency"/><block var="time"/></list></block></list></block></list></block></custom-block></block><block var="output"/></block><block s="doChangeVar"><l>time</l><block var="sample period"/></block></script></block></script></block><block s="doReport"><block var="output"/></block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="find first in %&apos;list&apos; such that %&apos;test&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="list"/><block s="reportNewList"><list></list></block></list></block><script><custom-block s="error %s"><l>item not found in list</l></custom-block></script><list></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list><block s="reportListItem"><l>1</l><block var="list"/></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="list"/></block></block></script><list></list></block><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportCDR"><block var="list"/></block><block var="test"/></custom-block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l></list><l>throw new Error(msg)</l></block><list><block var="msg"/></list></block></script></block-definition><block-definition s="sound named %&apos;name&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportGet"><l><option>sounds</option></l></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="%s of sound %obj"><l>name</l><block var="sound"/></custom-block><block var="name"/></list></block></autolambda><list><l>sound</l></list></block></custom-block></block></script></block-definition><block-definition s="plot sound %&apos;sound&apos;" type="command" category="pen"><comment x="0" y="0" w="164" collapsed="false">quickly plot the samples of a sound, a list of samples (single channel), or a list of lists (multiple channels) to the stage at a lower resolution.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>offset</l><l>i</l><l>stage height</l></list></block><block s="doSetVar"><l>stage height</l><custom-block s="stage height"></custom-block></block><block s="doIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="sound"/></custom-block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><custom-block s="%s of sound %obj"><l>length</l><block var="sound"/></custom-block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block></script><script><block s="doSetVar"><l>samples</l><block var="sound"/></block></script></block><block s="clear"></block><block s="up"></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="samples"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="samples"/></block></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block var="stage height"/><l>4</l></block></block><custom-block s="for each %upvar of %l %cs"><l>channel</l><block var="samples"/><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><block var="offset"/></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="channel"/></block><block s="reportQuotient"><block var="stage height"/><l>6.4</l></block></list></block><block var="offset"/></list></block></block></script></block></script></custom-block><block s="up"></block><block s="doChangeVar"><l>offset</l><block s="reportQuotient"><custom-block s="stage height"></custom-block><l>-2</l></block></block></script></custom-block></script><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><l>0</l></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="samples"/></block><block s="reportQuotient"><block var="stage height"/><l>3.2</l></block></list></block></block></script></block></script></custom-block><block s="up"></block></script></block></script></block-definition><block-definition s="stage width" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.x;</l></block><list></list></block></block></script></block-definition><block-definition s="stage height" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.y;</l></block><list></list></block></block></script></block-definition><block-definition s="$circleSolid-1-255-0-0 record" type="reporter" category="sensing"><comment x="0" y="0" w="192" collapsed="false">records an audio snippet and reports it as a new sound, or zero if the user cancels</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>test</l><l>pic</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var soundRecorder,&#xD;    result = false;&#xD;&#xD;soundRecorder = new SoundRecorderDialogMorph(&#xD;    function (audio) {&#xD;        if (audio) {&#xD;            result = new Sound(audio, &apos;recording&apos;);&#xD;        } else {&#xD;            result = null;&#xD;            this.destroy();&#xD;        }&#xD;    }&#xD;);&#xD;&#xD;soundRecorder.cancel = function () {&#xD;    result = null;&#xD;    this.destroy();&#xD;};&#xD;&#xD;soundRecorder.key = &apos;microphone&apos;;&#xD;soundRecorder.popUp(this.world());&#xD;return function () {return result; };</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reifyScript"><script><block s="doSetVar"><l>pic</l><block s="evaluate"><block var="test"/><list></list></block></block><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></block></script><list></list></block><list></list></block></block><block s="doReport"><block var="pic"/></block></script></block-definition><block-definition s="loudness" type="reporter" category="sensing"><header></header><code></code><translations>ca:volum del so&#xD;es:volumen del sonido&#xD;</translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter == &apos;undefined&apos;</l></block><list></list></block><script><block s="doRun"><block s="reportJSFunction"><list></list><l>navigator.getUserMedia = ( navigator.getUserMedia ||&#xD;                       navigator.webkitGetUserMedia ||&#xD;                       navigator.mozGetUserMedia ||&#xD;                       navigator.msGetUserMedia);&#xD;&#xD;var audioContext = new AudioContext();&#xD;&#xD;/*&#xD;The MIT License (MIT)&#xD;&#xD;Copyright (c) 2014 Chris Wilson&#xD;&#xD;Permission is hereby granted, free of charge, to any person obtaining a copy&#xD;of this software and associated documentation files (the "Software"), to deal&#xD;in the Software without restriction, including without limitation the rights&#xD;to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&#xD;copies of the Software, and to permit persons to whom the Software is&#xD;furnished to do so, subject to the following conditions:&#xD;&#xD;The above copyright notice and this permission notice shall be included in all&#xD;copies or substantial portions of the Software.&#xD;&#xD;THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&#xD;IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&#xD;FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&#xD;AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&#xD;LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&#xD;OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&#xD;SOFTWARE.&#xD;*/&#xD;&#xD;function createAudioMeter (audioContext,clipLevel,averaging,clipLag) {&#xD;	 var processor = audioContext.createScriptProcessor(512);&#xD;	 processor.onaudioprocess = volumeAudioProcess;&#xD;	 processor.clipping = false;&#xD;	 processor.lastClip = 0;&#xD;	 processor.volume = 0;&#xD;	 processor.clipLevel = clipLevel || 0.98;&#xD;	 processor.averaging = averaging || 0.95;&#xD;	 processor.clipLag = clipLag || 750;&#xD; 	processor.connect(audioContext.destination);&#xD; 	return processor;&#xD;};&#xD;&#xD;function volumeAudioProcess (event) {&#xD;  var buf = event.inputBuffer.getChannelData(0),&#xD;      bufLength = buf.length,&#xD; 	    sum = 0,&#xD;      x;&#xD;  for (var i=0; i&lt;bufLength; i++) {&#xD;   	x = buf[i];&#xD;   	if (Math.abs(x)&gt;=this.clipLevel) {&#xD;    		this.clipping = true;&#xD;    		this.lastClip = window.performance.now();&#xD;   	}&#xD;   	sum += x * x;&#xD;  }&#xD;  var rms =  Math.sqrt(sum / bufLength);&#xD;  this.volume = Math.max(rms, this.volume*this.averaging);&#xD;};&#xD;&#xD;function gotStream (stream) {&#xD;  mediaStreamSource = audioContext.createMediaStreamSource(stream);&#xD;  window.meter = createAudioMeter(audioContext);&#xD;  mediaStreamSource.connect(meter);&#xD;};&#xD;&#xD;navigator.getUserMedia(&#xD;  {&#xD;    "audio": {&#xD;      "mandatory": {&#xD;        "googEchoCancellation": "false",&#xD;        "googAutoGainControl": "false",&#xD;        "googNoiseSuppression": "false",&#xD;        "googHighpassFilter": "false"&#xD;      },&#xD;      "optional": []&#xD;    },&#xD;  }, gotStream, nop);</l></block><list></list></block></script><list></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter != &apos;undefined&apos;</l></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return Math.floor(meter.volume * 100);</l></block><list></list></block></block></script></block-definition><block-definition s="$flash map %&apos;fn&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicMap(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash keep %&apos;test&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicKeep(fn, data);</l></block><list><block var="test"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash combine %&apos;fn&apos; with %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicCombine(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>fn</l><l>proc</l></list><l>return proc.reportAtomicSort(data, fn);</l></block><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="$flash reverse %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>return new List(list.asArray().slice().reverse());</l></block><list><block var="list"/></list></block></block></script></block-definition><block-definition s="Leap number of hands" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).hands.length;</l></block><list></list></block></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).hands[num-1].stabilizedPalmPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; rotation of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">yaw<options>yaw&#xD;pitch&#xD;roll</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var f = window.controller.frame(0);&#xD;switch (pos){&#xD;  case "yaw":&#xD;    return f.hands[num-1].yaw();&#xD;  case "pitch":&#xD;    return f.hands[num-1].pitch();&#xD;  case "roll":&#xD;    return f.hands[num-1].roll();&#xD;};&#xD;            &#xD;        </l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of finger %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).fingers.length;</l></block><list></list></block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).fingers[num-1].stabilizedTipPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap hand %&apos;num&apos; is pinching" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>0.75</l></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Leap pinch strength of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>100</l></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap $flag" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller !== undefined</l></block><list></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var leapScript,&#xD;    done = false;&#xD;leapScript = document.createElement(&apos;script&apos;),&#xD;leapScript.onload = function () {&#xD;    done = true;&#xD;    console.log(&apos;leap is ready&apos;);&#xD;};&#xD;document.head.appendChild(leapScript);&#xD;leapScript.src = &apos;https://js.leapmotion.com/leap-0.6.4.min.js&apos;;&#xD;return function () {return done; }</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="test"/><list></list></block></block><block s="doRun"><block s="reportJSFunction"><list></list><l>window.controller = new Leap.Controller({enableGestures: true, background: true}); window.controller.connect();</l></block><list></list></block></script></block-definition><block-definition s="square %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRepeat"><l>4</l><script><block s="forward"><block var="side"/></block><block s="turn"><l>90</l></block></script></block></script></block-definition><block-definition s="polygon corner: %&apos;corner&apos; side: %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="corner"/><script><block s="forward"><block var="side"/></block><block s="turn"><l>45</l></block></script></block></script><scripts><script x="186.7744160625" y="106.000002"><block s="reportQuotient"><l></l><l></l></block></script></scripts></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script><list></list></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="from"/><block var="to"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportVariadicSum"><list><block var="from"/><l>1</l></list></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition></blocks><stage name="Bühne" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1470"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAmYklEQVR4Ae3dCZRdVZ3v8d+5NaTIUFUJYTAEKUACDQgOqHT3c1p2a6vQarddECqpGLShgRYaERUROwzSNC82PlEwYoxJVSVaLqUdiP1YT3nar5uFM8hgKgESgYAJSQ2ZSNW997zfYZDBSmq455w7nO9dq1bd3HvOf+/9OTf3X3ufffaReCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIVLvAdq08qdrbQP0RiAQCGBBAAIFqEBjQqlOk3Cdd19P9s9lfX+tCFe8PpZ/lVL+u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TlBRYv55XuF9/r3udjVsald7oRrxPLnq0AYNn+e6d7otPyko/1kmpVXjkSxPnUnA5XGnVAQyJxB6QpJv3XOse4m+qYBe52tfj496zP6Z4hWg+gzixBzemffzBtWvq+Rh7N3qnusLdi9wnc/0Hxc/rFfDZ2fozAcyd1BpcEkCJOCS+NgZAQRKFXhSKw+rc285UPE4nzN9g3vIUVI+2r3nIf+OErNvNp/7Rb2Hsad5GNuLVZRtGLtfa9pyKn7YSfdvXC8vnBF8zud415dqwP7ZFCABZ/O402oEKlog1LKGHZp6lMel3WPOneSE92pX2Ik5mOPfmzy7uM9D27/wZVD3RsPYLR7GdmJObBh7i++P3KDQk830bifdW0MVbmTWd0V/hKqiciTgqjhMVBIBBCKB6LpaJ915dco9PYztHvIJTohOzJriL7P1TtTR+eX/joa0A+U9G7tzSylynlx1nMvzZVbyjRLCbxRU/8UDNf+RUmKyLwLPCZCAn5PgNwIIVK3AVq2Z45Wm5hU8E9tfaqe6IVFS9jB2uCOa9OXnHsYOf+Fec98e7eybo3N376+xntX9yjrpEg+Dv9kxuho05abpan9if/vwHgITFSABT1SM7RFAoCoEnhvGduKdV/QwthPxq305lGdj5zyMHf7OjYgS87PD2I0exs5tHFDhJPecP+ZtX+87FK2o195lM3R2Jq9proqDXOWVJAFX+QGk+gggMDGBrVo+o0FNTsoFJ+PgFP+c4ITrHnM4y5GGPBP780MqfnWuFnnSNg8EEEAAAQQQSFQgOt/br54jEi2E4AgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggUCMC/x8NgOg/XGFCoQAAAABJRU5ErkJggg==</pentrails><costumes><list id="1471"><item><ref mediaID="Bühne_cst_Unbenannt"></ref></item></list></costumes><sounds><list struct="atomic" id="1472"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Stift" idx="1" x="2.2737367544323206e-10" y="-3.9832855236454634e-8" heading="131.99999999996157" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="240,0,164,1" pen="tip" id="1477"><costumes><list struct="atomic" id="1478"></list></costumes><sounds><list struct="atomic" id="1479"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="33"><block s="receiveGo"></block><block s="setColor"><color>2,1,219,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>50</l></block><block s="doSetVar"><l>seitenzahl</l><l>5</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>40</l></block><block s="turn"><l>40</l></block></script></block></script><script x="355.999999" y="30"><block s="receiveGo"></block><block s="setColor"><color>240,0,164,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>50</l></block><block s="doSetVar"><l>seitenzahl</l><l>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>140</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"/><sprite name="Objekt" idx="2" x="3.0000000000002274" y="0.9999999996969393" heading="330" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="2,1,219,1" pen="tip" id="1547"><costumes><list struct="atomic" id="1548"></list></costumes><sounds><list struct="atomic" id="1549"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveGo"></block><block s="setColor"><color>2,1,219,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>50</l></block><block s="doSetVar"><l>seitenzahl</l><l>5</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>40</l></block><block s="turn"><l>40</l></block></script></block></script></scripts></sprite></sprites></stage><variables><variable name="seitenlänge"><l>50</l></variable><variable name="seitenzahl"><l>10</l></variable></variables></scene></scenes></project><media name="Blume" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAOjklEQVR4Ae3VwQnAMAwEQcX995zk4Rq0nzH4fTAI9pmZ9/8eAQIECBAgsChwFrdMESBAgAABAldAgJ0CAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEPrsvA8+MDc1EAAAAAElFTkSuQmCC" mediaID="Bühne_cst_Unbenannt"/></media></snapdata>