<snapdata remixID="13000563"><project name="digi4all-L1-spiral-art" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="digi4all-L1-spiral-art"><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,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UPW1BMivu6ipqTaF0H07ocvw8jDBOxq68WhC3NO9K9WCPJgCCijwGgEDuEsvh2Qnpsa29IjpHQeE8nC8y1bcM+YnuK/q+1AnoVunlzs6y5xRhAiX8Dth2M8Igi8FFFAgewEDOHvjQpSQPIWnl57x6FD1KgTOfCYRxWF8E2G8sBCVzLASBO5yfCFh17FofYJ2Z4qKHxdJTze8gt7u7VX/QpIhvYdWQIFxBAzgCl4ahBEPgqjHG33QO47YAjP6Hf/NcGu8ZWIPPzV+Bp4uYzDTNp42VV+TdsRhyz3x+L54wH8HTF4LuI8bxrtU3cF/xzPI3Xu7gte/TVagKAIGcFHORE71ILCWJnBnE0xv5YcJSCG945HV+ZefEZ7aEwdyxLNre/m3sSAJ6f4nCa+/5FTl/y02iobWpV7x8DEBOxIHLf/dE/fuqW8ctvGWkPVfUe8HfRBC3mfL8hVQ4P8KGMBeE+MKJD3lBqEWh3I8O3g0lMfCOYh7j3E48zMazvz8bzi3PPuast4xwamgHrUV6cT+bfL0qLhHG8bByxeCHsI2nqEc/YL/7zE2xSB0fSmggALFFzCAi3+OClnDZGOQgTiYCeQehnzjf+OAju8vBzP4eZmwfuU1lWcIOCRIx3v1MAw+Mt6mFvTEw/hY9xP0BG0vgdtP2Hb/vetCnnwrpYACqQgYwKkwepDXCiQTnoK/YcOQeMeosdf0BoFJyPpSQAEFFIgFDGCvAwUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEFDGCvAQUUUEABBXIQMIBzQLdIBRRQQAEF/gdNJFfg8L3FxgAAAABJRU5ErkJggg==</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="-320.98329031970115" y="1248.1024604199492" heading="80.00000000000358" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,255,250,1" pen="tip" id="1477"><costumes><list struct="atomic" id="1478"></list></costumes><sounds><list struct="atomic" id="1479"></list></sounds><blocks></blocks><variables></variables><scripts><script x="118.999999" y="30"><block s="receiveGo"></block><block s="setColor"><color>255,255,250,1</color></block><block s="down"></block><block s="doSetVar"><l>a</l><l>7</l></block><block s="doForever"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="clear"></block><block s="doWarp"><script><block s="doSetVar"><l>b</l><l>0</l></block><block s="doRepeat"><l>200</l><script><block s="forward"><block var="b"/></block><block s="turn"><block var="a"/></block><block s="doChangeVar"><l>b</l><l>1</l></block></script></block></script></block><block s="doChangeVar"><l>a</l><l>.03</l></block></script></block></script></scripts></sprite><watcher var="a" style="normal" x="10" y="10" color="243,118,29"/><watcher var="b" style="normal" x="10" y="31.000001999999995" color="243,118,29"/></sprites></stage><variables><variable name="a"><l>8.949999999999989</l></variable><variable name="b"><l>200</l></variable></variables></scene></scenes></project><media name="digi4all-L1-spiral-art" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOjUlEQVR4Xu3VsQkAIBAEwbf/otXAGtxkBOOD4WHXzOz7PQIECBAgQOCjwBLgj9qmCBAgQIDAExBgp0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAAEBdgMECBAgQCAQEOAA3SQBAgQIEBBgN0CAAAECBAIBAQ7QTRIgQIAAAQF2AwQIECBAIBAQ4ADdJAECBAgQEGA3QIAAAQIEAgEBDtBNEiBAgAABAXYDBAgQIEAgEBDgAN0kAQIECBAQYDdAgAABAgQCAQEO0E0SIECAAIEDaGBoELcU5kcAAAAASUVORK5CYII=" mediaID="Bühne_cst_Unbenannt"/></media></snapdata>