<snapdata remixID="11342059"><project name="U3L3-TicTacToe-v2" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U3L3-TicTacToe-v2"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><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="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></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="reportGreaterThan"><block var="i"/><block var="end"/></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="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="errorObsolete"></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></script><scripts><script x="229.00000300000002" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="makeBoard" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><l>Empty</l></block><block s="show"></block><block s="setEffect"><l><option>ghost</option></l><l>30</l><comment w="78" collapsed="true">3.3.3 TIF B</comment></block><block s="setScale"><l>95</l><comment w="190" collapsed="true">Oops costumes are a bit too big.</comment></block><block s="doSetVar"><l>position number</l><l>1</l><comment w="53.333333333333336" collapsed="true">3.3.1.4</comment></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><l>3</l><script><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><l>3</l><script><block s="forward"><l>50</l></block><block s="createClone"><l><option>myself</option></l></block><block s="doChangeVar"><l>position number</l><l>1</l><comment w="53.333333333333336" collapsed="true">3.3.1.4</comment></block></script></custom-block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></custom-block><block s="hide"></block></script><scripts><script x="168.5234375" y="314.2999999999999"><block s="errorObsolete"></block></script><script x="222.8798828125" y="194.30000000000007"><block s="errorObsolete"></block></script><script x="69" y="322.2999999999999"><block s="gotoXY"><block var="i"/><block s="reportDifference"><l>100</l><block var="j"/></block></block></script></scripts></block-definition><block-definition s="possible winning triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>7</l><l>8</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l><l>8</l></list></block><block s="reportNewList"><list><l>3</l><l>6</l><l>9</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l><l>9</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="status of triple %&apos;triple&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block var="triple"/></block></block></script></block-definition><block-definition s="status of all winning triples" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="status of triple %l"><l/></custom-block></autolambda><list></list></block><custom-block s="possible winning triples"></custom-block></block></block></script></block-definition><block-definition s="won? %&apos;who&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><custom-block s="status of all winning triples"></custom-block><block s="reportNewList"><list><block var="who"/><block var="who"/><block var="who"/></list></block></block></block></script></block-definition><block-definition s="tied?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block><l></l></block></block></script></block-definition><block-definition s="draw win line" type="command" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doDeclareVariables"><list><l>line</l></list></block><block s="doIf"><block s="reportOr"><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="status of all winning triples"></custom-block></block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block><block s="reportEquals"><block s="reportListItem"><block var="i"/><custom-block s="status of all winning triples"></custom-block></block><block s="reportNewList"><list><l>O</l><l>O</l><l>O</l></list></block></block></block><script><block s="doSetVar"><l>line</l><block s="reportListItem"><block var="i"/><block var="win lines"/></block></block><block s="up"></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block var="line"/><comment w="137.33333333333334" collapsed="false">This is why each line in WIN LINES is a list of points, each of which is a list of x,y coordinates:  It allows us to use the endpoints, as points, in the GO TO block.</comment></block></block><block s="down"></block><block s="doGotoObject"><block s="reportListItem"><l>2</l><block var="line"/></block></block><block s="up"></block></script></block></script></block></script><scripts><comment x="174" y="6.666666666666667" w="244" collapsed="false">I&apos;m kind of bummed that I didn&apos;t find a beautiful one-line solution using FIND FIRST, but it just gives the value it finds, not the position in the list, which is what we need to find the line endpoints in WIN LINES. So it&apos;s a plain old fashioned FOR loop.</comment></scripts></block-definition><block-definition s="move in this square" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block var="X&apos;s turn?"/><script><block s="doSwitchToCostume"><l>X</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>X</l></block><block s="doIfElse"><custom-block s="won? %s"><l>X</l></custom-block><script><block s="bubble"><l>X won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doBroadcastAndWait"><custom-block s="Omove"></custom-block><list></list></block></script></block></script><script><block s="doSwitchToCostume"><l>O</l></block><block s="doReplaceInList"><block var="position number"/><block var="board"/><l>O</l></block><block s="doIf"><custom-block s="won? %s"><l>O</l></custom-block><script><block s="bubble"><l>O won!</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doTellTo"><l>Sprite</l><block s="reifyScript"><script><custom-block s="draw win line"></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportNot"><block var="X&apos;s turn?"/></block></block><block s="doIf"><block s="reportAnd"><block var="playing"/><custom-block s="tied?"></custom-block></block><script><block s="bubble"><l>It&apos;s a tie.</l></block><block s="goToLayer"><l><option>front</option></l></block></script></block><block s="doDeclareVariables"><list><l>available squares</l></list></block><block s="doSetVar"><l>available squares</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block><block s="doIf"><block s="reportAnd"><block var="playing"/><block s="reportEquals"><block s="reportListAttribute"><l><option>length</option></l><block var="available squares"/></block><l>1</l></block></block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="available squares"/></block><block var="board"/><l>X</l></block><block s="doIf"><block s="reportNot"><custom-block s="won? %s"><l>X</l></custom-block></block><script><block s="bubble"><l>It&apos;s a tie.</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="Omove" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l><option>any</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="board"/></block></block></block></script></block-definition><block-definition s="best empty square" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><script></script><list></list></block><block s="reportNewList"><list><l>1</l><l>3</l><l>5</l><l>7</l><l>9</l></list></block></block></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="573"><pentrails>data:image/png;base64,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3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgICHAA3ZEECBAgQECA7QABAgQIEAgI/B+DkMqlBIxX4QAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="574"></list></costumes><sounds><list struct="atomic" id="575"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Square" idx="1" x="-100" y="-100" heading="90" scale="0.95" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="580"><costumes><list id="581"><item><ref mediaID="Square_cst_Empty"></ref></item><item><ref mediaID="Square_cst_X"></ref></item><item><ref mediaID="Square_cst_O"></ref></item></list></costumes><sounds><list struct="atomic" id="582"></list></sounds><blocks></blocks><variables><variable name="position number"><l>10</l></variable></variables><scripts><script x="15" y="16.166666666666714"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l></l><block var="board"/></block></autolambda><list></list></block><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></block></script><script x="15" y="60.00000000000006"><custom-block s="status of triple %l"><l/></custom-block></script><script x="15" y="90.00000000000006"><block s="reportEquals"><custom-block s="status of triple %l"><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list></block></custom-block><block s="reportNewList"><list><l>X</l><l>X</l><l>X</l></list></block></block></script><script x="15" y="131.00000000000006"><custom-block s="status of all winning triples"></custom-block></script><script x="15" y="160.83333333333337"><custom-block s="won? %s"><l></l></custom-block></script><script x="15" y="193.83333333333337"><custom-block s="tied?"></custom-block></script><script x="15" y="223.66666666666669"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportAnd"><block var="playing"/><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block></block><script><custom-block s="move in this square"></custom-block></script></block></script><script x="15" y="332.33333333333337"><block s="receiveGo"></block><block s="clear"></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>board</l><block s="reportNumbers"><l>1</l><l>9</l></block></block><block s="doSetVar"><l>playing</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="gotoXY"><l>-100</l><l>50</l></block><custom-block s="makeBoard"></custom-block></script><script x="15" y="627.5"><custom-block s="Omove"></custom-block></script><script x="15" y="657.3333333333334"><block s="doSetVar"><l>win lines</l><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>50</l></list></block><block s="reportNewList"><list><l>100</l><l>50</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>0</l></list></block><block s="reportNewList"><list><l>100</l><l>0</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>-50</l></list></block><block s="reportNewList"><list><l>100</l><l>-50</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-50</l><l>100</l></list></block><block s="reportNewList"><list><l>-50</l><l>-100</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>100</l></list></block><block s="reportNewList"><list><l>0</l><l>-100</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>50</l><l>100</l></list></block><block s="reportNewList"><list><l>50</l><l>-100</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>100</l></list></block><block s="reportNewList"><list><l>100</l><l>-100</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>-100</l><l>-100</l></list></block><block s="reportNewList"><list><l>100</l><l>100</l></list></block></list></block></list></block></block></script><script x="15" y="862.3333333333334"><custom-block s="draw win line"></custom-block></script><script x="15" y="898.1666666666666"><custom-block s="makeBoard"></custom-block></script><script x="318" y="511.1666666666665"><custom-block s="Omove"></custom-block></script><script x="668" y="10"><block s="receiveMessage"><l><option>any message</option></l><list><l>message</l></list></block><block s="doIf"><block s="reportEquals"><block var="message"/><block var="position number"/></block><script><custom-block s="move in this square"></custom-block></script></block></script><script x="227.8857421875" y="165.5"><custom-block s="possible winning triples"></custom-block></script><script x="627" y="346.0000000000001"><custom-block s="best empty square"></custom-block></script><script x="432" y="363.0000000000001"><block s="doIfElse"><l/><script></script><script></script></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="100" y="-100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,32,0,1" pen="tip" id="819"><costumes><list struct="atomic" id="820"></list></costumes><sounds><list struct="atomic" id="821"></list></sounds><blocks></blocks><variables></variables><scripts><script x="27" y="23.66666666666667"><block s="receiveGo"></block><block s="hide"></block><block s="setSize"><l>5</l></block><block s="setColor"><color>255,32,0,1</color></block></script><script x="303" y="255.56666666666672"><block s="clear"></block></script></scripts></sprite><watcher scope="Square" var="position number" style="normal" x="9.999999999999773" y="298.50000200000005" color="243,118,29" hidden="true"/><watcher var="playing" style="normal" x="9.999999999999773" y="325.49999600000007" color="243,118,29" hidden="true"/><watcher var="win lines" style="normal" x="9.999999999999773" y="177.99999799999998" color="243,118,29" hidden="true"/><watcher var="board" style="normal" x="0" y="27" color="243,118,29" extX="80" extY="70"/><watcher var="message" style="normal" x="10" y="10" color="243,118,29"/></sprites></stage><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="board"><list struct="atomic" id="838">X,2,3,O,X,6,O,8,X</list></variable><variable name="playing"><bool>false</bool></variable><variable name="win lines"><list id="839"><item><list id="840"><item><list struct="atomic" id="841">-100,50</list></item><item><list struct="atomic" id="842">100,50</list></item></list></item><item><list id="843"><item><list struct="atomic" id="844">-100,0</list></item><item><list struct="atomic" id="845">100,0</list></item></list></item><item><list id="846"><item><list struct="atomic" id="847">-100,-50</list></item><item><list struct="atomic" id="848">100,-50</list></item></list></item><item><list id="849"><item><list struct="atomic" id="850">-50,100</list></item><item><list struct="atomic" id="851">-50,-100</list></item></list></item><item><list id="852"><item><list struct="atomic" id="853">0,100</list></item><item><list struct="atomic" id="854">0,-100</list></item></list></item><item><list id="855"><item><list struct="atomic" id="856">50,100</list></item><item><list struct="atomic" id="857">50,-100</list></item></list></item><item><list id="858"><item><list struct="atomic" id="859">-100,100</list></item><item><list struct="atomic" id="860">100,-100</list></item></list></item><item><list id="861"><item><list struct="atomic" id="862">-100,-100</list></item><item><list struct="atomic" id="863">100,100</list></item></list></item></list></variable><variable name="message"><l>0</l></variable></variables></scene></scenes></project><media name="U3L3-TicTacToe-v2" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Empty" center-x="29" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAAAXNSR0IArs4c6QAAAShJREFUaEPtmyEOg0AQRT836A1ag24TBIakFWv2Fr0BFgc4LKdZs6ICgyCpx9AbcIRmG0LS0lbPbj4nmDf/v4xZIgAVgCOAE8L87tECeQZwCZMRt0/ISWuNNE0PPgP3fT8ZYxyC43iH1FpPbdsijmOvIcdxnPI8hzFmC1lVFcqy9DnEdfa6ruF4NkkS0rN8mSSd9KiyrCvryrrK2gCdpJOyGvl3GtaVdWVdZW2ATtJJWY3kCaGTdJJOytoAnaSTshrJO0kn6SSdlLUBOkknZTWSd5JO0kk6KWsDdJJOymok7ySdpJMhOKmUmpumQZIkO494NqMOwzAXRQFrrePYPM+elVLIssxryK7rZmutg/8K6XOAv2Z/JXldHqTvQyQE8HCQof4qsWb2BLkbqAIXp3YbAAAAAElFTkSuQmCC" mediaID="Square_cst_Empty"/><costume name="X" center-x="29" center-y="29" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA6CAYAAAAKjPErAAAAAXNSR0IArs4c6QAAA8NJREFUaEPd271P20AYBvCHVkIMlmDokA2GbgwJeyFBXegE/AWEjSEDqEu2wMYIAwsMwMYGY5cKBsaqAkG2DrBlqCqQGBBSpepxOcs57LN9H3ack1hiB/t373vvmTszguFsEwAeBG0EwCaAKoDakHjfAagAeAHwB8BPgawDaAwJUmZcyMgXz/PQarVGx8bGSmV+fn7G0dERer1eItI/oVar4fz8HBMTTO1ytOXlZZydnQU3Oz09/bvb7X4A8CaSwUllgq6urvpRFO3w8BD39/fY3GS5kZBLS0t9vVEGqAzsdDo+bmtrKxrJg5OTk+AXRRtkqAxcWVkJIqpEsicY+kGHqoAMUCKSJ0VBmeuMbNEtCZgaGQVltWXVLRKaBpgJ6ZemiwuwID0+PvoBLBIqZ1d4DMrZlSpdw1+6urpCo9EoFJoFmDmSAlskVAbW63U/w1QtcySLhMrAarXqA5OexrSRxOYZUV2gdrrmPUZNgFaQriNqCrSGdAXlcJifn8fDw/8/7NOOQeMpRFXFbI5RW0CrkbRZdWXg+Pi4X+Smpqa0niKNqmvcFU0iGgXkNGHy+OgEGTdG+VDPx0JV54THICNoCnSSrqrphccIbTabb5wuIigu4iyS4gJ3d3d+9K6vrwOYDOU5MzMzQRW1FcHckLwQpwA+1EdBeYwpykiy2QY6T9dwTkZB9/b2cHBw4BSYKzIuouGOOD09VRYmrfkj7fKH7i+P+h4jOjs7i9vb277DcQXJxrWdFx75Jomcm5vDzc3NcCLlIiN3gKto5hpJThOiihLIwrO/v6+cXkqVrlHL93woUE0vNoC5Vdc4oEC4hjpP17Rroy6hTpFpgaqIck+G2xUmzRkyK1AF5dhl5dVtTpC6wDB0fX0dx8fHgcsEah0p9gPF3amW75MiQ5gNqFVk1uX7JCSP24BaQ7oAik4whVpB2lgbTYqqCdQYmQfQNKJGyDyBJlBtZBFAXagWksuEXJcRTXf5Pmkcqo5nGaOZkTaX702QWaaXTEgZyPd8+FnSJqgpxjSiqZEuF39NO0FOXa7z8llXdH4q5CAD44pR+O2xRGQZgAK6s7ODjY2NIDEEdHd3N/7dusXFxb5NUBer26apKn8/6u2xhYUFbG9v89T+V0Hb7TZOTk7AfQq2MgAFWIZWKhXxgm8/0vO8v09PT+/LBoyDvn5+KV7P/gzgUzgN1tbWwN4oW2M9Cb/BzL0ngfwKwCsbKOX9/iCSu6PcCv4CYBTAJYBfKX/BIJ/28fXmvhMp/lWCH/Ln2yDfuc69/QO8JTdw9aXwqAAAAABJRU5ErkJggg==" mediaID="Square_cst_X"/><costume name="O" center-x="28" center-y="28" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAYAAACMGIOFAAAAAXNSR0IArs4c6QAABF9JREFUaEPtmos1LEEQhnsiQARsBIgAEbARIAJEsLsRIAI2AkRgNwJEgAgQwdzzzbm1p7bNo7rnsWupc5z7MNPdf/1Vf1dXT+KcGzrn9tzq2jT5D3Kwuhjd6FeCHKVp+uNZTZJk5JwTHPNMpmm6MlGbJARpZt2BfHt7c+/v79msm5ubbmtrq1WHtg5yOp26+/t7N5lM3PPzcymYnZ0dt7+/746OjtzeXnMi3wpImBqNRhm4z8/PKJbW19czsIPBoDbTjYIE0PX1tRsO2W6LTYeoDt2iNxjv7OzMATzGGgN5e3vrLi4uvjEHIBiRMCxbpIQ1f0rOyvMAvLy8dCcnJ8E4GwEJuKurq7nJySkYAFyMkcO8T05rOz8/z8CGWC2QhOfp6WmWe2IwB2DYa8IYG2CaWca+ubkxh280SAAeHBzMKebx8XEGMDZ3ipzCXAAdj8ezR1Dix8dH01zRIGGQPBRDBasEpy6zjI9qi5GfMFplUSD9yZgoRhCqFpf3exyLg0OcGwySHOn3+7NJkHZfdGIWH/IOoctWJXZ3d1eqAcEge72eY2/DDg8P50QnZKF1n0V8Hh4esmEoC19fXwuHDAIJY2wX2NraWga2aZGxgkeMAPf19ZW9wrYCw3lmBsmgsChlWtmg1oXWfU47HWfDZp7TzSD1gOyFErJ1F1r3fdiUPbTI8WaQu7u7sz2xSzWtcoJWW6osKiXfTCAJ0Y2Njdm7Hx8fC8tFH4BlbSaQFm9VebzN31P9vLy8ZFPkRZkJJBu9lFTLIDi+w7ReUFrqSoxnTSA5SchpgHox9mTRFpvkIXU0lpeXfyDF84iO7I/LJDqyPi0+7JOsUZuJSfWQW9ZWZdka/0AK5Vqin56eHP9eJqPVSbGCbW9vf2t9mphcIXUdzl346NzTIKvObotgWJ9xo7cQ3QnI22wXAUzPqYuVvDaMCtdiJnXMVx1QFwFYb3F5mmHKSRbO/iMH1GUSH01A0RHQDFKHxDKFrGVdZpC6PoRZTuFtX7lVhT4Hd7oVYkV1tRkkA2mV5e8MukijKJdDctGB2XwKESC+5xa5nfj917LICmISsDoHECPY7LoCQmxgUQ4NVRoRDJKBCVU5iZOXqG1XrUm/a0gZR8iWzR8MEjbxJEBlSwm5fKmTw6QL3Xu5lqf3C8CqSIoCyUJ9tW07dP0QZQ3WLkU0SCbxkx+gcvVdhzH/Xe49/O54SFu0Fsi80OX/CB8aXnV7QUQL1xL6qxFriAZ3BqpYIVe4gBExkucBiRqzh1kLB8aiaUaU+I1iRIYTh3UsWUdtJmUgVI/WID8iSNo5sCtX7CxSFgoouXIAQN63PrBHuPITo+KNgdRg/avvqkgo+30TV/SNg9TVkXyyIveIVrDce8onMaGhmTdHayD1ZISy/uxMh6gOXfnsLCYkyxzYCUgrg209Z+oMtDV5V+P+Nia/fZ49SdM07puxrigyzJMkCbeyguN3foNu8NOPeyRrSf748Kxy+z+VzUmjGHSyOAAAAABJRU5ErkJggg==" mediaID="Square_cst_O"/></media></snapdata>