<snapdata remixID="9101145"><project name="U3L1-Tic-Tac-Toe" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Square" idx="1" x="1000" y="1000" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Empty" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAx0lEQVRoQ+2awQ2CUBAFlybwSqzEWiTfoozWwhViONiRiYkFvMsEf4b75LEzHBmqs2eoqktVLT3cNU3n/XvQdW7L83H/65vW7VW31t4edNSMFjpqmd97WchCsAE/OVh4PGehWBkMWAgWHs9ZKFYGAxaChcdzFoqVwYCFYOHxnIViZTBgIVh4PGehWBkMWAgWHs9ZKFYGAxaChcdzFoqVwYCFYOHxnIViZTBgIVh4PGehWBkMWAgWHs9ZKFYGA30X6uWPxnE8bR/Jtp2GcsP1ZgAAAABJRU5ErkJggg==" id="10"/></item><item><costume name="X" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAACBUlEQVRoQ+3aO0/CUBQH8MMGIRFnooaRL0BgdCIGqQnxASgQjMjqc3A04maM38KwOTqqm8YEFx+rr0QdcSMupiQ1olTOvfec3hZha9LH/d1/e8M/rQ8AIoaR2QoG/X7w+K/V+rj2AcB4LBY/LpUXPQ16e32Bq0bjoQ3KZvNH9frhsJcDOr+4hN1abQBybYj/M6HHp2cYGx1xVSp2Y0IltFSpQjgchtrOtitQN7d3YKTTsLd/ANOZqY4xoUDN5jtUlqsQjUa1oyzMQqHYdSwokDkFbkD1wpjjRIN0ozAYYZAuFBYjBXIaJYKRBjmFEsUogbhRMhhlEBdKFkMCokapYMhAVChVDClIFUWBIQfJoqgwLCBRFCWGDYRFUWNYQb1QHBh2kB2KC+MI6Ccql8u2y5ldn+loaxIbQvVB4vxfh5h9qlAswdnpCaysrrEVRcdA5m02mUpBIBCAmdk5b4O+PzObG+usdZ49oW4LAGedZwX9tZpxodhAmKWZA8UCwmCs5Y8aRQ4SwXCgSEEyGGoUGUgFQ4kiAVFgqFDKIEoMBUoJxIFRRUmDODEqKCmQExhZlDDISYwMSgikAyOKQoN0YkRQKJAbMFgUCpRMTkA8kWBrmaLV3vpDm8vPy700duNrfRMVCg39mgtUQqIzqHP/AUjn7GOu3d8J9dsHgBEAKGNi9cA+958uiHxCYDA7+gAAAABJRU5ErkJggg==" id="11"/></item><item><costume name="O" center-x="26" center-y="26" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAEYElEQVRoQ+2aS0wTURSG/66Vx0oXCCIK1MfCFoxuFERDjOArahR8xKgFJS4kRuOGUsrGIBUXxgfFxKhA8REfYGKIiujCB9BqIoiSaAQV3fHQNeaMuUlLZzp3Zu4URCZpuui9Z853/jPn3numFkyxywIgG0DbVOBKTk7pkoD2H3C0Xa6r/aeZXr7qQJHD8XYaaLLKOK0QrzKtj57A7w+g7+MHtD15jM+fP4VN3bZ9BxISErDUZkfO6iwkJc7hNa84TqhC/QNf4fXWof76NWRkLpM+drsN1vQ0WWfp5r0fPuJNwI/79+5K43cWFGLrlo26wYQABYMUHSpBYcEOXdG+fec+fI0NGB4aQvHhEl1ghoGuXK2H2+UEgRwudiAuLlZ3dNlEStfqqiokJiWhvNypKTi6gYaHR1DuqkBPdzfclZVYsXyZYZBgA2T/wiUvai+ex8VaL3LX5nDZ1wVENzvoKEJsbCzOeKqFqKLkLaXh8WOlOO2p4UpBzUAMxmq1otLt4oqa0UHdPe+xIT+fC0oz0IGDRYiJicHZGo9RPzXNJ6glixfhxcvXEdNbE9C585fQ/rQNdd5aU9NMLf0CgYDi/bmBWITedfdg8aKFmqIrcvDR0mOSOaUM4QaiVLPZM3CkpFikf5pt0TNss9nQ0OiTTT0uIBpUWLATkaTW7JmBCZT6AX8X5I46XEAk84LUtAlXh8WAqdTc0hKW/qpAtK2Zm5SIoaHhCSkESkKeqvLg96/RsKVDFYi2NrR5jHaZVstIKlKlR0vR2vowZKgqEKXbylVZXKu0mhOif09JmY/xaacKJDdJtGN67ckFWxXIYrFgbGxM7z1NnUfVjq7gpSQiEP3o8Xhw84bPVMf0GqdjRpPPF1K+VYG8Xq9svdfrhMh55Px4/6aBREbYqC3NCinVeqOOiJpPh7/nz9pD1sj/q8pRJHNz15nSMxChEp0A1uflhyz6qgqVOV2YvyAV+/buEuGDUBu06D9tbw/pCqkCsV7ZZFuLWKtL816Oturx8XH40j+gqT8mVAoZY5Q5M2bG4OSJvydYdqkqRAOVJpvttJL9SEHmAqIzUXZW1qQ6sf78MSjbRuMCYirRd7R6cUrqsAOn0iPADcRUUmpORCv9qFSnpqWHPTuaniE2mLVlJ6pZQsfurs6OiH1BboUYFBWI3t7eqDcbWTDlGiOaq9z4dIo2FC8M+alZofFKuVzlpnZS6VR6proqrHeg9MzqBiKDlNP0/sbpcgvfGlERqqhwY6C/HzVna7iDZgiISewsK5PetjkcDsMvvmjRvFbfKKmi562gYSCCCnZidc6asB0wT0knRRoamyTFyYbe4AgBYg4T2J17zXjQ0iyV142bNkst5MwMuzRkoTVd6r7SwXF09Be+fR9EX1+fNJY+u3bvQV5eniGVhQIFK0ER7+j0Sw7TfxVGRkZw62aTNGTevBRJBXpxxoBFvaM1DYgnzcwYMw1kRlRF2pzaCk2VfzTOmjX71R8xTomk2qlpUgAAAABJRU5ErkJggg==" id="12"/></item></list></costumes><sounds><list struct="atomic" id="13"></list></sounds><blocks></blocks><variables><variable name="clone number"><l>9</l></variable></variables><scripts><script x="10" y="10"><block s="receiveGo"></block><block s="doSetVar"><l>clone number</l><l>0</l></block><block s="doSetVar"><l>turn</l><l>1</l></block><block s="gotoXY"><l>-50</l><l>50</l></block><custom-block s="make board row"></custom-block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script x="10" y="172"><block s="receiveGo"></block><block s="doSetVar"><l>winning triples</l><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><script x="10" y="286.9999999999999"><block s="receiveGo"></block><block s="doSetVar"><l>Board</l><block s="reportNewList"><list><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l><l>Empty</l></list></block></block></script><script x="10" y="413"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportEquals"><block s="getCostumeIdx"></block><l>1</l></block><script><block s="doIf"><block s="reportEquals"><block var="X&apos;s turn?"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSwitchToCostume"><l>X</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doReplaceInList"><block var="clone number"/><block var="Board"/><l>X</l></block><block s="doChangeVar"><l>turn</l><l>1</l></block></script></block><custom-block s="CPU"></custom-block><block s="doChangeVar"><l>turn</l><l>1</l></block></script></block></script><script x="258" y="400.33333333333326"><block s="receiveOnClone"></block><block s="doWaitUntil"><block s="reportEquals"><block var="clone number"/><block var="pick"/></block></block><block s="doSwitchToCostume"><l>O</l></block><block s="doSetVar"><l>X&apos;s turn?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReplaceInList"><block var="clone number"/><block var="Board"/><l>O</l></block></script></scripts></sprite><sprite name="Sprite" idx="2" x="0" y="120" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,163.20000000000002,94.656,1" pen="tip" id="166"><costumes><list id="167"><item><costume name="apple" center-x="31" center-y="31.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJhcHBsZTEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNjIuMjE4cHgiIGhlaWdodD0iNjMuMzc1cHgiIHZpZXdCb3g9IjAgMCA2Mi4yMTggNjMuMzc1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2Mi4yMTggNjMuMzc1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICA8Zz4KICAgIDxnIGlkPSJBcHBsZSI+CiAgICAgIDxwYXRoIGlkPSJGaWxsXzFfIiBmaWxsPSIjRUMxQzJDIiBkPSJNNTkuMDgzLDM0LjQwMmMwLDE0LjUyNy0xMi41MjUsMjYuMzA3LTI3Ljk3OCwyNi4zMDdjLTE1LjQ1MywwLTI3Ljk3Ny0xMS43NzUtMjcuOTc3LTI2LjMwNyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMTQuNTI3LDEyLjUyMy0yMS4yNzUsMjcuOTc3LTIxLjI3NUM0Ni41NTcsMTMuMTI2LDU5LjA4MywxOS44NzYsNTkuMDgzLDM0LjQwMnoiLz4KICAgICAgPGcgaWQ9Ik91dGxpbmVfMV8iPgogICAgICAgIDxwYXRoIGlkPSJPdXRsaW5lXzJfIiBmaWxsPSIjMjMxRjIwIiBkPSJNMzQuMjg1LDExLjk2Yy00LjYwOC0wLjM5MS05LjEzNiwwLjE4OS05LjEzNiwwLjE4OUMxMC44MjEsMTMuNDczLDAsMTkuODgzLDAsMzQuMTIxJiN4RDsmI3hBOyYjeDk7JiN4OTsmI3g5O2MwLDE2LjE1NiwxMy45MjgsMjkuMjU0LDMxLjEwNywyOS4yNTRjMTcuMTgyLDAsMzEuMTA5LTEzLjA5OCwzMS4xMDktMjkuMjU0QzYyLjIxNiwxOC45NzcsNDkuOTY5LDEyLjY5LDM0LjI4NSwxMS45NnomI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7IE0zMS4xMDgsNTkuMzMzYy0xNC41NTksMC0yNi4zNTctMTEuMDk5LTI2LjM1Ny0yNC43ODVjMC0xMi4wNjQsOS4xNjktMTguNDMzLDIxLjMxNC0xOS43NzRjMC4yNDktMC4wMjksOC40NTYtMC4xNDQsOC40NTYtMC4xNDQmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7YzEyLjk0MiwwLjkzNiwyMi45NDksNy4zMTgsMjIuOTQ5LDE5LjkyQzU3LjQ2NCw0OC4yMzYsNDUuNjY2LDU5LjMzMywzMS4xMDgsNTkuMzMzeiIvPgogICAgICAgIDxwYXRoIGlkPSJMaW5lIiBmaWxsPSIjMjMxRjIwIiBkPSJNNDAuMzMyLDE5LjA2MmMtMi4zMDMtMC43NjEtNC42MTctMC4yNDEtNi45MjksMC4zODljLTEuOTE2LDAuNjA4LTYuMTEyLDEuMTYyLTYuMTksMS4wOTgmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7Yy0xLjE5OC0wLjA1OC0yLjM4OS0wLjM1OC0zLjU3MS0xLjA5OWMtMC40OC0wLjMwMy0wLjk4MiwwLjM3OC0wLjU5OCwwLjc3M2MxLjc2OCwxLjgwMyw0LjA2OCwxLjc4Miw2LjQ1NSwxLjUxNCYjeEQ7JiN4QTsmI3g5OyYjeDk7JiN4OTtjMy41NzUtMC40MDEsNi45OTMtMC40OTEsMTAuNTYxLTAuNjcyQzQxLjIyLDIxLjAwNCw0MS40MzMsMTkuNDI2LDQwLjMzMiwxOS4wNjJ6Ii8+CiAgICAgIDwvZz4KICAgICAgPHBhdGggaWQ9IlNoaW5lIiBmaWxsPSIjRkZGRkZGIiBkPSJNMTIuNTU1LDM0LjI2MWMwLDMuNDMxLDEuODUsNi4yMTItMC4wODQsNi4yMTJjLTEuOTM0LDAtMy41LTIuNzgxLTMuNS02LjIxMiYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMy40MywxLjU2Ni02LjIxMSwzLjUtNi4yMTFDMTQuNDA1LDI4LjA1LDEyLjU1NSwzMC44MzIsMTIuNTU1LDM0LjI2MXoiLz4KICAgIDwvZz4KICAgIDxnIGlkPSJTdGVtIj4KICAgICAgPHBhdGggaWQ9IkZpbGwiIGZpbGw9IiM5OTY2MUQiIGQ9Ik0yOS41MTUsMjAuNzY2YzAuMzcxLTAuMDY2LDAuOTczLTAuMTMsMS4zNDgtMC4yMTljMC4wNjItNC44MjcsMC41MzgtOS42NDgtMS42MjQtMTQuMjEyJiN4RDsmI3hBOyYjeDk7JiN4OTtjLTAuNTkyLTEuMjUzLTEuMzMtMi4zNTQtMi4wNjQtMy40ODJjLTEuMDIsMC42MTEtMi4wMzgsMS4yMjMtMy4wNTksMS44MzNDMjguMzEsOC45ODIsMjkuNzczLDE0LjYxOCwyOS41MTUsMjAuNzY2eiIvPgogICAgICA8cGF0aCBpZD0iT3V0bGluZSIgZmlsbD0iIzIzMUYyMCIgZD0iTTI4LjYwMiwwLjZjLTAuMzkzLTAuNTIzLTEuMDc4LTAuNzgyLTEuNjU4LTAuNDM1Yy0xLjgwNSwxLjA4NC0zLjYwNywyLjE2OC01LjQxNCwzLjI1MiYjeEQ7JiN4QTsmI3g5OyYjeDk7Yy0wLjYzNywwLjM4My0wLjgzOCwxLjM3MS0wLjI0MiwxLjg5OGMzLjQ3NywzLjA5MSw0LjYxNyw2LjA0MSw0LjksNi41NTdjMC41OTIsMS4wODEsMS41OTIsNC41MzQsMS41NjIsNy43NDlsMC4wNDYsMS42MDkmI3hEOyYjeEE7JiN4OTsmI3g5O2MxLjQ3OSwwLjU2Miw1LjI1LTAuNTYyLDUuMjUtMC41NjJjMC4wMjEtMC4zNTQsMC4yNTEtMi4yMywwLjI1MS0yLjIzQzMzLjQ2NiwxNy42NzcsMzQuMTMsNy45NTgsMjguNjAyLDAuNnogTTMwLjc1NSwyMC4zOCYjeEQ7JiN4QTsmI3g5OyYjeDk7bC0xLjEwOSwwLjE0MXYtMS4xNTJjMC4wNS01LjcxNC0xLjU2OC0xMC42MjUtNS41My0xNC42ODNjMS4wMjEtMC42MSwyLjAzOS0xLjIyMiwzLjA1OS0xLjgzMyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAuNzM0LDEuMTI4LDEuNDcyLDIuMjI5LDIuMDY0LDMuNDgyYzIuMDEyLDQuMjQ3LDEuNjM0LDguMzc1LDEuNTIyLDEyLjgxN0wzMC43NTUsMjAuMzh6Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4=" id="168"/></item></list></costumes><sounds><list struct="atomic" id="169"></list></sounds><blocks></blocks><variables></variables><scripts><script x="56" y="160"><block s="receiveGo"></block><block s="bubble"><l></l></block><block s="gotoXY"><l>0</l><l>120</l></block><block s="setEffect"><l><option>ghost</option></l><l>100</l></block></script><script x="223" y="72"><block s="receiveCondition"><block s="reportEquals"><block var="turn"/><l>9</l></block></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="bubble"><l>Draw</l></block></script><script x="263" y="182"><block s="receiveCondition"><custom-block s="%s wins?"><l>O</l></custom-block></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="bubble"><l>O wins</l></block></script><script x="291" y="298"><block s="receiveCondition"><custom-block s="%s wins?"><l>X</l></custom-block></block><block s="setEffect"><l><option>ghost</option></l><l>0</l></block><block s="bubble"><l>X wins</l></block></script></scripts></sprite><watcher scope="Square" s="xPosition" style="normal" x="10" y="10" color="74,108,212" hidden="true"/><watcher scope="Square" s="yPosition" style="normal" x="10" y="31.000001999999995" color="74,108,212" hidden="true"/><watcher var="Board" style="normal" x="6" y="16.000005999999985" color="243,118,29" hidden="true"/><watcher var="winning triples" style="normal" x="10" y="76.00000599999998" color="243,118,29" hidden="true"/><watcher var="turn" style="normal" x="10" y="249.00000799999998" color="243,118,29"/><watcher var="pick" style="normal" x="10" y="270.00001" color="243,118,29" hidden="true"/><watcher scope="Square" var="clone number" style="normal" x="19" y="318.000008" color="243,118,29" hidden="true"/><watcher var="X&apos;s turn?" style="normal" x="135" y="33.00000399999999" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="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"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-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="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></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="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="make board row" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRepeat"><l>3</l><script><custom-block s="Make one row"></custom-block><block s="changeXPosition"><l>-150</l></block><block s="changeYPosition"><l>-50</l></block></script></block><block s="gotoXY"><l>1000</l><l>1000</l></block></script></block-definition><block-definition s="row two" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="X&apos;s turn ?" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l></l></block></script></block-definition><block-definition s="%&apos;X/O&apos; wins?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doForEach"><l>tripple</l><block var="winning triples"/><script><block s="doIf"><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="tripple"/></block><block var="Board"/></block><block var="X/O"/></block><block s="reportAnd"><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="tripple"/></block><block var="Board"/></block><block var="X/O"/></block><block s="reportEquals"><block s="reportListItem"><block s="reportListItem"><l>3</l><block var="tripple"/></block><block var="Board"/></block><block var="X/O"/></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="Make one row" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRepeat"><l>3</l><script><block s="doChangeVar"><l>clone number</l><l>1</l></block><block s="createClone"><l><option>myself</option></l></block><block s="changeXPosition"><l>50</l></block></script></block></script></block-definition><block-definition s="CPU" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>random</l><l>spot empty?</l></list></block><block s="doSetVar"><l>spot empty?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="spot empty?"/><script><block s="doSetVar"><l>random</l><block s="reportRandom"><l>1</l><l>9</l></block></block><block s="doIf"><block s="reportEquals"><l>Empty</l><block s="reportListItem"><block var="random"/><block var="Board"/></block></block><script><block s="doSetVar"><l>pick</l><block var="random"/></block><block s="doSetVar"><l>spot empty?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block-definition></blocks><variables><variable name="X&apos;s turn?"><bool>true</bool></variable><variable name="Board"><list struct="atomic" id="919">X,O,O,O,O,X,X,X,O</list></variable><variable name="winning triples"><list id="920"><item><list struct="atomic" id="921">1,2,3</list></item><item><list struct="atomic" id="922">4,5,6</list></item><item><list struct="atomic" id="923">7,8,9</list></item><item><list struct="atomic" id="924">1,4,7</list></item><item><list struct="atomic" id="925">2,5,8</list></item><item><list struct="atomic" id="926">3,6,9</list></item><item><list struct="atomic" id="927">1,5,9</list></item><item><list struct="atomic" id="928">3,5,7</list></item></list></variable><variable name="turn"><l>9</l></variable><variable name="pick"><l>3</l></variable></variables></project><media name="U3L1-Tic-Tac-Toe" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>