Index: trunk/sources/HeuristicLab.Operators.Programmable/3.3/HeuristicLab.Operators.Programmable-3.3.csproj
===================================================================
--- trunk/sources/HeuristicLab.Operators.Programmable/3.3/HeuristicLab.Operators.Programmable-3.3.csproj	(revision 5011)
+++ trunk/sources/HeuristicLab.Operators.Programmable/3.3/HeuristicLab.Operators.Programmable-3.3.csproj	(revision 5042)
@@ -191,8 +191,4 @@
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="ProgrammableOperatorView.resx">
-      <DependentUpon>ProgrammableOperatorView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
Index: trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperator.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperator.cs	(revision 5011)
+++ trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperator.cs	(revision 5042)
@@ -31,4 +31,5 @@
 using HeuristicLab.Collections;
 using HeuristicLab.Common;
+using HeuristicLab.Common.Resources;
 using HeuristicLab.Core;
 using HeuristicLab.Persistence.Auxiliary;
@@ -50,4 +51,6 @@
       get { return base.Parameters; }
     }
+
+    public override System.Drawing.Image ItemImage { get { return VS2008ImageLibrary.Script; } }
 
     private MethodInfo executeMethod;
@@ -342,6 +345,6 @@
       var results = DoCompile();
       executeMethod = null;
+      CompileErrors = results.Errors;
       if (results.Errors.HasErrors) {
-        CompileErrors = results.Errors;
         StringBuilder sb = new StringBuilder();
         foreach (CompilerError error in results.Errors) {
@@ -355,5 +358,4 @@
           sb.ToString()));
       } else {
-        CompileErrors = null;
         Assembly assembly = results.CompiledAssembly;
         Type[] types = assembly.GetTypes();
Index: trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.Designer.cs	(revision 5011)
+++ trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.Designer.cs	(revision 5042)
@@ -59,4 +59,7 @@
       this.tabPage1 = new System.Windows.Forms.TabPage();
       this.parameterCollectionView = new HeuristicLab.Core.Views.ParameterCollectionView();
+      this.breakpointCheckBox = new System.Windows.Forms.CheckBox();
+      this.breakpointLabel = new System.Windows.Forms.Label();
+      this.compilationLabel = new System.Windows.Forms.Label();
       tabPage2 = new System.Windows.Forms.TabPage();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
@@ -90,5 +93,5 @@
       tabPage2.Name = "tabPage2";
       tabPage2.Padding = new System.Windows.Forms.Padding(3);
-      tabPage2.Size = new System.Drawing.Size(977, 619);
+      tabPage2.Size = new System.Drawing.Size(977, 596);
       tabPage2.TabIndex = 1;
       tabPage2.Text = "Code";
@@ -103,4 +106,5 @@
       // splitContainer1.Panel1
       // 
+      this.splitContainer1.Panel1.Controls.Add(this.compilationLabel);
       this.splitContainer1.Panel1.Controls.Add(this.splitContainer2);
       this.splitContainer1.Panel1.Controls.Add(this.showCodeButton);
@@ -110,5 +114,5 @@
       // 
       this.splitContainer1.Panel2.Controls.Add(this.codeEditor);
-      this.splitContainer1.Size = new System.Drawing.Size(971, 613);
+      this.splitContainer1.Size = new System.Drawing.Size(971, 590);
       this.splitContainer1.SplitterDistance = 244;
       this.splitContainer1.TabIndex = 0;
@@ -116,7 +120,7 @@
       // splitContainer2
       // 
-      this.splitContainer2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.splitContainer2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.splitContainer2.Location = new System.Drawing.Point(0, 33);
       this.splitContainer2.Name = "splitContainer2";
@@ -130,6 +134,6 @@
       // 
       this.splitContainer2.Panel2.Controls.Add(this.namespacesBox);
-      this.splitContainer2.Size = new System.Drawing.Size(242, 583);
-      this.splitContainer2.SplitterDistance = 290;
+      this.splitContainer2.Size = new System.Drawing.Size(242, 560);
+      this.splitContainer2.SplitterDistance = 278;
       this.splitContainer2.TabIndex = 2;
       // 
@@ -140,5 +144,5 @@
       this.assembliesBox.Location = new System.Drawing.Point(0, 0);
       this.assembliesBox.Name = "assembliesBox";
-      this.assembliesBox.Size = new System.Drawing.Size(242, 290);
+      this.assembliesBox.Size = new System.Drawing.Size(242, 278);
       this.assembliesBox.TabIndex = 1;
       this.assembliesBox.TabStop = false;
@@ -151,5 +155,5 @@
       this.assembliesTreeView.Location = new System.Drawing.Point(3, 16);
       this.assembliesTreeView.Name = "assembliesTreeView";
-      this.assembliesTreeView.Size = new System.Drawing.Size(236, 271);
+      this.assembliesTreeView.Size = new System.Drawing.Size(236, 259);
       this.assembliesTreeView.TabIndex = 0;
       this.assembliesTreeView.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.assembliesTreeView_AfterCheck);
