<snapdata remixID="14182618"><project name="U4L2p2-CaesarCipher" app="Snap! 10.4.5, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U4L2p2-CaesarCipher"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Encode %&apos;text&apos; %&apos;shift&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>encodedText</l></list></block><block s="doSetVar"><l>encodedText</l><l></l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><script><block s="doSetVar"><l>encodedText</l><block s="reportJoinWords"><list><block var="encodedText"/><custom-block s="Encode One Character %s %n"><block s="reportLetter"><block var="i"/><block var="text"/></block><block var="shift"/></custom-block></list></block></block></script></custom-block><block s="doReport"><block var="encodedText"/></block></script><scripts><script x="17.599999999999984" y="257.8"><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Encode One Character %s %n"><l></l><block var="shift"/></custom-block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>letter</option></l></block></block></custom-block><comment w="90" collapsed="false">A more clever approach to this problem can be achieved using the higher order function (HOF) map.  Courtesy of Christopher Archie of teacher cohort 17-18. </comment></block></script></scripts></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></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="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="Encode One Character %&apos;char&apos; %&apos;shift&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportVariadicSum"><list><block s="reportUnicode"><block var="char"/></block><block var="shift"/></list></block></block></block></script></block-definition><block-definition s="Encode One Character (TIF A version) %&apos;char&apos; %&apos;shift&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>new character</l></list></block><block s="doSetVar"><l>new character</l><block s="reportVariadicSum"><list><block s="reportUnicode"><block var="char"/></block><block var="shift"/></list></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="new character"/><l>126</l></list></block><script><block s="doChangeVar"><l>new character</l><block s="reportDifference"><l>32</l><l>127</l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="new character"/><l>32</l></list></block><script><block s="doChangeVar"><l>new character</l><block s="reportDifference"><l>127</l><l>32</l></block></block></script><list></list></block><block s="doReport"><block s="reportUnicodeAsLetter"><block var="new character"/></block></block></script></block-definition><block-definition s="Encode (TIF A version) %&apos;text&apos; %&apos;shift&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>encodedText</l></list></block><block s="doSetVar"><l>encodedText</l><l></l></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><script><block s="doSetVar"><l>encodedText</l><block s="reportJoinWords"><list><block var="encodedText"/><custom-block s="Encode One Character (TIF A version) %s %n"><block s="reportLetter"><block var="i"/><block var="text"/></block><block var="shift"/></custom-block></list></block></block></script></custom-block><block s="doReport"><block var="encodedText"/></block></script><scripts><script x="17.599999999999984" y="257.8"><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Encode One Character %s %n"><l></l><block var="shift"/></custom-block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>letter</option></l></block></block></custom-block><comment w="90" collapsed="false">A more clever approach to this problem can be achieved using the higher order function (HOF) map.  Courtesy of Christopher Archie of teacher cohort 17-18. </comment></block></script></scripts></block-definition><block-definition s="initials from name %&apos;name&apos;" type="reporter" category="operators"><comment x="0" y="0" w="79.33333333333333" collapsed="true">4.2.2 ITIT 5</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="is %s between %s and %s ?"><block s="reportUnicode"><l></l></block><block s="reportUnicode"><l>A</l></block><block s="reportUnicode"><l>Z</l></block></custom-block></autolambda><list></list></block><block s="reportTextSplit"><block var="name"/><l><option>letter</option></l></block></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block></block><comment w="238" collapsed="false">Version using UNICODE block.&#xD;Treats the name as just a string of characters and searches for capital letters in it.  So if the name were &quot;BeAuTy and jOy of computiNg&quot; the block would report BATON. </comment></block></script><scripts><script x="14.666666666666666" y="190.88888888888889"><block s="doReport"><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportLetter"><l>1</l><l></l></block></autolambda><list></list></block><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportTextSplit"><l></l><l>-</l></block></autolambda><list></list></block><block s="reportTextSplit"><block var="name"/><l><option>word</option></l></block></block><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><l/><l/></list></block></autolambda><list></list></block></block></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block><comment w="243.33333333333334" collapsed="false">Version using an additional SPLIT block.&#xD;This version respects the abstraction that text is made up of words, not characters.  It introduces hyphens as another word delimiter (in addition to spaces).  It has an unfortunately hairy structure of higher order function calls. because the split by hyphens has to be done in each word separately (that&apos;s the inner MAP) and then the result has to be flattened (the APPEND).  The ideal solution would split into words based on spaces and hyphens together, but Snap! doesn&apos;t have that capability (yet).</comment></block></block></script></scripts></block-definition><block-definition s="%&apos;a&apos; ≤ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="a"/><block var="b"/></list></block><block s="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≥ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="a"/><block var="b"/></list></block><block s="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block></list></block></block></script></block-definition><block-definition s="is %&apos;mid&apos; between %&apos;low&apos; and %&apos;high&apos; ?" type="predicate" 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="reportVariadicAnd"><list><custom-block s="%s ≥ %s"><block var="mid"/><block var="low"/></custom-block><custom-block s="%s ≤ %s"><block var="mid"/><block var="high"/></custom-block></list></block></block></script><scripts><comment x="14.666666666666666" y="88.8" w="304.6666666666667" collapsed="false">As the lab says, it&apos;s okay to use &quot;&gt;&quot; and &quot;&lt;&quot; instead of &quot;≥&quot; and &quot;≤.&quot;</comment></scripts></block-definition></blocks><primitives><block-definition s="letter %&apos;idx&apos; of %&apos;text&apos;" type="reporter" category="operators" selector="reportLetter" primitive="reportLetter"><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1=1&#xD;last=$_last&#xD;random=$_random</options></input><input type="%s">world</input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>reportLetter</l></block><block s="doReport"><block s="reportHyperZip"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></autolambda><list></list></block><block var="idx"/><l>0</l><block var="text"/><l>0</l></block></block></script></block-definition></primitives><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="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="423"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="424"></list></costumes><sounds><list struct="atomic" id="425"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="150" y="50" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="430"><costumes><list struct="atomic" id="431"></list></costumes><sounds><list struct="atomic" id="432"></list></sounds><blocks></blocks><variables></variables><scripts><script x="42.000000000000036" y="20"><block s="receiveGo"></block><block s="doSetVar"><l>inputText</l><l></l></block><block s="doSetVar"><l>shiftValue</l><l></l></block><block s="doSetVar"><l>outputText</l><l></l></block><block s="gotoXY"><l>150</l><l>50</l></block><block s="doAsk"><l>Enter your text:</l></block><block s="doSetVar"><l>inputText</l><block s="getLastAnswer"></block></block><block s="doUntil"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doAsk"><l>What is the Shift Value for the Ceasar Cipher?  Enter a whole number.</l></block><block s="doSetVar"><l>shiftValue</l><block s="getLastAnswer"></block></block></script></block><block s="doAsk"><l>Encipher or Decipher?</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block s="getLastAnswer"></block></block><l>D</l></list></block><script><block s="doSetVar"><l>shiftValue</l><block s="reportDifference"><l>0</l><block var="shiftValue"/></block></block></script><list></list></block><block s="doSetVar"><l>outputText</l><block s="reportNewList"><list><custom-block s="Encode %txt %n"><block var="inputText"/><block var="shiftValue"/></custom-block></list></block></block></script><script x="30.33333333333339" y="462.0000090000003"><custom-block s="Encode One Character (TIF A version) %s %n"><l></l><l></l></custom-block></script><script x="30.54069210416664" y="437.3333363333336"><custom-block s="Encode (TIF A version) %txt %n"><block var="inputText"/><block var="shiftValue"/></custom-block></script><script x="41.000000000000036" y="396.5555555555558"><custom-block s="initials from name %s"><l></l></custom-block></script></scripts></sprite><watcher var="shiftValue" style="normal" x="1" y="50.999999999999986" color="243,118,29"/><watcher var="inputText" style="normal" x="1.3333333333332575" y="6.611111111111114" color="243,118,29"/><watcher var="outputText" style="normal" x="8.361111111111086" y="98.61111161111114" color="243,118,29"/></sprites></stage><variables><variable name="outputText"><l></l></variable><variable name="inputText"><l></l></variable><variable name="shiftValue"><l></l></variable></variables></scene></scenes></project><media name="U4L2p2-CaesarCipher" app="Snap! 10.4.5, https://snap.berkeley.edu" version="2"></media></snapdata>