<snapdata remixID="11507807"><project name="structs" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAABnklEQVR4nO3Vsa3CUBAFUbqBwFRiB3abDigKCnk/QiIxhCP5nyNtfoOR9jIgdKkH8L8JkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQAD9xut7Hvez3j9AT4xbZtY13Xsa7rmKZpPJ/PetLpCPCHd4Cft23bWJalnnYKAvzhKMB5nutppyDALz5f8P1+H6/Xq550OgI8cL1ex+PxqGecngBJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEkJkJQASQmQlABJCZCUAEn9AXE1r8uAI+NYAAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="structs"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="make struct %&apos;name&apos; with %&apos;elements&apos; in category %&apos;category&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%s">10</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>verifiers</l><l>current</l><l>index</l></list></block><block s="doSetVar"><l>verifiers</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doForEach"><l>item</l><block var="elements"/><script><block s="doIfElse"><block s="reportLessThanOrEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="item"/></block><l>2</l></block><script><block s="doAddToList"><l>1</l><block var="item"/></block></script><script><block s="doIf"><block s="reportGreaterThan"><block s="reportListItem"><l>3</l><block var="item"/></block><l>1</l></block><script><block s="doSetVar"><l>current</l><block s="reportTextSplit"><block s="reifyScript"><script><block s="doIf"><block s="reportNotEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><l></l></block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l></l><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block></list></block></custom-block></script></block></script><list></list></block><l><option>blocks</option></l></block></block><block s="doReplaceInList"><l>3</l><block s="reportListItem"><l>2</l><block var="current"/></block><block s="reportListItem"><l>3</l><block var="item"/></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>3</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="current"/></block></block></block><block s="reportListItem"><l>2</l><block var="item"/></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>3</l><block s="reportListItem"><l>3</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="current"/></block></block></block></block><block s="reportListItem"><l>2</l><block var="item"/></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="current"/></block></block><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l> of </l><block var="name"/><l> expects length </l><block s="reportListItem"><l>3</l><block var="item"/></block><l> but getting </l></list></block></block><block s="doAddToList"><block var="current"/><block var="verifiers"/></block></script></block></script></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListItem"><l>3</l><block var="item"/></block><l>1</l></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="index"/><block s="reportVariadicSum"><list><block var="index"/><block s="reportListItem"><l>3</l><block var="item"/></block><l>-1</l></list></block></list></block><block var="item"/></block><block s="doChangeVar"><l>index</l><block s="reportListItem"><l>3</l><block var="item"/></block></block></script><script><block s="doAddToList"><block var="index"/><block var="item"/></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListAttribute"><l><option>length</option></l><block var="verifiers"/></block><l>0</l></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block><block s="reportNewList"><list><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><block s="reportCONS"><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block var="a"/></autolambda><list></list></block><block s="reportListItem"><l>2</l><l/></block></list></block></autolambda><list></list></block><block var="elements"/></block></block></list></block></list></block><block var="verifiers"/></block></script><script><block s="doSetVar"><l>current</l><block s="reportNewList"><list><block s="reportNewList"><list></list></block></list></block></block><block s="doForEach"><l>item</l><block var="elements"/><script><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListItem"><l>3</l><block var="item"/></block><l>1</l></block><script><block s="doIfElse"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="current"/></block></block><l>0</l></block><script><block s="doInsertInList"><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block var="a"/></autolambda><list></list></block><block s="reportListItem"><l>2</l><block var="item"/></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="current"/></block><block var="current"/></block></script><script><block s="doAddToList"><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block var="a"/></autolambda><list></list></block><block s="reportListItem"><l>2</l><block var="item"/></block></list></block><block var="current"/></block><block s="doAddToList"><block s="reportNewList"><list></list></block><block var="current"/></block></script></block></script><script><block s="doAddToList"><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block var="a"/></autolambda><list></list></block><block s="reportListItem"><l>2</l><block var="item"/></block></list></block><block s="reportListItem"><l><option>last</option></l><block var="current"/></block></block></script></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="current"/></block></block><l>0</l></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="current"/></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block><block s="reportNewList"><list><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list></list></block></autolambda><list></list></block><block s="reportCONS"><block s="reportListAttribute"><l><option>length</option></l><block var="current"/></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><block s="reportNewList"><list><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><block s="reportCONS"><block s="reportListAttribute"><l><option>length</option></l><l/></block><l/></block></list></block><l></l></block></autolambda><list></list></block><block var="current"/></block></block></list></block></list></block><block var="verifiers"/></block></script></block><block s="doForEach"><l>item</l><block var="elements"/><script><block s="doAddToList"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListItem"><l>1</l><block var="verifiers"/></block></block></script></block><block s="doDefineBlock"><l>constructor</l><block s="reportJoinWords"><list><l>new </l><block var="name"/><l> </l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><l/></block><l> _ </l></list></block></autolambda><list></list></block><block var="elements"/></block></list></block><block s="reportJoinWords"><block var="verifiers"/></block></block><block s="doSetBlockAttribute"><l><option>category</option></l><block var="constructor"/><block var="category"/></block><block s="doSetBlockAttribute"><l><option>slots</option></l><block var="constructor"/><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="elements"/></block></block><block s="doSetBlockAttribute"><l><option>type</option></l><block var="constructor"/><l>2</l></block><block s="doForEach"><l>item</l><block var="elements"/><script><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListItem"><l>3</l><block var="item"/></block><l>1</l></block><script><block s="doSetVar"><l>current</l><block s="reportTextSplit"><block s="reifyScript"><script><block s="doIf"><block s="reportNotEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="obj"/></block><l></l></block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l></l><block s="reportListAttribute"><l><option>length</option></l><block var="obj"/></block></list></block></custom-block></script></block><block s="doReplaceInList"><block s="reportNumbers"><l></l><l></l></block><l/><l></l></block></script><list><l>obj</l><l>att</l></list></block><l><option>blocks</option></l></block></block><block s="doReplaceInList"><l>3</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="current"/></block></block><block s="reportListItem"><l>3</l><block var="item"/></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block s="reportListItem"><l>1</l><block var="current"/></block></block></block><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l> of </l><block var="name"/><l> expects length </l><block s="reportListItem"><l>3</l><block var="item"/></block><l> but getting </l></list></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="current"/></block></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>4</l><block var="item"/></block></block></block><block s="doReplaceInList"><l>3</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="current"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>4</l><block var="item"/></block></block></block><block s="doReplaceInList"><l>3</l><block s="reportListItem"><l>2</l><block var="current"/></block><block s="reifyReporter"><autolambda><block var="obj"/></autolambda><list></list></block></block><block s="doReplaceInList"><l>4</l><block s="reportListItem"><l>2</l><block var="current"/></block><block s="reifyReporter"><autolambda><block var="att"/></autolambda><list></list></block></block><block s="doDefineBlock"><l>setter</l><block s="reportJoinWords"><list><l>set </l><block s="reportListItem"><l>2</l><block var="item"/></block><l> of </l><block var="name"/><l> _ to _</l></list></block><block s="reportJoinWords"><block var="current"/></block></block></script><script><block s="doDefineBlock"><l>setter</l><block s="reportJoinWords"><list><l>set </l><block s="reportListItem"><l>2</l><block var="item"/></block><l> of </l><block var="name"/><l> _ to _</l></list></block><block s="reportJoinWords"><list><block s="reifyScript"><script><block s="doReplaceInList"><l></l><l/><l></l></block></script><list></list></block><block s="reportListItem"><l>4</l><block var="item"/></block><block s="reifyReporter"><autolambda><block var="obj"/></autolambda><list></list></block><block s="reifyReporter"><autolambda><block var="att"/></autolambda><list></list></block><l>obj</l><l>att</l></list></block></block></script></block><block s="doSetBlockAttribute"><l><option>category</option></l><block var="setter"/><block var="category"/></block><block s="doSetBlockAttribute"><l><option>slots</option></l><block var="setter"/><block s="reportNewList"><list><l>3</l><block s="reportListItem"><l>1</l><block var="item"/></block></list></block></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListItem"><l>3</l><block var="item"/></block><l>1</l></block><script><block s="doDefineBlock"><l>getter</l><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l> of </l><block var="name"/><l> _</l></list></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><l/></block></autolambda><list></list></block><block s="reportNewList"><list><block s="reifyReporter"><autolambda><block s="reportNumbers"><l></l><l></l></block></autolambda><list></list></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>4</l><block var="item"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>4</l><block var="item"/></block></block></list></block><block s="reifyReporter"><autolambda><block var="obj"/></autolambda><list></list></block><l>obj</l></list></block></block></script><script><block s="doDefineBlock"><l>getter</l><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l> of </l><block var="name"/><l> _</l></list></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><l/></block></autolambda><list></list></block><block s="reportListItem"><l>4</l><block var="item"/></block><block s="reifyReporter"><autolambda><block var="obj"/></autolambda><list></list></block><l>obj</l></list></block></block></script></block><block s="doSetBlockAttribute"><l><option>category</option></l><block var="getter"/><block var="category"/></block><block s="doSetBlockAttribute"><l><option>slots</option></l><block var="getter"/><block s="reportNewList"><list><l>3</l></list></block></block><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="item"/></block><l>2</l></block><script><block s="doSetBlockAttribute"><l><option>type</option></l><block var="getter"/><l>3</l></block></script></block></script></block></script></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><comment x="0" y="0" w="268.6666666666667" collapsed="false">Throw an error.&#xD;&#xD;Makes a red halo appear around the script that runs it,&#xD;with the input text shown in a speech balloon next to&#xD;the script, just like any Snap! error.&#xD;&#xD;This is useful to put in the second script of SAFELY TRY&#xD;after some other instructions to undo the partial work of&#xD;the first script.</comment><header></header><code></code><translations>pt:lança o erro _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="delete struct %&apos;name&apos; with %&apos;elements&apos; in category %&apos;category&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%s">0</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>labels</l></list></block><block s="doSetVar"><l>labels</l><block s="reportNewList"><list><block s="reportJoinWords"><list><l>new </l><block var="name"/><l> </l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><l/></block><l> _ </l></list></block></autolambda><list></list></block><block var="elements"/></block></list></block></list></block></block><block s="doForEach"><l>item</l><block var="elements"/><script><block s="doAddToList"><block s="reportJoinWords"><list><l>set </l><block s="reportListItem"><l>2</l><block var="item"/></block><l> of </l><block var="name"/><l> _ to _</l></list></block><block var="labels"/></block><block s="doAddToList"><block s="reportJoinWords"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l> of </l><block var="name"/><l> _</l></list></block><block var="labels"/></block></script></block><block s="doForEach"><l>block</l><block s="reportGet"><l><option>blocks</option></l></block><script><block s="doIf"><block s="reportAnd"><block s="reportOr"><block s="reportEquals"><block var="category"/><l>0</l></block><block s="reportOr"><block s="reportEquals"><block var="category"/><block s="reportBlockAttribute"><l><option>category</option></l><block var="block"/></block></block><block s="reportEquals"><block var="category"/><block s="reportListItem"><block s="reportBlockAttribute"><l><option>category</option></l><block var="block"/></block><block s="reportGet"><l><option>categories</option></l></block></block></block></block></block><block s="reportListContainsItem"><block var="labels"/><block s="reportBlockAttribute"><l><option>label</option></l><block var="block"/></block></block></block><script><block s="doDeleteBlock"><block var="block"/></block></script></block></script></block></script></block></script></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="1016"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAACtUlEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Bo3+AAF/RMkcAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="1017"></list></costumes><sounds><list struct="atomic" id="1018"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="1023"><costumes><list struct="atomic" id="1024"></list></costumes><sounds><list struct="atomic" id="1025"></list></sounds><blocks></blocks><variables></variables><scripts></scripts></sprite></sprites></stage><variables></variables></scene></scenes></project><media name="structs" app="Snap! 7, https://snap.berkeley.edu" version="2"></media></snapdata>