@@ -161,5 +165,5 @@
       this.namespacesBox.Location = new System.Drawing.Point(0, 0);
       this.namespacesBox.Name = "namespacesBox";
-      this.namespacesBox.Size = new System.Drawing.Size(242, 289);
+      this.namespacesBox.Size = new System.Drawing.Size(242, 278);
       this.namespacesBox.TabIndex = 1;
       this.namespacesBox.TabStop = false;
@@ -173,5 +177,5 @@
       this.namespacesTreeView.Name = "namespacesTreeView";
       this.namespacesTreeView.PathSeparator = ".";
-      this.namespacesTreeView.Size = new System.Drawing.Size(236, 270);
+      this.namespacesTreeView.Size = new System.Drawing.Size(236, 259);
       this.namespacesTreeView.TabIndex = 0;
       this.namespacesTreeView.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.namespacesTreeView_AfterCheck);
@@ -179,5 +183,5 @@
       // showCodeButton
       // 
-      this.showCodeButton.Image = ((System.Drawing.Image)(resources.GetObject("showCodeButton.Image")));
+      this.showCodeButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.PrintPreview;
       this.showCodeButton.Location = new System.Drawing.Point(33, 3);
       this.showCodeButton.Name = "showCodeButton";
@@ -191,5 +195,5 @@
       // compileButton
       // 
-      this.compileButton.Image = ((System.Drawing.Image)(resources.GetObject("compileButton.Image")));
+      this.compileButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Script;
       this.compileButton.Location = new System.Drawing.Point(3, 3);
       this.compileButton.Name = "compileButton";
@@ -207,5 +211,5 @@
       this.codeEditor.Name = "codeEditor";
       this.codeEditor.Prefix = "";
-      this.codeEditor.Size = new System.Drawing.Size(723, 613);
+      this.codeEditor.Size = new System.Drawing.Size(723, 590);
       this.codeEditor.Suffix = "";
       this.codeEditor.TabIndex = 0;
@@ -215,13 +219,13 @@
       // tabControl1
       // 
-      this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.tabControl1.Controls.Add(this.tabPage1);
       this.tabControl1.Controls.Add(tabPage2);
-      this.tabControl1.Location = new System.Drawing.Point(0, 52);
+      this.tabControl1.Location = new System.Drawing.Point(0, 75);
       this.tabControl1.Name = "tabControl1";
       this.tabControl1.SelectedIndex = 0;
-      this.tabControl1.Size = new System.Drawing.Size(985, 645);
+      this.tabControl1.Size = new System.Drawing.Size(985, 622);
       this.tabControl1.TabIndex = 7;
       // 
@@ -232,5 +236,5 @@
       this.tabPage1.Name = "tabPage1";
       this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-      this.tabPage1.Size = new System.Drawing.Size(977, 619);
