<snapdata remixID="9292701"><project name="cypher" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><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" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,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0nmbfFoYnuvlvqT9Ijeq4zqva81359xqbSPueQIG4J53zLX4FRBIB7xlbgAGpeN/OgPbPtnlBZm/O69jd30Fdm8XL6NAbqbOTvH1H/nslZvAG17GXSn6r1zAAPxXfoA175UXqLcKeZKq1+oDOu39nsy/O09MczqlmV1HBOq3CnmCrs809Z/y1GeUepU+L2nj8lR98zrSDNV8lQn02B9hvcqOg+r8FQnk9e2SPAEfkc55tzSr/pTtN3lleX3S63ujaR0UyKD7m4T6ft4vodGCfGaqtxv1KtpEgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhnBP4fbGktKW5s9rkAAAAASUVORK5CYII=</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="111.6474609375" y="2.842170943040401e-14" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Untitled" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC" id="10"/></item></list></costumes><sounds><list struct="atomic" id="11"></list></sounds><blocks></blocks><variables></variables><scripts><script x="292" y="10"><block s="receiveGo"></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="clear"></block><block s="doAsk"><l>Encode or decode?</l></block><block s="doIfElse"><block s="reportEquals"><block s="getLastAnswer"></block><l>encode</l></block><script><block s="doBroadcast"><l>encode</l></block></script><script><block s="doBroadcast"><l>decode</l></block></script></block></script><script x="32" y="92.66666666666669"><custom-block s="shift letter: %s by shift %s"><l>Z</l><l>2</l></custom-block></script><script x="28" y="121"><custom-block s="shift word: %s by shift %s"><l>ZELLO</l><l>1</l></custom-block></script><script x="30" y="151"><custom-block s="shift sentence: %s by shift %s"><l>Zello</l><l>4</l></custom-block></script><script x="27" y="222"><custom-block s="decode letter: %s by shift %s"><l>a</l><l>2</l></custom-block></script><script x="26" y="251"><custom-block s="decode word: %s by shift %s"><l></l><l></l></custom-block></script><script x="25" y="281"><custom-block s="decode sentence: %s by shift %s"><l></l><l></l></custom-block></script><script x="27" y="33"><custom-block s="decode sentence: %s by shift %s"><l>Hi Guys</l><l>1</l></custom-block></script><script x="589.8154316875" y="545.000003"><block var="output"/></script><script x="572.8154316875" y="359.000003"><block var="output"/></script><script x="274" y="232"><block s="receiveMessage"><l>encode</l></block><custom-block s="what and how will you encode"></custom-block><custom-block s="shift sentence: %s by shift %s"><block var="encoder"/><block var="encode shift"/></custom-block><block s="gotoXY"><l>-180</l><l>0</l></block><block s="write"><block s="reportJoinWords"><list><l>Your new message is </l><block var="output list"/></list></block><l>18</l></block></script><script x="198" y="404"><block s="receiveMessage"><l>decode</l></block><custom-block s="what and how will you decode"></custom-block><custom-block s="decode sentence: %s by shift %s"><block var="decoder"/><block var="decode shift"/></custom-block><block s="gotoXY"><l>-180</l><l>0</l></block><block s="write"><block s="reportJoinWords"><list><l>Your new message is </l><block var="output list"/></list></block><l>18</l></block></script></scripts></sprite><watcher var="input" style="normal" x="9.166666666667311" y="9.166666666666657" color="243,118,29" hidden="true"/><watcher var="output" style="normal" x="9.166666666667311" y="28.416668499999957" color="243,118,29" hidden="true"/><watcher var="input list" style="normal" x="9.166666666667311" y="47.666670333333315" color="243,118,29" hidden="true"/><watcher var="output list" style="normal" x="9.166666666667311" y="132.91667216666661" color="243,118,29" hidden="true"/><watcher var="input list 2" style="normal" x="9.166666666667311" y="218.16667399999983" color="243,118,29" hidden="true"/><watcher var="encoder" style="normal" x="9.166666666667311" y="303.41667583333316" color="243,118,29" hidden="true"/><watcher var="encode shift" style="normal" x="9.166666666667311" y="310.74999816666644" color="243,118,29" hidden="true"/><watcher var="decoder" style="normal" x="9.166666666667311" y="310.74999816666644" color="243,118,29" hidden="true"/><watcher var="decode shift" style="normal" x="9.166666666667311" y="310.74999816666644" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="shift letter: %&apos;letter&apos; by shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>64</l></block><block s="reportLessThan"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>91</l></block></block><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></block></block></script><script><block s="doIfElse"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>96</l></block><block s="reportLessThan"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>123</l></block></block><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></block></block></script><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportDifference"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>26</l></block></block></block></script></block></script></block></script><scripts><script x="656.7148467500001" y="232.000005"><block var="shift"/></script><script x="662.71484975" y="196.66667566666655"><block var="shift"/></script><script x="551.6416025624999" y="241.00000300000005"><block var="shift"/></script><script x="626.04297275" y="105.66667166666656"><block s="reportSum"><l></l><l>26</l></block></script><script x="584.04297475" y="151.66667566666655"><block s="reportUnicode"><block var="letter"/></block></script></scripts></block-definition><block-definition s="shift word: %&apos;word&apos; by shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>input</l><block var="word"/></block><block s="doSetVar"><l>input list</l><custom-block s="word $arrowRight list %txt"><block var="input"/></custom-block></block><block s="doSetVar"><l>output list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>letter</l><block var="input list"/><script><block s="doAddToList"><custom-block s="shift letter: %s by shift %s"><block var="letter"/><block var="shift"/></custom-block><block var="output list"/></block></script></block><block s="doSetVar"><l>output</l><block s="reportJoinWords"><list><block var="output list"/></list></block></block><block s="doReport"><block var="output"/></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="doWarp"><script><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="string"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportSum"><l>0</l><l>0</l></block></block></block></script></block><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></block-definition><block-definition s="all but first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="223.000001" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the first word, with one space between words and no spaces at the beginning or end. (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a primeira palavra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>bf</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bf</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportGreaterThan"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><script><block s="doSetVar"><l>bf</l><block s="reportJoinWords"><list><block var="bf"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block var="bf"/></block></script></block></script></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="doWarp"><script><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="string"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportSum"><l>0</l><l>0</l></block></block></block></script></block><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></block-definition><block-definition s="all but last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="211.99999999999997" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the last word, with one space between words and no spaces at the beginning or end.  (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a última palavra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>bl</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bl</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportStringSize"><block var="sentence"/></block></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="index"/><l>1</l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportLessThan"><block var="index"/><l>1</l></block><script><block s="doSetVar"><l>bl</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="bl"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doReport"><block var="bl"/></block></script></block></script></block-definition><block-definition s="first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="236" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the first word, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>first</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>first</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block></script></block><block s="doReport"><block var="first"/></block></script></block></script></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations>pt:o último caractere de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportLetter"><block s="reportStringSize"><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="262" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the last word of the input, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a última palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>last</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>last</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportStringSize"><block var="sentence"/></block></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportJoinWords"><list><l>empty </l><l>sentence</l></list></block></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block></script></block><block s="doReport"><block var="last"/></block></script></block></script></block-definition><block-definition s="empty word? %&apos;word&apos;" type="predicate" category="operators"><comment x="0" y="0" w="208" collapsed="false">Takes a text string as input, and reports TRUE if the string has no characters in it of any kind, otherwise false.</comment><header></header><code></code><translations>pt:a palavra _ está vazia&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportStringSize"><block var="word"/></block><l>0</l></block></block></script></block-definition><block-definition s="empty sentence? %&apos;sentence&apos;" type="predicate" category="operators"><comment x="0" y="0" w="221" collapsed="false">Takes a text string as input, and reports TRUE if the input contains no characters other than spaces (therefore, no words when the string is considered as a sentence), otherwise FALSE.</comment><header></header><code></code><translations>pt:a frase _ está vazia&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></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;pt:uma frase com as palavras _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="words"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></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></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;pt:uma frase com as palavras em _&#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;pt:uma lista com as palavras da frase _&#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="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="146.42857142857144" collapsed="false">report a list in which each item is one letter from the input word</comment><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;pt:uma lista com os caracteres da palavra _&#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="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><comment x="0" y="0" w="158.57142857142858" collapsed="false">join all the items of the input list&#xD;into a single word, and report it</comment><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;pt:uma palavra com os caracteres em _&#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="decode letter: %&apos;letter&apos; by shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>64</l></block><block s="reportLessThan"><block s="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>91</l></block></block><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></block></block></script><script><block s="doIfElse"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>96</l></block><block s="reportLessThan"><block s="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>123</l></block></block><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></block></block></script><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportSum"><block s="reportDifference"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block><l>26</l></block></block></block></script></block></script></block></script><scripts><script x="248.000002" y="379.0000159999999"><block s="reportUnicode"><block var="letter"/></block></script><script x="91.437501" y="357.00000300000005"><block s="reportGreaterThan"><l>91</l><l></l></block></script><script x="163.437501" y="349.00000300000005"><block s="reportGreaterThan"><l></l><l>123</l></block></script><script x="302.999999" y="488.00000700000004"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></script><script x="294.000001" y="409.0000059999999"><block s="reportSum"><block s="reportUnicode"><block var="letter"/></block><block var="shift"/></block></script><script x="178" y="491.0000039999998"><block s="reportDifference"><l></l><l>26</l></block></script><script x="79.95702825000001" y="414.99999999999994"><block s="doReport"><block s="reportUnicodeAsLetter"><l></l></block></block></script><script x="25" y="435.99999999999994"><block s="doIf"><l/><script></script></block><block s="doIf"><l/><script></script></block></script></scripts></block-definition><block-definition s="decode word: %&apos;word&apos; by shift %&apos;shift&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>input</l><block var="word"/></block><block s="doSetVar"><l>input list</l><custom-block s="word $arrowRight list %txt"><block var="input"/></custom-block></block><block s="doSetVar"><l>output list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>letter</l><block var="input list"/><script><block s="doAddToList"><custom-block s="decode letter: %s by shift %s"><block var="letter"/><block var="shift"/></custom-block><block var="output list"/></block></script></block><block s="doSetVar"><l>output</l><block s="reportJoinWords"><list><block var="output list"/></list></block></block><block s="doReport"><block var="output"/></block></script></block-definition><block-definition s="what and how will you encode" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAsk"><l>What message would you like to encode?</l></block><block s="doSetVar"><l>encoder</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>What would you like your shift to be?</l></block><block s="doSetVar"><l>encode shift</l><block s="getLastAnswer"></block></block></script></block-definition><block-definition s="shift sentence: %&apos;sentence&apos; by shift %&apos;shift&apos;" type="command" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>input</l><block var="sentence"/></block><block s="doSetVar"><l>input list</l><custom-block s="word $arrowRight list %txt"><block var="input"/></custom-block></block><block s="doSetVar"><l>output list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="input list"/><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l> </l></block><script><block s="doAddToList"><block var="item"/><block var="output list"/></block></script><script><block s="doAddToList"><custom-block s="shift letter: %s by shift %s"><block var="item"/><block var="shift"/></custom-block><block var="output list"/></block></script></block></script></block><block s="doReport"><custom-block s="list $arrowRight word %l"><block var="output list"/></custom-block></block></script><scripts><script x="39" y="313.00000000000017"><block s="doSetVar"><l>input</l><block var="sentence"/></block><block s="doSetVar"><l>input list</l><custom-block s="sentence $arrowRight list %txt"><block var="input"/></custom-block></block><block s="doSetVar"><l>output list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="input list 2"/><script><block s="doIfElse"><l/><script></script><script><block s="doAddToList"><l></l><block var="output list"/></block></script></block></script></block><block s="doSetVar"><l>output</l><block s="reportJoinWords"><list><block var="output list"/></list></block></block><block s="doReport"><block var="output"/></block></script><script x="293" y="333.00000000000017"><block s="doSetVar"><l>input list 2</l><custom-block s="word $arrowRight list %txt"><block var="input"/></custom-block></block></script><script x="444.5498056874999" y="286.00000100000005"><block var="scentence"/></script></scripts></block-definition><block-definition s="decode sentence: %&apos;scentence&apos; by shift %&apos;shift&apos;" type="command" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>input</l><block var="scentence"/></block><block s="doSetVar"><l>input list</l><custom-block s="word $arrowRight list %txt"><block var="input"/></custom-block></block><block s="doSetVar"><l>output list</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="input list"/><script><block s="doIfElse"><block s="reportEquals"><block var="item"/><l> </l></block><script><block s="doAddToList"><block var="item"/><block var="output list"/></block></script><script><block s="doAddToList"><custom-block s="decode letter: %s by shift %s"><block var="item"/><block var="shift"/></custom-block><block var="output list"/></block></script></block></script></block><block s="doReport"><custom-block s="list $arrowRight word %l"><block var="output list"/></custom-block></block></script><scripts><script x="387.9951181874999" y="411.00000100000005"><block var="output"/></script><script x="182" y="350.99999999999994"><block s="doSetVar"><l>input list</l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></script><script x="213" y="319.99999999999994"><block s="doSetVar"><l>output</l><block s="reportJoinWords"><list><block var="output list"/></list></block></block></script><script x="165.6640655000001" y="401.8333363333333"><custom-block s="shift letter: %s by shift %s"><block var="item"/><block var="shift"/></custom-block></script><script x="57.929688499999884" y="378.00000100000005"><block var="input list 2"/></script><script x="101.92968849999988" y="405.00000100000005"><block var="input"/></script></scripts></block-definition><block-definition s="what and how will you decode" type="command" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAsk"><l>What message would you like to decode?</l></block><block s="doSetVar"><l>decoder</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>What would you like your shift to be?</l></block><block s="doSetVar"><l>decode shift</l><block s="getLastAnswer"></block></block></script></block-definition></blocks><variables><variable name="input"><l>Jk Iwau</l></variable><variable name="output"><l>JkIwau</l></variable><variable name="input list"><list struct="atomic" id="1432">J,k, ,I,w,a,u</list></variable><variable name="output list"><list struct="atomic" id="1433">H,i, ,G,u,y,s</list></variable><variable name="input list 2"><list struct="atomic" id="1434">H,i, ,G,u,y,s</list></variable><variable name="encoder"><l>Hi Guys</l></variable><variable name="encode shift"><l>2</l></variable><variable name="decoder"><l>Jk Iwau</l></variable><variable name="decode shift"><l>2</l></variable></variables></project><media name="cypher" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>