<snapdata remixID="10414397"><project name="3d2" 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="3d2"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="create cuboid $nl xyz: %&apos;x&apos; %&apos;y&apos; %&apos;z&apos; $nl whd: %&apos;w&apos; %&apos;h&apos; %&apos;d&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n">-100</input><input type="%n">-100</input><input type="%n">-100</input><input type="%n">200</input><input type="%n">200</input><input type="%n">200</input></inputs><script><block s="doWarp"><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportNewList"><list><block var="x"/><block var="y"/><block var="z"/></list></block><block s="reportNewList"><list><block var="x"/><block var="y"/><block s="reportSum"><block var="d"/><block var="z"/></block></list></block><block s="reportNewList"><list><block var="x"/><block s="reportSum"><block var="y"/><block var="h"/></block><block var="z"/></list></block><block s="reportNewList"><list><block var="x"/><block s="reportSum"><block var="y"/><block var="h"/></block><block s="reportSum"><block var="d"/><block var="z"/></block></list></block><block s="reportNewList"><list><block s="reportSum"><block var="x"/><block var="w"/></block><block var="y"/><block var="z"/></list></block><block s="reportNewList"><list><block s="reportSum"><block var="x"/><block var="w"/></block><block var="y"/><block s="reportSum"><block var="d"/><block var="z"/></block></list></block><block s="reportNewList"><list><block s="reportSum"><block var="x"/><block var="w"/></block><block s="reportSum"><block var="y"/><block var="h"/></block><block var="z"/></list></block><block s="reportNewList"><list><block s="reportSum"><block var="x"/><block var="w"/></block><block s="reportSum"><block var="y"/><block var="h"/></block><block s="reportSum"><block var="d"/><block var="z"/></block></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>2</l></list></block><block s="reportNewList"><list><l>2</l><l>4</l></list></block><block s="reportNewList"><list><l>4</l><l>3</l></list></block><block s="reportNewList"><list><l>3</l><l>1</l></list></block><block s="reportNewList"><list><l>5</l><l>6</l></list></block><block s="reportNewList"><list><l>6</l><l>8</l></list></block><block s="reportNewList"><list><l>8</l><l>7</l></list></block><block s="reportNewList"><list><l>7</l><l>5</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l></list></block><block s="reportNewList"><list><l>2</l><l>6</l></list></block><block s="reportNewList"><list><l>3</l><l>7</l></list></block><block s="reportNewList"><list><l>4</l><l>8</l></list></block></list></block></list></block><block var="objects"/></block></script></block></script><scripts><comment x="502" y="27.600000000000023" w="155.443359375" collapsed="false">nodes:&#xD;&#xD;   [　ｘ　,　　ｙ　,　　ｚ　]&#xD;   [　ｘ　,　　ｙ　,　ｚ＋ｄ]&#xD;   [　ｘ　,　ｙ＋ｈ,　　ｚ　]&#xD;   [　ｘ　,　ｙ＋ｈ,　ｚ＋ｄ]&#xD;   [ｘ＋ｗ,　　ｙ　,　　ｚ　]&#xD;   [ｘ＋ｗ,　　ｙ　,　ｚ＋ｄ]&#xD;   [ｘ＋ｗ,　ｙ＋ｈ,　　ｚ　]&#xD;   [ｘ＋ｗ,　ｙ＋ｈ,　ｚ＋ｄ]&#xD;&#xD;edges:&#xD;&#xD;   [　１　,　２　]&#xD;   [　２　,　４　]&#xD;   [　４　,　３　]&#xD;   [　３　,　１　]&#xD;   [　５　,　６　]&#xD;   [　６　,　８　]&#xD;   [　８　,　７　]&#xD;   [　７　,　５　]&#xD;   [　１　,　５　]&#xD;   [　２　,　６　]&#xD;   [　３　,　７　]&#xD;   [　４　,　８　]&#xD;    </comment></scripts></block-definition><block-definition s="rotateXYZ %&apos;θx&apos; %&apos;θy&apos; %&apos;θz&apos;" type="command" category="operators"><variables><list struct="atomic" id="189">object,node</list></variables><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>object</l><block var="objects"/><script><block s="doForEach"><l>node</l><block s="reportListItem"><l>1</l><block var="object"/></block><script><block s="doSetVar"><l>node</l><custom-block s="rotateZ %l %n"><custom-block s="rotateY %l %n"><custom-block s="rotateX %l %n"><block var="node"/><block var="θx"/></custom-block><block var="θy"/></custom-block><block var="θz"/></custom-block></block></script></block></script></block></script></block></script><scripts><comment x="466" y="103.20000000000005" w="184" collapsed="false">for each node [ x, y, z] :&#xD;&#xD;//  x - axis rotation&#xD;&#xD;y = ( y × cos( θx ) ) − ( z × sin( θx ) ) ;&#xD;z = ( z × cos( θx ) ) + ( y × sin( θx ) ) ;&#xD;&#xD;//  y - axis rotation&#xD;&#xD;z = ( z × cos( θy ) ) − ( x × sin( θy ) ) ;&#xD;x = ( x × cos( θy ) ) + ( z × sin( θy ) ) ;&#xD;&#xD;/  z - axis rotation&#xD;&#xD;x = ( x × cos( θz ) ) − ( y × sin( θz ) ) ;&#xD;y = ( y × cos( θz ) ) + ( x × sin( θz ) ) ;&#xD;</comment></scripts></block-definition><block-definition s="draw" type="command" category="pen"><variables><list struct="atomic" id="220">nodes,edges,node</list></variables><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>object</l><block var="objects"/><script><block s="doSetVar"><l>nodes</l><block s="reportListItem"><l>1</l><block var="object"/></block></block><block s="doSetVar"><l>edges</l><block s="reportListItem"><l>2</l><block var="object"/></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportNewList"><list><l></l><l>255</l><l></l></list></block></block><block s="setSize"><l>1</l></block><block s="doForEach"><l>edge</l><block var="edges"/><script><block s="doSetVar"><l>node</l><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="edge"/></block><block var="nodes"/></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="node"/></block><block s="reportListItem"><l>2</l><block var="node"/></block></block><block s="down"></block><block s="doSetVar"><l>node</l><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="edge"/></block><block var="nodes"/></block></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block var="node"/></block><block s="reportListItem"><l>2</l><block var="node"/></block></block><block s="up"></block></script></block></script></block></script></block></script><scripts><comment x="419" y="155.2" w="300" collapsed="false">each object is defined as follows ::&#xD;&#xD;index  |  property&#xD;&#xD;1         |  nodes  //  list of [x, y, z] coordinates&#xD;&#xD;2         |  edges  //  list of pairs of values [n1, n2] where n values are&#xD;                     indexes in nodes (xyz coords) that define the edge&#xD;&#xD;3         |  colors  //  two lists defining the pen [hue, sat, val, size]&#xD;                     for [1] edges (lines) and [2] nodes (points)&#xD;&#xD;the draw function is defined as follows ::&#xD;&#xD;iterate through objects, for each object :&#xD;&#xD;//  get properties&#xD;&#xD;set : nodes to object index[1],&#xD;        edges to object index[2],&#xD;        colors to object index[3];&#xD;&#xD;//  draw edges&#xD;&#xD;set pen [hue, sat, val, size] to colors index[1][1 - 4];&#xD;iterate through the edges, for each edge :&#xD;         set n1 to edge index[1],&#xD;         set n2 to edge index[2];&#xD;         set node1 to nodes index[n1],&#xD;         set node2 to nodes index[n2];&#xD;&#xD;         go to x pos node1 index[1],  //  (1st x coord)&#xD;                  y pos node1 index[2]; //  (1st y coord)&#xD;&#xD;         pen down;&#xD;&#xD;         go to x pos node2 index[1]  //  (2nd x coord)&#xD;                  y pos node2 index[2];  //  (2nd y coord)&#xD;&#xD;         pen up;&#xD;&#xD;//  draw nodes&#xD;&#xD;set pen [hue, sat, val, size] to colors index[2][1 - 4]&#xD;iterate through the nodes, for each node :&#xD;&#xD;         go to x pos node index[1],  //  (x coord)&#xD;                  y pos node index[2];  //  (y coord)&#xD;&#xD;         pen down;&#xD;         nudge;  //  move 0 steps (creates point)&#xD;         pen up;</comment></scripts></block-definition><block-definition s="rotateZ %&apos;node&apos; %&apos;θ&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="node"/></block></block><block s="doSetVar"><l>y</l><block s="reportListItem"><l>2</l><block var="node"/></block></block><block s="doReplaceInList"><l>1</l><block var="node"/><block s="reportDifference"><block s="reportProduct"><block var="x"/><block s="reportMonadic"><l><option>cos</option></l><block var="θ"/></block></block><block s="reportProduct"><block var="y"/><block s="reportMonadic"><l><option>sin</option></l><block var="θ"/></block></block></block></block><block s="doReplaceInList"><l>2</l><block var="node"/><block s="reportSum"><block s="reportProduct"><block var="y"/><block s="reportMonadic"><l><option>cos</option></l><block var="θ"/></block></block><block s="reportProduct"><block var="x"/><block s="reportMonadic"><l><option>sin</option></l><block var="θ"/></block></block></block></block><block s="doReport"><block var="node"/></block></script></block></script><scripts><comment x="379" y="88.20000000000005" w="184" collapsed="false">for each node [ x, y, z] :&#xD;&#xD;x = ( x × cos( θz ) ) − ( y × sin( θz ) ) ;&#xD;y = ( y × cos( θz ) ) + ( x × sin( θz ) ) ;&#xD;&#xD;&#xD;</comment></scripts></block-definition><block-definition s="rotateX %&apos;node&apos; %&apos;θ&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>y</l><l>z</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>y</l><block s="reportListItem"><l>2</l><block var="node"/></block></block><block s="doSetVar"><l>z</l><block s="reportListItem"><l>3</l><block var="node"/></block></block><block s="doReplaceInList"><l>2</l><block var="node"/><block s="reportDifference"><block s="reportProduct"><block var="y"/><block s="reportMonadic"><l><option>cos</option></l><block var="θ"/></block></block><block s="reportProduct"><block var="z"/><block s="reportMonadic"><l><option>sin</option></l><block var="θ"/></block></block></block></block><block s="doReplaceInList"><l>3</l><block var="node"/><block s="reportSum"><block s="reportProduct"><block var="z"/><block s="reportMonadic"><l><option>cos</option></l><block var="θ"/></block></block><block s="reportProduct"><block var="y"/><block s="reportMonadic"><l><option>sin</option></l><block var="θ"/></block></block></block></block><block s="doReport"><block var="node"/></block></script></block></script><scripts><comment x="371" y="71.19999999999999" w="184" collapsed="false">for each node [ x, y, z] :&#xD;&#xD;y = ( y × cos( θx ) ) − ( z × sin( θx ) ) ;&#xD;z = ( z × cos( θx ) ) + ( y × sin( θx ) ) ;&#xD;&#xD;&#xD;</comment></scripts></block-definition><block-definition s="rotateY %&apos;node&apos; %&apos;θ&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>z</l><l>x</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>z</l><block s="reportListItem"><l>3</l><block var="node"/></block></block><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="node"/></block></block><block s="doReplaceInList"><l>3</l><block var="node"/><block s="reportDifference"><block s="reportProduct"><block var="z"/><block s="reportMonadic"><l><option>cos</option></l><block var="θ"/></block></block><block s="reportProduct"><block var="x"/><block s="reportMonadic"><l><option>sin</option></l><block var="θ"/></block></block></block></block><block s="doReplaceInList"><l>1</l><block var="node"/><block s="reportSum"><block s="reportProduct"><block var="x"/><block s="reportMonadic"><l><option>cos</option></l><block var="θ"/></block></block><block s="reportProduct"><block var="z"/><block s="reportMonadic"><l><option>sin</option></l><block var="θ"/></block></block></block></block><block s="doReport"><block var="node"/></block></script></block></script><scripts><comment x="344" y="71.20000000000005" w="184" collapsed="false">for each node [ x, y, z] :&#xD;&#xD;z = ( z × cos( θy ) ) − ( x × sin( θy ) ) ;&#xD;x = ( x × cos( θy ) ) + ( z × sin( θy ) ) ;&#xD;&#xD;&#xD;</comment></scripts></block-definition><block-definition s="create object $nl nodes: %&apos;nodes&apos; $nl edges: %&apos;edges&apos; $nl colors: %&apos;colors&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input><input type="%mult%l"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doAddToList"><block s="reportNewList"><list><block var="nodes"/><block var="edges"/><block var="colors"/></list></block><block var="objects"/></block></script></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="496"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnXn4flPV/19Ls5BkflR4pEimJCFFoiRTEhnCIyGpiBRJ5lRCMiWzSKaEIhFJSKaE4kHlJxo1aXiq9bv2Prs+vuM5577Puc/0Xtfl8sdn7em19/e877P3OmsbMhEQAREQAREQgYkTsIm3qAZFQAREQAREQASQAGsRiIAIiIAIiEADBCTADUBXkyIgAiIgAiIgAdYaEAEREAEREIEGCEiAG4CuJkVABERABERAAqw1IAIiIAIiIAINEJAANwBdTYqACIiACIiABFhrQAREQAREQAQaICABbgC6mhQBERABERABCbDWgAiIgAiIgAg0QEAC3AB0NSkCIiACIiACEmCtAREQAREQARFogIAEuAHoalIEREAEREAEJMBaAyIgAiIgAiLQAAEJcAPQ1aQIiIAIiIAISIC1BkRABERABESgAQIS4Aagq0kREAEREAERkABrDYiACIiACIhAAwQkwA1AV5MiIAIiIAIiIAHWGhABERABERCBBghIgBuAriZFQAREQAREQAKsNSACIiACIiACDRCQADcAXU2KgAiIgAiIgARYa0AEREAEREAEGiAgAW4AupoUAREQAREQAQmw1oAIiIAIiIAINEBAAtwAdDUpAiIgAiIgAhJgrQEREAEREAERaICABLgB6GpSBERABERABCTAWgMiIAIiIAIi0AABCXAD0NWkCIiACIiACEiAtQZEQAREQAREoAECEuAGoKtJERABERABEZAAaw2IgAiIgAiIQAMEJMANQFeTIiACIiACIiAB1hoQAREQAREQgQYISIAbgK4mRUAEREAEREACrDUgAiIgAiIgAg0QkAA3AF1NioAIiIAIiIAEWGtABERABERABBogIAFuALqaFAEREAEREAEJsNaACIiACIiACDRAQALcAHQ1KQIiIAIiIAISYK0BERABERABEWiAgAS4AehqUgREQAREQAQkwFoDMyfgrAVsDNwrRCJQgsAiGAeX8JerCAyWgAR4sFOfM3DnemA14D7gZmESgQIEnp9+tN0KfAjjuwXKyEUEBktAAjzYqc8V4IeBrYCdkhDvhfEN4RKBWRJwPgosDNwBfBo4HmN/ERMBEZg5AQmwVsaMBLLt56MxVo5/dDYHPgNckt5s/k/YRGAGAs4twL4Y1+AsmkR46bRmvi1iIiAC0xKQAGtFzEyAjwKewDjoP3905koP1LXTA/VrQicCT1kfLwOuxlhsGirOtunH26kY+4qYCIjAFAEJsFbDzAT4QWBTjDtn8pazSRLiK5MQ/0UIRQDnw8ALMXafyZpZIK2ZFYFwlHG1iImACIAEWKtgWgLOGunsboVZonGeld5qNkgifJEwDpyA8z3gY7MVV48xBeFs+DyMvQZOTMMXAQmw1sB0BJxPAU9ifDyXjfOWJMQhYjpEvf4ht4wc+kfAeQlwPcYiuYNz5k1rJkTYhzXz9dwychCBnhLQG3BPJ3bkYTn3A1tg3F6oDudp6a3mbemBen6hcnLqDwFnb2BJjF0LDyoL7Atvw19VYF9hanLsGQEJcM8mdKzhOK8BTsZ4Rel6nPXTAzV8AxrO+X5bug4V6CYBj9/7HoQR4gKK21Rg3zpJhC8tXlieItB9AhLg7s9hdSNwjgD+Mda3m9kW9jbpgXpOdZ1TTa0k4CwJfA9joZH75/w7sO+qtG6eHLkuFRSBDhGQAHdosmrvqsesV9tghLfY0c0JbzRhe/FH6YH6+OiVqWSrCTh7Ai/D2HmsfmaBfWHNhLiCcDaswL6xgKpwFwhIgLswS5Poo7MqcDrGspU15xwG8cEctqTPqKxeVdQeAlnK0iMwrqikU1lgXxDiG9K6UWBfJWBVSRsJSIDbOCtN9CkTy/BhWkgnWJ05r01Rr+Hb4vBm80h1laumRgk4iwO3YsxfaT+mAvtCoFZYM1+utH5VJgItISABbslENN4N5x5gB6ymixecTwDvTw/UUxofrzowPgHnA8ByWMwXXr0566Ufb/++3OE31TeiGkWgOQIS4ObYt6dl55XAORghnWB9lkVZh+3FXyQhDhc+yLpKwLk2CqRxWa1DcI4Etktb0grsqxW2Kp8kAQnwJGm3tS2P97c+E4vpBOs352MxaX+2vXhC/Q2qhcoJOC8E7sIIVxDWb1OBfWGnJsQUKLCvfupqoWYCEuCaAXeieueHMVjKYjrByZizStpefCIJcUgAIusKAed9wMoYO0y0y1OBfeHH2+kTbVuNiUDFBCTAFQPtXHXOSsD5WEwnOHnz+CYczofDA/Vzk++AWhyJgPMt4FgsZrKarGWBfeEo4yEF9k0WvVqrloAEuFqe3astC46aE4vpBJsxJ9ySEx6of0/bi/c20xG1WohAdtfvvRjPK+Rfl1O2dkMgWPjx9oW6mlG9IlAXAQlwXWS7Uq9zB7A7Fr+7bNacD0EMuAkP1HAnsayNBJzdgFdjvKvx7k0F9j2W1k14K5aJQCcISIA7MU01ddJZHrgEi+kE22HOy9PbcLjkIQjxXe3omHrxHwJOSBl5AsbFraHi7A98RIF9rZkRdaQAAQlwAUi9dXEOAObFYjrBdpnHb4bDtvR+WHwrlrWBgLMw8AAwD8a/2tClp/wwCIF9Yc2E7FkhUlqBfa2aIHVmegIS4CGvCee2eIZmMZ1g+8xZOkVKz5XebH7Qvk4OrEfOLsCaWLxwo52WBfYdlNbMse3spHolAiHxoGyYBLKt3suxmE6w3ZadOX4GOATj0HZ3tue9c74BnIJxQatH6qyQ1kwI7AtHGeH7YZkItIqABLhV0zHBzjj7AQticau3/ZZdexe2FxdID9Sb29/pnvXQI/ufAXNj/KMTo3P2SusmbEkrsK8TkzacTkqAhzPX047U+T6wDxbTCXbHPN6uFIT4KIwDu9PxHvTUeTewDsZWnRrNVGDf09OPtzs71X91trcEJMC9ndrZDMxZBrgKi+kEu2dZGsSwJf2i9EBt/hOq7lEs32PncuDMzt5ONBXYtz/GJ8sDUAkRqJaABLhant2ozePnGotiMZ1gd81jGsQgxMdj8TMUWV0EnBcAj6bo57/V1Uzt9WaBfWEHZW4F9tVOWw3kEJAAD3GJeLxyMHzec3Xnh+8skh6o4SancM737c6PqY0DcHYE1sd4Rxu7V7pPWWBfEOLDMA4pXV4FRKACAhLgCiB2qorsDeDbWEwn2B9ztk0P1NMndqtTf+jlj8S5FDgX49x85454TAX2LZjehm/qSM/VzZ4QkAD3ZCILD8PZB1gci28A/TJn/rQlHXJLh09PvtmvATY0Gmde4Ncp+vkvDfWivmaz4LJwlKHAvvooq+aZEJAAD21ZODcCB2IxnWA/zdkyvQ1/OQmx93OgExqVsz2wIcbmE2px8s1kgX1hSzp8Fx+OMhTYN/lZGFyLEuAhTbmzFHADFtMJ9ts83tQT3mpWTyJ8Rb8HXOPonEuACzDOrrGVdlSdBfYFIT4Ri9/Ky0SgNgIS4NrQtrDiLCnBS7CYTnAY5rwtCXE4wwzb0iEzkqwoAY/Rwr9P0c9/Klqs035Zvuvw4y0E9oU1061v5TsNf1idlwAPab6d76Soz68Padg4z01vNW9ID9QgxrIiBLLgts0wNi3i3isfj/muw9vwGQrs69XMtmYwEuDWTEXNHXGWAG7BYjrBYZqzcXqghs+vwjnfk8MEUWLUzoXApRhnlCjVH9cssC+I8Mrpx1t/Yyf6M2udGYkEuDNTNWZHnQ8Cy2Ix4nO45jwzbS9umB6oQWBkMyOQ7RyEq/3mw+I29HBtKrDv/LRu2nUV43BnptMjlwB3evpKdN65DjgSi+kEZc4GSYhDtGs45xu2wMxcgLcGtsDizoEsC+wLb8NrKLBPy6EKAhLgKii2vQ6POZNvx2I6Qdm/CThzpAfqFmlLOny2JJviE972vo5xmqA8hUAW2BeE+LK0bhTYpwUyEgEJ8EjYOlbI2QNYEYvpBGXTE3DWSw/U29KbTUg6MWxznp22nxfC+N2wYcxk9FOBfeumNfNVMRKBsgQkwGWJddHfuQY4GovpBGWzIuDxhpx3pQdq/795nd1KyM48t8EIZ+WyWa+ZjdJRRgjsC0cZfxYsEShKQAJclFRX/ZzFgLuxmE5QlkfAWTu9Dd+bHqiP5RXp5d+d84CrMU7p5fiqHFQW2Be2pIMYh+h6BfZVybfHdUmAezy5cWjO7sAqWEwnKCtKwDkUYsKS8FYzrDNQ5xnAH4HFsJgDWlaEQBbYF4Q4pHsN6+aJIsXkM1wCEuC+z73HCwnCfbkX932olY/PWTNtLz6cHqg/r7yNNlbovB3YAYuCIitDwAnP1JBFKwT2BREOOwkyEZgpAQlwnxdGdlfuT1IaQV1IMOpcOwdC/I46PFC/MGo1nSnnnANcj3FSZ/rcto46b0xvw7crsK9tk9Oe/kiA2zMX1ffE2TVeRmAxnaBsHALOaumB+st0zvfQONW1tqzztBT9vCTG463tZ1c6lgX2heOf8OPtrK50W/2cDAEJ8GQ4N9OKcyVwsoJCKsTv7A98ND1Qj6+w5nZUlX3jujPG+u3oUA96MRXYd19aN7/owag0hAoISIArgNjKKpwFgfCW9jyMf7Syj13tlPPKdM4X0jSGN5uwzd8Pc84EvodxQj8G1KJROIdA3JUaXmBfi6ahTV2RALdpNqrsi7Mz8DqMkE5QVgcB58MQH6rh05Nj62hi4nV6zP38Ugy9pdUBPwvsC5HSP0vrZhiBfXWw7EGdEuAeTOJMh+CEC+hPxwjpBGV1EXBWSA/UsMsQ3mx+VFdTtdfrbALsjhGyO8nqJJAF9u2Z1szJdTaluttLQALc3rkZvWfZFWqPpOhn5akdnWTxks5eSYiDCIfPULpnzunArRjHda/zHeyx8+p0lBEC+8K6ebCDo1CXxyAgAR4DXmuLOjsB62IxnaBsUgScZZMIh0QW4YF656SarqQdj4kjlsPijzfZpAg4+0EM7gtHGf0L7JsUxw62IwHu4KTldtnjLS1nKwlALql6HLLLL8I53wEYR9TTSMW1Om+N3zob61Rcs6orQiAL7Atr5k/px9uPixSTT7cJSIC7PX8z9t55PhC2tObB+EvfhteZ8TgvSduL86QH6q2t7rvzReDO3gSTtRr2bDo3FdgXdlCO6eow1O9iBCTAxTh1x8vZAdgAi+kEZU0TyJKhhDPhw7AYMd1Oc34DrITF6FxZkwSc5dPb8D87H9jXJMcOtC0B7sAkleqiE+4lPR+L6QRlbSDgLJEeqAunc76b2tCt//TBeQuwD8brWtWvoXfGY5R02JYOcxP+L+sZAQlwnybUeR7w27T9rHtJ2za3zrvTAzXczfzx1nTPY37rezA+25o+qSMZganAvnDlYdiWvkNo+kNAAtyfuQz/WLcDNsZiOkFZGwlk9zOHLenF0wP1O4130/kVsCoWM6fJ2kjAeV9aN90J7Gsjx5b1SQLcsgkZqzvORcAlWEwnKGszAY8J+sO24klY/AylGXPeFD+BsZihSdZmAllgX1gz86ajjHYH9rWZZUv6JgFuyUSM3Q1nrnSLzbxYTCcoazsBJ5wJhwdq+H44bC9eM/EuOycCD+iMceLkR28wC+wL6+YIjINHr0glmyYgAW56Bqpq39kG2ByL6QRlXSLgMV932JY+E2OfiXbdeQxYE+OBibarxsYj4PEII6yZ8CMu/Hj73ngVqnQTBCTATVCvo03nAuAyLKYTlHWNgPOC9FYTEjKEB+pVtQ8huzT+Exir196WGqiHQJb1LrwNH9OqwL56Rtu7WiXAfZhS5znAH4EFMH7XhyENdgzOO9IDNfygCqkJ/1UbC+fzwE8xjqytDVVcP4EssC+I8JLpx9v19TeqFqogIAGugmLTdThbAe/EYjpBWdcJOCF7VtheDIFR4W348lqG5Pw/YO1e3WdcC6iOVDoV2Hcyxkc70utBd1MC3Ifpd74MXIXFdIKyvhBwNktCHHJ7ByH+W2VDc96QsnOFG3lkfSHgLJTehl/eWGBfX1hOYBwS4AlArrUJ51kp+nlRLKYTlPWJgDNneqCul7akQ6az8c35HPAoxuHjV6YaWkcgC+wL29LhUpa9W9c/dSgSkAB3fSFkZ4bbYTGdoKyvBJyN0gM1fKoU3obDrTmjm/NzYD2Me0evRCVbTWAqsG+VtGaubHV/B9g5CXDXJ935EnAtFtMJyvpMwAn3DIez4SDGQYRDoFZ5c14PfArjVeULq0TnCDhbpHUT1ktYN+GSB1kLCEiAWzAJI3fBeXrafl4ci1cQyoZAwHlzehsO336GB+oTpYbtHA38utW3M5UakJxzCWSBfWFLeq10lFFPYF9uR+TwVAIS4C6vB2dzYCcsphOUDYmAx+Oj8EDdMonwuYWH7zwMbIhxd+EycuwHgSywL6ybK9K6+Ws/BtbNUUiAuzlvWa+ds4EbsJhOUDZEAs66aXsx3JIT3obDxQqzNo9vQOE2ppWHiEtjjs+NkDcgHGWEwL6wZi4Rl2YISICb4T5+q9kbUEi+sRQW0wnKhkzAOQLYIT1Qz5olCo8P3t9jHDRkXBp7FOKQNyC8DV9bSWCfoJYmIAEujawlBZxNgV2x+CtWJgLhgRqCq8ID9SfpnO8XM2Bx/hfYFOMuIRMBssC+sGZCDvnwNvwVUZkcAQnw5FhX25JzBnALFtMJykRgioBzCLBbeqCe+p8/OGsAx2OsIFwiMA2BqcC+m9K6UUrbCSwRCfAEINfShPP7eI2dxXSCMhGYlkAmtmG7+WfpgfoznE8BTyppvxbLLAl4fBsOqW3D23DxwD4hHYmABHgkbA0XcjYG9sBiOkGZCMyagPPx+DANFzsQMyJtgXG7kInAbEQ4BPYFIQ7HFOFCkNkH9gnlyAQkwCOja7CgcxpwGxbTCcpEYPYEnJDv+SRgCWBlLJ4Dy0Qgb92EwL4d09vwmcJVPQEJcPVM66/R+S2wIha3F2UikE8gi5IOQrxaeqAqdiCfmjyc16WjjBDYF7alHxWU6ghIgKtjOZmanA3TP4QQ8SoTgWIEnPuAbSDeLxy2F/+c1tGPi1Ugr0ETcA4Gdk9b0lOBfYOGMv7gJcDjM5xsDc4pwN1YTCcoE4F8As6qwOkYy/7H2dknXkeYvdVoLeVTlEcW2Bd+vD2S1s1PBWU8AhLg8fhNvrTza2AVLKYTlIlAPgGPQhvuPpv2knbnFWl7MbwVByFWasp8mvKYCuwLaybEFshGJCABHhFcI8Wyb/U+gsV0gjIRKEbAuQfYHuOWmRZwPpiEeB8svuHIRGD2BLJdlbBWwh3kQYgV2DfCmpEAjwCtsSIef23+GOOoxvqghrtFwHkl8CWMl862484y6YH67HTOF3JLy0QgT4jDrsoBSYSPE65yBCTA5Xg16+08DqyuX5vNTkOnWs+CZ56J8eFC/Xbel4T4QIzDC5WR07AJeLzYI7wNP5mEOAT8yQoQkAAXgNQKF2f9+EvTYiCETASKEXB+COyMEe4OLmbOUsCFwIvTFmOxcvIaOoF5gbmBDTCuHjqMIuOXABeh1AYf5wTgQSymE5SJQD4BZ0XgKxgvyXeeziO7NelpwLGly6rAUAksCZyHMf9QAZQdtwS4LLGm/J1ws81aGPc31QW12zECzoHAc7GYgrKcZbcmbYZxZ7mC8h4sgezTthdjvHewDEoOXAJcElgj7tml6wdjvKaR9tVoNwk4IZDqvRjfLTUAZ3XgBN2aVIqanJ0bgY9jfFMwihGQABfj1KyXE6ILH8FiOkGZCOQTcJYHLsEI24LlzDkS+ItuTSqHbdDeWdzADRgLD5pDycFLgEsCa8TdY+aZdbGYTlAmAvkEPH4aMi/GnvnO03k4Ie/vlhi3lS6rAsMk4PHGraUwdhkmgNFGLQEejdvkSjnrAEdg8cN3mQgUI+BRPD+AcX2xAsnL42UNp2AsV6qcnIdNwLkBOATjG8MGUW70EuByvCbv7RwDPI6ldIKT74Fa7BoB5+XA5RiLl+56dmvSPzD2L11WBYZJwOM1lzdjLDhMAKOPWgI8OrvJlHRCwvPwXd2PJtOgWuk8AWc/YEGM95cei3MvsC3GraXLqsAwCWSpTJfB2HmYAEYftQR4dHb1l8zu4jwKi+kEZSJQjIDzfSDkdb62WIHk5bwKOBOLaSllIlCMgHMdcCTG5cUKyOvfBCTAbV4LzmeB32IxnaBMBPIJZDmdr8J4Yb7zdB7OocAcGB8pXVYFhknAY7a02zBeMEwA441aAjwev3pLOw8BG2ExnaBMBPIJOPsC/4XFnM7lzOMxx44YN5crKO/BEvB4zLE8xv8MlsEYA5cAjwGv1qLOmsDnMFaqtR1V3i8Czk3AfhjfKjWwLKH+ubm3JpWqVM69J+DxmCMck32t92OtYYAS4BqgVlKlx9tF/oTFdIIyEcgn4CwNfBtj0Xzn6Tycg4BnFb41qXQDKtA7As5iwN0Y4RIG2QgEJMAjQJtIEecBYHMsphOUiUA+gSwX7+IYu+U7zyDAdwHvKXVrUulGVKBXBJzdgVUwtu/VuCY4GAnwBGEXbirLxXsiFtMJykSgGIEsF2+4x/eqYgWSV3Zr0gVYTCcoE4FiBDxeOXgcxiXFCshregIS4DauiSwX71+xmE5QJgL5BJz/Br47Ui7e7NakubCYTlAmAvkEPB5z3IcxT76zPGZFQALcxrXh/BjYSrl42zg5Le2TsxfwkpFy8Wa3Ju2OxXSCMhHIJ+DsCrwGY7t8Z3lIgLuyBpxXA6diMZ2gTASKEXC+AxyG8fViBZKX8wrgUiymE5SJQDECzpXASRgXFSsgr5kR0Btw29aFczjwLyymE5SJQD6BLBfvLRgL5DtP5+F8DJgPi+kEZSKQT8BZCHgQmBvjX/kF5DErAhLgtq2NLBfvdlhMJygTgXwCWS7eZTHene88gwD/ANgTi+kEZSKQT8B5D7AWxtb5zvKYHQEJcJvWh7MKcJZy8bZpUjrQl1Fz8Wa3Jl2BxXSCMhEoRsDjMUc4JvtKsQLy0htwF9aAcwjwNOXi7cJktaSPzouAOzDmK90j56PAQiPdmlS6MRXoBQFnfuCRtP38f70YU4OD0Btwg/BnaNq5G9gJi+kEZSKQT8DZA1gRY8d85+k8nFuAD5e+Nal0QyrQGwLOTsC6GFv2ZkwNDkQC3CD8aZrOcvGeh8V0gjIRKEbAuQY4GuPSYgWSl/My4GosphOUiUAxAs5lwNkY5xUrIK/ZEZAAt2V9ZLl4n43FdIIyEcgn4PwX8KORcvFmtyYthsV0gjIRyCfg8ZjjMWAejL/mF5BHHgEJcB6hSf3dCbl4d8FiOkGZCOQTcN4LvGqkXLzZrUn7YzGdoEwE8gl4POZ4E8YW+c7yKEJAAlyEUt0+zgrAhcrFWzfontXvfBP4fOlcvM5LgOtGujWpZwg1nBIEnK8CX8b4UolScp0NAQlwG5aH8/G0rRPSCcpEIJ+AswjwE4y5852n83D2BpbEYjpBmQjkE3CeB/w2RT8/mV9AHkUISICLUKrbx7kd2AOL6QRlIpBPIMvFuzrGtvnOMwjwd4GDsJhOUCYC+QScdwEbYbwt31keRQlIgIuSqstPuXjrItvverNcvCdjXFhqoNmtSTdiMZ2gTASKEXAuBi7COKtYAXkVISABLkKpTh9nf+AFysVbJ+Se1e0sCDyUji3+WWp02a1JS2MxnaBMBPIJOHMBf0zrLfxfVhEBCXBFIEeuxrkV2Eu5eEcmOLyCzs7A6zHeWXrwzvXA4aVvTSrdkAr0hoCzDfA2jE17M6aWDEQC3OREOMsC38BiOkGZCBQj4FwBnI5xfrECyctZHLgVi+kEZSJQjIBzAXAZxunFCsirKAEJcFFSdfhluXgXxmI6QZkI5BOYysUbkiH8Pb/AUzycDwDLYTGdoEwE8gk4cwJ/AObHeCK/gDzKEJAAl6FVtW+Wi3dfLKYTlIlAPgHnf4A3jpSL1/k28GksphOUiUA+AY/HHFtibJTvLI+yBCTAZYlV5e+8FPiWcvFWBXQg9ThfA84pnYvXeSFw50i3Jg0ErYY5EwIejznCMdmp4lM9AQlw9UyL1eh8GHihcvEWwyUvwHk+8MuUDKFcLl7nfcBKI92aJPjDJOA8K20/L4LFJByyiglIgCsGWrg653vAAVhMJygTgXwCzg7ABhhvz3eezsP5FnBM6VuTSjekAr0h4LwD2A7jLb0ZU8sGIgFuYkKyXLzXYzGdoEwEihHIcvGej3FOsQLJK7s16R4sphOUiUAxAs65wDUYXyhWQF5lCUiAyxKrwl+5eKugOKw6nHmA36VkCH8uNfjs1qRVsZhOUCYC+QScZ6Tt5xdh/Cq/gDxGISABHoXauGWcG4CDlYt3XJADKu9sB2w8Ui5e5yrgBCymE5SJQD4Bj8ccO2K8Od9ZHqMSkACPSm7Ucs6SwE1YTCcoE4FiBJyLgEswzixWIHk5CwMPpMAtL1VWzsMl4JwNfAfjpOFCqH/kEuD6GU/bgrMn8DIsphOUiUA+gSwXb0iGMC8W/1/cnF2ANbGYTlAmAvkEnDnSelsK47H8AvIYlYAEeFRyo5bLcvEegcV0gjIRyCeQ5eLdHGOTfOfpPJxvAKdgMZ2gTATyCTibAbtgrJfvLI9xCEiAx6FXtqzzYuAHysVbFtzA/Z2vAJeXzsWb3Zr0cArc+sfAKWr4RQl4POYIx2THFy0iv9EISIBH4zZaKef9wCuUi3c0fIMs5TwnbQcuUDoXr/NuYO2Rbk0aJGwNOhLweMwRjskeFZF6CUiA6+U7be3OtcBnlIt3ktA73pazFfBOjLeWHolzOXBG6VuTSjekAr0h4GwM7IHxht6MqcUDkQBPanKyXLx3YTGdoEwEihFwvgxchfHFYgWSl/MCiG8wc5e+NalUQ3LuFQHnNOA2jM/1alwtHYwEeFITk+XiXRmL6QRlIpBPwHkm8EdgUYzf5Bd4ikd2a9J6WEwnKBOBYgQ8JntZHuNYF1/aAAAesUlEQVTnxQrIaxwCEuBx6JUpm+XiPRaL6QRlIpBPwNkCeNdIuXizW5O+hMV0gjIRyCfg8ZhjT4y1853lUQUBCXAVFPPqcBYF7lUu3jxQ+vs0BJwvAdeWzsXrzAsxfeA8GH8RVREoRMDjMUc4JjumkL+cxiYgAR4bYYEKnN2A1bCYTlAmAvkEnKen6OfFsXgFYXFztgc2xNi8eCF5Dp6A82vglRg/HTyLCQGQAE8CdJaL90QsphOUiUA+AY/iuRPGm/Kdp/NwLgEuwGI6QZkI5BNwNgD2xVgr31keVRGQAFdFclb1OAsB/5u2A/9Vd3OqvycEsly8N2CcWGpE2a1JT6T19qdSZeU8XALOycB9GEcNF8LkRy4Brpu58x7gtcrFWzfoHtXvhH+XIfq5fC5eZ1tgUyymE5SJQDECHo85wjHZg8UKyKsKAhLgKijOrg7n68AXlYu3btA9qt/ZFNgN442lR+VcCHy19K1JpRtSgd4QcNYHDsBYozdj6shAJMB1TpSzAPCztB34f3U2pbp7RMA5A7gF4/OlRuU8NwVuPb/0rUmlGpJzrwg4JwAPYnyqV+PqwGAkwHVOUpaLdx0sphOUiUAxAs7vgWUx/l+xAsnL2RrYAovpBGUiUIyA8wtgLYz7ixWQV1UEJMBVkZxZPVku3jOxmE5QJgL5BJyNgPePlIs3uzXpCiymE5SJQD4Bj8ccB2G8Jt9ZHlUTkABXTfTf9TnzQfxlGZIh/K2uZlRvzwg4pwK3l87F6zw7BW4tiMV0gjIRyCfg8ZjjZxifzHeWR9UEJMBVE50S4B2B9ZWLty7APa3X+S2wQulcvM6WwNYj3ZrUU5QaVgECziPAGzB+XMBbLhUTkABXDPQ/1TmXAudhMZ2gTATyCTgbAh/CeH2+83QeznnA1RinlC6rAsMk4KwDHIGx6jABND9qCXAdc5Dl4g1p3cL285N1NKE6e0jAo3jejXF0qdFltyaFS9QXw+K6k4lAPgHnWOAxjMPyneVRBwEJcB1UlYu3Dqr9rzPLxbsKxsOlBpvdmrQ9FtMJykSgGAGPn0i+CeOeYgXkVTUBCXDVREN9zsXAhcrFWwfcntbpvBn4yEi5eJ1zgOuwmE5QJgL5BDwec3waY5V8Z3nURUACXDVZZ+60HTg3hnLxVs23r/U5JwE/wfhMqSE6T0vrbYnStyaVakjOvSLgfBb4DcYhvRpXxwYjAa56wrJcvJthMZ2gTASKEXAeB1bH4sUdxc15G7AzFtMJykSgGAHnIWAjjB8WKyCvOghIgKummuXivRSL6QRlIpBPYJxcvM5ZwI1YTCcoE4F8As5rgWMxVsp3lkedBCTAVdJ15kzJEObDYjpBmQjkE3COBx4aKRevx1uTlsZi0heZCOQT8HjM8QeMT+Q7y6NOAhLgKuk67wTeoVy8VUIdQF3Oo8DrSufidTYB3jvSrUkDwKohzoKAx2OOcEx2pxg1S0ACXCV/53zg68rFWyXUntflrAscgrFa6ZE6pwPfL31rUumGVKA3BJzVgRMxlu/NmDo8EAlwVZOX5eINyRAWxmI6QZkI5BNwjgMewTgi33k6D+cJ4OWlb00q3ZAK9IaAcyTwV4wDejOmDg9EAlzV5GW5eLfBYjpBmQgUI5Dl4l0X475iBZJXdmvSB7CYTlAmAsUIOD8BtsS4rVgBedVJQAJcFV3l4q2K5HDqcdYGPjlSLt7s1qQ7sJhOUCYC+QQ8HnOcgrFcvrM8JkFAAlwFZecZKfpZuXir4DmUOpxjgMdHysWb3Zq0IhbTCcpEIJ+Ax2OOf2Dsn+8sj0kQkABXQdl5O7AjFtMJykSgGAHnp8AGGD8qViB5OW8B9sF4Xalych42AedeYFuMW4cNoj2jlwBXMRdZLt7rsZhOUCYC+QQ8iudRGK/Md57Ow/kCcA8W0wnKRCCfgPMq4EyMZfKd5TEpAhLgcUk7c6Tt5yWxmE5QJgL5BLJcvL/FODjfeQYB/hWwKhbTCcpEIJ+AcygwB8ZH8p3lMSkCEuBxSTubAe9RLt5xQQ6s/Ki5eJ03AfthMZ2gTASKEfB4zBGOyW4uVkBekyAgAR6XsnMm8D3l4h0X5IDKO2sCx2GsWHrUzonA/aVvTSrdkAr0hoDHY45zMZbuzZh6MhAJ8LgT6TH5xkuVi3dckAMq73wa+BPGgaVH7TwGrFH61qTSDalAbwg4BwHPxtinN2PqyUAkwONMZJaLd3csphOUiUAxAs4DwOYYdxQrkLyc9YADsZhOUCYCxQg4dwG7YNxYrIC8JkVAAjwO6SwX761YTCcoE4F8As5rgJNGysWb3Zr0MBbTCcpEIJ+Ax2OOCzCWyneWx6QJSIDHIZ7l4l0Oi+kEZSKQT8D5JPC3kXLxZrcmvR6L6QRlIpBPwOMxx1wYH8p3lsekCUiARyXuvBX4oHLxjgpwoOWcHwNblc7F67wBOHSkW5MGilrDBpzbgfdh3CAe7SMgAR51TpwvAndhMZ2gTATyCTivBk7FeHm+83QezueARzEOL11WBYZJwHkFcCnGEsME0P5RS4BHnSPnN8DKWEwnKBOBfAIexfNfGPvlO88gwD8H1sNiOkGZCOQTcD4GzIfxwXxneTRBQAI8CnXl4h2FmspkuXi3w/h+KRjZrUlHYjGdoEwEihFwfgDsiXFdsQLymjQBCfAoxJ2TgXuVi3cUeAMt46wCnDVSLl7naOBXWEwnKBOBfAIejzmuwHhxvrM8miIgAR6FvPNL4NXKxTsKvIGWcQ4Bno6xb2kCzsPAW0rfmlS6IRXoDQGPxxwLYezRmzH1cCAS4LKTmuXi3R+L6QRlIlCMgHM3sBPGTcUKJC9nLeBojJVLlZPzsAk4twD7YlwzbBDtHr0EuOz8ZLl4H8BiOkGZCOQT8Cie542Ui9c5CngCi+kEZSKQT8B5GXA1xmL5zvJokoAEuCz9LBfvmlhMJygTgXwCzieA54yUi9d5ENgEi+kEZSKQT8DjMcdiGLvnO8ujSQIS4DL0nTcCn1Au3jLQ5ItzJ7Br6Vy8zhrA50e6NUnYh0vA4zFHOCa7ergQujFyCXCZeXI+D/xUuXjLQBu4r7MCcBHGf5cm4XwK+PNItyaVbkwFekHA45WD12Es0ovx9HwQEuAyE5wl33gHxG1BmQgUIRCiUP+JsVcR52l8nPuBLbCYTlAmAvkEnL2BJTF2zXeWR9MEJMBFZ8DjlYNXAH+MQTEyEShG4AXAz4DNSsUNZLcmnYzFdIIyEShGwPkucBDGlcUKyKtJAhLgMvSz6MIQ/Twn8KHSCfXLtCXf/hBwPhLv8c3WTMjpnG/ZrUl/x2I6QZkI5BPweMxxI8ZC+c7yaAMBCfAos+AxujAIcfiledgoVajMwAhk97J+BvhrEuLZ53TObk16JxbTCcpEIJ+Ax2OOpTHek+8sjzYQkACPOgvZr80gwmGLMbzZhA/fZSIwewIe72U9EthrlqlMnVWB0zGWFU4RKEzAuR44HOPrhcvIsVECEuBx8Xv8tRmE+NNY/N5TJgJ5IrxcWjNzJCH+4TQFPO2qGB8VShEoRMBZHLgVY/5C/nJqBQEJcBXT4DHheRDhkHkmvA2HQAiZCOQJ8QfSuvnoNJ+2OfcA22tXRQuoMAEnrKXlMHYqXEaOjROQAFc5Bc6O6ZzvOAXPVAm2x3U5L00i/Nz44w3Cv8lzsBjwJxOBYgScb6dduMuKFZBXGwhIgKueBWfR9EANH8SHcz7dxVk14z7W57w3rZuQxejmkW5N6iMXjSmfgPMi4E6M5+c7y6NNBCTAdc2Gs116oJ6qh2ldkHtWbxbYdxvwEPAejJt7NkINpw4CHq8cXAljhzqqV531EZAA18cWnAXSlvTy6WxYuVnr5N31up2VgPMhpqAMnywpsK/rczqJ/jvfAo7F+OokmlMb1RGQAFfHctY1OVult+FzsXjOJxOBGQlktybNibE32bZiCOwL/w9HGQrs05qZ2Zr5L+AejOcJT/cISIAnNWcez2fCA3W19Dasb/Umxb4r7WS3Ju02jdhmgX1h3RyPsX9XhqJ+TohAFjuwKsa7JtSimqmQgAS4QpiFqnLenh6olyQh/r9C5eTUbwJOOKa4eKa3Jnm82SZsSYfAvvCZW4h4lYlAOOb6ZvpxdrFwdI+ABLiJOXPmSiK8dnqgfq2JbqjNFhFwDgDmxdhzlr1ytk3r5jQF9rVo7prqirMw8AAwN4Y31Q21OzoBCfDo7MYv6WySHqhXpXO+v4xfqWroJAGP0c8fwGI6wVlbFtgXtqRDbulwNqzAvk5OeAWddnYB1sTYpoLaVEUDBCTADUCfpknn2emBukF6G76o6S6p/QkTcEJqysuwmE6wmE0F9p2X1o3egIqR64+X8w3gFIwL+jOoYY1EAtyW+Xbeks75whtQOOf7Q1u6pn7UTMDZD1gAi+kEi5szb/rxFu4ODmtGgX3F6XXb01kQeBiYB+Mf3R7McHsvAW7T3DtPSw/UzdP2YvgmVNZ3As73gb1HDq5ywnoJ29LhO9AgxArs6/+a2RlYG4ufOMo6SkAC3MaJc9ZPD9Rb0wP1N23spvpUAQFnGeAqjBeOVdtUYN86ac1cOlZ9KtxuAs7lwJkYX253R9W72RGQALd5fXjMiBQCLMJbzTlt7qr6NiIB5yPAohjvG7GGaYs5G6ejjBDYF9bNk5XUq0raQ8DjHeSPpu3nv7WnY+pJWQIS4LLEJu3vhDeasL34o/RAfXzSXVB7NRLwmO85XEcY0glWY86z0prZMB1lKLCvGrLtqMX5H2A9jHe0o0PqxagEJMCjkpt0ueyS9nDuE95qTp9082qvBgIeE2tcixHSCVZvWWBf+PF2QxJiBfZVT3nyNTohb8CXMM6dfONqsUoCEuAqadZdl7NWeqA+mIT4kbqbVP01EnD2AV6MxXSC9ZgzR9qSDoFa4cebzgzrIT2ZWrOUtr9KyTeUN2Ay1GtrRQJcG9oaK86S9r8/PVBPqbElVV0nAedG4ECMcF5brznrpR9vP1BgX72oa63d2R7YEIuR77KOE5AAd3UCnfDtZ9hefCxtL4ZvAmVdIeAsFbeGLaYTnJw5R0K8qzpk0VJg3+TIV9OSE3LIX4BxdjUVqpYmCUiAm6RfRdvOx4B901vNCVVUqTomQMDjtZRLYTGd4GRtKrDvnrRuwo84WdsJOPMAT6To5z+1vbvqXz4BCXA+o/Z7OKukc77wjzOc893f/k4PvIceA6MOwWI6wWbMORR4jwL7msFfulWPOxebYGxWuqwKtJKABLiV0zJipzy+CR+Uthc/N2ItKlY3AWcJ4BYsXqzQrDmvTUcZDymwr9mpyG3duRC4FOOMXF85dIKABLgT01Sikx5vyQlnw39PD9SwzShrEwHng8CyGO9uTbeywL6QizrsoHyhNf1SRzICznMh5oefD+P3wtIPAhLgfszjjKPIzhhDwE14oB7V12F2clzOdXFuLKYTbI85q6WjjHAmHNZNeCuWtYGAszWwBRYzncl6QkAC3JOJnOkwnJent+FwyUN4oN7V5+F2YmzOi4DbsZhOsJ3m7B+zc2WR0grsa8MsOV8BrsA4rQ3dUR+qISABroZju2vx+M1w2JbeH+OT7e5sz3vn7AGsgMV0gu21LLAvrJmw7RmEWIF9Tc2W85w0Dwti/K6pbqjd6glIgKtn2s4anZemB+pc6W04JGSQTZqAcw3wWSymE2y/TQX2hR2UY9vf4R720OOVg1tjhNzesh4RkAD3aDILDcXZLZ3zhU9gwmcoskkRcBYD7saYd1JNVtKOs0L68RbuGQ5CrMC+SsAWrMQ5D7gaQ1nvCiLripsEuCszVWU/nSXTA3XBtL0YbuSR1U3A2R1YBYvpBLtnzl5p3YQtaQX2TWIGnWem7efFMH49iSbVxuQISIAnx7p9LXm8XSmc8x2FcWD7OtizHjlXA8dhMZ1gN20qsO/p6W34zm4OpCO9drYAtsfYoCM9VjdLEJAAl4DVS1fnhUmEX5weqCFDk6xqAs4iwI+xmE6w+5YFk31GgX01T6XzJeDbGCfX3JKqb4CABLgB6K1s0tkhCfEJWPwMRVYlAWdXYHWMbausttG6svuMww7K3Arsq2EmnLDLEJJuLIHxyxpaUJUNE5AANzwBrWo+e0sLD9SXpQfqta3qX5c741wJnIzFdIL9siywL6ybwzAO6dfgGhyN8zZgZ4z1G+yFmq6RgAS4RridrdrZJm0vno7x4c6Ooy0ddxYCHky32PyzLd2qtB9ZfuuwJR0C+0Kk9E2V1j/EypyzgBuVDKW/ky8B7u/cjjcyZ/70VrNSeqB+c7wKB1w6C3Z7HRbTCfbbPOa3Dm/D4VtnBfaNOttOeDaHJChLY/xi1GpUrt0EJMDtnp/me+dsmR6o56dPlrz5TnWsB84VwGlYTCfYf5sK7Fs8rRkF9pWddWdTYDeMN5YtKv/uEJAAd2eumuupx8QR4a1m9fQ2HARFVoRAtpPwSAxUMkIii+HYVGDfiRj7DWfgFYzUOR24FeO4CmpTFS0lIAFu6cS0sltZUEg457s0CXG48lA2OwLOTsC6WNxJGJ45C6cfb8sosK/E9DtPAMth8cebrKcEJMA9ndjahpXdSxrehtdN24tBjGWzIuBcBpyNxXSCw7UssC+smzMU2JezDJyN4t3MxjrDXTDDGLkEeBjzXP0oPd5LGh6oIbtTiHr9c/WNdLxG5/nA4yn6+a8dH8343Z8K7Fs5/XhTYN/MqDqnAnfo8ovxl1zba5AAt32G2ty/LE9tEOG3JhHu3zeu4/DPzkDfjMV0grJ/E3DekY4yQmBf+PH2L8F5CgHnN8BKGD8Tl34TkAD3e34nMzqPeWqDEH83PVBD9h6Z81XgfIxzBGM6As7z0ppZQ4F904hvuHJwb4zXac30n4AEuP9zPJkROnOkB2p42wtvNUM/8wwC89u0/azt+VmtwiywL/x4C2fl4ZalYQf2OV8A7sH47GT+4aqVJglIgJuk38e2PX63GCKlb0tCPMwr1Jx3ARthUWBksyPgzJnWTAjsCz/ews7BMM35FbAqxkPDBDCsUUuAhzXfkxut80mIIhQeqGdPruGWtORcDFyExXSCsiIEsujf8Db8rUEG9jlvBj6K8doiuOTTfQIS4O7PYXtH4KydHqj3pe3Fx9rb2Qp75syV0gg+D+OPFdbc/6qmAvuCGIct6eEE9jknAfdj8UeIbAAEJMADmOTGh+gcCuyS3mpOa7w/dXcg++Z1c4xN6m6qt/VPBfbdmIS4/4F9TviBuibGA72dVw1sGgISYC2IyRBw1kznfA8nIf75ZBpuoBXnghhUZDGdoGxUAtmFBOFtMHy21O/APmc94EAspnuVDYSABHggE92aYXq8IWfP9FYTIj77Zc5zIG47z4/FdIKycQlkgX1BiG/vbWCfczzwMMaR4+JS+e4QkAB3Z67601NntfRA/WV6oIa7cvthzlbAVlgMKJJVSSAL7Ns+/XjrV2Cf8yjweoyfVIlMdbWbgAS43fPT7955vCEn/Be2F8MbQPfN+TJwJRbTCcqqJuC8Ph1lhMC+sG66f1eux7zqh2K8umpcqq/dBCTA7Z6f/vfOeWV6Gw7btuGB2t03AOdZKfp5USymE5TVRcA5JN6Xm0VKdzuwz/kc8CjG4XXhUr3tJCABbue8DK9XzochPlSDCB/TSQBZjuPtMN7Syf53rdNZYF84Gw45k4MQdzOwz2O/18O4t2tToP6OR0ACPB4/la6SgLN82l78RxLiH1VZfe11OecC12AxnaBsUgSmAvvCj7eTJ9VsJe1k38ofifGqSupTJZ0iIAHu1HQNpLMeo6RDOsvwQA3/b785T0/Rzy/CYjpB2SQJeDw/DW/DgX1YN90I7PO42/NLLH4rLxsYAQnwwCa8M8N1lk0P1HDlYdhevLPVfXc2B3bCeFOr+9n3zmWBffunNdP+wD4nfBe/IcbdfZ8ajW9GAhJgrYp2E3D2SEJ8AMYRre2sx3zXN2Cc2No+DqVjU4F9f0pC3M7APmct4GiMlYcyNRrntAQkwFoR7SfgvCRtSc+TthdvbVWns6sY/wAshcV0grI2EHD2iZ/3tDWwzzkKeALjoDbgUh8mT0ACPHnmanFUAs6u6W34cCxGTLfDnE2BXbGYTlDWJgJZYF84G/5n6wL7PJ5Tb4JxV5uQqS+TIyABnhxrtVQFAWeJ9EBdOD1Qv1dFtWPV4ZwB3NybZCJjwWhp4SywLwjx3q0I7Ms+oToOY8WWElO3JkBAAjwByGqiBgLOTmlbOpyhfbyGFopX6YSbepbBYjpBWVsJOMukNRMC+0Kk9B2NddX5FPBk42u3MQBqOBCQAGsddJeAs1h6qwlvxeGB+p2JD8bZGNgD4w0Tb1sNjkbAeV9aNx9vLLDPuR/YAosXTMgGSkACPNCJ79WwPSboD9uLJ2N8dKJj85gG8TYsphOUdYVAFtgX1sy8KVJ6coF9zmvSWn1FV3Cpn/UQkADXw1W1TpqAs1DaXgzfD4e34Wsm0gXnd8DynU2DOBFILW5kKrDvCIyDJ9LT7Fanv2N8bCLtqZHWEpAAt3Zq1LGRCDhbJyE+E4ufodRnzobp7SmkE5R1lYCzeHobXmQigX1OuMlpa4wfdBWZ+l0NAQlwNRxVS5sIOC9ID9RVkkBeVUv3nFOAuzGOrqV+VTpZAllgX9iWPqa24KgsZeZpWMz0Jhs4AQnwwBdAr4ef3U4UHqgXpDeb8C1odeb8GlgFi+kEZX0gMBXYt2T68VZtYJ9zWMQ06ViFPsxND8cgAe7hpGpITyHghOxZ4UKH8N1lOBu+vBI+zgbAvlhMJyjrGwHnXWndVBvY59wDbI9xS9+QaTzlCUiAyzNTiS4ScDZLb8NBgIMQ/22sYXi89u4+LKYTlPWRQBbYF3ZQXl5JYJ8TjkTOxnhZH3FpTOUJSIDLM1OJrhJw5kwP1JAyMojwJSMPxXkceE1nrr0beaAqSBbYF4Q4iOfeIxPxmD716Rj7jlyHCvaKgAS4V9OpwRQi4Lw1bS+GT5WCEIdbc4qbsz4Qbmdao3gheXaagDNfWjPhLTasmStLj8f5IbAzRvPpU0t3XgXqICABroOq6mw/AecZ6a0mZLIKD9QQqFXMnBOAB7GYTlA2JALOFmndXFgqsM9ZCTgfiwlAZCIQCUiAtRCGTcB5c3qg3pSiXp/IBeL8AlgLi+kEZUMjkAX2hS3pEIC3V6HAPucTwJxjbWEPjfMAxisBHsAka4gFCHiMlN4yvdWcO8sSzrrAwVhMJygbMoGpwL4rkhDPOrDPuRPYDeO7Q0amsU9LQAKsFSEC/yaQiWsQ4nBLTtiW/tUMcJzjgJ9jMZ2gbOgEnOekt+EQFzDzwD5nBeBijPBtsUwE/kNAAqzFIALTE3COAHZMbzVnTfNn5xFgXSymE5SJQEYgC+wL29LXzhDY5xwQL32weCexTAQkwFoDIjBbAs7r0wP1J+mB+ijOOkBI2r+q6InADASmAvs2ST/essA+5zbgAxjXi5oIPJWA3oC1HkRgdgSybzd3iyIMKwKPYSmdoMiJwMwIOG9KRxkhsC/kCz8Xixc+yERgGgISYC0IEcgj4PF737C9GL4BDck7whWEMhHII7AaxKxXNyllaR6qYf5dAjzMedeoRyHg8f7Wx0YpqjKDJbAM8FWM6wZLQAOfJQEJsBaHCIiACIiACDRAQALcAHQ1KQIiIAIiIAISYK0BERABERABEWiAgAS4AehqUgREQAREQAQkwFoDIiACIiACItAAAQlwA9DVpAiIgAiIgAhIgLUGREAEREAERKABAhLgBqCrSREQAREQARGQAGsNiIAIiIAIiEADBCTADUBXkyIgAiIgAiIgAdYaEAEREAEREIEGCEiAG4CuJkVABERABERAAqw1IAIiIAIiIAINEJAANwBdTYqACIiACIiABFhrQAREQAREQAQaICABbgC6mhQBERABERABCbDWgAiIgAiIgAg0QEAC3AB0NSkCIiACIiACEmCtAREQAREQARFogIAEuAHoalIEREAEREAEJMBaAyIgAiIgAiLQAAEJcAPQ1aQIiIAIiIAISIC1BkRABERABESgAQIS4Aagq0kREAEREAERkABrDYiACIiACIhAAwQkwA1AV5MiIAIiIAIiIAHWGhABERABERCBBghIgBuAriZFQAREQAREQAKsNSACIiACIiACDRCQADcAXU2KgAiIgAiIgARYa0AEREAEREAEGiAgAW4AupoUAREQAREQAQmw1oAIiIAIiIAINEBAAtwAdDUpAiIgAiIgAhJgrQEREAEREAERaICABLgB6GpSBERABERABCTAWgMiIAIiIAIi0AABCXAD0NWkCIiACIiACEiAtQZEQAREQAREoAECEuAGoKtJERABERABEZAAaw2IgAiIgAiIQAMEJMANQFeTIiACIiACIiAB1hoQAREQAREQgQYISIAbgK4mRUAEREAEREACrDUgAiIgAiIgAg0QkAA3AF1NioAIiIAIiMD/Bx2fgA5OuNAYAAAAAElFTkSuQmCC</pentrails><costumes><list id="497"><item><ref mediaID="Stage_cst_Untitled"></ref></item></list></costumes><sounds><list struct="atomic" id="498"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="164.67994019675461" y="48.368952529605394" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="0,255,0,1" pen="tip" id="503"><costumes><list struct="atomic" id="504"></list></costumes><sounds><list struct="atomic" id="505"></list></sounds><blocks></blocks><variables></variables><scripts><script x="607" y="48.166666666666515"><block s="receiveGo"></block><block s="doWarp"><script><block s="doSetVar"><l>objects</l><block s="reportNewList"><list></list></block></block><custom-block s="create cuboid %br xyz: %n %n %n %br whd: %n %n %n"><l>-100</l><l>-100</l><l>-100</l><l>200</l><l>200</l><l>200</l></custom-block></script></block><custom-block s="rotateXYZ %n %n %n"><l>25</l><l>45</l><l>0</l><variables><variable name="object"><list id="530"><item><list id="531"><item><list struct="atomic" id="532">132.17243766123417,70.46753719752857,-86.97570306701829</list></item><item><list struct="atomic" id="533">147.36527661445484,-27.355622011227002,86.80521408719609</list></item><item><list struct="atomic" id="534">11.091956500223786,-72.54069683971157,-156.8910953591893</list></item><item><list struct="atomic" id="535">26.28479545344502,-170.3638560484673,16.88982179502537</list></item><item><list struct="atomic" id="536">-26.28479545344502,170.3638560484673,-16.88982179502537</list></item><item><list struct="atomic" id="537">-11.091956500223786,72.54069683971157,156.8910953591893</list></item><item><list struct="atomic" id="538">-147.36527661445484,27.355622011227002,-86.80521408719609</list></item><item><list struct="atomic" id="539">-132.17243766123417,-70.46753719752857,86.97570306701829</list></item></list></item><item><list id="540"><item><list struct="atomic" id="541">1,2</list></item><item><list struct="atomic" id="542">2,4</list></item><item><list struct="atomic" id="543">4,3</list></item><item><list struct="atomic" id="544">3,1</list></item><item><list struct="atomic" id="545">5,6</list></item><item><list struct="atomic" id="546">6,8</list></item><item><list struct="atomic" id="547">8,7</list></item><item><list struct="atomic" id="548">7,5</list></item><item><list struct="atomic" id="549">1,5</list></item><item><list struct="atomic" id="550">2,6</list></item><item><list struct="atomic" id="551">3,7</list></item><item><list struct="atomic" id="552">4,8</list></item></list></item></list></variable><variable name="node"><l>0</l></variable></variables></custom-block><block s="doForever"><script><block s="doWarp"><script><block s="clear"></block><custom-block s="draw"><variables><variable name="nodes"><list id="561"><item><list struct="atomic" id="562">-164.67994019724557,-48.36895252959504,-23.25858395993609</list></item><item><list struct="atomic" id="563">-36.508663786087894,-132.89260487773493,104.9126924512216</list></item><item><list struct="atomic" id="564">-104.91269245122162,132.89260487773493,36.50866378608787</list></item><item><list struct="atomic" id="565">23.25858395993606,48.36895252959504,164.67994019724557</list></item><item><list struct="atomic" id="566">-23.25858395993606,-48.36895252959504,-164.67994019724557</list></item><item><list struct="atomic" id="567">104.91269245122162,-132.89260487773493,-36.50866378608787</list></item><item><list struct="atomic" id="568">36.508663786087894,132.89260487773493,-104.9126924512216</list></item><item><list struct="atomic" id="569">164.67994019724557,48.36895252959504,23.25858395993609</list></item></list></variable><variable name="edges"><list id="570"><item><list struct="atomic" id="571">1,2</list></item><item><list struct="atomic" id="572">2,4</list></item><item><list struct="atomic" id="573">4,3</list></item><item><list struct="atomic" id="574">3,1</list></item><item><list struct="atomic" id="575">5,6</list></item><item><list struct="atomic" id="576">6,8</list></item><item><list struct="atomic" id="577">8,7</list></item><item><list struct="atomic" id="578">7,5</list></item><item><list struct="atomic" id="579">1,5</list></item><item><list struct="atomic" id="580">2,6</list></item><item><list struct="atomic" id="581">3,7</list></item><item><list struct="atomic" id="582">4,8</list></item></list></variable><variable name="node"><ref id="569"></ref></variable></variables></custom-block></script></block></script></block></script><comment x="10" y="40.33333333333317" w="300" collapsed="false">each object is defined as follows ::&#xD;&#xD;index  |  property&#xD;&#xD;1         |  nodes  //  list of [x, y, z] coordinates&#xD;&#xD;2         |  edges  //  list of pairs of values [n1, n2] where n values are&#xD;                     indexes in nodes (xyz coords) that define the edge&#xD;&#xD;3         |  colors  //  two lists defining the pen [hue, sat, val, size]&#xD;                     for [1] edges (lines) and [2] nodes (points)&#xD;&#xD;the draw function is defined as follows ::&#xD;&#xD;iterate through objects, for each object :&#xD;&#xD;//  get properties&#xD;&#xD;set : nodes to object index[1],&#xD;        edges to object index[2],&#xD;        colors to object index[3];&#xD;&#xD;//  draw edges&#xD;&#xD;set pen [hue, sat, val, size] to colors index[1][1 - 4];&#xD;iterate through the edges, for each edge :&#xD;         set n1 to edge index[1],&#xD;         set n2 to edge index[2];&#xD;         set node1 to nodes index[n1],&#xD;         set node2 to nodes index[n2];&#xD;&#xD;         go to x pos node1 index[1],  //  (1st x coord)&#xD;                  y pos node1 index[2]; //  (1st y coord)&#xD;&#xD;         pen down;&#xD;&#xD;         go to x pos node2 index[1]  //  (2nd x coord)&#xD;                  y pos node2 index[2];  //  (2nd y coord)&#xD;&#xD;         pen up;&#xD;&#xD;//  draw nodes&#xD;&#xD;set pen [hue, sat, val, size] to colors index[2][1 - 4]&#xD;iterate through the nodes, for each node :&#xD;&#xD;         go to x pos node index[1],  //  (x coord)&#xD;                  y pos node index[2];  //  (y coord)&#xD;&#xD;         pen down;&#xD;         nudge;  //  move 0 steps (creates point)&#xD;         pen up;</comment><comment x="353" y="25.666666666666515" w="184" collapsed="false">//  rotateXYZ function( θx , θy , θz )&#xD;//  θxyz = angles to rotate about each &#xD;//  axis (in degrees) ; formulas below&#xD;&#xD;for each node [ x, y, z] :&#xD;&#xD;//  rotateX function( θx )&#xD;&#xD;y = ( y × cos( θx ) ) − ( z × sin( θx ) ) ;&#xD;z = ( z × cos( θx ) ) + ( y × sin( θx ) ) ;&#xD;&#xD;//  rotateY function( θy )&#xD;&#xD;z = ( z × cos( θy ) ) − ( x × sin( θy ) ) ;&#xD;x = ( x × cos( θy ) ) + ( z × sin( θy ) ) ;&#xD;&#xD;//  rotateZ function( θz )&#xD;&#xD;x = ( x × cos( θz ) ) − ( y × sin( θz ) ) ;&#xD;y = ( y × cos( θz ) ) + ( x × sin( θz ) ) ;&#xD;</comment><comment x="415" y="328.33333333333314" w="131" collapsed="false">if mouse is on the stage &amp;&amp; mouse is down :&#xD;&#xD;rotate about the x - axis by the change in mouse y ;&#xD;&#xD;rotate about the y - axis by the change in mouse y ;&#xD;&#xD;until mouse is released </comment><script x="608" y="309.8333333333329"><block s="receiveCondition"><block s="reportMouseDown"></block></block><block s="doDeclareVariables"><list><l>mX</l><l>mY</l></list></block><block s="doIf"><block s="reportLessThan"><block s="reportMonadic"><l><option>abs</option></l><block s="reportMouseX"></block></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><l>2</l></block></block><script><block s="doIf"><block s="reportLessThan"><block s="reportMonadic"><l><option>abs</option></l><block s="reportMouseY"></block></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><l>2</l></block></block><script><block s="doSetVar"><l>mX</l><block s="reportMouseX"></block></block><block s="doSetVar"><l>mY</l><block s="reportMouseY"></block></block><block s="doUntil"><block s="reportNot"><block s="reportMouseDown"></block></block><script><custom-block s="rotateXYZ %n %n %n"><block s="reportDifference"><block var="mY"/><block s="reportMouseY"></block></block><block s="reportDifference"><block s="reportMouseX"></block><block var="mX"/></block><l>0</l><variables><variable name="object"><list id="652"><item><list id="653"><item><list struct="atomic" id="654">-147.10284555772208,-36.333833937843856,83.90831508377623</list></item><item><list struct="atomic" id="655">10.271518564305357,58.73479186223915,162.6183265541822</list></item><item><list struct="atomic" id="656">-132.8716055321458,76.38310906014667,-80.68926256705774</list></item><item><list struct="atomic" id="657">24.502758589881203,171.45173486022924,-1.979251096651603</list></item><item><list struct="atomic" id="658">-24.502758589881203,-171.45173486022924,1.979251096651603</list></item><item><list struct="atomic" id="659">132.8716055321458,-76.38310906014667,80.68926256705774</list></item><item><list struct="atomic" id="660">-10.271518564305357,-58.73479186223915,-162.6183265541822</list></item><item><list struct="atomic" id="661">147.10284555772208,36.333833937843856,-83.90831508377623</list></item></list></item><item><list id="662"><item><list struct="atomic" id="663">1,2</list></item><item><list struct="atomic" id="664">2,4</list></item><item><list struct="atomic" id="665">4,3</list></item><item><list struct="atomic" id="666">3,1</list></item><item><list struct="atomic" id="667">5,6</list></item><item><list struct="atomic" id="668">6,8</list></item><item><list struct="atomic" id="669">8,7</list></item><item><list struct="atomic" id="670">7,5</list></item><item><list struct="atomic" id="671">1,5</list></item><item><list struct="atomic" id="672">2,6</list></item><item><list struct="atomic" id="673">3,7</list></item><item><list struct="atomic" id="674">4,8</list></item></list></item></list></variable><variable name="node"><list struct="atomic" id="675">41.19447485899095,26.16592603959726,-17.842633089941728</list></variable></variables></custom-block><block s="doSetVar"><l>mX</l><block s="reportMouseX"></block></block><block s="doSetVar"><l>mY</l><block s="reportMouseY"></block></block></script></block></script></block></script></block></script><script x="901" y="73.99999999999989"><custom-block s="create object %br nodes: %mult%l %br edges: %mult%l %br colors: %mult%l"><list><block s="reportNewList"><list><l>100</l><l>100</l><l>-100</l></list></block><block s="reportNewList"><list><l>100</l><l>-100</l><l>-100</l></list></block><block s="reportNewList"><list><l>-100</l><l>100</l><l>-100</l></list></block><block s="reportNewList"><list><l>-100</l><l>-100</l><l>-100</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>100</l></list></block></list><list><block s="reportNewList"><list><l>1</l><l>2</l></list></block><block s="reportNewList"><list><l>2</l><l>4</l></list></block><block s="reportNewList"><list><l>4</l><l>3</l></list></block><block s="reportNewList"><list><l>3</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>5</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l></list></block><block s="reportNewList"><list><l>3</l><l>5</l></list></block><block s="reportNewList"><list><l>4</l><l>5</l></list></block></list><list><block s="reportNewList"><list><l>33</l><l>100</l><l></l><l></l></list></block><block s="reportNewList"><list><l>100</l><l>100</l><l>4</l><l>4</l></list></block></list><comment w="90" collapsed="false">pyramid</comment></custom-block></script></scripts></sprite><watcher scope="Stage" s="getLastMessage" style="normal" x="5.235419327373393" y="16.229800961941244" color="230,168,34" hidden="true"/><watcher var="objects" style="normal" x="31.935562662876237" y="129.99423596304172" color="243,118,29" extX="128.5615234375" extY="35" hidden="true"/></sprites></stage><variables><variable name="objects"><list id="793"><item><list id="794"><item><ref id="561"></ref></item><item><ref id="570"></ref></item></list></item></list></variable></variables></scene></scenes></project><media name="3d2" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Untitled" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADotJREFUeF7t1cEJADAMxLBk/6Fb6BD1R1ngQAS8M3PGESBAgAABAl8FVoC/ehsjQIAAAQJPQIA9AgECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBC5oYGgQUTbVPQAAAABJRU5ErkJggg==" mediaID="Stage_cst_Untitled"/></media></snapdata>