+      this.tabPage1.Size = new System.Drawing.Size(977, 596);
       this.tabPage1.TabIndex = 0;
       this.tabPage1.Text = "Parameters";
@@ -245,6 +249,35 @@
       this.parameterCollectionView.Name = "parameterCollectionView";
       this.parameterCollectionView.ReadOnly = false;
-      this.parameterCollectionView.Size = new System.Drawing.Size(971, 613);
+      this.parameterCollectionView.Size = new System.Drawing.Size(971, 590);
       this.parameterCollectionView.TabIndex = 0;
+      // 
+      // breakpointCheckBox
+      // 
+      this.breakpointCheckBox.AutoSize = true;
+      this.breakpointCheckBox.Location = new System.Drawing.Point(72, 52);
+      this.breakpointCheckBox.Name = "breakpointCheckBox";
+      this.breakpointCheckBox.Size = new System.Drawing.Size(15, 14);
+      this.breakpointCheckBox.TabIndex = 8;
+      this.breakpointCheckBox.UseVisualStyleBackColor = true;
+      this.breakpointCheckBox.CheckedChanged += new System.EventHandler(this.breakpointCheckBox_CheckedChanged);
+      // 
+      // breakpointLabel
+      // 
+      this.breakpointLabel.AutoSize = true;
+      this.breakpointLabel.Location = new System.Drawing.Point(3, 52);
+      this.breakpointLabel.Name = "breakpointLabel";
+      this.breakpointLabel.Size = new System.Drawing.Size(61, 13);
+      this.breakpointLabel.TabIndex = 9;
+      this.breakpointLabel.Text = "Breakpoint:";
+      // 
+      // compilationLabel
+      // 
+      this.compilationLabel.AutoSize = true;
+      this.compilationLabel.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
+      this.compilationLabel.Location = new System.Drawing.Point(63, 9);
+      this.compilationLabel.Name = "compilationLabel";
+      this.compilationLabel.Size = new System.Drawing.Size(67, 13);
+      this.compilationLabel.TabIndex = 3;
+      this.compilationLabel.Text = "not compiled";
       // 
       // ProgrammableOperatorView
@@ -253,6 +286,10 @@
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.Controls.Add(this.tabControl1);
+      this.Controls.Add(this.breakpointCheckBox);
+      this.Controls.Add(this.breakpointLabel);
       this.Name = "ProgrammableOperatorView";
       this.Size = new System.Drawing.Size(985, 697);
+      this.Controls.SetChildIndex(this.breakpointLabel, 0);
+      this.Controls.SetChildIndex(this.breakpointCheckBox, 0);
       this.Controls.SetChildIndex(this.tabControl1, 0);
       this.Controls.SetChildIndex(this.nameTextBox, 0);
@@ -263,4 +300,5 @@
       tabPage2.ResumeLayout(false);
       this.splitContainer1.Panel1.ResumeLayout(false);
+      this.splitContainer1.Panel1.PerformLayout();
       this.splitContainer1.Panel2.ResumeLayout(false);
       this.splitContainer1.ResumeLayout(false);
@@ -291,4 +329,7 @@
     private System.Windows.Forms.GroupBox assembliesBox;
     private System.Windows.Forms.GroupBox namespacesBox;
+    private System.Windows.Forms.CheckBox breakpointCheckBox;
+    private System.Windows.Forms.Label compilationLabel;
+    private System.Windows.Forms.Label breakpointLabel;
   }
 }
Index: trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.cs
===================================================================
--- trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.cs	(revision 5011)
+++ trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.cs	(revision 5042)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using System.Drawing;
 using System.Linq;
 using System.Reflection;
