<snapdata remixID="15141547"><project name="digi4all-L1-turtle-art" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="digi4all-L1-turtle-art"><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><primitives></primitives><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="1471"><pentrails>data:image/png;base64,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</pentrails><costumes><list id="1472"><item><ref mediaID="digi4all-L1-turtle-art_Bühne_cst_Unbenannt"></ref></item><item><ref mediaID="digi4all-L1-turtle-art_Bühne_cst_Unbenannt(2)"></ref></item></list></costumes><sounds><list struct="atomic" id="1473"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Stift" idx="1" x="431730.58982814726" y="-277329.2934472854" heading="210" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,15,223,1" pen="tip" id="1478"><costumes><list struct="atomic" id="1479"></list></costumes><sounds><list struct="atomic" id="1480"></list></sounds><blocks></blocks><variables></variables><scripts><script x="118.999999" y="30"><block s="receiveGo"></block><block s="setColor"><color>255,15,223,1</color></block><block s="down"></block><block s="doSetVar"><l>a</l><l>1</l></block><block s="doForever"><script><block s="gotoXY"><l>11</l><l>11</l></block><block s="setHeading"><l>90</l></block><block s="clear"></block><block s="doWarp"><script><block s="doSetVar"><l>b</l><l>1</l></block><block s="doRepeat"><l>400</l><script><block s="forward"><block var="b"/></block><block s="turn"><block var="a"/></block><block s="doChangeVar"><l>b</l><l>70</l></block></script></block></script></block><block s="doChangeVar"><l>a</l><l>1</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>6484</l></variable><variable name="b"><l>28001</l></variable></variables></scene></scenes></project><media name="digi4all-L1-turtle-art" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,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" mediaID="digi4all-L1-turtle-art_Bühne_cst_Unbenannt"/><costume name="Unbenannt(2)" center-x="225" center-y="179" image="data:image/png;base64,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" mediaID="digi4all-L1-turtle-art_Bühne_cst_Unbenannt(2)"/></media></snapdata>