<snapdata remixID="14405882"><project name="Codification" app="Snap! 10.7.2, https://snap.berkeley.edu" version="2"><notes>This project features a FizzBuzz script and a recursive factorial block that you can run and debug inside Snap! and also compile into various text-based programming languages:&#xD;&#xD;   * JavaScript&#xD;   * Smalltalk&#xD;   * Python&#xD;   * C&#xD;&#xD;Enjoy!&#xD;-Jens</notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Codification" palette="single"><notes>This project features a FizzBuzz script and a recursive factorial block that you can run and debug inside Snap! and also compile into various text-based programming languages:&#xD;&#xD;   * JavaScript&#xD;   * Smalltalk&#xD;   * Python&#xD;   * C&#xD;&#xD;Enjoy!&#xD;-Jens</notes><hidden> forward turn turnLeft setHeading doFaceTowards gotoXY doGotoObject doGlide changeXPosition setXPosition changeYPosition setYPosition bounceOffEdge xPosition yPosition direction doSwitchToCostume doWearNextCostume getCostumeIdx doThinkFor doThink changeEffect setEffect clearEffects changeScale setScale getScale show hide goToLayer goBack playSound doPlaySoundUntilDone doStopAllSounds doRest doPlayNote doChangeTempo doSetTempo getTempo clear down up setColor changePenColorDimension setPenColorDimension changeSize setSize doStamp reportTouchingObject reportTouchingColor reportColorIsTouchingColor colorFiltered reportStackSize reportFrameCount doAsk reportLastAnswer getLastAnswer reportMouseX reportMouseY reportMouseDown reportKeyPressed reportRelationTo doResetTimer reportTimer getTimer reportAttributeOf reportURL reportGlobalFlag doSetGlobalFlag reportCONS reportCDR reportListContainsItem doDeleteFromList doInsertInList doReplaceInList reifyReporter reifyPredicate reportRound reportMonadic reportRandom reportLetter reportUnicode reportIsA reportVariadicIsIdentical receiveGo receiveKey receiveInteraction receiveMessage doBroadcast doBroadcastAndWait getLastMessage doWarp doWait doWaitUntil doForever doRepeat doUntil doStopThis fork evaluate doCallCC reportCallCC receiveOnClone createClone removeClone getPosition reportGetImageAttribute reportNewCostumeStretched reportNewCostume getEffect reportShown doPlaySoundAtRate reportGetSoundAttribute reportNewSoundFromSamples doSetInstrument changeVolume setVolume getVolume changePan setPan getPan playFreq stopFreq getPenDown getPenAttribute floodFill write reportPenTrailsAsCostume doPasteOn doCutFrom receiveCondition reportIfElse doTellTo reportAskFor newClone doPauseAll doSwitchToScene doDefineBlock doDeleteBlock doSetBlockAttribute reportBlockAttribute reportEnvironment reportMousePosition reportAspect reportDate reportGet reportObject reportAudio reportVideo doSetVideoTransparency reportVariadicSum reportVariadicProduct reportPower reportTextSplit reportUnicodeAsLetter doDeleteAttr reportNumbers reportListIndex reportListIsEmpty reportMap reportKeep reportFindFirst reportCombine doForEach reportConcatenatedLists reportReshape reportCrossproduct doRun reportPipe reifyScript reportJoinWords receiveUserEdit reportJSFunction doIf reportVariadicLessThan reportVariadicEquals reportVariadicGreaterThan reportVariadicAnd reportVariadicOr doMapCodeOrHeader doMapValueCode doMapListCode reportNewCostumeSkewed reportAtan2 reportVariadicMin reportVariadicMax receiveSlotEvent doSetSlot receiveConditionEvent</hidden><headers></headers><code><string>&quot;&lt;#1&gt;&quot;</string><tempvars_delim>,</tempvars_delim><delim>,</delim><doSayFor>print &lt;#1&gt;</doSayFor><bubble>print &lt;#1&gt;</bubble><doIf>if &lt;#1&gt;:&#xD;    &lt;#2&gt;</doIf><doIfElse>if &lt;#1&gt;:&#xD;    &lt;#2&gt;&#xD;else: &#xD;    &lt;#3&gt;</doIfElse><reportSum>(&lt;#1&gt; + &lt;#2&gt;)</reportSum><reportDifference>(&lt;#1&gt; - &lt;#2&gt;)</reportDifference><reportProduct>(&lt;#1&gt; * &lt;#2&gt;)</reportProduct><reportQuotient>(&lt;#1&gt; / &lt;#2&gt;)</reportQuotient><reportModulus>(&lt;#1&gt; % &lt;#2&gt;)</reportModulus><reportLessThan>(&lt;#1&gt; &lt; &lt;#2&gt;)</reportLessThan><reportEquals>(&lt;#1&gt; == &lt;#2&gt;)</reportEquals><reportGreaterThan>(&lt;#1&gt; &gt; &lt;#2&gt;)</reportGreaterThan><reportAnd>(&lt;#1&gt; &amp; &lt;#2&gt;)</reportAnd><reportOr>(&lt;#1&gt; | &lt;#2&gt;)</reportOr><reportNot>(!&lt;#1&gt;)</reportNot><reportTrue>True</reportTrue><reportFalse>False</reportFalse><reportJoinWords>(&lt;#1&gt;, &lt;#2&gt;)</reportJoinWords><reportStringSize>(&lt;#1&gt;.length)</reportStringSize><doSetVar>&lt;#1&gt; = &lt;#2&gt;</doSetVar><doChangeVar>&lt;#1&gt; += 1</doChangeVar><doShowVar>print &lt;#1&gt;</doShowVar><doDeclareVariables>#variables &lt;#1&gt;</doDeclareVariables><reportNewList>[&lt;#1&gt;]</reportNewList><reportListLength>len(&lt;#1&gt;)</reportListLength><reportListItem>&lt;#2&gt;[&lt;#1&gt; - 1]</reportListItem><doAddToList>&lt;#2&gt;.append(&lt;#1&gt;)</doAddToList><doReport>return &lt;#1&gt;</doReport><reportVariadicSum>(&lt;#1&gt; + &lt;#2&gt;)</reportVariadicSum><reportVariadicProduct>(&lt;#1&gt; * &lt;#2&gt;)</reportVariadicProduct><reportBoolean>&lt;#1&gt;</reportBoolean><reportListAttribute>len(&lt;#1&gt;)</reportListAttribute><doFor>for &lt;#1&gt; in range(&lt;#2&gt;, &lt;#3&gt;):&#xD;    &lt;#4&gt;</doFor></code><blocks><block-definition s="while %&apos;test&apos; %&apos;action&apos;" type="command" category="control"><header></header><code>while &lt;#1&gt;:&#xD;    &lt;#2&gt;&#xD;</code><translations></translations><inputs><input type="%boolUE"></input><input type="%ca"></input></inputs><script><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><custom-block s="while %boolUE %ca"><block s="evaluate"><block var="test"/><list></list></block><block var="action"/></custom-block></script><list></list></block></script></block-definition><block-definition s="new List" type="reporter" category="lists"><header></header><code>[]</code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block-definition><block-definition s="is %&apos;thing&apos; a Number?" type="predicate" category="operators"><header></header><code>isinstance(&lt;#1&gt;, (int, long, float, complex))</code><translations></translations><inputs><input type="%s">5</input></inputs><script><block s="doReport"><block s="reportIsA"><block var="thing"/><l><option>number</option></l></block></block></script></block-definition><block-definition s="main %&apos;script&apos;" type="command" category="control"><header></header><code>&lt;#1&gt;</code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doRun"><block var="script"/><list></list></block></script></block-definition><block-definition s="%&apos;num&apos; as text" type="reporter" category="operators"><header></header><code>str(&lt;#1&gt;)</code><translations></translations><inputs><input type="%n">5</input></inputs><script><block s="doReport"><block var="num"/></block></script></block-definition><block-definition s="map to JavaScript" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doMapValueCode"><l><option>String</option></l><l>&apos;&lt;#1&gt;&apos;</l></block><block s="doMapListCode"><l><option>delimiter</option></l><l><option>variables</option></l><l>,</l></block><block s="doMapListCode"><l><option>delimiter</option></l><l><option>collection</option></l><l>,</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doSayFor"><l>Hello!</l><l>2</l></block></script><list></list></block><l><option>code</option></l><l>console.log(&lt;#1&gt;);</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="bubble"><l>Hello!</l></block></script><list></list></block><l><option>code</option></l><l>console.log(&lt;#1&gt;);</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="main %cs"><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="if %b %cs"><l/><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>if (&lt;#1&gt;) {&#xD;    &lt;#2&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doIfElse"><l/><script></script><script></script></block></script><list></list></block><l><option>code</option></l><l>if (&lt;#1&gt;) {&#xD;    &lt;#2&gt;&#xD;} else {&#xD;    &lt;#3&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block><l><option>code</option></l><l>return &lt;#1&gt;;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="while %boolUE %ca"><l/><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>while (&lt;#1&gt;) {&#xD;    &lt;#2&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doFor"><l>i</l><l>1</l><l>10</l><script></script></block></script><list></list></block><l><option>code</option></l><l>for (var &lt;#1&gt; = &lt;#2&gt;; &lt;#1&gt; &lt;= &lt;#3&gt;; &lt;#1&gt; += 1) {&#xD;    &lt;#4&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n + %n"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; + &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportDifference"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; - &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n x %n"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; * &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; / &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportModulus"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; % &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s &lt; %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &lt; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s = %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; === &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s &gt; %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &gt; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%b and %b"><l/><l/></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &amp;&amp; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%b or %b"><l/><l/></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; || &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><l><option>code</option></l><l>(!&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><block s="reportBoolean"><l><bool>true</bool></l></block></autolambda><list></list></block><l><option>code</option></l><l>&lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="join %txt %txt"><l>hello</l><l>World</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; + &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportTextAttribute"><l><option>length</option></l><l>world</l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt;.length)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="is %s a Number?"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(typeof &lt;#1&gt; === &apos;number&apos;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n as text"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt;.toString())</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="! %n"><l>5</l></custom-block></autolambda><list></list></block><l><option>header</option></l><l>function fact(n) {&#xD;    &lt;body&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="! %n"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>fact(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="fib %n"><l>7</l></custom-block></autolambda><list></list></block><l><option>header</option></l><l>function fib(n) {&#xD;    &lt;body&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="fib %n"><l>7</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>fib(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doSetVar"><l></l><l>0</l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt; = &lt;#2&gt;;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doChangeVar"><l></l><l>1</l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt; += 1;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doShowVar"><l></l></block></script><list></list></block><l><option>code</option></l><l>console.log(&lt;#1&gt;);</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doHideVar"><l></l></block></script><list></list></block><l><option>code</option></l><l></l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>a</l></list></block></script><list></list></block><l><option>code</option></l><l>var &lt;#1&gt;;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><l><option>code</option></l><l>[&lt;#1&gt;]</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="new List"></custom-block></autolambda><list></list></block><l><option>code</option></l><l>[]</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l><option>length</option></l><l/></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt;.length)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><l><option>code</option></l><l>&lt;#2&gt;[&lt;#1&gt; - 1]</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doAddToList"><l>thing</l><l/></block></script><list></list></block><l><option>code</option></l><l>&lt;#2&gt;.push(&lt;#1&gt;);</l></block></script></block-definition><block-definition s="map to Smalltalk" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doMapValueCode"><l><option>String</option></l><l>&apos;&lt;#1&gt;&apos;</l></block><block s="doMapListCode"><l><option>delimiter</option></l><l><option>variables</option></l><l> </l></block><block s="doMapListCode"><l><option>delimiter</option></l><l><option>collection</option></l><l> </l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doSayFor"><l>Hello!</l><l>2</l></block></script><list></list></block><l><option>code</option></l><l>Transcript&#xD;    show: &lt;#1&gt;;&#xD;    cr.</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="bubble"><l>Hello!</l></block></script><list></list></block><l><option>code</option></l><l>Transcript&#xD;    show: &lt;#1&gt;;&#xD;    cr.</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="main %cs"><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="if %b %cs"><l/><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt; ifTrue: [&#xD;    &lt;#2&gt;].</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doIfElse"><l/><script></script><script></script></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt;&#xD;    ifTrue: [&#xD;        &lt;#2&gt;]&#xD;    ifFalse: [&#xD;        &lt;#3&gt;].</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="while %boolUE %ca"><l/><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>[&lt;#1&gt;] whileTrue: [&#xD;    &lt;#2&gt;].</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doFor"><l>i</l><l>1</l><l>10</l><script></script></block></script><list></list></block><l><option>code</option></l><l>(&lt;#2&gt; to: &lt;#3&gt;) do: [:&lt;#1&gt; |&#xD;    &lt;#4&gt;].</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n + %n"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; + &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportDifference"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; - &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n x %n"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; * &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; / &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportModulus"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; \\ &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s &lt; %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &lt; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s = %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; = &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s &gt; %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &gt; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%b and %b"><l/><l/></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; and: [&lt;#2&gt;])</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%b or %b"><l/><l/></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; or: [&lt;#2&gt;])</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; not)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><block s="reportBoolean"><l><bool>true</bool></l></block></autolambda><list></list></block><l><option>code</option></l><l>&lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="join %txt %txt"><l>hello</l><l>World</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt;, &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportTextAttribute"><l><option>length</option></l><l>world</l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; size)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="is %s a Number?"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; isNumber)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n as text"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; printString)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="! %n"><l>5</l></custom-block></autolambda><list></list></block><l><option>header</option></l><l>| fact |&#xD;fact := [:n| &lt;body&gt;].</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="! %n"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(fact value: &lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="fib %n"><l>7</l></custom-block></autolambda><list></list></block><l><option>header</option></l><l>| fib |&#xD;fib := [:n | &lt;body&gt;].</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="fib %n"><l>7</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(fib value: &lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doSetVar"><l></l><l>0</l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt; := &lt;#2&gt;.</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doChangeVar"><l></l><l>1</l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt; := &lt;#1&gt; + 1.</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doShowVar"><l></l></block></script><list></list></block><l><option>code</option></l><l>Transcript&#xD;    show: &lt;#1&gt;;&#xD;    cr.</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doHideVar"><l></l></block></script><list></list></block><l><option>code</option></l><l></l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>a</l></list></block></script><list></list></block><l><option>code</option></l><l>| &lt;#1&gt; |</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><l><option>code</option></l><l>#(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="new List"></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(OrderedCollection new)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l><option>length</option></l><l/></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; size)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#2&gt; at: &lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doAddToList"><l>thing</l><l/></block></script><list></list></block><l><option>code</option></l><l>&lt;#2&gt; add: &lt;#1&gt;.</l></block></script></block-definition><block-definition s="map to Python" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doMapValueCode"><l><option>String</option></l><l>"&lt;#1&gt;"</l></block><block s="doMapListCode"><l><option>delimiter</option></l><l><option>variables</option></l><l>,</l></block><block s="doMapListCode"><l><option>delimiter</option></l><l><option>collection</option></l><l>,</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doSayFor"><l>Hello!</l><l>2</l></block></script><list></list></block><l><option>code</option></l><l>print(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="bubble"><l>Hello!</l></block></script><list></list></block><l><option>code</option></l><l>print&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="main %cs"><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="if %b %cs"><l/><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>if &lt;#1&gt;:&#xD;    &lt;#2&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doIfElse"><l/><script></script><script></script></block></script><list></list></block><l><option>code</option></l><l>if &lt;#1&gt;:&#xD;    &lt;#2&gt;&#xD;else: &#xD;    &lt;#3&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block><l><option>code</option></l><l>return &lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="while %boolUE %ca"><l/><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>while &lt;#1&gt;:&#xD;    &lt;#2&gt;&#xD;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doFor"><l>i</l><l>1</l><l>10</l><script></script></block></script><list></list></block><l><option>code</option></l><l>for &lt;#1&gt; in range(&lt;#2&gt;, &lt;#3&gt;):&#xD;    &lt;#4&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n + %n"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; + &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportDifference"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; - &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n x %n"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; * &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; / &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportModulus"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; % &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s &lt; %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &lt; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s = %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; == &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s &gt; %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &gt; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%b and %b"><l/><l/></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &amp; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%b or %b"><l/><l/></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; | &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><l><option>code</option></l><l>(!&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><block s="reportBoolean"><l><bool>true</bool></l></block></autolambda><list></list></block><l><option>code</option></l><l>&lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="join %txt %txt"><l>hello</l><l>World</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; + &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportTextAttribute"><l><option>length</option></l><l>world</l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt;.length)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="is %s a Number?"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>isinstance(&lt;#1&gt;, (int, long, float, complex))</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n as text"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>str(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="! %n"><l>5</l></custom-block></autolambda><list></list></block><l><option>header</option></l><l>def fact(n):&#xD;    &lt;body&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="! %n"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>fact(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="fib %n"><l>7</l></custom-block></autolambda><list></list></block><l><option>header</option></l><l>def fib(n):&#xD;    &lt;body&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="fib %n"><l>7</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>fib(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doSetVar"><l></l><l>0</l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt; = &lt;#2&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doChangeVar"><l></l><l>1</l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt; += 1</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doShowVar"><l></l></block></script><list></list></block><l><option>code</option></l><l>print &lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doHideVar"><l></l></block></script><list></list></block><l><option>code</option></l><l></l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>a</l></list></block></script><list></list></block><l><option>code</option></l><l>#variables &lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><l><option>code</option></l><l>[&lt;#1&gt;]</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="new List"></custom-block></autolambda><list></list></block><l><option>code</option></l><l>[]</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l><option>length</option></l><l/></block></autolambda><list></list></block><l><option>code</option></l><l>len(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><l><option>code</option></l><l>&lt;#2&gt;[&lt;#1&gt; - 1]</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doAddToList"><l>thing</l><l/></block></script><list></list></block><l><option>code</option></l><l>&lt;#2&gt;.append(&lt;#1&gt;)</l></block></script></block-definition><block-definition s="map to C" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doMapValueCode"><l><option>String</option></l><l>"&lt;#1&gt;"</l></block><block s="doMapListCode"><l><option>delimiter</option></l><l><option>variables</option></l><l>,</l></block><block s="doMapListCode"><l><option>delimiter</option></l><l><option>collection</option></l><l>,</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doSayFor"><l>Hello!</l><l>2</l></block></script><list></list></block><l><option>code</option></l><l>printf(&lt;#1&gt;);&#xD;printf("\n");</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="bubble"><l>Hello!</l></block></script><list></list></block><l><option>code</option></l><l>printf(&lt;#1&gt;);&#xD;printf("\n");</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="main %cs"><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>#include &lt;stdio.h&gt;&#xD;int main()&#xD;{&#xD;    &lt;#1&gt;&#xD;    return(0);&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="if %b %cs"><l/><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>if &lt;#1&gt;&#xD;{&#xD;    &lt;#2&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doIfElse"><l/><script></script><script></script></block></script><list></list></block><l><option>code</option></l><l>if &lt;#1&gt;&#xD;{&#xD;    &lt;#2&gt;&#xD;}&#xD;else &#xD;{&#xD;    &lt;#3&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block><l><option>code</option></l><l>return &lt;#1&gt;;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><custom-block s="while %boolUE %ca"><l/><script></script></custom-block></script><list></list></block><l><option>code</option></l><l>while &lt;#1&gt;&#xD;{&#xD;    &lt;#2&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doFor"><l>i</l><l>1</l><l>10</l><script></script></block></script><list></list></block><l><option>code</option></l><l>int &lt;#1&gt;; for (&lt;#1&gt; = &lt;#2&gt;; &lt;#1&gt; &lt;= &lt;#3&gt;; &lt;#1&gt;++)&#xD;{&#xD;    &lt;#4&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n + %n"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; + &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportDifference"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; - &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n x %n"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; * &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; / &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><block s="reportModulus"><l></l><l></l></block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; % &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s &lt; %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &lt; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s = %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; == &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%s &gt; %s"><l></l><l></l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &gt; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%b and %b"><l/><l/></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; &amp;&amp; &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><custom-block s="%b or %b"><l/><l/></custom-block></autolambda><list></list></block><l><option>code</option></l><l>(&lt;#1&gt; || &lt;#2&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><l><option>code</option></l><l>(!&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="%n as text"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>"%d", &lt;#1&gt;</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="! %n"><l>5</l></custom-block></autolambda><list></list></block><l><option>header</option></l><l>int fact(int n)&#xD;{&#xD;    &lt;body&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="! %n"><l>5</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>fact(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="fib %n"><l>7</l></custom-block></autolambda><list></list></block><l><option>header</option></l><l>int fib(int n)&#xD;{&#xD;    &lt;body&gt;&#xD;}</l></block><block s="doMapCodeOrHeader"><block s="reifyReporter"><autolambda><custom-block s="fib %n"><l>7</l></custom-block></autolambda><list></list></block><l><option>code</option></l><l>fib(&lt;#1&gt;)</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doSetVar"><l></l><l>0</l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt; = &lt;#2&gt;;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doChangeVar"><l></l><l>1</l></block></script><list></list></block><l><option>code</option></l><l>&lt;#1&gt;++;</l></block><block s="doMapCodeOrHeader"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>a</l></list></block></script><list></list></block><l><option>code</option></l><l>int &lt;#1&gt;;</l></block></script></block-definition><block-definition s="join %&apos;a&apos; %&apos;b&apos;" type="reporter" category="operators"><header></header><code>(&lt;#1&gt; + &lt;#2&gt;)</code><translations></translations><inputs><input type="%txt">hello</input><input type="%txt">World</input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="! %&apos;n&apos;" type="reporter" category="operators"><header>def fact(n):&#xD;    &lt;body&gt;</header><code>fact(&lt;#1&gt;)</code><translations></translations><inputs><input type="%n">5</input></inputs><script><block s="doIfElse"><custom-block s="%s = %s"><block var="n"/><l>0</l></custom-block><script><block s="doReport"><l>1</l></block></script><script><block s="doReport"><custom-block s="%n x %n"><block var="n"/><custom-block s="! %n"><block s="reportDifference"><block var="n"/><l>1</l></block></custom-block></custom-block></block></script></block></script></block-definition><block-definition s="fib %&apos;n&apos;" type="reporter" category="operators"><header>def fib(n):&#xD;    &lt;body&gt;</header><code>fib(&lt;#1&gt;)</code><translations></translations><inputs><input type="%n">7</input></inputs><script><block s="doIfElse"><custom-block s="%s &lt; %s"><block var="n"/><l>2</l></custom-block><script><block s="doReport"><block var="n"/></block></script><script><block s="doReport"><custom-block s="%n + %n"><custom-block s="fib %n"><block s="reportDifference"><block var="n"/><l>1</l></block></custom-block><custom-block s="fib %n"><block s="reportDifference"><block var="n"/><l>2</l></block></custom-block></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; + %&apos;b&apos;" type="reporter" category="operators"><header></header><code>(&lt;#1&gt; + &lt;#2&gt;)</code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; x %&apos;b&apos;" type="reporter" category="operators"><header></header><code>(&lt;#1&gt; * &lt;#2&gt;)</code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%cs"></input></inputs><script><block s="doIf"><block var="test"/><script><block s="doRun"><block var="action"/><list></list></block></script><list></list></block></script></block-definition><block-definition s="%&apos;a&apos; &lt; %&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="reportVariadicLessThan"><list><block var="a"/><block var="b"/></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="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &gt; %&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="reportVariadicGreaterThan"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; and %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%b"></input></inputs><script><block s="doReport"><block s="reportVariadicAnd"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; or %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%b"></input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition></blocks><primitives></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="true" inheritance="true" sublistIDs="false" id="1894"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAL30lEQVR4Ae3QMQEAAADCoPVPbQwfiEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGPgMDI3+AAEeFvcCAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="1895"></list></costumes><sounds><list struct="atomic" id="1896"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Alonzo" idx="1" x="-7.6852226720648105" y="-28.234817813765233" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="1901"><costumes><list id="1902"><item><ref mediaID="Codification_Alonzo_cst_alonzo (vector)"></ref></item></list></costumes><sounds><list struct="atomic" id="1903"></list></sounds><blocks></blocks><variables></variables><scripts><comment x="20" y="20" w="408" collapsed="false">drag any example script into this ring:</comment><script x="20" y="74"><block s="doSetVar"><l>script</l><block s="reifyScript"><script></script><list></list></block></block></script><comment x="20" y="115" w="408" collapsed="false">FizzBuzz scripts for any language mapping:</comment><script x="20" y="169"><block s="doSetVar"><l>script</l><block s="reifyScript"><script></script><list></list></block></block></script><script x="20" y="210"><custom-block s="main %cs"><script><block s="doFor"><l>i</l><l>1</l><l>100</l><script><block s="doIfElse"><custom-block s="%b and %b"><custom-block s="%s = %s"><block s="reportModulus"><block var="i"/><l>5</l></block><l>0</l></custom-block><custom-block s="%s = %s"><block s="reportModulus"><block var="i"/><l>3</l></block><l>0</l></custom-block></custom-block><script><block s="doSayFor"><l>FizzBuzz</l><l>0.5</l></block></script><script><block s="doIfElse"><custom-block s="%s = %s"><block s="reportModulus"><block var="i"/><l>3</l></block><l>0</l></custom-block><script><block s="doSayFor"><l>Fizz</l><l>0.5</l></block></script><script><block s="doIfElse"><custom-block s="%s = %s"><block s="reportModulus"><block var="i"/><l>5</l></block><l>0</l></custom-block><script><block s="doSayFor"><l>Buzz</l><l>0.5</l></block></script><script><block s="doSayFor"><custom-block s="%n as text"><block var="i"/></custom-block><l>0.5</l></block></script></block></script></block></script></block></script></block></script><comment w="80" collapsed="false">a FizzBuzz version that compiles to any mappings in this project: JavaScript, Python, Smalltalk and C</comment></custom-block></script><script x="20" y="549.5"><block s="doSetVar"><l>script</l><block s="reifyScript"><script></script><list></list></block></block></script><script x="20" y="590.5"><custom-block s="main %cs"><script><block s="doDeclareVariables"><list><l>i</l></list></block><block s="doSetVar"><l>i</l><l>1</l></block><custom-block s="while %boolUE %ca"><custom-block s="%s &lt; %s"><block var="i"/><l>100</l></custom-block><script><block s="doIfElse"><custom-block s="%s = %s"><block s="reportModulus"><block var="i"/><l>3</l></block><l>0</l></custom-block><script><block s="doIfElse"><custom-block s="%s = %s"><block s="reportModulus"><block var="i"/><l>5</l></block><l>0</l></custom-block><script><block s="doSayFor"><l>FizzBuzz</l><l>0.5</l></block></script><script><block s="doSayFor"><l>Fizz</l><l>0.5</l></block></script></block></script><script><block s="doIfElse"><custom-block s="%s = %s"><block s="reportModulus"><block var="i"/><l>5</l></block><l>0</l></custom-block><script><block s="doSayFor"><l>Buzz</l><l>0.5</l></block></script><script><block s="doSayFor"><custom-block s="%n as text"><block var="i"/></custom-block><l>0.5</l></block></script></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></custom-block></script><comment w="80" collapsed="false">another, slightly different variant of FizzBuzz, which also compiles to any language mapping in this project</comment></custom-block></script><comment x="20" y="995.8333333333333" w="408" collapsed="false">recursive factorial script with function header for any language mapping:</comment><script x="20" y="1049.8333333333328"><block s="doSetVar"><l>script</l><block s="reifyScript"><script></script><list></list></block></block></script><script x="20" y="1090.8333333333328"><custom-block s="main %cs"><script><block s="doFor"><l>i</l><l>1</l><l>10</l><script><block s="doSayFor"><custom-block s="%n as text"><custom-block s="! %n"><block var="i"/></custom-block></custom-block><l>0.5</l></block></script></block></script></custom-block></script><script x="20" y="1200.3333333333328"><block s="doSetVar"><l>script</l><block s="reifyScript"><script></script><list></list></block></block></script><script x="20" y="1241.3333333333328"><custom-block s="main %cs"><script><block s="doFor"><l>i</l><l>1</l><l>20</l><script><block s="doSayFor"><custom-block s="%n as text"><custom-block s="fib %n"><block var="i"/></custom-block></custom-block><l>0.5</l></block></script></block></script></custom-block></script><comment x="20" y="1350.8333333333328" w="408" collapsed="false">other example scripts for any language except C:</comment><script x="20" y="1404.8333333333328"><block s="doSetVar"><l>script</l><block s="reifyScript"><script></script><list></list></block></block></script><script x="20" y="1445.8333333333328"><block s="doDeclareVariables"><list><l>data</l><l>i</l><l>result</l></list><comment w="80" collapsed="false">filter a list for numbers. Try this example in any language mapping except C</comment></block><block s="doSetVar"><l>data</l><block s="reportNewList"><list><l>1</l><l>2</l><l>foo</l><l>4</l><l>bar</l><l>6</l><l>7</l><block s="reportNewList"><list><l>garply</l><block s="reportBoolean"><l><bool>false</bool></l></block><l>42</l></list></block><l>qux</l><l>10</l></list></block></block><block s="doSetVar"><l>result</l><custom-block s="new List"></custom-block></block><block s="doSetVar"><l>i</l><l>0</l></block><custom-block s="while %boolUE %ca"><custom-block s="%s &lt; %s"><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></custom-block><script><block s="doChangeVar"><l>i</l><l>1</l></block><block s="doIf"><custom-block s="is %s a Number?"><block s="reportListItem"><block var="i"/><block var="data"/></block></custom-block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="data"/></block><block var="result"/></block></script><list></list></block></script></custom-block><block s="bubble"><custom-block s="%n as text"><block var="result"/></custom-block></block></script><script x="20" y="1738.9999999999995"><block s="doSetVar"><l>script</l><block s="reifyScript"><script></script><list></list></block></block></script><script x="20" y="1779.9999999999995"><block s="doFor"><l>i</l><l>1</l><l>5</l><script><block s="doFor"><l>k</l><l>1</l><l>5</l><script><block s="doSayFor"><custom-block s="join %txt %txt"><custom-block s="%n as text"><block var="i"/></custom-block><custom-block s="%n as text"><block var="k"/></custom-block></custom-block><l>0.5</l></block></script></block></script><comment w="80" collapsed="false">nested FOR block example. Try this one for any language mapping except C</comment></block></script><comment x="20" y="1897.4999999999995" w="408" collapsed="false">try the current script by executing it:</comment><script x="20" y="1951.499999999999"><block s="doHideVar"><l>code</l></block><block s="doHideVar"><l>script</l></block><block s="doRun"><block var="script"/><list></list></block></script><comment x="20" y="2035.333333333334" w="408" collapsed="false">convert to various textual languages. Use the watcher&apos;s context menu to export:</comment><script x="20" y="2089.333333333334"><block s="doHideVar"><l>code</l><comment w="90" collapsed="true">Snap!</comment></block><block s="doShowVar"><l>script</l></block></script><script x="20" y="2151.333333333334"><custom-block s="map to JavaScript"><comment w="80" collapsed="true">JavaScript</comment></custom-block><block s="doHideVar"><l>script</l></block><block s="doShowVar"><l>code</l></block><block s="doSetVar"><l>code</l><block s="reportMappedCode"><block var="script"/></block></block></script><script x="20" y="2257.000000000001"><custom-block s="map to Smalltalk"><comment w="90" collapsed="true">Smalltalk</comment></custom-block><block s="doHideVar"><l>script</l></block><block s="doShowVar"><l>code</l></block><block s="doSetVar"><l>code</l><block s="reportMappedCode"><block var="script"/></block></block></script><script x="20" y="2362.666666666667"><custom-block s="map to Python"><comment w="90" collapsed="true">Python</comment></custom-block><block s="doHideVar"><l>script</l></block><block s="doShowVar"><l>code</l></block><block s="doSetVar"><l>code</l><block s="reportMappedCode"><block var="script"/></block></block></script><script x="20" y="2468.333333333334"><custom-block s="map to C"><comment w="90" collapsed="true">C</comment></custom-block><block s="doHideVar"><l>script</l></block><block s="doShowVar"><l>code</l></block><block s="doSetVar"><l>code</l><block s="reportMappedCode"><block var="script"/></block></block></script></scripts></sprite><watcher var="script" style="normal" x="1.5" y="1" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="code"><l>for i in range(1, 20):&#xD;    if (((i % 5) == 0) &amp; ((i % 3) == 0)):&#xD;        print "FizzBuzz"&#xD;    else: &#xD;        if ((i % 3) == 0):&#xD;            print "Fizz"&#xD;        else: &#xD;            if ((i % 5) == 0):&#xD;                print "Buzz"&#xD;            else: &#xD;                print str(i)</l></variable><variable name="script"><context id="2273"><inputs></inputs><variables></variables><script><custom-block s="main %cs"><script><block s="doFor"><l>i</l><l>1</l><l>20</l><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="i"/><l>5</l></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="i"/><l>3</l></block><l>0</l></list></block></list></block><script><block s="doSayFor"><l>FizzBuzz</l><l>0.5</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="i"/><l>3</l></block><l>0</l></list></block><script><block s="doSayFor"><l>Fizz</l><l>0.5</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="i"/><l>5</l></block><l>0</l></list></block><script><block s="doSayFor"><l>Buzz</l><l>0.5</l></block></script><script><block s="doSayFor"><custom-block s="%n as text"><block var="i"/></custom-block><l>0.5</l></block></script></block></script></block></script></block></script></block></script><comment w="80" collapsed="false">a FizzBuzz version that compiles to any mappings in this project: JavaScript, Python, Smalltalk and C</comment></custom-block></script><receiver><ref id="1901"></ref></receiver><origin><ref id="1901"></ref></origin><context id="2354"><inputs></inputs><variables></variables><receiver><ref id="1901"></ref></receiver><origin><ref id="1901"></ref></origin></context></context></variable><variable name="grammar" hidden="true"><l>Python</l></variable></variables></scene></scenes></project><media name="Codification" app="Snap! 10.7.2, https://snap.berkeley.edu" version="2"><costume name="alonzo (vector)" center-x="47.5" center-y="61.5" image="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOTVweCIgaGVpZ2h0PSIxMjNweCIgdmlld0JveD0iMCAwIDk1IDEyMyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOTUgMTIzIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnIGlkPSJJRDAuODMyMzgyOTczNzQ5MTkwNiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMykiPg0KCTxwYXRoIGlkPSJSX0xlZyIgZmlsbD0iI0ZGQzkzRSIgc3Ryb2tlPSIjNjAzODEzIiBzdHJva2Utd2lkdGg9IjMiIGQ9Ik00Ny4zMTYsMTA0LjI1MWMwLTEuMjc2LDAuMzU4LTMuMTA5LDIuMzM4LTMuNTIzDQoJCWMyLjg1Ny0wLjU5OSw2LjEyNiwyLjI5Myw3LjAxNCwzLjE0NmMtMC4wNjUsMC4zMzgsMS4wNDcsNy4xNzMsMS4wNDcsNy43NjVjMCwyLjAwNC0wLjUzNSwyLjA4My0wLjc0MywyLjExNg0KCQljLTEuOTU2LDAuMjg0LTcuMTY5LTUuMTk3LTkuNTYyLTguMzg3QzQ3LjM3NiwxMDUuMTkzLDQ3LjMxNiwxMDQuODA5LDQ3LjMxNiwxMDQuMjUxTDQ3LjMxNiwxMDQuMjUxTDQ3LjMxNiwxMDQuMjUxeiIvPg0KCTxwYXRoIGlkPSJDZW50ZXJfTGVnIiBmaWxsPSIjRkZDOTNFIiBzdHJva2U9IiM2MDM4MTMiIHN0cm9rZS13aWR0aD0iNCIgZD0iTTM5LjM5NCwxMTMuODI3Yy0xLjQxOC0xLjUzOC0xLjYyMS01LjcwNy0xLjYyMS03LjQ4Mg0KCQljMC0wLjc1MiwwLjAzOS0xLjI1MywwLjA0MS0xLjI2OGwwLjAwMi0wLjAzOWMwLDAtMC4wMDQtMC4xNi0wLjAwNC0wLjIxOWMwLTMuMzQxLDMuMDc1LTQuNTAxLDMuNTk3LTQuNjc1DQoJCWMxLjc4MSwwLjAyMSw0Ljg1OCwwLjg2NCw1LjU5MywyLjEzNmMwLjA3NSwwLjEyOCwwLjE0NCwwLjI4OSwwLjE0NCwwLjQ5NWMwLDAuMTgxLTAuMDU0LDAuNC0wLjIwOCwwLjY2Ng0KCQljLTAuMDcxLDAuMTIxLTEuMzM1LDMuMTA5LTIuNDA1LDUuNGwtMC43NjUsMi4xMTljLTAuNTcyLDEuODUxLTEuNDczLDMuNzAzLTIuNDUyLDMuNzAzDQoJCUM0MC41NDIsMTE0LjY2NiwzOS45MTQsMTE0LjM5MiwzOS4zOTQsMTEzLjgyN0wzOS4zOTQsMTEzLjgyN0wzOS4zOTQsMTEzLjgyN3oiLz4NCgk8cGF0aCBpZD0iUl9Bcm0iIGZpbGw9IiNGRkM5M0UiIHN0cm9rZT0iIzYwMzgxMyIgc3Ryb2tlLXdpZHRoPSIzIiBkPSJNNzkuNTA1LDg5LjYxMWwtMS4zODMtMi40NA0KCQljLTEuNTE2LTIuNjM3LTMuMjY1LTUuMDUyLTQuODA3LTcuMTc3Yy0xLjk4My0yLjczOC0zLjcxLTUuNTcxLTQuMjgxLTcuNTcyYy0wLjIwNy0wLjcyMS0wLjEwNy0xLjQxLDAuMTg5LTEuNzkNCgkJYzAuMDI4LTAuMTAyLDAuMzI3LTAuMjY1LDAuNTM5LTAuMzA5YzIuNTQxLTAuNTUsMTMuMDYsNS40OTEsMTUuNjg1LDguNzE5YzMuODQ1LDQuNzI3LDUuMzgyLDExLjM1OCw0LjUyNCwxNC42OTkNCgkJYy0wLjM1MiwxLjM2NC0xLjEzOSwyLjMzMi0yLjI3OCwyLjc5M0M4NC43ODIsOTcuNzEsODIuODY3LDk1LjU4Niw3OS41MDUsODkuNjExTDc5LjUwNSw4OS42MTFMNzkuNTA1LDg5LjYxMXoiLz4NCgk8cGF0aCBpZD0iQm9keSIgZmlsbD0iI0ZGQzkzRSIgc3Ryb2tlPSIjNjAzODEzIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iDQoJCU0zOC4wOTcsNDMuMDA3YzAsMC0zLjExLTkuNjI5LTYuMDExLTEzLjU5OGMtMS43Mi0yLjc5LTQuMi02LjI2Ny03LjQ3Ny02LjA0OWMtNC4wNjcsMC4xMDYtNi4yODMsNC45ODQtMTAuMjk5LDYuNTQ1DQoJCWMtMi42MDIsMS4wMDMtOS40NjEsMi4zMTQtOC40MDYsMGMyLjgxMy01LjgxNCwxNC4wNC05LjA3OSwxNi44NDQtMTYuMzc5YzEuMjYzLTMuMzA1LTQuMjcyLTcuMjUyLTcuOTQxLTcuOTQyDQoJCWMtMi43NDUtMC41MDEtNC4wMzksNC4yMTctNi41NDUsNS42MTVjLTEuMTUxLDAuNjQzLTQuMzM5LDEuMzA1LTMuNzUzLDBDNi42MjksNi44MzYsOS4wNTIsMS4xNzIsMTMuODQ1LTAuNDk1DQoJCWMzLjYxNy0xLjI1NCw3LjU2MiwyLjQ3MywxMC4yOTksNS4xMTljOC40NjQsOC4xODUsMTUuNjE3LDE3LjkzOCwyMy4yNCwyNi42NWw0LjUxMSw1LjEzOWMwLDAsMy4yMjUsMy45NTYsNS42OTIsNi41NjYNCgkJYzAuMDQ0LDAuMDQ1LDIuMzc4LTAuMzE3LDMuOTg5LTEuNjU3YzEuMzE0LTEuMDk2LDEuMTQxLTIuMzIzLDEuNTU5LTQuOTAyYzAuMzg0LTIuMzcxLDAuODAyLTYuNjU5LDIuMDcyLTYuNjgxDQoJCWMxLjkxNi0wLjAyOSwzLjE3Niw3Ljg2OCwzLjY2NiwxMC43OTNsMC4yNzIsMS41NjVjMC42NDMsMy40NzksMy45OTksMTMuOTQsNC4xNDQsMTQuMzg0YzAuMDQ2LDAuMTA4LDAuMTIxLDAuMjQ5LDAuMTIxLDAuMjQ5DQoJCWwwLjAyNywwLjA1NmwwLjAzOCwwLjA0N2M1LjE4NSw2LjQyOSw5LjAzOCwxNC4yMjMsOS4wMzgsMjEuNTI0YzAsMTUuNDY0LTEzLjU1NSwyNi4zNDktMzEuNjk3LDI2LjM0OQ0KCQljLTMuMzY1LDAtNi42NTctMC40NzMtOS43ODMtMS4zOThsLTAuMTY4LTAuMDQ5YzAsMC00LjkwOC0wLjQxMi0xMS4xODYsNy44NGMtMS4yNiwxLjY1Ny0xLjE0NywzLjIwMS0yLjkyMiwyLjcyNg0KCQljLTAuNTkyLTAuMTU4LTEuMDI2LTAuNTkzLTEuMzgyLTEuMzgzYy0wLjg0OC0xLjg4NC0wLjIyMi02LjM0NywwLjgxNi05LjE5N2wwLjE2My0wLjQ0OGwtMC4zNzUtMC4yOTcNCgkJYy0wLjA5Mi0wLjA3My0xMC4yNzQtNy40OTMtMTEuMzAzLTE4LjEyNWMtMC44OTYtOS4yNjgsMy43ODUtMTQuNTQ1LDUuNzI4LTE3LjQ0NGwxLjExNy0xLjg1OA0KCQljMS40MDktMy40MjgtMS4yNDMtOC4xOTUtMy41ODMtMTIuNDAxYy0xLjM5Ny0yLjUxMS0zLjY1Mi02LjE3Ni0zLjE0My03LjAzOGMwLjU2NS0wLjk1NCwyLjU4NSwwLjA2Miw0LjYyNSwxLjAzNA0KCQljMS42NTQsMC43OTEsMy4yNDUsMS45MDgsNC4zNSwxLjE3MWMxLjE0OS0wLjc2NSwwLjM5Ni0yLjY4Ni0wLjY0OS01LjM0NmMtMC45ODItMi40OTgtMi44NDEtNi40NDMtMi4xMjctOC4wNzINCgkJYzAuMTk3LTAuNDQ3LDAuNTQyLTAuNzYyLDEuMDU1LTAuOTYxYzEuODk3LTAuNzM0LDQuNjA5LDIuNDYxLDYuODA1LDQuOTYxQzMxLjUzMiw0MS40NjksMzQuNTcsNDQuOTI3LDM4LjA5Nyw0My4wMDcNCgkJTDM4LjA5Nyw0My4wMDdMMzguMDk3LDQzLjAwN3oiLz4NCgk8ZyBpZD0iTF9FeWUiPg0KCQk8cGF0aCBpZD0iV2hpdGVfMV8iIGZpbGw9IiNGRkZGRkYiIGQ9Ik00MS4yMjgsNzkuNDg5YzAsMi43ODksMi4yNjMsNS4wNSw1LjA1NCw1LjA1YzIuNzkxLDAsNS4wNTEtMi4yNjEsNS4wNTEtNS4wNQ0KCQkJYzAtMi43OTEtMi4yNjEtNS4wNTYtNS4wNTEtNS4wNTZDNDMuNDksNzQuNDM2LDQxLjIyOCw3Ni42OTgsNDEuMjI4LDc5LjQ4OUw0MS4yMjgsNzkuNDg5TDQxLjIyOCw3OS40ODl6Ii8+DQoJCTxwYXRoIGlkPSJQdXBpbF8xXyIgZmlsbD0iIzYwMzgxMyIgZD0iTTQ2Ljk2MSw3NS43OTZjMC45ODEsMCwxLjg3LDAuMzk4LDIuNTEzLDEuMDQzYzAuNjQ1LDAuNjQzLDEuMDQyLDEuNTMyLDEuMDQyLDIuNTEzDQoJCQljMCwwLjk4MS0wLjM5NywxLjg3LTEuMDQyLDIuNTE0Yy0wLjY0NCwwLjY0NC0xLjUzMiwxLjA0Mi0yLjUxMywxLjA0MnMtMS44Ny0wLjM5OC0yLjUxMy0xLjA0Mg0KCQkJYy0wLjY0NS0wLjY0NC0xLjA0Mi0xLjUzMi0xLjA0Mi0yLjUxNGMwLTAuOTgsMC4zOTgtMS44NywxLjA0Mi0yLjUxM0M0NS4wOTIsNzYuMTk0LDQ1Ljk4LDc1Ljc5Niw0Ni45NjEsNzUuNzk2TDQ2Ljk2MSw3NS43OTZ6Ig0KCQkJLz4NCgk8L2c+DQoJPGcgaWQ9IlJfRXllIj4NCgkJPHBhdGggaWQ9IldoaXRlIiBmaWxsPSIjRkZGRkZGIiBkPSJNNjUuNTY4LDc5LjQ4OWMwLDIuNzg5LDIuMjYyLDUuMDUsNS4wNTQsNS4wNWMyLjc4OCwwLDUuMDUyLTIuMjYxLDUuMDUyLTUuMDUNCgkJCWMwLTIuNzkxLTIuMjYyLTUuMDU2LTUuMDUyLTUuMDU2QzY3LjgzLDc0LjQzNiw2NS41NjgsNzYuNjk4LDY1LjU2OCw3OS40ODlMNjUuNTY4LDc5LjQ4OUw2NS41NjgsNzkuNDg5eiIvPg0KCQk8cGF0aCBpZD0iUHVwaWwiIGZpbGw9IiM2MDM4MTMiIGQ9Ik02Ny43NDUsNzkuMzUyYzAsMS45NjQsMS41OSwzLjU1NSwzLjU1NiwzLjU1NWMxLjk2MywwLDMuNTU2LTEuNTksMy41NTYtMy41NTUNCgkJCWMwLTEuOTYyLTEuNTkzLTMuNTU2LTMuNTU2LTMuNTU2QzY5LjMzNSw3NS43OTYsNjcuNzQ1LDc3LjM4OSw2Ny43NDUsNzkuMzUyTDY3Ljc0NSw3OS4zNTJMNjcuNzQ1LDc5LjM1MnoiLz4NCgk8L2c+DQoJPHBhdGggaWQ9IkxfQXJtIiBmaWxsPSIjRkZDOTNFIiBzdHJva2U9IiM2MDM4MTMiIHN0cm9rZS13aWR0aD0iMyIgZD0iTTYuMzQxLDk4Ljk5NGMtMS4wMzYtMC42NjEtMS42MzMtMS43NTMtMS43MjktMy4xNjENCgkJYy0wLjIzNC0zLjQ0NSwyLjQ5Mi05LjY4Miw3LjEzNC0xMy42MjZjMy4xNy0yLjY5NCwxNC42MTctNi43MDcsMTcuMDE0LTUuNzAzYzAuMTk4LDAuMDgzLDAuNDYzLDAuMjk3LDAuNDcyLDAuNDA0DQoJCWMwLjIyNCwwLjQyNywwLjE5NCwxLjExOS0wLjE0LDEuNzkxYy0wLjkyNywxLjg2NC0zLjE0Miw0LjMzNS01LjU5NCw2LjY2Yy0xLjkwNiwxLjgxNC00LjA2NSwzLjg2My02LjAzNSw2LjE4MWwtMS44MDcsMi4xNDENCgkJQzExLjI1OSw5OC45NDMsOC45ODYsMTAwLjY4NSw2LjM0MSw5OC45OTRMNi4zNDEsOTguOTk0TDYuMzQxLDk4Ljk5NHoiLz4NCgk8cGF0aCBpZD0iTW91dGgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzYwMzgxMyIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Ik02My4xNDgsOTUuMzkxDQoJCWMwLDAtNC41OTksMC4wMDQtNy44MTktMi43NTYiLz4NCjwvZz4NCjwvc3ZnPg0K" mediaID="Codification_Alonzo_cst_alonzo (vector)"/></media></snapdata>