@@ -33,4 +34,5 @@
 
 namespace HeuristicLab.Operators.Programmable {
+
   [View("ProgrammableOperator View")]
   [Content(typeof(ProgrammableOperator), true)]
@@ -55,4 +57,5 @@
       ProgrammableOperator.CodeChanged += ProgrammableOperator_CodeChanged;
       ProgrammableOperator.SignatureChanged += ProgrammableOperator_SignatureChanged;
+      ProgrammableOperator.BreakpointChanged += ProgrammableOperator_BreakpointChanged;
     }
 
@@ -60,6 +63,19 @@
       ProgrammableOperator.CodeChanged -= ProgrammableOperator_CodeChanged;
       ProgrammableOperator.SignatureChanged -= ProgrammableOperator_SignatureChanged;
+      ProgrammableOperator.BreakpointChanged -= ProgrammableOperator_BreakpointChanged;
       base.DeregisterContentEvents();
     }
+
+    #region Content event handlers
+    void ProgrammableOperator_BreakpointChanged(object sender, EventArgs e) {
+      breakpointCheckBox.Checked = ProgrammableOperator.Breakpoint;
+    }
+    private void ProgrammableOperator_CodeChanged(object sender, EventArgs e) {
+      codeEditor.Text = ProgrammableOperator.Code;
+    }
+    private void ProgrammableOperator_SignatureChanged(object sender, EventArgs args) {
+      codeEditor.Prefix = GetGeneratedPrefix();
+    }
+    #endregion
 
     protected override void OnContentChanged() {
@@ -86,4 +102,15 @@
           ProgrammableOperator.CompilationUnitCode.Length > 0;
         parameterCollectionView.Content = ProgrammableOperator.Parameters;
+        if (ProgrammableOperator.CompileErrors == null) {
+          compilationLabel.ForeColor = SystemColors.ControlDarkDark;
+          compilationLabel.Text = "not compiled";
+        } else if (ProgrammableOperator.CompileErrors.HasErrors) {
+          compilationLabel.ForeColor = Color.DarkRed;
+          compilationLabel.Text = "compilation failed";
+        } else {
+          compilationLabel.ForeColor = Color.DarkGreen;
+          compilationLabel.Text = "compilation successful";
+        }
+
       }
     }
@@ -96,47 +123,20 @@
       compileButton.Enabled = Content != null && !ReadOnly;
       codeEditor.Enabled = Content != null && !ReadOnly;
-    }
-
-
-    private string GetGeneratedPrefix() {
-      StringBuilder prefix = new StringBuilder();
-      foreach (var ns in ProgrammableOperator.GetSelectedAndValidNamespaces()) {
-        prefix.Append("using ").Append(ns).AppendLine(";");
-      }
-      prefix.AppendLine();
-      prefix.Append("public class ").Append(ProgrammableOperator.CompiledTypeName).AppendLine(" {");
-      prefix.Append("  ").Append(ProgrammableOperator.Signature).AppendLine(" {");
-      return prefix.ToString();
-    }
-
+      showCodeButton.Enabled = Content != null && !string.IsNullOrEmpty(ProgrammableOperator.CompilationUnitCode) && !ReadOnly;
+    }
+
+    #region Child Control event handlers
+    private void compileButton_Click(object sender, EventArgs e) {
+      Recompile();
+    }
+    private void breakpointCheckBox_CheckedChanged(object sender, EventArgs e) {
+      if (ProgrammableOperator != null) ProgrammableOperator.Breakpoint = breakpointCheckBox.Checked;
+    }
+    private void showCodeButton_Click(object sender, EventArgs e) {
+      new CodeViewer(ProgrammableOperator.CompilationUnitCode).ShowDialog(this);
+    }
     private void codeEditor_Validated(object sender, EventArgs e) {
       ProgrammableOperator.Code = codeEditor.UserCode;
     }
