diff --git a/README.md b/README.md
index 8a20aa7..ed2a11f 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# ArduBlock 2 Source (for Arduino IDE 1.8+) #
-Source-Code for ArduBlock V2 for letsgoING Project.
+Source-Code for ArduBlock V2 tetrapix workshop, forked from the letsgoING Project.
## Setting up Eclipse ##
1. Download the files
@@ -10,4 +10,4 @@ Source-Code for ArduBlock V2 for letsgoING Project.
5. Test ArduBlock by running ArduBlock-Main as Java-Application (src/main/java/com/ardublock)
For more information click here:
-http://blog.ardublock.com/2012/06/11/setup-ardublock-development-in-eclipse/
\ No newline at end of file
+http://blog.ardublock.com/2012/06/11/setup-ardublock-development-in-eclipse/
diff --git a/ardublock-master/ardublock-master/README.markdown b/ardublock-master/ardublock-master/README.markdown
index 6d6a05e..e8ef390 100644
--- a/ardublock-master/ardublock-master/README.markdown
+++ b/ardublock-master/ardublock-master/README.markdown
@@ -44,6 +44,7 @@ Authors
----
* David Li taweili@gmail.com
* HE Qichen heqichen@gmail.com
+* Bastian Brabec bastian@tetrapix.de (for the Tetrapix Fork)
ToDo
@@ -55,6 +56,8 @@ License
Copyright (C) 2011 David Li and He Qichen
+Copyright (C) 2019 Bastian Brabec
+
This file is part of ArduBlock.
ArduBlock is free software: you can redistribute it and/or modify
@@ -93,3 +96,13 @@ Source: github.com/letsgoing
- hack to remove \n at array declaration -> AutoFormat.java line 602-606
- removed \n after function declaration -> AutoFormat.java line 845
- removed headerCommand for subroutines (now done in BlockFiles)-> Translator.java line 78-85
+
+
+Changes by Tetrapix
+=====================
+
+Contact: bastian@tetrapix.de
+Source: github.com/tetrapix
+
+- added the blocks for the tetrapix Workshop
+- removed some other blocks
diff --git a/ardublock-master/ardublock-master/pom.xml b/ardublock-master/ardublock-master/pom.xml
index 543fdec..2cf4ccd 100644
--- a/ardublock-master/ardublock-master/pom.xml
+++ b/ardublock-master/ardublock-master/pom.xml
@@ -14,6 +14,43 @@
UTF-8
+
+
+
+
+ org.eclipse.m2e
+ lifecycle-mapping
+ 1.0.0
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+
+
+ maven-install-plugin
+
+
+ [2.5,)
+
+
+ install-file
+
+
+
+
+
+
+
+
+
+
+
+
org.apache.maven.plugins
diff --git a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java
index 3afb1bf..b00f902 100644
--- a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java
+++ b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java
@@ -15,24 +15,24 @@ public NeopixelColorBlock (Long blockId, Translator translator, String codePrefi
//@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
- String Pin ;
+ //String Pin ;
String Pixel_Nb;
String Red;
String Blue;
String Green;
TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0);
- Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
- translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
+ //Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
+ //translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
Pixel_Nb = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
- translatorBlock = this.getRequiredTranslatorBlockAtSocket(2);
+ translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
Red = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
- translatorBlock = this.getRequiredTranslatorBlockAtSocket(3);
+ translatorBlock = this.getRequiredTranslatorBlockAtSocket(2);
Green = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
- translatorBlock = this.getRequiredTranslatorBlockAtSocket(4);
+ translatorBlock = this.getRequiredTranslatorBlockAtSocket(3);
Blue = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
- String ret = "strip_pin"+Pin+".setPixelColor("+Pixel_Nb+","+Red+" ,"+Green+" ,"+Blue+" );\n";
+ String ret = "strip.setPixelColor("+Pixel_Nb+","+Red+" ,"+Green+" ,"+Blue+" );\n strip.show();\n";
return codePrefix + ret + codeSuffix;
diff --git a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java
index bcb15ab..ff6d69d 100644
--- a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java
+++ b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java
@@ -15,23 +15,23 @@ public NeopixelInitBlock (Long blockId, Translator translator, String codePrefix
//@Override
public String toCode() throws SocketNullException, SubroutineNotDeclaredException
{
- String Pin ;
+ //String Pin ;
String NbLed;
- String NEO_KHZ;
- String NEO_MODE;
+ //String NEO_KHZ;
+ //String NEO_MODE;
TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0);
- Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
- translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
+ //Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
+ //translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
NbLed = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", "");
- translatorBlock = this.getRequiredTranslatorBlockAtSocket(2);
- NEO_KHZ = translatorBlock.toCode().replaceAll("\"", "");
- translatorBlock = this.getRequiredTranslatorBlockAtSocket(3);
- NEO_MODE = translatorBlock.toCode().replaceAll("\"", "");
+ //translatorBlock = this.getRequiredTranslatorBlockAtSocket(2);
+ //NEO_KHZ = translatorBlock.toCode().replaceAll("\"", "");
+ //translatorBlock = this.getRequiredTranslatorBlockAtSocket(3);
+ //NEO_MODE = translatorBlock.toCode().replaceAll("\"", "");
translator.addHeaderFile("Adafruit_NeoPixel.h");
- translator.addDefinitionCommand("Adafruit_NeoPixel strip_pin"+Pin+" = Adafruit_NeoPixel("+NbLed+","+ Pin +", " +NEO_MODE+ " + "+NEO_KHZ +");");
- translator.addSetupCommand("strip_pin"+Pin+".begin();\n" +
- "strip_pin"+Pin+".show();");
+ translator.addDefinitionCommand("Adafruit_NeoPixel strip= Adafruit_NeoPixel("+NbLed+", 0, NEO_RGB + NEO_KHZ800);");//,"+ Pin +", " +NEO_MODE+ " + "+NEO_KHZ +");");
+ translator.addSetupCommand("strip.begin();\n" +
+ "strip.show();");
return "" ;
diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml
index f6d1490..1c5bd7e 100644
--- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml
+++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml
@@ -511,22 +511,22 @@
neopixel_init
-
-
+ -->
-
-
+ -->
@@ -539,25 +539,25 @@
neopixel_pixel_colorRGB
-
-
+ -->
-
+
-
+
-
+
@@ -2442,9 +2442,24 @@
LGI_Qtouch_Button3_getRaw
-
-
+
+
+ neopixel_init
+ neopixel_pixel_color
+
+ repeat_times
+ repeat_control
+ delay
+
+
+
+ if
+ ifelse
+ while
+
+
loop
@@ -2489,7 +2504,6 @@
interrupt
-
pin-write-digital
pin-write-analog
@@ -2793,4 +2807,4 @@
com/ardublock/block/trash.png
-
\ No newline at end of file
+
diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties
index 0a3c2ea..2f5cd90 100644
--- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties
+++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties
@@ -114,6 +114,10 @@ bc.pwm_pin_number=~Pin
bc.value=Wert
bc.variable=Variable
+#TETRAPIX
+#****************************
+bd.tetrapix=Tetrapix
+
#CONTROL
#****************************
bd.control=Steuerung
diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties
index eca7351..0a172e1 100644
--- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties
+++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties
@@ -84,6 +84,10 @@ bc.pwm_pin_number=~pin#
bc.value=value
bc.variable=variable
+#TETRAPIX
+#****************************
+bd.tetrapix=Tetrapix
+
#CONTROL
#****************************
bd.control=Control
diff --git a/openblocks-master/openblocks-master/bin/.gitignore b/openblocks-master/openblocks-master/bin/.gitignore
new file mode 100644
index 0000000..f263319
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/.gitignore
@@ -0,0 +1,9 @@
+build/
+target/
+.DS_Store
+.classpath
+.idea
+.project
+.settings
+openblocks.iml
+
diff --git a/openblocks-master/openblocks-master/bin/LICENSE.MIT b/openblocks-master/openblocks-master/bin/LICENSE.MIT
new file mode 100644
index 0000000..22726b7
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/LICENSE.MIT
@@ -0,0 +1,26 @@
+MIT LICENSE
+
+Copyright (c) 2009
+
+MIT Scheller Teacher Education Program
+
+Eric Klopfer, Daniel Wendel, Ricarose Roque, Corey McCaffrey, Lunduo Ye, Aidan Ho, Brett Warne, Xudan
+Liu, Hout Nga
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/openblocks-master/openblocks-master/bin/LICENSE.jfree b/openblocks-master/openblocks-master/bin/LICENSE.jfree
new file mode 100644
index 0000000..65c5ca8
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/LICENSE.jfree
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/openblocks-master/openblocks-master/bin/README.md b/openblocks-master/openblocks-master/bin/README.md
new file mode 100644
index 0000000..d293fa6
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/README.md
@@ -0,0 +1,57 @@
+OpenBlocks refactoring branch
+=============================
+
+This is a fork of [MIT OpenBlocks](http://education.mit.edu/drupal/openblocks)
+(covered by the MIT license) for refactoring purposes.
+
+The principal objective of the fork is to make the code more amenable to inclusion to other projects.
+
+Getting Started:
+------
+ $ mvn clean package
+ $ mvn exec:java -Dexec.mainClass="edu.mit.blocks.controller.WorkspaceController" -Dexec.args="support/lang_def.xml"
+
+To do:
+------
+
+* upgrade code maintainability from the academic baseline to the commercial baseline
+* replace static singletons with contexts and instances
+* separate the model from the UI
+
+Done:
+-----
+
+* move the various project packages from the main namespace to under the ``edu.mit.blocks`` package
+* refactor out functionality such as network communication
+* remove dependency to TableLayout, which doesn't appear to be actively maintained,
+ and really not even used in a very complex manner
+
+Contributors:
+-------------
+
+In order of first appearance on commit logs:
+
+* The original MIT team: Eric Klopfer, Daniel Wendel, Ricarose Roque, Corey McCaffrey, Lunduo Ye, Aidan Ho, Brett Warne, Xudan Liu, Hout Nga
+* Mikael Gueck (https://github.com/mikaelhg)
+* David Li (https://github.com/taweili)
+* Philippe Cade (https://github.com/philippecade)
+* Tony Graham / MenteaXML (https://github.com/MenteaXML)
+
+
+
+
+Changes by letsgoING
+=====================
+Contact: info@letsgoing.de
+Source: github.com/letsgoing
+
+added Option to change Menu
+changes:
+- in loadBlockDrawerSets() added drawerType param + filter (PageDrawerLoadingUtils.java Line 185 + 201 + 211-214 + 232)
+- in loadWorkspaceFrom() added drawerType param (Workspace.java line 836 + 843 + 849 + 855)
+- in loadWorkspaceFrom() added drawerType param (WorkspaceController.java line 415 + 433 + 460 + 502)
+- in loadProject() added drawerType param and moved workspace.loadWorkspaceFrom() in if/else (WorkspaceController.java line 499 + 516 + 519)
+other changes:
+- in mouseReleased() added clone functionality by rightClick + CTRL (RenderableBlock.java line 1917 - 1921)
+- in Page() removed "add collapse Button" (Page.java line 176)
+- in paintComponent() removed "paint label" (Page.java line 1150 - 1166)
\ No newline at end of file
diff --git a/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle
new file mode 100644
index 0000000..4a7f3c2
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle
@@ -0,0 +1,3334 @@
+
+
+
+
+ CanvasColor
+
+ a
+ 1
+ w
+ 1
+
+ ColumnAlign
+ 0
+ ColumnSpacing
+ 36
+ GraphDocumentVersion
+ 2
+ GraphicsList
+
+
+ Bounds
+ {{323.333, 1007.33}, {54, 20}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ ID
+ 310
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 extends}
+
+
+
+ Bounds
+ {{323.333, 944.333}, {54, 20}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ ID
+ 309
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 extends}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 298
+
+ ID
+ 308
+ Points
+
+ {373.497, 117}
+ {373.499, 153}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 202
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 298
+
+ ID
+ 307
+ Points
+
+ {288, 180.291}
+ {333, 180.138}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ Arrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 304
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 298
+
+ ID
+ 306
+ Points
+
+ {373.496, 243}
+ {373.498, 207}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ Arrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 301
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 205
+
+ ID
+ 305
+ Points
+
+ {333, 270.161}
+ {288, 270.076}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 301
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{207, 162}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 303
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SocketRule}
+
+
+
+ Bounds
+ {{207, 153}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 304
+ Shape
+ Rectangle
+
+
+ ID
+ 302
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{333, 252}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 300
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SLRule}
+
+
+
+ Bounds
+ {{333, 243}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 301
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+
+
+ ID
+ 299
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{333, 162}, {81, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 297
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 LinkRule}
+
+
+
+ Bounds
+ {{333, 153}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 298
+ Shape
+ Rectangle
+
+
+ ID
+ 296
+
+
+ Bounds
+ {{387, 18}, {243, 24}}
+ Class
+ ShapedGraphic
+ FitText
+ Vertical
+ ID
+ 295
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs28 \cf0 Front End Redesign MDD - 8/8/06}
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{54, 162}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 293
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Language\
+Dependent}
+
+
+
+ Bounds
+ {{54, 153}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 294
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+
+
+ ID
+ 292
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 278
+
+ ID
+ 291
+ Points
+
+ {157.5, 954}
+ {157.5, 486}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 286
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 180
+
+ ID
+ 290
+ Points
+
+ {630, 994.47}
+ {576, 1012.49}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 239
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 183
+
+ ID
+ 289
+ Points
+
+ {495, 1026}
+ {459, 1026}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 180
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 242
+
+ ID
+ 288
+ Points
+
+ {378, 1012.48}
+ {324, 994.493}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 183
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 242
+
+ ID
+ 287
+ Points
+
+ {198, 981}
+ {243, 981}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 286
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{117, 963}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 285
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 BreedDrawer\
+Populator}
+
+
+
+ Bounds
+ {{117, 954}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 286
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+
+
+ ID
+ 284
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 177
+
+ ID
+ 283
+ Points
+
+ {630, 970.187}
+ {576, 955.794}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 239
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 174
+
+ ID
+ 282
+ Points
+
+ {495, 945}
+ {459, 945}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 177
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 242
+
+ ID
+ 281
+ Points
+
+ {378, 955.813}
+ {324, 970.206}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 174
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 199
+
+ ID
+ 280
+ Points
+
+ {389.457, 351}
+ {474.546, 207}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 189
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 278
+
+ ID
+ 279
+ Points
+
+ {450, 459}
+ {198, 459}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 220
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{117, 441}, {81, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 277
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Workspace\
+Listener}
+
+
+
+ Bounds
+ {{117, 432}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 278
+ Shape
+ Rectangle
+
+
+ ID
+ 276
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 220
+
+ ID
+ 275
+ Points
+
+ {604.305, 207}
+ {502.693, 432}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 232
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 199
+
+ ID
+ 274
+ Points
+
+ {490.5, 432}
+ {490.5, 207}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 220
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 171
+
+ ID
+ 273
+ Points
+
+ {616.584, 153}
+ {616.536, 117}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 232
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 271
+
+ ID
+ 272
+ Points
+
+ {657, 158.307}
+ {693, 138.869}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 232
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{693, 99}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 270
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Dummy\
+Renderable\
+Block}
+
+
+
+ Bounds
+ {{693, 90}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 271
+ Shape
+ Rectangle
+
+
+ ID
+ 269
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 267
+
+ ID
+ 268
+ Points
+
+ {657, 189.42}
+ {693, 197.693}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 232
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{693, 189}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 266
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 BlockShape}
+
+
+
+ Bounds
+ {{693, 180}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 267
+ Shape
+ Rectangle
+
+
+ ID
+ 265
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 263
+
+ ID
+ 264
+ Points
+
+ {450, 730.431}
+ {333, 682.568}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 235
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{252, 648}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 262
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 TrashCan}
+
+
+
+ Bounds
+ {{252, 639}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 263
+ Shape
+ Rectangle
+
+
+ ID
+ 261
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 259
+
+ ID
+ 260
+ Points
+
+ {531, 753.398}
+ {621, 767.606}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 235
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{621, 756}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 258
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 ZoomSlider}
+
+
+
+ Bounds
+ {{621, 747}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 259
+ Shape
+ Rectangle
+
+
+ ID
+ 257
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 251
+
+ ID
+ 256
+ Points
+
+ {450, 745.442}
+ {297, 739.558}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 235
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 248
+
+ ID
+ 255
+ Points
+
+ {450, 760.486}
+ {342, 796.496}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 235
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 245
+
+ ID
+ 254
+ Points
+
+ {531, 732.082}
+ {621, 698.922}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 235
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 242
+
+ ID
+ 253
+ Points
+
+ {466.613, 774}
+ {307.384, 954}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 235
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 239
+
+ ID
+ 252
+ Points
+
+ {511.267, 774}
+ {649.73, 954}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 235
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{216, 720}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 250
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Context\
+Menu}
+
+
+
+ Bounds
+ {{216, 711}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 251
+ Shape
+ Rectangle
+
+
+ ID
+ 249
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{261, 792}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 247
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 MiniMap}
+
+
+
+ Bounds
+ {{261, 783}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 248
+ Shape
+ Rectangle
+
+
+ ID
+ 246
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{621, 666}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 244
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 SearchBar}
+
+
+
+ Bounds
+ {{621, 657}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 245
+ Shape
+ Rectangle
+
+
+ ID
+ 243
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{243, 963}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 241
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 BlockDrawer}
+
+
+
+ Bounds
+ {{243, 954}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 242
+ Shape
+ Rectangle
+
+
+ ID
+ 240
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{630, 963}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 238
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Bar}
+
+
+
+ Bounds
+ {{630, 954}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 239
+ Shape
+ Rectangle
+
+
+ ID
+ 237
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 220
+
+ ID
+ 236
+ Points
+
+ {490.499, 720}
+ {490.5, 486}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ FilledArrow
+
+
+ Tail
+
+ ID
+ 235
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{450, 729}, {81, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 234
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Workspace\
+Widget}
+
+
+
+ Bounds
+ {{450, 720}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 235
+ Shape
+ Rectangle
+
+
+ ID
+ 233
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{576, 162}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 231
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Renderable\
+Block}
+
+
+
+ Bounds
+ {{576, 153}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 232
+ Shape
+ Rectangle
+
+
+ ID
+ 230
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 192
+
+ ID
+ 229
+ Points
+
+ {531, 446.115}
+ {648, 408.887}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 220
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 199
+
+ ID
+ 228
+ Points
+
+ {490.284, 117}
+ {490.408, 153}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ FilledArrow
+
+
+ Tail
+
+ ID
+ 211
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 232
+
+ ID
+ 227
+ Points
+
+ {531, 180}
+ {576, 180}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 199
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 196
+
+ ID
+ 226
+ Points
+
+ {531, 483.798}
+ {612, 533.266}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 220
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 220
+
+ ID
+ 225
+ Points
+
+ {612.872, 351}
+ {521.093, 432}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ FilledArrow
+
+
+ Tail
+
+ ID
+ 217
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 208
+
+ ID
+ 224
+ Points
+
+ {450.047, 486}
+ {396, 522.014}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ FilledArrow
+
+
+ Tail
+
+ ID
+ 220
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 202
+
+ ID
+ 223
+ Points
+
+ {455.494, 153}
+ {408.64, 117}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 199
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 214
+
+ ID
+ 222
+ Points
+
+ {181.637, 432}
+ {205.569, 405}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 278
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 189
+
+ ID
+ 221
+ Points
+
+ {198, 443.817}
+ {333, 393.189}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+ Tail
+
+ ID
+ 278
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{450, 441}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 219
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Workspace}
+
+
+
+ Bounds
+ {{450, 432}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 220
+ Shape
+ Rectangle
+
+
+ ID
+ 218
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{603, 306}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 216
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Focus\
+Manager}
+
+
+
+ Bounds
+ {{603, 297}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 217
+ Shape
+ Rectangle
+
+
+ ID
+ 215
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{189, 360}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 213
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Reundo\
+Manager}
+
+
+
+ Bounds
+ {{189, 351}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 214
+ Shape
+ Rectangle
+
+
+ ID
+ 212
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{450, 72}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 210
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 BlockGenus}
+
+
+
+ Bounds
+ {{450, 63}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 211
+ Shape
+ Rectangle
+
+
+ ID
+ 209
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{315, 531}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 207
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Workspace\
+Builder}
+
+
+
+ Bounds
+ {{315, 522}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 208
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+
+
+ ID
+ 206
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{207, 252}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 204
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Block\
+Properties}
+
+
+
+ Bounds
+ {{207, 243}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 205
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+
+
+ ID
+ 203
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{333, 72}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 201
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Block\
+LinkChecker}
+
+
+
+ Bounds
+ {{333, 63}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 202
+ Shape
+ Rectangle
+
+
+ ID
+ 200
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{450, 162}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 198
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Block}
+
+
+
+ Bounds
+ {{450, 153}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 199
+ Shape
+ Rectangle
+
+
+ ID
+ 197
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{612, 540}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 195
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Page}
+
+
+
+ Bounds
+ {{612, 531}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 196
+ Shape
+ Rectangle
+
+
+ ID
+ 194
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 220
+
+ ID
+ 193
+ Points
+
+ {639, 480.22}
+ {531, 464.787}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ FilledArrow
+
+
+ Tail
+
+ ID
+ 186
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{648, 378}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 191
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Keyboard\
+Shortcut\
+Manager}
+
+
+
+ Bounds
+ {{648, 369}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 192
+ Shape
+ Rectangle
+
+
+ ID
+ 190
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{333, 360}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 188
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Block\
+Compiler}
+
+
+
+ Bounds
+ {{333, 351}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 189
+ Shape
+ Rectangle
+ Style
+
+ stroke
+
+ Pattern
+ 1
+
+
+
+
+ ID
+ 187
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{639, 468}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 185
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 PageDivider}
+
+
+
+ Bounds
+ {{639, 459}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 186
+ Shape
+ Rectangle
+
+
+ ID
+ 184
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{378, 1008}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 182
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Page\
+BlockDrawer}
+
+
+
+ Bounds
+ {{378, 999}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 183
+ Shape
+ Rectangle
+
+
+ ID
+ 181
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{495, 1008}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 179
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 PageButton}
+
+
+
+ Bounds
+ {{495, 999}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 180
+ Shape
+ Rectangle
+
+
+ ID
+ 178
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{495, 927}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 176
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Category\
+Button}
+
+
+
+ Bounds
+ {{495, 918}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 177
+ Shape
+ Rectangle
+
+
+ ID
+ 175
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{378, 927}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 173
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Factory\
+BlockDrawer}
+
+
+
+ Bounds
+ {{378, 918}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 174
+ Shape
+ Rectangle
+
+
+ ID
+ 172
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{576, 72}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 170
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 BlockLabel}
+
+
+
+ Bounds
+ {{576, 63}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 171
+ Shape
+ Rectangle
+
+
+ ID
+ 169
+
+
+ Bounds
+ {{67, 6}, {46, 29}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ ID
+ 168
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs34 \cf0 KEY}
+
+
+
+ Bounds
+ {{43, 52}, {44, 20}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ ID
+ 167
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 meets}
+
+
+
+ Bounds
+ {{46, 111}, {37, 20}}
+ Class
+ ShapedGraphic
+ FitText
+ YES
+ ID
+ 166
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 uses}
+
+
+
+ Class
+ LineGraphic
+ ID
+ 165
+ Points
+
+ {27, 27}
+ {27, 81}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ Arrow
+
+
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{108, 99}, {81, 45}}
+ Class
+ ShapedGraphic
+ ID
+ 163
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Module}
+
+
+
+ Bounds
+ {{108, 90}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 164
+ Shape
+ Rectangle
+
+
+ ID
+ 162
+
+
+ Class
+ Group
+ Graphics
+
+
+ Bounds
+ {{108, 36}, {81, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 160
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Specification}
+
+
+
+ Bounds
+ {{108, 27}, {81, 54}}
+ Class
+ ShapedGraphic
+ ID
+ 161
+ Shape
+ Rectangle
+
+
+ ID
+ 159
+
+
+ Class
+ LineGraphic
+ ID
+ 158
+ Points
+
+ {27.002, 90}
+ {27, 144}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ 0
+ LineType
+ 1
+ TailArrow
+ FilledArrow
+
+
+
+
+ Bounds
+ {{-0, -0}, {198, 216}}
+ Class
+ ShapedGraphic
+ ID
+ 157
+ Magnets
+
+ {1, 1}
+ {1, -1}
+ {-1, -1}
+ {-1, 1}
+ {0, 1}
+ {0, -1}
+ {1, 0}
+ {-0.483333, 0.0166667}
+
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Pattern
+ 1
+
+
+
+
+ GridInfo
+
+ HPages
+ 1
+ ImageCounter
+ 11
+ IsPalette
+ NO
+ Layers
+
+
+ Lock
+ NO
+ Name
+ Layer 1
+ Print
+ YES
+ View
+ YES
+
+
+ LayoutInfo
+
+ AutoAdjust
+ YES
+ MagneticFieldCenter
+ {0, 0}
+
+ MagnetsEnabled
+ YES
+ PageBreakColor
+
+ a
+ 1
+ w
+ 0.666667
+
+ PageBreaks
+ YES
+ PageSetup
+
+ BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE
+ hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT
+ dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE
+ mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk
+ gQMYhpKEmZkUTlNWZXJ0aWNhbFBhZ2luYXRpb26GkoSEhAhOU051bWJlcgCdm4SXlwCG
+ koSZmQ5OU1BNUGFnZUZvcm1hdIaShISEDU5TTXV0YWJsZURhdGEAhIQGTlNEYXRhAJSX
+ gSK1hAdbODg4NWNdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
+ PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT
+ VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt
+ MS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFw
+ cGxlLnByaW50LlBhZ2VGb3JtYXQuRm9ybWF0dGluZ1ByaW50ZXI8L2tleT4KCTxkaWN0
+ PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0
+ cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20u
+ YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRp
+ Y3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LkZvcm1hdHRpbmdQ
+ cmludGVyPC9rZXk+CgkJCQk8c3RyaW5nPkhQX0xhc2VySmV0XzgxNTBfU2VyaWVzPC9z
+ dHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+
+ CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ
+ CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0
+ ZT4yMDA2LTA4LTA3VDE2OjUzOjMyWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy
+ aW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+
+ CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJp
+ bnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxkaWN0PgoJCTxrZXk+
+ Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5jb20u
+ YXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJp
+ bnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJCQk8
+ a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpvbnRhbFJlczwva2V5
+ PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr
+ ZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFn
+ ZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRl
+ PC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA0LTA0VDA4OjQ5OjQ2WjwvZGF0ZT4KCQkJCTxr
+ ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRl
+ Z2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtl
+ eT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+Cgk8
+ ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ
+ CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+
+ Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ
+ CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVu
+ dGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPGtleT5jb20u
+ YXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0cmluZz5jb20uYXBw
+ bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmlu
+ dC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNi0wOC0wN1QxNjo1Mzoz
+ Mlo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFn
+ PC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJh
+ eT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1TY2Fs
+ aW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl
+ YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry
+ aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K
+ CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv
+ cm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjAuNjc4NjA1MDc5NjUwODc4OTE8
+ L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+
+ CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ
+ CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0
+ ZT4yMDA2LTA4LTA3VDE2OjUzOjQxWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy
+ aW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+
+ CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJp
+ bnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNv
+ bS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFw
+ cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50
+ LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtl
+ eT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJ
+ CQk8cmVhbD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j
+ bGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv
+ c3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tl
+ eT4KCQkJCTxkYXRlPjIwMDYtMDQtMDRUMDg6NDk6NDZaPC9kYXRlPgoJCQkJPGtleT5j
+ b20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+
+ MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNv
+ bS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8
+ ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ
+ CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+
+ Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ
+ CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRp
+ Y2FsU2NhbGluZzwva2V5PgoJCQkJPHJlYWw+MC42Nzg2MDUwNzk2NTA4Nzg5MTwvcmVh
+ bD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJ
+ CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtl
+ eT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIw
+ MDYtMDgtMDdUMTY6NTM6NDFaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu
+ dGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJ
+ PC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5z
+ dWJUaWNrZXQucGFwZXJfaW5mb190aWNrZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29t
+ LmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJ
+ PGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+
+ CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8
+ a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJh
+ eT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu
+ UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4w
+ LjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+MTE1My44
+ Mzc1MTY4MTE0NDA1PC9yZWFsPgoJCQkJCQk8cmVhbD44ODcuMTEzOTAxODE0MTU5OTM8
+ L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr
+ ZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5h
+ Z2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERh
+ dGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA4VDE4OjM0OjExWjwvZGF0ZT4KCQkJ
+ CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJ
+ PGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2Rp
+ Y3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFw
+ ZXJSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl
+ dC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdl
+ cjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5
+ PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnBy
+ aW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJh
+ eT4KCQkJCQkJPHJlYWw+LTguODQxNjY2Nzk1NDg5OTY1NTwvcmVhbD4KCQkJCQkJPHJl
+ YWw+LTUuODk0NDQ0NTMwMzI2NjQzOTwvcmVhbD4KCQkJCQkJPHJlYWw+MTE1OC4yNTgz
+ NTAyMDkxODU0PC9yZWFsPgoJCQkJCQk8cmVhbD44OTUuOTU1NTY4NjA5NjQ5ODQ8L3Jl
+ YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu
+ Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy
+ PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8
+ L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA4VDE4OjM0OjExWjwvZGF0ZT4KCQkJCQk8
+ a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu
+ dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+
+ CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNQ3VzdG9tUGFwZXI8L2tl
+ eT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8
+ L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+
+ CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJ
+ PGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJ
+ bmZvLlBNQ3VzdG9tUGFwZXI8L2tleT4KCQkJCQk8ZmFsc2UvPgoJCQkJCTxrZXk+Y29t
+ LmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5h
+ cHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5w
+ cmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgtMDdUMTY6
+ NTM6MzJaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0
+ ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJ
+ CQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlcklu
+ Zm8uUE1QYXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJp
+ bnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRp
+ bmdtYW5hZ2VyPC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5p
+ dGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20u
+ YXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJOYW1lPC9rZXk+CgkJCQkJPHN0cmlu
+ Zz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr
+ ZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5h
+ Z2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERh
+ dGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA3VDE2OjUzOjMyWjwvZGF0ZT4KCQkJ
+ CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJ
+ PGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2Rp
+ Y3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBh
+ Z2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl
+ dC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdl
+ cjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5
+ PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnBy
+ aW50LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCQkJCTxhcnJh
+ eT4KCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJ
+ CQkJCTxyZWFsPjc4MzwvcmVhbD4KCQkJCQkJPHJlYWw+NjAyPC9yZWFsPgoJCQkJCTwv
+ YXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5
+ PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJ
+ CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJ
+ PGRhdGU+MjAwNi0wOC0wN1QxNjo1MzozMlo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBw
+ bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2lu
+ dGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29t
+ LmFwcGxlLnByaW50LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYXBlclJlY3Q8L2tleT4K
+ CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl
+ eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ
+ CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy
+ cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv
+ LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJl
+ YWw+LTY8L3JlYWw+CgkJCQkJCTxyZWFsPi00PC9yZWFsPgoJCQkJCQk8cmVhbD43ODY8
+ L3JlYWw+CgkJCQkJCTxyZWFsPjYwODwvcmVhbD4KCQkJCQk8L2FycmF5PgoJCQkJCTxr
+ ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5n
+ PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5h
+ cHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgt
+ MDdUMTY6NTM6MzJaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl
+ dC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9k
+ aWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5Q
+ YXBlckluZm8ucHBkLlBNUGFwZXJOYW1lPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29t
+ LmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFw
+ cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmlu
+ dC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJ
+ CTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tl
+ eT4KCQkJCQk8c3RyaW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxl
+ LnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w
+ cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50
+ aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgtMDdUMTY6NTM6MzJa
+ PC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8
+ L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2Fy
+ cmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVy
+ c2lvbjwva2V5PgoJCTxzdHJpbmc+MDAuMjA8L3N0cmluZz4KCQk8a2V5PmNvbS5hcHBs
+ ZS5wcmludC50aWNrZXQucHJpdmF0ZUxvY2s8L2tleT4KCQk8ZmFsc2UvPgoJCTxrZXk+
+ Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+CgkJPHN0cmluZz5jb20uYXBw
+ bGUucHJpbnQuUGFwZXJJbmZvVGlja2V0PC9zdHJpbmc+Cgk8L2RpY3Q+Cgk8a2V5PmNv
+ bS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVyc2lvbjwva2V5PgoJPHN0cmluZz4wMC4y
+ MDwvc3RyaW5nPgoJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnByaXZhdGVMb2Nr
+ PC9rZXk+Cgk8ZmFsc2UvPgoJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8
+ L2tleT4KCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXRUaWNrZXQ8L3N0
+ cmluZz4KPC9kaWN0Pgo8L3BsaXN0PgqGkoSZmRROU1ZlcnRpY2FsbHlDZW50ZXJlZIaS
+ hKGbopcBhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQhOU0NvcGllc4aSqJKEmZkL
+ TlNQYXBlck5hbWWGkoSZmQZMZXR0ZXKGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SE
+ AWahgz8tuRCGkoSZmQlOU1ByaW50ZXKGkoSEhAlOU1ByaW50ZXIAlJKEmZkKMTguOTAu
+ Mi45MIaGkoSZmQ1OU1JpZ2h0TWFyZ2luhpKEoZuvoSSGkoSZmRVOU0hvcml6b25hbFBh
+ Z2luYXRpb26GkqCShJmZGU5TUHJpbnRSZXZlcnNlT3JpZW50YXRpb26GkqCShJmZDk5T
+ Qm90dG9tTWFyZ2luhpKEoZuvoSSGkoSZmQxOU0xlZnRNYXJnaW6GkoShm6+hJIaShJmZ
+ C05TVG9wTWFyZ2luhpKEoZuvoSSGkoSZmQpOU0xhc3RQYWdlhpKEoZuil4J/////hpKE
+ mZkLTlNGaXJzdFBhZ2WGkqiShJmZFk5TSG9yaXpvbnRhbGx5Q2VudGVyZWSGkqiShJmZ
+ DU5TT3JpZW50YXRpb26GkqCGhg==
+
+ RowAlign
+ 0
+ RowSpacing
+ 36
+ VPages
+ 1
+ WindowInfo
+
+ Frame
+ {{10, 4}, {785, 828}}
+ VisibleRegion
+ {{-115, 0}, {1026.67, 1001.33}}
+ Zoom
+ 0.75
+
+
+
diff --git a/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf
new file mode 100644
index 0000000..c0eeb16
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf differ
diff --git a/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle
new file mode 100644
index 0000000..690e2cd
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle
@@ -0,0 +1,4725 @@
+
+
+
+
+ CanvasColor
+
+ a
+ 1
+ w
+ 1
+
+ ColumnAlign
+ 0
+ ColumnSpacing
+ 36
+ GraphDocumentVersion
+ 2
+ GraphicsList
+
+
+ Bounds
+ {{441, 18}, {270, 24}}
+ Class
+ ShapedGraphic
+ FitText
+ Vertical
+ ID
+ 65
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\b\fs28 \cf0 Example Stack Tree Structure - 8/8/06}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 30
+
+ ID
+ 64
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {999, 737.208}
+ {924.3, 735.564}
+ {855, 701.629}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 60
+
+
+
+ Bounds
+ {{1008, 792}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 63
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 63
+
+ ID
+ 62
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {1035, 756}
+ {1035, 792}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 60
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 60
+
+ ID
+ 61
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[1]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5475042462348938
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {855, 693}
+ {999, 729}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 30
+
+
+
+ Bounds
+ {{999, 720}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 60
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 50}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 30
+
+ ID
+ 59
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {1008, 612}
+ {927, 666}
+ {855, 678}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 55
+
+
+
+ Bounds
+ {{1008, 648}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 58
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 58
+
+ ID
+ 57
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {1035, 612}
+ {1035, 648}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 55
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 55
+
+ ID
+ 56
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[0]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5475042462348938
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {855, 669}
+ {999, 609}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 30
+
+
+
+ Bounds
+ {{999, 576}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 55
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 2}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 12
+
+ ID
+ 54
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {792, 199.037}
+ {720, 183.11}
+ {654.505, 135}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 50
+
+
+
+ Bounds
+ {{801, 261}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 53
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 53
+
+ ID
+ 52
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {828, 225}
+ {828, 261}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 50
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 50
+
+ ID
+ 51
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[1]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5475042462348938
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {666, 133.363}
+ {792, 190.636}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 12
+
+
+
+ Bounds
+ {{792, 189}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 50
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 global number}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 12
+
+ ID
+ 49
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {792, 72}
+ {720, 72}
+ {666, 99}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 45
+
+
+
+ Bounds
+ {{801, 126}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 48
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 48
+
+ ID
+ 47
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {828, 90}
+ {828, 126}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 45
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 45
+
+ ID
+ 46
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[0]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5475042462348938
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {666, 108.817}
+ {792, 80.1816}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 12
+
+
+
+ Bounds
+ {{792, 54}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 45
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 10}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 4
+
+ ID
+ 44
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.44951796531677246
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {594, 133.696}
+ {474.75, 189}
+ {409.125, 279}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 12
+
+
+
+ Bounds
+ {{603, 405}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 43
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 43
+
+ ID
+ 42
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {630, 369}
+ {630, 405}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 16
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 29
+
+ ID
+ 41
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.47371092438697815
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {625, 549}
+ {639, 612}
+ {625.5, 666}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 23
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 23
+
+ ID
+ 40
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5272936224937439
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {614.25, 666}
+ {594, 612}
+ {615, 549}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 29
+
+
+
+ Bounds
+ {{594, 747}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 39
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 39
+
+ ID
+ 38
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {621, 702}
+ {621, 747}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 29
+
+
+
+ Bounds
+ {{792, 747}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 37
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 37
+
+ ID
+ 36
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {819, 702}
+ {819, 747}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 30
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 29
+
+ ID
+ 35
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.48949447274208069
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {783, 675.692}
+ {702, 657}
+ {657, 672}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 30
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 16
+
+ ID
+ 34
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {783, 342.692}
+ {702, 324}
+ {666, 337.5}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 19
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 23
+
+ ID
+ 33
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.4976983368396759
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {783, 522}
+ {711, 504}
+ {657, 520.2}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 25
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 4
+
+ ID
+ 32
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5622633695602417
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {612, 513}
+ {558, 405}
+ {423, 315}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 23
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 30
+
+ ID
+ 31
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[0]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.62736284732818604
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {657, 683.999}
+ {783, 684}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 29
+
+
+
+ Bounds
+ {{783, 666}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 30
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 atan}
+
+
+
+ Bounds
+ {{585, 666}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 29
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 set heading}
+
+
+
+ Bounds
+ {{792, 585}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 28
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 28
+
+ ID
+ 27
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {819, 549}
+ {819, 585}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 25
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 25
+
+ ID
+ 26
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[0]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5475042462348938
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {657, 530.999}
+ {783, 531}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 23
+
+
+
+ Bounds
+ {{783, 513}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 25
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 1}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 23
+
+ ID
+ 24
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[2]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.54306554794311523
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {413.308, 315}
+ {603.692, 513}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 4
+
+
+
+ Bounds
+ {{585, 513}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 23
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 forward}
+
+
+
+ Bounds
+ {{792, 405}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 22
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 22
+
+ ID
+ 21
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {819, 369}
+ {819, 405}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 19
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 19
+
+ ID
+ 20
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[0]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5475042462348938
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {666, 350.999}
+ {783, 351}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 16
+
+
+
+ Bounds
+ {{783, 333}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 19
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 yellow}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 4
+
+ ID
+ 18
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.5
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {594, 333.462}
+ {519.153, 297}
+ {432, 297}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 16
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 16
+
+ ID
+ 17
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[1]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56183552742004395
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {432, 305.307}
+ {594, 342.692}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 4
+
+
+
+ Bounds
+ {{594, 333}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 16
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 set color}
+
+
+
+ Bounds
+ {{603, 171}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 15
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 15
+
+ ID
+ 14
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {630, 135}
+ {630, 171}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 12
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 12
+
+ ID
+ 13
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[0]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56183552742004395
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {419.4, 279}
+ {606.6, 135}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 4
+
+
+
+ Bounds
+ {{594, 99}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 12
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 equals}
+
+
+
+ Bounds
+ {{189, 243}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 11
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 11
+
+ ID
+ 10
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {216, 180}
+ {216, 243}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 2
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 2
+
+ ID
+ 9
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.60074573755264282
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {387.091, 279}
+ {355.909, 216}
+ {252, 175.895}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 4
+
+
+
+ Bounds
+ {{189, 63}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 8
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 8
+
+ ID
+ 7
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 before}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {216, 144}
+ {216, 99}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 2
+
+
+
+ Bounds
+ {{369, 378}, {54, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 6
+ Shape
+ RoundRect
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 null}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 6
+
+ ID
+ 5
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 after}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.56689333915710449
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {396, 315}
+ {396, 378}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 4
+
+
+
+ Bounds
+ {{360, 279}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 4
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 ifelse}
+
+
+
+ Class
+ LineGraphic
+ Head
+
+ ID
+ 4
+
+ ID
+ 3
+ Labels
+
+
+ Label
+
+ Align
+ 0
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 socket[0]}
+
+ LabelVisible
+ YES
+ Offset
+ 0.0
+ Position
+ 0.63614857196807861
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.10000000149011612
+
+
+ Label
+
+ Align
+ 0
+
+ Offset
+ 0.0
+ Position
+ 0.89999997615814209
+
+
+ Points
+
+ {240, 180}
+ {372, 279}
+
+ Style
+
+ stroke
+
+ HeadArrow
+ FilledArrow
+ LineType
+ 1
+ Pattern
+ 1
+ TailArrow
+ 0
+
+
+ Tail
+
+ ID
+ 2
+
+
+
+ Bounds
+ {{180, 144}, {72, 36}}
+ Class
+ ShapedGraphic
+ ID
+ 2
+ Shape
+ Rectangle
+ Text
+
+ Text
+ {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Forever}
+
+
+
+ Bounds
+ {{72, 513}, {411, 238}}
+ Class
+ ShapedGraphic
+ ID
+ 1
+ ImageID
+ 1
+ Shape
+ Rectangle
+ Style
+
+ fill
+
+ Draws
+ NO
+
+ shadow
+
+ Draws
+ NO
+
+ stroke
+
+ Draws
+ NO
+
+
+
+
+ GridInfo
+
+ HPages
+ 1
+ ImageCounter
+ 2
+ Images
+
+
+ Data
+
+ BAt0eXBlZHN0cmVhbYED6IQBQISEhA1OU011dGFibGVEYXRhAISE
+ Bk5TRGF0YQCEhAhOU09iamVjdACFhAFpggAAja2ECFszNjI2OWNd
+ iVBORw0KGgoAAAANSUhEUgAAAZsAAADuCAIAAABgYj1pAAAHX2lD
+ Q1BJQ0MgUHJvZmlsZQAAeJyNlXk4lHsbx7/PDIas4TikZUTJLktS
+ IQZDkaGyl2azDjONsbTIVqkoLaekiDYhSdqjcpSihRY5HSKVNkdS
+ Ttow7x9Pvb3Xed9znff+6/7d1/X8rt/nc32f6wbke9gikYACIDZO
+ IvZjutADg4LptDbIQAnqsIcsmxsvcmaxvPC3NdQGAgDum7FFIsFz
+ ObV+kU57uBflYrf7zUbm338HAFAWBwYFAwQdgGYE2dsA0OSQvQcA
+ zSSJSAIQoQA0uZFsHkCIAJiKF/kxAKIAgEoE2VcAUOGQfS0AlURu
+ hAQgbgFU9TheVBwg0w1QVXj8eC5AGwBQwBWJJYB8DgCz2FghD5Cv
+ BTAtMCiYTj6TZwHYmQFUnR+zmFSgKguYpP5jZjgN0A4Hqj7/mA36
+ gQBAaLXEh1tbAQAIJRdAtksqHZwK0LYDI9uk0q8HpNKRgwD1EVAn
+ 4CaIE785Ioi7wD+dSc5vRSUAAlQ5eUVl1bEaP/2sPU53wkS63mSD
+ KVMNjYxNTM3MLSynW1nb2M6wm2k/a/acOQ6OTnOdXRiurm7uTA9P
+ z3nz53t5ey9Y4MNi+fr6+S1ctGixv39AYFBQcEjokqVhYcvYHC6P
+ Hx4RGRUdI4iNjROKlovj4yUJiUlJyStWrFy1anVKyprU1LT09IzM
+ zLVr161fn7Vhw8aNm7Kzc3I2b9mSu3Xrtm3bd+z4ZefOXXl5u/Pz
+ 9+zdW1BYuK+ouHj/gQMHDx06XFJypLSsrPzo0YpjxyqPV1WdqD55
+ 8tTpM2fPnb9QU3vxUt2v9VcbrjU23bh1u/nO3futD3572N7R2dX9
+ 5FnPi1e9ff0Dg0OfpaDI0hRIAVraOrrjJ07Sm6w/ZarhNKMfAv7K
+ 7+bO9CDpF/j4sP4DPTAoODgkNHTJ0qVhYcvYbA6Hy+Px+eEREZGR
+ UdHRMaQFoWj5Nw+JpIfVq1PWpKalpWdkZq5dtz4ra8PGTdnZOZu3
+ 5OZuJfl35eXtJun3FRWR8IcPlxwpLS0rL/8r+3f4y3X1V642XG9s
+ unnrdvOdu/daH7Q9/L3jUefj7qfPnr981dvXP/D+z49fpKDIyNEU
+ FJVUVMeqa2hq/aytM053/ISJk+h6k/UNpkw1NJxmZGxiampmbmFh
+ Od3K2trGdsYMu5n29rNmz57j4ODo6OQ0d66ziwuD4erq5ubuzvTw
+ +J4LHxapZvFi0kzIv1PB4fL44WQuYgSkEXG8RJKQmJScvGIlGYu0
+ 9PSMTDIT/1NH/p69BQWF+/YVFe/ff+DgwW9hKC8/WnGs8njVieqT
+ p86cPX+h9uLluvorDdcam27eam65e6+17bffOx51dT/tefHqjzcD
+ gx+lAPm/AwBVDii6BARpAb5lwJY8wHAzoFUKsJSBRfYgokpALG8B
+ 4dANKpJBAUBAFkr4CZNhBSbCkIJiNOEzMZ1YTlygKFOiKfepHtQm
+ mUCZD7L75UJoU2hS+ZcKj8e8VBxRpqv4qm5Re6W+V3Of1iMdJ93y
+ CcN0Vb0P+q1TKg3XGYWY2Jipm3+1fG81bDvJbpl945wlToYuxm7+
+ HuVeBj71C1MDQkJYYaHclRElMR0idQkzOX51btova0s3dG2evm3P
+ LvU924vGHlx/5HWFRZX3qZlne2pcL82ve3cl65pBY8PN6Gb1OzX3
+ eW3KD6s7Fnb2d2c8U3qe/XKkN6zveH/fO41BvQ+aQ68/FX4x/5o/
+ 3D7ydrRVuk4qBUABDWqYAHMwEIpVKEIjPhHmhICopoASQDlH1afu
+ ltGRKZF1lO2R20Xzl9eXH1F4PqZd8ZFSr4qsqrFa8NhSDV3Naq04
+ be9xPuPFE0/qaegXTmUZGZpOsDCx8rQVztw+u9TxkHOGK5vpMW+G
+ tynLeKGFv0OQX6gobBengT8aNVeQI3wa75p4YqVxSlW6+zpseJLT
+ s42yc0Z+cmH9gTEl88qTKjdWS86YnS+v7bpcU89tULt+5cbK2zYt
+ A/cqHkQ8pLe3dmZ0Gz299jzgZUevT19V/+g7m0HfD74frT8Nfskd
+ pozMH+VJvaRSAFQoQgdmYCIKO9BAUAhPooAYpsRQXlOTZLRlbspu
+ l4ulLZHnKKSMqVR8rzxf5Yza9LEDmjQtnvZb3U0TNejLJucZtBtO
+ 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
+ 5V127yAKACjKYjazAAAUVW8Ti8UKismyW7MsdgeP/GXKZKVCi5wZ
+ tY5qDBRYLbwoQukbJ3Jm1tdl1blFtDTJSxsn4vJctmNW3ihT95Eh
+ HrszauvrQRSnlJfazI1uAwTuJl31FgvqKSAg8O/8yzY235BRbdmn
+ 0ul8fPR+Bl1Q3G20Tkbe9NCSvUd2lJTuL8599eOHNhcW/DP+mU/z
+ sj7dvGXV6apth7+3l+XbHv7g/ROFR2vLtx1ZHxVz5j00au72f347
+ uSVGXrix3lly++uf5RV8vup+6aKP3z958baVJtupUY817spRUXbA
+ 1Xov1i4HxnDN2agCAgJXpWU7A8peBcePOzCmJVTWR/cszp+0/82L
+ lvfxYxb8uL5+3tEohUiliFEBAFtprl7y+7N39b9gQ/v4mj1HFL1O
+ 2F7pbvSe/MiE9x86/ODsMUqRKLt++IszezW+7agqxeTXrXFXG3k0
+ lSAaSh5fR7g591uHq0ycaEasn4yvXV5tULnqkaPqgQRfH4prcuf7
+ h6vKONG0WL8kZeuKMgsICDSmhamGVHBMTExsbHhoZHy3wLsfnnbe
+ AvaC5f3EyIaifZbMGQiNmf3MpKExcKkN7e0LYz9efQAAYkZNrQi7
+ u7+vCJwnC4xRTW6b/ngk16ircbOem2T0S6Cus9+5m3N/133x20er
+ 3v36ucd2seZn//5qR8b7e4/NvT/ltYMVVSzZ+M413Re/cLTq7a8X
+ LdlXkWm5vivbCAh0Li0bo7GFyx54NV8mAwDLpnXdli0FgGN/fGWQ
+ KYiPzlneJ6uOA4Dl9K61Inn0MVW3YDmcs6E910dIVMK+ud9kPTk4
+ 3thvx/s9lACmjN994h66/DaogfNdKUacRUlS9ro7TcywTK5bbHY6
+ Lea6s36zBvf0BzBn7juWW1TXN0D5XU5FRrlbLpFOCNf2U7sKJUEU
+ AEWLa13csZq6tTk1p8xYIZaNCNVM8qfkBK5jmO/z6raVnGuSZgCq
+ A78QGYVkZ09seXKGiGqHE0idS8DMxTEJCZ0dhYAHaZmiOaq3fbYy
+ W6UKocEol6s05yzvGf4A2Te+iQWsUqzyFZ84XeEc6isu3Lrs6TX5
+ w8eNDgLrgT+PJGny1+1+Pn64f2oqAFg2ffmE5Ym7h+vpS2776zCd
+ yFzoKlJ0XRZHIAgkdTlZhmHIqAN/j1MCACgjwzSbNuynn/h1waTU
+ 52TIUnr0iwcGPXFIHdzv3BvaAqf0e2/hQ1EBFM05zSVb31sw57Os
+ 1/rgwxM+vHfy8EXnmzz4T+Cy3rSoQ74WKYnuTgrmKv8udl/nciaS
+ /Hq8WKKIfDwqSjiBcAPTMkWjQUlKozV+wxW8mav9ed2+u5PGGtNe
+ PLhrCh2Z2GABe4CPO3czAp1IfDrPBD3Ul9rQ3oGx8sN3Nzw8fK4S
+ AEy73/xONHxyFSSomrjVZp73W2zsJnt9wfI84R/go1RK9MoaacNE
+ klJqdbp7ttx9e98L64YLvt1zWN2nHs6VOZz78sK+3QNZ08l95aqU
+ +OCxz7676bnEZQ9+//WMEZc00Qz4QBu2IIL3+OlEhGamDfHx8QKA
+ 69qeG7PMV79t4l0OmhIm9Tc4V1M0BGB1ugEAHIyDoqU0QSPsTcrN
+ 7015KWFfYwvYBYnzRK9tBACWASmJdGL5pjtnrw75ubEN7cKflHcF
+ 68md/7etcGZ6sCRrw6paufz3WbOStv3U+LbHfpSMiLNd6Kojp1ft
+ CIux000BAHC5ob2y647MVzozJ8qSRx2oAYDCP18MHXt889m1w4zx
+ tz4W9c351UxvvRoAgKIrsjK2mkSbv/y/3b4wb2iPpk0eDf3+l0oH
+ 7yMnPLl3ipDf5Hu3nDFtK3N58CntAUJoYFxUUEhIs1c5m6V87Qd5
+ tY6ODUqgc7iaopGEyPr+FPSCRSz1SQ/wHyzhEACJRBONvp/Nvmh5
+ //fe/IGBoY7XbkJPWII0frf6+4UQboVvwcLUwNdT0hpsaE/L1HeF
+ BhoIrr/B/ECsaoKDiVAb5gYGWJj8JrfdGRJw4M2b0aILXV1newIN
+ EHAxU4PWiVgAYECFBncLkMJl64a47tzndT9uu73XBK02PH16OAD0
+ j9FWhD0bHqy+vImL32rjCDnhwf1fRVQPd3X54b9+zajhamxOzz3o
+ 2gn3kmdu+CGle/TgxDiapgiCoMRSIAi32+10OKoO7SqoqFbSRJ2b
+ //e+BK5zrqpoSHyTnx9NyZQqv1TJxRxXBamYFxq8t7LcmlEOCGYE
+ h0fSHK8wiqja7t4NGoQCRNp5IZI92RlVx5BEb5yn9/JCHAD4i7Sz
+ gqlDZsdAHz814tTN3WbwM9IXu7peubD8R8E5bbOh3acrnEMMosbr
+ hse3HVYknXtNbfG2r1cjI7gN8cnJ8cESY8/UtJ2ny51D9Jc0ObH1
+ yG1R3lrKs+ks1pzD1pzDrMPVRwr1PfvXORv9W2AcbXH4GQM5tkuk
+ 1Fit9fuKju3Nzjl+MmeoD+WvENudTo4UAYDF7vijCraZgccw2U/r
+ l3Xs4Isvkp1dTQjzvINhFAMGxI8eLZVKOzeYG4x/WUcjkXicXg+X
+ 5YJJkWiowcBjjOCc5T2BROP0+kYe90hHysbrpXyDc2OjHoy00qhX
+ nu+zmduopl1d91AAQANGRG5+M+uGzvP/CnPffmuknjKf/PPrjUfi
+ 4oMlAC5AefnVlzW5Y3O+b69ENUBHZOzyGAwpI24eMrShrBhyu8n3
+ 3jtSWxhbU4/y8zs/Zxih+pqaepouDApz1p75pZz1lyN/GmskfGa1
+ K8dBHLfwJMATPVMQIQkuLcU7d3Z2xEDpdCgn58ynn24aN27B8uUK
+ haKzI7pxuKbaG1eyI7tIC01iW+4le52AAGwNbmwMUAizAMAwtEjy
+ 85w5PTavbbxu+PLvkuQ4a8OdN8374PAXD8TEpM2PAQA2b+uXb+5Q
+ 6PbOXB14yVLj0j+VK0Zqxail46Nrz+AlKapfv34NNayPzpu3YefO
+ B3v3lk+ZwnMcojt5rZ0rK3P/9FPS8ePbThT8HRxsxtXZFVYeQE25
+ Cx0QJocUheLm/qOKT50eEebrm5qK1OrODRgA3IcOIbn88MGD+d9+
+ +47B8PgrrwgjtfZCqCbkESS0SLpiCnrSkuhvuFXuDEAPgMzn6ZTg
+ WdK8x0YEvt7z3Lphlbf68+H+q1ZORossif6GSXLbYP/Hu48a56+E
+ kqMbys9qvxwZbLXlP3ppkxUjA0PErZCzNd0Xv/DVLEvmslET3ng1
+ xXCNxxIO7NkzVSSShoUx1dVIJCI7WyD4sjIiKEim148+ejS26OwW
+ b11IRHSFrcpqLpsaEZgY2bO21kKeyb998mQqORlzHF9cjERNPfQ6
+ GLa29syZM5sBNCRpyc3P3JuZkpLSlo5IoMTCT/gShK/DI4hI8VO9
+ /eRi2bBw/94KR6hMQmj97grmEGi/HCr5MS8DVyPfHsYZ3b38RdyF
+ O3spHH8EWo/kZ2BAvsg4eYRXpIwDeTNNrvLoJum47Z7BW1VTI6+s
+ dObl4bw8d1UVXLOVyTVC0DTt7U1IJFSfPqFlZfPq6rKzTx7meTam
+ O+VwUEUlI+Pi1DNnIq0WM4xj0ybnzp2deL6WcbuLc3Mxxl/z/B6A
+ UEQvOrhw78OZJ2Qn2tCbg3D0fLZn6ujUdo/z+kVQNE8hIsULezas
+ BlJze15Yi0SRKtminlIOgDi/btj4zrGBmjEBmG90tdkmV8LksO4c
+ d0k6bpszeK/0CAyAARBBIIBOlzMA4BnGVVZGqVS0Vkv26EGo1fEu
+ V0JhIZbL6cGDITAQANiCAqirs61dy1VVdWasGFeWlPA8fwTjPQAi
+ gHu7f5hpO3an/E5xSFtcqYq2Fn3x5BcSL0lycnK7B3udIihaZ4DQ
+ VRLwUbNXr9qkATfn+jrx7VdmpLVLBu/M6+qMAFtfzzscNEVRBEEo
+ lTgqCvR6CAzELhdz6pTr0CHmRFsGQe1LbXW1w2arx/hbAACYF3Tz
+ 4Zy6qdFTReNFLMeSfq37xpk8RiaVDTs6bN1b68I/Cvfy8vJEzNcd
+ gqLdOJyx2MKGDYR2yuB166BjDlq1FzzDuPLyXHl5hFRKGQyk3e78
+ 5x82Nxez7WD8fu24nc7qigoAWA1gAUik1aj2pr6Jkf4J/qABxzoH
+ W97KOHkgaTLMJyz69+g1n62Z9/g8weMKBEW7gcCZlf49glTQbhm8
+ SER1fm5GG+AdDndBARQUdHYgF8E8X3H2LMZ4F8ZZADKAW8I/KCf4
+ ZHEy9ALXQVer5QwACAAS5Gp5ii3lhy9+2JG8Y+jQoR6I/TpDULQb
+ Bx7OnK5wDjKI2yWDV11b3bmv03WwYZ7HID+3dtgWaiorXU6nCeOf
+ AADgkagHsoorbg+5nUwnORPnPNDWIxkUAA9avXZ47vBf3v4lOjra
+ aDS2sasbBWGYesOAojSiM/kmAPBPHDd13G2T09OGpU/04nMaZ/DO
+ n54+PElxaNuRhlOOLkCn86ubNNHiU5vz69p1eHYd1++t4fjsydOP
+ qmpreJ5v0zs4bDZzVRWP8UoAF8AwWWBVUcKgmEHeI7yxBNs32/EV
+ ++VW171zV8W9n9o3NH8HAqCBpMhAfWDS5qRvP/yWYW6cvPS2ISja
+ jUOEWrb//tmrM02UNjw9PUV5PoMXnBczeE+aWW1M2vz56drzGbw7
+ 5s1s0mTpn8qZ3bXttTFwkrM9wiuf5/ELFSYT7qjtBsx+Vln+VEVV
+ Jt/qBGAXZj4xl91amD/1bMU79db3bv7fmOcX1kgq55XVrnfU3Flc
+ OKe0cq0LOXj3R+a6uWXF04vyF1WYsjnuQqv3LLwbnxvO8RxXcfYs
+ AGwEyAfQAgw2vOEVq0vUJ0IMOPc6OXPz+8U8dj5Zvm1c7svrch8/
+ WvrcFUWNAKBAqpAmihP5r/m/fv+rte97gyHMOm8cvMSSR3sWPNpO
+ GbztMuc8yfH1n2//qm8gAGQtn/ja0/sX+xq8W3zaoY1g9jPFuDuz
+ 3qQyl6WNeONloyGpxQeEXZjZMO6J+16avZgmwFn42d0LejwxDICa
+ vX7vH/f+PXjZfXfrxKwpc+ktA18d9N07Tw2x8yqtBPK2LntjX9jr
+ j49taPXlXT3/b5f/wypShLCprIxlmCKMfwdAAI93f/FEefkcxRwY
+ DexZ1nW0+bomPO94J/HQI+9OCaMBONrN2ty8+4pBkwA8aHw0QwuH
+ rn1nbXS36MjIyDZ8bTcGgqLdSKA+eo9n8LYG1wvEzB/7Bp6r33um
+ TkKTSypKXBjFyZS3KBXBBO/G7i9rHcUYRGA5aOdFpHKWTjeKdq6o
+ rS/BookaryBk+9xsowjxnWqFCTvW1NRnuxiaoJMV6mkKqQqc55tb
+ a3hRolxd66jb53DnGA33A9C0uIbFztZMFY+zdbpbb9LQxWtXHIke
+ GhUQJ9+0+2zymJB9P349cuErkbryZUvWT3h1/hNvvzbrbz+xSHVq
+ 9Rvrw++ZPWzu7CDqQqug7mPNew67AZj6ekttrRvjlQAcwFRtz9M5
+ 2pFxQxVjFBiwfYu9+SAw+6HS9uzXN52rS8kAQoSIuPJgEwHQgHjk
+ 7+s/cOfANcvWPPbGY//ZY1WCot1geDaDtzVw68nUT7Y/caF+717t
+ /U9ljfZTy4B1nNz2xeJbXrjV6Gcd/9jDS281nalUB4erxZyrfM9d
+ YeOPzP/k5Zcn2bNW9R/65GMfrX91ao/Mj6YvfKX6nh+/Xdo3UoKQ
+ k7VkffvizAU/3Dr3xYdfndLQXGHZ9f4O6cKJPRTImXO0hD5f6qBV
+ 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
+
+ Extension
+ png
+ ID
+ 1
+
+
+ IsPalette
+ NO
+ Layers
+
+
+ Lock
+ NO
+ Name
+ Layer 1
+ Print
+ YES
+ View
+ YES
+
+
+ LayoutInfo
+
+ AutoAdjust
+ YES
+ MagneticFieldCenter
+ {0, 0}
+
+ MagnetsEnabled
+ YES
+ PageBreakColor
+
+ a
+ 1
+ w
+ 0.666667
+
+ PageBreaks
+ YES
+ PageSetup
+
+ BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE
+ hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT
+ dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE
+ mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQMY
+ gQJkhpKEmZkUTlNWZXJ0aWNhbFBhZ2luYXRpb26GkoSEhAhOU051bWJlcgCdm4SXlwCG
+ koSZmQ5OU1BNUGFnZUZvcm1hdIaShISEDU5TTXV0YWJsZURhdGEAhIQGTlNEYXRhAJSX
+ gSL2hAdbODk1MGNdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K
+ PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT
+ VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt
+ MS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFw
+ cGxlLnByaW50LlBhZ2VGb3JtYXQuRm9ybWF0dGluZ1ByaW50ZXI8L2tleT4KCTxkaWN0
+ PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0
+ cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20u
+ YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRp
+ Y3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LkZvcm1hdHRpbmdQ
+ cmludGVyPC9rZXk+CgkJCQk8c3RyaW5nPl8xOF85MF8yXzkwPC9zdHJpbmc+CgkJCQk8
+ a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5n
+ PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFw
+ cGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA4LTAz
+ VDIyOjI0OjUwWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5z
+ dGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4K
+ CQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h
+ dC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnBy
+ aW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRp
+ bmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0
+ ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBs
+ ZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpvbnRhbFJlczwva2V5PgoJCQkJPHJlYWw+
+ NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r
+ ZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K
+ CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8
+ ZGF0ZT4yMDA2LTA4LTAzVDIxOjU5OjU1WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxl
+ LnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVn
+ ZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu
+ cHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5
+ PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29t
+ LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnBy
+ aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJ
+ PGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+
+ CgkJCQk8aW50ZWdlcj4yPC9pbnRlZ2VyPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu
+ dGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdt
+ YW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9k
+ RGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJ
+ CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8
+ aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJheT4KCTwvZGljdD4K
+ CTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8
+ ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ
+ CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+
+ Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ
+ CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxp
+ bmc8L2tleT4KCQkJCTxyZWFsPjAuNjM1NzYxNjE4NjE0MTk2Nzg8L3JlYWw+CgkJCQk8
+ a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5n
+ PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFw
+ cGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA4LTAz
+ VDIyOjI0OjUyWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5z
+ dGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4K
+ CQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h
+ dC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu
+ dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n
+ bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt
+ QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu
+ cHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVhbD43Mjwv
+ cmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4K
+ CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ
+ PGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRl
+ PjIwMDYtMDgtMDNUMjE6NTk6NTVaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJp
+ bnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4K
+ CQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmlu
+ dC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5
+ PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29t
+ LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnBy
+ aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJ
+ PGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2NhbGluZzwv
+ a2V5PgoJCQkJPHJlYWw+MC42MzU3NjE2MTg2MTQxOTY3ODwvcmVhbD4KCQkJCTxrZXk+
+ Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29t
+ LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUu
+ cHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDYtMDgtMDNUMjI6
+ MjQ6NTJaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRl
+ RmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwv
+ YXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFw
+ ZXJfaW5mb190aWNrZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50
+ LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxr
+ ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+
+ Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBs
+ ZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0
+ PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBh
+ Z2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJ
+ CQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+OTI0LjExOTk3MzI2MTYwNTg4
+ PC9yZWFsPgoJCQkJCQk8cmVhbD4xMjA3Ljk5OTk0NDQ5ODE0NDwvcmVhbD4KCQkJCQk8
+ L2FycmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tl
+ eT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K
+ CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJ
+ CTxkYXRlPjIwMDYtMDgtMDhUMTg6NDk6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFw
+ cGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9p
+ bnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNv
+ bS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNQWRqdXN0ZWRQYXBlclJlY3Q8L2tleT4K
+ CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl
+ eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ
+ CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy
+ cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h
+ dC5QTUFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVh
+ bD4tMTkuMjUyNDgzNzU0OTI1NjA2PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTguNzgwNjI3
+ OTc3MjQ3OTg4PC9yZWFsPgoJCQkJCQk8cmVhbD45NDMuMzcyNDcyMDE3MDMzMDM8L3Jl
+ YWw+CgkJCQkJCTxyZWFsPjEyMjYuOTY5MzE0Nzg2NDYzMjwvcmVhbD4KCQkJCQk8L2Fy
+ cmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4K
+ CQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ
+ CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxk
+ YXRlPjIwMDYtMDgtMDhUMTg6NDk6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxl
+ LnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRl
+ Z2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5h
+ cHBsZS5wcmludC5QYXBlckluZm8uUE1DdXN0b21QYXBlcjwva2V5PgoJCTxkaWN0PgoJ
+ CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3Ry
+ aW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJPGtleT5jb20u
+ YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8YXJyYXk+CgkJCQk8
+ ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1DdXN0b21Q
+ YXBlcjwva2V5PgoJCQkJCTxmYWxzZS8+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu
+ dGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n
+ bWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5t
+ b2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+
+ CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ
+ CQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJ
+ PC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFt
+ ZTwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl
+ YXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0
+ cmluZz4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5
+ PgoJCQk8YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5Q
+ YXBlckluZm8uUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3RyaW5nPm5hLWxldHRlcjwv
+ c3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tl
+ eT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K
+ CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJ
+ CTxkYXRlPjIwMDYtMDgtMDNUMjI6MjQ6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFw
+ cGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9p
+ bnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNv
+ bS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1VbmFkanVzdGVkUGFnZVJlY3Q8L2tleT4K
+ CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl
+ eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ
+ CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy
+ cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv
+ LlBNVW5hZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVh
+ bD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzY4
+ PC9yZWFsPgoJCQkJCQk8cmVhbD41ODcuNTIwMDA5OTk0NTA2ODQ8L3JlYWw+CgkJCQkJ
+ PC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r
+ ZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+
+ CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ
+ CQk8ZGF0ZT4yMDA2LTA4LTAzVDIyOjI0OjUwWjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5h
+ cHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MTwv
+ aW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5j
+ b20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5
+ PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwv
+ a2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K
+ CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8
+ YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlcklu
+ Zm8uUE1VbmFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8
+ cmVhbD4tMTEuOTQwMDAyNDQxNDA2MjU8L3JlYWw+CgkJCQkJCTxyZWFsPi0xMi4yMzk5
+ OTk3NzExMTgxNjQ8L3JlYWw+CgkJCQkJCTxyZWFsPjc4MC4wNTk5OTc1NTg1OTM3NTwv
+ cmVhbD4KCQkJCQkJPHJlYWw+NTk5Ljc2MDAwMDIyODg4MTg0PC9yZWFsPgoJCQkJCTwv
+ YXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5
+ PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJ
+ CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJ
+ PGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBw
+ bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2lu
+ dGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29t
+ LmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQk8ZGlj
+ dD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJ
+ PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCTxrZXk+
+ Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJ
+ CQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLnBwZC5Q
+ TVBhcGVyTmFtZTwva2V5PgoJCQkJCTxzdHJpbmc+TGV0dGVyPC9zdHJpbmc+CgkJCQkJ
+ PGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJp
+ bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t
+ LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNi0w
+ OC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj
+ a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8
+ L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50
+ LnRpY2tldC5BUElWZXJzaW9uPC9rZXk+CgkJPHN0cmluZz4wMC4yMDwvc3RyaW5nPgoJ
+ CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJCTxm
+ YWxzZS8+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8L2tleT4KCQk8
+ c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYXBlckluZm9UaWNrZXQ8L3N0cmluZz4KCTwv
+ ZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5BUElWZXJzaW9uPC9rZXk+
+ Cgk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr
+ ZXQucHJpdmF0ZUxvY2s8L2tleT4KCTxmYWxzZS8+Cgk8a2V5PmNvbS5hcHBsZS5wcmlu
+ dC50aWNrZXQudHlwZTwva2V5PgoJPHN0cmluZz5jb20uYXBwbGUucHJpbnQuUGFnZUZv
+ cm1hdFRpY2tldDwvc3RyaW5nPgo8L2RpY3Q+CjwvcGxpc3Q+CoaShJmZFE5TVmVydGlj
+ YWxseUNlbnRlcmVkhpKEoZuilwGGkoSZmQ9OU1ByaW50QWxsUGFnZXOGkqCShJmZCE5T
+ Q29waWVzhpKokoSZmQtOU1BhcGVyTmFtZYaShJmZBkxldHRlcoaShJmZD05TU2NhbGlu
+ Z0ZhY3RvcoaShKGbhIQBZqGDPyLBRoaShJmZCU5TUHJpbnRlcoaShISECU5TUHJpbnRl
+ cgCUkoSZmQoxOC45MC4yLjkwhoaShJmZDU5TUmlnaHRNYXJnaW6GkoShm6+hJIaShJmZ
+ FU5TSG9yaXpvbmFsUGFnaW5hdGlvboaSoJKEmZkZTlNQcmludFJldmVyc2VPcmllbnRh
+ dGlvboaSoJKEmZkOTlNCb3R0b21NYXJnaW6GkoShm6+hJIaShJmZDE5TTGVmdE1hcmdp
+ boaShKGbr6EkhpKEmZkLTlNUb3BNYXJnaW6GkoShm6+hJIaShJmZCk5TTGFzdFBhZ2WG
+ koShm6KXgn////+GkoSZmQtOU0ZpcnN0UGFnZYaSqJKEmZkWTlNIb3Jpem9udGFsbHlD
+ ZW50ZXJlZIaSqJKEmZkNTlNPcmllbnRhdGlvboaSqIaG
+
+ RowAlign
+ 0
+ RowSpacing
+ 36
+ VPages
+ 1
+ WindowInfo
+
+ Frame
+ {{73, 60}, {897, 749}}
+ VisibleRegion
+ {{-21, -23}, {1176, 896}}
+ Zoom
+ 0.75
+
+
+
diff --git a/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf
new file mode 100644
index 0000000..6c6c212
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf differ
diff --git a/openblocks-master/openblocks-master/bin/doc/lang_def_spec.pdf b/openblocks-master/openblocks-master/bin/doc/lang_def_spec.pdf
new file mode 100644
index 0000000..3484367
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/doc/lang_def_spec.pdf differ
diff --git a/openblocks-master/openblocks-master/bin/doc/redesignV4.doc b/openblocks-master/openblocks-master/bin/doc/redesignV4.doc
new file mode 100644
index 0000000..43f27fb
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/doc/redesignV4.doc differ
diff --git a/openblocks-master/openblocks-master/bin/pom.xml b/openblocks-master/openblocks-master/bin/pom.xml
new file mode 100644
index 0000000..a7135ac
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/pom.xml
@@ -0,0 +1,150 @@
+
+
+ 4.0.0
+ edu.mit
+ openblocks
+ jar
+ 1.0.2-SNAPSHOT
+ openblocks
+ https://github.com/mikaelhg/openblocks
+
+
+ UTF-8
+ UTF-8
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 2.3.2
+
+ 1.6
+ 1.6
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.3.1
+
+
+
+ edu.mit.blocks.controller.WorkspaceController
+
+
+
+
+
+ maven-assembly-plugin
+
+
+ jar-with-dependencies
+
+
+
+ edu.mit.blocks.controller.WorkspaceController
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ private
+
+
+ effects
+ a
+ Effects:
+
+
+ modifies
+ a
+ Modifies:
+
+
+ overrides
+ a
+ Overrides:
+
+
+ requires
+ a
+ Requires:
+
+
+ specfield
+ a
+ Spec field:
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ public
+
+
+ effects
+ a
+ Effects:
+
+
+ modifies
+ a
+ Modifies:
+
+
+ overrides
+ a
+ Overrides:
+
+
+ requires
+ a
+ Requires:
+
+
+ specfield
+ a
+ Spec field:
+
+
+
+
+
+
+
+
+
+ jfree
+ jcommon
+ 1.0.16
+
+
+ jfree
+ jfreechart
+ 1.0.13
+
+
+ junit
+ junit
+ 4.10
+ test
+
+
+
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class
new file mode 100644
index 0000000..ac1ad48
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class
new file mode 100644
index 0000000..5248b7e
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class
new file mode 100644
index 0000000..44c0eac
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$DefArgument.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$DefArgument.class
new file mode 100644
index 0000000..40ce0c3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$DefArgument.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$PositionType.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$PositionType.class
new file mode 100644
index 0000000..bd1c51a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$PositionType.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class
new file mode 100644
index 0000000..8bf7ba3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnectorShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnectorShape.class
new file mode 100644
index 0000000..f592860
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnectorShape.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockGenus.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockGenus.class
new file mode 100644
index 0000000..96d32d6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockGenus.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class
new file mode 100644
index 0000000..6987092
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class
new file mode 100644
index 0000000..06ae1b2
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class
new file mode 100644
index 0000000..8a090b2
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockStub.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockStub.class
new file mode 100644
index 0000000..5b07a95
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockStub.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class
new file mode 100644
index 0000000..21a9f5a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class
new file mode 100644
index 0000000..5ddf730
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class
new file mode 100644
index 0000000..03dd272
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Constants.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Constants.class
new file mode 100644
index 0000000..9789b7b
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Constants.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class
new file mode 100644
index 0000000..94f4fdf
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class
new file mode 100644
index 0000000..2fe550b
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class
new file mode 100644
index 0000000..1146fc3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class
new file mode 100644
index 0000000..5ad1089
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/JComponentDragHandler.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/JComponentDragHandler.class
new file mode 100644
index 0000000..c6ce11b
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/JComponentDragHandler.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class
new file mode 100644
index 0000000..036a014
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ParamRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ParamRule.class
new file mode 100644
index 0000000..8371600
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ParamRule.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class
new file mode 100644
index 0000000..96264d6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class
new file mode 100644
index 0000000..e39166a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$RuntimeType.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$RuntimeType.class
new file mode 100644
index 0000000..1433629
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$RuntimeType.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class
new file mode 100644
index 0000000..f4ccf75
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties$RuntimeType.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties$RuntimeType.class
new file mode 100644
index 0000000..3d873b8
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties$RuntimeType.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class
new file mode 100644
index 0000000..499e395
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet$ProcedureBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet$ProcedureBlock.class
new file mode 100644
index 0000000..7a83d34
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet$ProcedureBlock.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class
new file mode 100644
index 0000000..5c9d82b
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SocketRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SocketRule.class
new file mode 100644
index 0000000..6ff769a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SocketRule.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/StackRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/StackRule.class
new file mode 100644
index 0000000..c385ef2
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/StackRule.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class
new file mode 100644
index 0000000..f3c7705
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableType.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableType.class
new file mode 100644
index 0000000..062aa0e
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableType.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class
new file mode 100644
index 0000000..19e89f6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class
new file mode 100644
index 0000000..cdc7c7a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil$BevelCacheKey.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil$BevelCacheKey.class
new file mode 100644
index 0000000..e37dfb7
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil$BevelCacheKey.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class
new file mode 100644
index 0000000..015cdf6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/ShapeBevel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/ShapeBevel.class
new file mode 100644
index 0000000..aca1bcf
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/ShapeBevel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton$Direction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton$Direction.class
new file mode 100644
index 0000000..9f1c65e
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton$Direction.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class
new file mode 100644
index 0000000..d027bdd
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class
new file mode 100644
index 0000000..fdb69da
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class
new file mode 100644
index 0000000..aab6ba7
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class
new file mode 100644
index 0000000..3b98624
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CButton.class
new file mode 100644
index 0000000..6d981a4
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class
new file mode 100644
index 0000000..5d4c90a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser.class
new file mode 100644
index 0000000..56cc38c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CFileHandler.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CFileHandler.class
new file mode 100644
index 0000000..30e5224
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CFileHandler.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGlassScrollPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGlassScrollPane.class
new file mode 100644
index 0000000..7c9ff7c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGlassScrollPane.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class
new file mode 100644
index 0000000..715ef41
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class
new file mode 100644
index 0000000..12e99c4
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteSquareButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteSquareButton.class
new file mode 100644
index 0000000..7d21955
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteSquareButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CHoverScrollPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CHoverScrollPane.class
new file mode 100644
index 0000000..cd464e0
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CHoverScrollPane.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class
new file mode 100644
index 0000000..9b4f665
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class
new file mode 100644
index 0000000..a19e12e
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLabel.class
new file mode 100644
index 0000000..2a3cb17
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class
new file mode 100644
index 0000000..a894334
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph.class
new file mode 100644
index 0000000..20e680a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class
new file mode 100644
index 0000000..1bc1a25
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class
new file mode 100644
index 0000000..b4ca86f
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class
new file mode 100644
index 0000000..c9b254c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class
new file mode 100644
index 0000000..e63cd12
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class
new file mode 100644
index 0000000..a3a880f
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class
new file mode 100644
index 0000000..5e02198
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class
new file mode 100644
index 0000000..fa1a1c4
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class
new file mode 100644
index 0000000..79fbb11
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane.class
new file mode 100644
index 0000000..20b08cd
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class
new file mode 100644
index 0000000..593ac69
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class
new file mode 100644
index 0000000..e574eea
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class
new file mode 100644
index 0000000..94a92e3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane.class
new file mode 100644
index 0000000..73f1f36
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class
new file mode 100644
index 0000000..7f1a392
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTable.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTable.class
new file mode 100644
index 0000000..0fa5dec
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTable.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTextField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTextField.class
new file mode 100644
index 0000000..7df2878
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTextField.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTip.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTip.class
new file mode 100644
index 0000000..50980d7
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTip.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class
new file mode 100644
index 0000000..d6bef71
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTracklessScrollPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTracklessScrollPane.class
new file mode 100644
index 0000000..b7a2f97
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTracklessScrollPane.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class
new file mode 100644
index 0000000..9082c0c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheeler.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheeler.class
new file mode 100644
index 0000000..7668032
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheeler.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Canvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Canvas.class
new file mode 100644
index 0000000..801d305
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Canvas.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class
new file mode 100644
index 0000000..ecffea6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/DefaultCanvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/DefaultCanvas.class
new file mode 100644
index 0000000..ad40cc6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/DefaultCanvas.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Explorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Explorer.class
new file mode 100644
index 0000000..d81717d
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Explorer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class
new file mode 100644
index 0000000..7d96986
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class
new file mode 100644
index 0000000..d4e7733
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class
new file mode 100644
index 0000000..8c5a1ec
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class
new file mode 100644
index 0000000..4d99be6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$CanvasPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$CanvasPane.class
new file mode 100644
index 0000000..a9462cd
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$CanvasPane.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class
new file mode 100644
index 0000000..a79ee93
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.class
new file mode 100644
index 0000000..17187ab
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class
new file mode 100644
index 0000000..ac53d41
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class
new file mode 100644
index 0000000..f1c202f
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class
new file mode 100644
index 0000000..64c28e7
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GraphicsManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GraphicsManager.class
new file mode 100644
index 0000000..f6f6179
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GraphicsManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class
new file mode 100644
index 0000000..f5a80c0
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class
new file mode 100644
index 0000000..f87a394
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverVerticalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverVerticalBar.class
new file mode 100644
index 0000000..484398a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverVerticalBar.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ImageManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ImageManager.class
new file mode 100644
index 0000000..8b981fb
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ImageManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LRUCache.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LRUCache.class
new file mode 100644
index 0000000..cac0bef
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LRUCache.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class
new file mode 100644
index 0000000..0a93651
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class
new file mode 100644
index 0000000..9c7c4a1
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$ShadowLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$ShadowLabel.class
new file mode 100644
index 0000000..f13daf9
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$ShadowLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget.class
new file mode 100644
index 0000000..1486d15
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class
new file mode 100644
index 0000000..daafc35
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class
new file mode 100644
index 0000000..bc44ebe
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer.class
new file mode 100644
index 0000000..ff6b4e0
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class
new file mode 100644
index 0000000..fe1b7c3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$NavigationAnimator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$NavigationAnimator.class
new file mode 100644
index 0000000..10e181c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$NavigationAnimator.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class
new file mode 100644
index 0000000..3ed1353
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class
new file mode 100644
index 0000000..70c86d1
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class
new file mode 100644
index 0000000..4329e8d
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class
new file mode 100644
index 0000000..ec69d1e
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class
new file mode 100644
index 0000000..a5311e1
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$ButtonPanel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$ButtonPanel.class
new file mode 100644
index 0000000..a11dbcf
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$ButtonPanel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class
new file mode 100644
index 0000000..6eb839b
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class
new file mode 100644
index 0000000..2b00369
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class
new file mode 100644
index 0000000..da4d403
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class
new file mode 100644
index 0000000..bd78dcb
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SoundManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SoundManager.class
new file mode 100644
index 0000000..c4d34c3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SoundManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardLabel.class
new file mode 100644
index 0000000..9f72619
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class
new file mode 100644
index 0000000..96b24bc
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard.class
new file mode 100644
index 0000000..afc0783
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class
new file mode 100644
index 0000000..8e02389
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class
new file mode 100644
index 0000000..46d802f
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class
new file mode 100644
index 0000000..0e2ec71
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class
new file mode 100644
index 0000000..08f1daa
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class
new file mode 100644
index 0000000..a9028b1
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class
new file mode 100644
index 0000000..1436012
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$OpenAction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$OpenAction.class
new file mode 100644
index 0000000..220ed47
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$OpenAction.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAction.class
new file mode 100644
index 0000000..bda1d4a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAction.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAsAction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAsAction.class
new file mode 100644
index 0000000..f704c23
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAsAction.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class
new file mode 100644
index 0000000..18f1c53
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class
new file mode 100644
index 0000000..d9f100f
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class
new file mode 100644
index 0000000..d5cd685
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class
new file mode 100644
index 0000000..f43a46e
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class
new file mode 100644
index 0000000..aaf6b7c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class
new file mode 100644
index 0000000..c22fff8
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class
new file mode 100644
index 0000000..8ed7abf
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities$MatchingComparator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities$MatchingComparator.class
new file mode 100644
index 0000000..da4f694
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities$MatchingComparator.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class
new file mode 100644
index 0000000..a58980a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CollapseLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CollapseLabel.class
new file mode 100644
index 0000000..7820942
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CollapseLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment$CommentEventListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment$CommentEventListener.class
new file mode 100644
index 0000000..f877353
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment$CommentEventListener.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class
new file mode 100644
index 0000000..c797b9c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class
new file mode 100644
index 0000000..6781e9f
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class
new file mode 100644
index 0000000..07567a5
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentLabel.class
new file mode 100644
index 0000000..a7566b1
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class
new file mode 100644
index 0000000..998b78a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class
new file mode 100644
index 0000000..59bcbf6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class
new file mode 100644
index 0000000..9246217
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/NameLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/NameLabel.class
new file mode 100644
index 0000000..d457c01
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/NameLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class
new file mode 100644
index 0000000..365eeb2
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RBHighlightHandler.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RBHighlightHandler.class
new file mode 100644
index 0000000..21519ac
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RBHighlightHandler.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class
new file mode 100644
index 0000000..078eb10
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock.class
new file mode 100644
index 0000000..2daddf3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/SocketLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/SocketLabel.class
new file mode 100644
index 0000000..56ea467
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/SocketLabel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/TextualFactoryBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/TextualFactoryBlock.class
new file mode 100644
index 0000000..dc3ea92
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/TextualFactoryBlock.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class
new file mode 100644
index 0000000..c0d4c0b
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class
new file mode 100644
index 0000000..e4c72fa
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockStackSorterUtil.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockStackSorterUtil.class
new file mode 100644
index 0000000..76a890f
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockStackSorterUtil.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ContextMenu.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ContextMenu.class
new file mode 100644
index 0000000..6c27131
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ContextMenu.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryCanvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryCanvas.class
new file mode 100644
index 0000000..8fe0bd7
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryCanvas.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class
new file mode 100644
index 0000000..2084d3d
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ISupportMemento.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ISupportMemento.class
new file mode 100644
index 0000000..810d8f7
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ISupportMemento.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class
new file mode 100644
index 0000000..407cbc9
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class
new file mode 100644
index 0000000..0dca06b
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class
new file mode 100644
index 0000000..3d1c1a3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class
new file mode 100644
index 0000000..5b0e1e4
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class
new file mode 100644
index 0000000..7ad7829
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class
new file mode 100644
index 0000000..616537c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class
new file mode 100644
index 0000000..756f60a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class
new file mode 100644
index 0000000..ba5324c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class
new file mode 100644
index 0000000..84d2393
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDrawerLoadingUtils.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDrawerLoadingUtils.class
new file mode 100644
index 0000000..e98b929
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDrawerLoadingUtils.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageJComponent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageJComponent.class
new file mode 100644
index 0000000..687eb6b
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageJComponent.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/RBParent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/RBParent.class
new file mode 100644
index 0000000..ec8fb56
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/RBParent.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class
new file mode 100644
index 0000000..5daaa4c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar$SearchRange.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar$SearchRange.class
new file mode 100644
index 0000000..b4a7945
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar$SearchRange.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class
new file mode 100644
index 0000000..93fff64
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class
new file mode 100644
index 0000000..0368f27
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class
new file mode 100644
index 0000000..b91dc2c
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Subset.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Subset.class
new file mode 100644
index 0000000..7adc505
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Subset.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class
new file mode 100644
index 0000000..986f338
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace$WorkspaceState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace$WorkspaceState.class
new file mode 100644
index 0000000..94705ee
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace$WorkspaceState.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace.class
new file mode 100644
index 0000000..1513662
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEnvironment.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEnvironment.class
new file mode 100644
index 0000000..3f81220
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEnvironment.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class
new file mode 100644
index 0000000..ba57330
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class
new file mode 100644
index 0000000..ccfd1f1
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class
new file mode 100644
index 0000000..bea7dd7
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class
new file mode 100644
index 0000000..b0c20b0
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class
new file mode 100644
index 0000000..4510dfa
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class
new file mode 100644
index 0000000..2134c67
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$QueryCellRenderer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$QueryCellRenderer.class
new file mode 100644
index 0000000..a2c682e
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$QueryCellRenderer.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel.class
new file mode 100644
index 0000000..63df418
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class
new file mode 100644
index 0000000..2a40cd9
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class
new file mode 100644
index 0000000..841b1b9
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class
new file mode 100644
index 0000000..978442f
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/LinkFinderUtil.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/LinkFinderUtil.class
new file mode 100644
index 0000000..e5b8481
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/LinkFinderUtil.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class
new file mode 100644
index 0000000..410ee3d
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class
new file mode 100644
index 0000000..772cbe3
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/closed_hand.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/closed_hand.gif
new file mode 100644
index 0000000..eccbe9a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/closed_hand.gif differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/brick.jpg b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/brick.jpg
new file mode 100644
index 0000000..ba18796
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/brick.jpg differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/click.wav b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/click.wav
new file mode 100644
index 0000000..74b9214
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/click.wav differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png
new file mode 100644
index 0000000..cd9eec7
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd
new file mode 100644
index 0000000..84f42df
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd
@@ -0,0 +1,189 @@
+
+
+
+
+
+ Root element
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restricted to format: "r g b" where r, g and
+ b are between 0 and 255
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Whether pages should display a control to
+ collapse them or not.
+
+
+
+
+
+
+
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png
new file mode 100644
index 0000000..58bc724
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/minus.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/minus.gif
new file mode 100644
index 0000000..58c5888
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/minus.gif differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif
new file mode 100644
index 0000000..4d123a6
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif differ
diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif
new file mode 100644
index 0000000..72412c4
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif differ
diff --git a/openblocks-master/openblocks-master/bin/src/site/apt/index.apt b/openblocks-master/openblocks-master/bin/src/site/apt/index.apt
new file mode 100644
index 0000000..29c922c
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/src/site/apt/index.apt
@@ -0,0 +1,5 @@
+OpenBlocks refactoring branch
+
+ This is a fork of MIT OpenBlocks (covered by the MIT license) for refactoring purposes.
+
+ The principal objective of the fork is to make the code more amenable to inclusion to other projects.
diff --git a/openblocks-master/openblocks-master/bin/src/site/apt/language.apt b/openblocks-master/openblocks-master/bin/src/site/apt/language.apt
new file mode 100644
index 0000000..57a23ae
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/src/site/apt/language.apt
@@ -0,0 +1,252 @@
+ ------
+ Language Definition File XML Specification
+ ------
+ ------
+ ------
+
+Language Definition File XML Specification
+
+ The language definition file (lang_def.xml) describes two parts:
+
+ * block language
+
+ * Workspace, which is the programming environment for the specified block language.
+ (Note: The lang_def.dtd files specifies rules, elements, attributes within lang_def.xml.)
+
+* 2 Specifying the Block Language
+
+** 2.1 Block Genus
+
+ A block genus describes the properties that define a common set of blocks. For example,
+ fd is a block genus that describes all forward blocks in Starlogo. For each block in your
+ block language, you must specify a BlockGenus.
+
++------------
+
+
+ Agents moves steps forward.
+ Number of steps to move.
+
+
+
+
+
+
+
++-------------
+
+[images/block.png] The forward block
+
+ <>: The forward block and its block genus fd specification.
+
+*--+--+
+||Block Genus Attributes||Description|
+*--+--+
+|name|Unique name for genus|
+*--+--+
+|kind|Block genus class. Currently, codeblocks uses three kinds: command, data, variable|
+*--+--+
+|initlabel|The initial label for a block in this genus.|
+*--+--+
+|color|The RGB color for a block in this genus.|
+*--+--+
+|editable-label|If “yes”, block label is user-editable. Unless specified in block genus, editable-label = “no” by default (i.e. genus fd is not editable.)|
+*--+--+
+|label-unique|If “yes”, every block instance of this genus must have a unique block label. Set to “no” by default.|
+*--+--+
+|is-label-value|If “yes,” its block label determines the block value. This attribute is applicable to data blocks (i.e. number, string, true, false). Set to “no” by default.|
+*--+--+
+|label-prefix|A string to always precede its block label|
+*--+--+
+|label-suffix|A string to always succeed its block label
+*--+--+
+|sockets-expandable|If “yes,” sockets expand whenever a block is connected to them. Set to “no” by default.
+*--+--+
+|is-starter|If “yes,” this block genus begins block stacks of code. Set to “no” by default.
+*--+--+
+|is-terminator|If “yes,” this block genus ends block stacks of end. Set to “no” by default.
+*--+--+
+
+*** 2.1.1 Description
+
+ The description element specifies the formatting and text of a user-friendly description of
+ the blocks within this genus.
+ (Note: this is not completely specified yet.)
+
+*** 2.1.2 BlockConnectors
+
+ The BlockConnectors specifies the properties of all the connecting points of a block
+ genus. There are four kinds of connectors, differing in their meaning and location:
+
+ [ Plug] Returns a value. Resides on the left side of a block.
+
+ [ Socket] Reads in a value or branches the flow of execution. Resides on the right side
+ of a block.
+
+ [ Before] Connects to previous command. Resides on the top side of a block.
+
+ [ After] Connects to the next command. Resides on the bottom side of a block.
+
+ Each connector has a type that determines its shape and the data (number, string, boolean,
+ polymorphic) or command type that it reads/returns/connects to. Before and After
+ connectors are always of type command. A Socket may be of any type. Similarly, a Plug
+ returns any type except command.
+
+[images/plug-socket.png] The if genus and its block has two sockets: one Boolean labeled “test” and a command labeled “then.” The true genus and its block has a boolean plug mirrored on both sides.
+
+ <>: The if genus and its block has two sockets: one Boolean labeled “test” and a command
+ labeled “then.” The true genus and its block has a boolean plug mirrored on both sides.
+
+ Sockets and Plugs are specified in the xml file. Before and After connectors are
+ dynamically generated, depending if the genus kind is command or if the genus is a
+ starter or terminator.
+
+*--+--+
+|| BlockConnector Attributes || Description
+*--+--+
+| label | Label that resides by the connector on the block. For example, steps is a label of forward’s socket.
+*--+--+
+| label-editable | If “yes,” connector label is user-editable. Set to “no” by default.
+*--+--+
+| connector-kind | Determines if connector is a “plug” or a “socket.” Before and After connectors are dynamically generated depending on genus kind, starter, or terminator properties.
+*--+--+
+| connector-type | Data (number, string, boolean, polymorphic) or command type.
+*--+--+
+| position type | Determines the position of this connector. single: either left or right depending on kind mirror: plug is mirrored on the right side of block bottom: sockets are placed in the bottom of the block
+*--+--+
+
+ Some blocks have default arguments or blocks that are connected to its connectors when
+ the block is dragged onto the block canvas. For example, the forward block has a default
+ argument, the number block with its value set to 1. Default arguments can be convenient,
+ especially if the default argument is a common choice to connect to a block.
+
+*--+--+
+|| Default Argument Attribues || Description
+*--+--+
+| genus-name | the block genus name of the default argument
+*--+--+
+| label | the label (if genus is editable) of the argument
+*--+--+
+
+*** 2.1.3 BlockStubs (Advanced)
+
+ Some block genuses may have dynamically generated blocks when its block instance is
+ dragged onto the block canvas. These dynamically generated blocks are called Stubs,
+ and they reference the parent block they were created from. Examples of stubs are
+ getters and setters for variables. The block genus agent-var-boolean specified below has
+ two stubs: a getter and a setter.
+
+[images/getter-setter.png] The genus agent-var-boolean has two stubs, a getter and a setter.
+
++--------------
+
+ ...
+
+
+
+
+
+
+
+
+
+
++---------------
+
+ <>: The genus agent-var-boolean has two stubs, a getter and a setter.
+
+ Currently there are five stubs available, each with its own genus:
+
+ [getter] a data block returns the value of its parent block.
+
+ [ setter] a command block that sets the value of its parent block
+
+ [ inc] a command block that increments the value of its parent block by a fixed value.
+
+ [ caller] a command block that executes the commands enclosed by its parent. This
+ stub is used by procedure blocks to create their call blocks.
+
+ [ agent] a data block that returns the value its parent block for a particular agent
+
+*** 2.1.4 LangSpecProperties
+
+ The Codeblocks library is language independent and not all properties specified in the
+ language definition file can cover all the properties needed by a block language. Each
+ LangSpecProperty has a key-value pairing that when loaded is saved within the
+ properties HashMap in the BlockGenus class.
+
+** 2.2 BlockFamilies
+
+ Block families provide additional convenience for the user by grouping block genuses
+ that have similar functionality into families. When blocks are rendered in the workspace,
+ blocks with families have an additional drop down box included in its graphical block.
+ Family members are included in this drop down box.
+
+[images/forward-back.png] The forward and back block genuses are in the same family. The graphical block shows its family members in its drop down.
+
++--------------
+
+
+ fd
+ bk
+
++-------------
+
+ <>: The forward and back block genuses are in the same family. The graphical block shows its family members in its drop down.
+
+* 3 Specifying the Workspace
+
+** 3.1 BlockDrawerBars and BlockDrawer
+
+ BlockDrawerBars manage BlockDrawers, which are block containers. BlockDrawerBars
+ contain a series of buttons, each button toggling the visibility of one block drawer.
+ There are four types of block drawers, each differing in behavior and functionality.
+
+ [ Default] contains one instance of each block contained. Blocks may be dragged and
+ dropped within the drawer and to and from the block canvas or other block drawers.
+
+ [ Factory] contains blocks that can produce an infinite amount of block instances.
+ When a block is picked from a factory drawer, a new instance is created. When a
+ block is dragged back to a factory drawer, the block is deleted. The blocks contained
+ within this drawer never move, but only produce new blocks.
+
+ [ Page] contains blocks for a particular page
+
+ [ Custom] Similar to the default block drawer, except that this drawer may be saved
+ with the project for future use.
+
+ []
+
+*--+--+
+|| BlockDrawer Attributes/Elements || Description
+*--+--+
+| name | the name of this drawer. The name is displayed in the button corresponding to this drawer
+*--+--+
+| type | drawer type: default, factory, page, custom. Set to “default” by default.
+*--+--+
+| is-open | If “yes,” drawer is displayed at workspace startup. Set to “no” by default.
+*--+--+
+| button-color | The color of the corresponding button
+*--+--+
+| BlockGenusMember | the genus name a block within this drawer
+*--+--+
+| Separator | Formatting property. If specified between BlockGenusMember elements, a line is drawn between the genus members in the graphical drawer.
+*--+--+
+| NextLine | Formatting property. If specified between BlockGenusMember elements, the genus member after the NextLine element is drawn in the succeeding row in the drawer.
+*--+--+
+
+
+
+** 3.2 Pages
+
+ Pages divide up and organize the block workspace. Pages may have associated block
+ drawers that contain blocks that are “special” to that page.
+
+*--+--+
+|| Page Attributes || Description
+*--+--+
+| page-name | name of this page. Name is drawn on the page.
+*--+--+
+| drawer-name | drawer associated with this page
+*--+--+
diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/block.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/block.png
new file mode 100644
index 0000000..e1b9284
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/site/resources/images/block.png differ
diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/forward-back.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/forward-back.png
new file mode 100644
index 0000000..1ee3db8
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/site/resources/images/forward-back.png differ
diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/getter-setter.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/getter-setter.png
new file mode 100644
index 0000000..d6acf03
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/site/resources/images/getter-setter.png differ
diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/plug-socket.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/plug-socket.png
new file mode 100644
index 0000000..f04b40a
Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/site/resources/images/plug-socket.png differ
diff --git a/openblocks-master/openblocks-master/bin/src/site/site.xml b/openblocks-master/openblocks-master/bin/src/site/site.xml
new file mode 100644
index 0000000..51e3f28
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/src/site/site.xml
@@ -0,0 +1,18 @@
+
+
+
+ openblocks
+ https://github.com/mikaelhg/openblocks
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/openblocks-master/openblocks-master/bin/support/ardublock_def.xml b/openblocks-master/openblocks-master/bin/support/ardublock_def.xml
new file mode 100644
index 0000000..52f499a
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/support/ardublock_def.xml
@@ -0,0 +1,881 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the boolean true.
+
+
+
+
+
+
+
+
+
+
+ Reports the boolean false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ this is the loop of the arduino
+
+
+
+
+
+
+
+
+
+ Digital Var
+
+
+
+
+
+
+
+
+
+
+ Digital Var
+
+
+
+
+
+
+
+
+
+ Read digital value from pin
+
+
+
+
+
+
+
+
+
+
+
+ Read analog value from pin
+
+
+
+
+
+
+
+
+
+
+
+ write digital to pin
+
+
+
+
+
+
+
+
+
+
+
+
+
+ write digital to pin
+
+
+
+
+
+
+
+
+
+ write digital to pin
+
+
+
+
+
+
+
+
+
+ write analog to pin
+
+
+
+
+
+
+
+
+
+
+
+
+
+ set a pin to pwm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If
+
+ is true, the agent will run the blocks attached to
+
+
+
+ The condition being
+ tested.
+
+
+
+ The set of instructions
+ that is done when the condition is true.
+
+
+
+
+
+
+
+
+
+
+
+ Does the first set of commands if the condition specified is
+ true, otherwise it will do the second set of commands.
+
+
+ The condition being
+ tested.
+
+
+
+ The set of instructions
+ that is done when the condition is true.
+
+
+
+ The set of instructions
+ that is done when the condition is false.
+
+
+
+
+
+
+
+
+
+
+
+
+ While Block
+
+
+
+
+
+
+
+
+
+
+
+ Reports true if both of the two conditions are true.
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports true if one or both of the two conditions are true.
+
+
+ The first condition that
+ must be true.
+
+
+ The second condition
+ that must be true.
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the opposite of
+
+ .
+
+
+ The boolean (true or
+ false) that should be inverted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the sum of two numbers (
+
+ +
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the difference of two numbers (
+
+ -
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the product of two numbers (
+
+ x
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the quotient of two numbers (
+
+ ÷
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ program delay in x milliseconds
+
+
+
+
+
+
+
+
+
+
+ program delay in x milliseconds
+
+
+
+
+
+
+
+
+
+
+ generate a random number less than the number
+
+
+
+
+
+
+
+
+
+
+
+ generate a random number less than the number
+
+
+
+
+
+
+
+
+
+ TinkerKit LED
+
+
+
+
+
+
+
+
+
+
+
+ edu/mit/blocks/codeblocks/brick.jpg
+
+
+
+
+
+
+ TinkerKit Mosfet
+
+
+
+
+
+
+
+
+
+
+
+ /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Mosfet.jpg
+
+
+
+
+
+
+ TinkerKit Relay
+
+
+
+
+
+
+
+
+
+
+
+ /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Relay.jpg
+
+
+
+
+
+
+ TinkerKit Servo
+
+
+
+
+
+
+
+
+
+
+
+ /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Servo.png
+
+
+
+
+
+
+ TinkerKit Button
+
+
+
+
+
+
+
+
+
+ /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Button.jpg
+
+
+
+
+
+
+ TinkerKit Accelerometer
+
+
+
+
+
+
+
+
+
+ /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Button.jpg
+
+
+
+
+
+
+
+
+ digital-high
+ digital-low
+
+
+ and
+ or
+
+
+ true
+ false
+
+
+ addition
+ subtraction
+ multiplication
+ division
+ modulo
+
+
+ min
+ max
+
+
+ sin
+ cos
+ tan
+
+
+
+
+
+
+ loop
+ digital-var
+ number-var
+ set-digital-var
+ set-number-var
+
+
+
+
+ loop
+ ifelse
+ if
+ while
+
+
+
+ pin-read-digital
+ pin-read-analog
+ pin-write-digital
+ pin-write-analog
+ servo
+
+
+
+ number
+ digital-high
+ digital-low
+ true
+ false
+
+
+
+ and
+ or
+ not
+
+ addition
+ subtraction
+ multiplication
+ division
+ modulo
+ min
+ max
+ abs
+ pow
+ sqrt
+ sin
+ cos
+ tan
+
+
+ delay
+ random
+ delayMicroseconds
+ millis
+
+
+
+ Tinker_LED
+
+
+
+
+
+
+
+
+
+
+
+
+ /support/images/trash_open.png
+ /support/images/trash.png
+
+
+
diff --git a/openblocks-master/openblocks-master/bin/support/lang_def.dtd b/openblocks-master/openblocks-master/bin/support/lang_def.dtd
new file mode 100644
index 0000000..10541da
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/support/lang_def.dtd
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/openblocks-master/openblocks-master/bin/support/lang_def.xml b/openblocks-master/openblocks-master/bin/support/lang_def.xml
new file mode 100644
index 0000000..33563af
--- /dev/null
+++ b/openblocks-master/openblocks-master/bin/support/lang_def.xml
@@ -0,0 +1,3631 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the value of the variable.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the value of the variable.
+
+
+
+
+
+
+
+
+
+
+ Calls the procedure of the specified name.
+
+
+
+
+
+
+
+ Increments the value of the variable number.
+
+
+
+
+
+
+
+
+
+
+ Gets the value of the variable of the agent ID.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the number shown.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the text shown.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the boolean true.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the boolean false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Selects a random color.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Agents moves
+
+ steps forward.
+
+
+ Number of steps to move.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Agents moves
+
+ steps backward.
+
+
+ Number of steps to move.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Makes agents turn
+
+ degrees to the left.
+
+
+ Number of degrees to
+ turn.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Makes agents turn
+
+ degrees to the right.
+
+
+ Number of degrees to
+ turn.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Heights of agents increase by
+
+ steps.
+
+
+ Number of steps to move
+ up.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Heights of agents decrease by
+
+ steps.
+
+
+ Number of steps to move
+ down.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the x and y coordinates (a.k.a. position) of an agent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If
+
+ is true, the agent will run the blocks attached to
+
+
+
+ The condition being
+ tested.
+
+
+
+ The set of instructions
+ that is done when the condition is true.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does the first set of commands if the condition specified is
+ true, otherwise it will do the second set of commands.
+
+
+ The condition being
+ tested.
+
+
+
+ The set of instructions
+ that is done when the condition is true.
+
+
+
+ The set of instructions
+ that is done when the condition is false.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Repeats some commands
+
+ times.
+
+
+ The number of times to
+ repeat the command.
+
+
+
+ The commands to do.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports true if one or both of the two conditions are true.
+
+
+ The first condition that
+ must be true.
+
+
+ The second condition
+ that must be true.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports true if both of the two conditions are true.
+
+
+ The first condition that
+ must be true.
+
+
+ The second condition
+ that must be true.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the opposite of
+
+ .
+
+
+ The boolean (true or
+ false) that should be inverted.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Counts all agents that satisfy a certain condition.
+
+
+ The condition an agent
+ must satisfy to be counted
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the number of agents that are currently alive.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Causes this agent to "say" the supplied text by popping up a
+ speech bubble in SpaceLand.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Displays the text attached to this block in the bottom panel
+ of Spaceland.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Causes agent to play a sound with the following
+
+ . Select a sound from the Sounds drawer and attach to this block.
+
+
+ The text name of the
+ sound to play.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a text representation of the given block(s) connected
+ to this.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Appends
+
+ to the end of
+
+ .
+
+
+ The text to which to
+ append.
+
+
+ The text to append to.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the value of PI (approximately 3.14).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the mathematical number
+ e
+ , which is about 2.718.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the sum of two numbers (
+
+ +
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the difference of two numbers (
+
+ -
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the product of two numbers (
+
+ x
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the quotient of two numbers (
+
+ ÷
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Determines if two quantities are equal (
+
+ =
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Determines if two quantities are different (
+
+ !=
+
+ ).
+
+
+ The first thing to compare.
+
+
+ The second thing to compare.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the
+
+ is less than the
+
+ .
+
+
+ The first thing to compare.
+
+
+ The second thing to compare.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the
+
+ is less than or equal to the
+
+ .
+
+
+ The first thing to compare.
+
+
+ The second thing to compare.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the
+
+ is greater than the
+
+ .
+
+
+ The first thing to compare.
+
+
+ The second thing to compare.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the
+
+ is greater than or equal to the
+
+ .
+
+
+ The first thing to compare.
+
+
+ The second thing to compare.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports a random integer greater than or equal to 1 and less than
+ or equal to
+
+ .
+
+
+ The upper integer in the
+ range.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Rounds
+
+ to the nearest integer.
+
+
+ The number to round.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the whole number part of the number.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the integer remainder of
+
+ divided by
+
+ .
+
+
+ The number to divide.
+
+
+
+ The number by which to
+ divide.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the smaller value of the two numbers.
+
+
+ The first number to
+ compare.
+
+
+ The second number to
+ compare.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the greatest value of the two numbers.
+
+
+ The first number to
+ compare.
+
+
+ The second number to
+ compare.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the power of one number raised to another (
+
+ ^
+
+ ).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the absolute value of a number.
+
+
+ A number from which to
+ get the absolute value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the square root of
+
+ .
+
+
+ The number whose square
+ root to take.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Trigonmetric function that reports the sine of the specified
+ angle.
+
+
+ The angle in degrees for
+ which the sine will be reported.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Trigonmetric function that reports the cosine of the
+ specified angle.
+
+
+ The angle in degrees for
+ which the cosine will be reported.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Trigonmetric function that reports the tangent of the
+ specified angle.
+
+
+ The angle in degrees for
+ which the tangent will be reported.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Trigonometric function that reports the arcsine of the
+ specified number. All angles are reported in degrees.
+
+
+ A number from which to
+ get the arcsine.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Trigonometric function that reports the arccosine of the
+ specified number. All angles are reported in degrees.
+
+
+ A number from which to
+ get the arccosine.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the logarithm base 10 of
+
+ .
+
+ The return value
+ x
+ will be the number for which 10 to the power of
+ x
+ is equal to
+
+ .
+
+
+
+ The number of which to
+ take the natural logarithm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the natural logarithm of
+
+ .
+
+ The return value
+ x
+ will be the number for which the mathematical constant e, which is
+ about 2.718, to the power of
+ x
+ is equal to
+
+ .
+
+
+
+ The number of which to
+ take the natural logarithm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the color of the patch where the agent is standing.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Changes the color of the patch on which this agent is to
+
+ .
+
+
+ The color to which to
+ change the patch.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the height of the patch where the agent is standing.
+
+
+
+
+
+
+
+
+
+
+
+
+ Decreases the height of the patch where the agent is standing,
+ smoothly connecting the edges to surrounding patches.
+
+ How much the patch
+ height is decreased.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Increases the height of the patch where the agent is standing,
+ smoothly connecting the edges to surrounding patches.
+
+ How much the patch
+ height is increased.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the color of the agent to the given color.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the color of this agent.
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the heading of this agent to the specified value in
+ degrees.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the angle, in degrees, where the agent is heading.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the x coordinate of this agent.
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the y coordinate of this agent.
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the size, or scale, of this agent.
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the size of this agent's shape.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the ID number, or "ID" of this agent.
+
+
+
+
+
+
+
+
+
+
+
+
+ Pulls the agent's pen up so the agent will not stamp every
+ patch where it moves.
+
+
+
+
+
+
+
+
+
+ Pulls the agent's pen down so the agent will stamp every patch
+ where it moves.
+
+
+
+
+
+
+
+
+
+ Reports true if this agent's pen is down, and false otherwise.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the shape of this agent.
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the breed of this agent.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Causes this agent to change its shape to the supplied shape.
+
+
+ The shape
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Causes this agent to change its breed to the supplied breed.
+
+
+ The name of the new
+ breed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the up arrow key is being pressed.
+ Arrow keys have a drop down menu that allow you to select
+ other arrow keys.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the down arrow key is being pressed.
+ Arrow keys have a drop down menu that allow you to select
+ other arrow keys.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the left arrow key is being pressed.
+ Arrow keys have a drop down menu that allow you to select
+ other arrow keys.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the right arrow key is being pressed.
+ Arrow keys have a drop down menu that allow you to select
+ other arrow keys.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether the space bar is being pressed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the current position along the x-axis of the joystick.
+ Reports -1 at the extreme left position and +1 at the extreme
+ right.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the current position along the y-axis of the joystick.
+ Reports -10 at the extreme left position and +10 at the extreme
+ right.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the current radius of the position of the joystick.
+ Reports 0 when the joystick is in the center and 1 when it is full
+ deflected in any direction.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the current angle in degrees that the joystick is at,
+ with 0 at the top and 180 at the bottom.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the angle in degrees of the direction pad on a
+ gamepad.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports
+ true
+ if the first joystick button is down and
+ false
+ if it is not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports
+ true
+ if the second joystick button is down and
+ false
+ if it is not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports
+ true
+ if the third joystick button is down and
+ false
+ if it is not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports
+ true
+ if the fourth joystick button is down and
+ false
+ if it is not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If
+
+ is the ID number of a live agent, that agent will run the blocks
+ attached to
+
+
+
+ The ID of the agent
+ being asked to run something.
+
+
+
+ The set of instructions
+ that is run when by the asked agent.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the ID number of the agent that is currently being
+ followed by the camera.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether over-the-soulder view is on.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Turns the over-the-shoulder view on.
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports whether agent-eye view is on.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Turns the agent-eye view on.
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns
+ true
+ if the aerial camera view is on and
+ false
+ if it is off.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Turns the agent-eye view on.
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns
+ true
+ if the overhead camera view is on and
+ false
+ if it is off.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Turns
+ overhead
+ camera mode on. This is a 2D aerial view of the entire spaceland
+ with map view turned on.
+
+
+
+
+
+
+
+
+
+
+
+
+ Turns
+ overhead
+ camera mode off and goes back to the previous camera view.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defines a section of blocks as a procedure that can be called
+ from other sections of blocks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a number parameter to a procedure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a boolean parameter to a procedure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a text parameter to a procedure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a list parameter to a procedure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When switched on, agents do commands over and over.
+ There are different commands for each breed.
+
+
+ The breed of the agents
+ performing the commands attached here.
+
+
+
+
+
+
+
+ support/forever_switch_on.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When switched on, agents do commands over and over.
+ There are different commands for each breed.
+
+
+
+
+
+
+
+
+
+
+
+ When switched on, agents do commands once.
+ There are different commands for each breed.
+
+
+ The breed of the agents
+ performing the commands attached here.
+
+
+
+
+
+
+
+ support/forever_switch_on.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When switched on, agents do commands once.
+ There are different commands for each breed.
+
+
+
+
+
+
+
+
+
+
+
+ When switched on, agents do commands over and over for
+
+ seconds.
+ There are different commands for each breed.
+
+
+
+ The number of seconds
+ for which the commands are run when switched on.
+
+
+
+ The breed of the agents
+ performing the commands attached here.
+
+
+
+
+
+
+
+
+
+ support/forever_switch_on.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When switched on, agents do commands over and over for a number of
+ seconds.
+ There are different commands for each breed.
+
+
+
+
+
+
+
+
+
+
+
+ This block serves as a wrapper around blocks that set up a
+ model.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This block serves as a wrapper around blocks that set up a
+ model.
+
+
+
+
+
+
+
+
+
+
+ A block used to define a monitor. Mointors appear in the
+ runtime space where they dynamically report a value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A block used to define a monitor. Mointors appear in the
+ runtime space where they dynamically report a value.
+
+
+
+
+
+
+
+
+
+
+ A block used to define a slider. Sliders appear in the runtime
+ space where you can dynamically change the value of its attached
+ shared number variable.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use the slider to change the value of this slider's attached
+ shared number variable.
+
+
+
+
+
+
+
+
+
+
+ Defines a table that appears in the runtime space. Each input
+ to its sockets describes a series in the graph. Values are graphed
+ against time.
+
+
+ Data values to be
+ graphed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use the table to moniter the value of this graph's attached
+ shared variable.
+
+
+
+
+
+
+
+
+
+
+
+ Defines a line graph that appears in the runtime space. Each
+ input to its sockets describes a series in the graph. Values are
+ graphed against time.
+
+
+ Data values to be
+ graphed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use the line graph to moniter the value of this graph's
+ attached shared variable.
+
+
+
+
+
+
+
+
+
+
+
+ Defines a bar graph that appears in the runtime space. Each
+ input to its sockets describes a series in the graph. Values in the
+ graph may change dynamically over time.
+
+
+ Data values to be
+ graphed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use the bar graph to moniter the value of this graph's
+ attached shared variable.
+
+
+
+
+
+
+
+
+
+
+
+ Resets the terrain to flat and green, and kills all of the
+ agents in SpaceLand.
+
+
+
+
+
+
+
+
+
+
+
+
+ Kills all of the agents in SpaceLand.
+
+
+
+
+
+
+
+
+
+
+
+
+ Flattens the terrain in Spaceland and repaints it green.
+
+
+
+
+
+
+
+
+
+
+
+
+ Scatters all agents randomly around the terrain.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sets the score to be the given value.
+
+
+ The new value for the
+ score.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the current score.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates
+
+ number of agents of the given breed.
+
+
+ The number of agents to
+ create.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates
+
+ number of agents of the given breed and has each do the specified
+ commands.
+
+
+ The number of agents to
+ create.
+
+
+ The commands for each
+ agent to do.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the name of the given breed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the number agents of this breed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports the number agents of this breed that satisfy the given condition.
+
+
+ A condition that must be
+ true of the counted agents.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Scatters agents of this breed across SpaceLand.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Clears all agents of this breed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constantly checks for collisions between agents. If a collision
+ occurs, causes the collider to run the
+
+ code, and the collidee to run the
+
+ code. Which agent is the collidee and which is the collider depends
+ on the block. For example, if a Turtle and Frog collide, the
+ collision block with "Turtles" as the first port and "Frogs" as the
+ second port will assume that the Turtle is the collider and the
+ Frog is the collidee.
+
+
+ This is the code that the collider runs.
+
+
+
+ This is the code that
+ the collidee runs. The label of this port determines which breed
+ will be assumed to be collidee.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Selects a random shape.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /models/animals/turtle/default_icon.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /models/animals/sonic/sonic_icon.png
+
+
+
+
+
+
+
+
+
+
+
+
+ fd
+ bk
+
+
+ rt
+ lt
+
+
+ up
+ down
+
+
+ penup
+ pendown
+
+
+ true
+ false
+
+
+ min
+ max
+
+
+ round
+ int
+
+
+ sin
+ cos
+ tan
+
+
+ log
+ ln
+
+
+ over-shoulder-on
+ agent-eye-on
+ aerial-on
+
+
+ overhead-on
+ overhead-off
+
+
+ overhead?
+ aerial?
+ agent-eye?
+ over-shoulder?
+
+
+ joy-button1?
+ joy-button2?
+ joy-button3?
+ joy-button4?
+
+
+ joy-xaxis
+ joy-yaxis
+
+
+ xcor
+ ycor
+
+
+ random-color
+ black
+ blue
+ brown
+ cyan
+ gray
+ green
+ lime
+ magenta
+ orange
+ pink
+ purple
+ red
+ sky
+ turquoise
+ white
+ yellow
+
+
+ keyboard-up
+ keyboard-down
+ keyboard-left
+ keyboard-right
+ keyboard-space
+
+
+ equals
+ not-equals
+ lessthan
+ greaterthan
+ lessthanorequalto
+ greaterthanorequalto
+
+
+ and
+ or
+
+
+ sum
+ difference
+ quotient
+ product
+
+
+ stomp
+ yank
+
+
+
+
+
+
+ setup
+ forever
+ runforsometime
+ runonce
+ clear-all
+ clear-everyone
+ clear-patches
+ set-score
+ score
+
+
+ fd
+ bk
+ lt
+ rt
+ up
+ down
+ setxy
+
+
+ if
+ ifelse
+ repeat
+ and
+ or
+ not
+ equals
+ lessthan
+ true
+ false
+
+
+ keyboard-up
+ keyboard-space
+ joy-xaxis
+ joy-yaxis
+ joy-radius
+ joy-angle
+ dpad-angle
+ joy-button1?
+ joy-button2?
+ joy-button3?
+ joy-button4?
+
+
+ stamp
+ pc
+ stomp
+ yank
+ patch-height
+
+
+ who
+ setc
+ color
+ setshape
+ shape
+ setbreed
+ breed
+ seth
+ heading
+ penup
+ pendown
+ pendown?
+ setscale
+ scale
+
+
+ string
+ say
+ set-status
+ to-string
+ string-append
+ equals
+ not-equals
+
+
+ number
+ pi
+ e
+ sum
+ difference
+ product
+ quotient
+ equals
+ not-equals
+ lessthan
+ greaterthan
+ lessthanorequalto
+ greaterthanorequalto
+ atan
+ random
+ round
+ int
+ min
+ max
+ remainder
+ power
+ abs
+ sqrt
+ sin
+ cos
+ tan
+ asin
+ acos
+ log
+ ln
+
+
+ procedure
+ proc-param-number
+ proc-param-string
+ proc-param-boolean
+ proc-param-list
+
+
+ setc
+ random-color
+ blue
+ cyan
+ green
+ lime
+ magenta
+ orange
+ pink
+ purple
+ red
+ sky
+ turquoise
+ white
+ yellow
+ brown
+ gray
+ black
+
+
+
+
+
+
+
+
+
+
+
+
+ /support/images/trash_open.png
+ /support/images/trash.png
+
+
+
+
+