<snapdata remixID="12221679"><project name="cvb" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="cvb"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="set cloud var %&apos;cloud&apos; to %&apos;value&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="fork"><block s="reifyScript"><script><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><block var="server"/><block s="reportJoinWords"><list><l>set/?user=</l><custom-block s="cloud ID"></custom-block><l>&amp;cv=</l><block var="cloud"/><l>&amp;val=</l><block var="value"/><l></l><l></l></list></block></list></block></block></custom-block></script><list></list></block><list></list></block></script></block-definition><block-definition s="ignore %&apos;s&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cloud var %&apos;s&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForEach"><l>item</l><block var="varcache"/><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="item"/></block><block var="s"/></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="item"/></block></block></script></block></script></block></script><scripts><script x="373" y="44.666666666666686"><block s="evaluate"><block s="reportJSFunction"><list><l>a</l></list><l>return varcache[a];</l></block><list><block var="s"/></list></block></script></scripts></block-definition><block-definition s="cloud ID %&apos;m&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>cloudid</l><block var="m"/></block><custom-block s="ping %upvar"><l>error</l></custom-block><block s="doIf"><block var="error"/><script><custom-block s="sign up"></custom-block></script></block></script><scripts><script x="196" y="86.80000000000001"><block s="doDeclareVariables"><list><l>s</l></list></block><block s="doSetVar"><l>s</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>return location.hash.replace("#","")</l></block><list></list></block></block><block s="doRun"><block s="reportJSFunction"><list><l>a</l></list><l>cloudid = a||"default";</l></block><list><block var="s"/></list></block></script></scripts></block-definition><block-definition s="cloud ID" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block var="cloudid"/></block></script></block-definition><block-definition s="username" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>An anonymous guy</l></block></script><scripts><script x="131" y="97.63333333333333"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return this.parentThatIsA(IDE_Morph).cloud.username</l></block><list></list></block></script></scripts></block-definition><block-definition s="cache cloud vars %&apos;var&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="fork"><block s="reifyScript"><script><block s="doSetVar"><l>varcache</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="var"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="item"/><l>0</l></list></block><block var="varcache"/></block></script></block><block s="doForever"><script><block s="doForEach"><l>item</l><block var="var"/><script><block s="doForEach"><l>jtem</l><block var="varcache"/><script><block s="doIf"><block s="reportEquals"><block var="item"/><block s="reportListItem"><l>1</l><block var="jtem"/></block></block><script><block s="doReplaceInList"><l>2</l><block var="jtem"/><block s="reportURL"><block s="reportJoinWords"><list><block var="server"/><l>get/?user=</l><custom-block s="cloud ID"></custom-block><l>&amp;cv=</l><block var="item"/></list></block></block></block></script></block></script></block></script></block></script></block></script><list></list></block><list></list></block></script><scripts><script x="33" y="404.33333333333366"><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doRun"><block s="reportJSFunction"><list><l>t</l></list><l>console.log("Cached vars!Time used:"+t+"ms")</l></block><list><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="a"/></block></list></block></script></scripts></block-definition><block-definition s="listify %&apos;s&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="s"/><l><option>json</option></l></block></block></script><scripts><script x="200" y="60.833333333333314"><block s="doDeclareVariables"><list><l>a</l><l>c</l><l>e</l></list></block><block s="doSetVar"><l>a</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>c</l><block s="reportTextSplit"><block var="s"/><l><option>letter</option></l></block></block><block s="doSetVar"><l>e</l><l>0</l></block><block s="doUntil"><block s="reportGreaterThan"><block var="e"/><block s="reportListAttribute"><l><option>length</option></l><block var="c"/></block></block><script><block s="doChangeVar"><l>e</l><l>1</l></block><block s="doIfElse"><block s="reportAnd"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block var="e"/><block var="c"/></block><l>|</l></block><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="e"/><l>1</l></list></block><block var="c"/></block><l>|</l></block></block></block><block s="reportNot"><block s="reportEquals"><block s="reportListItem"><block s="reportDifference"><block var="e"/><l>1</l></block><block var="c"/></block><l>|</l></block></block></block><script><block s="doAddToList"><l></l><block var="a"/></block><block s="doChangeVar"><l>e</l><l>1</l></block></script><script><block s="doReplaceInList"><l><option>last</option></l><block var="a"/><block s="reportJoinWords"><list><block s="reportListItem"><l><option>last</option></l><block var="a"/></block><block s="reportListItem"><block var="e"/><block var="c"/></block></list></block></block></script></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="replace %s %s %s"><l></l><l>||</l><l>|</l></custom-block></autolambda><list></list></block><block var="a"/></block></block></script></scripts></block-definition><block-definition s="replace %&apos;s&apos; %&apos;x&apos; %&apos;y&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportTextSplit"><block var="s"/><block var="x"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="y"/><l></l></list></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="stringify %&apos;s&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>json</option></l><block var="s"/></block></block></script><scripts><script x="229" y="65.83333333333331"><block s="doReport"><block s="reportJoinWords"><list><l>| </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="replace %s %s %s"><l></l><l>|</l><l>||</l></custom-block></autolambda><list></list></block><block var="s"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l>| </l><l></l></list></block></autolambda><list></list></block></block></list></block></block></script></scripts></block-definition><block-definition s="add %&apos;s&apos; to cloud list %&apos;v&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><custom-block s="listify %s"><custom-block s="cloud var %s"><block var="v"/></custom-block></custom-block></block><block s="doAddToList"><block var="s"/><block var="a"/></block><custom-block s="set cloud var %s to %s"><block var="v"/><custom-block s="stringify %l"><block var="a"/></custom-block></custom-block></script></block-definition><block-definition s="delete %&apos;s&apos; of cloud list %&apos;v&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><custom-block s="listify %s"><custom-block s="cloud var %s"><block var="v"/></custom-block></custom-block></block><block s="doDeleteFromList"><block var="s"/><block var="a"/></block><custom-block s="set cloud var %s to %s"><block var="v"/><custom-block s="stringify %l"><block var="a"/></custom-block></custom-block></script></block-definition><block-definition s="insert %&apos;s&apos; at %&apos;l&apos; of cloud list %&apos;v&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><custom-block s="listify %s"><custom-block s="cloud var %s"><block var="v"/></custom-block></custom-block></block><block s="doInsertInList"><block var="s"/><block var="l"/><block var="a"/></block><custom-block s="set cloud var %s to %s"><block var="v"/><custom-block s="stringify %l"><block var="a"/></custom-block></custom-block></script></block-definition><block-definition s="replace item %&apos;l&apos; of cloud list %&apos;v&apos; with %&apos;s&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><custom-block s="listify %s"><custom-block s="cloud var %s"><block var="v"/></custom-block></custom-block></block><block s="doReplaceInList"><block var="l"/><block var="a"/><block var="s"/></block><custom-block s="set cloud var %s to %s"><block var="v"/><custom-block s="stringify %l"><block var="a"/></custom-block></custom-block></script></block-definition><block-definition s="item %&apos;s&apos; of cloud list %&apos;v&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="s"/><custom-block s="listify %s"><custom-block s="cloud var %s"><block var="v"/></custom-block></custom-block></block></block></script></block-definition><block-definition s="ping %&apos;error&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input></inputs><script><block s="doIfElse"><block s="reportEquals"><block s="reportURL"><block s="reportJoinWords"><list><block var="server"/><block s="reportJoinWords"><list><l>ping/</l><l>?user=</l><custom-block s="cloud ID"></custom-block></list></block></list></block></block><l>None</l></block><script><block s="doSetVar"><l>error</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doSetVar"><l>error</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="sign up" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><block var="server"/><block s="reportJoinWords"><list><l>signup/</l><l>?user=</l><custom-block s="cloud ID"></custom-block></list></block></list></block></block></custom-block></script></block-definition><block-definition s="cloud list %&apos;g&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="listify %s"><custom-block s="cloud var %s"><block var="g"/></custom-block></custom-block></block></script></block-definition><block-definition s="all cloud vars" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><block var="server"/><l>cvs/?user=</l><custom-block s="cloud ID"></custom-block></list></block></block><l>,</l></block></block><block s="doReplaceInList"><l>1</l><block var="a"/><custom-block s="all but first letter of %txt"><block s="reportListItem"><l>1</l><block var="a"/></block></custom-block></block><block s="doReplaceInList"><l><option>last</option></l><block var="a"/><custom-block s="all but last letter of %txt"><block s="reportListItem"><l><option>last</option></l><block var="a"/></block></custom-block></block><block s="doReport"><block var="a"/></block></script><scripts><script x="434.9951171875" y="139.90000000000015"><block s="evaluate"><block s="reportJSFunction"><list><l>a</l></list><l>return new List(eval(a))</l></block><list><l></l></list></block></script></scripts></block-definition><block-definition s="delete cloud var %&apos;cloud&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="fork"><block s="reifyScript"><script><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><block var="server"/><block s="reportJoinWords"><list><l>del/?user=</l><custom-block s="cloud ID"></custom-block><l>&amp;cv=</l><block var="cloud"/></list></block></list></block></block></custom-block></script><list></list></block><list></list></block></script></block-definition><block-definition s="all but first letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="199" collapsed="false">Takes a text string as input, and reports a new text string containing all but the first character of the input.</comment><header></header><code></code><translations>pt:_ sem o primeiro caractere&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportGreaterThan"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script><scripts><script x="211" y="408"><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>str</l></list><l>return str.slice(1);</l></block><list><block s="errorObsolete"></block></list></block></block></script></scripts></block-definition><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="218" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations>pt:_ sem o último caractere&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportEquals"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script><scripts><script x="145.9951171875" y="332.6666666666667"><block s="evaluate"><block s="reportJSFunction"><list><l>str</l></list><l>return str.slice(0,-1);</l></block><list><block s="errorObsolete"></block></list></block></script></scripts></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" 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="775"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAYrUlEQVR4Xu3de4zmV13H8c95ZrdlaaGEBrUil0AVAoRGoJSyM8titARQjIR2Z2i5GZRIkKh/QDUS64UgiSTYULBRqaXuznZBsSKgKBd3ZlsjVJsUoU0LXsJFKwhryi6lO/Mzz+MOGYZld2a67DmcvvYfUvqbOee8vqd9d3aeebbELwIECBAgQOCUC5RTvqIFCRAgQIAAgQiwS0CAAAECBCoICHAFdEsSIECAAAEBdgcIECBAgEAFAQGugG5JAgQIECAgwO4AAQIECBCoICDAFdAtSYAAAQIEBNgdIECAAAECFQQEuAK6JQkQIECAgAC7AwQIECBAoIKAAFdAtyQBAgQIEBBgd4AAAQIECFQQEOAK6JYkQIAAAQIC7A4QIECAAIEKAgJcAd2SBAgQIEBAgN0BAgQIECBQQUCAK6BbkgABAgQICLA7QIAAAQIEKggIcAV0SxIgQIAAAQF2BwgQIECAQAUBAa6AbkkCBAgQICDA7gABAgQIEKggIMAV0C1JgAABAgQE2B0gQIAAAQIVBAS4ArolCRAgQICAALsDBAgQIECggoAAV0C3JAECBAgQEGB3gAABAgQIVBAQ4AroliRAgAABAgLsDhAgQIAAgQoCAlwB3ZIECBAgQECA3QECBAgQIFBBQIAroFuSAAECBAgIsDtAgAABAgQqCAhwBXRLEiBAgAABAXYHCBAgQIBABQEBroBuSQIECBAgIMDuAAECBAgQqCAgwBXQLUmAAAECBATYHSBAgAABAhUEBLgCuiUJECBAgIAAuwMECBAgQKCCgABXQLckAQIECBAQYHeAAAECBAhUEBDgCuiWJECAAAECAuwOECBAgACBCgICXAHdkgQIECBAQIDdAQIECBAgUEFAgCugW5IAAQIECAiwO0CAAAECBCoICHAFdEsSIECAAAEBdgcIECBAgEAFAQGugG5JAgQIECAgwO4AAQIECBCoICDAFdAtSYAAAQIEBNgdIECAAAECFQQEuAK6JQkQIECAgAC7AwQIECBAoIKAAFdAtyQBAgQIEBBgd4AAAQIECFQQEOAK6JYkQIAAAQIC7A4QIECAAIEKAgJcAd2SBAgQIEBAgN0BAgQIECBQQUCAK6BbkgABAgQICLA7QIAAAQIEKggIcAV0SxIgQIAAAQF2BwgQIECAQAUBAa6AbkkCBAgQICDA7gABAgQIEKggIMAV0C1JgAABAgQE2B0gQIAAAQIVBAS4ArolCRAgQICAALsDBAgQIECggoAAV0C3JAECBAgQEGB3gAABAgQIVBAQ4AroliRAgAABAgLsDhAgQIAAgQoCAlwB3ZIECBAgQECA3QECBAgQIFBBQIAroFuSAAECBAgIsDtAgAABAgQqCAhwBXRLEiBAgAABAXYHCBAgQIBABQEBroBuSQIECBAgIMDuAAECBAgQqCAgwBXQLUmAAAECBATYHSBAgAABAhUEBLgCuiUJECBAgIAAuwMECBAgQKCCgABXQLckAQIECBAQYHeAAAECBAhUEBDgCuiWJECAAAECAuwOECBAgACBCgICXAHdkgQIECBAQIDdAQIECBAgUEFAgCugW5IAAQIECAiwO0CAAAECBCoICHAFdEsSIECAAAEBdgcIECBAgEAFAQGugG5JAgQIECAgwO4AAQIECBCoICDAFdAtSYAAAQIEBNgdIECAAAECFQQEuAK6JQkQIECAgAC7AwQIECBAoIKAAFdAtyQBAgQIEBBgd4AAAQIECFQQEOAK6JYkQIAAAQIC7A4QIECAAIEKAgJcAd2SBAgQIEBAgN0BAgQIECBQQUCAK6BbkgABAgQICLA7QIAAAQIEKggIcAV0SxIgQIAAAQF2BwgQIECAQAUBAa6AbkkCBAgQICDA7gABAgQIEKggIMAV0C1JgAABAgQE2B0gQIAAAQIVBAS4ArolCRAgQICAALsDBAgQIECggoAAV0C3JAECBAgQEGB3gAABAgQIVBAQ4AroliRAgAABAgLsDhAgQIAAgQoCAlwB3ZIECBAgQECA3QECBAgQIFBBQIAroFuSAAECBAgIsDtAgAABAgQqCAhwBXRLEiBAgAABAXYHCBAgQIBABQEBroBuSQIECBAgIMDuAAECBAgQqCAgwBXQLUmAAAECBATYHSBAgAABAhUEBLgCuiUJECBAgIAAuwMECBAgQKCCgABXQLckAQIECBAQYHeAAAECBAhUEBDgCuiWJECAAAECAuwOECBAgACBCgICXAHdkgQIECBAQIDdAQIECBAgUEFAgCugW5IAAQIECAiwO0CAAAECBCoICHAFdEsSIECAAAEBdgcIECBAgEAFAQGugG5JAgQIECAgwO4AAQIECBCoICDA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</pentrails><costumes><list struct="atomic" id="776"></list></costumes><sounds><list struct="atomic" id="777"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite(2)" idx="1" x="-91.46875" y="-44.00000000000003" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="168.3,60.588,0,1" pen="tip" id="782"><costumes><list struct="atomic" id="783"></list></costumes><sounds><list struct="atomic" id="784"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="10"><block s="receiveGo"></block><custom-block s="cloud ID %s"><l>foo-bar-baz-garply-qx-qux-quux-quuuuuuuuux</l><comment w="278" collapsed="false">Cloud ID is set to a bunch of foos</comment></custom-block><custom-block s="cache cloud vars %mult%s"><list><l>hello</l></list><comment w="198" collapsed="false">Do this first or you will get reference errors.</comment></custom-block></script><script x="20" y="101.83333333333334"><custom-block s="set cloud var %s to %s"><l>hello</l><l>world</l><comment w="90" collapsed="true">Asynchronus</comment></custom-block></script><script x="20" y="140.83333333333334"><custom-block s="cloud var %s"><l>hello</l><comment w="162" collapsed="false">Need to cache that variable first</comment></custom-block></script><script x="20" y="197.83333333333337"><custom-block s="all cloud vars"><comment w="166" collapsed="false">All of your cloud vars in this project</comment></custom-block></script><script x="20" y="254.83333333333337"><custom-block s="delete cloud var %s"><l>hello</l><comment w="90" collapsed="false">Delete a cloud var</comment></custom-block></script><script x="20" y="311.83333333333337"><custom-block s="add %s to cloud list %s"><custom-block s="item %s of cloud list %s"><l></l><l></l></custom-block><l></l><comment w="206" collapsed="false">Same as normal lists but they are on cloud</comment></custom-block><custom-block s="delete %s of cloud list %s"><l></l><l></l></custom-block><custom-block s="insert %s at %s of cloud list %s"><l></l><l></l><l></l></custom-block><custom-block s="replace item %s of cloud list %s with %s"><l></l><l></l><l></l></custom-block></script><script x="20" y="417.83333333333337"><custom-block s="cloud list %s"><l></l><comment w="126" collapsed="false">The list form of a cloud list</comment></custom-block></script><script x="278" y="188.5"><block s="doSetVar"><l>server</l><l>https://phantom-second-buttercup.glitch.me/</l></block></script><script x="296" y="408"><block s="reportURL"><block s="reportJoinWords"><list><block var="server"/><block s="reportJoinWords"><list><l>signup/</l><l>?user=</l><custom-block s="cloud ID"></custom-block></list></block></list></block></block></script></scripts></sprite><watcher var="server" style="normal" x="5" y="28" color="243,118,29" hidden="true"/><watcher scope="Stage" s="reportThreadCount" style="normal" x="4" y="3.000001999999995" color="4,148,220"/><watcher var="cloudid" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="varcache" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="server"><l>https://phantom-second-buttercup.glitch.me/</l></variable><variable name="cloudid"><l>foo-bar-baz-garply-qx-qux-quux-quuuuuuuuux</l></variable><variable name="varcache"><list id="844"><item><list struct="atomic" id="845">hello,&quot;&lt;!DOCTYPE html&gt;&#xD;&lt;html lang=&quot;&quot;en&quot;&quot;&gt;&#xD;&lt;head&gt;&#xD;&lt;meta charset=&quot;&quot;utf-8&quot;&quot;&gt;&#xD;&lt;title&gt;Error&lt;/title&gt;&#xD;&lt;/head&gt;&#xD;&lt;body&gt;&#xD;&lt;pre&gt;TypeError: Cannot read property &amp;#39;foo-bar-baz-garply-qx-qux-quux-quuuuuuuuux&amp;#39; of undefined&lt;br&gt; &amp;nbsp; &amp;nbsp;at /app/server.js:35:13&lt;br&gt; &amp;nbsp; &amp;nbsp;at Layer.handle [as handle_request] (/rbd/pnpm-volume/7de7897e-bf95-4cae-a7d9-7fa0417cb83a/node_modules/express/lib/router/layer.js:95:5)&lt;br&gt; &amp;nbsp; &amp;nbsp;at next (/rbd/pnpm-volume/7de7897e-bf95-4cae-a7d9-7fa0417cb83a/node_modules/express/lib/router/route.js:144:13)&lt;br&gt; &amp;nbsp; &amp;nbsp;at Route.dispatch (/rbd/pnpm-volume/7de7897e-bf95-4cae-a7d9-7fa0417cb83a/node_modules/express/lib/router/route.js:114:3)&lt;br&gt; &amp;nbsp; &amp;nbsp;at Layer.handle [as handle_request] (/rbd/pnpm-volume/7de7897e-bf95-4cae-a7d9-7fa0417cb83a/node_modules/express/lib/router/layer.js:95:5)&lt;br&gt; &amp;nbsp; &amp;nbsp;at /rbd/pnpm-volume/7de7897e-bf95-4cae-a7d9-7fa0417cb83a/node_modules/express/lib/router/index.js:284:15&lt;br&gt; &amp;nbsp; &amp;nbsp;at Function.process_params (/rbd/pnpm-volume/7de7897e-bf95-4cae-a7d9-7fa0417cb83a/node_modules/express/lib/router/index.js:346:12)&lt;br&gt; &amp;nbsp; &amp;nbsp;at next (/rbd/pnpm-volume/7de7897e-bf95-4cae-a7d9-7fa0417cb83a/node_modules/express/lib/router/index.js:280:10)&lt;br&gt; &amp;nbsp; &amp;nbsp;at /app/server.js:11:3&lt;br&gt; &amp;nbsp; &amp;nbsp;at Layer.handle [as handle_request] (/rbd/pnpm-volume/7de7897e-bf95-4cae-a7d9-7fa0417cb83a/node_modules/express/lib/router/layer.js:95:5)&lt;/pre&gt;&#xD;&lt;/body&gt;&#xD;&lt;/html&gt;&#xD;&quot;</list></item></list></variable></variables></scene></scenes></project><media name="cvb" app="Snap! 7, https://snap.berkeley.edu" version="2"></media></snapdata>