-
-    private void Recompile() {
-      this.Enabled = false;
-      try {
-        ProgrammableOperator.Compile();
-        MessageBox.Show("Compilation successful", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
-      } catch (Exception ex) {
-        ErrorHandling.ShowErrorDialog(this, ex);
-      }
-      OnContentChanged();
-      this.Enabled = true;
-    }
-
-    private void compileButton_Click(object sender, EventArgs e) {
-      Recompile();
-    }
-
-    #region ProgrammableOperator Events
-    private void ProgrammableOperator_CodeChanged(object sender, EventArgs e) {
-      codeEditor.Text = ProgrammableOperator.Code;
-    }
-    private void ProgrammableOperator_SignatureChanged(object sender, EventArgs args) {
-      codeEditor.Prefix = GetGeneratedPrefix();
-    }
-    #endregion
-
     private void assembliesTreeView_AfterCheck(object sender, TreeViewEventArgs e) {
       if (initializing)
@@ -158,4 +158,53 @@
       InitializeNamespacesList();
       codeEditor.Prefix = GetGeneratedPrefix();
+    }
+    private void namespacesTreeView_AfterCheck(object sender, TreeViewEventArgs e) {
+      if (initializing)
+        return;
+      if (e.Node.Checked) {
+        ProgrammableOperator.SelectNamespace(e.Node.FullPath);
+      } else {
+        ProgrammableOperator.UnselectNamespace(e.Node.FullPath);
+      }
+      codeEditor.Prefix = GetGeneratedPrefix();
+    }
+    #endregion
+
+    #region global HotKeys
+    protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
+      if (keyData == Keys.F6) {
+        Control activeControl = ActiveControl;
+        compileButton.Focus();
+        Recompile();
+        if (activeControl != null)
+          activeControl.Focus();
+        return true;
+      }
+      return base.ProcessCmdKey(ref msg, keyData);
+    }
+    #endregion
+
+    #region Auxiliary functions
+
+    private string GetGeneratedPrefix() {
+      StringBuilder prefix = new StringBuilder();
+      foreach (var ns in ProgrammableOperator.GetSelectedAndValidNamespaces()) {
+        prefix.Append("using ").Append(ns).AppendLine(";");
+      }
+      prefix.AppendLine();
+      prefix.Append("public class ").Append(ProgrammableOperator.CompiledTypeName).AppendLine(" {");
+      prefix.Append("  ").Append(ProgrammableOperator.Signature).AppendLine(" {");
+      return prefix.ToString();
+    }
+
+    private void Recompile() {
+      this.Enabled = false;
+      try {
+        ProgrammableOperator.Compile();
+      } catch (Exception ex) {
+        ErrorHandling.ShowErrorDialog(this, ex);
+      }
+      OnContentChanged();
+      this.Enabled = true;
     }
 
@@ -265,18 +314,5 @@
     }
 
-    private void namespacesTreeView_AfterCheck(object sender, TreeViewEventArgs e) {
-      if (initializing)
-        return;
-      if (e.Node.Checked) {
-        ProgrammableOperator.SelectNamespace(e.Node.FullPath);
-      } else {
-        ProgrammableOperator.UnselectNamespace(e.Node.FullPath);
-      }
-      codeEditor.Prefix = GetGeneratedPrefix();
-    }
-
-    private void showCodeButton_Click(object sender, EventArgs e) {
-      new CodeViewer(ProgrammableOperator.CompilationUnitCode).ShowDialog(this);
-    }
+    #endregion
   }
 }
