<snapdata remixID="11474393"><project name="Node Editor" app="Snap! 10, https://snap.berkeley.edu" version="2"><notes>This project was really fun to make with some of the new 8.1 features. I tried to polish it up as much as possible for now, but will keep working on it.&#xD;&#xD;Controls:&#xD;- Press space to add a new node&#xD;- Connect node sockets by dragging&#xD;- Press on a socket to disconnect it from all others&#xD;- Press x to delete selected nodes&#xD;- Hover over a node and press e to evaluate it&#xD;- Press on nodes to select them and hold shift to append the selection&#xD;- Press a+shift to select all nodes&#xD;&#xD;When inside the editor, presentation mode runs slightly smoother.&#xD;&#xD;Edit 8.9.23:&#xD;- fixed a bug that made it impossible to type values to non-menu inputs&#xD;Edit: 30.7.24:&#xD;- refactoring&#xD;- added a grid&#xD;Edit: 31.7.24:&#xD;- made nodes resizable&#xD;- boolean input field are now toggeable&#xD;- nodes can now be compiled into snap code&#xD;- added optional node buttons&#xD;- add an output node</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAD29JREFUeF7tnXtQVNcdx78LLLC7vF/yRkQUowY1oqKNGjVaazoaX221kzhNjY7+kU7i6LTpJE3GahOTaZMZncaYOvWRyZg/NPFRNdoUrQ8U8RlRwQcohjfyZlke7e/gEh67cO89u7CY35lhVDzn3HO/53O+v985d+HqImITWvAEF09PPRoaLE65Q18fE6qqa5zSt9FoQG1tnVP61nt4wNLY6JS+1XaqYwDVSvZDfQZQu3bWlgyghIYMoIR4j5sygBIaMoAS4jGA8uIxgPIasgNKaMgASojHDigvHgMoryE7oISGDKCEeOyA8uIxgPIasgNKaMgASojHDigvHgMoryE7oISGDKCEeOyA8uIxgPIasgNKaMgASojHDigvHgMoryE7oISGDKCEeOyA8uIxgPIa6gYNGf5EfyBVr9fDYnHOB1JNJiNqamrlZ8FGDwaDF+rqzE7p28PDHY2NTU7pW22nHILVKtauPjughHgcguXFYwDlNWQHlNCQAZQQjx1QXjwGUF5DdkAJDRlACfHYAeXFYwDlNWQHlNCQAZQQjx1QXjwGUF5DdkAJDRlACfHYAeXFYwDlNWQHlNCQAZQQjx1QXjwGUF5DdkAJDRlACfHYAeXFYwDlNWQHlNCQAZQQjx1QXjwGUF5DdkAJDRlACfHYAeXFYwDlNWQHlNCQAZQQjx1QXjwGUF5DdkAJDRlACfHYAeXFYwDlNdRFDUx8on8ss7++J8RkNKDGWe8J0XvAYuH3hMgvHwU99FcA+UU1Cia3P1RhALvOEr8pqRfJZQAZwF7EreulGEAGkAHUoADngBpEc8Um7IDsgH3KJQPIADKAGhTgEKxBNFdswg7IDtinXDKADCADqFCBYQEj22o6euFUNVTgQW2e6J8PohVOiCOqOXoi24/J0R9GGB/6LMYEj3PEbXfp41JZBs4UpTGATlG3m06fBAADwn3hG2TC6NnD8J9/nkNlSQ2eXzERmQevY+Li0Tj4URpGzRqK+9cL4WnQIz+rkAFUC1qLwU9tE0X19Y8/+aEz1wLN9j8BsmiQ+l/a7eXpCXNDQ4/juFzqhlsVuh7r2XNAL5Mn/EJMSH4+Cce2nRH9PP/qRPx7ezpmvjoJ33x6GtNfmQB3Dzd8l5aD3CsPGcAe1e5UoTFqGGpmrFTbTHF9/51vdAvg+pRGDA1Q98k0QkpJiz9leOC7cu0AKr7JbipyCO5Bxe4A3LF4DIIMery0JxPl9RaMivBHQZUZ5qZmHFo2HhO2nES4r5f4nr0iA2D0T1ei+Ow+hE6cD0tlKdz03tD7haAwbRf8k1LRZK6Dm5cRxWf32ry8UgCTEgchIT7OEbx16ePOvTxk3brdP3JAH5PBKSJQp83NLaitq+/Sf3cAfvnrFNRbmnDwRiHS88oRYNDjtUmDEOPvjRN3y/DO8ZsC0BpLE8yNzTbHLgXg7JWouJkOY9RQmKKT4GH0R3Xed6jKyYDPwKdhLi8QIN794p1eA9DT0xNGoxGPHj0S1zQYDKirq+twfev3hg8fjnpzA0rLyrH7iy9t7oIjwkKcNucVVdU255wuaPNnQoID/RE5wDkDIvhu5+arAvDpCD80NDbDz1uPyw8r8LOkMPz3XhliA4y4VVKNgYEGBBu9kHanxG5IlAHQOlhjZCJqH2a3jd3RIViNAy5YsABBQUGoqKgQ4MXHx+P69etISEjAhQsXYDKZMGbMGGzevBmJiYniq31Zvuq1Dv9OjI+Bt5enUyCk+bZlOpoBdHd3x5tvvolPPvkE48ePR3Z2NlpaWkBvJbp69Wq3N2EPQPeIQfCa8kunCECd1u55D2i2v9FITRmNgAB/VddXCuC5jEsoLW91qu6KGgDHjRuHIUOGoKmpCVeuXMGwYcNQVlaGsLAwNDY2IjMzE6NHj8ZXX30l4NPrPVFZXY3Nf9+GT7d8BDUApqamCretra3F5MmTcfHiRXFtAp2uNXXqVJw9exYnT560eXsOB5CusmLFCgHg2rVrodPpRAi4e/cuvv76a5SXl9vV2R6AoSFBGDcmuac5Uv3/JYHD0aJzx4XL19CUcxqwdAxT1g6VABgaEoro6ChcvHRJNCMAhw4diqKiIpTZuefVMWmoqKjE5YfA+2d8HQagrY4oLDfY2ZW3zwF/8/JSFJeUYv/Bw23ddOeAc+fOFS4bEhIi5vjWrVuYPn06qv8PdGhoqDAdMqGqqqreA9DLy0u8g42snlYBFRKgsrJSuKG94ggA/fz8xMST2DQOEubEiRPw8PAQf3/w4AHWrVsnFsg1czAyh68Ww2kxV2OafwmOrp3dZXhKAHzqqaeQMnasuGe698LCQnFdcp1p06ahpKQUOh2Qk5ODkSNHYsfOnVg38BvEG0q6XC/u44gu31PjgGpXYudNyJaPP+zggmpCMBlOcHAwSkq63petcal2wJioCJAYzigVlVU4l3mlS9dqHJAAnDdvnsiB9u/f3wa+v78/SktL0dzcjBdffBHbt2/H9z5D2gBsfH8ykibPwdBpC7FvzQsdxqAEwKjISJFjUaFwRCCeOXMWY8c+I6IAuWBIcDByc3MRGBiEy1cuY0n4eRQWl6KowtLmgKlRDfhiQanoxwripy+U47mBDThfGY9dBeOxevVqMX5aVBRmaZF7e3uLe6W05/79+wJ0Co/Hjh0DaUL3bTabbb6csTOA7779B3z4t80oKW0dx7OpKfDz9XHGlOP0uUyUP6qw2bfNTcjA2CgMTxoiNZioqCjk53fcbORFTkW1RYfc+w/QfGJrh/7VAKhmYM1uHqL6keMnxA4cTQ2Y98EBHP3zK6gt/+GJgRIAO19XNgdsD6K179OPEgSAlNNRoUVFORw5bkZGhsjzZs2ahRs3bohcrNV5S+Dr6wvSnMLioUOHukhk6xjGmguue+N38PPzQe69e13mTI3W9ur2KoCLFy/G0aNHMWfOHLEqa2pqQJuWzz//HNnBqbgxaHHbOC1vtYpMxVkAWvv/17E04RDWQhBaXdDHx4SU0U/Dz8/Xbg5lS1xZANv3+UJiHaIiBmBAaAguVMUhOjpapBKUYtC4Ka2hUE9hnzZ75HT0p5ubm3BH0pickoo1JWrfvz0A29c5f/58/wdw0aJFOHDgAFauXCkmk0QpKCjA4cOHkR04HvfCJonw1bh5LvTvZqHpHy8DEUnwTkxFUIAvkm98JlY9JbTtgZFdiZ0BTJq5BGN/MhUZuz/AqhWvwODtjQuZmcjLzcWqVauwecuWHi/pSADpYr2ZA1oe5+103fnzfo6YyAjU1dX2fwB7mrVHFZU4lX6hrRpBaC3e5jJMPv9HAe+ePXtEuHFU6Qwg9fv2hr+guvA+EgcnCAchAB+Vl4MW0bbPPuvx0o4EMGXsGESFhyE0pDWHdOS9BwQEIP/7wm6fhLhcDhgTGS6cypGFjmpaoOsAIPXvNu5XMAx6BiHBQRiRvVMk1nTudPz4cYdd3haA1s4JwOFJiaCPV5US9C0tip7xOhLA1St+i1HJIwV8586dE3nd7NmzRTqzbNkysbny8fERX0eOHBHHIe3LlClTRLpDmyFKfShHpJ04tVcKYFFhgYhYFO6pHyqdTzTo+939f+cJi42NxaVrN9RvQgjArKwf3KnNpby9xQBICBKFdqKU+FKhXSE9GpowYQLOnGn91Eb7QoMxGE1dAKQ6vZ0Ddh6bdRPS3RFS5zZKAKQJU3IQTWlA8sgRYndrBXDmzJkCIDpaop3v4MGDBZh04JuX1/rhUmsh2O7cuQM6KqKd8u3bt8WflDPSvChxQAKQ5tRadu7ciTVr1ohrUv45Y8YMsfG5du2agJrSpKVLlyI8PFzsyImFbdu2dRmXQwGklUZnfTQAegxEK3HhwoUiZKSnp4tBUDijgSoG0NOIkOBAjB01Eu5N5rbnm46yPxprdw44c/pziIuNEuPOun5dLChaYPYOVnsaF0FHk08bhQHh4YoApD6tOSC5ELV1VKGx5D142GMItgXg8uXLsXXrVuzevRs095s2bUJ9fT3i4uLEBmnEiBHCbekxIH3v5s2bHVyTFoZDAaQNAhValbTiyNUIPtowWE/hIyMjRShRCqBb6ktwn/17WHNAWnEbN24UIK5fv17TPNTHjYO+7B7cq4oQERHRLYB/3bQBPiZT2yaEFhYdb3z77bea0pCkpCRxUHvq1ClNANKRiyM3YHSWmHs/v0cAS0uKhbk4stAju4tXs9SF4AFhIfD36/6xkdZBkrA5dzrC2RnA4uJivPfeeyIcbNiwQdOlKse/BL/0neITez0BuPHdt+Dl5Ylb2dliF0wAzp8/H3v37tUEIDkBPamh8KnUASkH9Pf3hRuF7Mc5ILkNjeH06dN4/fXXsWPHDsVPH2JiYgRM9AiN3LynEBwWGqxJZyWNzOYG0AMIW8UlfkOqLmESAvx9MXTwIAQ/yhLHNrRqCVbr2ZaSG21fp8XdE7pmi9hQ9AQgtbPmgGrcR0kOSGFKSQ5oaxNCi5ByKgpjaWlp4txvyZIl2Ldvn8jHdu3a1WGBUO5NT0soglgjEuWUSnJAtfo6qr5LAEg342Myii9HFwKZDmaLSlrTBHuFPl6vttB4q2t6PimgjU2DxdJt90t+sRCBAf4i8tATD4KInJQAmjRpkgjnycnJYkFSepOSkiJOCdpvmujkgHJw4Xj5+SAXpPxMyS5Y7b07qr7LAOioG+rcT3/6oaTB8XGIjgoXUInPc7TYXzBq9NLp3FBQVIybOa1HN/xjmWrUk6zbnwBsf6v8qzkkJ95VmjOAXWeCHbAX6WQAGcBexK3rpRhABpAB1KAA54AaRHPFJuyA7IB9yiUDyAAygBoU4BCsQTRXbMIOyA7Yp1wygAwgA6hBAQ7BGkRzxSbsgOyAfcolA8gAMoAaFOAQrEE0V2zCDsgO2KdcMoAMIAOoQQEOwRpEc8Um7IDsgH3KJQPIADKAGhTgEKxBNFdswg7IDtinXDKADCADqEEBDsEaRHPFJuyA7IB9yiUDyAAygBoU4BCsQTRXbMIOyA7Yp1wygAwgA6hBAQ7BGkRzxSbsgOyAfcolA8gAMoAaFOAQrEE0V2zCDsgO2KdcMoAMIAOoQYEfTQiOjh9i/+3SGoRztSZ6vQcsltYXaju6KP0l5VquazR4g17u7Yzi4e6Oxsdv1nRG/2r65F9SrkatTnXp3XJV1TUSPdhv+qNxwIjYhCfaATkH5BzQKQ6htFMGkAFUyopT6jGADKBTwFLaKQPIACplxSn1GEAG0ClgKe2UAWQAlbLilHoMIAPoFLCUdsoAujaA/wMm1pD+g1QbnwAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="Node Editor"><notes>This project was really fun to make with some of the new 8.1 features. I tried to polish it up as much as possible for now, but will keep working on it.&#xD;&#xD;Controls:&#xD;- Press space to add a new node&#xD;- Connect node sockets by dragging&#xD;- Press on a socket to disconnect it from all others&#xD;- Press x to delete selected nodes&#xD;- Hover over a node and press e to evaluate it&#xD;- Press on nodes to select them and hold shift to append the selection&#xD;- Press a+shift to select all nodes&#xD;&#xD;When inside the editor, presentation mode runs slightly smoother.&#xD;&#xD;Edit 8.9.23:&#xD;- fixed a bug that made it impossible to type values to non-menu inputs&#xD;Edit: 30.7.24:&#xD;- refactoring&#xD;- added a grid&#xD;Edit: 31.7.24:&#xD;- made nodes resizable&#xD;- boolean input field are now toggeable&#xD;- nodes can now be compiled into snap code&#xD;- added optional node buttons&#xD;- add an output node</notes><palette><category name="Editor" color="0,120,255,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="write %&apos;text&apos; size %&apos;size&apos; centered %&apos;vertically&apos; %&apos;horizontally&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">text</input><input type="%n" initial="1">10</input><input type="%s" initial="1">bottom<options>top&#xD;center&#xD;bottom</options></input><input type="%s" initial="1">left<options>left&#xD;center&#xD;right</options></input></inputs><script><custom-block s="let %upvar be %s"><l>start</l><block s="getPosition"></block></custom-block><custom-block s="let %upvar be %s"><l>width</l><custom-block s="width of text %s size %n"><block var="text"/><block var="size"/></custom-block></custom-block><custom-block s="let %upvar be %s"><l>height</l><block s="reportVariadicProduct"><list><block var="size"/><l>0.8</l></list></block></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><block var="vertically"/><l>top</l></list></block><script><block s="changeYPosition"><block s="reportMonadic"><l><option>neg</option></l><block var="height"/></block></block></script><list><block s="reportVariadicEquals"><list><block var="vertically"/><l>center</l></list></block><script><block s="changeYPosition"><block s="reportQuotient"><block var="height"/><l>-2</l></block></block></script></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="horizontally"/><l>center</l></list></block><script><block s="changeXPosition"><block s="reportQuotient"><block var="width"/><l>-2</l></block></block></script><list><block s="reportVariadicEquals"><list><block var="horizontally"/><l>right</l></list></block><script><block s="changeXPosition"><block s="reportMonadic"><l><option>neg</option></l><block var="width"/></block></block></script></list></block><block s="write"><block var="text"/><block var="size"/></block><block s="doGotoObject"><block var="start"/></block></script></block-definition><block-definition s="width of text %&apos;text&apos; size %&apos;size&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%n" initial="1">10</input></inputs><script><block s="doDeclareVariables"><list><l>start</l><l>char width</l></list></block><block s="doSetVar"><l>start</l><block s="xPosition"></block></block><block s="write"><l> </l><block var="size"/></block><block s="doSetVar"><l>char width</l><block s="reportDifference"><block s="xPosition"></block><block var="start"/></block></block><block s="setXPosition"><block var="start"/></block><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><block var="char width"/></list></block></block></script></block-definition><block-definition s="clamp text %&apos;text&apos; size %&apos;size&apos; to width %&apos;max width&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="width of text %s size %n"><block var="text"/><block var="size"/></custom-block><block var="max width"/></list></block><script><block s="doDeclareVariables"><list><l>max characters</l></list></block><block s="doSetVar"><l>max characters</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="max width"/><custom-block s="width of text %s size %n"><l> </l><block var="size"/></custom-block></block></block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block var="max characters"/><l>1</l></list></block><block s="reportJoinWords"><list><block s="reportLetter"><block s="reportCDR"><block s="reportNumbers"><l>0</l><block s="reportDifference"><block var="max characters"/><l>1</l></block></block></block><block var="text"/></block><l>…</l></list></block><l></l></block></block></script><script><block s="doReport"><block var="text"/></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="new costume of width %&apos;width&apos; height %&apos;height&apos; RGBA %&apos;rgba&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n">50</input><input type="%n">50</input><input type="%n">100</input></inputs><script><block s="doReport"><block s="reportNewCostumeStretched"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="rgba"/><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="rgba"/></block><l>2</l></list></block></list></block><block s="reportListItem"><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>2</l></list></block><block var="rgba"/></block><block var="rgba"/></block></list></block><l>1</l><l>1</l></block><block s="reportVariadicProduct"><list><block var="width"/><l>100</l></list></block><block s="reportVariadicProduct"><list><block var="height"/><l>100</l></list></block></block></block></script></block-definition><block-definition s="$flash group %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:o agrupamento dos itens de _ de acordo com _&#xD;ca:$flash agrupa _ per _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_group(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="// %&apos;comment&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%mlt"></input></inputs></block-definition><block-definition s="line of length %&apos;length&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">10</input></inputs><script><block s="down"></block><block s="forward"><block var="length"/></block><block s="up"></block></script></block-definition><block-definition s="select nodes %&apos;nodes&apos;" type="command" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>node</l><block var="selected nodes"/><script></script></block><block s="doSetVar"><l>selected nodes</l><block s="reportMonadic"><l><option>id</option></l><block var="nodes"/></block></block><block s="doForEach"><l>node</l><block var="selected nodes"/><script></script></block></script></block></script><scripts><script x="379" y="66.49999999999994"><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><block s="changeEffect"><l><option>brightness</option></l><l>-10</l></block></script><list></list></block><list></list></block></script><script x="360" y="128.33333333333326"><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><block s="changeEffect"><l><option>brightness</option></l><l>10</l></block></script><list></list></block><list></list></block></script></scripts></block-definition><block-definition s="length of %&apos;vector&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><block s="reportPower"><block var="vector"/><l>2</l></block></block></block></block></script></block-definition><block-definition s="create node templates" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>node templates</l><block s="reportNewList"><list></list></block></block><custom-block s="// %mlt"><l>inputs</l></custom-block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Value</l><l>Input</l><block s="reifyReporter"><autolambda><block var="#1"/></autolambda><list><l>#1</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l></l><l>any</l><l>0</l><l><bool>true</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l></l><l>any</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Time</l><l>Input</l><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportDate"><l></l></block></autolambda><list></list></block><list><block var="#1"/></list></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l></l><l>any</l><l>second</l><l><bool>true</bool></l><l><bool>true</bool></l><block s="reportNewList"><list><l>year</l><l>month</l><l>date</l><l>day of week</l><l>hour</l><l>minute</l><l>second</l><l>time in milliseconds</l></list></block></custom-block></list><list><custom-block s="output %s type %s"><l>Time</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><custom-block s="// %mlt"><l>math</l></custom-block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Add</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Result</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Subtract</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Result</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Multiply</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Result</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Divide</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportQuotient"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Result</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Power</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportPower"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Result</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Modulo</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportModulus"><block var="#1"/><block var="#2"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Result</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Round</l><l>Math</l><block s="reifyReporter"><autolambda><block s="reportRound"><block var="#1"/></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Result</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Math Function</l><l>Math</l><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l></l><l></l></block></autolambda><list></list></block><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l></l><l>any</l><l>sqrt</l><l><bool>true</bool></l><l><bool>true</bool></l><block s="reportNewList"><list><l>abs</l><l>neg</l><l>sign</l><l>ceiling</l><l>floor</l><l>sqrt</l><block s="reportNewList"><list></list></block><l>sin</l><l>cos</l><l>tan</l><l>asin</l><l>acos</l><l>atan</l><block s="reportNewList"><list></list></block><l>ln</l><l>log</l><l>lg</l><l>e^</l><l>10^</l><l>2^</l></list></block></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>Number</l><l>number</l><l>0</l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Result</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><custom-block s="// %mlt"><l>text</l></custom-block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Length</l><l>Text</l><block s="reifyReporter"><autolambda><block s="reportTextAttribute"><l><option>length</option></l><block var="#1"/></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>Text</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Length</l><l>number</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Letter</l><l>Text</l><block s="reifyReporter"><autolambda><block s="reportLetter"><block var="#2"/><block var="#1"/></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>Text</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>Index</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Letter</l><l>text</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Join</l><l>Text</l><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>text</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Text</l><l>text</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><custom-block s="// %mlt"><l>comparison</l></custom-block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Equals</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Boolean</l><l>boolean</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Less Than</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Boolean</l><l>boolean</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Greater Than</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>number</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Boolean</l><l>boolean</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>And</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicAnd"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>boolean</l><block s="reportBoolean"><l><bool>false</bool></l></block><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>boolean</l><block s="reportBoolean"><l><bool>false</bool></l></block><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Boolean</l><l>boolean</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Or</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportVariadicOr"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l><l>#2</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>A</l><l>boolean</l><block s="reportBoolean"><l><bool>false</bool></l></block><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>B</l><l>boolean</l><block s="reportBoolean"><l><bool>false</bool></l></block><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Boolean</l><l>boolean</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Not</l><l>Comparison</l><block s="reifyReporter"><autolambda><block s="reportNot"><block var="#1"/></block></autolambda><list><l>#1</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>Boolean</l><l>boolean</l><block s="reportBoolean"><l><bool>false</bool></l></block><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Boolean</l><l>boolean</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><custom-block s="// %mlt"><l>control</l></custom-block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>If Else</l><l>Control</l><block s="reifyReporter"><autolambda><block s="reportIfElse"><block var="#1"/><block var="#2"/><block var="#3"/></block></autolambda><list><l>#1</l><l>#2</l><l>#3</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>Condition</l><l>boolean</l><block s="reportBoolean"><l><bool>true</bool></l></block><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>True</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l>False</l><l>any</l><l></l><l><bool>false</bool></l><l><bool>true</bool></l><l/></custom-block></list><list><custom-block s="output %s type %s"><l>Output</l><l>any</l></custom-block></list><list></list></custom-block><block var="node templates"/></block><custom-block s="// %mlt"><l>output</l></custom-block><block s="doAddToList"><custom-block s="node %s category %s function %repRing inputs %mult%l outputs %mult%l buttons %mult%l"><l>Output</l><l>Output</l><block s="reifyReporter"><autolambda><block var="#1"/></autolambda><list><l>#1</l></list></block><list><custom-block s="input %s type %s default %s static? %b editable? %b menu %l"><l></l><l>any</l><l></l><l><bool>false</bool></l><l><bool>false</bool></l><l/></custom-block></list><list></list><list><custom-block s="button %s action %cmdRing"><l>Evaluate</l><block s="reifyScript"><script><block s="doReplaceInList"><l>label</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>inputs</l><block var="my properties"/></block></block><block s="evaluate"><block s="reportAttributeOf"><l><wish s="evaluate node" type="reporter" category="Editor"></wish></l><block s="reportGet"><l><option>self</option></l></block></block><list></list></block></block><block s="doRun"><block s="reportAttributeOf"><l><wish s="update node" type="command" category="Editor"></wish></l><block s="reportGet"><l><option>self</option></l></block></block><list></list></block></script><list></list></block></custom-block></list></custom-block><block var="node templates"/></block></script></block-definition><block-definition s="node %&apos;label&apos; category %&apos;category&apos; function %&apos;function&apos; inputs %&apos;inputs&apos; outputs %&apos;outputs&apos; buttons %&apos;buttons&apos;" type="reporter" category="Editor" space="true"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"><options>Input&#xD;Math&#xD;Text&#xD;Comparison&#xD;Control&#xD;Output&#xD;&#126;&#xD;Testing</options></input><input type="%repRing" initial="1"></input><input type="%mult%l" initial="1"></input><input type="%mult%l" initial="1"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>label</l><block var="label"/></list></block><block s="reportNewList"><list><l>category</l><block var="category"/></list></block><block s="reportNewList"><list><l>function</l><block var="function"/></list></block><block s="reportNewList"><list><l>inputs</l><block var="inputs"/></list></block><block s="reportNewList"><list><l>outputs</l><block var="outputs"/></list></block><block s="reportNewList"><list><l>buttons</l><block var="buttons"/></list></block></list></block></block></script></block-definition><block-definition s="input %&apos;label&apos; type %&apos;type&apos; default %&apos;default&apos; static? %&apos;static?&apos; editable? %&apos;editable?&apos; menu %&apos;menu&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"><options>any&#xD;number&#xD;text&#xD;boolean</options></input><input type="%s" initial="1"></input><input type="%b" initial="1">false</input><input type="%b" initial="1">true</input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>label</l><block var="label"/></list></block><block s="reportNewList"><list><l>type</l><block var="type"/></list></block><block s="reportNewList"><list><l>default</l><block var="default"/></list></block><block s="reportNewList"><list><l>static?</l><block var="static?"/></list></block><block s="reportNewList"><list><l>editable?</l><block var="editable?"/></list></block><block s="reportNewList"><list><l>menu</l><block var="menu"/></list></block></list></block></block></script></block-definition><block-definition s="output %&apos;label&apos; type %&apos;type&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%s" initial="1"><options>any&#xD;number&#xD;text&#xD;boolean</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>label</l><block var="label"/></list></block><block s="reportNewList"><list><l>type</l><block var="type"/></list></block></list></block></block></script></block-definition><block-definition s="cross size %&apos;size&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">5</input></inputs><script><block s="changeXPosition"><block var="size"/></block><block s="down"></block><block s="changeXPosition"><block s="reportVariadicProduct"><list><block var="size"/><l>-2</l></list></block></block><block s="up"></block><block s="changeXPosition"><block var="size"/></block><block s="changeYPosition"><block var="size"/></block><block s="down"></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><block var="size"/><l>-2</l></list></block></block><block s="up"></block><block s="changeYPosition"><block var="size"/></block></script></block-definition><block-definition s="draw connection from %&apos;a&apos; to %&apos;b&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>pos a</l><l>pos b</l></list></block><block s="doSetVar"><l>pos a</l><block s="reportIfElse"><block s="reportIsA"><block var="a"/><l><option>sprite</option></l></block><block s="reportAttributeOf"><l><option>position</option></l><block var="a"/></block><block var="a"/></block></block><block s="doSetVar"><l>pos b</l><block s="reportIfElse"><block s="reportIsA"><block var="b"/><l><option>sprite</option></l></block><block s="reportAttributeOf"><l><option>position</option></l><block var="b"/></block><block var="b"/></block></block><block s="doGotoObject"><block var="pos a"/></block><block s="doIf"><block s="reportIsA"><block var="a"/><l><option>sprite</option></l></block><script><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="a"/></block></block><block var="socket type colors"/></block></block></script><list></list></block><block s="down"></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="pos a"/><block var="pos a"/><block var="pos b"/></list></block><l>3</l></block></block><block s="reportListItem"><l>2</l><block var="pos a"/></block></block><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>sprite</option></l></block><script><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="getPenAttribute"><l><option>r-g-b-a</option></l></block><block s="reportListItem"><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="b"/></block></block><block var="socket type colors"/></block></list></block><l>2</l></block></block></script><list></list></block><block s="gotoXY"><block s="reportListItem"><l>1</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="pos a"/><block var="pos b"/><block var="pos b"/></list></block><l>3</l></block></block><block s="reportListItem"><l>2</l><block var="pos b"/></block></block><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>sprite</option></l></block><script><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="b"/></block></block><block var="socket type colors"/></block></block></script><list></list></block><block s="doGotoObject"><block var="pos b"/></block><block s="up"></block></script></block-definition><block-definition s="let %&apos;var&apos; be %&apos;value&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%upvar" initial="1"></input><input type="%s" initial="1"></input></inputs><script><block s="doSetVar"><l>var</l><block var="value"/></block></script></block-definition><block-definition s="safely try %&apos;action&apos; then if %&apos;error&apos; %&apos;handler&apos;" type="command" category="control"><comment x="0" y="0" w="276" collapsed="false">Catch errors.&#xD;&#xD;Runs the first script.  If it succeeds, nothing else happens.&#xD;But if it has an error (something that would otherwise result&#xD;in a red halo around the block), then the second script is run,&#xD;with the text of the error message that would have been shown in the variable ERROR.</comment><header></header><code></code><translations>pt:tenta executar _ e, em caso de erro _ , executa _&#xD;ca:prova de forma segura _ i si _ _&#xD;</translations><inputs><input type="%cs"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block var="action"/><block var="handler"/><block var="error"/></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><comment x="0" y="0" w="268.6666666666667" collapsed="false">Throw an error.&#xD;&#xD;Makes a red halo appear around the script that runs it,&#xD;with the input text shown in a speech balloon next to&#xD;the script, just like any Snap! error.&#xD;&#xD;This is useful to put in the second script of SAFELY TRY&#xD;after some other instructions to undo the partial work of&#xD;the first script.</comment><header></header><code></code><translations>pt:lança o erro _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="safely try reporting %&apos;this&apos; then if %&apos;error&apos; report %&apos;that&apos;" type="reporter" category="control"><comment x="0" y="0" w="316.6666666666667" collapsed="false">Catch errors in a reporter.&#xD;&#xD;Evaluates its first input.  If that expression successfully reports a value, this block reports that value.  If the expression causes a Snap! error,&#xD;then the final input slot is evaluated with the text of what would have&#xD;been the error message in variable ERROR.  SAFELY TRY then reports the value of that final expression.&#xD;&#xD;Sometimes you&apos;ll want to throw an error in the final expression.  You&#xD;can put an ERROR block inside a CALL block to do that.</comment><header></header><code></code><translations>ca:prova de forma segura reportant _ i si _ reportant _&#xD;</translations><inputs><input type="%anyUE"></input><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doDeclareVariables"><list><l>value</l></list></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doSetVar"><l>value</l><block s="evaluate"><block var="this"/><list></list></block></block></script><l>err</l><script><block s="doSetVar"><l>error</l><block var="err"/></block><block s="doSetVar"><l>value</l><block s="evaluate"><block var="that"/><list></list></block></block></script></custom-block><block s="doReport"><block var="value"/></block></script></block-definition><block-definition s="costume from %&apos;command&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>position</l><l>direction</l><l>costume</l><l>pen down?</l><l>trails</l><l>drawing</l></list></block><block s="doSetVar"><l>position</l><block s="getPosition"></block></block><block s="doSetVar"><l>direction</l><block s="direction"></block></block><block s="doSetVar"><l>costume</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>pen down?</l><block s="getPenDown"></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="setHeading"><l>90</l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doRun"><block var="command"/><list></list></block><block s="up"></block><block s="doSetVar"><l>drawing</l><block s="reportPenTrailsAsCostume"></block></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="clear"></block><block s="doStamp"></block><block s="doGotoObject"><block var="position"/></block><block s="setHeading"><block var="direction"/></block><block s="doSwitchToCostume"><block var="costume"/></block><block s="doIf"><block var="pen down?"/><script><block s="down"></block></script><list></list></block><block s="doReport"><block var="drawing"/></block></script></block></script></block-definition><block-definition s="button %&apos;label&apos; action %&apos;action&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s" initial="1"></input><input type="%cmdRing" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>label</l><block var="label"/></list></block><block s="reportNewList"><list><l>action</l><block var="action"/></list></block></list></block></block></script></block-definition></blocks><primitives><block-definition s="set %&apos;#1&apos; effect to %&apos;#2&apos;" type="command" category="looks" selector="setEffect" primitive="setEffect"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" irreplaceable="true">$_ghost<options>color=$_color&#xD;saturation=$_saturation&#xD;brightness=$_brightness&#xD;ghost=$_ghost&#xD;fisheye=$_fisheye&#xD;whirl=$_whirl&#xD;pixelate=$_pixelate&#xD;mosaic=$_mosaic&#xD;negative=$_negative</options></input><input type="%n">0</input></inputs><script><block s="doPrimitive"><l><bool>true</bool></l><l>setEffect</l></block></script></block-definition></primitives><stage name="Stage" width="480" height="360" costume="0" color="25,30,35,1" tempo="60" threadsafe="false" penlog="true" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1739"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="1740"></list></costumes><sounds><list struct="atomic" id="1741"></list></sounds><variables></variables><blocks></blocks><scripts><script x="30" y="146"><block s="receiveGo"></block><block s="setBackgroundColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportNewList"><list><l>25</l><l>30</l><l>35</l></list></block></block><block s="doSetVar"><l>camera position</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>camera zoom</l><l>1</l></block><block s="doSetVar"><l>selected nodes</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>dragged socket</l><l>0</l></block><block s="doSetVar"><l>node category colors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>input</l><block s="reportNewList"><list><l>70</l><l>70</l><l>70</l></list></block></list></block><block s="reportNewList"><list><l>math</l><block s="reportNewList"><list><l>10</l><l>125</l><l>180</l></list></block></list></block><block s="reportNewList"><list><l>text</l><block s="reportNewList"><list><l>85</l><l>160</l><l>20</l></list></block></list></block><block s="reportNewList"><list><l>comparison</l><block s="reportNewList"><list><l>200</l><l>100</l><l>30</l><l>250</l></list></block></list></block><block s="reportNewList"><list><l>control</l><block s="reportNewList"><list><l>130</l><l>70</l><l>150</l></list></block></list></block><block s="reportNewList"><list><l>output</l><block s="reportNewList"><list><l>70</l><l>70</l><l>70</l></list></block></list></block></list></block></block><block s="doSetVar"><l>socket type colors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>any</l><block s="reportNewList"><list><l>180</l><l>180</l><l>180</l></list></block></list></block><block s="reportNewList"><list><l>number</l><block s="reportNewList"><list><l>30</l><l>160</l><l>250</l></list></block></list></block><block s="reportNewList"><list><l>text</l><block s="reportNewList"><list><l>65</l><l>200</l><l>0</l></list></block></list></block><block s="reportNewList"><list><l>boolean</l><block s="reportNewList"><list><l>250</l><l>140</l><l>10</l></list></block></list></block></list></block></block><custom-block s="create node templates"></custom-block><block s="doBroadcast"><l>start</l><list></list></block></script><script x="30" y="528.6666666666666"><block s="receiveMessage"><l>start</l><list></list></block><block s="doForever"><script><block s="doWarp"><script><block s="doBroadcastAndWait"><l>update positions</l><list></list></block><block s="clear"></block><block s="doRun"><block s="reportAttributeOf"><l><wish s="draw" type="command" category="pen"></wish></l><l>Pen</l></block><list></list></block></script></block></script></block></script><script x="30" y="708.0000000000001"><block s="receiveInteraction"><l><option>pressed</option></l></block><block s="doDeclareVariables"><list><l>press camera pos</l><l>press mouse pos</l><l>dragging threshold</l></list></block><block s="doSetVar"><l>press camera pos</l><block s="reportMonadic"><l><option>id</option></l><block var="camera position"/></block></block><block s="doSetVar"><l>press mouse pos</l><block s="reportMousePosition"></block></block><block s="doSetVar"><l>dragging threshold</l><l>3</l></block><block s="doWaitUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><custom-block s="length of %l"><block s="reportDifference"><block s="reportMousePosition"></block><block var="press mouse pos"/></block></custom-block><block var="dragging threshold"/></list></block><block s="reportNot"><block s="reportMouseDown"></block></block></list></block></block><block s="doIfElse"><block s="reportMouseDown"></block><script><block s="doUntil"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doSetVar"><l>camera position</l><block s="reportVariadicSum"><list><block var="press camera pos"/><block s="reportQuotient"><block s="reportDifference"><block var="press mouse pos"/><block s="reportMousePosition"></block></block><block var="camera zoom"/></block></list></block></block></script></block></script><script><custom-block s="select nodes %l"><block s="reportNewList"><list></list></block></custom-block></script></block></script><script x="30" y="1107.3333333333335"><block s="receiveInteraction"><l><option>scrolled-up</option></l></block><block s="doSetVar"><l>camera zoom</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block var="camera zoom"/><l>1.2</l></list></block><block s="reportPower"><l>1.2</l><l>3</l></block></list></block></block></script><script x="30" y="1189.1666666666667"><block s="receiveInteraction"><l><option>scrolled-down</option></l></block><block s="doSetVar"><l>camera zoom</l><block s="reportVariadicMax"><list><block s="reportQuotient"><block var="camera zoom"/><l>1.2</l></block><block s="reportPower"><block s="reportQuotient"><l>1</l><l>1.2</l></block><l>7</l></block></list></block></block></script><script x="30" y="1289.1666666666667"><block s="receiveKey"><l><option>a</option></l><list></list></block><block s="doIf"><block s="reportKeyPressed"><block s="reportJoinWords"><list><l>shift</l></list></block></block><script><custom-block s="select nodes %l"><block s="reportAskFor"><l>Node</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block></custom-block></script><list></list></block></script><comment x="30" y="20" w="323" collapsed="false">Things I still want to add:&#xD;- variadic inputs (for JOIN)&#xD;- GUI and perhaps a small guide text when pressing the green flag&#xD;- more controls such as duplicating nodes or cutting connections&#xD;- drag select&#xD;- documentation for project and each sprite&#xD;- scroll anywhere</comment></scripts><sprites select="0"><sprite name="Node" idx="2" x="288.4732872971613" y="-188.59959470193837" heading="90" scale="0.6944444444444445" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="255,255,255,1" pen="tip" id="2079"><wear><ref mediaID="1"></ref></wear><costumes><list struct="atomic" id="2080"></list></costumes><sounds><list struct="atomic" id="2081"></list></sounds><blocks><block-definition s="new node %&apos;properties&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doSetVar"><l>my properties</l><block var="properties"/></block><block s="doDeclareVariables"><list><l>node</l></list></block><block s="doSetVar"><l>node</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><custom-block s="initialize node" scope="local"></custom-block><custom-block s="update node" scope="local"></custom-block></script><list></list></block><list></list></block><block s="doReport"><block var="node"/></block></script></block></script></block-definition><block-definition s="initialize node" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setScale"><l>100</l></block><block s="doSetVar"><l>my width</l><l>100</l></block><block s="doSetVar"><l>my input sockets</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>my output sockets</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>my buttons</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>input properties</l><block s="reportListItem"><l>inputs</l><block var="my properties"/></block><script><block s="doAddToList"><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new input socket of node %s properties %l" type="reporter" category="Editor"></wish></l><l>Input socket</l></block><list><block s="reportGet"><l><option>self</option></l></block><block var="input properties"/></list></block><block var="my input sockets"/></block></script></block><block s="doForEach"><l>output properties</l><block s="reportListItem"><l>outputs</l><block var="my properties"/></block><script><block s="doAddToList"><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new output socket of node %s properties %s" type="reporter" category="Editor"></wish></l><l>Output socket</l></block><list><block s="reportGet"><l><option>self</option></l></block><block var="output properties"/></list></block><block var="my output sockets"/></block></script></block><block s="doForEach"><l>button properties</l><block s="reportListItem"><l>buttons</l><block var="my properties"/></block><script><block s="doAddToList"><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new button of %s properties %l" type="reporter" category="Editor"></wish></l><l>Button</l></block><list><block s="reportGet"><l><option>self</option></l></block><block var="button properties"/></list></block><block var="my buttons"/></block></script></block></script><scripts><comment x="540.4148437499998" y="46.19999999999999" w="90" collapsed="false">create sockets</comment></scripts></block-definition><block-definition s="update node" type="command" category="Editor"><comment x="0" y="0" w="222" collapsed="false">redraw node, rearrange and update sockets</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><custom-block s="let %upvar be %s"><l>size</l><block s="getScale"></block></custom-block><block s="setScale"><l>100</l></block><block s="doSwitchToCostume"><custom-block s="costume from %cs"><script><custom-block s="let %upvar be %s"><l>left</l><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block></custom-block><custom-block s="let %upvar be %s"><l>top</l><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block></custom-block><block s="gotoXY"><block var="left"/><block s="reportDifference"><block var="top"/><l>10</l></block></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><l>20</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>category</l><block var="my properties"/></block><block var="node category colors"/></block></block><custom-block s="line of length %n"><block var="my width"/></custom-block><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><block s="reportQuotient"><block var="my width"/><l>2</l></block></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><custom-block s="write %txt size %n centered %s %s"><custom-block s="clamp text %s size %n to width %n"><block s="reportListItem"><l>label</l><block var="my properties"/></block><l>12</l><block s="reportDifference"><block var="my width"/><l>10</l></block></custom-block><l>12</l><l>center</l><l>center</l></custom-block><block s="doForEach"><l>socket</l><block var="my output sockets"/><script><block s="setXPosition"><block var="left"/></block><block s="changeYPosition"><l>-20</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>100</l></block><custom-block s="line of length %n"><block var="my width"/></custom-block><custom-block s="let %upvar be %s"><l>label</l><block s="reportListItem"><l>label</l><block s="reportAttributeOf"><l>my properties</l><block var="socket"/></block></block></custom-block><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><block s="reportDifference"><block var="my width"/><l>10</l></block></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><custom-block s="write %txt size %n centered %s %s"><block var="label"/><l>12</l><l>center</l><l>right</l></custom-block><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><block var="my width"/></list></block></block><block s="doTellTo"><block var="socket"/><block s="reifyScript"><script><block s="doGotoObject"><l></l></block></script><list></list></block><list><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="getPosition"></block><l>2</l></list></block><block s="reportNewList"><list><block var="left"/><block var="top"/></list></block></block></list></block></script></block><block s="doForEach"><l>socket</l><block var="my input sockets"/><script><block s="setXPosition"><block var="left"/></block><block s="changeYPosition"><l>-20</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>100</l></block><custom-block s="line of length %n"><block var="my width"/></custom-block><custom-block s="let %upvar be %s"><l>label</l><block s="reportListItem"><l>label</l><block s="reportAttributeOf"><l>my properties</l><block var="socket"/></block></block></custom-block><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><l>10</l></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><custom-block s="write %txt size %n centered %s %s"><block var="label"/><l>12</l><l>center</l><l>left</l></custom-block><block s="setXPosition"><block var="left"/></block><block s="doTellTo"><block var="socket"/><block s="reifyScript"><script><block s="doGotoObject"><l></l></block></script><list></list></block><list><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="getPosition"></block><l>2</l></list></block><block s="reportNewList"><list><block var="left"/><block var="top"/></list></block></block></list></block></script></block><block s="doForEach"><l>button</l><block var="my buttons"/><script><block s="setXPosition"><block var="left"/></block><block s="changeYPosition"><l>-20</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>100</l></block><custom-block s="line of length %n"><block var="my width"/></custom-block><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><l>5</l></list></block></block><block s="doTellTo"><block var="button"/><block s="reifyScript"><script><block s="doGotoObject"><l></l></block></script><list></list></block><list><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="getPosition"></block><l>2</l></list></block><block s="reportNewList"><list><block var="left"/><block var="top"/></list></block></block></list></block></script></block><block s="gotoXY"><block var="left"/><block var="top"/></block></script></custom-block></block><block s="doForEach"><l>socket</l><block var="my output sockets"/><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="update socket" type="command" category="Editor"></wish></l><block var="socket"/></block><list></list></block></script></block><block s="doForEach"><l>socket</l><block var="my input sockets"/><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="update socket" type="command" category="Editor"></wish></l><block var="socket"/></block><list></list></block></script></block><block s="doForEach"><l>button</l><block var="my buttons"/><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="update button" type="command" category="Editor"></wish></l><block var="button"/></block><list></list></block></script></block><block s="setScale"><block var="size"/></block></script></block></script></block-definition><block-definition s="pickup" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>offset</l><l>drag mouse down?</l></list></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block s="reportDifference"><block s="getPosition"></block><block s="reportMousePosition"></block></block><block var="camera zoom"/></block></block><block s="doSetVar"><l>drag mouse down?</l><block s="reportMouseDown"></block></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportMouseDown"></block><block var="drag mouse down?"/></list></block><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportMouseDown"></block><block var="drag mouse down?"/></list></block></block></list></block></block><script><block s="doSetVar"><l>my position</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportMousePosition"></block><block var="camera zoom"/></block><block var="offset"/><block var="camera position"/></list></block></block></script></block></script></block-definition><block-definition s="resize" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>offset</l></list></block><block s="doSetVar"><l>offset</l><block s="reportDifference"><block var="my width"/><block s="reportQuotient"><block s="reportMouseX"></block><block var="camera zoom"/></block></block></block><block s="doUntil"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doSetVar"><l>my width</l><block s="reportRound"><block s="reportVariadicMin"><list><block s="reportVariadicMax"><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportMouseX"></block><block var="camera zoom"/></block><block var="offset"/></list></block><l>100</l></list></block><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block></block></block><custom-block s="update node" scope="local"></custom-block></script></block></script></block-definition><block-definition s="delete node" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>input socket</l><block var="my input sockets"/><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="disconnect" type="command" category="Editor"></wish></l><block var="input socket"/></block><list></list></block></script></block><block s="doForEach"><l>output socket</l><block var="my output sockets"/><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="disconnect all" type="command" category="Editor"></wish></l><block var="output socket"/></block><list></list></block></script></block><block s="doDeleteFromList"><block s="reportGet"><l><option>self</option></l></block><block var="selected nodes"/></block><block s="removeClone"></block></script></block></script></block-definition><block-definition s="evaluate node" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>function</l><block var="my properties"/></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reportAttributeOf"><l><wish s="get input" type="reporter" category="Editor"></wish></l><l></l></block><list></list></block></autolambda><list></list></block><block var="my input sockets"/></block></block></block></script></block-definition><block-definition s="compile node" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="let %upvar be %s"><l>blocks</l><block s="reportNewList"><list><block s="reportTextSplit"><block s="reportListItem"><l>function</l><block var="my properties"/></block><l><option>blocks</option></l></block></list></block></custom-block><custom-block s="let %upvar be %s"><l>input names</l><block s="reportAttributeOf"><l><option>input names</option></l><block s="reportListItem"><l>function</l><block var="my properties"/></block></block></custom-block><custom-block s="let %upvar be %s"><l>inputs</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reportAttributeOf"><l><wish s="get compiled input" type="reporter" category="Editor"></wish></l><l></l></block><list></list></block></autolambda><list></list></block><block var="my input sockets"/></block></custom-block><custom-block s="let %upvar be %s"><l>replace</l><block s="reifyReporter"><autolambda><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><l/></block><block s="reifyReporter"><autolambda><block var=" "/></autolambda><list></list></block></list></block><block s="reportListContainsItem"><block var="input names"/><block s="reportListItem"><l>2</l><l/></block></block></list></block><block s="reportListItem"><block s="reportListIndex"><block s="reportListItem"><l>2</l><l/></block><block var="input names"/></block><block var="inputs"/></block><block s="evaluate"><block var="replace"/><list><l></l></list></block></block><l></l></block></autolambda><list></list></block><block var="data"/></block></autolambda><list><l>data</l></list></block></custom-block><block s="doReport"><block s="reportAttributeOf"><block s="reportJoinWords"><block s="reportListItem"><block s="reportNumbers"><l>1</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="blocks"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="input names"/></block></block></block><block s="evaluate"><block var="replace"/><list><block var="blocks"/></list></block></block></block><block s="reportGet"><l><option>self</option></l></block></block></block></script></block-definition></blocks><variables><variable name="my properties"><list id="2831"><item><list struct="atomic" id="2832">label,Equals</list></item><item><list struct="atomic" id="2833">category,Comparison</list></item><item><list id="2834"><item><l>function</l></item><item><context id="2835"><inputs><input>#1</input><input>#2</input></inputs><variables></variables><block s="reportVariadicEquals"><list><block var="#1"/><block var="#2"/></list></block><receiver><ref id="1739"></ref></receiver><origin><ref id="1739"></ref></origin><context id="2843"><inputs></inputs><variables><variable name="#1"><l>0</l></variable><variable name="#2"><l>0</l></variable><variable name="#3"><l>0</l></variable></variables><receiver><ref id="1739"></ref></receiver><origin></origin></context></context></item></list></item><item><list id="2845"><item><l>inputs</l></item><item><list id="2846"><item><list id="2847"><item><list struct="atomic" id="2848">label,A</list></item><item><list struct="atomic" id="2849">type,any</list></item><item><list struct="atomic" id="2850">default,</list></item><item><list id="2851"><item><l>static?</l></item><item><bool>false</bool></item></list></item><item><list id="2852"><item><l>editable?</l></item><item><bool>true</bool></item></list></item><item><list id="2853"><item><l>menu</l></item><item><list struct="atomic" id="2854"></list></item></list></item></list></item><item><list id="2855"><item><list struct="atomic" id="2856">label,B</list></item><item><list struct="atomic" id="2857">type,any</list></item><item><list struct="atomic" id="2858">default,</list></item><item><list id="2859"><item><l>static?</l></item><item><bool>false</bool></item></list></item><item><list id="2860"><item><l>editable?</l></item><item><bool>true</bool></item></list></item><item><list id="2861"><item><l>menu</l></item><item><list struct="atomic" id="2862"></list></item></list></item></list></item></list></item></list></item><item><list id="2863"><item><l>outputs</l></item><item><list id="2864"><item><list id="2865"><item><list struct="atomic" id="2866">label,Boolean</list></item><item><list struct="atomic" id="2867">type,boolean</list></item></list></item></list></item></list></item><item><list id="2868"><item><l>buttons</l></item><item><list struct="atomic" id="2869"></list></item></list></item></list></variable><variable name="my input sockets"><l>0</l></variable><variable name="my output sockets"><l>0</l></variable><variable name="my position"><list struct="atomic" id="2870">517.8042923286016,-254.60686464665332</list></variable><variable name="my width"><l>0</l></variable><variable name="my buttons"><l>0</l></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="setScale"><l>100</l></block><block s="clearEffects"></block><block s="hide"></block></script><script x="20" y="129.66666666666669"><block s="receiveOnClone"></block><block s="doForever"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block><block s="reportKeyPressed"><l><option>e</option></l></block></list></block><script><custom-block s="let %upvar be %s"><l>label</l><block s="reportListItem"><l>label</l><block var="my properties"/></block></custom-block><block s="doUntil"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block><block s="reportKeyPressed"><l><option>e</option></l></block></list></block></block><script><block s="doReplaceInList"><l>label</l><block var="my properties"/><custom-block s="evaluate node" scope="local"></custom-block></block><custom-block s="update node" scope="local"></custom-block></script></block><block s="doReplaceInList"><l>label</l><block var="my properties"/><block var="label"/></block><custom-block s="update node" scope="local"></custom-block></script><list></list></block></script></block></script><script x="20" y="409.08333333333337"><block s="receiveInteraction"><l><option>pressed</option></l></block><block s="doIf"><block s="reportKeyPressed"><block s="reportJoinWords"><list><l>shift</l></list></block></block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="selected nodes"/><block s="reportGet"><l><option>self</option></l></block></block><script><custom-block s="select nodes %l"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><l></l><block s="reportGet"><l><option>self</option></l></block></list></block></block></autolambda><list></list></block><block var="selected nodes"/></block></custom-block></script><script><custom-block s="select nodes %l"><block s="reportCONS"><block s="reportGet"><l><option>self</option></l></block><block var="selected nodes"/></block></custom-block></script></block></script><list><block s="reportVariadicLessThanOrEquals"><list><custom-block s="length of %l"><block s="reportDifference"><block s="reportMousePosition"></block><block s="reportNewList"><list><block s="reportGet"><l><option>right</option></l></block><block s="reportGet"><l><option>bottom</option></l></block></list></block></block></custom-block><l>10</l></list></block><script><custom-block s="resize" scope="local"></custom-block></script><l><bool>true</bool></l><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="selected nodes"/><block s="reportGet"><l><option>self</option></l></block></block></block><script><custom-block s="select nodes %l"><block s="reportNewList"><list><block s="reportGet"><l><option>self</option></l></block></list></block></custom-block></script><list></list></block><block s="doBroadcast"><l>pickup node</l><list><block var="selected nodes"/></list></block></script></list></block></script><script x="20" y="847.1666666666669"><block s="receiveMessage"><l>pickup node</l><list></list></block><custom-block s="pickup" scope="local"></custom-block></script><script x="20" y="917.0000000000002"><block s="receiveMessage"><l>update positions</l><list></list></block><block s="doGotoObject"><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="my position"/><block var="camera position"/></block><block var="camera zoom"/></list></block></block><block s="setScale"><block s="reportVariadicProduct"><list><block var="camera zoom"/><l>100</l></list></block></block></script><script x="20" y="1024.666666666667"><block s="receiveKey"><l><option>x</option></l><list></list></block><block s="doIf"><block s="reportListContainsItem"><block var="selected nodes"/><block s="reportGet"><l><option>self</option></l></block></block><script><custom-block s="delete node" scope="local"></custom-block></script><list></list></block></script></scripts></sprite><sprite name="Menu" idx="1" x="5.517241379310235" y="-22.413793103448256" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,98.17499999999997,140.25,1" pen="tip" id="3074"><wear><ref mediaID="2"></ref></wear><costumes><list struct="atomic" id="3075"></list></costumes><sounds><list struct="atomic" id="3076"></list></sounds><blocks><block-definition s="open new node menu" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doGotoObject"><l><option>mouse-pointer</option></l></block><block s="doAsk"><block s="reportNewList"><list><l>Add Node</l><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportListItem"><l>label</l><block var="value"/></block><block s="reifyReporter"><autolambda><block var="value"/></autolambda><list></list></block></list></block></autolambda><list><l>value</l></list></block><block s="reportListItem"><l>2</l><l/></block></block></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNewList"><list><block s="reportNewList"><list></list></block><block s="reportNewList"><list><l>1</l><l>3</l></list></block></list></block><custom-block s="$flash group %l by %repRing"><block var="node templates"/><block s="reifyReporter"><autolambda><block s="reportListItem"><l>category</l><l/></block></autolambda><list></list></block></custom-block></block></block><block s="reportNewList"><list><block s="reportNewList"><list></list></block></list></block><block s="reportNewList"><list><l>Close</l></list></block></list></block></list></block></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>reporter</option></l></block><script><block s="doDeclareVariables"><list><l>node</l></list></block><block s="doSetVar"><l>node</l><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new node %l" type="reporter" category="Editor"></wish></l><l>Node</l></block><list><block s="evaluate"><block s="getLastAnswer"></block><list></list></block></list></block></block><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><block s="doSetVar"><l>my position</l><block s="reportVariadicSum"><list><block s="reportMousePosition"></block><block var="camera position"/></list></block></block><block s="doGotoObject"><block s="reportVariadicSum"><list><block s="reportMousePosition"></block><block s="reportNewList"><list><block s="reportQuotient"><block var="my width"/><l>-2</l></block><l>10</l></list></block></list></block></block></script><list></list></block><list></list></block><custom-block s="select nodes %l"><block s="reportNewList"><list><block var="node"/></list></block></custom-block><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><block s="show"></block></script><list></list></block><list></list></block><block s="doRun"><block s="reportAttributeOf"><l><wish s="pickup" type="command" category="Editor"></wish></l><block var="node"/></block><list></list></block></script><list></list></block></script></block-definition></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="doSwitchToCostume"><custom-block s="new costume of width %n height %n RGBA %n"><l>1</l><l>1</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></custom-block></block></script><script x="20" y="112.83333333333331"><block s="receiveMessage"><l>start</l><list></list></block><block s="doDeclareVariables"><list><l>node</l></list></block><block s="doSetVar"><l>node</l><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new node %l" type="reporter" category="Editor"></wish></l><l>Node</l></block><list><block s="reportListItem"><l>21</l><block var="node templates"/></block></list></block></block><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><block s="doSetVar"><l>my position</l><block s="reportNewList"><list><l>0</l><l>0</l></list></block></block><block s="doGotoObject"><l><option>center</option></l></block></script><list></list></block><list></list></block><custom-block s="select nodes %l"><block s="reportNewList"><list><block var="node"/></list></block></custom-block><block s="doTellTo"><block var="node"/><block s="reifyScript"><script><block s="show"></block></script><list></list></block><list></list></block></script><script x="20" y="358.16666666666674"><block s="receiveKey"><l><option>space</option></l><list></list></block><custom-block s="open new node menu" scope="local"></custom-block></script></scripts></sprite><sprite name="Input socket" idx="3" x="-67.68018484336994" y="-150.49670598514695" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="65,201,0,1" pen="tip" id="3341"><wear><ref mediaID="3"></ref></wear><costumes><list struct="atomic" id="3342"></list></costumes><sounds><list struct="atomic" id="3343"></list></sounds><blocks><block-definition s="new input socket of node %&apos;node&apos; properties %&apos;properties&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>my connection</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>my node</l><block var="node"/></block><block s="doSetVar"><l>my properties</l><block var="properties"/></block><block s="doDeclareVariables"><list><l>socket</l></list></block><block s="doSetVar"><l>socket</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="socket"/><block s="reifyScript"><script><custom-block s="initialize socket" scope="local"></custom-block><custom-block s="update socket" scope="local"></custom-block></script><list></list></block><list></list></block><block s="doReport"><block var="socket"/></block></script></block-definition><block-definition s="initialize socket" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l><option>my anchor</option></l><block var="my node"/></block><block s="setEffect"><l><option>ghost</option></l><block s="reportIfElse"><block s="reportListItem"><l>static?</l><block var="my properties"/></block><l>100</l><l>0</l></block></block><block s="doIf"><block s="reportListItem"><l>editable?</l><block var="my properties"/></block><script><block s="doSetVar"><l>my input field</l><block s="evaluate"><block s="reportAttributeOf"><l><wish s="new input field of %s" type="reporter" category="Editor"></wish></l><l>Input field</l></block><list><block s="reportGet"><l><option>self</option></l></block></list></block></block><block s="doTellTo"><block var="my input field"/><block s="reifyScript"><script><block s="gotoXY"><l></l><l></l></block><block s="doSetVar"><l><option>my anchor</option></l><l></l></block></script><list></list></block><list><block s="reportVariadicSum"><list><block s="xPosition"></block><l>10</l></list></block><block s="yPosition"></block><block s="reportGet"><l><option>self</option></l></block></list></block></script><list></list></block></script></block-definition><block-definition s="update socket" type="command" category="Editor"><comment x="0" y="0" w="90" collapsed="false">redraw socket and update input field</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><custom-block s="new costume of width %n height %n RGBA %n"><l>10</l><l>10</l><block s="reportListItem"><block s="reportListItem"><l>type</l><block var="my properties"/></block><block var="socket type colors"/></block></custom-block></block><block s="doIf"><block s="reportIsA"><block var="my input field"/><l><option>sprite</option></l></block><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="update input field" type="command" category="Editor"></wish></l><block var="my input field"/></block><list></list></block></script><list></list></block></script><scripts><script x="459" y="95.63333333333333"><custom-block s="costume from %cs"><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><l>10</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>150</l></block><block s="setXPosition"><l>-5</l></block><block s="down"></block><block s="setXPosition"><l>5</l></block><block s="up"></block><block s="setSize"><l>8</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>type</l><block var="my properties"/></block><block var="socket type colors"/></block></block><block s="setXPosition"><l>-4</l></block><block s="down"></block><block s="setXPosition"><l>4</l></block><block s="up"></block><block s="gotoXY"><l>0</l><l>0</l></block></script></custom-block></script></scripts></block-definition><block-definition s="disconnect" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportIsA"><block var="my connection"/><l><option>sprite</option></l></block><script><block s="doRun"><block s="reportAttributeOf"><l><wish s="disconnect from %s" type="command" category="Editor"></wish></l><block var="my connection"/></block><list><block s="reportGet"><l><option>self</option></l></block></list></block></script><list></list></block></script></block-definition><block-definition s="get input" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="my connection"/><l><option>sprite</option></l></block><block s="evaluate"><block s="reportAttributeOf"><l><wish s="get output" type="reporter" category="Editor"></wish></l><block var="my connection"/></block><list></list></block><block s="reportIfElse"><block s="reportListItem"><l>editable?</l><block var="my properties"/></block><block s="reportAttributeOf"><l>my value</l><block var="my input field"/></block><block s="reportListItem"><l>default</l><block var="my properties"/></block></block></block></block></script></block-definition><block-definition s="get compiled input" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="my connection"/><l><option>sprite</option></l></block><block s="evaluate"><block s="reportAttributeOf"><l><wish s="get compiled output" type="reporter" category="Editor"></wish></l><block var="my connection"/></block><list></list></block><block s="reportIfElse"><block s="reportListItem"><l>editable?</l><block var="my properties"/></block><block s="reportAttributeOf"><l>my value</l><block var="my input field"/></block><block s="reportListItem"><l>default</l><block var="my properties"/></block></block></block></block></script></block-definition></blocks><variables><variable name="my node"></variable><variable name="my connection"><list struct="atomic" id="3598"></list></variable><variable name="my properties"><ref id="2855"></ref></variable><variable name="my input field"><l>0</l></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="hide"></block></script><script x="20" y="90.83333333333334"><block s="receiveInteraction"><l><option>mouse-entered</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>-20</l></block></script><script x="20" y="164.83333333333337"><block s="receiveInteraction"><l><option>mouse-departed</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>20</l></block></script><script x="20" y="238.83333333333337"><block s="receiveInteraction"><l><option>pressed</option></l></block><custom-block s="disconnect" scope="local"></custom-block></script><script x="20" y="308.66666666666663"><block s="receiveMessage"><l>connection updated</l><list></list></block><block s="doIfElse"><block s="reportIsA"><block var="my connection"/><l><option>sprite</option></l></block><script><block s="doTellTo"><block var="my input field"/><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="my input field"/><block s="reifyScript"><script><block s="show"></block></script><list></list></block><list></list></block></script></block></script></scripts></sprite><sprite name="Output socket" idx="4" x="191.59599467331645" y="149.01499682762972" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="33,158,255,1" pen="tip" id="3650"><wear><ref mediaID="4"></ref></wear><costumes><list struct="atomic" id="3651"></list></costumes><sounds><list struct="atomic" id="3652"></list></sounds><blocks><block-definition s="new output socket of node %&apos;node&apos; properties %&apos;propertes&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>my connections</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>my node</l><block var="node"/></block><block s="doSetVar"><l>my properties</l><block var="propertes"/></block><block s="doDeclareVariables"><list><l>socket</l></list></block><block s="doSetVar"><l>socket</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="socket"/><block s="reifyScript"><script><custom-block s="initialize socket" scope="local"></custom-block></script><list></list></block><list></list></block><block s="doReport"><block var="socket"/></block></script></block-definition><block-definition s="initialize socket" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l><option>my anchor</option></l><block var="my node"/></block><custom-block s="update socket" scope="local"></custom-block></script></block-definition><block-definition s="update socket" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSwitchToCostume"><custom-block s="new costume of width %n height %n RGBA %n"><l>10</l><l>10</l><block s="reportListItem"><block s="reportListItem"><l>type</l><block var="my properties"/></block><block var="socket type colors"/></block></custom-block></block></script><scripts><script x="473" y="42.633333333333326"><custom-block s="costume from %cs"><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><l>10</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>150</l></block><block s="setXPosition"><l>-5</l></block><block s="down"></block><block s="setXPosition"><l>5</l></block><block s="up"></block><block s="setSize"><l>8</l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportListItem"><block s="reportListItem"><l>type</l><block var="my properties"/></block><block var="socket type colors"/></block></block><block s="setXPosition"><l>-4</l></block><block s="down"></block><block s="setXPosition"><l>4</l></block><block s="up"></block><block s="gotoXY"><l>0</l><l>0</l></block></script></custom-block></script></scripts></block-definition><block-definition s="can connect to %&apos;socket&apos; ?" type="predicate" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportListItem"><l>hidden?</l><block s="reportAttributeOf"><l>my properties</l><block var="socket"/></block></block></block></block></script></block-definition><block-definition s="connect to %&apos;input socket&apos;" type="command" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportIsA"><block s="reportAttributeOf"><l>my connection</l><block var="input socket"/></block><l><option>sprite</option></l></block><script><block s="doTellTo"><block s="reportAttributeOf"><l>my connection</l><block var="input socket"/></block><block s="reifyScript"><script><block s="doDeleteFromList"><l></l><block var="my connections"/></block></script><list></list></block><list><block var="input socket"/></list></block></script><list></list></block><block s="doTellTo"><block var="input socket"/><block s="reifyScript"><script><block s="doSetVar"><l>my connection</l><l></l></block></script><list></list></block><list><block s="reportGet"><l><option>self</option></l></block></list></block><block s="doAddToList"><block var="input socket"/><block var="my connections"/></block><block s="doBroadcast"><l>connection updated</l><list><block var="input socket"/></list></block></script></block></script></block-definition><block-definition s="disconnect from %&apos;input socket&apos;" type="command" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doTellTo"><block var="input socket"/><block s="reifyScript"><script><block s="doSetVar"><l>my connection</l><l>0</l></block></script><list></list></block><list></list></block><block s="doDeleteFromList"><block var="input socket"/><block var="my connections"/></block><block s="doBroadcast"><l>connection updated</l><list><block var="input socket"/></list></block></script></block></script></block-definition><block-definition s="disconnect all" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>input socket</l><block s="reportMonadic"><l><option>id</option></l><block var="my connections"/></block><script><custom-block s="disconnect from %s" scope="local"><block var="input socket"/></custom-block></script></block></script></block></script></block-definition><block-definition s="get output" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><l><wish s="evaluate node" type="reporter" category="Editor"></wish></l><block var="my node"/></block><list></list></block></block></script></block-definition><block-definition s="get compiled output" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><l><wish s="compile node" type="reporter" category="Editor"></wish></l><block var="my node"/></block><list></list></block></block></script></block-definition></blocks><variables><variable name="my connections"><list id="3881"><item></item></list></variable><variable name="my node"></variable><variable name="my properties"><ref id="2865"></ref></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="hide"></block></script><script x="20" y="90.83333333333334"><block s="receiveInteraction"><l><option>mouse-entered</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>-20</l></block></script><script x="20" y="164.83333333333337"><block s="receiveInteraction"><l><option>mouse-departed</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>20</l></block></script><script x="20" y="238.83333333333337"><block s="receiveInteraction"><l><option>pressed</option></l></block><block s="doIf"><block s="reportIsA"><block var="dragged socket"/><l><option>sprite</option></l></block><script><block s="doStopThis"><l><option>this script</option></l></block></script><list></list></block><block s="doSetVar"><l>dragged socket</l><block s="reportGet"><l><option>self</option></l></block></block><block s="doWaitUntil"><block s="reportNot"><block s="reportMouseDown"></block></block></block><block s="doDeclareVariables"><list><l>valid sockets</l></list></block><block s="doSetVar"><l>valid sockets</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><block s="reportAskFor"><l></l><block s="reifyReporter"><autolambda><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="can connect to %s ?" scope="local"><l></l></custom-block></list></block></autolambda><list></list></block><block s="reportAskFor"><l>Input socket</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block></block></block><block s="doSetVar"><l>dragged socket</l><l>0</l></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="valid sockets"/></block></block><script><custom-block s="connect to %s" scope="local"><block s="reportListItem"><l><option>last</option></l><block var="valid sockets"/></block></custom-block></script><list></list></block></script><script x="20" y="637.6666666666667"><block s="receiveInteraction"><l><option>clicked</option></l></block><custom-block s="disconnect all" scope="local"></custom-block></script></scripts></sprite><sprite name="Input field" idx="5" x="-89.40400532668514" y="-102.43382490850252" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="128,128,128,1" pen="tip" id="3985"><costumes><list struct="atomic" id="3986"></list></costumes><sounds><list struct="atomic" id="3987"></list></sounds><blocks><block-definition s="new input field of %&apos;socket&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>my socket</l><block var="socket"/></block><block s="doDeclareVariables"><list><l>field</l></list></block><block s="doSetVar"><l>field</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="field"/><block s="reifyScript"><script><custom-block s="initialize input field" scope="local"></custom-block><custom-block s="update input field" scope="local"></custom-block></script><list></list></block><list></list></block><block s="doReport"><block var="field"/></block></script></block-definition><block-definition s="initialize input field" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>my value</l><block s="reportListItem"><l>default</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block></block></script></block-definition><block-definition s="update input field" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>size</l><l>width</l></list></block><block s="doSetVar"><l>size</l><block s="getScale"></block></block><block s="doSetVar"><l>width</l><block s="reportDifference"><block s="reportAttributeOf"><l>my width</l><block s="reportAttributeOf"><l>my node</l><block var="my socket"/></block></block><block s="reportVariadicSum"><list><l>10</l><block s="reportIfElse"><block s="reportListItem"><l>static?</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>0</l><l>5</l></block></list></block></block></block><block s="setScale"><l>100</l></block><block s="doSwitchToCostume"><custom-block s="costume from %cs"><script><custom-block s="let %upvar be %s"><l>left</l><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block></custom-block><custom-block s="let %upvar be %s"><l>top</l><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block></custom-block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="gotoXY"><block var="left"/><block s="reportDifference"><block var="top"/><l>7.5</l></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportIfElse"><block s="reportListIsEmpty"><block s="reportListItem"><l>menu</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block></block><l>75</l><l>45</l></block></block><block s="setSize"><l>15</l></block><block s="down"></block><block s="changeXPosition"><block var="width"/></block><block s="up"></block><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><l>5</l></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><custom-block s="let %upvar be %s"><l>label</l><custom-block s="clamp text %s size %n to width %n"><block s="reportListItem"><l>label</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>12</l><block s="reportDifference"><block var="width"/><block s="reportVariadicSum"><list><custom-block s="width of text %s size %n"><block s="reportJoinWords"><list><block var="my value"/></list></block><l>12</l></custom-block><l>15</l></list></block></block></custom-block></custom-block><custom-block s="write %txt size %n centered %s %s"><block var="label"/><l>12</l><l>center</l><l>left</l></custom-block><custom-block s="let %upvar be %s"><l>value</l><custom-block s="clamp text %s size %n to width %n"><block s="reportJoinWords"><list><block var="my value"/></list></block><l>12</l><block s="reportDifference"><block var="width"/><l>10</l></block></custom-block></custom-block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportVariadicSum"><list><block s="reportListItem"><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><block var="socket type colors"/></block><l>20</l></list></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="label"/><l></l></list></block><script><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><block s="reportQuotient"><block var="width"/><l>2</l></block></list></block></block><custom-block s="write %txt size %n centered %s %s"><block var="value"/><l>12</l><l>center</l><l>center</l></custom-block></script><script><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><block s="reportDifference"><block var="width"/><l>5</l></block></list></block></block><custom-block s="write %txt size %n centered %s %s"><block var="value"/><l>12</l><l>center</l><l>right</l></custom-block></script></block><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><block s="reportIfElse"><block s="reportListItem"><l>static?</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>5</l><l>0</l></block></list></block></block></script></custom-block></block><block s="setScale"><block var="size"/></block></script></block></script></block-definition></blocks><variables><variable name="my value"><l>0</l></variable><variable name="my socket"></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="hide"></block></script><script x="20" y="90.83333333333334"><block s="receiveInteraction"><l><option>mouse-entered</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>-10</l></block></script><script x="20" y="164.83333333333337"><block s="receiveInteraction"><l><option>mouse-departed</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>10</l></block></script><script x="20" y="238.83333333333337"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block s="reportListItem"><l>menu</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block></block></block><script><block s="doAsk"><block s="reportListItem"><l>menu</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block></block><block s="doSetVar"><l>my value</l><block s="getLastAnswer"></block></block></script><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>boolean</l></list></block><script><block s="doSetVar"><l>my value</l><block s="reportNot"><block var="my value"/></block></block></script><l><bool>true</bool></l><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAsk"><l>set value</l></block></script><list></list></block><list></list></block><block s="doSetVar"><l>my value</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>type</l><block s="reportAttributeOf"><l>my properties</l><block var="my socket"/></block></block><l>number</l></list></block><block s="reportVariadicSum"><list><block s="getLastAnswer"></block><l>0</l></list></block><block s="getLastAnswer"></block></block></block></script></list></block><custom-block s="update input field" scope="local"></custom-block></script></scripts></sprite><sprite name="Pen" idx="7" x="58.41379310344837" y="-9.549808429118798" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="250,140,10,1" pen="tip" id="4360"><costumes><list struct="atomic" id="4361"></list></costumes><sounds><list struct="atomic" id="4362"></list></sounds><blocks><block-definition s="draw" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><l><bool>true</bool></l><script><custom-block s="draw grid" scope="local"></custom-block></script><list></list></block><custom-block s="draw selected node outlines" scope="local"></custom-block><custom-block s="draw socket connections" scope="local"></custom-block><block s="doIf"><block s="reportIsA"><block var="dragged socket"/><l><option>sprite</option></l></block><script><custom-block s="draw dragged socket line" scope="local"></custom-block></script><list></list></block></script></block-definition><block-definition s="draw grid" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportNewList"><list><l>100</l><l>50</l></list></block></block><block s="setSize"><l>1</l></block><block s="doDeclareVariables"><list><l>spacing</l></list></block><block s="doSetVar"><l>spacing</l><l>100</l></block><block s="doDeclareVariables"><list><l>scaled spacing</l><l>start</l></list></block><block s="doSetVar"><l>scaled spacing</l><block s="reportVariadicProduct"><list><block var="spacing"/><block var="camera zoom"/></list></block></block><block s="doSetVar"><l>start</l><block s="reportDifference"><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block><block s="reportModulus"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="camera position"/><block var="camera zoom"/></list></block><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block></list></block></list></block><block var="scaled spacing"/></block></block></block><block s="setXPosition"><block s="reportListItem"><l>1</l><block var="start"/></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="xPosition"></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block var="scaled spacing"/></list></block></list></block><script><block s="setYPosition"><block s="reportAttributeOf"><l><option>bottom</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block><block s="down"></block><block s="setYPosition"><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block><block s="up"></block><block s="changeXPosition"><block var="scaled spacing"/></block></script></block><block s="setYPosition"><block s="reportListItem"><l>2</l><block var="start"/></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="yPosition"></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block><block var="scaled spacing"/></list></block></list></block><script><block s="setXPosition"><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block><block s="down"></block><block s="setXPosition"><block s="reportAttributeOf"><l><option>right</option></l><block s="reportGet"><l><option>stage</option></l></block></block></block><block s="up"></block><block s="changeYPosition"><block var="scaled spacing"/></block></script></block><block s="setPenColorDimension"><l><option>transparency</option></l><l>0</l></block></script></block-definition><block-definition s="draw socket connections" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><block s="setSize"><l>3</l></block><block s="doForEach"><l>ouput socket</l><block s="reportAskFor"><l>Output socket</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>clones</option></l></block></autolambda><list></list></block><list></list></block><script><block s="doForEach"><l>connected socket</l><block s="reportAttributeOf"><l>my connections</l><block var="ouput socket"/></block><script><custom-block s="draw connection from %s to %s"><block var="ouput socket"/><block var="connected socket"/></custom-block></script></block></script></block></script></block-definition><block-definition s="draw dragged socket line" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>false</bool></l></block><custom-block s="draw connection from %s to %s"><block var="dragged socket"/><block s="reportMousePosition"></block></custom-block></script></block-definition><block-definition s="draw selected node outlines" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="doIf"><block s="reportListIsEmpty"><custom-block s="safely try reporting %anyUE then if %upvar report %anyUE"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportAskFor"><l></l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>self</option></l></block></autolambda><list></list></block><list></list></block></autolambda><list></list></block><block var="selected nodes"/></block><l>error</l><block s="reportNewList"><list></list></block><comment w="132" collapsed="false">check for deleted nodes</comment></custom-block></block><script><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block s="reportNewList"><list><l>255</l><l>200</l></list></block></block><custom-block s="let %upvar be %s"><l>margin</l><l>2</l></custom-block><block s="doForEach"><l>node</l><block var="selected nodes"/><script><block s="gotoXY"><block s="reportDifference"><block s="reportAttributeOf"><l><option>left</option></l><block var="node"/></block><block var="margin"/></block><block s="reportAskFor"><block var="node"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>center y</option></l></block></autolambda><list></list></block><list></list></block></block><block s="setSize"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>height</option></l><block var="node"/></block><block s="reportVariadicProduct"><list><block var="margin"/><l>2</l></list></block></list></block></block><block s="down"></block><block s="setXPosition"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>right</option></l><block var="node"/></block><block var="margin"/></list></block></block><block s="up"></block></script></block><block s="setPenColorDimension"><l><option>transparency</option></l><l>0</l></block></script></block-definition></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="hide"></block></script><script x="20" y="90.83333333333334"><custom-block s="draw" scope="local"><comment w="90" collapsed="false">see here</comment></custom-block></script></scripts></sprite><sprite name="Button" idx="6" x="-44.358974358974365" y="-149.9999999999999" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="128,128,128,1" pen="tip" id="4716"><costumes><list struct="atomic" id="4717"></list></costumes><sounds><list struct="atomic" id="4718"></list></sounds><blocks><block-definition s="new button of %&apos;node&apos; properties %&apos;properties&apos;" type="reporter" category="Editor"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l" initial="1"></input></inputs><script><block s="doSetVar"><l>my node</l><block var="node"/></block><block s="doSetVar"><l>my properties</l><block var="properties"/></block><block s="doDeclareVariables"><list><l>button</l></list></block><block s="doSetVar"><l>button</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="button"/><block s="reifyScript"><script><custom-block s="initialize button" scope="local"></custom-block><custom-block s="update button" scope="local"></custom-block></script><list></list></block><list></list></block><block s="doReport"><block var="button"/></block></script></block-definition><block-definition s="initialize button" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l><option>my anchor</option></l><block var="my node"/></block></script></block-definition><block-definition s="update button" type="command" category="Editor"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><custom-block s="let %upvar be %s"><l>size</l><block s="getScale"></block></custom-block><custom-block s="let %upvar be %s"><l>width</l><block s="reportDifference"><block s="reportAttributeOf"><l>my width</l><block var="my node"/></block><l>10</l></block></custom-block><block s="setScale"><l>100</l></block><block s="doSwitchToCostume"><custom-block s="costume from %cs"><script><custom-block s="let %upvar be %s"><l>left</l><block s="reportAttributeOf"><l><option>left</option></l><block s="reportGet"><l><option>stage</option></l></block></block></custom-block><custom-block s="let %upvar be %s"><l>top</l><block s="reportAttributeOf"><l><option>top</option></l><block s="reportGet"><l><option>stage</option></l></block></block></custom-block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="gotoXY"><block var="left"/><block s="reportDifference"><block var="top"/><l>7.5</l></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>45</l></block><block s="setSize"><l>15</l></block><custom-block s="line of length %n"><block var="width"/></custom-block><block s="setXPosition"><block s="reportVariadicSum"><list><block var="left"/><block s="reportQuotient"><block var="width"/><l>2</l></block></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><l>255</l></block><custom-block s="write %txt size %n centered %s %s"><custom-block s="clamp text %s size %n to width %n"><block s="reportListItem"><l>label</l><block var="my properties"/></block><l>12</l><block s="reportDifference"><block var="width"/><l>10</l></block></custom-block><l>12</l><l>center</l><l>center</l></custom-block><block s="setXPosition"><block var="left"/></block></script></custom-block></block><block s="setScale"><block var="size"/></block></script></block></script></block-definition></blocks><variables><variable name="my node"></variable><variable name="my properties"><list id="4846"><item><list struct="atomic" id="4847">label,Evaluate</list></item><item><list id="4848"><item><l>action</l></item><item><context id="4849"><inputs></inputs><variables></variables><script><block s="doReplaceInList"><l>label</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>inputs</l><block var="my properties"/></block></block><block s="evaluate"><block s="reportAttributeOf"><l><wish s="evaluate node" type="reporter" category="Editor"></wish></l><block s="reportGet"><l><option>self</option></l></block></block><list></list></block></block><block s="doRun"><block s="reportAttributeOf"><l><wish s="update node" type="command" category="Editor"></wish></l><block s="reportGet"><l><option>self</option></l></block></block><list></list></block></script><receiver><ref id="1739"></ref></receiver><origin><ref id="1739"></ref></origin><ref id="2843"></ref></context></item></list></item></list></variable></variables><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="hide"></block></script><script x="20" y="90.83333333333334"><block s="receiveInteraction"><l><option>mouse-entered</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>-10</l></block></script><script x="20" y="164.83333333333337"><block s="receiveInteraction"><l><option>mouse-departed</option></l></block><block s="changeEffect"><l><option>brightness</option></l><l>10</l></block></script><script x="20" y="238.83333333333337"><block s="receiveInteraction"><l><option>pressed</option></l></block><block s="doRun"><block s="reportAttributeOf"><block s="reportListItem"><l>action</l><block var="my properties"/></block><block var="my node"/></block><list></list></block></script></scripts></sprite><watcher scope="Node" var="my properties" style="normal" x="9.999999999999545" y="9.999999999999972" color="243,118,29" hidden="true"/><watcher scope="Output socket" var="my connections" style="normal" x="5.217391304348666" y="16.173914086956586" color="243,118,29" hidden="true"/><watcher scope="Output socket" var="my node" style="normal" x="5.217391304348666" y="27.130436869565358" color="243,118,29" hidden="true"/><watcher scope="Node" var="my input sockets" style="normal" x="5.523590333715674" y="5.523590333716953" color="243,118,29" hidden="true"/><watcher scope="Node" var="my output sockets" style="normal" x="5.523590333715674" y="17.1231311392405" color="243,118,29" hidden="true"/><watcher var="node category colors" style="normal" x="6.357615894040009" y="6.357615894039711" color="243,118,29" hidden="true"/><watcher scope="Input field" var="my value" style="normal" x="9.999999999999545" y="9.999999999999972" color="243,118,29" hidden="true"/><watcher scope="Input field" var="my socket" style="normal" x="6.3241106719372056" y="6.324110671936793" color="243,118,29" hidden="true"/><watcher scope="Input socket" var="my properties" style="normal" x="6.3241106719372056" y="46.166011699605036" color="243,118,29" hidden="true"/><watcher scope="Output socket" var="my properties" style="normal" x="6.3241106719372056" y="59.446645375494555" color="243,118,29" hidden="true"/><watcher scope="Node" var="my position" style="normal" x="5.095541401274886" y="5.095541401273941" color="243,118,29" hidden="true"/><watcher var="camera position" style="normal" x="5.095541401274886" y="15.796179363057455" color="243,118,29" hidden="true"/><watcher var="selected nodes" style="normal" x="9.999999999999545" y="10.00000000000005" color="243,118,29" hidden="true"/><watcher var="camera zoom" style="normal" x="5.485714285714494" y="5.485714285714295" color="243,118,29" hidden="true"/><watcher scope="Node" var="my width" style="normal" x="7.027818448024846" y="7.027818448023446" color="243,118,29" hidden="true"/><watcher scope="Node" var="my buttons" style="normal" x="5.128205128205082" y="5.128205128205117" color="243,118,29" hidden="true"/><watcher scope="Button" var="my properties" style="normal" x="5.128205128205082" y="15.897436923076924" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="dragged socket"><l>0</l></variable><variable name="node category colors" transient="true"/><variable name="socket type colors" transient="true"/><variable name="camera position"><list struct="atomic" id="4923">102.40275862068962,16.976551724137952</list></variable><variable name="selected nodes"><list struct="atomic" id="4924"></list></variable><variable name="camera zoom"><l>0.6944444444444445</l></variable><variable name="node templates" transient="true"/></variables></scene></scenes></project><media name="Node Editor" app="Snap! 10, https://snap.berkeley.edu" version="2"><costume name="Costume" center-x="51" center-y="11.00000000000001" image="data:image/png;base64,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" mediaID="1"/><costume name="costume" center-x="0.5" center-y="0.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAAtJREFUGFdjYAACAAAFAAGq1chRAAAAAElFTkSuQmCC" mediaID="2"/><costume name="costume" center-x="5" center-y="5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAABhJREFUKFNjdDzJ8J+BCMA4qhBfKFE/eAC+mRRl+cQK5gAAAABJRU5ErkJggg==" mediaID="3"/><costume name="costume" center-x="5" center-y="5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAABlJREFUKFNjVJz3/z8DEYBxVCG+UKJ+8AAA1zkbbW6MLEgAAAAASUVORK5CYII=" mediaID="4"/></media></snapdata>