Index: trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.resx
===================================================================
--- trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.resx	(revision 5011)
+++ 	(revision )
@@ -1,164 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>107, 17</value>
-  </metadata>
-  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <metadata name="tabPage2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </metadata>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="showCodeButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAA
-        CxEBf2RfkQAAAfZJREFUOE+l099Lk1EYwPH6D/onoqsuoqwIbyIoEy2k5ZzphU1cxCQoVOhmN1qBmq2h
-        W1Kr1SJNeot3/XBWLjetBUUFi2lQQqibLLUonG5z33beWOz13UsXHXguzsN5Pufh4ZyNwIb/WgKQg5Os
-        D2k0wqD/HV7faxGd4lyxUJKiWG9dHXrBzvJGXUQB7gc+6gK9Xj8jE5E80rW+CwUYevpBF3DcfKIU56Mo
-        cOfxGw2QTi0zNjGG87qH9m47F+y9lFaaxTnVLJTNLTmsAlZWlpGHh3kWHCeW+MbXeAKvJGO2tlBvPbup
-        EFEAtxRSAYHxEP5AUMmlM/AzucbcYgaH+y6mBst5DdA/OKoC+tweZucTf4vj39NMzabwhSapqav7rAH6
-        bo+ogB5nPzPzC8rN8aVMrniV8FSSK/fCHKmu1gJi0oVLkn3I/gCxpdzNcylefUry6O0vmtts1NTWOu0d
-        Le35LpQZFALZbJYv09N09ji4NvCQB6EoLilMc6sNo+koA5fqkV2nsnlEA6ymMiz+SBKJRrnsdGI5aeV4
-        YxPHjFU4zuwjduMAay8b8Fw8LZBDKkB0ohcd57o4UbmD97YSZlx7WfAZabUc/vMoRFHJQfM/Y3+5AUvF
-        dp637aapbCumil1VRX+Y3s8T+VwXhtJtWyjbs9kg9r8B4LDiPoc3Lh8AAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="compileButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEQAA
-        CxEBf2RfkQAAArxJREFUOE+FU1lPE1EYnab/wQdffCGRqA8mtCyJEH1hk0RJAHlAoSyKqEQTKCBEHoSI
-        GCG0EDAgMrTBKBYEZRPBhT5oonGhBiurhLK12Hagre10erx3Wi2giTc5me/emXPu+c69IwHAbB99E0ZI
-        IWUYiZcRGAkjJRAkbga8lOF5N+P2eBlZ6B4mNGSfRORRge3of22EAB9ZEiA+6CAlrQV40dY9DnliHqam
-        F+ibvwV6X34WP/ZzKTNQkwUvqdXaYYzpDX9ExN0XZ7/gha4co10lGGy/DF1zPjR1OSjOPQxlriwoKPig
-        7hyCPEGB8KRcyI9n++3fKAwHz+kgbPUS9MGzcR/lihDoNSn41J+JMwl74fP5PfFev4iqcxThiTl+gUet
-        l8Bv9QC2bvw034VrqRlNSjkmtMmoLoxE5YWogAt/S5suDxEYIU4CDtj60+jtKCHEJjhmasEZKrCsL0BL
-        aTQczh+BLHjRhcPpwbrVsVOAuqhXxoAzVsP2/grM+nNYHU9H49VoDLJFIpE24PYAGzYXFpftOwVoiM8f
-        XIPZUIO1V5kwE6yOnMBifxLYqhi031KAFzzgnG6smLfwbcESFHjYlIXWqpNQV8Ti3s1TYGvT0F6ThjvX
-        U9BWnYGvuji0VUbDxXthsToxZ7LCMG0OnAbJ4HbREcxPdWFzZQicqQf25ccEPVif06KxNBaTmmNQlUXB
-        yvEwrXGYmrfgnWEFKvapP0Rqv67sKIqzI1CQGoqLqQeRn3oA+cn7UZwRhvPph+ByubFqcWBmyY6PxnXo
-        P5iCDnZfZXrGv4fb4yPBeWGzO8XgDLMWvJk0Yeztd6g0Q5DFK3b+B1RMzY6SxAUxJIqWjgE0aJ+IltVk
-        ru4cgEr7DA3scPAibXdBSbL4LLG/CHJlZQlnIUvMFud0x0iCsPg8QiaI+4eD3S39b/4Lh5zpNk44eGEA
-        AAAASUVORK5CYII=
-</value>
-  </data>
-</root>
