0024147: Update of CSharp sample
authorvdn <vdn@opencascade.com>
Fri, 25 Oct 2013 09:44:45 +0000 (13:44 +0400)
committerbugmaster <bugmaster@opencascade.com>
Fri, 25 Oct 2013 09:45:47 +0000 (13:45 +0400)
Overall revision of of CSharp sample code:
- Pure C++ project "OCC" deleted as unnecessary
- C++/CLI project "shell" renamed to OCCTProxy and refactored to implement all required interface to OCCT functionality.
- In About dialog, date corrected in Copyright statement
- CSharp files re-layouted with 2 spaces indentation
- ReadMe converted to MarkDown format and revised
- Generation of names of views refactored to avoid calling C++ level
- Project files corrected to run on 64-bit systems
- Batch scripts refactored to use OCCT default configuration

WPF front-end added to demonstrate usage of OCCT in WPF applications.
WPF sample was modified, operation Export has been fixed
Exception "Cannot create this file", which appeared by export to image format, has been corrected.
Option "Export image to .xwd" removed.

123 files changed:
samples/CSharp/CSharp.sln [new file with mode: 0644]
samples/CSharp/IE/AboutDialog.cs [deleted file]
samples/CSharp/IE/AboutDialog.resx [deleted file]
samples/CSharp/IE/App.ico [deleted file]
samples/CSharp/IE/AssemblyInfo.cs [deleted file]
samples/CSharp/IE/Form1.cs [deleted file]
samples/CSharp/IE/Form1.resx [deleted file]
samples/CSharp/IE/Form2.cs [deleted file]
samples/CSharp/IE/Form2.resx [deleted file]
samples/CSharp/IE/IE.csproj [deleted file]
samples/CSharp/IE/IE.sln [deleted file]
samples/CSharp/IE/MaterialDialog.cs [deleted file]
samples/CSharp/IE/MaterialDialog.resx [deleted file]
samples/CSharp/IE/TransparencyDialog.cs [deleted file]
samples/CSharp/IE/TransparencyDialog.resx [deleted file]
samples/CSharp/IE/app.config [deleted file]
samples/CSharp/IE/res/MainFrame.ico [deleted file]
samples/CSharp/IE/res/document.ico [deleted file]
samples/CSharp/IE/res/document.png [deleted file]
samples/CSharp/IE/res/help.png [deleted file]
samples/CSharp/IE/res/lamp.png [deleted file]
samples/CSharp/IE/res/new.png [deleted file]
samples/CSharp/IE/res/occ_logo.bmp [deleted file]
samples/CSharp/IE/res/tool_color.png [deleted file]
samples/CSharp/IE/res/tool_delete.png [deleted file]
samples/CSharp/IE/res/tool_material.png [deleted file]
samples/CSharp/IE/res/tool_shading.png [deleted file]
samples/CSharp/IE/res/tool_transparency.png [deleted file]
samples/CSharp/IE/res/tool_wireframe.png [deleted file]
samples/CSharp/IE/res/view_axo.png [deleted file]
samples/CSharp/IE/res/view_back.png [deleted file]
samples/CSharp/IE/res/view_bottom.png [deleted file]
samples/CSharp/IE/res/view_comp_off.png [deleted file]
samples/CSharp/IE/res/view_comp_on.png [deleted file]
samples/CSharp/IE/res/view_fitall.png [deleted file]
samples/CSharp/IE/res/view_fitarea.png [deleted file]
samples/CSharp/IE/res/view_front.png [deleted file]
samples/CSharp/IE/res/view_glpan.png [deleted file]
samples/CSharp/IE/res/view_left.png [deleted file]
samples/CSharp/IE/res/view_pan.png [deleted file]
samples/CSharp/IE/res/view_reset.png [deleted file]
samples/CSharp/IE/res/view_right.png [deleted file]
samples/CSharp/IE/res/view_rotate.png [deleted file]
samples/CSharp/IE/res/view_top.png [deleted file]
samples/CSharp/IE/res/view_zoom.png [deleted file]
samples/CSharp/OCC/OCC.cpp [deleted file]
samples/CSharp/OCC/OCC.vcproj [deleted file]
samples/CSharp/OCC/OCCViewer.cpp [deleted file]
samples/CSharp/OCC/OCCViewer.h [deleted file]
samples/CSharp/OCC/ReadMe.txt [deleted file]
samples/CSharp/OCC/stdafx.cpp [deleted file]
samples/CSharp/OCC/stdafx.h [deleted file]
samples/CSharp/OCCTProxy/OCCTProxy.cpp [new file with mode: 0644]
samples/CSharp/OCCTProxy/OCCTProxy.vcproj [new file with mode: 0644]
samples/CSharp/ReadMe.md [new file with mode: 0644]
samples/CSharp/WPF/About.xaml [new file with mode: 0644]
samples/CSharp/WPF/About.xaml.cs [new file with mode: 0644]
samples/CSharp/WPF/App.xaml [new file with mode: 0644]
samples/CSharp/WPF/App.xaml.cs [new file with mode: 0644]
samples/CSharp/WPF/IECommands.cs [new file with mode: 0644]
samples/CSharp/WPF/IE_WPF.csproj [new file with mode: 0644]
samples/CSharp/WPF/MainWindow.xaml [new file with mode: 0644]
samples/CSharp/WPF/MainWindow.xaml.cs [new file with mode: 0644]
samples/CSharp/WPF/MaterialDlg.xaml [new file with mode: 0644]
samples/CSharp/WPF/MaterialDlg.xaml.cs [new file with mode: 0644]
samples/CSharp/WPF/OCCViewer.cs [new file with mode: 0644]
samples/CSharp/WPF/Properties/AssemblyInfo.cs [new file with mode: 0644]
samples/CSharp/WPF/Properties/Resources.Designer.cs [new file with mode: 0644]
samples/CSharp/WPF/Properties/Resources.resx [new file with mode: 0644]
samples/CSharp/WPF/Properties/Settings.Designer.cs [new file with mode: 0644]
samples/CSharp/WPF/Properties/Settings.settings [new file with mode: 0644]
samples/CSharp/WPF/Simple Styles.xaml [new file with mode: 0644]
samples/CSharp/WPF/TransparencyDialog.cs [new file with mode: 0644]
samples/CSharp/WPF/TransparencyDialog.resx [new file with mode: 0644]
samples/CSharp/WPF/res/MainFrame.ico [new file with mode: 0644]
samples/CSharp/WPF/res/document.png [new file with mode: 0644]
samples/CSharp/WPF/res/help.png [new file with mode: 0644]
samples/CSharp/WPF/res/lamp.png [new file with mode: 0644]
samples/CSharp/WPF/res/new.png [new file with mode: 0644]
samples/CSharp/WPF/res/occ_logo.bmp [new file with mode: 0644]
samples/CSharp/WPF/res/tool_color.png [new file with mode: 0644]
samples/CSharp/WPF/res/tool_delete.png [new file with mode: 0644]
samples/CSharp/WPF/res/tool_material.png [new file with mode: 0644]
samples/CSharp/WPF/res/tool_shading.png [new file with mode: 0644]
samples/CSharp/WPF/res/tool_transparency.png [new file with mode: 0644]
samples/CSharp/WPF/res/tool_wireframe.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_axo.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_back.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_bottom.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_comp_off.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_comp_on.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_fitall.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_fitarea.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_front.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_glpan.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_left.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_pan.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_reset.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_right.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_rotate.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_top.png [new file with mode: 0644]
samples/CSharp/WPF/res/view_zoom.png [new file with mode: 0644]
samples/CSharp/WinForms/AboutDialog.cs [new file with mode: 0644]
samples/CSharp/WinForms/AboutDialog.resx [new file with mode: 0644]
samples/CSharp/WinForms/App.ico [new file with mode: 0644]
samples/CSharp/WinForms/AssemblyInfo.cs [new file with mode: 0644]
samples/CSharp/WinForms/Form1.cs [new file with mode: 0644]
samples/CSharp/WinForms/Form1.resx [new file with mode: 0644]
samples/CSharp/WinForms/Form2.cs [new file with mode: 0644]
samples/CSharp/WinForms/Form2.resx [new file with mode: 0644]
samples/CSharp/WinForms/IE_WinForms.csproj [new file with mode: 0644]
samples/CSharp/WinForms/MaterialDialog.cs [new file with mode: 0644]
samples/CSharp/WinForms/MaterialDialog.resx [new file with mode: 0644]
samples/CSharp/WinForms/TransparencyDialog.cs [new file with mode: 0644]
samples/CSharp/WinForms/TransparencyDialog.resx [new file with mode: 0644]
samples/CSharp/WinForms/app.config [new file with mode: 0644]
samples/CSharp/msvc.bat
samples/CSharp/run.bat [deleted file]
samples/CSharp/run_winforms.bat [new file with mode: 0644]
samples/CSharp/run_wpf.bat [new file with mode: 0644]
samples/CSharp/shell/shell.cpp [deleted file]
samples/CSharp/shell/shell.h [deleted file]
samples/CSharp/shell/shell.vcproj [deleted file]

diff --git a/samples/CSharp/CSharp.sln b/samples/CSharp/CSharp.sln
new file mode 100644 (file)
index 0000000..6ec2e62
--- /dev/null
@@ -0,0 +1,45 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IE_WPF", "WPF\IE_WPF.csproj", "{D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IE_WinForms", "WinForms\IE_WinForms.csproj", "{B9914BB3-B886-4B41-B48D-350EBEBEFD1F}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCCTProxy", "OCCTProxy\OCCTProxy.vcproj", "{969912D9-78E7-4AB8-B4FF-6B52B4F03991}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|Win32 = Debug|Win32
+               Debug|x64 = Debug|x64
+               Release|Win32 = Release|Win32
+               Release|x64 = Release|x64
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}.Debug|Win32.ActiveCfg = Debug|x86
+               {D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}.Debug|Win32.Build.0 = Debug|x86
+               {D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}.Debug|x64.ActiveCfg = Debug|x64
+               {D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}.Debug|x64.Build.0 = Debug|x64
+               {D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}.Release|Win32.ActiveCfg = Release|x86
+               {D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}.Release|Win32.Build.0 = Release|x86
+               {D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}.Release|x64.ActiveCfg = Release|x64
+               {D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}.Release|x64.Build.0 = Release|x64
+               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|Win32.ActiveCfg = Debug|x86
+               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|Win32.Build.0 = Debug|x86
+               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|x64.ActiveCfg = Debug|x64
+               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|x64.Build.0 = Debug|x64
+               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|Win32.ActiveCfg = Release|x86
+               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|Win32.Build.0 = Release|x86
+               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|x64.ActiveCfg = Release|x64
+               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|x64.Build.0 = Release|x64
+               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|Win32.ActiveCfg = Debug|Win32
+               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|Win32.Build.0 = Debug|Win32
+               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|x64.ActiveCfg = Debug|x64
+               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|x64.Build.0 = Debug|x64
+               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|Win32.ActiveCfg = Release|Win32
+               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|Win32.Build.0 = Release|Win32
+               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|x64.ActiveCfg = Release|x64
+               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|x64.Build.0 = Release|x64
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+EndGlobal
diff --git a/samples/CSharp/IE/AboutDialog.cs b/samples/CSharp/IE/AboutDialog.cs
deleted file mode 100755 (executable)
index 99a4002..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-
-namespace IE
-{
-       /// <summary>
-       /// Summary description for AboutDialog.
-       /// </summary>
-       public class AboutDialog : System.Windows.Forms.Form
-       {
-               private System.Windows.Forms.PictureBox pictureBox1;
-               private System.Windows.Forms.Button button1;
-               private System.Windows.Forms.Label label1;
-               private System.Windows.Forms.Label label3;
-               private System.Windows.Forms.Label label4;
-               private System.Windows.Forms.Label myVersion;
-               /// <summary>
-               /// Required designer variable.
-               /// </summary>
-               private System.ComponentModel.Container components = null;
-
-               public AboutDialog()
-               {
-                       //
-                       // Required for Windows Form Designer support
-                       //
-                       InitializeComponent();
-                       //
-                       // TODO: Add any constructor code after InitializeComponent call
-                       //
-                       shell t = new shell();
-                       t.InitOCCViewer();
-                       float version = t.GetOCCVersion();
-                       this.myVersion.Text=this.myVersion.Text+version;
-               }
-
-               /// <summary>
-               /// Clean up any resources being used.
-               /// </summary>
-               protected override void Dispose( bool disposing )
-               {
-                       if( disposing )
-                       {
-                               if(components != null)
-                               {
-                                       components.Dispose();
-                               }
-                       }
-                       base.Dispose( disposing );
-               }
-
-               #region Windows Form Designer generated code
-               /// <summary>
-               /// Required method for Designer support - do not modify
-               /// the contents of this method with the code editor.
-               /// </summary>
-               private void InitializeComponent()
-               {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutDialog));
-            this.pictureBox1 = new System.Windows.Forms.PictureBox();
-            this.button1 = new System.Windows.Forms.Button();
-            this.label1 = new System.Windows.Forms.Label();
-            this.myVersion = new System.Windows.Forms.Label();
-            this.label3 = new System.Windows.Forms.Label();
-            this.label4 = new System.Windows.Forms.Label();
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // pictureBox1
-            // 
-            this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
-            this.pictureBox1.Location = new System.Drawing.Point(59, 64);
-            this.pictureBox1.Name = "pictureBox1";
-            this.pictureBox1.Size = new System.Drawing.Size(196, 102);
-            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
-            this.pictureBox1.TabIndex = 0;
-            this.pictureBox1.TabStop = false;
-            // 
-            // button1
-            // 
-            this.button1.Location = new System.Drawing.Point(96, 248);
-            this.button1.Name = "button1";
-            this.button1.Size = new System.Drawing.Size(128, 24);
-            this.button1.TabIndex = 1;
-            this.button1.Text = "OK";
-            this.button1.Click += new System.EventHandler(this.button1_Click);
-            // 
-            // label1
-            // 
-            this.label1.Location = new System.Drawing.Point(16, 9);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(288, 24);
-            this.label1.TabIndex = 2;
-            this.label1.Text = "Import/Export Sample,";
-            this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
-            // 
-            // myVersion
-            // 
-            this.myVersion.Location = new System.Drawing.Point(16, 32);
-            this.myVersion.Name = "myVersion";
-            this.myVersion.Size = new System.Drawing.Size(288, 16);
-            this.myVersion.TabIndex = 3;
-            this.myVersion.Text = "Open CASCADE Technology ";
-            this.myVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
-            // 
-            // label3
-            // 
-            this.label3.Location = new System.Drawing.Point(24, 168);
-            this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(280, 23);
-            this.label3.TabIndex = 4;
-            this.label3.Text = "Copyright (C) 2004-2012, Open CASCADE S.A.S";
-            this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
-            // 
-            // label4
-            // 
-            this.label4.Location = new System.Drawing.Point(8, 200);
-            this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(296, 24);
-            this.label4.TabIndex = 5;
-            this.label4.Text = "http://www.opencascade.com";
-            this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
-            // 
-            // AboutDialog
-            // 
-            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-            this.ClientSize = new System.Drawing.Size(312, 285);
-            this.ControlBox = false;
-            this.Controls.Add(this.label4);
-            this.Controls.Add(this.label3);
-            this.Controls.Add(this.myVersion);
-            this.Controls.Add(this.label1);
-            this.Controls.Add(this.button1);
-            this.Controls.Add(this.pictureBox1);
-            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
-            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-            this.MaximizeBox = false;
-            this.MinimizeBox = false;
-            this.Name = "AboutDialog";
-            this.Text = "About Import/Export Sample";
-            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
-            this.ResumeLayout(false);
-            this.PerformLayout();
-
-               }
-               #endregion
-
-               private void button1_Click(object sender, System.EventArgs e)
-               {
-                       this.Close();
-               }
-       }
-}
diff --git a/samples/CSharp/IE/AboutDialog.resx b/samples/CSharp/IE/AboutDialog.resx
deleted file mode 100755 (executable)
index 533c15a..0000000
+++ /dev/null
@@ -1,1230 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    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">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <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" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </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>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="pictureBox1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="pictureBox1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="pictureBox1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        Qk1W5AAAAAAAADYAAAAoAAAAwgAAAGQAAAABABgAAAAAAAAAAAAgLgAAIC4AAAAAAAAAAAAA////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////AAD/////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////8AAP//////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////wAA////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////AAD/////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////8AAP//////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////wAA////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        AAD/////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////////////////////8AAP//////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////wAA////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////AAD/////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////////////////////////////////////8AAP//
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////////wAA////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////AAD/////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////8AAP//////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////////////////////////wAA////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////AAD/////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////8AAP//////////////////////////////////////////////////
-        /////////////////9Px9szm7P/8/PT19fr7+/////////7///7/////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////wAA////////////////////////////////////////////////////////////////////qerz
-        NZam19ve5ebn5ufp+Pn5/////////////v//////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////AAD/////////////
-        ///////////////////////////////////////////////////////k/v9FpbGAoKnh3d/R1dfp6ev+
-        /f7////////9////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////8AAP//////////////////////////////////
-        //////////////////////////////////z//37U3zx8is7M0c7O0Nvc3vf3+P7///7/////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////wAA////////////////////////////////////////////////////////
-        ///////////+////v/P7KIqYjaar0M7Rzc/U6err////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        AAD///////////////////////////////////////////////////////////////////////7j//9L
-        tcNMeoTJy83FyMva2t35+fn////+////////////////////////////////////////////////////
-        //////////////////////////////////////////////////////////////////////////7/////
-        /v////7///////////////////////////////////////////////////7////+/v//////////////
-        /////////////////////v/+//7//v////////////////////////////////7/////////////////
-        //7////////////////+//7+///////+///////////////////+//79///+/////v//////////////
-        /////////////////////v/////////////////////////////////////////////////////+//7+
-        //7///7////////////////////////////////+///+///+///+/v7+/v7/////////////////////
-        /////////////////////v/9/v/+/////////////v7//v7////////////////+//7+/v7/////////
-        //////////////////////////////////////////////////////////8AAP//////////////////
-        ///////////////////////////////////////////////////+/vn+/5bm8Cd4h52pssjHysnNz+zs
-        7f7///7/////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////9ve36uvsa+ytenr7P///////////////+vr7bO1t7CytbCz
-        t6+ytbCztrCztrCzt7Cztq2ws7y/w/j6+/////7//v////39/c3O0pmcoISHjIyPla+yturs7f////7+
-        /v7+/////87R06uusLW3uvT19f///////////////87R1Kyvsba5u/Dy8////9zg4qyvsLW4ue7u8P//
-        //////7//////8nMza2usLG0ue7w8v////3+//////////T19r7CxZSXnIOGjIyPlK6xtebn6f//////
-        /v///////////8THyq2wtK+zt7G0t6+zt7CytrCztrCzt6yws8/R0v////3+/////////9/h4qmssIqN
-        koWHjZaan8THyfn5+f////////////7+/v7+/v////////Hy8r2/wZOXmoOIjIyQlamtsd3e4P//////
-        //7////+///+/v///////////8zQ0KqusLW3u/X09v//////////////////////////////////////
-        /////////////////////////////////////wAA////////////////////////////////////////
-        //////////////////////////////////7/1P3/PaOzU3uEwsXIv8TI29zf+/r6////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////o6erKjAzMjc7x8nL////////////////x8rOOj9DMzg8MzY6LjI3LzM4LjM3LjM3LzQ4
-        KCwwTlFV8PPz////////7O3tfoSHPUFFLzQ3LTE1LjM2NDg7WFphvcDD////////////f4OHKC0xQ0ZM
-        4OHj////////////////gISIKS4xQ0dM293f////p6quLDA0QERI0NLV///////+////3uDiRkxQMDQ4
-        NzxC1tnb///////+////z9DSZ2lvOD5BLzM4LjI2LjM2Mzk6U1dcr7G1/////////////v7+Z2twLzQ3
-        NDk9MDQ4LzQ3LzQ4LzM3MDU4JiwvfoKG/////////Pz9n6KlSk9TMjY6LjM2LTI1LjM3OT5BcHd73t/g
-        ///////////////+////v8LEXGNmNjxALzM3LjE2LTQ2Mzk8SU1RgoaK2Nrc///////+/////v7+////
-        ////f4OFJy0xQERJ4uPk///////+////////////////////////////////////////////////////
-        ////////////////AAD/////////////////////////////////////////////////////////////
-        ///////+//////7v//951uMoa3mnsbS9wcTMztHt7+/+////////////////////////////////////
-        //////////////////////////////////////////////////////////////////////+pq64zODw7
-        P0PKzc7////////+/v7////KzM9CRko6P0JLT1NbX2NYXGFXXF9ZXWFZXWFSVltydXrz9fX////w8fJr
-        bnMxNjo2PD5PVVhpbnJbYGU6PkMzODxBREnJy83///////+Gio4wNTlKTlPg4+X////+/v7///////+E
-        iI0xNjlLUFXe3+D///+srbIzODtHTE/U1dj////////8/P16foE0OTw7P0NARUrY2tv////////MztBI
-        TFAyNzo3O0BTV1pscHReY2c9QUc0ODw2Oz6ipqf////////+//9ucXc2Oj1CR0lXXF9aXWBYXWFYXGFY
-        XWBQVVqYnJ/////7/PyQk5Y0OD00OT1AREhhZWdrbnNPVVc2Oz4zNztVWV3g4uP///////////+0uLk+
-        QkcxNjk8P0JaX2Jpb3JbYGQ+QkY0OTwyNzpNUVbS1Nb///////////////////+EiIowNThITlDj5eX/
-        ///+/v7///////////////////////////////////////////////////////////////////8AAP//
-        //////////////////////////////////////////////////////////////////3//v/+//7//7j0
-        /iuOnmqIj8XEyMLFyODi4/39/P//////////////////////////////////////////////////////
-        /////////////////////////////////////////////////6mqrzM3PDo/RMrMzv////7///7+/v//
-        /8rMz0BFSTY6Ppean/Hy8+3u8O3v8O3v8e3u8O3t7/Dx8v3+/v///5OWmjE0Ozc8P36DiOHi5P////Hx
-        86Smqj9DRjA1N2Fma/P09P///4SIjDE0OUtPU+Dj5f/////+/v///////4OIjjI2OUtQVd7f4P///6uu
-        sTM5PEhNUNPV2P///////7q9wDg+QTxAQzw/Q0BESdra3P////L09GFlajM4Ojg8P46RleXl6P////T0
-        97C0uEVLTjQ4PENHTNbY2v///////29yeTE1OlxgZt/i5u/w8uzu8O3u8e7v8ezu7/X19v///8HDxTk9
-        QTU6PVFWWb7Cxvb2+f///+Hi5IGFiTg8PzA1OXl7f/z7/P///+Hh5EhPUjQ6PkZJTq2wtPDw8v////Dx
-        88LEx2RpbDk8Pjo+Qra6vf////7+/v///////////4SIijI1OUlNUeTl5///////////////////////
-        /////////////////////////////////////////////////////wAA////////////////////////
-        /////////////////////////////////////////v///v/+/v7/////6P3/Zs/bJWtzprK0wsLI0dPX
-        8vT0/////////v//////////////////////////////////////////////////////////////////
-        ////////////////////////////p6uuMzc7Oz9EysvO//////////7+////yszRQUVLNTk9oKSm////
-        ////////////////////////////6OnrVFdcMjc6WV5k9vb2/////v//////////f4KGKzE1UVZb3N3f
-        ////hYmNMTU6S05S4ePl////////////////hIiNMTY4Sk9U3t/h////q66xNDg8SExQ1NXY////8PLz
-        Wl9kNjs+Oz9CPD9EQEVJ2drb////v8PENjs+Njo/eXyA/f7+////////////////q6yvNjxAMTc7kJOY
-        ////////bnJ2MTU4X2Rn8fL0////////////////////////////dXh+Mzg8PUFGv8HE/////////v//
-        ////+fr6ZGhsMzg8QUdM1tnb////lpmdMjc7OT5BpKir////////////////////tbe6Njs/PEFGvL7B
-        /////v7+/v//////////hIiLMTU6SU1S4+Pn///////+////////////////////////////////////
-        ////////////////////////////////AAD/////////////////////////////////////////////
-        /////////////////////////v79///////5//+t9PsiiZVui5LEw8bCxMff4uP8/f3+///9///+///+
-        ////////////////////////////////////////////////////////////////////////////////
-        //////+nq64zODs6P0PKzM7////////////////LzNFBRko1Oj2ipqj////////////////////////+
-        ///////O0NE6P0MzOTyQk5n////////////+/v7////X2dqtr7Lg4eL7/P3///+EiYwwNTlMUFTo6+z/
-        //////////////+IjJExNjhMT1Td3uH///+qrbI1OTxGS1DU1tn///+WmZw0OD0+Q0VgZGk+QkVARUnZ
-        29z///+QlJc0ODs7P0PDxcf////////////////////u7u9OU1c0OTxkaW33+Pn///9ucnYwNThdYmfu
-        7vH//////////////////v/////y8vNRVFkzNztgZWn09fb////+/v7///////////+qrbEzOTszNzyw
-        s7X+//9oa28wNDhSVlrp7O3////////U1tmfo6inqq99gIU5PUE7QUa7vcL///////////////////+H
-        i44wNjlJT1Ln6ev/////////////////////////////////////////////////////////////////
-        //////////8AAP//////////////////////////////////////////////////////////////////
-        ///+//7//////////97+/1jF0zFse7O4ub/AwsvP0+/v8f//////////////////////////////////
-        /////////////////////////////////////////////////////////////////6errjM4Ozo/Q8rM
-        zv///////////////8vM0UFGSjg9QG90d6Snq56jp56ipp6ipqChpp+jp+vs7f///7W5vDQ5PTQ4PKyv
-        sf////////7+/v/////+/v///////////////////4WJjDI4O0RITJGVmaGlqZ+ipp+jpqGlqWNnazU6
-        PUtPVN7f4f///6qtszQ4PEdMUNvd39vc3kNISzE2OXR3fa+0tzY5PUBFSdrb3P///3t+gjE3OklOUtja
-        3P////////////////////f3+GptcjM4O1JWW/Dx8f///25ydjA1OV1hZ+7u8f//////////////////
-        /////9ze4ERITDE1OX2AhP///////////v///////////83O0Ds/RDM4OpqdoO3v8VVaXjE1OGdscf//
-        /////////5yeoigsMTI3OzM6PDY7PzY9Qbe6vv////////7+/v////n5+mpvcjQ4Oz9ESMfKzP//////
-        /////////////////////////////////////////////////////////////////////wAA////////
-        /////////////////////////////////////////////////////////v///v///////f/////+9v7/
-        ofD6IImZboWRwcLHwcLF3uDi/Pz9////////////////////////////////////////////////////
-        ////////////////////////////////////////////p6uuMzk7Oj9DyszO////////////////y8zR
-        QUZKPEBDNDk8KS0xKS8zKy8yKi8xKS4wKi8z0dPU////sLK2NDg8Mzc7trm7/////////////v7+/v7+
-        /f/+/v///v7+////////hYqONjo+PEBDLTE0Ky8zKi4yKi8yKS4zNjo+OT1BSlBU3t/g////qq2xMzk7
-        SU5S2dvgenyAMTY5QEVJ1tfaur3ANDg8QEVJ2drb////eHt/MDY5TVJW3d/h//////7/////////////
-        +fr7cXZ6Mjc7TlNX7/Dw////bnJ2MTY5XWFo7u7x/////////////////v/+////1tjbQkdLMDU4hYiM
-        ///////////+////////////1NXXQERJMzY6lZmd5ujqUVZaMjQ4b3R5////////////tLe7WV5jYWZq
-        Y2ZrY2ZsYmdrxsrN///////+////////q66xODtAOj9CNDk9aW1w8/T1////////////////////////
-        ////////////////////////////////////////////////AAD/////////////////////////////
-        ///////////////////////////////////////////////+///9//7////f+/9ez9wlaXSgrLK+wMLO
-        z9Hu7vD////////+/v7/////////////////////////////////////////////////////////////
-        //////////////////////+nq64zOTs7P0PKzc/////////////////LzNFCRko6P0NUWV5vcnZrb3Jr
-        b3NqcHRrb3Nrb3Te4eL////CxMY2Oz8zNzunqa3////////+///+//////////////////////////+F
-        iY00OD1AREllam5scHRrb3Nrb3RucnVPU1Y3Oz9LUFTe3+H///+qrrIzODxQVFiPkphBRUkyNjqMj5P/
-        //+xs7Y0ODxARUnZ2tv///+ChYkyNzpFSk7U1tj////+/v7////////////29vdjaGwzODtWW2Dy8/P/
-        //9ucncwNTlcYWbu7vH////////////////9/v7////l5ulHS08xNjl4e3////////////7/////////
-        ///Hycw4PEEyNzqfoqX09fdYXGAwNThnam/////////////9/f38/f38/f3////////+///+//7///3/
-        ///////k5eZNU1Y3PEBESU0/REg1Oj2jpqj/////////////////////////////////////////////
-        //////////////////////////8AAP//////////////////////////////////////////////////
-        //////////////////7+//3///////7//v///vj+/qv1/SeWo19/hcLCxMDCxt3e3/r6+v7/////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /6errjM4Ozo/Q8rNzv///////////////8vM0UFGSjU6Ppyfo/v8/fj5+vj5+/f5+/j5+fn5+f3+/v//
-        /9rb3UJHSzI4OoGEif///////////v///////9vc3tXW2vT19f39/v///4WJjDA2OktPU9/g4/n6+/j5
-        +vj5+vr7+4WIjjE2OUpOVN3f4v///6qssjY7P0BFSUJGSTY7PlNWW+nq7P///6+xtTM5O0BESdja3P//
-        /6GlqTM4Ozg7P7W3uf////////7+/v7+/v///+Pk5UdLUDQ5PG90ePv7/P///25ydzA1OF1hZu7u8f//
-        //////////7///7+/v////n5+VxfZTI3O1ZbX+3u7/////7//////////////5mdoDM4OzY6P7u/wf//
-        /25zdzA2OUxQVOLk5v///////////////////+zs7eTn6Pj4+f79/v3////////+/3+ChjM4Oz5CRbi8
-        wHB1ejA2OkpNUtze3///////////////////////////////////////////////////////////////
-        /////wAA////////////////////////////////////////////////////////////////////////
-        ////////////////////6f3/adbkH216lqerwMHEyszO7Ozt/v///////v7+////////////////////
-        /////////////////////////////////////////v//////////////////rrG1Mzg7Oj9C0tTW////
-        ////////////yszQQUVKMzk9o6ep////////////////////////////////9fb3aGtvMDY4SE1R3N3f
-        ////////////9PX2ZGZrODxBY2hv4+Tm////homMMDU5S09U5ubo////////////////hYmPMjU4S1BU
-        3t/h////q66yNzxBPUFEOz9COD1AsbS3////////rrG0Mzg7QERJ2dvc////2NrbPkNHNDo+XmNm7e7w
-        /////////////v//io6RNTo+Mzg9pqqs////////bXJ4MTU5XWJm7e7w/////v7+/v//////////////
-        ////kJOWMTU6NztAoaSn////////////////5eboUVZaMTY5TlNY5ujp////q6+xMzc8NzxAiI2Q/f7/
-        ////////////+Pj5bXBzP0RJZ2tw4ePk////////v8HDOT1DMzc6eHt+////xsrNO0FFMjc5eX2A/Pz8
-        /////////////v///v//////////////////////////////////////////////AAD/////////////
-        ///////////+/v7////////////////////////////////////////////////////////+/v7///7+
-        /v+39v83o7NHdH69vsLAwsbY2dz3+Pj////+///////+/v7/////////////////////////////////
-        ///////////////////////W2dy7vsG+wcXAw8iGio82Oz87QESeoKXCxMe+wMO/wcT5+fnNztNBRUs1
-        OkB/g4fCxcm+wMO+wcS+wcS+wMS7vcHS1Nj///////++wMM6P0Q1OTxWWmCwsrbc3eDFyMtzdnw3PUEv
-        NDdtcXb3+Pj///+Hio0xNjpKT1Ph4uT///////////////+Eh40xNTlKT1Te3+L///+rrrE3PD89QkU0
-        Oj1zdXz6+vv///////+vsrQ1ODxARUnY2tv////8/f2Hio8xNjo2Oz1kZ224ur3c3eDIyc6BhIo8QUUy
-        NzpeYGTs7O////////9tcnYwNTddYWbu7vH//////////////v/////+/v7////e4OBOUlY0ODxARUmL
-        j5LMz9La292xsrZaX2E3Oz8zNzydoqL////////y8/NkaG0zNzs6PkJ8gIPCxcna3N/Exsl1eHw5PkEx
-        NThjZWj19/f////w8PFcX2MzNztGSk/V19r///////99gIQ0OTw3PEG4ubz/////////////////////
-        //////////////////////////////////////////8AAP//////////////////////////////////
-        //////7///7///////////////////////////////////////////7//v///ur+/4Dl8Bp0goKZnr/C
-        xMfIzOPl5vv8/P//////////////////////////////////////////////////////////////////
-        /3x/hiowMzI3OjI4OzU5PTg9Pzc9QDU5PDM4OzI2OjM6Pt/g4NDR1TxBRDU6PjY6PjQ4OzI3OzM4OzI4
-        OzI4OikuMnJ1ev///////////5+jpjg9QS8zNzM4PT1BRTk9PzI2OTI2OlBUWNvd3v///////4KFiSsw
-        M0RJTeDh5P/////+/v///////4CEiSswNEVKTtze4P///6irrzI2OjY5PkFGSdXW2f///////v///6yw
-        sS0yNjo/RNfZ2v///////+zu72tvczE2OjE1OzQ5PT5DRTc9QDA1ODA1OFJVWtPU1/////////7//2ds
-        cSovMldbX+3t7/////////7+/v/+/v///////////////7/Bw0NITDE1OTA1ODo+QT1CRjQ5PTA1OTQ5
-        PYaKjfn5+v////3//////93f4FpeYjA0Ny80Nzc8Pz5ERzg8PzE2OTE2OUtQU9DT1v////z8/Y6SlC0y
-        Ni80OJGUlv////3//////9vc3kNITC0xNFFWWubo6f///////v//////////////////////////////
-        /////////////////////wAA/////////////////////////////v///////////////////v79+vz8
-        +/39/v///////////////////////////v///v///v/+xfr/R7vML2l0prG2wcDDy87R6+3u///+////
-        ////////////////////////////////////////////////////////////kZWZS1BVUldbU1hbU1dc
-        U1dbU1dcU1dcU1hcUldaVVpe5OTm1dfaVlpeUVVaU1hcU1dbU1dcU1dbU1dbU1ZbS09UiIyP/////v/+
-        ////////u7/Ca25zSk9TQkZKQ0hNTlNYgoSI3+Hi////////////k5aaSExPX2Rn5eXn////////////
-        ////k5aaR0xQX2Jn4eLl////s7a7TVJWTVFVnaGk/////v//////////ubu8SU5SVFld3N7f///////+
-        ////8fLzmpygWl9iRktQQUZLRUlNVFddiIuQ4ePk////////////////jJCUXWBjfoKH8fLz/////v//
-        //7+/////////////////v7+////09bXd3t/TVJXQkhMQUZJSU1RZWdsr7K1+/v7///////+/v///v7/
-        ////6evsjpKWVVpeRUpPQUZLREhNUFVafICC2Nnb////////2tzeV1tgTVFVZWht7Ozt//////////7+
-        ////mJygTFBUSU5UnKCj//7///////7/////////////////////////////////////////////////
-        AAD////////////////////////+//////7/////+vvy8PPm5+rk4+Tl4ePr5ebs6ens7u7z9/b9/f3/
-        ///////////+///9/v7///70/f+Z8/0olqZLcny2ur/AwsLV2Nr19PT/////////////////////////
-        ///////////////////////////////+///+///z9fXq6+7q7O7r7O7r7O7q7O7r7O/r7O/r7e/q7O7r
-        7O78/Pz5+vvr7O7q7O7q7O7r7O/r7O/r7O/r7O/r7O7p6uzw8vP///7+/v7+/v/////////+///d3+HK
-        zM/Oz9Pm5+r////////+///+//7////x8/Xq6+vr7e/7/P3///7+/v7+/v7+/v7y8/Xo6evt7vD7/P3/
-        /v729/jp6+3p6+78/f7////////9/v7+/v739/fq6uzr7O37+/v+/v79//7////////////y9PXV1tnJ
-        y8/R0tXt7fD////////////+///+/v7///78/v/9/v38/v7////+/v/+/v7////+/v7////////////+
-        /v7////////////k5ujO0NLKzM7Z2937/P3////////9//7+//7//v7+///+/v7////////w8PLR09fJ
-        zM/P0NPo6ez////////////////y8/Tm6Onq6+309fb////+//7//v7+/v7////8/f7q6+zp6uzq6+z9
-        /f3///7///7///////////////////////////////////////////////8AAP////7///3///7///7/
-        //7//////+j3+6fn8XTW42DK1lu8yFu1wGKttoettq67wNHN0NzY3OHi4+/v7/n7+v/////////+/v7/
-        /////+P5/3fi8Bt4hXCHkbu+v8HExd7g4fz7+/////////////7/////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////7/////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////wAA///////+/f///f7+///////+1fb9duP1MNXqE8/i
-        E9PpKdToK8/jLcPVKKy6NJWhYZeilaewv8HG0dHT3dve6Orr9/n5/v///v//////+/7+vPf/T8fZI2Zz
-        lKKnuL3BxMnN5+jq/v/+/////v//////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////AAD///////7//////v/+//7T+Pxw5fUuxdQytcNjucd/y9mH2OWB4e9r4/Jf3vJL
-        1OcruMkhlqNFh5CKoKS/wMTMz9DZ3N3s7e/8/Pv////////n+v2b8P0qo7E9a3Wwtbm/vcHJ0NLt7u7/
-        ///+////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////////////////////////////////////8AAP//
-        //////3//////vT8/5Hq+S2ou06Xoae4vsjDx9fT1Ovh5e3s79zu88Pt86Ht9Xjm9VXa7i61xySHlFmG
-        kZmmrcfGyNHR1ODi5PX3+P///////9n5/3rn8x6GlVt5gba2vLzBxdfZ2/f39/////7+/v//////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////////wAA/////////v/+//7/0Pj/TL7O
-        QnqEvbzAyMbH1dbW7O/w/vz9//////7///7+/Pv94PX5su74iOn7V9jqKau8JHiFbYqSuLu/ysfN2djb
-        7vDw/f79/P//yPj+Y9jmHHF/co2UvLzBvsTI3+Dj+/v6////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////AAD////+/v7////1/f+N6fUihJORn6TJxcjHzM/o6Or///7/
-        /////////////////////////v3j+Pqw7/l25/lJyNkegpBKd32mq6/Cw8fL0NTk5ub8+vrw+/609P9B
-        wNAlZ3GWn6W8u8DEx8vj6Of9/f7///////7//////////v7//v/////+///////+///////////+////
-        ///+/////v/////////9///////////+///////+///////////////////////////////////////+
-        /v7//////////////////////////////////v7+///////+///+/v7////////////////////+////
-        ///////+////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////8AAP///////v///+D9/2bN2y90gbC4u7+/w9DT1fPz9P//////////////////////////
-        //////////v9/sv0+pTt+lrb7CGbqi1weIybosS/xMjKzOPj5Pn39uL4/ZPu/C2mtDVnc6mtsr28wM/P
-        0uzt7v3+/v////7+/v3///3+//7+//7+/v7///7///3///7///////7///////////z///3///7///7/
-        //7///////7///7///7///3////+/v/////+/v7+/v7/////////////////////////////////////
-        //////////3///7////+/v////3//v7////+/v7+/v////////7///z+/v////7+/v////7///7/////
-        //////7///7/////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////////////////////////wAA/////v//
-        ////3v3/X8DPOnJ/tbq+vb/D1NbY+Pj4/////////////////////////////////v7/////////5/v9
-        s+/7duf3LLDBI2p2g5KXvr7Bx8fL3t7f8fHz2Pf7guv5I5WmQ253qrO3vL7D0NPV7fDw/////////f/+
-        /f7+/f///////////////////////v////7+/////v///v///v///v///////v/+/v/+/////v//////
-        /////////////////////v///////////////////////////////////////////////v7//v///f7+
-        /f7+/v///v///v7+/////////////////////////////////////////////v///v////7+////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////AAD//////v////7j//9fw9E3b32ytry8
-        v8PT1dj4+Pj////////////////////////////+///9//7+///+///////4/P7C8/1+7Po1usodanaA
-        kJa7vsHAxsva3d/t8PDO+P5y5PQjh5ROcXuwtby/wMTU1tjy9Pb9//////7////////////6+fj49/f5
-        +Pn8/f3+///////////+/////////////////////v7//f38+/v6+/r3+/v29/j29/f2+Pjz9fX4+Pj9
-        /f3////////////+/v7////////////////////////////+///////////////+////////////////
-        ///////9///5+vv29/f39/f59vjz9fb29/f9/f3/////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////8AAP////7//////+n//2TJ2DRve661uby+wdHT1fX29v//////////
-        //////////////////7///7///7///7///7//////vr9/sz2/Irt+z3B0SBxf3OKkL24v8LGx9nZ2+bs
-        77r1/13a5x14iWWFi7e5u73CxNTZ2/bz8/z9/Nv0+qzc4bTO1MvP1NXS1NrY2d/i4ebs7Pb29v78/P/9
-        /P/7+v/39/Dx8uTm6NLc38/X2dnV19bW1tXS1dbS1tXV19fY29jZ29rZ2t/g4fHz8/3+/v//////////
-        ///////////////////////9/f35+PPw7+/q7O7u7/X49/7+/v////////38/Pj19Ozp6d/f397Y2tbR
-        1dLP09DLz8/Pz9HV1d7j5Pb3+P//////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////wAA//////7+////8///fNnnKnF8oa+xvr7Bzs/R8PHx/////////////////////////////v//
-        /v///////v/////////+////////2Pf+nfD9RMfVGm97bIiQvLq9v8LE1djX5+3xrPX/T9DiHXF+bYmP
-        ubq/wcXI3tvezu/1aeDxIMPULKa4Pp+tU5ujhZ+ptLO5zcTH1c/Q3Nja2t7itt/mgdbiYMzaUMbVQbzN
-        Qq67U6Grcp+llaKoqa+ypre9o7e/prO5tba8vbu+wsHD09PV5OPl7e/v+vv9/////f7++vr8+Pf49vX1
-        7u7xuuHojMTMn7O4uLe8xMTG2Nna4+fn5+fo5t/i4NjbvdTbjMvUf77Jc7vEbLK8eqOskaGor7S4uL3A
-        zNLU9vb3////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////AAD////+///////4
-        //+d7fcifImFmZ/AwcPFyMzn5uf+/v/////////////////////////////////////////////+/v7/
-        ///////+/v/g9/yU7/s8xtYZb35siJC7t727w8ja2dzd7fGo9P9KyNcabnt0jJG9urvFyszK9fqD6PU8
-        2+o30+Yty90tusoqnKpBjpx7q7hwwMxdx9VV0uI52+4n1ewp1uok2ewq1usz0eMnxNUlrLw3o7FEu8o6
-        ytgxv9A3q7lGnqpan6pvnqWRoKatrrO+vcHKy87U1dfa3N7f4ePl5ufu7OzX7fJy4vMswtMsnalChpN6
-        lJ2xrrfHvcHGx8mz0dmH2edT3Owu1ukuy94szeEvyd0puMgphJBgeoKrrK+2vb/Z2d37+vz/////////
-        ///+/v7/////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////8AAP////7//////vz//8H6/ziaqld6gru+wL3B
-        xd3d3/r7+/////////////////////////////////////////////////39/v7//////v///tr4/ZDv
-        /jvB0h9odn+Ql726wb7Dxdnb29jv9J7x/UjI1iF1gmiEiLq5u7/W3Zjp9mvi9Fnf8kbg8jLd8DDW5zHG
-        1yjI2yLU5yjX6y7U5jDL3TDJ20DK2UnM21HT5HTi8Hrp+FPf8DXT5TDY6zXb7TTW6SrX6TXR4i/E1Cev
-        vy2WoUeMlX6SmqCjp7O0t7+9wcjKzdDV193e4Nfz+Ibo9jLZ7DTS5iu5yCiVo0GRnm+rs3zN217g70zf
-        8jnX6yvP4irQ4jDV6jLZ7THi8yK6yh9ibY+aoLu/wtXW2Pb19v////////7+/v7//v//////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////wAA/////////v/+/v//4vz/YMXULGl0rbS4vL/B0dLV8vLy////////////
-        /////////////////////////////////f///f7//f7+/v///////f/+3Pj9k+v6NLrJJGh0hpacv7rA
-        w8bH3d7e1+/zovL/S8zbHHWCZIGIt7W4s73DqM3XlNvoct3rT9vrXN7vb+L0XuDzSd7vPtvtMLrJTZKc
-        dZmfiZuppKqvsbq+v8vQyOTqlun5N9/uMtrrOtnqNcDQRbfGXtjnZuf4UuL0QNPkL7zLJZqtOoKRb4yR
-        n6WqtbG3v77Cw8fJ2u/0kOv3M9XoM9fqPN/xTdjrOMbYLsraO9rxQNToK7nLM6q4Ya+7gbbAkb/HlMbM
-        l9DXhcvWhK+4tb3Bz8/R5ebn+vn5////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        AAD////+///9/v7///74/v+a6vQde4p9lp3CwsTEx8nk5uf9/v7/////////////////////////////
-        ///////////+///////////8///+///////+///b9/6N7/0vq7opZG+Uo6e3vMDJyMvk4eHc8/if7/5F
-        y9sdbnxyhou3tbjCubzFyMrR1tzP2+LQ4eXL6O6l6PN35fRW3vExwNMzdoJxen+hnZ+nqK3CwMfU09Tf
-        6u2C5vM31OZk4fRQ3u8qrL5Ib3aDkJeIu8aE0t6I5/Vt5/ZJ2+wzvdAkmKc5iJFkjJOVn6Wyq6/N192n
-        9P48zuE2p7hiu8pw4Otl5/gr3e8dxdYtp7dgn6igsLW9u77OxsnSzNHa1Nfe1tjh2tvd3N3d3uDl5un2
-        9/f+/v7/////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////////////////////8AAP///////v/+/f7//vz/
-        /8/8/0KzwUBwere6vri/wtPV2fX19v////////7//////////////////////////////////v7/////
-        //////////7//////v7//tD4/nbn9ySaqD9rcaats7m6wdHS0+rp6trz95ju/D7F1h94hV6CirKzt7vA
-        v8rN0eXe4fDt7Pn19vT2+dLz+qHq+WXj9Cy1wiBocXuNkq2us7u7v9PX2Nn2+1jN2Vujs7Dj7ZPx/kHK
-        3B5tdGp4faOfpayutb3I0LHd6JDl9HPm9k/c7jXF2COgrjSGkHGWoK7Ax63w+0PO3Sd0gHV/hJ2mrJPM
-        1nXS4n/EzbXIzd3Y3efj5Ofq6+/x8vb4+Pj3+Pf19vT19vHx9fT29vv9/f//////////////////////
-        //////////////////////////////////////////////////////////////////////////79/v38
-        /f////////////////////////////////////////////////////////////////////7/////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////wAA/////v/+/f///v//////7/7/hub0InWEf5WXv8DD
-        wMfJ5OXn/v7+/////v///////////////////////////////////////////////////v///P/+///+
-        9v3/vfL9aePwG4GPVXV9s7a6v7/D1tfY7O3v1/P7me/7TtLiGYeUTHN+p6itv8HEys/P4OPl9fX1///+
-        ////6fn7u/D6eev4Kqu7MGRvlJyjr7O3ytDV3Pz/VL7QPmVoj3ZxttTZgvT+JaCtNVxignFtn5SRyMLE
-        6Ofq5e3xze3yoez1duz8UeP2OcfWJ7bJQNDfbOLzQNblJHSBXXN5o6Kmvbu92dfc9/Hx//3++vv8+fn4
-        +/v5/Pr6+/j4/v//////////////////////+PX15NXSz7OsyKecyqWczayh2Ly2697d/Pr6////////
-        //7+/f7//v///////v/+/////v/+////////+vb15dTQ0LKpyaOXvpKJu5GGw5yPzKuj487K9/Hv////
-        //////////7++ff3+vj4+/n5/////////v/+/v/9///+/v///f///////v7+/////////v//+PLx9vLx
-        9/Py+fb0/v38/////////v//+PTz+PPz+PP0+PX1+fX19/Py9/T0/Pv7/v///////////////v7+///+
-        /f7////+/v7+/v////////z9+fLy+fPy+PTy+fTz+PTz+fTz+PPy+PTy+PP0+fP0+PX09vPx+/b2////
-        ////////////////AAD//////////v/+///////8/v7F+f9FscE2bnS0ur69wMTT1df09PT/////////
-        ///////////////////////////////////////////////+/v/+///+//////71/P658/9Q0uEbcX5w
-        h420t7u/xMXY3N359fTl9/uh7/te3e8hnKw0bnqJmZ+/vsDMyczW29/t8PH9+/v////6/PzG8/xq5vgd
-        kp9GanGnrbShm5vG1NR52ucjXmZcOSuJamW48/hV1eYhaHdLQDlpQTSEY1i3oZzz7ev++fq7lY6bn5qH
-        1d546/pg5vhE3O493PA30+Yic4Bke4C2tbvO0NHw8PD////x6Oa4jHyteWqxfGuyfW2sd2fSta3/////
-        ///////y7OvTtaqyf3CmZ1ajZE6jZU2lZE6hY0ugZU6mbVmzgXPUu7T49PL////+//7+/v79///+//78
-        ///////8+fnWvLSxemykaFGiYk6hYEygYUykZFChY06fYEylZlGvdmXHoJTs4Nz++/zMqJ+ud2aveWqu
-        fG7Vvbb+/fz//v/+//7+///+///+/v/9/v/9///////y7uy9loyweWqyfG+xfGyqeWfJqZ7////49PLF
-        opSwemuwe22vfW6yfW21fW2zfm20gHK5h3vCnJHXv7bp4d7////////9///9/v7+/v7+/v7////p4t63
-        in6xemuzfW2zfm+yfm+xfW+zfnCzfm6yf26yfm+xfm+xfnCwfG6yemzgzsf///////////////8AAP//
-        //7///////7///7+/////+/9/43o8x19i3qQl8TBxcTFyeLj5f39/f//////////////////////////
-        /////////////////////////////v/+//3+/v3//////+/7/6Px/T/C0h5kcIOXnri7vsfHzOPm5vz5
-        +e74+6zw+Wvl9C62xSN/jlqFkaOqr8XExs/R1ODg5O7v8Pn4+e71+Lr2/0/T4SJqeWlsbGg8Nquhn5z1
-        /SF/jlZIRGk4K6+vr5b0/h+Il0ZLTGxANXZJOYRINLyXjv7//7J+bZ1aQJ9rWZeRi5bN1Hbk9DXe8B25
-        yTN3hKOtscnKz+Dj5fz7+////8GZjpxcQ6doUqNnUKRpUp5eSLuShf////jz8tCxqql0YqBgSqNnUKVt
-        V6VtWKhuWKpvWqlsWqdsW6drVqRnUaBfS7J9b+LTz/////3//v/////+/v7///j087qTg6FfSqZnUadu
-        WahtWKdsV6ZuWalvWqhuWadsWKZsV6prVpxfRqRsWvDm5b+Uh59hR6RqVKllUZ9jUOvh3/////7+/v//
-        //3//v7//vz+/v7+/////8emnZ1aRKZqVKZpVKVpVKBgSLaLe////8yroZtbQ6JoUaZnVKZoU6RnUaVm
-        UaNoU6VoUqVkT6JiS59iTKRqWL2UhunX1f////////3///////7+/r+XjJtdRKRpU6RnUqRnU6VnU6Vm
-        UaRnUqZnU6VnUqRnUaRmUqNmUqNmUp9eRtK4rv///////////////wAA/////v//////////////////
-        ////0fv/UcLRLGd0qbC1xMDDzM/S7e/w/////f//////////////////////////////////////////
-        /////f/+/f7+/v///f7//v7////+4Pj+i+78KKi3OmVwo6euubm+ys/R6e3t////9/z+yvH7hOz6S9Pl
-        JJ2tN4CNdJObrLK2x8XI1dHU39ze4uLj4/L2iun5JYiYQUJBYzcqkXRwuvj+OLXFMFVXZTkpimlirfD4
-        LY+fSElFb0I2dk9EiFE8x6qk////1LWuomJKoWlSpmBKnmVQqKmmrPT8kc7Zt8nR4N7j5ujp9/r5////
-        8OvqqHJgqGlUq25ZqG1Zqm5boWNO3MrD+PTzs4d3nF9HpWVRqW1aqW1ap21ZqGxXpGZQo2VOpmhRp2xY
-        qGxYp21Yqm1aoWROo2dT4M7K//////7+/v///Pr6vpSIm15HqWxaqGxbpWxXp2xYqG1YpmhSpGZQpWhR
-        p2tXqG5Yp3BbpmlTsHpq+PT13MjBo2NPp21Yq25ao2JMyKWb/////////////f7///7+////////+PXz
-        sHlppmlTpm1WqG1ZqW1ao2JN0rSt////vZSFo2NNqG5aqG1Zp21YqGxYqWxZqG9aqW5Yqm5cqG1ap21Y
-        p2pUn2FLpWxW0rWs//7+/v/+/////fv8vY6Do2dSqm9bqW1ZqW1Yqm1Zp2xXpm5YpmxWqW1Zp2xYqG1Y
-        p2xXp2pUpGxW6uDe////////////////AAD////////////////+//7///////3z/v+h8/0nkKFYe4W6
-        wMK/wsXX29z4+Pn+///+/////////////////////////////////////////////v/9//7///////7/
-        //7////+/v7M9f1y4/Qdh5JYd362trq9vcHY2Nv19/j//////v/g9/ye7/ll5PU2xtgknqs8k55jmaKR
-        qbC1ur/DwsTR2+GV8PwmlKM/SUtmQTR3SjzEy8qK7vwdjJhHV1eEg4KJ5vEleYVQPTZwQTR9TTmUZVPx
-        6+n////s396naVelbVeobFmkaVKmZVPhysL////////+///////////+///IpJqkZE6oblqnbVmnbFmn
-        aVSpc1/49PHl1dOgXkirblmlbFiob1qoa1ajZE6obly0hHi5kYWzg3OlaFWpalapblqoaleqbVqiZk6m
-        dGL16+v+///////exsGcX0iocFqqbVmma1apb1qkZ1GlblqygHC2hnavemmma1agYEqlZlCfXUXSt67/
-        ///y7OyrdGKnaVSobVqlbFekalTXwrv+///////////////////////PsaigZE6nblmobVmobVmoa1ap
-        bVju4uD9///AloukZE6oblmoblmobVmncFumbVegYUudY0yiZk6naFSob1qoblqoblimalSeXkvTtrD/
-        ///////9/P29j4KjZU+nbVmnbFmnbVeqblmhZVGkZlKkZ1OlaFOlaFSmaFSnaFSgYEy/m47+/v7/////
-        //////////8AAP/////////////////////////+/////+b9/3Db6hpwfoybo8TBxcPIy+Xn6f7+/f7/
-        /////////////////////////////////////////////////////////////////v////L9/bz0/1DP
-        3xxqeXuSmLe3vcXDyODj5Pr8+/////////L7/cHw+orq+WPi8jrM3iq1xiqms0Sqt1fDz3fi8F3e7yN9
-        jU1GQ3BIO3tIN6B6bbnv9Fza7Ce80ULZ6SuuvT9xfZaGhIpsYYdbScuzrf////////v6+riLfaVjTqdu
-        WqZvWqZmVKFmU8OeleDNyujc1+vd2+TU0MKflaJnUqltWadtWKdtV6huWaJjTb2Wh/7///v5+LqQgqJh
-        S6VuWKNlTqZuWcakme7i3/78/f7///v5+d3IxKZwXKdpVKdsWKpqVqVuWZ9gSdOzq/////38+7eHeKVm
-        T6lvW6dsWKZsV6ZmULaIeOfa2Pr5+P36+fr39OTY1Mmmna95Z7OJfPj08/////7//7+WiaRkTqluWqdu
-        WaZqVaZmVMOYjd7Mx+rb2Ond2ObW08inoaZnVKRqVahrWapvWqltWaVmULmIeP7+/v7//8KYjKJkTalt
-        WahtV6drV6lsWKhyYMikms6vp8KajKhwYaFkTahuWKhsWKptWaZpUqNrWOzi3v////79/ryQhKJkT6ds
-        WahtWahqV6ZvW9CzruLKxuLMyOLLyOLMyeHMyODLyOPS0Pz49////////////////////wAA////////
-        ///////////////////+///+/f7/vvj/PLjEMGl0rra6vsHEz9PX8PDz/v/+////////////////////
-        //////////////////////////////////////////7//v7////+6/z9n+37Mq/BMmVwmqeut7m9yM3O
-        7e3u/////v/////+///+7fn9ue73geb1WuP0QtrrKtTlHNToJM/jJqe2QF1fbkc+f1FBjVtHkVdBvra1
-        qvX/PODwHLfJRZCbrbe91dXa3t/h5+Ph/Pz8/v////7/////0bavn2BMqm5aqWtYpnBapmtVpGVOo2hT
-        p21Xp21ZpGhWpGRPpm1YqG1XpmxYp25YqGxXo2NP28K8////////8+3tsYNynWBKuYd76NzZ////////
-        /////f///v//////zKyioWJMpm1ZqG1Zpm5ZoGNOu5CC////7+Phpm1WpmhUqWxYpmxYpmlVpnBg8Orm
-        /////v///f//////////////9vDx9vT0/////f7+////3crDomNOp21XqW1Xp25Zp3BboWFMoWVRpmxY
-        p25ap2pVoGRPpmxXqG5bqG5aqG1YqW5aoWJN1bew//////7/wJeJo2RLqG1ZqG1Ypm1YnmNN0LGn////
-        ////////8ennwJiKo2VQqG1Zp25apG1XoGBJzKad/////f7/vpGEo2VQp2xZp21YpmlVqHJh8erp////
-        /////////////////////////////v/+////////////////AAD////////////////////////+///9
-        ///////x/f+W8PslkJ1Xe4PCwsTAxMbW29/49vf/////////////////////////////////////////
-        ///////////////////+//79///9/////v7Y+P576/gnjJlOdXuwtbq7vMHY2dz4+fn////+////////
-        //////7t+PvF8fef6PRd3+48zeBXusVncnF5TDuFU0KPXUmaY02eX0vexsL0//+97PS53eHc4eLq6Ort
-        7+/6/P7////////8/v79/v/////y6OWobVipalembVumcFqnaleobFigYUyiXkmgX0ikZlCma1iob1qo
-        a1iobFmlblmoalOscmHy6+n///////7////08O/k09D8+Pj////+///+/v/+///9//7+///////dxb2f
-        ZEynbVmpbluoblmjZVC5hnf//f7gysWjZ1KmblmobFaqbVmiZk65joH////+///9/v/////+///9/v39
-        /v/////////+///+//7////38O6rcWCmaFSla1arblmnb1uqbVilY02hX0qeYEijY0yqblqobFmpbVmm
-        bVimbVipbVemalbp3dv////+///CmIykZU6pbluobFenbVqlY07axLv////+///////////59vaygXOk
-        ZFKncFqpalqmZlKxfW78+vr9//++kYSmZ1GoblqnbVelalSrcF7x5OP/////////////////////////
-        ///+/v7+//////////////////8AAP////////////////////////7+//7+/////////+D5/3Pg7B12
-        hIKUnMTExcHIyN/i4/z8/P////////7+/v//////////////////////////////////////////////
-        //7///7+//////r+/8L4/lnU4h1reYGVmrS4u8PHyebm5//+//7//v3+/f/+/////////v///v39/e71
-        9+bw9ejm5ZtpXI5XQ5diTp5lUaRnUqNrV+bb2f///////////////v39/f////7///////7+//z+////
-        /v////3+/r2Pf6RkT6dwWqZvWqZrWKdxXb2Qg8GUiMGWirOGdaVqVadtWKdtWahtWadrWKZjTcCXiv//
-        //7///v//v///////////////////v7+//7+//7//v7//////////8SimKRkTKtsWKdvWahsWaNlT7mM
-        fv3//9S4sqRjTqhsWKdtWKluW6FkTcOZjP////3+//7//v7+//7//v3///////7///7+//3+/////v/+
-        //7+/sehlqFiTKlvWqhsWKZrV6hwXLuQgsGWisCUibmKfKduWqZsV6dsWKdtWaZtV6NnUbmKfPz7+///
-        /////8SZjaJkTqhtWadtWaduWqJjS9nAuf////3//////v7//////9O4sKJhTKptWahtWaZpVKhxX/Pt
-        6////72PhKVlT6htWKdsWKZoU6pwXvHl4/////7///7///7///////////7////+/v7/////////////
-        /////wAA/////////////////////////v///v/////+/f///f//zvv/T8XUJmp4nqqxwMPEx83P6+rt
-        //7+/////////////////////////////////////////////////////f///f7+/v7//v7/////8v3+
-        nvL+Lqi2Omdypq6zt7m+0dPW9fT1/v////7//v7+/v7+/v///v//////////////+vTzpnJimmVOpGpX
-        pGpXpmpUpG5Z6uDf/////f/+/f7+/////v///v7//v7////+/v7//f7+//7+/v7/////2MG7oGNNqW5Y
-        p21ZoWVOwJmL////////////697bpmtYpmpWqHFcp2xXqW5ZnWJN2sO9/////f7+/v/+/f///f3+/v7+
-        /v///v///v7+/v/+////////////6NrXp29cpWtVp2pXqHBZqm5ZoGFLxJ2N////0bOtomJOp21XqG5Y
-        qG9bo2ROxJqO/////v///f7+/v///v7//f/////+/v/+/v7//v7+//7////+////383IoGRPqmpXqG9Z
-        pWVPt41//v/+////////8ejnqXJgpmlTp21Yp25ZqW1Zn2FL0LSt/////////v//xJqNomRNp21ZqG1Y
-        qW5YomNO2L+4/////v/////+/v7+////5NHLnmVOpmpXqG5ZpmpVpGhW6+Dd////u46DpGVPqW1YqGxY
-        pmlSq3Jf8ufm//////////////////////////7//v//////////////////////AAD/////////////
-        ///////////////////////+///////6/v+w9v84q7o8cHq3ub7CwsbR09jy8vL+///9////////////
-        ///////////+/v7////////////////////////////////////////////X+P5t5PAee4hpgoq3uLu/
-        wsbd4OT7/Pz////+/v7////////////////////////69fWweWqjaFOnbFinbVmma1Wob1vt4uD/////
-        ///+///////////////////////////////////////////w6OirdGCmalSobVmkaFG0g3T7+vr9////
-        ///Zv7eiYkypb1qob1mpbVika1WpcmDv6Ob//////v/9///+//7+///+/v/+///+///////////////4
-        8/PYw7uocGCoaFOnbluna1iqb1qmbFigYEzYu7L////TtK2hZE+obViobVeobVqiZE3GnpP/////////
-        //7////////////////////////////+/v////7////39fSxe2unaFOmbFmkZlOtdWP07Oj////////f
-        y8OkZFCobFenbVmmbVqobFekalfv4eH////////////BmY2jY06obVmobFmoblijZk/Xu7P/////////
-        ///////////o2NShZVGna1eobFmnbFinalbu4N3///+8kIOkZE6pblqobFimaVOocFzt4uD/////////
-        //////////////////7///////////////////////8AAP//////////////////////////////////
-        //////////////P+/5Lx/CCPoVd5gr3Cw8HEyNna3fb19//////+////////////////////////////
-        //////////////////////////////////////P8/rX0/zu+yyllbpuorLu4vMbMzvDu7v////7/////
-        //////////////////////r19LF7aqVpVKltWaltWqZqVatwXO7i4P//////////////////////////
-        //////////////////////7//////8GYiqFkTqhuWqdsVqdpVuXV0v/////+/ruMfKFjTKluW6dsWKpu
-        WqJjTr6ViP39/v/////////////+//z///3///////////Dn59nEvcqnm7J9baNiTaRmUaluV6ltV6ht
-        WqhuWqJlUKx2ZfXz8f///9G0rKBkT6htWKltWahuWqJjTMeelP///////////v//////////////////
-        //////7///7//////v7//////8ulmqJiTKduXKhtWKJjTt/Kxf///////8KfkqNiTKluWaltWKluWqRl
-        TrmKfP78/f///////////8GZjKNjTqhtWahtWqhuWaRlUNa6tP///////////////////+jW1KJlUalt
-        WKZuWaZsWKhrVu7h3f///7yQg6JjTaltWqhtWKltWKdqVreHfMiilcWckMSck8SflMennO7g3f//////
-        /////////////////////wAA////////////////////////////////////////////////////2/r/
-        euLvHnuJcYyVx8TGxcjK3d/i+vn6////////////////////////////////////////////////////
-        //////////////7+///+6fr/h+z4IoyYVnh/sba6ur7B2drc+fr7////////////////////////////
-        +vb1sXtqo2hSqW1ZqW1apWlUrG9b7uLg////////////////////////////////////////////////
-        /v//////3MjBomNNqW1aqW1ZoWFMz6+n////8ejmqHBbp2tVp2xYqGxYqW1ZpGRQ17+6/////v//////
-        /v///v/+////////6+Lew56Tq3JfomJOoWBMpWhQqG5apm1Yp21YqG1ZqW5cpmdRomZR4M3I////////
-        0rOtomRPqG1YqGxYqG1aomNMx56U///////////+/////////////////////////v///f7+/v7//v//
-        ////59bRo2RQp2xZqm9ao2FMw5mO////9/PxrnhnpmhTqG1ZqG1Zp25Yo2NL1bev/////////////v//
-        wZmMo2NOqG1ZqW1apm1YpGVQ1rq1////////////////////6NfUo2VRqG1Ypm5ZpWtXp2pW7uHe////
-        vZGDomNMqGxZqG5Zp21ZqG1Zo2ZPomNOoGNNoGFMoWJKn2BGrXps9vPy////////////////////////
-        AAD//////////////////////////////////////////////v///v3//v7T+v9c1OMcc4CQnKPHyMrF
-        yczh4uT7+/v//////////////////////////////////////////////////////////////v/////8
-        //7H9/5Ty90fZ3SHmZ+0t7zFx8zr7Oz+//7////////////////////////69vWxe2ukaVKobViobFmm
-        alWrblvu4uD////////////////////////////////////////////+///9///////18e+sc2Kna1Sn
-        b1umZlG3g3X////bwLqiYk6pbVmoblenbVmmaFOsc2D27e3////+/////////v7////////XurSla1ei
-        YEulalSmbVeobVmocFqlblinbVmnbVimZ1KgYUmmcl7ey8T//////v/////StKyhZE6pbVipbVmoblqi
-        Y0zGn5T///////////7////////////////////////////+///9/v/+//7////59vewgHKkZ1CnbFmm
-        alWweGf8+/rk1c+jZlCrblqpbVmpbVmma1WmbFns4N3////////////+///AmIykY06nbFiobVmmbFej
-        ZE/VurT////////////////////o1tOjZVGobVimblmnbFeobFjt4N3///+9kIOjZE6pblqpblinbVqq
-        bVqoa1WmaVSna1WlaVaoZ1SlZk6iZ1Ly6uj///////////////////////8AAP//////////////////
-        /////////////////////////////////v/+/vz+/735/1LH1yZuepGhqMTEyMjMzeXl5/z8/P//////
-        //////////////////////////////////////////////////////7//////+b7/4vt/COXpURuda6x
-        trS6vtXY2fb4+P////////////////////////r19a95aaVqU6htWKhsWaZpVKptWu3h3///////////
-        //////////////////////////////////7///7//////////8Gek6NjS6ZvWqdsV6RoVPLp58eilp9i
-        TKdtWqhtWahuWaNiS8CWiv///////v7//////////v///9bAt6BfSadqVKhuWqhuWaduWKhuW6dsWKdr
-        U6JhTKVkUa95Z8mmne/o5v////3///3//////9S0raFkT6hsWKhsWKhuWqJkTceflP///////////v//
-        //////////////////////////7+//3+//////7//////8qroqBjTaltWaZtWKNoU+fb2M2toqJjTaht
-        WadsWKhtWaNlT7aJev39/f////////////7+/8GYjKRkT6htWahtWqdsWKNlT9e7s///////////////
-        /////+jX1KJlUaZsV6lvW6ZqV6ZrVu3g3f///72Qg6VlT6ltWaltWqltWKttV6ZoVaZuWKZvXKZuXKds
-        WKdzYdK4sP///////////////////////////wAA////////////////////////////////////////
-        /////v///v////7////+9/3/sPT/QL/MJGx2o6euxcbJy8/Q5+nq/P39///////+/v/+////////////
-        /v7+/////////////////////////f7+/f///////f7/v/j/Ss/eHGx1i5adtrS6w8bJ6Onr///////+
-        ///+/v7+////////+vT0rnlopWpUqG5aqW5ap2lVqm5a7eHe/////v//////////////////////////
-        ////////////////////////////3szHoWNOqGxWqm1Zo2lUuo1/rnpnpWxUqG1aqW5aqW1ZoGFM2sbA
-        /////f7+/v//////////8ujnp25foWhRqGpXqm5YqG1Zq25ZpGVQoGBLrXdnyqKZ4M3H9O/v////////
-        /v///f/+////////0rStoWVQqGtYp21ZqG5ao2NNx5+V/////v///v7+////////////////////////
-        /////v///////////v//////6dnXp2lWqGtWp2xZpWlTt4p7sH1rpWtXp21XqW1Xp21YoGFL0bOr////
-        /v///////////v//wZmNo2ROp21YqG1Yp25apGZQ17yz/////v////7////+////6NfUomVRpmxXp25Z
-        p2tXpmpX7eDd////vZGFpGZQqG5ZqG1YpmpVqHBd2cXC7ODf697d7ODd6uDd8ezs////////////////
-        ////////////////AAD////////////////////////////////////////////+///+//7/////////
-        ///z/P+r9f8/tsQtcHmmsbXKyMrQ0dTp6uz+/v3////9/v7////////////+/v7/////////////////
-        ///////////9/v7+///////s/P+O7fsmm6tBanOqr7K2ub3W2dv7+vv////////////////////59fSu
-        eWimalOoblmnbVelalWobVnt4d//////////////////////////////////////////////////////
-        /v7+///38/Kve2ukZlKnbFmpblqkZVGkaFWqbluobVmqblmmaFOscmDz6+r////+///////////////Q
-        s6uiYEunb1mobVqnbVenb1ijZVCxfGzXv7f28O7////////////+///+/////v/+/v7////////RtKyh
-        ZE6na1ioblioblmjY0zHn5b////////9///+//7/////////////////////////////////////////
-        ///9+/y3hXelZU+pbVmobVilZ1OlalWpbVqobFaobleobFema1fv5OH//////v7////////+///BmY2j
-        ZE6obliobVmnbVikZVDYvLP////////9///+///////n09CkZVGqblqnb1mma1amalfs4Nz+//+9kIam
-        ZVCoblqobVikZ1Kwemr49fb///////////////////////////////////////////////////8AAP//
-        //////////////////////////////////////////7///7///3///7+///+/v///u37/qTx/TWtvDlv
-        eKmxtsfIy8zS1urq6/z9/f3///////////////////////////////////////////7///7+//7/////
-        //z+/sX1/k3S4R5odICUmra1ucXIyuvr7f////////////////////r3+LF8bqVoUqhuWahuWalpVKds
-        V+fc2v////////////////////////////////////////////////7//v7+//7+/v///8efk6JkTqdt
-        WqhtV6ltWahsWKhrWadsWKZtWaJkTcSXiv/+///////+/v////////78+7iMfqJpUahuWqZqV6duWKho
-        VLOCc/Pp6f/////////////+//3+/v7///7+//////7//////v///9S2rqRmT6dsV6ltWKhtWaJkTMSe
-        kf////7///7+/v/+/////////////////////////////////////////////////8+xqqBiS6htWaht
-        WapuWqdsWKhsV6dsVqlsWKNmULiGePz6+/////3//////////////8KajaRjTaluWahuWahtV6VnUdi8
-        s////////v7+/v7+/v///93Fv6BmTahrWKhvWaZpVqttXPPr6f7//72RhqdlUKdtWaZsV6RnUbB7aPjy
-        8v///////////////////////////////////////////////////wAA////////////////////////
-        /////////////////////v///v///////v/////////////+8Pv+nvT+Nqy6M3B8q7C3yMnJytDR6evt
-        //7+/////////////////////////////////////////////v///////v//////6fr+g+r5H4+bU3V+
-        rbG0tbu93dzf/Pz8/////////////////Pz8tIZ4pWdRqG5ZqW5aqGtWpWdS3s7I////////////////
-        /////////////////////////////////v/////+//7/////5tPNpGZQqXBaqG1Zp25ZqG1Ypm1Zp21Y
-        qW1Zo2VQ2cG6/////v//////////////+/b1s4BwpGZSqnBapmxZqW1YpWVP2sTA//////39/v7/////
-        /v/+/v///f///f////7+/v/////+////2L+6pGVQqG1Xp21YqG5YpWVNvpGC/////////v/+/v7//v//
-        /////////////////////////////////////v//////7N7cpGlUpmtVp25aqGxYqG1Zp2xWqG5Zp2xY
-        oWFM07as/////v///v/+////////////wpqNo2NNp21YqG1YqGxXpGRP2L61/////v/+/v7+/v//////
-        wZyOoGNNpmpWqG5Zp2pUr3dp/Pn5//7/vZCEpGVQqG5Zp2tXpGhRsHtp+PLy////////////////////
-        ////////////////////////////////AAD/////////////////////////////////////////////
-        ///9///+//////7////+///////////t+/6b8vwyrbsycHqqr7XMy8zO0dTn6er7/Pz/////////////
-        ///////////////////////+///+///+///+/v/////3/v+69P88uckvaHGYpaqztrnPz9Tz9PX/////
-        ///////////+///DoJOjZE2obViobFimblmgYUzXt6z////+////////////////////////////////
-        /////////////v/+/v7+///////39fSwe2umalSpbFinblmobFmpb1uobFimaVSrc2D17+7////+/v7+
-        /v7////////69vW0f3CnZFGpb1qoblqnbFehZlHeysX////+/v/9///9////////////////////////
-        ///+/v/////l2NeiZlSpbFinbFiobVmlaVOxemr69/b////+/v////////7/////////////////////
-        ///////////////////////8+/u5iXykZVCmb1qpbViobFiobFipb1qmalWqbVvr393////////+/v//
-        ///////////Cmo2kZE6obVmobFima1alYk3cxbz////+///////////n2NSmbFqmaVana1eobVmiZU29
-        mIz+///+/P69kYOlZU+pblqobVikZ1Kwe2r48/L/////////////////////////////////////////
-        //////////8AAP////////////////////////////////////////////////7///7///7+///+//7/
-        /v7//v///////uv6/5rw/DGwvytxf6SrsM3Mzs/R0uXm5vn5+v////////7//v////7///7/////////
-        ///////+//3///7+//////7//tr8/2zb7BxygHmLlLW1usDFyurr7f////////////7//////9i/tqBg
-        TKhsWahuWahvWqNnUbF9bfXw8P////////////////////j29uLV1Pbx8P/////////////+//7+/v7/
-        /v///////82nnp5jTKltWKdtWKdtWaluWalrWp9pULyShP/////////+/v////////////37+rWGe6Jl
-        T6hwW6psV6ZvWKRkUMGXivn6+f////////////////n4+Ord3vz6+v////////7+//////r3+K55aaRo
-        UqdsWKlsWKhuWaNkUNa7tf///////////////////////+zg3+nf4P////////////////3///////7/
-        /////9G0rZ9hTKdsWKdtWqhtWahsV6hvWqVmUbaGeP/7/P////////7///7//////////8KajaJkTqhu
-        WqhsWadsV6NjT8+zrP////////v4+NvIwah2ZKZnU6hyXKhtVqVsVqFfS+LKxf////v7/LuRhaZlUKdu
-        WadsWqVnUq97avv4+P///////////////////////////////////////////////////wAA////////
-        /////////////////////////////////////////////////////////v///v///v///f7+///+6vr/
-        nvL+RbzMKXeDi5+kzcrMys/P3+Dj9/b4//3+/////////f7+/f39/v7+/////////////v7+//////7+
-        ////6/3/juz6Jo2bWXmBsrS3ub/C4uTl/////////////v//////7+bmqG5do2hUqW1ZpW1YqG5ZpGlT
-        sYZ34MzI7+Tg7+Pi5NbTyKqhtH5woGJNwJiK/f7///////7/////////////////////5tbTpmlWqWtX
-        qW1ap21YqG1ZqGtZoWNM3MbA////////////////////////////yKujnmBJpW9aqGtYqGxYqG1Xo2dS
-        u4uA2Lq14MrD2cG7yqmgtINyomRPzq2l////////////////////yKeboGFKqm1bpGpWp21Zp2tWqW1b
-        y66m7N7c8Obi7ODc1728vJOIrHFdpW5e69/d/////v///v7//v/+/v////7/////8OXlpWxbqWxWqG5X
-        qG1aqG5ZqW1an2JL0bGn/////////v/////+/v///v///f//w5uOo2RPqG1ZqGxZqWxXqG1XqHJfvJGD
-        vJOGs4NwpWhTqGlUp25apmxZqXBcoV9KuY6C/fn6/v///Pz7vZGEomNOqW1Yp21Zp2pWqHFc2MC5693Y
-        6NrT6NjV6NjV6NnV6NjU7uXg////////////////////////AAD/////////////////////////////
-        ///////////////////////////////////+///+//79/////v////7////1/f+w9v9Jydoieol7kJnH
-        yMrO0M/c3eHi8Pa26e/R4eX79fTw7fDv7/P5+vn+///////////////+/v7////3/f+s8/8zpbJAbHOo
-        sLO6vcHe3+H+/f3////////+/v7+//7////MraaeYUmqbVmobFmobVmqclqkZ1CiZVKnbVqmbFmiZlKh
-        Yk2lalKnaVSiZFHn2dX////+/v7////////////////////8+/uzgnGkZVCpblmpbFmnbFenZVGqc1/y
-        6uj////////////////////////////r4d+jaVaoZ1KobVmobFinbViobFmhZk+iY02hZFCgY02eYUyl
-        Z1KhY0m4joH+///////+/v7////////u5+Wma1uraVOlb1qla1eobleoa1WhY02ma1enb1ymbFWlY1Ck
-        ZU+ka1WiYUrCnJD+/v/+///+/v/////+///8/v////////66jHyjZE6obVmobVupbFiobFelaFTt39v/
-        /////v/+///+//79/////////v/Em46kZE2obVipbVmpbFinbFila1WhZk+fYk2laFKpa1aoalilbVio
-        blmiX0muemrv6uj////////9+/28kIOiZU+pbFipbVmmbVmqbFijZU+kZVKjZlGjZ1KkZ1KkaFKiZ1Gj
-        alXo2NT///////////////////8AAP//////////////////////////////////////////////////
-        //////////////7///7//////v7///3//////////vb9/bz2/mbV5iCHlWeLlcTBxNLO0s7i5Ynp8jar
-        tn+jrdDQ09/c3t/h5PDx8vz9/v////////7//////////r73/jmvvDdlcKStsry9wd7g4f3+/v//////
-        //7+/v/+//////n29baJfJ9fSKZsV6hrWqZuWaVvWahsWKdqVqdrVqxtWatwXKZuWadtW6NhTLyUh///
-        /////////////////////////////8ytpaFiTKpvWadsWKhuWaNlTb2Xiv7+/v////7/////////////
-        ///////////+/8+yq59eSahsVqhuWqhtWahsWqduWqhuV6tsWqlsWaltWattWaNjTbyPf///////////
-        /////////////9nCvZ5jT6hnUaptWqZsWahuWalvWaZsValrVqpsWKdtWahsV6huWKdrVaNoVOrc2v7/
-        //7//v7+//7//v7//v7+/////9u/uqFiTqltWahuWKhuWaNmULeGd/v4+P////////////7///3//f//
-        //3+/8SYjKRjTqduWadtWaltWqdtWKdtWKlsWqpvWqhvWahwW6ZuWKVnUaJhTLWKfPDl4v////3+////
-        //38/ruOgaVmT6luWqluWKhuV6htWqRuV6pvWqZsWKdtWKltWaltWahvWZ5gScaimP//////////////
-        /////wAA/////////////////////////////////////////////////////////////////////f7/
-        /v///v/+/v///////f/+///+/v7+1Pf/e+TzLKa0PoWPlaarz8rLzd3khuTyLbLCQpSgprW41M3Q4drb
-        5+jo8/T1/Pv8//7+//7++fz8uPX/NqKwQGt1rrS4xMPG5eXn/////////v///v7//v7+/v7/////8+3s
-        w5eNn2NLpGROqWhTqGtYpWxXpmxXp21XqG5ZqG9aqGpUomVOnWFJxKSZ/v///v/+////////////////
-        ////////7+HfoWNOn2JMo2dTpmtVnWBK2MC8/////v7+/v/+/////////////////v/+////////z7Gm
-        nmZQoGBKp2hSpmtVq2xZqG1ap21YqW1YpWdSomVPmlpCyqmh/////////v7+////////////////2cS7
-        p3BdoGFKoWdRp2pYqGxXp25ZqWxXp2xXpGxXqGxWo2lSn2BJrHZn7eLe/////f/+/f7//v////7+/v7+
-        ////8ennpW5bnWBJpmhQp2pVn1xIz7Oq/////////v///v////////7+/f///v//x6SZmVlBpWVOo2ZQ
-        pGZRo2RPo2hRomNNoWVPo2NNoWFLpGhRtIV21722+/v6/////////f7+/v/+//7/yaadm1pCpmVRpWZS
-        pWdUpWZRpGVQo2ZRpGZRo2ZRo2VPpGZQomVQoGFLrnpq/Pr7////////////////AAD/////////////
-        ///////////////////////////////////////////////////////+/////v/+///////+/v///v//
-        //////////7k+f6e8fxLxtgnjJxplp25uLvLztKn3+tQ0+EwscNborCjuLvX0tLl3t/s5+jz7O3y6+zU
-        8fh16fYlf4xviI+9wMHPz9Hy8fL////+///+/////v////7+/v7+///////9/f3hyMK8j4CpcF6jZVCj
-        ZU+iZE+hZU+iY02kZVGrdWS+mIzn1dD9/Pv////+///////////////////////////9/v3Vvbe6j4G1
-        f3ClbFqsfm317+7////9//7+///////////////////+///+/v7////////q2dTCnJCud2ejaFKiZU6j
-        ZU+hZlGgZVCkZlSve2rKsKb49vX////////////////////+//7+//7////w5+PHpZmvfWqiaFWiZVCh
-        ZE+hZVCjZVCiZFGpbFi1hnfStK327uz////9///+/////v7+///+//7+/v////7+///dxsG7kISwf26m
-        blqreGft5eL////+/v/+/v7+/////////v/+//7////07OjFnJC2h3u3iXu4iXm4hnm5h3i5iHm5joLE
-        m5HUtq7p2dX59/f////////+/v///v////7+/v/////48/HEo5exf22zgm60gnCzgm+1gW+0gXC0gXC1
-        gW+0gXC0gW+zgG2wfGrGopf9/fz///////////////8AAP//////////////////////////////////
-        //////////////////////////////////////////////////////////////////////////b9/771
-        /mzg8SywwjeapoCkrLWzusTR1ZHf607R4iy4yl+7yoDDy6DJ0qDQ253f6Hzo+CyvwThwe7CzusvMzeHk
-        5vz+/f////////////////////////////////////////7//+/l5N/KxNrAuda4stK3sNq/uOLMyPLt
-        7P////////////////////////////////////////7///7///////////z4+Ozh4fTv7v////7+/v//
-        //////////////////////////////////////////////bx8OXSzd3EvdrAudi/udvDvOLPzfj19f//
-        //////////////////////////////7+/v////////////j19uPS0N3Dvda6s9Gzrte6tt3FwOra2f79
-        /P////////////////////////////////////////////////////r49+7i4fLr6f//////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////37+vv4+Pz4+Pz4+Pv39/z39/v29vz49/z39/v39vv29vv39v//
-        //7//////////////////wAA////////////////////////////////////////////////////////
-        //////////////////////////////////////////////////////////795fr/p/D8X9rqJr/PMJup
-        cY6Wvb2/xtbcoOHqbN7sRNPmMdHkPNfrIdbnKLbFTJagrbi91tTY4OLl9/j4////////////////////
-        /////////////////v///v7//v///////////////////////////////////v///f///v//////////
-        /////////////////v///f7+//7+/v///////////////////v7//////////v//////////////////
-        /////////////////////v/////////////////////////////////////+/v//////////////////
-        /////////////////v7+/////////////////////////////////////////v///v//////////////
-        /////////////////////////////////////////////v/+////////////////////////////////
-        /////////////////////////////v///////////////////////////////////////////v//////
-        /v///v///v///////////////////////////////////////////////v///v//////////////////
-        AAD/////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////v////7////f+f6Q7vw60eEWdoSVq7Di3d/v5uXu8/XZ
-        8/i87/aa5/Nyz92VxMrZ29zp5ebr7e77+/v////////+/v7////////////////////////////+//7+
-        /v7+/v///v/+///+//7////////+///+/////v/+//7////////////////////////////////////+
-        /////v7////+///9///////+///+///////9/v7+//7/////////////////////////////////////
-        ///+///////+/////v/////////+///////////+///////////////////////////+/v7+/v7/////
-        ///+/v/+/v/+//7////////+///////////+///+///////////////////////////////////////+
-        /v7////+/v///v/9//7+/v/+/f//////////////////////////////////////////////////////
-        ///////+///+///////////////+/v7////////////////////////////////+///+///////////+
-        /v7////////////////////////////////9///9/v7///////////////8AAP//////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ///////////+//7+/////////v////z8/d73+8Lj6ODn6vf09v79/v///f/////////9/P/6+v/7+vv6
-        +vr8/P////////7+/v////////////////////////////////////7///7///7+///+/v7//v3+//z+
-        //7//v7///3///7///////////7+/v3///7+/v////////////////////////7///z+/v7///7+/v7/
-        //////7+/v/+/v7+/v////////////////////////////////////////7///7///7+//////7+/v3/
-        //7//v7+//7///7////////////////////////////////////////////////+///+//7//v////7+
-        /v7+/v7//v///v/////////+//////////////////////////////////////////3//v7///7+//3+
-        /v////////////////////////7+/v////////////////////////////////////7///7/////////
-        ///////////////////////////////+//////7///3///7///7///7/////////////////////////
-        ///////////+//////7//////////////////wAA////////////////////////////////////////
-        //////////////////////////////////////////////////////////////////////7//f7+/v/+
-        /v7//v/+///+/////////////v/+/v/////+/v/////+//7//////////////v///f/////+////////
-        /////////////////////////////////////v///v///////////v///v7+/v///v////7/////////
-        /////v///////////////////////////////v///f///v7//v///v7+/////v7+/v///////v/+/v//
-        /////////////////////////////////////////////v7+/////////v///////v7+/////////v//
-        /////////////////////v///v7+/////////////////v7+/v7+/v///v///////v7+////////////
-        /////////////////////////////////////////////f///P/+//7+/v///v//////////////////
-        /////////////////////////////////////////////////////////////v//////////////////
-        /////////v///////////////v///v///////////////////////////////////////v///v//////
-        ////////////////AAD/////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////////////////////////////////////8AAP//
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////////wAA////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////AAD/////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////8AAP//////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////////////////////////wAA////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////AAD/////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////8AAP//////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////wAA////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////AAD/////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////8AAP//////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////wAA////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        AAD/////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////////////////////////////8AAP//////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////wAA////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////AAA=
-</value>
-  </data>
-  <data name="button1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="button1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="button1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="myVersion.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="myVersion.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="myVersion.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="label3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="label3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="label3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="label4.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="label4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="label4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.Name">
-    <value>AboutDialog</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
-        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
-        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
-        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
-        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
-        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
-        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
-        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
-        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
-        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
-        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
-        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
-        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
-        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
-        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
-        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
-        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
-        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
-        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
-        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
-        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
-        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
-        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
-        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
-        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
-        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
-        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
-        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
-        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
-        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
-        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
-        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/samples/CSharp/IE/App.ico b/samples/CSharp/IE/App.ico
deleted file mode 100755 (executable)
index 3a5525f..0000000
Binary files a/samples/CSharp/IE/App.ico and /dev/null differ
diff --git a/samples/CSharp/IE/AssemblyInfo.cs b/samples/CSharp/IE/AssemblyInfo.cs
deleted file mode 100755 (executable)
index 9f89a32..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]                
-
-//
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers 
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the 
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing. 
-//
-// Notes: 
-//   (*) If no key is specified, the assembly is not signed.
-//   (*) KeyName refers to a key that has been installed in the Crypto Service
-//       Provider (CSP) on your machine. KeyFile refers to a file which contains
-//       a key.
-//   (*) If the KeyFile and the KeyName values are both specified, the 
-//       following processing occurs:
-//       (1) If the KeyName can be found in the CSP, that key is used.
-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
-//           in the KeyFile is installed into the CSP and used.
-//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-//       When specifying the KeyFile, the location of the KeyFile should be
-//       relative to the project output directory which is
-//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-//       located in the project directory, you would specify the AssemblyKeyFile 
-//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-//       documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
diff --git a/samples/CSharp/IE/Form1.cs b/samples/CSharp/IE/Form1.cs
deleted file mode 100755 (executable)
index aaead88..0000000
+++ /dev/null
@@ -1,1103 +0,0 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-using System.Data;
-
-namespace IE
-{
-       /// <summary>
-       /// Summary description for Form1.
-       /// </summary>
-       public class Form1 : System.Windows.Forms.Form
-       {
-               private System.Windows.Forms.MainMenu mainMenu1;
-               private System.Windows.Forms.MenuItem FileNew;
-               private System.Windows.Forms.MenuItem FileClose;
-               private System.Windows.Forms.MenuItem FileExport;
-               private System.Windows.Forms.MenuItem FileImport;
-               private System.Windows.Forms.MenuItem ImportBRep;
-               private System.Windows.Forms.MenuItem ExportImage;
-               private System.Windows.Forms.MenuItem File;
-               private System.Windows.Forms.MenuItem Window;
-               private System.Windows.Forms.ToolBarButton New;
-               private System.Windows.Forms.ImageList imageList1;
-               private System.Windows.Forms.ToolBarButton About;
-               private System.Windows.Forms.StatusBar myStatusBar;
-               private System.Windows.Forms.MenuItem ImportIges;
-               private System.Windows.Forms.MenuItem ImportStep;
-               private System.Windows.Forms.MenuItem ExportBRep;
-               private System.Windows.Forms.MenuItem ExportIges;
-               private System.Windows.Forms.MenuItem ExportStep;
-               private System.Windows.Forms.MenuItem ExportStl;
-               private System.Windows.Forms.MenuItem ExportVrml;
-               private System.ComponentModel.IContainer components;
-               private System.Windows.Forms.MenuItem menuItem1;
-               private System.Windows.Forms.MenuItem menuItem2;
-               private System.Windows.Forms.MenuItem menuItem3;
-               private System.Windows.Forms.MenuItem View;
-               private System.Windows.Forms.MenuItem Help;
-               private System.Windows.Forms.MenuItem HelpAbout;
-               private System.Windows.Forms.MenuItem ViewToolbar;
-               private System.Windows.Forms.MenuItem ViewStatusBar;
-               private System.Windows.Forms.MenuItem menuItem4;
-               private System.Windows.Forms.MenuItem WindowCascade;
-               private System.Windows.Forms.MenuItem WindowTile;
-
-               protected IE.ModelFormat myModelFormat;
-               private System.Windows.Forms.ToolBarButton wireframe;
-               private System.Windows.Forms.ToolBarButton shading;
-               private System.Windows.Forms.ToolBarButton toolBarButton1;
-               private System.Windows.Forms.ToolBarButton color;
-               private System.Windows.Forms.ToolBarButton transparency;
-               private System.Windows.Forms.ToolBarButton delete;
-               private System.Windows.Forms.ToolBarButton material;
-               private System.Windows.Forms.ToolBarButton ZoomAll;
-               private System.Windows.Forms.ToolBarButton ZoomWin;
-               private System.Windows.Forms.ToolBarButton ZoomProg;
-               private System.Windows.Forms.ToolBarButton Pan;
-               private System.Windows.Forms.ToolBarButton PanGlo;
-               private System.Windows.Forms.ToolBarButton Front;
-               private System.Windows.Forms.ToolBarButton Back;
-               private System.Windows.Forms.ToolBarButton TOP;
-               private System.Windows.Forms.ToolBarButton BOTTOM;
-               private System.Windows.Forms.ToolBarButton RIGHT;
-               private System.Windows.Forms.ToolBarButton LEFT;
-               private System.Windows.Forms.ToolBarButton Axo;
-               private System.Windows.Forms.ToolBarButton Rot;
-               private System.Windows.Forms.ToolBarButton Reset;
-               private System.Windows.Forms.ToolBarButton HlrOn;
-               private System.Windows.Forms.ToolBarButton HlrOff;
-               private System.Windows.Forms.ToolBar toolBarTool;
-               private System.Windows.Forms.ToolBar toolBarView;
-               protected static int myNbOfChildren;
-
-               public Form1()
-               {
-                       //
-                       // Required for Windows Form Designer support
-                       //
-                       InitializeComponent();
-
-                       //
-                       // TODO: Add any constructor code after InitializeComponent call
-                       //
-                       IE.Form1.myNbOfChildren=0;
-               }
-
-               /// <summary>
-               /// Clean up any resources being used.
-               /// </summary>
-               protected override void Dispose( bool disposing )
-               {
-                       if( disposing )
-                       {
-                               if (components != null) 
-                               {
-                                       components.Dispose();
-                               }
-                       }
-                       base.Dispose( disposing );
-               }
-
-               #region Windows Form Designer generated code
-               /// <summary>
-               /// Required method for Designer support - do not modify
-               /// the contents of this method with the code editor.
-               /// </summary>
-               private void InitializeComponent()
-               {
-                       this.components = new System.ComponentModel.Container();
-                       System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader();
-                       System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
-                       this.mainMenu1 = new System.Windows.Forms.MainMenu();
-                       this.File = new System.Windows.Forms.MenuItem();
-                       this.FileNew = new System.Windows.Forms.MenuItem();
-                       this.FileExport = new System.Windows.Forms.MenuItem();
-                       this.ImportBRep = new System.Windows.Forms.MenuItem();
-                       this.ImportIges = new System.Windows.Forms.MenuItem();
-                       this.ImportStep = new System.Windows.Forms.MenuItem();
-                       this.FileImport = new System.Windows.Forms.MenuItem();
-                       this.ExportBRep = new System.Windows.Forms.MenuItem();
-                       this.ExportIges = new System.Windows.Forms.MenuItem();
-                       this.ExportStep = new System.Windows.Forms.MenuItem();
-                       this.ExportStl = new System.Windows.Forms.MenuItem();
-                       this.ExportVrml = new System.Windows.Forms.MenuItem();
-                       this.menuItem3 = new System.Windows.Forms.MenuItem();
-                       this.ExportImage = new System.Windows.Forms.MenuItem();
-                       this.FileClose = new System.Windows.Forms.MenuItem();
-                       this.menuItem2 = new System.Windows.Forms.MenuItem();
-                       this.menuItem1 = new System.Windows.Forms.MenuItem();
-                       this.View = new System.Windows.Forms.MenuItem();
-                       this.ViewToolbar = new System.Windows.Forms.MenuItem();
-                       this.ViewStatusBar = new System.Windows.Forms.MenuItem();
-                       this.Window = new System.Windows.Forms.MenuItem();
-                       this.menuItem4 = new System.Windows.Forms.MenuItem();
-                       this.WindowCascade = new System.Windows.Forms.MenuItem();
-                       this.WindowTile = new System.Windows.Forms.MenuItem();
-                       this.Help = new System.Windows.Forms.MenuItem();
-                       this.HelpAbout = new System.Windows.Forms.MenuItem();
-                       this.toolBarTool = new System.Windows.Forms.ToolBar();
-                       this.New = new System.Windows.Forms.ToolBarButton();
-                       this.About = new System.Windows.Forms.ToolBarButton();
-                       this.toolBarButton1 = new System.Windows.Forms.ToolBarButton();
-                       this.wireframe = new System.Windows.Forms.ToolBarButton();
-                       this.shading = new System.Windows.Forms.ToolBarButton();
-                       this.color = new System.Windows.Forms.ToolBarButton();
-                       this.material = new System.Windows.Forms.ToolBarButton();
-                       this.transparency = new System.Windows.Forms.ToolBarButton();
-                       this.delete = new System.Windows.Forms.ToolBarButton();
-                       this.imageList1 = new System.Windows.Forms.ImageList(this.components);
-                       this.myStatusBar = new System.Windows.Forms.StatusBar();
-                       this.toolBarView = new System.Windows.Forms.ToolBar();
-                       this.ZoomAll = new System.Windows.Forms.ToolBarButton();
-                       this.ZoomWin = new System.Windows.Forms.ToolBarButton();
-                       this.ZoomProg = new System.Windows.Forms.ToolBarButton();
-                       this.Pan = new System.Windows.Forms.ToolBarButton();
-                       this.PanGlo = new System.Windows.Forms.ToolBarButton();
-                       this.Front = new System.Windows.Forms.ToolBarButton();
-                       this.Back = new System.Windows.Forms.ToolBarButton();
-                       this.TOP = new System.Windows.Forms.ToolBarButton();
-                       this.BOTTOM = new System.Windows.Forms.ToolBarButton();
-                       this.LEFT = new System.Windows.Forms.ToolBarButton();
-                       this.RIGHT = new System.Windows.Forms.ToolBarButton();
-                       this.Axo = new System.Windows.Forms.ToolBarButton();
-                       this.Rot = new System.Windows.Forms.ToolBarButton();
-                       this.Reset = new System.Windows.Forms.ToolBarButton();
-                       this.HlrOn = new System.Windows.Forms.ToolBarButton();
-                       this.HlrOff = new System.Windows.Forms.ToolBarButton();
-                       this.SuspendLayout();
-                       // 
-                       // mainMenu1
-                       // 
-                       this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                         this.File,
-                                                                                                                                                                         this.View,
-                                                                                                                                                                         this.Window,
-                                                                                                                                                                         this.Help});
-                       // 
-                       // File
-                       // 
-                       this.File.Index = 0;
-                       this.File.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                this.FileNew,
-                                                                                                                                                                this.FileExport,
-                                                                                                                                                                this.FileImport,
-                                                                                                                                                                this.FileClose,
-                                                                                                                                                                this.menuItem2,
-                                                                                                                                                                this.menuItem1});
-                       this.File.Text = "&File";
-                       this.File.Popup += new System.EventHandler(this.File_Popup);
-                       // 
-                       // FileNew
-                       // 
-                       this.FileNew.Index = 0;
-                       this.FileNew.Text = "&New";
-                       this.FileNew.Click += new System.EventHandler(this.menuItem2_Click);
-                       // 
-                       // FileExport
-                       // 
-                       this.FileExport.Index = 1;
-                       this.FileExport.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                          this.ImportBRep,
-                                                                                                                                                                          this.ImportIges,
-                                                                                                                                                                          this.ImportStep});
-                       this.FileExport.Text = "&Import";
-                       this.FileExport.Visible = false;
-                       // 
-                       // ImportBRep
-                       // 
-                       this.ImportBRep.Index = 0;
-                       this.ImportBRep.Text = "&BRep ...";
-                       this.ImportBRep.Click += new System.EventHandler(this.ImportBRep_Click);
-                       // 
-                       // ImportIges
-                       // 
-                       this.ImportIges.Index = 1;
-                       this.ImportIges.Text = "&Iges ...";
-                       this.ImportIges.Click += new System.EventHandler(this.ImportIges_Click);
-                       // 
-                       // ImportStep
-                       // 
-                       this.ImportStep.Index = 2;
-                       this.ImportStep.Text = "&Step ...";
-                       this.ImportStep.Click += new System.EventHandler(this.ImportStep_Click);
-                       // 
-                       // FileImport
-                       // 
-                       this.FileImport.Index = 2;
-                       this.FileImport.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                          this.ExportBRep,
-                                                                                                                                                                          this.ExportIges,
-                                                                                                                                                                          this.ExportStep,
-                                                                                                                                                                          this.ExportStl,
-                                                                                                                                                                          this.ExportVrml,
-                                                                                                                                                                          this.menuItem3,
-                                                                                                                                                                          this.ExportImage});
-                       this.FileImport.Text = "&Export";
-                       this.FileImport.Visible = false;
-                       this.FileImport.Popup += new System.EventHandler(this.FileImport_Popup);
-                       // 
-                       // ExportBRep
-                       // 
-                       this.ExportBRep.Enabled = false;
-                       this.ExportBRep.Index = 0;
-                       this.ExportBRep.Text = "&BRep ...";
-                       this.ExportBRep.Click += new System.EventHandler(this.ExportBRep_Click);
-                       // 
-                       // ExportIges
-                       // 
-                       this.ExportIges.Enabled = false;
-                       this.ExportIges.Index = 1;
-                       this.ExportIges.Text = "&Iges ...";
-                       this.ExportIges.Click += new System.EventHandler(this.ExportIges_Click);
-                       // 
-                       // ExportStep
-                       // 
-                       this.ExportStep.Enabled = false;
-                       this.ExportStep.Index = 2;
-                       this.ExportStep.Text = "&Step ...";
-                       this.ExportStep.Click += new System.EventHandler(this.ExportStep_Click);
-                       // 
-                       // ExportStl
-                       // 
-                       this.ExportStl.Enabled = false;
-                       this.ExportStl.Index = 3;
-                       this.ExportStl.Text = "&Stl ...";
-                       this.ExportStl.Click += new System.EventHandler(this.ExportStl_Click);
-                       // 
-                       // ExportVrml
-                       // 
-                       this.ExportVrml.Enabled = false;
-                       this.ExportVrml.Index = 4;
-                       this.ExportVrml.Text = "&Vrml ...";
-                       this.ExportVrml.Click += new System.EventHandler(this.ExportVrml_Click);
-                       // 
-                       // menuItem3
-                       // 
-                       this.menuItem3.Index = 5;
-                       this.menuItem3.Text = "-";
-                       // 
-                       // ExportImage
-                       // 
-                       this.ExportImage.Index = 6;
-                       this.ExportImage.Text = "Image ...";
-                       this.ExportImage.Click += new System.EventHandler(this.ExportImage_Click);
-                       // 
-                       // FileClose
-                       // 
-                       this.FileClose.Enabled = false;
-                       this.FileClose.Index = 3;
-                       this.FileClose.Text = "&Close";
-                       this.FileClose.Click += new System.EventHandler(this.menuItem3_Click);
-                       // 
-                       // menuItem2
-                       // 
-                       this.menuItem2.Index = 4;
-                       this.menuItem2.Text = "-";
-                       // 
-                       // menuItem1
-                       // 
-                       this.menuItem1.Index = 5;
-                       this.menuItem1.Text = "&Quit";
-                       this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
-                       // 
-                       // View
-                       // 
-                       this.View.Index = 1;
-                       this.View.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                this.ViewToolbar,
-                                                                                                                                                                this.ViewStatusBar});
-                       this.View.Text = "&View";
-                       // 
-                       // ViewToolbar
-                       // 
-                       this.ViewToolbar.Checked = true;
-                       this.ViewToolbar.Index = 0;
-                       this.ViewToolbar.Text = "&Toolbar";
-                       this.ViewToolbar.Click += new System.EventHandler(this.ViewToolbar_Click);
-                       // 
-                       // ViewStatusBar
-                       // 
-                       this.ViewStatusBar.Checked = true;
-                       this.ViewStatusBar.Index = 1;
-                       this.ViewStatusBar.Text = "&Statusbar";
-                       this.ViewStatusBar.Click += new System.EventHandler(this.ViewStatusBar_Click);
-                       // 
-                       // Window
-                       // 
-                       this.Window.Index = 2;
-                       this.Window.MdiList = true;
-                       this.Window.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                  this.menuItem4,
-                                                                                                                                                                  this.WindowCascade,
-                                                                                                                                                                  this.WindowTile});
-                       this.Window.Text = "&Window";
-                       this.Window.Visible = false;
-                       // 
-                       // menuItem4
-                       // 
-                       this.menuItem4.Index = 0;
-                       this.menuItem4.Text = "&New 3d View";
-                       this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);
-                       // 
-                       // WindowCascade
-                       // 
-                       this.WindowCascade.Index = 1;
-                       this.WindowCascade.Text = "&Cascade";
-                       this.WindowCascade.Click += new System.EventHandler(this.WindowCascade_Click);
-                       // 
-                       // WindowTile
-                       // 
-                       this.WindowTile.Index = 2;
-                       this.WindowTile.Text = "&Tile";
-                       this.WindowTile.Click += new System.EventHandler(this.WindowTile_Click);
-                       // 
-                       // Help
-                       // 
-                       this.Help.Index = 3;
-                       this.Help.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                this.HelpAbout});
-                       this.Help.Text = "&Help";
-                       // 
-                       // HelpAbout
-                       // 
-                       this.HelpAbout.Index = 0;
-                       this.HelpAbout.Shortcut = System.Windows.Forms.Shortcut.F1;
-                       this.HelpAbout.Text = "&About";
-                       this.HelpAbout.Click += new System.EventHandler(this.HelpAbout_Click);
-                       // 
-                       // toolBarTool
-                       // 
-                       this.toolBarTool.AccessibleRole = System.Windows.Forms.AccessibleRole.ToolBar;
-                       this.toolBarTool.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
-                                                                                                                                                                                  this.New,
-                                                                                                                                                                                  this.About,
-                                                                                                                                                                                  this.toolBarButton1,
-                                                                                                                                                                                  this.wireframe,
-                                                                                                                                                                                  this.shading,
-                                                                                                                                                                                  this.color,
-                                                                                                                                                                                  this.material,
-                                                                                                                                                                                  this.transparency,
-                                                                                                                                                                                  this.delete});
-                       this.toolBarTool.DropDownArrows = true;
-                       this.toolBarTool.ImageList = this.imageList1;
-                       this.toolBarTool.Location = new System.Drawing.Point(0, 0);
-                       this.toolBarTool.Name = "toolBarTool";
-                       this.toolBarTool.ShowToolTips = true;
-                       this.toolBarTool.Size = new System.Drawing.Size(560, 28);
-                       this.toolBarTool.TabIndex = 1;
-                       this.toolBarTool.Enter += new System.EventHandler(this.menuItem3_Click);
-                       this.toolBarTool.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick);
-                       this.toolBarTool.MouseHover += new System.EventHandler(this.toolBar1_MouseHover);
-                       this.toolBarTool.MouseLeave += new System.EventHandler(this.toolBar1_MouseLeave);
-                       // 
-                       // New
-                       // 
-                       this.New.ImageIndex = 0;
-                       this.New.ToolTipText = "New";
-                       this.New.Visible = ((bool)(configurationAppSettings.GetValue("New.Visible", typeof(bool))));
-                       // 
-                       // About
-                       // 
-                       this.About.ImageIndex = 1;
-                       this.About.ToolTipText = "About(F1)";
-                       this.About.Visible = ((bool)(configurationAppSettings.GetValue("About.Visible", typeof(bool))));
-                       // 
-                       // toolBarButton1
-                       // 
-                       this.toolBarButton1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
-                       // 
-                       // wireframe
-                       // 
-                       this.wireframe.Enabled = ((bool)(configurationAppSettings.GetValue("wireframe.Enabled", typeof(bool))));
-                       this.wireframe.ImageIndex = 2;
-                       this.wireframe.Pushed = ((bool)(configurationAppSettings.GetValue("wireframe.Pushed", typeof(bool))));
-                       this.wireframe.ToolTipText = "Wireframe";
-                       this.wireframe.Visible = ((bool)(configurationAppSettings.GetValue("wireframe.Visible", typeof(bool))));
-                       // 
-                       // shading
-                       // 
-                       this.shading.Enabled = ((bool)(configurationAppSettings.GetValue("shading.Enabled", typeof(bool))));
-                       this.shading.ImageIndex = 3;
-                       this.shading.Pushed = ((bool)(configurationAppSettings.GetValue("shading.Pushed", typeof(bool))));
-                       this.shading.ToolTipText = "Shading";
-                       this.shading.Visible = ((bool)(configurationAppSettings.GetValue("shading.Visible", typeof(bool))));
-                       // 
-                       // color
-                       // 
-                       this.color.Enabled = ((bool)(configurationAppSettings.GetValue("color.Enabled", typeof(bool))));
-                       this.color.ImageIndex = 4;
-                       this.color.ToolTipText = "Color";
-                       this.color.Visible = ((bool)(configurationAppSettings.GetValue("color.Visible", typeof(bool))));
-                       // 
-                       // material
-                       // 
-                       this.material.Enabled = ((bool)(configurationAppSettings.GetValue("material.Enabled", typeof(bool))));
-                       this.material.ImageIndex = 5;
-                       this.material.ToolTipText = "Material";
-                       this.material.Visible = ((bool)(configurationAppSettings.GetValue("material.Visible", typeof(bool))));
-                       // 
-                       // transparency
-                       // 
-                       this.transparency.Enabled = ((bool)(configurationAppSettings.GetValue("transparency.Enabled", typeof(bool))));
-                       this.transparency.ImageIndex = 6;
-                       this.transparency.ToolTipText = "Transparency";
-                       this.transparency.Visible = ((bool)(configurationAppSettings.GetValue("transparency.Visible", typeof(bool))));
-                       // 
-                       // delete
-                       // 
-                       this.delete.Enabled = ((bool)(configurationAppSettings.GetValue("delete.Enabled", typeof(bool))));
-                       this.delete.ImageIndex = 7;
-                       this.delete.ToolTipText = "Delete";
-                       this.delete.Visible = ((bool)(configurationAppSettings.GetValue("delete.Visible", typeof(bool))));
-                       // 
-                       // imageList1
-                       // 
-                       this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
-                       this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
-                       this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
-                       // 
-                       // myStatusBar
-                       // 
-                       this.myStatusBar.AccessibleRole = System.Windows.Forms.AccessibleRole.StatusBar;
-                       this.myStatusBar.Location = new System.Drawing.Point(0, 363);
-                       this.myStatusBar.Name = "myStatusBar";
-                       this.myStatusBar.Size = new System.Drawing.Size(560, 22);
-                       this.myStatusBar.TabIndex = 3;
-                       // 
-                       // toolBarView
-                       // 
-                       this.toolBarView.AccessibleRole = System.Windows.Forms.AccessibleRole.ToolBar;
-                       this.toolBarView.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
-                                                                                                                                                                                  this.ZoomAll,
-                                                                                                                                                                                  this.ZoomWin,
-                                                                                                                                                                                  this.ZoomProg,
-                                                                                                                                                                                  this.Pan,
-                                                                                                                                                                                  this.PanGlo,
-                                                                                                                                                                                  this.Front,
-                                                                                                                                                                                  this.Back,
-                                                                                                                                                                                  this.TOP,
-                                                                                                                                                                                  this.BOTTOM,
-                                                                                                                                                                                  this.LEFT,
-                                                                                                                                                                                  this.RIGHT,
-                                                                                                                                                                                  this.Axo,
-                                                                                                                                                                                  this.Rot,
-                                                                                                                                                                                  this.Reset,
-                                                                                                                                                                                  this.HlrOn,
-                                                                                                                                                                                  this.HlrOff});
-                       this.toolBarView.DropDownArrows = true;
-                       this.toolBarView.ImageList = this.imageList1;
-                       this.toolBarView.Location = new System.Drawing.Point(0, 28);
-                       this.toolBarView.Name = "toolBarView";
-                       this.toolBarView.ShowToolTips = true;
-                       this.toolBarView.Size = new System.Drawing.Size(560, 28);
-                       this.toolBarView.TabIndex = 5;
-                       this.toolBarView.Visible = false;
-                       this.toolBarView.Wrappable = false;
-                       this.toolBarView.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBarView_ButtonClick);
-                       this.toolBarView.MouseHover += new System.EventHandler(this.toolBarView_MouseHover);
-                       this.toolBarView.MouseLeave += new System.EventHandler(this.toolBarView_MouseLeave);
-                       // 
-                       // ZoomAll
-                       // 
-                       this.ZoomAll.ImageIndex = 8;
-                       this.ZoomAll.ToolTipText = "FitAll";
-                       // 
-                       // ZoomWin
-                       // 
-                       this.ZoomWin.ImageIndex = 9;
-                       this.ZoomWin.ToolTipText = "Zoom Window";
-                       // 
-                       // ZoomProg
-                       // 
-                       this.ZoomProg.ImageIndex = 10;
-                       this.ZoomProg.ToolTipText = "Dynamic Zooming";
-                       // 
-                       // Pan
-                       // 
-                       this.Pan.ImageIndex = 11;
-                       this.Pan.ToolTipText = "Dynamic Panning";
-                       // 
-                       // PanGlo
-                       // 
-                       this.PanGlo.ImageIndex = 12;
-                       this.PanGlo.ToolTipText = "GlobalPanning";
-                       // 
-                       // Front
-                       // 
-                       this.Front.ImageIndex = 13;
-                       this.Front.ToolTipText = "Front";
-                       // 
-                       // Back
-                       // 
-                       this.Back.ImageIndex = 14;
-                       this.Back.ToolTipText = "Back";
-                       // 
-                       // TOP
-                       // 
-                       this.TOP.ImageIndex = 15;
-                       this.TOP.ToolTipText = "Top";
-                       // 
-                       // BOTTOM
-                       // 
-                       this.BOTTOM.ImageIndex = 16;
-                       this.BOTTOM.ToolTipText = "Bottom";
-                       // 
-                       // LEFT
-                       // 
-                       this.LEFT.ImageIndex = 17;
-                       this.LEFT.ToolTipText = "Left";
-                       // 
-                       // RIGHT
-                       // 
-                       this.RIGHT.ImageIndex = 18;
-                       this.RIGHT.ToolTipText = "Right";
-                       // 
-                       // Axo
-                       // 
-                       this.Axo.ImageIndex = 19;
-                       this.Axo.ToolTipText = "Axo";
-                       // 
-                       // Rot
-                       // 
-                       this.Rot.ImageIndex = 20;
-                       this.Rot.ToolTipText = "Dynamic Rotation";
-                       // 
-                       // Reset
-                       // 
-                       this.Reset.ImageIndex = 21;
-                       this.Reset.ToolTipText = "Reset";
-                       // 
-                       // HlrOn
-                       // 
-                       this.HlrOn.ImageIndex = 22;
-                       this.HlrOn.Pushed = true;
-                       this.HlrOn.ToolTipText = "Hidden On";
-                       // 
-                       // HlrOff
-                       // 
-                       this.HlrOff.ImageIndex = 23;
-                       this.HlrOff.ToolTipText = "Hidden Off";
-                       // 
-                       // Form1
-                       // 
-                       this.AccessibleRole = System.Windows.Forms.AccessibleRole.Application;
-                       this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-                       this.ClientSize = new System.Drawing.Size(560, 385);
-                       this.Controls.Add(this.toolBarView);
-                       this.Controls.Add(this.myStatusBar);
-                       this.Controls.Add(this.toolBarTool);
-                       this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-                       this.IsMdiContainer = true;
-                       this.Menu = this.mainMenu1;
-                       this.Name = "Form1";
-                       this.Text = "Sample Import / Export";
-                       this.Activated += new System.EventHandler(this.Form1_Activated);
-                       this.ResumeLayout(false);
-
-               }
-               #endregion
-
-               /// <summary>
-               /// The main entry point for the application.
-               /// </summary>
-               [STAThread]
-               static void Main() 
-               {
-                       Application.Run(new Form1());
-               }
-
-               private void menuItem2_Click(object sender, System.EventArgs e)
-               {
-
-                       this.Cursor=System.Windows.Forms.Cursors.WaitCursor;
-                       this.OnNewFile();
-               }
-
-               private void menuItem3_Click(object sender, System.EventArgs e)
-               {
-                       if ( this.MdiChildren.Length > 0 )
-                               this.ActiveMdiChild.Close();
-
-               }
-
-               private void ImportBRep_Click(object sender, System.EventArgs e)
-               {
-               
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=ModelFormat.BREP;
-                       curForm.ImportModel(this.myModelFormat);
-
-               }
-
-               private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
-               {
-
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       switch(toolBarTool.Buttons.IndexOf(e.Button))
-                       {
-                               case 0:
-                                       this.Cursor=System.Windows.Forms.Cursors.WaitCursor;
-                                       this.OnNewFile();
-                                       break;
-                               case 1:
-                                       AboutDialog myDlg = new AboutDialog();
-                                       myDlg.ShowDialog(this);
-                                       break;
-
-                               case 2: //just separator
-                                       break;
-                               case 3:
-                                       if (curForm == null)
-                                               return;
-                                       curForm.SetDisplayMode(0); //wireframe
-                                       this.wireframe.Enabled=false;
-                                       this.shading.Enabled=true;
-                                       this.transparency.Enabled=false;
-                                       break;
-                               case 4:
-                                       if (curForm == null)
-                                               return;
-                                       curForm.SetDisplayMode(1); //shading
-                                       this.shading.Enabled=false;
-                                       this.wireframe.Enabled=true;
-                                       this.transparency.Enabled=true;
-                                       break;
-                               case 5:
-                                       if (curForm == null)
-                                               return;
-                                       curForm.ChangeColor(true);
-                                       break;
-                               case 6:
-                                       if (curForm == null)
-                                               return;
-                                       MaterialDialog m = new MaterialDialog();
-                                       m.View=curForm.View;
-                                       m.ShowDialog(curForm);
-                                       break;
-                               case 7:
-                                       if (curForm == null)
-                                               return;
-                                       IE.TransparencyDialog t = new TransparencyDialog();
-                                       t.View=curForm.View;
-                                       t.ShowDialog(curForm);
-                                       break;
-                               case 8:
-                                       if (curForm == null)
-                                               return;
-                                       curForm.DeleteObjects();
-                                       break;
-                               default:
-                                       break;
-                       }
-               }
-
-               private void toolBar1_MouseHover(object sender, System.EventArgs e)
-               {
-                       this.myStatusBar.Text="Document toolbar";
-               }
-
-               private void toolBar1_MouseLeave(object sender, System.EventArgs e)
-               {
-                       this.myStatusBar.Text="";
-               }
-
-               private void ImportCsfdb_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.CSFDB;
-                       curForm.ImportModel(this.myModelFormat);
-               }
-
-               private void ImportIges_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.IGES;
-                       curForm.ImportModel(this.myModelFormat);
-               }
-
-               private void ImportStep_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.STEP;
-                       curForm.ImportModel(this.myModelFormat);
-               }
-
-               private void ExportBRep_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.BREP;
-                       curForm.ExportModel(this.myModelFormat);
-               }
-
-               private void ExportCsfdb_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.CSFDB;
-                       curForm.ExportModel(this.myModelFormat);
-               }
-
-               private void ExportIges_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.IGES;
-                       curForm.ExportModel(this.myModelFormat);
-               }
-
-               private void ExportStep_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.STEP;
-                       curForm.ExportModel(this.myModelFormat);
-               }
-
-               private void ExportStl_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.STL;
-                       curForm.ExportModel(this.myModelFormat);
-               }
-
-               private void ExportVrml_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.VRML;
-                       curForm.ExportModel(this.myModelFormat);
-               }
-
-               private void ExportImage_Click(object sender, System.EventArgs e)
-               {
-                       Form2 curForm = (Form2) this.ActiveMdiChild;
-                       if (curForm == null)
-                               return;
-                       this.myModelFormat=IE.ModelFormat.IMAGE;
-                       curForm.ExportModel(this.myModelFormat);
-               }
-
-               private void HelpAbout_Click(object sender, System.EventArgs e)
-               {
-                       AboutDialog myDlg = new AboutDialog();
-                       myDlg.ShowDialog(this);
-               }
-
-               private void ViewToolbar_Click(object sender, System.EventArgs e)
-               {
-                       
-                       if (this.ViewToolbar.Checked)
-                       {
-                               if (this.MdiChildren.Length > 0)
-                               {
-                                       this.New.Visible=false;
-                                       this.About.Visible=false;
-                               }
-                               else
-                                       this.toolBarTool.Hide();
-                               this.ViewToolbar.Checked=false;
-                       }
-                       else
-                       {
-                               if (this.MdiChildren.Length > 0)
-                               {
-                                       this.New.Visible=true;
-                                       this.About.Visible=true;
-                               } 
-                               else
-                                       this.toolBarTool.Show();
-                               this.ViewToolbar.Checked=true;
-                       }
-                       
-               }
-
-               private void ViewStatusBar_Click(object sender, System.EventArgs e)
-               {
-                       if (this.ViewStatusBar.Checked)
-                       {
-                               this.myStatusBar.Hide(); 
-                               this.ViewStatusBar.Checked=false;
-                       }
-                       else
-                       {
-                               this.myStatusBar.Show();
-                               this.ViewStatusBar.Checked=true;
-                       }
-               }
-
-               public void OnNewFile()
-               {
-                       Form2 newForm = new Form2();
-                       newForm.MdiParent=this;
-                       IE.Form1.myNbOfChildren=IE.Form1.myNbOfChildren+1;
-                       string str = System.String.Format(newForm.Text+" {0}:{1}", IE.Form1.myNbOfChildren, 1);
-                       newForm.Text=str;;
-                       newForm.Show();
-                       newForm.InitView();
-                       newForm.InitV3D();
-                       this.FileExport.Visible=true;
-                       this.FileImport.Visible=true;
-                       this.Window.Visible=true;
-                       this.wireframe.Visible=true;
-                       this.shading.Visible=true;
-                       this.color.Visible=true;
-                       this.material.Visible=true;
-                       this.transparency.Visible=true;
-                       this.delete.Visible=true;
-                       this.Cursor=System.Windows.Forms.Cursors.Default;
-                       this.toolBarView.Visible=true;
-               }
-
-               private void FileImport_Popup(object sender, System.EventArgs e)
-               {
-                       IE.Form2 curForm = (IE.Form2) this.ActiveMdiChild;
-                       if (curForm==null)
-                               return;
-                       if ( curForm.View.IsObjectSelected())
-                       {
-                               this.ExportBRep.Enabled=true;
-                               this.ExportIges.Enabled=true;
-                               this.ExportStep.Enabled=true;
-                               this.ExportVrml.Enabled=true;
-                               this.ExportStl.Enabled=true;
-                       }
-
-               }
-
-               private void menuItem1_Click(object sender, System.EventArgs e)
-               {
-                       this.Close();
-               }
-
-               private void File_Popup(object sender, System.EventArgs e)
-               {
-                       if (this.MdiChildren.Length > 0 )
-                               this.FileClose.Enabled=true;
-                       else 
-                       {
-                               this.FileClose.Enabled=false;
-                               this.FileExport.Visible=false;
-                               this.FileImport.Visible=false;
-                       }
-               }
-
-               private void menuItem4_Click(object sender, System.EventArgs e)
-               {
-                       IE.Form2 curForm = (IE.Form2) this.ActiveMdiChild;
-                       IE.Form2 newView = new Form2();
-                       newView.MdiParent=this;
-                       newView.Show();
-                       newView.InitView();
-                       newView.SetContext(curForm.View);
-                       newView.View.CreateNewView(newView.Handle);
-                       string title = curForm.Text;
-                       System.Text.StringBuilder bld= new System.Text.StringBuilder(title);
-                       char c = bld[title.Length-1];
-                       string s=c.ToString();
-                       int NbOfView = newView.View.CharToInt(s);
-                       NbOfView++;
-                       bld.Remove(title.Length-1, 1);
-                       bld.Append(NbOfView);
-                       newView.Text=bld.ToString();
-               }
-
-               private void WindowCascade_Click(object sender, System.EventArgs e)
-               {
-                       this.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade);
-               }
-
-               private void WindowTile_Click(object sender, System.EventArgs e)
-               {
-                       this.LayoutMdi(System.Windows.Forms.MdiLayout.TileVertical);
-               }
-
-               public void SelectionChanged()
-               {
-                       if (this.MdiChildren.Length == 0 )
-                               return;
-                       IE.Form2 curForm = (IE.Form2) this.ActiveMdiChild;
-                       if ( curForm == null )
-                               return;
-                       switch (curForm.View.DisplayMode())
-                               {
-                               case -1:
-                                       this.shading.Enabled=false;
-                                       this.wireframe.Enabled=false;
-                                       break;
-                               case 0:
-                                       this.wireframe.Enabled=false;
-                                       this.shading.Enabled=true;
-                                       this.transparency.Enabled=false;
-                                       break;
-                               case 1:
-                                       this.wireframe.Enabled=true;
-                                       this.shading.Enabled=false;
-                                       this.transparency.Enabled=true;
-                                       break;
-                               case 10:
-                                       this.wireframe.Enabled=true;
-                                       this.shading.Enabled=true;
-                                       this.transparency.Enabled=true;
-                                       break;
-                               default:
-                                       break;
-                               }
-                       bool IsSelected = curForm.View.IsObjectSelected();
-                       if (IsSelected)
-                       {
-                               this.color.Enabled=true;
-                               this.material.Enabled=true;
-                               this.delete.Enabled=true;
-                       }
-                       else
-                       {
-                               this.color.Enabled=false;
-                               this.material.Enabled=false;
-                               this.transparency.Enabled=false;
-                               this.delete.Enabled=false;
-                       }
-                       if (curForm.DegenerateMode)
-                       {
-                               this.HlrOff.Pushed=false;
-                               this.HlrOn.Pushed=true;
-                       } 
-                       else
-                       {
-                               this.HlrOff.Pushed=true;
-                               this.HlrOn.Pushed=false;
-                       }
-                       if (curForm.Mode == IE.CurrentAction3d.CurAction3d_WindowZooming)
-                               this.ZoomWin.Pushed=false;
-                               
-               }
-
-               public StatusBar StatusBar
-               {
-                       get
-                       {
-                               return this.myStatusBar;
-                       }
-               }
-
-               public void OnFileClose()
-               {
-                       if ( this.MdiChildren.Length <=  1)
-                       {
-                               this.FileClose.Enabled=false;
-                               this.Window.Visible=false;
-                               this.wireframe.Visible=false;
-                               this.shading.Visible=false;
-                               this.color.Visible=false;
-                               this.material.Visible=false;
-                               this.transparency.Visible=false;
-                               this.delete.Visible=false;
-                               this.toolBarView.Visible=false;
-                       }
-               }
-
-               private void toolBarView_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
-               {
-                       IE.Form2 curForm = (IE.Form2) this.ActiveMdiChild;
-                       if ( curForm == null )
-                               return;
-                       switch(toolBarView.Buttons.IndexOf(e.Button))
-                       {
-                               case 0:
-                                       curForm.View.ZoomAllView();
-                                       break;
-                               case 1:
-                                       curForm.Mode=CurrentAction3d.CurAction3d_WindowZooming;
-                                       this.ZoomWin.Pushed=true;
-                                       break;
-                               case 2:
-                                       curForm.Mode=CurrentAction3d.CurAction3d_DynamicZooming;
-                                       break;
-                               case 3:
-                                       curForm.Mode=CurrentAction3d.CurAction3d_DynamicPanning;
-                                       break;
-                               case 4:
-                                       curForm.Zoom=curForm.View.Scale();
-                                       curForm.Mode=CurrentAction3d.CurAction3d_GlobalPanning;
-                                       break;
-                               case 5:
-                                       curForm.View.FrontView();
-                                       break;
-                               case 6:
-                                       curForm.View.TopView();
-                                       break;
-                               case 7:
-                                       curForm.View.LeftView();
-                                       break;
-                               case 8:
-                                       curForm.View.BackView();
-                                       break;
-                               case 9:
-                                       curForm.View.RightView();
-                                       break;
-                               case 10:
-                                       curForm.View.BottomView();
-                                       break;
-                               case 11:
-                                       curForm.View.AxoView();
-                                       break;
-                               case 12:
-                                       curForm.Mode=CurrentAction3d.CurAction3d_DynamicRotation;
-                                       break;
-                               case 13:
-                                       curForm.View.Reset();
-                                       break;
-                               case 14:
-                                       curForm.View.SetDegenerateModeOn();
-                                       curForm.DegenerateMode=true;
-                                       this.HlrOff.Pushed=false;
-                                       this.HlrOn.Pushed=true;
-                                       break;
-                               case 15:
-                                       curForm.View.SetDegenerateModeOff();
-                                       curForm.DegenerateMode=false;
-                                       this.HlrOn.Pushed=false;
-                                       this.HlrOff.Pushed=true;
-                                       break;
-                               default:
-                                       break;
-                       }
-               }
-
-               private void Form1_Activated(object sender, System.EventArgs e)
-               {
-                       if (this.toolBarView.Visible)
-                               this.SelectionChanged();
-               }
-
-               private void toolBarView_MouseHover(object sender, System.EventArgs e)
-               {
-                       this.myStatusBar.Text="View toolbar";
-               }
-
-               private void toolBarView_MouseLeave(object sender, System.EventArgs e)
-               {
-                       this.myStatusBar.Text="";
-               }
-
-       }
-
-}
\ No newline at end of file
diff --git a/samples/CSharp/IE/Form1.resx b/samples/CSharp/IE/Form1.resx
deleted file mode 100755 (executable)
index 4a7e017..0000000
+++ /dev/null
@@ -1,660 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    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">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <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" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </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>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="mainMenu1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="mainMenu1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </data>
-  <data name="mainMenu1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="File.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="File.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="FileNew.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="FileNew.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="FileExport.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="FileExport.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ImportBRep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ImportBRep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ImportIges.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ImportIges.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ImportStep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ImportStep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="FileImport.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="FileImport.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportBRep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportBRep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportIges.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportIges.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportStep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportStep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportStl.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportStl.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportVrml.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportVrml.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportImage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ExportImage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="FileClose.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="FileClose.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="View.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="View.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ViewToolbar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ViewToolbar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ViewStatusBar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ViewStatusBar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Window.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Window.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="WindowCascade.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="WindowCascade.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="WindowTile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="WindowTile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Help.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Help.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="HelpAbout.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="HelpAbout.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="toolBarTool.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="toolBarTool.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="toolBarTool.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="New.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="New.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="About.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="About.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="wireframe.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="wireframe.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="shading.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="shading.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="color.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="color.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="material.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="material.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="transparency.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="transparency.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="delete.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="delete.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="imageList1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="imageList1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="imageList1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>141, 18</value>
-  </data>
-  <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
-        MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
-        eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
-        AAB6GAAAAk1TRnQBSQFMAgEBGAEAAR0BAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQC
-        AAEoAwABQAMAAYADAAEBAQABCAYAASAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB
-        3AHAAQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IB
-        AAM5AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8B
-        MwMAAWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYC
-        AAFmAZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMC
-        AAHMAWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQAB
-        ZgEAATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8B
-        AAEzAWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQAB
-        MwGZAWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQAB
-        MwLMAQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQAB
-        MwEAAWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMB
-        mQEAAWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQAB
-        ZgGZAWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYB
-        zAH/AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMB
-        mQEAAZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgAB
-        mQFmATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwB
-        AAKZAf8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB
-        /wEzAQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQAB
-        mQEAAcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYC
-        AAHMAWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYB
-        AAHMApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8C
-        AAHMAf8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQAB
-        mQEAAcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMB
-        AAHMAmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB
-        /wGZAcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC
-        /wEzAQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC
-        /wFmAQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gB
-        AAHwAfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8A/wD/
-        AP8A/wAPAAH7PgAD+wHsPQAB+wIAAewIAAP7NAAC7AYAAvsBAAL7DQAB7CMABOwGAAL7AQAC+w4AAewb
-        AAL7AwAC7AIAAewBAAHsBQAC+wEAAvsPAAXsAQAC7BUAA/sB7AQAAuwFAAL7AQAC+w8AAeweAAHsAvsD
-        AAPsBQAD+xAAAeweAAHsAwAB+wEAAewBAAHsGAAB7B4AAewEAAHsAgAB7BgAAewfAAHsAwAB7AMAA/sw
-        AAP7AgAC7AEAAewBAALsAwAB+xUAAewdAAPsAgAC7BsAAewcAAHsAQAD7DwAAuw/AAHsQgAB+ywAA/sQ
-        AAH7CwABAQnsAwAJ7AEBCwAC+w4AAfsBAAH7AQAB+wkAAgEHAALsAgAB7AH+BwACAQgABPsKAAoBCAAB
-        AQEAAQEGAAHsAQAB7AEAAewBAAH+BgABAQEAAQEFAAL7DgAB7AEBAwAD+wEAAgEHAAEBAgABAQX+AewC
-        /gLsAgAG/gEAAv4BAQQAAfsPAAHsAQABAQMAAfsCAAHsAQABAQUAAfsBAQIAAQEFAAHsAgAC7AIAAf4F
-        AAEBAgABAQQAAfsCAAH+DAAB7AIACgEFAAEBAfsBAAEBBQAB7AIAAuwCAAH+BQABAQIAAfsDAAP7AQAB
-        +wH+CwAB7AIAAf4FAAHsAgAB7AIAA/sBAQL7AQEFAAHsAgAC7AIAAf4FAAEBAQAB+wEBBAAB+wIAAvsF
-        /gEAAv4DAAHsAgAB/gUAAewCAAHsBQABAQH7AQABAQUAAewCAALsAgAB/gUAAQEG+wYAAf4KAAHsAgAB
-        /gUAAewCAAHsBAAB+wEBAgABAQUAAewCAALsAgAB/gUAAQEBAAH7AQEJAAH+CgAB7AIAAf4FAAHsAgAB
-        7AUAAQEC7AEBBuwCAArsAQECAAH7CQAB/goAAewCAAH+BQAB7AIAAewGAAEBAQABAQYAAewBAAHsAQAB
-        7AEAAf4GAAEBAQABAQkAAf4KAArsAgAB7AcAAgEHAALsAgAB7AH+BwACARUAAewBAAH+BgAB7AEAAewI
-        AAEBCewDAAnsAQEJAAH+DAAB7AH+BwAC7CgAAf4NAArsOQAB+xkACuwGAArsCwAD+wgAAfsJAQYAAewB
-        /gcAAuwFAAHsAf4HAALsCQAB+wEAAfsBAAH7BwABAQH7BwABAQHsBQAB7AEAAf4GAAHsAQAB7AQAAewB
-        AAH+BgAB7AEAAewKAAH7CQABAQEAAfsGAAEBAQAB7AQAAewCAAoBAwAB7AIABv4B7AL+AewHAALsAfsB
-        AAPsBQABAQIAAfsBAAH7A/4BAQL+AewDAAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB7AQAAfsB
-        AAHsAgAB+wMAAewB+wQAAQEDAAL7AwABAQIAAewDAAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB
-        7AMAAfsCAAHsBgAB7AEAAfsDAAEBAgAD+wMAAQECAAHsAwAB7AIAAQEFAAHsAgABAQMAAewCAAH+BQAB
-        7AIAAewCAAb7BAAF+wIAAQECAAH+BQABAQIAAewDAAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB
-        7AMAAfsCAAHsBgAB7AEAAfsDAAEBAgAB/gUAAQECAAHsAwAB7AIAAQEBAAT7AewCAAEBAwAB7AIAAf4F
-        AAHsAgAB7AQAAfsBAAHsAgAB+wMAAewB+wQAAQECAAH+BQABAQIAAewDAAPsAQEB7AL7A+wCAAEBAwAK
-        AQIAAewGAAPsAfsBAAPsBQAKAQIAAewEAAHsAQABAQEAAfsBAAH7AgAB7AEAAQEEAAEBAQAB/gYAAQEB
-        AAHsCQAB+woAAewBAAH+BgAB7AEAAewFAAHsAQEBAAH7AgAB+wIAAewBAQUAAQEB/gIAAfsEAAEBAewH
-        AAH7AQAB+wEAAfsJAAHsAf4HAALsBgAKAQYAAgED+wUBCAAD+wsACuwNAAH7CQAB+wEAAfsBAAH7DQAB
-        +yQAAfsKAAH7NQAB+wkAAfsIAAP7CgAD+w4AAfshAAL7DAAC+wIAAewDAAfsA/sB7BYAAfsIAAH7AewB
-        AwoAAfsBAAH7DgAB+xcAA/sJAAEDCQAB+xEAAewWAAH7AQAB+wEAAfskAAHsDwAB+wgAAfsPAAXsBQAB
-        7AYABOwCAAHsBwAF7AIAA/sHAAH7DQAB7AYAAewEAAHsBAAB7AUAAewBAAHsBQAB7AYAAewCAAH7AwAB
-        +wkAAfsIAAHsBwAB7AMAAewEAAHsBgAC7AUAAewHAAHsBAAB+wsAAfsGAALsBwAC7AIAAewDAALsBgAC
-        7AQAAuwHAAEDAewCAAX7BQAF+wUAAewJAAHsAgAB7AMAAewIAAHsBAAB7AQAA/sCAAHsAwAB+wsAAfsG
-        AAHsCQAB7AIAAewDAAHsCAAB7AQAAewCAAL7BQAB7AQAAfsEAAH7BAAB+wcAAuwHAALsAgAB7AMAAuwG
-        AALsBQAB7AcAAuwJAAH7CwAB+wEAAewHAAHsAwAB7AQAAewGAALsBQAB7AcAAewKAAH7CAAB+wEAAfsD
-        AAHsBQAB7AH7AQAB+wEAAfsFAAHsBAAB7AEAAewBAAP7AgAB7AUAAewJAAH7AQAB+wEAAfsGAAL7BQAF
-        7AIABfsE7AEABuwIAAXsCwAD+wcAA/sKAAP7AQAB+yUAAfsfAAb4CAAG+A0AAgcC7AUADQoIAAH4BvsB
-        +AYAAfgGoAH4CAACCwLvAQcD7AYAAx4BAANrAQACNwFtCAABrgFYBvsBWAGuBAABrgGZBqABmQGuBQAC
-        CwKSAU8CBwHvAuwGAAMBAQADBgEAAvsB7AgAAVgBcwb7AXMBWAQAAewBHAagARwB7AUAAW0B7QEHAU8B
-        AgJPAQcC7AFtAQsEAAMBAQADBgEAAvsB7AcAAT8B+wFYBnMBRgH7BAAB7AGZBhwBmQHsBQAB7AEHAU8B
-        7QECAe0BAgEHA+wFAAMLAQADDQEAAikBQwcAAfkBLAH7BkYB+QH7BAAB7AGgBpkBoAHsBAABbwHvAQcB
-        AgEHAXIBBwFyAQcD7AUAAwIBAAMEAQADBgMABGIC+QEsATIG+QH7BAAB7AigAewEAAHsAQcBcgECAXIB
-        BwJyAQcD7AUAA/oBAAP8AQAD/gMAB/kB+wb5AfsEAAHsCKAB7AQAAewBBwFyAQIBcgEHAgIBBwPsARQB
-        AQMAA/oBAAP8AQAD/gMABGIC+QEsATIG+QH7BAAB7AigAewEAAHsAgcDcgE1AXIBeQGSA+wEAAMtAQAD
-        hQEAA4EHAAH5ASwB+wZGAfkB+wQAAewBoAaZAaAB7AMAAUYBkgMHAk8BWAEHAVgBBwGSAuwEAAMeAQAD
-        KQEAA2EHAAE/AfsBWAZzAUYB+wQAAewBmQYcAZkB7AMAAewCBwLvAeoC7AQHAewB7QQAA/kBAAP7AQAD
-        /QgAAVgBcwb7AXMBWAQAAewBHAagARwB7AMAAewCBwLsAQAB7AHtAgcCmQHsAe8BCwMAA/kBAAP7AQAD
-        /QgAAa4BWAb7AVgBrgQAAa4BmQagAZkBrgMAAewB7wEHAuwBAAHsAgcBmQJYAm4EAAMgAQADNwEAA6UJ
-        AAH4BvsB+AYAAfgGoAH4BAACbgIHAewBDgMHAfsCbhsABvgIAAb4BwAC7AEHBew6AATsLQAG+woABuwp
-        AAFYBqcBWAgAAewG+wHsGwAC+woAAVgBhgYAAYYBWAYAAa4BWAb7AVgBrgcACf8KAAL7CgAB+wFYBgAB
-        WAH7BgAB7Aj7AewHAAn/FgAB+wGuBlEBrgH7BgAB7Aj7AewHAAn/CgAB+wsAAfsBAAauAQAB+wYAAewI
-        +wHsBwAJ/woAAfsLAAH7CAAB+wYAAewI+wHsBwAJ/woAAfsLAAH7CAAB+wYAAewI+wHsBwAJ/woAAvsK
-        AAH7CAAB+wYAAewI+wHsBwAJ/wsAAvsJAAH7AQAGrgEAAfsGAAHsAfsGWAH7AewHAAn/BwAB+wQAAvsI
-        AAH7Aa4GUQGuAfsGAAHsAVgGcwFYAewHAAb/CgAB+wUAAfsIAAH7AVgGAAFYAfsGAAHsAXMG+wFzAewH
-        AAb/AQAB/wgAAvsDAAL7CAABWAGGBgABhgFYBgABrgFYBvsBWAGuBwAG/wsABfsKAAFYBqcBWAgAAewG
-        +wHsKQAG+woABuxFAAFCAU0BPgcAAT4DAAEoAwABQAMAAYADAAEBAQABAQYAAQQWAAP//wACAAH9B/8B
-        +AF/Bv8B/QG/AccB/wHAAR8BwAEfAf8BnwGTAf8CzwHfAc8B/gEfAZMB/wLXAd8B1wE5AY8BkwH/AdgB
-        AwHfAdsBwwHPAZMB/wLbAd8B2wHxAscB+wLbAd8B2wH3AVcB/wHBAtsB3wHbAfcBtwH/AZsC2wHfAdsB
-        +wGoAf8BrwHAARsBwAEbARkBTgH/AbUC6wHvAesBwgE/Af8BuQLzAfcB8wHBAv8BEQH4AQMB+AEDAecC
-        /wG/BP8B9wf/Af4F/wHxAf8B/gH/AeABBwEAAT8B+QH/AfoBvwHnAfMBPwGfAeEB/wGAAR8B6wH1AV8B
-        rwGfAf8BnAFPAewBAAFgAQcBoAEPAa4B1wHNAfYBbwG3AacB5wGwAQMB5QH2AW8BtwEDAesBtwHbAQEB
-        9gFvAacBoAEBAbcB2wHlAfYBbwGAAu0BtwHbAc0B9gFvAacC7QG3AdsB4AEGAQABNwLtAbcB2wH1AfoB
-        rwHXAu0BgAEbAfkB/AHPAecB4AENAdcB6wH8AQAB4AEHAvUB5wHzBP8C+QHwAQME/wH8AQEB/gP/AYAB
-        HwGAAR8B/AF/AYABHwGfAc8BnwHPAfoBvwGfAc8BrwHXAa8B1wH+Af8BrwHXAbABAwGwAQMB8AGPAbQB
-        AwG3AdsBtwHbAdYB5wG5AdsBtwHbAbcB2wG3AesBsQHbAbcB2wG3AdsBAwHBAbcB2wG3AdsBtwHbAbcB
-        6wG3AdsBtAEbAbcB2wHWAecBtwHbAYABGwGAARsB8AGPAYABGwHVAWsB1wHrAf4B/wHXAesB5QGzAeYB
-        8wH6Ab8B5wHzAfABAwHwAQMB/AF/AfABAwH/Ae8B+gG/Af4E/wH3Af4G/wH7Af4B/wEfAfgB/wH9BP8B
-        PwH8AdwBAAF/Af8B/gH/AR8B+gHPAf0BPwH/AfwBfwHPAfcB5wH9AZ8B/wH6Ab8B5wH/AfMB/QHPAf0B
-        /gH/AfIBDwG5AQ0B5AEYAf4B/wH5AfcBvAH1AfMB7QHfAfcC+wG9AfkC9wG/AfsB8wH5AbkB+QHnAfMB
-        BwHBAfcB/QG7Af0B7wEbAb8B+wH3Af0BuwH9AewB+wHeAfcB8wH5AbkB+QH3AfMB/gH/AesB+wG9AfkC
-        9wH+Af8BXQHyAb4B9QEbAe8B+gG/AT4BDAIBAfwBHwH8AX8BHwH4Ab8D/wH+A/8B/gEHAfgBHwH8AQcB
-        gAEDAfwBAwHwAQ8B8AEHAYABAwH4AQEB4AEHAcABBwGAAQMB+AEBAeABBwHAAQMBgAEDAfABAQHgAQcB
-        wAEDAYABAwHwAQEB4AEHAYABAwGAAQMBAAEBAeABBwGAAQMBgAEDAQABAQHgAQcBgAEBAYABAwEAAQEB
-        4AEHAYABAQGAAQMB8AEBAeABBwEAAQEBgAEDAfABAQHgAQcBAAEBAYABAwH4AQEB4AEHAQABAQGAAQMB
-        +AEBAeABBwEAAQMBgAEDAfwBAwHwAQ8BAAEPAYABAwH+AQcB+AEfAcABPwb/AfAF/wH4AR8B+AEfAv8B
-        /gE/AfABDwHwAQ8B4AEDAfwBHwLnAeABBwHgAQMB/AEfAucB4AEHAeABAwH+AX8B4AEHAeABBwHgAQMB
-        /AE/AegBFwHgAQcB4AEDAfwBPwHvAfcB4AEHAeABAwH8AT8B7wH3AeABBwHgAQMB/AEfAe8B9wHgAQcB
-        4AEDAfIBDwHoARcB4AEHAeABAwHhAQcB4AEHAeABBwHgAQMB4QGHAucB4AEHAeABBwHgAQcC5wHgAQcB
-        4AEPAfABDwHwAQ8B8AEPAeABHwH4AR8B+AEfAfgBHwj/Cw==
-</value>
-  </data>
-  <data name="myStatusBar.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="myStatusBar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="myStatusBar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="toolBarView.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="toolBarView.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="toolBarView.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ZoomAll.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ZoomAll.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ZoomWin.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ZoomWin.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ZoomProg.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ZoomProg.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Pan.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Pan.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="PanGlo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="PanGlo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Front.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Front.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Back.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Back.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="TOP.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="TOP.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BOTTOM.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BOTTOM.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="LEFT.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="LEFT.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="RIGHT.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="RIGHT.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Axo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Axo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Rot.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Rot.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Reset.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="Reset.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="HlrOn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="HlrOn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="HlrOff.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="HlrOff.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="toolBarButton1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="toolBarButton1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.Name">
-    <value>Form1</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
-        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
-        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
-        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
-        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
-        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
-        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
-        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
-        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
-        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
-        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
-        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
-        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
-        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
-        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
-        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
-        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
-        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
-        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
-        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
-        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
-        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
-        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
-        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
-        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
-        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
-        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
-        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
-        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
-        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
-        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
-        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/samples/CSharp/IE/Form2.cs b/samples/CSharp/IE/Form2.cs
deleted file mode 100755 (executable)
index 2019e8c..0000000
+++ /dev/null
@@ -1,942 +0,0 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-
-
-namespace IE
-{
-       public enum CurrentAction3d 
-       { 
-               CurAction3d_Nothing,
-               CurAction3d_DynamicZooming,
-               CurAction3d_WindowZooming,
-               CurAction3d_DynamicPanning,
-               CurAction3d_GlobalPanning,
-               CurAction3d_DynamicRotation
-       }
-       public enum CurrentPressedKey
-       {
-               CurPressedKey_Nothing,
-               CurPressedKey_Ctrl,
-               CurPressedKey_Shift
-       }
-       public enum ModelFormat
-       {
-               BREP,
-               CSFDB,
-               STEP,
-               IGES,
-               VRML,
-               STL,
-               IMAGE
-       }
-       /// <summary>
-       /// Summary description for Form2.
-       /// </summary>
-       public class Form2 : System.Windows.Forms.Form
-       {
-               private System.ComponentModel.IContainer components;
-
-               public Form2()
-               {
-                       //
-                       // Required for Windows Form Designer support
-                       //
-                       InitializeComponent();
-
-                       //
-                       // TODO: Add any constructor code after InitializeComponent call
-                       //
-                       myView = new shell();
-                       myCurrentMode=CurrentAction3d.CurAction3d_Nothing;
-                       myCurrentPressedKey=CurrentPressedKey.CurPressedKey_Nothing;
-                       myDegenerateModeIsOn=true;
-                       IsRectVisible=false;
-               }
-
-               /// <summary>
-               /// Clean up any resources being used.
-               /// </summary>
-               protected override void Dispose( bool disposing )
-               {
-                       if( disposing )
-                       {
-                               if(components != null)
-                               {
-                                       components.Dispose();
-                               }
-                       }
-                       base.Dispose( disposing );
-               }
-
-               #region Windows Form Designer generated code
-               /// <summary>
-               /// Required method for Designer support - do not modify
-               /// the contents of this method with the code editor.
-               /// </summary>
-               private void InitializeComponent()
-               {
-                       this.components = new System.ComponentModel.Container();
-                       System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form2));
-                       this.imageList1 = new System.Windows.Forms.ImageList(this.components);
-                       this.myPopup = new System.Windows.Forms.ContextMenu();
-                       this.menuItem1 = new System.Windows.Forms.MenuItem();
-                       this.myPopupObject = new System.Windows.Forms.ContextMenu();
-                       this.ContextWireframe = new System.Windows.Forms.MenuItem();
-                       this.ContextShading = new System.Windows.Forms.MenuItem();
-                       this.ContextColor = new System.Windows.Forms.MenuItem();
-                       this.ContextMaterial = new System.Windows.Forms.MenuItem();
-                       this.ContMatBrass = new System.Windows.Forms.MenuItem();
-                       this.ContMenBronze = new System.Windows.Forms.MenuItem();
-                       this.ContMenCopper = new System.Windows.Forms.MenuItem();
-                       this.ContMenGold = new System.Windows.Forms.MenuItem();
-                       this.ContMenPewt = new System.Windows.Forms.MenuItem();
-                       this.ContMenPlaster = new System.Windows.Forms.MenuItem();
-                       this.ContMenPlastic = new System.Windows.Forms.MenuItem();
-                       this.ContMenSilver = new System.Windows.Forms.MenuItem();
-                       this.ContMenTranc = new System.Windows.Forms.MenuItem();
-                       this.ContMenDelete = new System.Windows.Forms.MenuItem();
-                       // 
-                       // imageList1
-                       // 
-                       this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
-                       this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
-                       this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
-                       // 
-                       // myPopup
-                       // 
-                       this.myPopup.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                       this.menuItem1});
-                       // 
-                       // menuItem1
-                       // 
-                       this.menuItem1.Index = 0;
-                       this.menuItem1.Text = "Change &Background";
-                       this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
-                       // 
-                       // myPopupObject
-                       // 
-                       this.myPopupObject.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                                 this.ContextWireframe,
-                                                                                                                                                                                 this.ContextShading,
-                                                                                                                                                                                 this.ContextColor,
-                                                                                                                                                                                 this.ContextMaterial,
-                                                                                                                                                                                 this.ContMenTranc,
-                                                                                                                                                                                 this.ContMenDelete});
-                       this.myPopupObject.Popup += new System.EventHandler(this.myPopupObject_Popup);
-                       // 
-                       // ContextWireframe
-                       // 
-                       this.ContextWireframe.Index = 0;
-                       this.ContextWireframe.Text = "Wireframe";
-                       this.ContextWireframe.Click += new System.EventHandler(this.ContextWireframe_Click);
-                       // 
-                       // ContextShading
-                       // 
-                       this.ContextShading.Index = 1;
-                       this.ContextShading.Text = "Shading";
-                       this.ContextShading.Click += new System.EventHandler(this.ContextShading_Click);
-                       // 
-                       // ContextColor
-                       // 
-                       this.ContextColor.Index = 2;
-                       this.ContextColor.Text = "Color";
-                       this.ContextColor.Click += new System.EventHandler(this.ContextColor_Click);
-                       // 
-                       // ContextMaterial
-                       // 
-                       this.ContextMaterial.Index = 3;
-                       this.ContextMaterial.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-                                                                                                                                                                                       this.ContMatBrass,
-                                                                                                                                                                                       this.ContMenBronze,
-                                                                                                                                                                                       this.ContMenCopper,
-                                                                                                                                                                                       this.ContMenGold,
-                                                                                                                                                                                       this.ContMenPewt,
-                                                                                                                                                                                       this.ContMenPlaster,
-                                                                                                                                                                                       this.ContMenPlastic,
-                                                                                                                                                                                       this.ContMenSilver});
-                       this.ContextMaterial.Text = "Material";
-                       // 
-                       // ContMatBrass
-                       // 
-                       this.ContMatBrass.Index = 0;
-                       this.ContMatBrass.Text = "&Brass";
-                       this.ContMatBrass.Click += new System.EventHandler(this.ContMatBrass_Click);
-                       // 
-                       // ContMenBronze
-                       // 
-                       this.ContMenBronze.Index = 1;
-                       this.ContMenBronze.Text = "&Bronze";
-                       this.ContMenBronze.Click += new System.EventHandler(this.ContMenBronze_Click);
-                       // 
-                       // ContMenCopper
-                       // 
-                       this.ContMenCopper.Index = 2;
-                       this.ContMenCopper.Text = "&Copper";
-                       this.ContMenCopper.Click += new System.EventHandler(this.ContMenCopper_Click);
-                       // 
-                       // ContMenGold
-                       // 
-                       this.ContMenGold.Index = 3;
-                       this.ContMenGold.Text = "&Gold";
-                       this.ContMenGold.Click += new System.EventHandler(this.ContMenGold_Click);
-                       // 
-                       // ContMenPewt
-                       // 
-                       this.ContMenPewt.Index = 4;
-                       this.ContMenPewt.Text = "&Pewter";
-                       this.ContMenPewt.Click += new System.EventHandler(this.ContMenPewt_Click);
-                       // 
-                       // ContMenPlaster
-                       // 
-                       this.ContMenPlaster.Index = 5;
-                       this.ContMenPlaster.Text = "&Plaster";
-                       this.ContMenPlaster.Click += new System.EventHandler(this.ContMenPlaster_Click);
-                       // 
-                       // ContMenPlastic
-                       // 
-                       this.ContMenPlastic.Index = 6;
-                       this.ContMenPlastic.Text = "&Plastic";
-                       this.ContMenPlastic.Click += new System.EventHandler(this.ContMenPlastic_Click);
-                       // 
-                       // ContMenSilver
-                       // 
-                       this.ContMenSilver.Index = 7;
-                       this.ContMenSilver.Text = "&Silver";
-                       this.ContMenSilver.Click += new System.EventHandler(this.ContMenSilver_Click);
-                       // 
-                       // ContMenTranc
-                       // 
-                       this.ContMenTranc.Index = 4;
-                       this.ContMenTranc.Text = "&Trancparency";
-                       this.ContMenTranc.Click += new System.EventHandler(this.ContMenTranc_Click);
-                       // 
-                       // ContMenDelete
-                       // 
-                       this.ContMenDelete.Index = 5;
-                       this.ContMenDelete.Text = "&Delete";
-                       this.ContMenDelete.Click += new System.EventHandler(this.ContMenDelete_Click);
-                       // 
-                       // Form2
-                       // 
-                       this.AccessibleRole = System.Windows.Forms.AccessibleRole.Window;
-                       this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-                       this.ClientSize = new System.Drawing.Size(320, 261);
-                       this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-                       this.ImeMode = System.Windows.Forms.ImeMode.NoControl;
-                       this.Name = "Form2";
-                       this.Text = "Document";
-                       this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
-                       this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form2_KeyDown);
-                       this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form2_MouseDown);
-                       this.SizeChanged += new System.EventHandler(this.Form2_SizeChanged);
-                       this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form2_MouseUp);
-                       this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.Form2_KeyUp);
-                       this.Closed += new System.EventHandler(this.Form2_Closed);
-                       this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form2_Paint);
-                       this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form2_MouseMove);
-
-               }
-               #endregion
-
-               private System.Windows.Forms.ImageList imageList1;
-               private System.Windows.Forms.ContextMenu myPopup;
-               private System.Windows.Forms.ContextMenu myPopupObject;
-               private System.Windows.Forms.MenuItem ContextWireframe;
-               private System.Windows.Forms.MenuItem ContextShading;
-               private System.Windows.Forms.MenuItem ContextColor;
-               private System.Windows.Forms.MenuItem ContextMaterial;
-               private System.Windows.Forms.MenuItem ContMatBrass;
-               private System.Windows.Forms.MenuItem ContMenBronze;
-               private System.Windows.Forms.MenuItem ContMenCopper;
-               private System.Windows.Forms.MenuItem ContMenGold;
-               private System.Windows.Forms.MenuItem ContMenPewt;
-               private System.Windows.Forms.MenuItem ContMenPlaster;
-               private System.Windows.Forms.MenuItem ContMenPlastic;
-               private System.Windows.Forms.MenuItem ContMenSilver;
-               private System.Windows.Forms.MenuItem ContMenTranc;
-               private System.Windows.Forms.MenuItem ContMenDelete;
-               private System.Windows.Forms.MenuItem menuItem1;
-
-               private shell myView;
-
-               public void InitV3D()
-               {
-
-                       if( !myView.InitViewer(this.Handle) )
-                               MessageBox.Show("Fatal Error during the graphic initialisation", "Error!", 
-                                       MessageBoxButtons.OK, MessageBoxIcon.Error);
-               }
-
-               public bool ImportBRep(System.String filename)
-               {
-                       return myView.ImportBrep(filename);
-               }
-
-               private void Form2_SizeChanged(object sender, System.EventArgs e)
-               {
-                       myView.UpdateView();
-               }
-
-               private void Form2_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
-               {
-                       myView.RedrawView();
-                       myView.UpdateView();
-               }
-
-               protected CurrentAction3d myCurrentMode;
-               protected CurrentPressedKey myCurrentPressedKey;
-               protected float myCurZoom;// ~ Quantity_Factor
-               protected bool myDegenerateModeIsOn;
-               protected int myXmin;
-               protected int myYmin;
-               protected int myXmax;
-               protected int myYmax;
-               protected int theButtonDownX;
-               protected int theButtonDownY;
-               // for erasing of rectangle
-               protected int theRectDownX;
-               protected int theRectDownY;
-               protected bool IsRectVisible;
-
-               private void Form2_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
-               {
-                       switch (e.Button) 
-                       {
-                               case MouseButtons.Left:
-                                       myXmin=e.X;     myYmin=e.Y;
-                                       myXmax=e.X;     myYmax=e.Y;
-                                       if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Ctrl)
-                                               // start the dinamic zooming....
-                                               myCurrentMode=CurrentAction3d.CurAction3d_DynamicZooming;
-                                       else
-                                       {
-                                               switch(myCurrentMode)
-                                               {
-                                                       case CurrentAction3d.CurAction3d_Nothing:
-                                                               if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Shift)
-                                                                       MultiDragEvent(myXmax, myYmax, -1);
-                                                               else
-                                                                       DragEvent(myXmax, myYmax, -1);
-                                                               break;
-                                                       case CurrentAction3d.CurAction3d_DynamicRotation:
-                                                               if (!myDegenerateModeIsOn)
-                                                                       myView.SetDegenerateModeOn();
-                                                               //start the rotation
-                                                               myView.StartRotation(e.X, e.Y);
-                                                               break;
-                                                       case IE.CurrentAction3d.CurAction3d_WindowZooming:
-                                                               this.Cursor=System.Windows.Forms.Cursors.Hand;
-                                                               break;
-                                                       default:
-                                                               break;
-                                               }
-                                       }
-                                       break;
-                               case MouseButtons.Right:
-                                       //MessageBox.Show("right mouse button is down");
-                                       if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Ctrl)
-                                       {
-                                               if (!myDegenerateModeIsOn)
-                                                       myView.SetDegenerateModeOn();
-                                               myView.StartRotation(e.X, e.Y);
-                                       } 
-                                       else
-                                               Popup(e.X, e.Y);
-                                       break;
-                               default:
-                                       break;
-                       }
-
-               }
-
-               private void Form2_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
-               {
-                       if (e.Shift)
-                               myCurrentPressedKey=CurrentPressedKey.CurPressedKey_Shift;
-                       else if (e.Control)
-                               myCurrentPressedKey=CurrentPressedKey.CurPressedKey_Ctrl;
-               }
-
-               private void Form2_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
-               {
-                       myCurrentPressedKey=CurrentPressedKey.CurPressedKey_Nothing;
-               }
-
-               protected void MultiDragEvent(int x, int y, int theState)
-               {
-                       if ( theState==-1) 
-                       {
-                               theButtonDownX=x;
-                               theButtonDownY=y;
-                       } 
-                       else if (theState==1)
-                               myView.ShiftSelect(Math.Min(theButtonDownX,x), Math.Min(theButtonDownY,y),
-                                       Math.Max(theButtonDownX, x), Math.Max(theButtonDownY, y));
-               }
-
-               protected void DragEvent(int x, int y, int theState)
-               {
-                       if (theState==-1) //mouse is down
-                       {
-                               theButtonDownX=x;
-                               theButtonDownY=y;
-                       } 
-                       else if (theState==1) //mouse is up
-                       {
-                               myView.Select(Math.Min(theButtonDownX, x), Math.Min(theButtonDownY,y),
-                                       Math.Max(theButtonDownX, x), Math.Max(theButtonDownY,y));
-                       }
-               }
-
-               protected void Popup(int x, int y)
-               {
-                       System.Drawing.Point p = new Point(x,y);
-                       if (this.myView.IsObjectSelected())
-                               this.myPopupObject.Show(this, p);
-                       else
-                               this.myPopup.Show(this, p);
-               }
-
-               private void Form2_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
-               {
-                       switch(e.Button)
-                       {
-                               case MouseButtons.Left:
-                                       if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Ctrl)
-                                               return;
-                               switch(myCurrentMode)
-                               {
-                                       case CurrentAction3d.CurAction3d_Nothing:
-                                               if( e.X==myXmin && e.Y==myYmin)
-                                               {
-                                                       myXmax=e.X; myYmax=e.Y;
-                                                       if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Shift)
-                                                               MultiInputEvent(myXmax, myYmax);
-                                                       else
-                                                               InputEvent(myXmax, myYmax);
-                                               } 
-                                               else 
-                                               {
-                                                       myXmax=e.X; myYmax=e.Y;
-                                                       DrawRectangle(false);
-                                                       if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Shift)
-                                                               MultiDragEvent(myXmax, myYmax, 1);
-                                                       else
-                                                               DragEvent(myXmax, myYmax, 1);
-                                               }
-                                               break;
-                                       case CurrentAction3d.CurAction3d_DynamicZooming:
-                                               myCurrentMode=CurrentAction3d.CurAction3d_Nothing;
-                                               break;
-                                       case CurrentAction3d.CurAction3d_WindowZooming:
-                                               myXmax=e.X; myYmax=e.Y;
-                                               DrawRectangle(false);
-                                               int ValZWMin = 1;
-                                               if (Math.Abs(myXmax-myXmin)>ValZWMin && Math.Abs(myXmax-myYmax)>ValZWMin)
-                                                       myView.WindowFitAll(myXmin, myYmin, myXmax, myYmax);
-                                               this.Cursor=System.Windows.Forms.Cursors.Default;
-                                               IE.Form1 f = (IE.Form1)this.ParentForm;
-                                               f.SelectionChanged();
-                                               myCurrentMode=CurrentAction3d.CurAction3d_Nothing;
-                                               break;
-                                       case CurrentAction3d.CurAction3d_DynamicPanning:
-                                               myCurrentMode=CurrentAction3d.CurAction3d_Nothing;
-                                               break;
-                                       case CurrentAction3d.CurAction3d_GlobalPanning:
-                                               myView.Place(e.X, e.Y, myCurZoom);
-                                               myCurrentMode=CurrentAction3d.CurAction3d_Nothing;
-                                               break;
-                                       case CurrentAction3d.CurAction3d_DynamicRotation:
-                                               myCurrentMode=CurrentAction3d.CurAction3d_Nothing;
-                                               if (!myDegenerateModeIsOn) 
-                                               {
-                                                       myView.SetDegenerateModeOff();
-                                                       myDegenerateModeIsOn=false;
-                                               } 
-                                               else 
-                                               {
-                                                       myView.SetDegenerateModeOn();
-                                                       myDegenerateModeIsOn=true;
-                                               }
-                                               break;
-                                       default:
-                                               break;
-
-                               }
-                                       break;
-                               case MouseButtons.Right:
-                                       if (!myDegenerateModeIsOn) 
-                                       {
-                                               myView.SetDegenerateModeOff();
-                                               myDegenerateModeIsOn=false;
-                                       } 
-                                       else 
-                                       {
-                                               myView.SetDegenerateModeOn();
-                                               myDegenerateModeIsOn=true;
-                                       }
-                                       break;
-                               default:
-                                       break;
-                       }
-                       
-                       IE.Form1 parent = (IE.Form1)this.ParentForm;
-                       parent.SelectionChanged();
-               }
-
-               protected void MultiInputEvent(int x, int y)
-               {
-                       myView.ShiftSelect();
-               }
-
-               protected void InputEvent(int x, int y)
-               {
-                       myView.Select();
-               }
-
-               private void DrawRectangle(bool draw)
-               {
-                       Graphics gr = Graphics.FromHwnd(this.Handle);
-                       System.Drawing.Pen p = null;
-                       if (this.IsRectVisible ||(!draw))//erase the rect
-                       {
-                               int r=myView.GetBGColR();
-                               int g=myView.GetBGColG();
-                               int b=myView.GetBGColB();
-                               p = new Pen(System.Drawing.Color.FromArgb( r,g, b));
-                               this.IsRectVisible=false;
-                               this.myView.UpdateView();
-                       } 
-                       else if (draw) 
-                       {
-                               p = new Pen(System.Drawing.Color.White);
-                               this.IsRectVisible=true;
-                       }
-                       if ( p == null )
-                               return;
-                       int x=Math.Min(this.myXmin, this.myXmax);
-                       int y=Math.Min(this.myYmin, this.myYmax);
-                       gr.DrawRectangle(p, x, y, Math.Abs(myXmax-myXmin), Math.Abs(myYmax - myYmin));
-                       this.theRectDownX=Math.Max(this.myXmin, this.myXmax);
-                       this.theRectDownY=Math.Max(this.myYmin, this.myYmax);
-               }
-
-               private void Form2_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
-               {
-                       if (e.Button == MouseButtons.Left) //left button is pressed
-                       {
-                               if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Ctrl)
-                               {
-                                       myView.Zoom(myXmax, myYmax, e.X, e.Y);
-                                       myXmax=e.X; myYmax=e.Y;
-                               }
-                               else 
-                               {
-                                       switch (myCurrentMode)
-                                       {
-                                               case CurrentAction3d.CurAction3d_Nothing:
-                                                       DrawRectangle(false);
-                                                       myXmax=e.X; myYmax=e.Y;
-                                                       DrawRectangle(true);
-                                                       break;
-                                               case CurrentAction3d.CurAction3d_DynamicZooming:
-                                                       myView.Zoom(myXmax, myYmax, e.X, e.Y);
-                                                       myXmax=e.X; myYmax=e.Y;
-                                                       break;
-                                               case CurrentAction3d.CurAction3d_WindowZooming:
-                                                       DrawRectangle(false);
-                                                       myXmax=e.X; myYmax=e.Y;
-                                                       DrawRectangle(true);//add brush here
-                                                       break;
-                                               case CurrentAction3d.CurAction3d_DynamicPanning:
-                                                       myView.Pan(e.X-myXmax, myYmax - e.Y);
-                                                       myXmax=e.X; myYmax=e.Y;
-                                                       break;
-                                               case CurrentAction3d.CurAction3d_GlobalPanning:
-                                                       break;
-                                               case CurrentAction3d.CurAction3d_DynamicRotation:
-                                                       myView.Rotation(e.X, e.Y);
-                                                       myView.RedrawView();
-                                                       break;
-                                               default:
-                                                       break;
-                                       }
-                               }
-                       } // e.Button == MouseButtons.Left
-                       else if (e.Button==MouseButtons.Middle)
-                       {
-                               if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Ctrl)
-                               {
-                                       myView.Pan(e.X-myXmax, myYmax - e.Y);
-                                       myXmax=e.X; myYmax=e.Y;
-                               }
-                       }//e.Button=MouseButtons.Middle
-                       else if (e.Button==MouseButtons.Right) //right button is pressed
-                       {
-                               if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl)
-                                       myView.Rotation(e.X, e.Y);
-                       }
-                       else // no buttons are pressed
-                       {
-                               myXmax=e.X; myYmax=e.Y;
-                               if (myCurrentPressedKey==CurrentPressedKey.CurPressedKey_Shift)
-                                       MultiMoveEvent(e.X, e.Y);
-                               else
-                                       MoveEvent(e.X, e.Y);
-                       }
-                       
-                                                                       
-               }
-
-               protected void MultiMoveEvent(int x, int y)
-               {
-                       myView.MoveTo(x, y);
-               }
-
-               protected void MoveEvent(int x, int y)
-               {
-                       myView.MoveTo(x, y);
-               }
-
-               public void SetDisplayMode(int aMode)
-               {
-                       myView.SetDisplayMode(aMode);
-               }
-
-               public void ChangeColor(bool IsObjectColor)
-               {
-                       int r, g, b;
-                       if (IsObjectColor) 
-                       {
-                               r=myView.GetObjColR();
-                               g=myView.GetObjColG();
-                               b=myView.GetObjColB();
-                       }
-                       else 
-                       {
-                               r=myView.GetBGColR();
-                               g=myView.GetBGColG();
-                               b=myView.GetBGColB();
-                       }
-                       System.Windows.Forms.ColorDialog ColDlg = new ColorDialog();
-                       ColDlg.Color=System.Drawing.Color.FromArgb(r, g, b);
-                       if (ColDlg.ShowDialog() == DialogResult.OK)
-                       {
-                               Color c = ColDlg.Color;
-                               r=c.R;
-                               g=c.G;
-                               b=c.B;
-                               if (IsObjectColor)
-                                       myView.SetColor(r, g, b);
-                               else
-                                       myView.SetBackgroundColor(r, g, b);
-                       }
-                       this.myView.UpdateCurrentViewer();
-
-               }
-
-               public void DeleteObjects()
-               {
-                       myView.EraseObjects();
-               }
-               public void ImportModel(IE.ModelFormat format)
-               {
-                       int theformat=10;
-                       System.Windows.Forms.OpenFileDialog openDialog = new OpenFileDialog();
-   
-                       string DataDir=((Environment.GetEnvironmentVariable("CASROOT")) + "\\..\\data");                                                                        
-
-                       string filter="";
-
-                       switch (format)
-                       {
-                               case ModelFormat.BREP:
-                                       openDialog.InitialDirectory = (DataDir + "\\occ");
-                                       theformat=0;
-                                       filter= "BREP Files (*.brep *.rle)|*.brep; *.rle";
-                                       break;
-                               case ModelFormat.CSFDB:
-                                       theformat=1;
-                                       filter= "CSFDB Files (*.csfdb)|*.csfdb";
-                                       break;
-                               case IE.ModelFormat.STEP:
-                                       openDialog.InitialDirectory = (DataDir + "\\step");
-                                       theformat=2;
-                                       filter="STEP Files (*.stp *.step)|*.stp; *.step";
-                                       break;
-                               case IE.ModelFormat.IGES:
-                                       openDialog.InitialDirectory = (DataDir + "\\iges");
-                                       theformat=3;
-                                       filter="IGES Files (*.igs *.iges)|*.igs; *.iges";
-                                       break;
-                               default:
-                                       break;
-                       }
-                       openDialog.Filter = filter+"|All files (*.*)|*.*" ;
-                       if(openDialog.ShowDialog() == DialogResult.OK)
-                       {
-                               string filename = openDialog.FileName;
-                               if ( filename=="")
-                                       return;
-                               this.Cursor=System.Windows.Forms.Cursors.WaitCursor;
-                               if (!myView.TranslateModel(filename, theformat, true))
-                               MessageBox.Show("Cann't read this file", "Error!", 
-                                       MessageBoxButtons.OK, MessageBoxIcon.Warning);
-                               this.Cursor=System.Windows.Forms.Cursors.Default;
-                       }
-                       this.myView.ZoomAllView();
-               }
-
-               public void ExportModel(ModelFormat format)
-               {
-                       int theformat=10;
-                       System.Windows.Forms.SaveFileDialog  saveDialog = new SaveFileDialog();
-                       string DataDir=((Environment.GetEnvironmentVariable("CASROOT")) + "\\..\\data");        
-                       string filter="";
-                       switch (format)
-                       {
-                               case IE.ModelFormat.BREP:
-                                       saveDialog.InitialDirectory = (DataDir + "\\occ");
-                                       theformat=0;
-                                       filter= "BREP Files (*.brep *.rle)|*.brep; *.rle";
-                                       break;
-                               case IE.ModelFormat.CSFDB:
-                                       theformat=1;
-                                       filter= "CSFDB Files (*.csfdb)|*.csfdb";
-                                       break;
-                               case IE.ModelFormat.STEP:
-                                       saveDialog.InitialDirectory = (DataDir + "\\step");
-                                       theformat=2;
-                                       filter="STEP Files (*.stp *.step)|*.step; *.stp";
-                                       break;
-                               case IE.ModelFormat.IGES:
-                                       saveDialog.InitialDirectory = (DataDir + "\\iges");
-                                       theformat=3;
-                                       filter="IGES Files (*.igs *.iges)| *.iges; *.igs";
-                                       break;
-                               case IE.ModelFormat.VRML:
-                                       saveDialog.InitialDirectory = (DataDir + "\\vrml");
-                                       theformat=4;
-                                       filter="VRML Files (*.vrml)|*.vrml";
-                                       break;
-                               case IE.ModelFormat.STL:
-                                       saveDialog.InitialDirectory = (DataDir + "\\stl");
-                                       theformat=5;
-                                       filter="STL Files (*.stl)|*.stl";
-                                       break;
-                               case IE.ModelFormat.IMAGE:
-                                       saveDialog.InitialDirectory = (DataDir + "\\images");
-                                       theformat=6;
-                                       filter="Images Files (*.bmp *.gif *.xwd)| *.bmp; *.gif; *.xwd";
-                                       break;
-                               default:
-                                       break;
-                       }
-                       saveDialog.Filter = filter;
-                       if(saveDialog.ShowDialog() == DialogResult.OK)
-                       {
-                               string filename = saveDialog.FileName;
-                               if ( filename=="")
-                                       return;
-                               this.Cursor=System.Windows.Forms.Cursors.WaitCursor;
-                               if (!myView.TranslateModel(filename, theformat, false))
-                                       MessageBox.Show("Cann't write this file", "Error!", 
-                                               MessageBoxButtons.OK, MessageBoxIcon.Warning);
-                               this.Cursor=System.Windows.Forms.Cursors.Default;
-                       }
-               }
-
-               private void ContextColor_Click(object sender, System.EventArgs e)
-               {
-                       this.ChangeColor(true);
-               }
-
-               private void menuItem1_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.ChangeColor(false);
-               }
-
-               private void ContextWireframe_Click(object sender, System.EventArgs e)
-               {
-                       this.SetDisplayMode(0);
-                       this.myView.UpdateCurrentViewer();
-                       IE.Form1 parent=(IE.Form1)this.ParentForm;
-                       parent.SelectionChanged();
-               }
-
-               private void ContextShading_Click(object sender, System.EventArgs e)
-               {
-                       this.SetDisplayMode(1);
-                       this.myView.UpdateCurrentViewer();
-                       IE.Form1 parent=(IE.Form1)this.ParentForm;
-                       parent.SelectionChanged();
-               }
-
-               private void ContMenTranc_Click(object sender, System.EventArgs e)
-               {
-                       IE.TransparencyDialog dlg = new TransparencyDialog();
-                       dlg.View=this.myView;
-                       dlg.ShowDialog(this);
-               }
-
-               private void ContMenDelete_Click(object sender, System.EventArgs e)
-               {
-                       this.DeleteObjects();
-               }
-
-               private void ContMatBrass_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.myView.SetMaterial(0);
-               }
-
-               private void ContMenBronze_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.myView.SetMaterial(1);
-               }
-
-               private void ContMenCopper_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.myView.SetMaterial(2);
-               }
-
-               private void ContMenGold_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.myView.SetMaterial(3);
-               }
-
-               private void ContMenPewt_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.myView.SetMaterial(4);
-               }
-
-               private void ContMenPlaster_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.myView.SetMaterial(5);
-               }
-
-               private void ContMenPlastic_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.myView.SetMaterial(6);
-               }
-
-               private void ContMenSilver_Click(object sender, System.EventArgs e)
-               {
-                       this.myView.UpdateCurrentViewer();
-                       this.myView.SetMaterial(7);
-               }
-
-               private void toolBar1_MouseHover(object sender, System.EventArgs e)
-               {
-                       IE.Form1 parent=(IE.Form1)this.ParentForm;
-                       parent.StatusBar.Text="View toolbar";
-
-               }
-
-               private void toolBar1_MouseLeave(object sender, System.EventArgs e)
-               {
-                       IE.Form1 parent=(IE.Form1)this.ParentForm;
-                       parent.StatusBar.Text="";
-               }
-
-               private void myPopupObject_Popup(object sender, System.EventArgs e)
-               {
-                       int mode=this.myView.DisplayMode();
-                       switch (mode)
-                       {
-                               case -1:
-                                        break;
-                               case 0:
-                                       this.ContextWireframe.Enabled=false;
-                                       this.ContextShading.Enabled=true;
-                                       this.ContMenTranc.Enabled=false;
-                                       break;
-                               case 1:
-                                       this.ContextShading.Enabled=false;
-                                       this.ContextWireframe.Enabled=true;
-                                       this.ContMenTranc.Enabled=true;
-                                       break;
-                               case 10:
-                                       this.ContextShading.Enabled=true;;
-                                       this.ContextWireframe.Enabled=true;
-                                       this.ContMenTranc.Enabled=true;
-                                       break;
-                               default:
-                                       break;
-
-                       }
-               }
-
-               public shell View
-               {
-                       get
-                       {
-                               return this.myView;
-                       }
-                       set
-                       {
-                               this.myView=value;
-                       }
-               }
-
-               public void InitView()
-               {
-                       this.myView.InitOCCViewer();
-               }
-
-               public void SetContext(shell View)
-               {
-                       this.myView.SetAISContext(View);
-               }
-
-               private void Form2_Closed(object sender, System.EventArgs e)
-               {
-                       IE.Form1 parent = (IE.Form1) this.ParentForm;
-                       parent.OnFileClose();
-               }
-
-               public CurrentAction3d Mode
-               {
-                       get
-                       {
-                               return this.myCurrentMode;
-                       }
-                       set
-                       {
-                               this.myCurrentMode=value;
-                       }
-               }
-
-               public float Zoom
-               {
-                       set
-                       {
-                               this.myCurZoom=value;
-                       }
-               }
-
-               public bool DegenerateMode
-               {
-                       get
-                       {
-                               return this.myDegenerateModeIsOn;
-                       }
-                       set
-                       {
-                               this.myDegenerateModeIsOn=value;
-                       }
-               }
-
-       }
-
-}
\ No newline at end of file
diff --git a/samples/CSharp/IE/Form2.resx b/samples/CSharp/IE/Form2.resx
deleted file mode 100755 (executable)
index f93955c..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    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">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <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" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </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>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="imageList1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="imageList1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="imageList1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </data>
-  <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
-        MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
-        eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
-        AADoEgAAAk1TRnQBSQFMAgEBEAEAARMBAAEEAQABEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQC
-        AAEoAwABQAMAAVADAAEBAQABCAYAARQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB
-        3AHAAQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IB
-        AAM5AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8B
-        MwMAAWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYC
-        AAFmAZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMC
-        AAHMAWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQAB
-        ZgEAATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8B
-        AAEzAWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQAB
-        MwGZAWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQAB
-        MwLMAQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQAB
-        MwEAAWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMB
-        mQEAAWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQAB
-        ZgGZAWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYB
-        zAH/AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMB
-        mQEAAZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgAB
-        mQFmATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwB
-        AAKZAf8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB
-        /wEzAQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQAB
-        mQEAAcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYC
-        AAHMAWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYB
-        AAHMApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8C
-        AAHMAf8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQAB
-        mQEAAcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMB
-        AAHMAmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB
-        /wGZAcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC
-        /wEzAQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC
-        /wFmAQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gB
-        AAHwAfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8ACwAB
-        +z4AA/sB7D0AAfsCAAHsCAAD+zQAAuwGAAL7AQAC+w0AAewjAATsBgAC+wEAAvsOAAHsGwAC+wMAAuwC
-        AAHsAQAB7AUAAvsBAAL7DwAF7AEAAuwVAAP7AewEAALsBQAC+wEAAvsPAAHsHgAB7AL7AwAD7AUAA/sQ
-        AAHsHgAB7AMAAfsBAAHsAQAB7BgAAeweAAHsBAAB7AIAAewYAAHsHwAB7AMAAewDAAP7MAAD+wIAAuwB
-        AAHsAQAC7AMAAfsVAAHsHQAD7AIAAuwbAAHsHAAB7AEAA+w8AALsPwAB7EIAAfs/AAH7CwABAQnsAwAJ
-        7AEBCgAC7AGGDgAB+wEAAfsBAAH7CQACAQcAAuwCAAHsAf4HAAIBCQABhgH7AewCAAEKAQQGAAoBCAAB
-        AQEAAQEGAAHsAQAB7AEAAewBAAH+BgABAQEAAQEGAAHsA/sB7AEKAQABhQEAAYUFAAHsAQEDAAP7AQAC
-        AQcAAQECAAEBBf4B7AL+AuwCAAb+AQAC/gEBBAABhgFYAa4BhQEEAQoBhQEAAYUCXwGFBAAB7AEAAQED
-        AAH7AgAB7AEAAQEFAAH7AQECAAEBBQAB7AIAAuwCAAH+BQABAQIAAQEEAAGGAewBrgEAAYoDAAGFAV8B
-        AAEGAQQDAAHsAgAKAQUAAQEB+wEAAQEFAAHsAgAC7AIAAf4FAAEBAgAB+wQAAYYB7AIAAX0BrAIAAYUB
-        awHZAccBCgMAAewCAAH+BQAB7AIAAewCAAP7AQEC+wEBBQAB7AIAAuwCAAH+BQABAQEAAfsBAQQAAvsB
-        hgEAAfsBngHHAQABuAFfAgABCgMAAewCAAH+BQAB7AIAAewFAAEBAfsBAAEBBQAB7AIAAuwCAAH+BQAB
-        AQb7AQABhgGuBAABsgG4AQoBXwGhAQABCgMAAewCAAH+BQAB7AIAAewEAAH7AQECAAEBBQAB7AIAAuwC
-        AAH+BQABAQEAAfsBAQgAAaECXwEGAQABhQFfAQABCgMAAewCAAH+BQAB7AIAAewFAAEBAuwBAQbsAgAK
-        7AEBAgAB+wgAAQoBhQGhAf4CAAGFAgoDAAHsAgAB/gUAAewCAAHsBgABAQEAAQEGAAHsAQAB7AEAAewB
-        AAH+BgABAQEAAQEIAAEKAgAB/gQAAQoDAArsAgAB7AcAAgEHAALsAgAB7AH+BwACAQgAAYUBXwGhAf4B
-        hQFfAQoGAAHsAQAB/gYAAewBAAHsCAABAQnsAwAJ7AEBCQABhQFfAQYBXwGFCAAB7AH+BwAC7CkAAoUL
-        AArsOQAB+xkACuwGAArsCwAD+wgAAfsJAQYAAewB/gcAAuwFAAHsAf4HAALsCQAB+wEAAfsBAAH7BwAB
-        AQH7BwABAQHsBQAB7AEAAf4GAAHsAQAB7AQAAewBAAH+BgAB7AEAAewKAAH7CQABAQEAAfsGAAEBAQAB
-        7AQAAewCAAoBAwAB7AIABv4B7AL+AewHAALsAfsBAAPsBQABAQIAAfsBAAH7A/4BAQL+AewDAAHsAgAB
-        AQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB7AQAAfsBAAHsAgAB+wMAAewB+wQAAQEDAAL7AwABAQIAAewD
-        AAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB7AMAAfsCAAHsBgAB7AEAAfsDAAEBAgAD+wMAAQEC
-        AAHsAwAB7AIAAQEFAAHsAgABAQMAAewCAAH+BQAB7AIAAewCAAb7BAAF+wIAAQECAAH+BQABAQIAAewD
-        AAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB7AMAAfsCAAHsBgAB7AEAAfsDAAEBAgAB/gUAAQEC
-        AAHsAwAB7AIAAQEBAAT7AewCAAEBAwAB7AIAAf4FAAHsAgAB7AQAAfsBAAHsAgAB+wMAAewB+wQAAQEC
-        AAH+BQABAQIAAewDAAPsAQEB7AL7A+wCAAEBAwAKAQIAAewGAAPsAfsBAAPsBQAKAQIAAewEAAHsAQAB
-        AQEAAfsBAAH7AgAB7AEAAQEEAAEBAQAB/gYAAQEBAAHsCQAB+woAAewBAAH+BgAB7AEAAewFAAHsAQEB
-        AAH7AgAB+wIAAewBAQUAAQEB/gIAAfsEAAEBAewHAAH7AQAB+wEAAfsJAAHsAf4HAALsBgAKAQYAAgED
-        +wUBCAAD+wsACuwNAAH7CQAB+wEAAfsBAAH7DQAB+yQAAfsKAAH7NQAB+wkAAfsIAAP7CgAD+w4AAfsh
-        AAL7DAAC+wIAAewDAAfsA/sB7BYAAfsIAAH7AewBAwoAAfsBAAH7DgAB+xcAA/sJAAEDCQAB+xEAAewW
-        AAH7AQAB+wEAAfskAAHsDwAB+wgAAfsPAAXsBQAB7AYABOwCAAHsBwAF7AIAA/sHAAH7DQAB7AYAAewE
-        AAHsBAAB7AUAAewBAAHsBQAB7AYAAewCAAH7AwAB+wkAAfsIAAHsBwAB7AMAAewEAAHsBgAC7AUAAewH
-        AAHsBAAB+wsAAfsGAALsBwAC7AIAAewDAALsBgAC7AQAAuwHAAEDAewCAAX7BQAF+wUAAewJAAHsAgAB
-        7AMAAewIAAHsBAAB7AQAA/sCAAHsAwAB+wsAAfsGAAHsCQAB7AIAAewDAAHsCAAB7AQAAewCAAL7BQAB
-        7AQAAfsEAAH7BAAB+wcAAuwHAALsAgAB7AMAAuwGAALsBQAB7AcAAuwJAAH7CwAB+wEAAewHAAHsAwAB
-        7AQAAewGAALsBQAB7AcAAewKAAH7CAAB+wEAAfsDAAHsBQAB7AH7AQAB+wEAAfsFAAHsBAAB7AEAAewB
-        AAP7AgAB7AUAAewJAAH7AQAB+wEAAfsGAAL7BQAF7AIABfsE7AEABuwIAAXsCwAD+wcAA/sKAAP7AQAB
-        +yUAAfsIAAFCAU0BPgcAAT4DAAEoAwABQAMAAVADAAEBAQABAQUAAYABAhYAA/+BAAH9B/8B+AF/Bv8B
-        /QG/AccB/wHAAR8BwAEfAf8BnwGTAf8CzwHfAc8B/gEfAZMB/wLXAd8B1wE5AY8BkwH/AdgBAwHfAdsB
-        wwHPAZMB/wLbAd8B2wHxAscB+wLbAd8B2wH3AVcB/wHBAtsB3wHbAfcBtwH/AZsC2wHfAdsB+wGoAf8B
-        rwHAARsBwAEbARkBTgH/AbUC6wHvAesBwgE/Af8BuQLzAfcB8wHBAv8BEQH4AQMB+AEDAecC/wG/BP8B
-        9wf/Af4H/wH+Af8B4AEHAQABPwHxAf8B+gG/AecB8wE/AZ8B8QGfAYABHwHrAfUBXwGvAcABDwGcAU8B
-        7AEAAWABBwGAAYcBrgHXAc0B9gFvAbcBgwGTAbABAwHlAfYBbwG3AZEBgwG3AdsBAQH2AW8BpwGAAZsB
-        twHbAeUB9gFvAYABlgELAbcB2wHNAfYBbwGnAfABSwG3AdsB4AEGAQABNwHwAWMBtwHbAfUB+gGvAdcB
-        +wFzAYABGwH5AfwBzwHnAfgBDwHXAesB/AEAAeABBwH8AR8B5wHzBP8B/gF/AfABAwb/Af4D/wGAAR8B
-        gAEfAfwBfwGAAR8BnwHPAZ8BzwH6Ab8BnwHPAa8B1wGvAdcB/gH/Aa8B1wGwAQMBsAEDAfABjwG0AQMB
-        twHbAbcB2wHWAecBuQHbAbcB2wG3AdsBtwHrAbEB2wG3AdsBtwHbAQMBwQG3AdsBtwHbAbcB2wG3AesB
-        twHbAbQBGwG3AdsB1gHnAbcB2wGAARsBgAEbAfABjwGAARsB1QFrAdcB6wH+Af8B1wHrAeUBswHmAfMB
-        +gG/AecB8wHwAQMB8AEDAfwBfwHwAQMB/wHvAfoBvwH+BP8B9wH+Bv8B+wH+Af8BHwH4Af8B/QT/AT8B
-        /AHcAQABfwH/Af4B/wEfAfoBzwH9AT8B/wH8AX8BzwH3AecB/QGfAf8B+gG/AecB/wHzAf0BzwH9Af4B
-        /wHyAQ8BuQENAeQBGAH+Af8B+QH3AbwB9QHzAe0B3wH3AvsBvQH5AvcBvwH7AfMB+QG5AfkB5wHzAQcB
-        wQH3Af0BuwH9Ae8BGwG/AfsB9wH9AbsB/QHsAfsB3gH3AfMB+QG5AfkB9wHzAf4B/wHrAfsBvQH5AvcB
-        /gH/AV0B8gG+AfUBGwHvAfoBvwE+AQwCAQH8AR8B/AF/AR8B+AG/A/8B/gH/FgAL
-</value>
-  </data>
-  <data name="myPopup.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="myPopup.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>122, 17</value>
-  </data>
-  <data name="myPopup.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="menuItem1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="myPopupObject.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="myPopupObject.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>220, 17</value>
-  </data>
-  <data name="myPopupObject.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContextWireframe.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContextWireframe.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContextShading.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContextShading.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContextColor.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContextColor.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContextMaterial.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContextMaterial.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMatBrass.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMatBrass.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenBronze.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenBronze.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenCopper.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenCopper.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenGold.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenGold.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenPewt.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenPewt.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenPlaster.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenPlaster.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenPlastic.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenPlastic.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenSilver.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenSilver.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenTranc.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenTranc.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenDelete.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="ContMenDelete.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Name">
-    <value>Form2</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAIAICAQAAAAAADoAgAAJgAAABAQEAAAAAAAKAEAAA4DAAAoAAAAIAAAAEAAAAABAAQAAAAAAIAC
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/
-        AAAA//8A/wAAAP8A/wD//wAA////AAiIiIAAiIgAAAAAAAAAAAAAAACIgAAIiAAAAAAAAAAAD///AA//
-        8AiIAAAAAAAAAA////////8ACIgAAAAAAAAP//////////AIgAAAAAAAD///////////AIgAAAAAAA//
-        //////////AIAAAAAAAP////////////CIAAAAAAD///+IiIiIiIiACIiIiAAA/////////////wAAAA
-        iAAP////////////////8AiAD/////////////////8AgA//////////////////8IAP////////////
-        //////CID//////////////////wCA////iIiIiIiIiIiIiIiAgP//////////////////8ID///////
-        ////////////CA///////////////////wgP//////////////////8ID///////////////////CA//
-        /////////////////wgP///4iIiIiIiIiIiIiIgID///////////////////CA////mZ//mf+Zn/mZ//
-        /wgP///5/5+f+fn///n///8ID///+f+fn/n5///5////CA////n/n5/5+f//+f///wgP///5mf/5n/mZ
-        /5n///8ID///////////////////CA///////////////////wgAAAAAAAAAAAAAAAAAAAAAgcP//wAA
-        //8AAD//AAAP/wAAB/8AAAP/AAAD/wAAAf8AAAAHAAAAAwAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAEoAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA
-        AACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAd3B3AAAAAAAAdwAHcA
-        AAAP8A//AHAAAA//////AAZgD/d3d3cHd2AP/////wAHcA////////AAD/d3d3d3dwcP////////Bw//
-        //////8HD5n/+f/5nwcPn5+fn5//Bw+fn5+fn/8HD5n/+f/5nwcP////////BwAAAAAAAAAAif8AAAA/
-        AAAAHwAAABkAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAA==
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/samples/CSharp/IE/IE.csproj b/samples/CSharp/IE/IE.csproj
deleted file mode 100755 (executable)
index 160a479..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{B9914BB3-B886-4B41-B48D-350EBEBEFD1F}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ApplicationIcon>App.ico</ApplicationIcon>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>IE</AssemblyName>
-    <AssemblyOriginatorKeyFile>
-    </AssemblyOriginatorKeyFile>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <OutputType>WinExe</OutputType>
-    <RootNamespace>IE</RootNamespace>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-    <StartupObject>
-    </StartupObject>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <OldToolsVersion>2.0</OldToolsVersion>
-    <ApplicationRevision>0</ApplicationRevision>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>bin\Debug\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>true</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>false</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>full</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <OutputPath>bin\Release\</OutputPath>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <DebugSymbols>false</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <NoStdLib>false</NoStdLib>
-    <NoWarn>
-    </NoWarn>
-    <Optimize>true</Optimize>
-    <RegisterForComInterop>false</RegisterForComInterop>
-    <RemoveIntegerChecks>false</RemoveIntegerChecks>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <WarningLevel>4</WarningLevel>
-    <DebugType>none</DebugType>
-    <ErrorReport>prompt</ErrorReport>
-    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
-    <PlatformTarget>x86</PlatformTarget>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x86\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <OutputPath>bin\x86\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <BaseAddress>285212672</BaseAddress>
-    <Optimize>true</Optimize>
-    <DebugType>
-    </DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Data">
-      <Name>System.Data</Name>
-    </Reference>
-    <Reference Include="System.Drawing">
-      <Name>System.Drawing</Name>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <Name>System.Windows.Forms</Name>
-    </Reference>
-    <Reference Include="System.Xml">
-      <Name>System.XML</Name>
-    </Reference>
-    <ProjectReference Include="..\OCC\OCC.vcproj">
-      <Name>OCC</Name>
-      <Project>{DCB139CF-2190-412E-B72F-8B080CC01422}</Project>
-      <Package>{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</Package>
-    </ProjectReference>
-    <ProjectReference Include="..\shell\shell.vcproj">
-      <Name>shell</Name>
-      <Project>{969912D9-78E7-4AB8-B4FF-6B52B4F03991}</Project>
-      <Package>{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</Package>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AboutDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Form1.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Form2.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="MaterialDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="TransparencyDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <EmbeddedResource Include="AboutDialog.resx">
-      <DependentUpon>AboutDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Form1.resx">
-      <DependentUpon>Form1.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Form2.resx">
-      <DependentUpon>Form2.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="MaterialDialog.resx">
-      <DependentUpon>MaterialDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TransparencyDialog.resx">
-      <DependentUpon>TransparencyDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <None Include="app.config" />
-    <Content Include="App.ico" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/samples/CSharp/IE/IE.sln b/samples/CSharp/IE/IE.sln
deleted file mode 100755 (executable)
index 120ac23..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IE", "IE.csproj", "{B9914BB3-B886-4B41-B48D-350EBEBEFD1F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCC", "..\OCC\OCC.vcproj", "{DCB139CF-2190-412E-B72F-8B080CC01422}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shell", "..\shell\shell.vcproj", "{969912D9-78E7-4AB8-B4FF-6B52B4F03991}"
-       ProjectSection(ProjectDependencies) = postProject
-               {DCB139CF-2190-412E-B72F-8B080CC01422} = {DCB139CF-2190-412E-B72F-8B080CC01422}
-       EndProjectSection
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Any CPU = Debug|Any CPU
-               Debug|Mixed Platforms = Debug|Mixed Platforms
-               Debug|Win32 = Debug|Win32
-               Release|Any CPU = Release|Any CPU
-               Release|Mixed Platforms = Release|Mixed Platforms
-               Release|Win32 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Debug|Win32.ActiveCfg = Debug|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-               {B9914BB3-B886-4B41-B48D-350EBEBEFD1F}.Release|Win32.ActiveCfg = Release|Any CPU
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Debug|Any CPU.ActiveCfg = Debug|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Debug|Win32.ActiveCfg = Debug|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Debug|Win32.Build.0 = Debug|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Release|Any CPU.ActiveCfg = Release|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Release|Mixed Platforms.Build.0 = Release|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Release|Win32.ActiveCfg = Release|Win32
-               {DCB139CF-2190-412E-B72F-8B080CC01422}.Release|Win32.Build.0 = Release|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|Any CPU.ActiveCfg = Debug|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|Mixed Platforms.Build.0 = Debug|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|Win32.ActiveCfg = Debug|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Debug|Win32.Build.0 = Debug|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|Any CPU.ActiveCfg = Release|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|Mixed Platforms.ActiveCfg = Release|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|Mixed Platforms.Build.0 = Release|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|Win32.ActiveCfg = Release|Win32
-               {969912D9-78E7-4AB8-B4FF-6B52B4F03991}.Release|Win32.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-EndGlobal
diff --git a/samples/CSharp/IE/MaterialDialog.cs b/samples/CSharp/IE/MaterialDialog.cs
deleted file mode 100755 (executable)
index 159eb81..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-
-namespace IE
-{
-       /// <summary>
-       /// Summary description for MaterialDialog.
-       /// </summary>
-       public class MaterialDialog : System.Windows.Forms.Form
-       {
-               /// <summary>
-               /// Required designer variable.
-               /// </summary>
-               private System.ComponentModel.Container components = null;
-
-               public MaterialDialog()
-               {
-                       //
-                       // Required for Windows Form Designer support
-                       //
-                       InitializeComponent();
-
-                       //
-                       // TODO: Add any constructor code after InitializeComponent call
-                       //
-                       this.myView=null;
-               }
-
-               /// <summary>
-               /// Clean up any resources being used.
-               /// </summary>
-               protected override void Dispose( bool disposing )
-               {
-                       if( disposing )
-                       {
-                               if(components != null)
-                               {
-                                       components.Dispose();
-                               }
-                       }
-                       base.Dispose( disposing );
-               }
-
-               #region Windows Form Designer generated code
-               /// <summary>
-               /// Required method for Designer support - do not modify
-               /// the contents of this method with the code editor.
-               /// </summary>
-               private void InitializeComponent()
-               {
-                       System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MaterialDialog));
-                       this.BTN_PLASTER = new System.Windows.Forms.Button();
-                       this.BTN_BRASS = new System.Windows.Forms.Button();
-                       this.BTN_BRONZE = new System.Windows.Forms.Button();
-                       this.BTN_COPPER = new System.Windows.Forms.Button();
-                       this.BTN_GOLD = new System.Windows.Forms.Button();
-                       this.BTN_PEWTER = new System.Windows.Forms.Button();
-                       this.BTN_PLASTIC = new System.Windows.Forms.Button();
-                       this.BTN_SILVER = new System.Windows.Forms.Button();
-                       this.SuspendLayout();
-                       // 
-                       // BTN_PLASTER
-                       // 
-                       this.BTN_PLASTER.Location = new System.Drawing.Point(16, 8);
-                       this.BTN_PLASTER.Name = "BTN_PLASTER";
-                       this.BTN_PLASTER.Size = new System.Drawing.Size(80, 24);
-                       this.BTN_PLASTER.TabIndex = 0;
-                       this.BTN_PLASTER.Text = "Plaster";
-                       this.BTN_PLASTER.Click += new System.EventHandler(this.button1_Click);
-                       // 
-                       // BTN_BRASS
-                       // 
-                       this.BTN_BRASS.Location = new System.Drawing.Point(16, 40);
-                       this.BTN_BRASS.Name = "BTN_BRASS";
-                       this.BTN_BRASS.Size = new System.Drawing.Size(80, 24);
-                       this.BTN_BRASS.TabIndex = 1;
-                       this.BTN_BRASS.Text = "Brass";
-                       this.BTN_BRASS.Click += new System.EventHandler(this.BTN_BRASS_Click);
-                       // 
-                       // BTN_BRONZE
-                       // 
-                       this.BTN_BRONZE.Location = new System.Drawing.Point(16, 72);
-                       this.BTN_BRONZE.Name = "BTN_BRONZE";
-                       this.BTN_BRONZE.Size = new System.Drawing.Size(80, 24);
-                       this.BTN_BRONZE.TabIndex = 2;
-                       this.BTN_BRONZE.Text = "Bronze";
-                       this.BTN_BRONZE.Click += new System.EventHandler(this.BTN_BRONZE_Click);
-                       // 
-                       // BTN_COPPER
-                       // 
-                       this.BTN_COPPER.Location = new System.Drawing.Point(16, 104);
-                       this.BTN_COPPER.Name = "BTN_COPPER";
-                       this.BTN_COPPER.Size = new System.Drawing.Size(80, 24);
-                       this.BTN_COPPER.TabIndex = 3;
-                       this.BTN_COPPER.Text = "Copper";
-                       this.BTN_COPPER.Click += new System.EventHandler(this.BTN_COPPER_Click);
-                       // 
-                       // BTN_GOLD
-                       // 
-                       this.BTN_GOLD.Location = new System.Drawing.Point(16, 136);
-                       this.BTN_GOLD.Name = "BTN_GOLD";
-                       this.BTN_GOLD.Size = new System.Drawing.Size(80, 24);
-                       this.BTN_GOLD.TabIndex = 4;
-                       this.BTN_GOLD.Text = "Gold";
-                       this.BTN_GOLD.Click += new System.EventHandler(this.BTN_GOLD_Click);
-                       // 
-                       // BTN_PEWTER
-                       // 
-                       this.BTN_PEWTER.Location = new System.Drawing.Point(16, 168);
-                       this.BTN_PEWTER.Name = "BTN_PEWTER";
-                       this.BTN_PEWTER.Size = new System.Drawing.Size(80, 24);
-                       this.BTN_PEWTER.TabIndex = 5;
-                       this.BTN_PEWTER.Text = "Pewter";
-                       this.BTN_PEWTER.Click += new System.EventHandler(this.BTN_PEWTER_Click);
-                       // 
-                       // BTN_PLASTIC
-                       // 
-                       this.BTN_PLASTIC.Location = new System.Drawing.Point(16, 200);
-                       this.BTN_PLASTIC.Name = "BTN_PLASTIC";
-                       this.BTN_PLASTIC.Size = new System.Drawing.Size(80, 24);
-                       this.BTN_PLASTIC.TabIndex = 6;
-                       this.BTN_PLASTIC.Text = "Plastic";
-                       this.BTN_PLASTIC.Click += new System.EventHandler(this.BTN_PLASTIC_Click);
-                       // 
-                       // BTN_SILVER
-                       // 
-                       this.BTN_SILVER.Location = new System.Drawing.Point(16, 232);
-                       this.BTN_SILVER.Name = "BTN_SILVER";
-                       this.BTN_SILVER.Size = new System.Drawing.Size(80, 24);
-                       this.BTN_SILVER.TabIndex = 7;
-                       this.BTN_SILVER.Text = "Silver";
-                       this.BTN_SILVER.Click += new System.EventHandler(this.BTN_SILVER_Click);
-                       // 
-                       // MaterialDialog
-                       // 
-                       this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-                       this.ClientSize = new System.Drawing.Size(112, 273);
-                       this.Controls.Add(this.BTN_SILVER);
-                       this.Controls.Add(this.BTN_PLASTIC);
-                       this.Controls.Add(this.BTN_PEWTER);
-                       this.Controls.Add(this.BTN_GOLD);
-                       this.Controls.Add(this.BTN_COPPER);
-                       this.Controls.Add(this.BTN_BRONZE);
-                       this.Controls.Add(this.BTN_BRASS);
-                       this.Controls.Add(this.BTN_PLASTER);
-                       this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-                       this.MaximizeBox = false;
-                       this.MinimizeBox = false;
-                       this.Name = "MaterialDialog";
-                       this.Text = "MaterialDialog";
-                       this.ResumeLayout(false);
-
-               }
-               #endregion
-
-               private System.Windows.Forms.Button BTN_PLASTER;
-               private System.Windows.Forms.Button BTN_BRASS;
-               private System.Windows.Forms.Button BTN_BRONZE;
-               private System.Windows.Forms.Button BTN_COPPER;
-               private System.Windows.Forms.Button BTN_GOLD;
-               private System.Windows.Forms.Button BTN_PEWTER;
-               private System.Windows.Forms.Button BTN_PLASTIC;
-               private System.Windows.Forms.Button BTN_SILVER;
-
-               private int myMaterial;
-               private shell myView;
-
-               private void button1_Click(object sender, System.EventArgs e)
-               {
-                       this.myMaterial=5;
-                       ChangeMaterial();
-               }
-
-               private void BTN_BRASS_Click(object sender, System.EventArgs e)
-               {
-                       this.myMaterial=0;
-                       ChangeMaterial();
-               }
-
-               private void BTN_BRONZE_Click(object sender, System.EventArgs e)
-               {
-                       this.myMaterial=1;
-                       ChangeMaterial();
-               }
-
-               private void BTN_COPPER_Click(object sender, System.EventArgs e)
-               {
-                       this.myMaterial=2;
-                       ChangeMaterial();
-               }
-
-               private void BTN_GOLD_Click(object sender, System.EventArgs e)
-               {
-                       this.myMaterial=3;
-                       ChangeMaterial();
-               }
-
-               private void BTN_PEWTER_Click(object sender, System.EventArgs e)
-               {
-                       this.myMaterial=4;
-                       ChangeMaterial();
-               }
-
-               private void BTN_PLASTIC_Click(object sender, System.EventArgs e)
-               {
-                       this.myMaterial=6;
-                       ChangeMaterial();
-               }
-
-               private void BTN_SILVER_Click(object sender, System.EventArgs e)
-               {
-                       this.myMaterial=7;
-                       ChangeMaterial();
-               }
-
-               public int Material
-               {
-                       get
-                       {
-                               return this.myMaterial;
-                       }
-                       set
-                       {
-                               this.myMaterial=value;
-                       }
-               }
-
-               public void ChangeMaterial()
-               {
-                       if (myView==null)
-                               return;
-                       myView.SetMaterial(this.myMaterial);
-                       
-               }
-
-               public shell View
-               {
-                       set
-                       {
-                               this.myView=value;
-                       }
-               }
-               
-       }
-}
diff --git a/samples/CSharp/IE/MaterialDialog.resx b/samples/CSharp/IE/MaterialDialog.resx
deleted file mode 100755 (executable)
index 8a9f5cf..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    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">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <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" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </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>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="BTN_PLASTER.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="BTN_PLASTER.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_PLASTER.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_BRASS.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="BTN_BRASS.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_BRASS.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_BRONZE.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="BTN_BRONZE.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_BRONZE.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_COPPER.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="BTN_COPPER.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_COPPER.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_GOLD.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="BTN_GOLD.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_GOLD.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_PEWTER.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="BTN_PEWTER.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_PEWTER.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_PLASTIC.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="BTN_PLASTIC.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_PLASTIC.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_SILVER.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="BTN_SILVER.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="BTN_SILVER.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="$this.Name">
-    <value>MaterialDialog</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
-        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
-        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
-        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
-        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
-        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
-        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
-        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
-        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
-        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
-        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
-        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
-        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
-        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
-        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
-        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
-        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
-        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
-        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
-        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
-        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
-        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
-        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
-        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
-        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
-        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
-        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
-        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
-        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
-        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
-        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
-        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/samples/CSharp/IE/TransparencyDialog.cs b/samples/CSharp/IE/TransparencyDialog.cs
deleted file mode 100755 (executable)
index 013cf7a..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-
-namespace IE
-{
-       /// <summary>
-       /// Summary description for TransparencyDialog.
-       /// </summary>
-       public class TransparencyDialog : System.Windows.Forms.Form
-       {
-               private System.Windows.Forms.NumericUpDown MyTransparency;
-               /// <summary>
-               /// Required designer variable.
-               /// </summary>
-               private System.ComponentModel.Container components = null;
-               private shell myView;
-
-               public TransparencyDialog()
-               {
-                       //
-                       // Required for Windows Form Designer support
-                       //
-                       InitializeComponent();
-
-                       //
-                       // TODO: Add any constructor code after InitializeComponent call
-                       //
-                       myView=null;
-               }
-
-               /// <summary>
-               /// Clean up any resources being used.
-               /// </summary>
-               protected override void Dispose( bool disposing )
-               {
-                       if( disposing )
-                       {
-                               if(components != null)
-                               {
-                                       components.Dispose();
-                               }
-                       }
-                       base.Dispose( disposing );
-               }
-
-               #region Windows Form Designer generated code
-               /// <summary>
-               /// Required method for Designer support - do not modify
-               /// the contents of this method with the code editor.
-               /// </summary>
-               private void InitializeComponent()
-               {
-                       System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(TransparencyDialog));
-                       this.MyTransparency = new System.Windows.Forms.NumericUpDown();
-                       ((System.ComponentModel.ISupportInitialize)(this.MyTransparency)).BeginInit();
-                       this.SuspendLayout();
-                       // 
-                       // MyTransparency
-                       // 
-                       this.MyTransparency.Location = new System.Drawing.Point(16, 16);
-                       this.MyTransparency.Maximum = new System.Decimal(new int[] {
-                                                                                                                                                  10,
-                                                                                                                                                  0,
-                                                                                                                                                  0,
-                                                                                                                                                  0});
-                       this.MyTransparency.Name = "MyTransparency";
-                       this.MyTransparency.Size = new System.Drawing.Size(96, 20);
-                       this.MyTransparency.TabIndex = 0;
-                       this.MyTransparency.ValueChanged += new System.EventHandler(this.MyTransparency_ValueChanged);
-                       // 
-                       // TransparencyDialog
-                       // 
-                       this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
-                       this.ClientSize = new System.Drawing.Size(128, 53);
-                       this.Controls.Add(this.MyTransparency);
-                       this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
-                       this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-                       this.MaximizeBox = false;
-                       this.MinimizeBox = false;
-                       this.Name = "TransparencyDialog";
-                       this.Text = "TransparencyDialog";
-                       ((System.ComponentModel.ISupportInitialize)(this.MyTransparency)).EndInit();
-                       this.ResumeLayout(false);
-
-               }
-               #endregion
-
-               private void MyTransparency_ValueChanged(object sender, System.EventArgs e)
-               {
-                       if (this.myView==null)
-                               return;
-                       int transp = (int)this.MyTransparency.Value;
-                       this.myView.SetTransparency(transp);
-               }
-
-               public shell View
-               {
-                       set
-                       {
-                               this.myView=value;
-                       }
-               }
-
-       }
-}
diff --git a/samples/CSharp/IE/TransparencyDialog.resx b/samples/CSharp/IE/TransparencyDialog.resx
deleted file mode 100755 (executable)
index 688fd72..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 1.3
-    
-    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">1.3</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1">this is my long string</data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        [base64 mime encoded serialized .NET Framework object]
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        [base64 mime encoded string representing a byte array form of the .NET Framework object]
-    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <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" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </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>1.3</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="MyTransparency.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="MyTransparency.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="MyTransparency.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>(Default)</value>
-  </data>
-  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>False</value>
-  </data>
-  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>8, 8</value>
-  </data>
-  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>80</value>
-  </data>
-  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </data>
-  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>Private</value>
-  </data>
-  <data name="$this.Name">
-    <value>TransparencyDialog</value>
-  </data>
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
-        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
-        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
-        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
-        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
-        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
-        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
-        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
-        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
-        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
-        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
-        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
-        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
-        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
-        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
-        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
-        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
-        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
-        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
-        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
-        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
-        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
-        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
-        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
-        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
-        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
-        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
-        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
-        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
-        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
-        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
-        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/samples/CSharp/IE/app.config b/samples/CSharp/IE/app.config
deleted file mode 100755 (executable)
index 61eb0bc..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-       <appSettings>
-               <!--   User application and configured property settings go here.-->
-               <!--   Example: <add key="settingName" value="settingValue"/> -->
-               <add key="New.Visible" value="True" />
-               <add key="About.Visible" value="True" />
-               <add key="delete.Enabled" value="False" />
-               <add key="delete.Visible" value="False" />
-               <add key="transparency.Enabled" value="False" />
-               <add key="transparency.Visible" value="False" />
-               <add key="marerial.Enabled" value="False" />
-               <add key="marerial.Visible" value="True" />
-               <add key="color.Enabled" value="False" />
-               <add key="color.Visible" value="False" />
-               <add key="shading.Enabled" value="False" />
-               <add key="shading.Pushed" value="False" />
-               <add key="shading.Visible" value="False" />
-               <add key="wireframe.Enabled" value="False" />
-               <add key="wireframe.Pushed" value="False" />
-               <add key="wireframe.Visible" value="False" />
-               <add key="material.Enabled" value="False" />
-               <add key="material.Visible" value="False" />
-       </appSettings>
-</configuration>
\ No newline at end of file
diff --git a/samples/CSharp/IE/res/MainFrame.ico b/samples/CSharp/IE/res/MainFrame.ico
deleted file mode 100755 (executable)
index 99dbceb..0000000
Binary files a/samples/CSharp/IE/res/MainFrame.ico and /dev/null differ
diff --git a/samples/CSharp/IE/res/document.ico b/samples/CSharp/IE/res/document.ico
deleted file mode 100755 (executable)
index 2a1f1ae..0000000
Binary files a/samples/CSharp/IE/res/document.ico and /dev/null differ
diff --git a/samples/CSharp/IE/res/document.png b/samples/CSharp/IE/res/document.png
deleted file mode 100755 (executable)
index 1ba28ff..0000000
Binary files a/samples/CSharp/IE/res/document.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/help.png b/samples/CSharp/IE/res/help.png
deleted file mode 100755 (executable)
index e573362..0000000
Binary files a/samples/CSharp/IE/res/help.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/lamp.png b/samples/CSharp/IE/res/lamp.png
deleted file mode 100755 (executable)
index a5a6775..0000000
Binary files a/samples/CSharp/IE/res/lamp.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/new.png b/samples/CSharp/IE/res/new.png
deleted file mode 100755 (executable)
index 953757a..0000000
Binary files a/samples/CSharp/IE/res/new.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/occ_logo.bmp b/samples/CSharp/IE/res/occ_logo.bmp
deleted file mode 100755 (executable)
index 443a7de..0000000
Binary files a/samples/CSharp/IE/res/occ_logo.bmp and /dev/null differ
diff --git a/samples/CSharp/IE/res/tool_color.png b/samples/CSharp/IE/res/tool_color.png
deleted file mode 100755 (executable)
index b37ad7d..0000000
Binary files a/samples/CSharp/IE/res/tool_color.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/tool_delete.png b/samples/CSharp/IE/res/tool_delete.png
deleted file mode 100755 (executable)
index aaab07f..0000000
Binary files a/samples/CSharp/IE/res/tool_delete.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/tool_material.png b/samples/CSharp/IE/res/tool_material.png
deleted file mode 100755 (executable)
index 41e9368..0000000
Binary files a/samples/CSharp/IE/res/tool_material.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/tool_shading.png b/samples/CSharp/IE/res/tool_shading.png
deleted file mode 100755 (executable)
index 6bb9dc4..0000000
Binary files a/samples/CSharp/IE/res/tool_shading.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/tool_transparency.png b/samples/CSharp/IE/res/tool_transparency.png
deleted file mode 100755 (executable)
index 6b42536..0000000
Binary files a/samples/CSharp/IE/res/tool_transparency.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/tool_wireframe.png b/samples/CSharp/IE/res/tool_wireframe.png
deleted file mode 100755 (executable)
index 57c560f..0000000
Binary files a/samples/CSharp/IE/res/tool_wireframe.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_axo.png b/samples/CSharp/IE/res/view_axo.png
deleted file mode 100755 (executable)
index c9a9226..0000000
Binary files a/samples/CSharp/IE/res/view_axo.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_back.png b/samples/CSharp/IE/res/view_back.png
deleted file mode 100755 (executable)
index 0798f52..0000000
Binary files a/samples/CSharp/IE/res/view_back.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_bottom.png b/samples/CSharp/IE/res/view_bottom.png
deleted file mode 100755 (executable)
index c7cfdc2..0000000
Binary files a/samples/CSharp/IE/res/view_bottom.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_comp_off.png b/samples/CSharp/IE/res/view_comp_off.png
deleted file mode 100755 (executable)
index c900b19..0000000
Binary files a/samples/CSharp/IE/res/view_comp_off.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_comp_on.png b/samples/CSharp/IE/res/view_comp_on.png
deleted file mode 100755 (executable)
index 73ca4c8..0000000
Binary files a/samples/CSharp/IE/res/view_comp_on.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_fitall.png b/samples/CSharp/IE/res/view_fitall.png
deleted file mode 100755 (executable)
index 21d2f42..0000000
Binary files a/samples/CSharp/IE/res/view_fitall.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_fitarea.png b/samples/CSharp/IE/res/view_fitarea.png
deleted file mode 100755 (executable)
index f20f5c0..0000000
Binary files a/samples/CSharp/IE/res/view_fitarea.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_front.png b/samples/CSharp/IE/res/view_front.png
deleted file mode 100755 (executable)
index a9e99c5..0000000
Binary files a/samples/CSharp/IE/res/view_front.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_glpan.png b/samples/CSharp/IE/res/view_glpan.png
deleted file mode 100755 (executable)
index 02a9c1c..0000000
Binary files a/samples/CSharp/IE/res/view_glpan.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_left.png b/samples/CSharp/IE/res/view_left.png
deleted file mode 100755 (executable)
index 7d25b6a..0000000
Binary files a/samples/CSharp/IE/res/view_left.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_pan.png b/samples/CSharp/IE/res/view_pan.png
deleted file mode 100755 (executable)
index 0e9a6a5..0000000
Binary files a/samples/CSharp/IE/res/view_pan.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_reset.png b/samples/CSharp/IE/res/view_reset.png
deleted file mode 100755 (executable)
index 38849fd..0000000
Binary files a/samples/CSharp/IE/res/view_reset.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_right.png b/samples/CSharp/IE/res/view_right.png
deleted file mode 100755 (executable)
index 5540220..0000000
Binary files a/samples/CSharp/IE/res/view_right.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_rotate.png b/samples/CSharp/IE/res/view_rotate.png
deleted file mode 100755 (executable)
index 7e5d013..0000000
Binary files a/samples/CSharp/IE/res/view_rotate.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_top.png b/samples/CSharp/IE/res/view_top.png
deleted file mode 100755 (executable)
index b788de3..0000000
Binary files a/samples/CSharp/IE/res/view_top.png and /dev/null differ
diff --git a/samples/CSharp/IE/res/view_zoom.png b/samples/CSharp/IE/res/view_zoom.png
deleted file mode 100755 (executable)
index 1b50a37..0000000
Binary files a/samples/CSharp/IE/res/view_zoom.png and /dev/null differ
diff --git a/samples/CSharp/OCC/OCC.cpp b/samples/CSharp/OCC/OCC.cpp
deleted file mode 100755 (executable)
index 1dd0862..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// OCC.cpp : Defines the entry point for the DLL application.
-//
-//__declspec(dllexport)
-
-#include "stdafx.h"
-#include "OCCViewer.h"
-#pragma unmanaged
-BOOL APIENTRY DllMain( HANDLE hModule, 
-                       DWORD  ul_reason_for_call, 
-                       LPVOID lpReserved
-                                        )
-{
-       return TRUE;
-}
-
diff --git a/samples/CSharp/OCC/OCC.vcproj b/samples/CSharp/OCC/OCC.vcproj
deleted file mode 100755 (executable)
index abc8c2c..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="9.00"
-       Name="OCC"
-       ProjectGUID="{DCB139CF-2190-412E-B72F-8B080CC01422}"
-       Keyword="Win32Proj"
-       TargetFrameworkVersion="131072"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory="Debug"
-                       IntermediateDirectory="Debug"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       CharacterSet="2"
-                       ManagedExtensions="1"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="$(CSF_OPT_INC)"
-                               PreprocessorDefinitions="WNT"
-                               MinimalRebuild="false"
-                               BasicRuntimeChecks="0"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="2"
-                               WarningLevel="3"
-                               Detect64BitPortabilityProblems="true"
-                               DebugInformationFormat="3"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="TKV3d.lib TKHLR.lib TKService.lib TKBool.lib TKPShape.lib TKMath.lib TKBO.lib TKernel.lib TKPrim.lib TKTopAlgo.lib TKBRep.lib TKGeomAlgo.lib TKG2d.lib TKG3d.lib PTKernel.lib TKShapeSchema.lib TKXSBase.lib TKIGES.lib TKSTEP.lib TKSTEP209.lib TKSTEPAttr.lib TKSTEPBase.lib TKShHealing.lib TKSTL.lib TKVRML.lib"
-                               OutputFile="$(OutDir)/OCC.dll"
-                               LinkIncremental="2"
-                               AdditionalLibraryDirectories="$(CSF_OPT_LIB32D)"
-                               GenerateDebugInformation="true"
-                               AssemblyDebug="1"
-                               ProgramDatabaseFile="$(OutDir)/OCC.pdb"
-                               SubSystem="2"
-                               ResourceOnlyDLL="false"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               ImportLibrary="$(OutDir)/OCC.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory="Release"
-                       IntermediateDirectory="Release"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       CharacterSet="2"
-                       ManagedExtensions="1"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalIncludeDirectories="$(CSF_OPT_INC)"
-                               PreprocessorDefinitions="WNT"
-                               RuntimeLibrary="2"
-                               UsePrecompiledHeader="2"
-                               WarningLevel="3"
-                               Detect64BitPortabilityProblems="true"
-                               DebugInformationFormat="3"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="TKV3d.lib TKHLR.lib TKService.lib TKBool.lib TKPShape.lib TKMath.lib TKBO.lib TKernel.lib TKPrim.lib TKTopAlgo.lib TKBRep.lib TKGeomAlgo.lib TKG2d.lib TKG3d.lib PTKernel.lib TKShapeSchema.lib TKXSBase.lib TKIGES.lib TKSTEP.lib TKSTEP209.lib TKSTEPAttr.lib TKSTEPBase.lib TKShHealing.lib TKSTL.lib TKVRML.lib"
-                               OutputFile="$(OutDir)/OCC.dll"
-                               LinkIncremental="1"
-                               AdditionalLibraryDirectories="$(CSF_OPT_LIB32)"
-                               GenerateDebugInformation="true"
-                               SubSystem="2"
-                               OptimizeReferences="2"
-                               EnableCOMDATFolding="2"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               ImportLibrary="$(OutDir)/OCC.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-                       >
-                       <File
-                               RelativePath=".\OCC.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\OCCViewer.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\stdafx.cpp"
-                               >
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               UsePrecompiledHeader="1"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               UsePrecompiledHeader="1"
-                                       />
-                               </FileConfiguration>
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl;inc;xsd"
-                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-                       >
-                       <File
-                               RelativePath=".\OCCViewer.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\stdafx.h"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-                       >
-               </Filter>
-               <File
-                       RelativePath=".\ReadMe.txt"
-                       >
-               </File>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/samples/CSharp/OCC/OCCViewer.cpp b/samples/CSharp/OCC/OCCViewer.cpp
deleted file mode 100755 (executable)
index 214695c..0000000
+++ /dev/null
@@ -1,581 +0,0 @@
-#include "StdAfx.h"
-#include ".\occviewer.h"
-
-#pragma warning( disable : 4800 )
-OCCViewer::OCCViewer(void)
-{
-       myGraphicDriver=NULL;
-       myViewer=NULL;
-       myView=NULL;
-       myAISContext=NULL;
-}
-
-OCCViewer::~OCCViewer(void)
-{
-       myView->Remove();
-}
-
-bool OCCViewer::InitViewer(void* wnd)
-{
-  try
-  {
-    Handle(Aspect_DisplayConnection) aDisplayConnection;
-    myGraphicDriver = Graphic3d::InitGraphicDriver (aDisplayConnection);
-  }
-  catch (Standard_Failure)
-  {
-    return false;
-  }
-
-  TCollection_ExtendedString a3DName("Visu3D");
-  myViewer = new V3d_Viewer (myGraphicDriver, a3DName.ToExtString(),"", 1000.0, 
-                             V3d_XposYnegZpos, Quantity_NOC_GRAY30,
-                             V3d_ZBUFFER,V3d_GOURAUD,V3d_WAIT, 
-                             Standard_True, Standard_False);
-
-       myViewer->Init();
-       myViewer->SetDefaultLights();
-       myViewer->SetLightOn();
-       myView = myViewer->CreateView();
-       Handle(WNT_Window) aWNTWindow = new WNT_Window (reinterpret_cast<HWND> (wnd));
-       myView->SetWindow(aWNTWindow);
-       if (!aWNTWindow->IsMapped()) 
-                aWNTWindow->Map();
-       myAISContext = new AIS_InteractiveContext(myViewer);
-       myAISContext->UpdateCurrentViewer();
-       myView->Redraw();
-       myView->MustBeResized();
-       return true;
-
-}
-
-bool OCCViewer::ImportBRep(char* filename)
-{
-       Standard_CString aFileName = (Standard_CString) filename;
-       TopoDS_Shape aShape;
-    BRep_Builder aBuilder;
-    Standard_Boolean result = BRepTools::Read(aShape,aFileName,aBuilder);
-       if (!result)
-               return false;
-       if(myAISContext->HasOpenedContext())
-               myAISContext->CloseLocalContext();
-       myAISContext->Display(new AIS_Shape(aShape));
-       return true;
-}
-
-void OCCViewer::UpdateView(void)
-{
-       if (!myView.IsNull())
-               myView->MustBeResized();
-}
-
-void OCCViewer::RedrawView(void)
-{
-       if (!myView.IsNull())
-               myView->Redraw();
-}
-
-void OCCViewer::SetDegenerateModeOn(void)
-{
-       if (!myView.IsNull())
-               myView->SetComputedMode (Standard_False);
-}
-
-void OCCViewer::SetDegenerateModeOff(void)
-{
-       if (!myView.IsNull())
-               myView->SetComputedMode (Standard_True);
-}
-
-void OCCViewer::WindowFitAll(int Xmin, int Ymin, int Xmax, int Ymax)
-{
-       if (!myView.IsNull())
-               myView->WindowFitAll(Xmin, Ymin, Xmax, Ymax);
-}
-
-void OCCViewer::Place(int x, int y, float zoomFactor)
-{
-       Quantity_Factor aZoomFactor = zoomFactor;
-       if (!myView.IsNull())
-               myView->Place(x, y, aZoomFactor);
-}
-
-void OCCViewer::Zoom(int x1, int y1, int x2, int y2)
-{
-       if (!myView.IsNull())
-               myView->Zoom(x1, y1, x2, y2);
-}
-
-void OCCViewer::Pan(int x, int y)
-{
-       if (!myView.IsNull())
-               myView->Pan(x, y);
-}
-
-void OCCViewer::Rotation(int x, int y)
-{
-       if (!myView.IsNull())
-               myView->Rotation(x, y);
-}
-
-void OCCViewer::StartRotation(int x, int y)
-{
-       if (!myView.IsNull())
-               myView->StartRotation(x, y);
-}
-
-void OCCViewer::Select(int x1, int y1, int x2, int y2)
-{
-       if (!myAISContext.IsNull())
-               myAISContext->Select(x1, y1, x2, y2, myView);
-}
-
-void OCCViewer::Select(void)
-{
-       if (!myAISContext.IsNull())
-               myAISContext->Select();
-}
-
-void OCCViewer::MoveTo(int x, int y)
-{
-       if ((!myAISContext.IsNull()) && (!myView.IsNull()))
-               myAISContext->MoveTo(x, y, myView);
-}
-
-void OCCViewer::ShiftSelect(int x1, int y1, int x2, int y2)
-{
-       if ((!myAISContext.IsNull()) && (!myView.IsNull()))
-               myAISContext->ShiftSelect(x1, y1, x2, y2, myView);
-}
-
-void OCCViewer::ShiftSelect(void)
-{
-       if (!myAISContext.IsNull())
-               myAISContext->ShiftSelect();
-}
-
-void OCCViewer::BackgroundColor(int& r, int& g, int& b)
-{
-       Standard_Real R1;
-       Standard_Real G1;
-       Standard_Real B1;
-       if (!myView.IsNull())
-               myView->BackgroundColor(Quantity_TOC_RGB,R1,G1,B1);
-       r = (int)R1*255;
-       g = (int)G1*255;
-       b = (int)B1*255;
-}
-
-
-
-void OCCViewer::UpdateCurrentViewer(void)
-{
-       if (!myAISContext.IsNull())
-               myAISContext->UpdateCurrentViewer();
-}
-
-void OCCViewer::FrontView(void)
-{
-       if (!myView.IsNull())
-               myView->SetProj(V3d_Xpos); 
-}
-
-void OCCViewer::TopView(void)
-{
-       if (!myView.IsNull())
-               myView->SetProj(V3d_Zpos); 
-}
-
-void OCCViewer::LeftView(void)
-{
-       if (!myView.IsNull())
-               myView->SetProj(V3d_Ypos);
-}
-
-void OCCViewer::BackView(void)
-{
-       if (!myView.IsNull())
-               myView->SetProj(V3d_Xneg);
-}
-
-void OCCViewer::RightView(void)
-{
-       if (!myView.IsNull())
-               myView->SetProj(V3d_Yneg);
-}
-
-void OCCViewer::BottomView(void)
-{
-       if (!myView.IsNull())
-               myView->SetProj(V3d_Zneg); 
-}
-
-void OCCViewer::AxoView(void)
-{
-       if (!myView.IsNull())
-               myView->SetProj(V3d_XposYnegZpos);
-}
-
-void OCCViewer::ZoomAllView(void)
-{
-       if (!myView.IsNull())
-       {
-               myView->FitAll();
-               myView->ZFitAll();
-       }
-}
-
-float OCCViewer::Scale(void)
-{
-       if (myView.IsNull())
-               return -1;
-       else
-               return (float)myView->Scale();
-}
-
-void OCCViewer::ResetView(void)
-{
-       if (!myView.IsNull())
-               myView->Reset();
-}
-
-void OCCViewer::SetDisplayMode(int aMode)
-{
-       if (myAISContext.IsNull())
-               return;
-       AIS_DisplayMode CurrentMode;
-       if (aMode == 0) 
-               CurrentMode=AIS_WireFrame;
-       else
-               CurrentMode=AIS_Shaded;
-    if(myAISContext->NbCurrents()==0 || myAISContext->NbSelected()==0)
-       myAISContext->SetDisplayMode(CurrentMode);
-    else 
-       {
-       for(myAISContext->InitCurrent();myAISContext->MoreCurrent();myAISContext->NextCurrent())
-                  myAISContext->SetDisplayMode(myAISContext->Current(),aMode,Standard_False);
-                
-       }
-        myAISContext->UpdateCurrentViewer();
-}
-
-void OCCViewer::SetColor(int r, int g, int b)
-{
-       if (myAISContext.IsNull())
-               return;
-       Quantity_Color col =  Quantity_Color(r/255.,g/255.,b/255.,Quantity_TOC_RGB);
-       for (;myAISContext->MoreCurrent ();myAISContext->NextCurrent ())
-                 myAISContext->SetColor (myAISContext->Current(),col.Name());
-}
-
-void OCCViewer::ObjectColor(int& r, int& g, int& b)
-{
-       if (myAISContext.IsNull())
-               return;
-       r=255;
-       g=255;
-       b=255;
-       Handle_AIS_InteractiveObject Current ;
-       Quantity_Color ObjCol;
-       myAISContext->InitCurrent();
-       if (!myAISContext->MoreCurrent())
-               return;
-    Current = myAISContext->Current();
-       if ( Current->HasColor () ) {
-      ObjCol = myAISContext->Color(myAISContext->Current());
-         Quantity_Parameter r1, r2, r3;
-         ObjCol.Values(r1, r2, r3, Quantity_TOC_RGB);
-               r=(int)r1*255;
-               g=(int)r2*255;
-               b=(int)r3*255;
-       }
-}
-
-void OCCViewer::SetBackgroundColor(int r, int g, int b)
-{
-       if (!myView.IsNull())
-               myView->SetBackgroundColor(Quantity_TOC_RGB,r/255.,g/255.,b/255.);
-}
-
-void OCCViewer::EraseObjects(void)
-{
-       if (myAISContext.IsNull())
-               return;
-       for(myAISContext->InitCurrent();myAISContext->MoreCurrent();myAISContext->NextCurrent())
-        myAISContext->Erase(myAISContext->Current(),Standard_True);
-       myAISContext->ClearCurrents();
-}
-
-float OCCViewer::GetVersion(void)
-{
-       return (float)OCC_VERSION;
-}
-
-void OCCViewer::SetMaterial(int theMaterial)
-{
-       if (myAISContext.IsNull())
-               return;
-    for ( myAISContext->InitCurrent(); myAISContext->MoreCurrent (); myAISContext->NextCurrent () )
-        myAISContext->SetMaterial( myAISContext->Current(), (Graphic3d_NameOfMaterial)theMaterial );
-       myAISContext->UpdateCurrentViewer();
-}
-
-void OCCViewer::SetTransparency(int theTrans)
-{
-       if (myAISContext.IsNull())
-               return;
-       for( myAISContext->InitCurrent(); myAISContext->MoreCurrent(); myAISContext->NextSelected() )
-               myAISContext->SetTransparency( myAISContext->Current(), ((Standard_Real)theTrans) / 10.0 );
-}
-
-bool OCCViewer::ImportCsfdb(char* filename)
-{
-       Standard_CString aFileName = (Standard_CString) filename;
-    if ( FSD_File::IsGoodFileType(aFileName) != Storage_VSOk )
-           return false;
-
-    static FSD_File fileDriver;
-    TCollection_AsciiString aName( aFileName );
-    if ( fileDriver.Open( aName, Storage_VSRead ) != Storage_VSOk )
-        return false;
-
-    Handle(ShapeSchema) schema = new ShapeSchema();
-    Handle(Storage_Data) data  = schema->Read( fileDriver );
-    if ( data->ErrorStatus() != Storage_VSOk )
-        return false;
-    fileDriver.Close();
-
-    Handle(Storage_HSeqOfRoot) roots = data->Roots();
-    for ( int i = 1; i <= roots->Length() ; i++ )
-    {
-        Handle(Storage_Root) r = roots->Value( i );
-        Handle(Standard_Persistent) p = r->Object();
-        Handle(PTopoDS_HShape) aPShape = Handle(PTopoDS_HShape)::DownCast(p);
-        if ( !aPShape.IsNull() )
-        {
-               PTColStd_PersistentTransientMap aMap;
-               TopoDS_Shape aTShape;
-            MgtBRep::Translate( aPShape, aMap, aTShape, MgtBRep_WithTriangle );
-                       myAISContext->Display(new AIS_Shape(aTShape));
-        }
-    }
-
-       return true;
-}
-
-bool OCCViewer::ImportIges(char* filename)
-{
-       Standard_CString aFileName = (Standard_CString) filename;
-    IGESControl_Reader Reader;
-    int status = Reader.ReadFile( aFileName );
-
-    if ( status == IFSelect_RetDone )
-    {
-        Reader.TransferRoots();
-        TopoDS_Shape aShape = Reader.OneShape();
-        myAISContext->Display(new AIS_Shape(aShape));
-    } else
-               return false;
-       myAISContext->UpdateCurrentViewer();
-       return true;
-}
-
-bool OCCViewer::ImportStep(char* filename)
-{
-       Standard_CString aFileName = (Standard_CString) filename;
-       STEPControl_Reader aReader;
-       IFSelect_ReturnStatus status = aReader.ReadFile(aFileName);
-       if ( status == IFSelect_RetDone )
-    {
-           bool failsonly = false;
-           aReader.PrintCheckLoad( failsonly, IFSelect_ItemsByEntity );
-
-           int nbr = aReader.NbRootsForTransfer();
-           aReader.PrintCheckTransfer( failsonly, IFSelect_ItemsByEntity );
-           for ( Standard_Integer n = 1; n <= nbr; n++ )
-           {
-               Standard_Boolean ok = aReader.TransferRoot( n );
-               int nbs = aReader.NbShapes();
-               if ( nbs > 0 )
-            {
-                   for ( int i = 1; i <= nbs; i++ )
-                {
-                           TopoDS_Shape shape = aReader.Shape( i );
-                           myAISContext->Display(new AIS_Shape(shape));
-                   }
-            }
-        }
-       } else
-               return false;
-       return true;
-}
-
-bool OCCViewer::ExportBRep(char* filename)
-{
-       myAISContext->InitCurrent();
-       if (!myAISContext->MoreCurrent())
-               return false;
-       Handle_AIS_InteractiveObject anIO = myAISContext->Current();
-       Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
-       return (bool)BRepTools::Write( anIS->Shape(), (Standard_CString)filename ); ;
-}
-
-
-bool OCCViewer::ExportIges(char* filename)
-{
-       IGESControl_Controller::Init();
-       IGESControl_Writer writer( Interface_Static::CVal( "XSTEP.iges.unit" ),
-                               Interface_Static::IVal( "XSTEP.iges.writebrep.mode" ) );
-       
-       for ( myAISContext->InitCurrent(); myAISContext->MoreCurrent(); myAISContext->NextCurrent() )
-       {
-               Handle_AIS_InteractiveObject anIO = myAISContext->Current();
-               Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
-               TopoDS_Shape shape = anIS->Shape();
-               writer.AddShape ( shape );
-       }
-       writer.ComputeModel();
-       return (bool)writer.Write( (Standard_CString)filename );
-}
-
-bool OCCViewer::ExpotStep(char* filename)
-{
-    STEPControl_StepModelType type = STEPControl_AsIs;
-    IFSelect_ReturnStatus status;
-    STEPControl_Writer writer;
-       for ( myAISContext->InitCurrent(); myAISContext->MoreCurrent(); myAISContext->NextCurrent() )
-    {
-               Handle_AIS_InteractiveObject anIO = myAISContext->Current();
-               Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
-               TopoDS_Shape shape = anIS->Shape();
-               status = writer.Transfer( shape , type );
-        if ( status != IFSelect_RetDone )
-            return false;
-    }
-
-    status = writer.Write( (Standard_CString)filename );
-    if ( status != IFSelect_RetDone )
-            return false;
-       return true;
-}
-
-bool OCCViewer::ExportStl(char* filename)
-{
-       TopoDS_Compound comp;
-       BRep_Builder builder;
-       builder.MakeCompound( comp );
-
-       for ( myAISContext->InitCurrent(); myAISContext->MoreCurrent(); myAISContext->NextCurrent() )
-       {
-               Handle_AIS_InteractiveObject anIO = myAISContext->Current();
-               Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
-               TopoDS_Shape shape = anIS->Shape();
-               if ( shape.IsNull() ) 
-                       return false;    
-               builder.Add( comp, shape );
-       }
-
-       StlAPI_Writer writer;
-       writer.Write( comp, (Standard_CString)filename );
-       return true;
-}
-
-bool OCCViewer::ExportVrml(char* filename)
-{
-       TopoDS_Compound res;
-       BRep_Builder builder;
-       builder.MakeCompound( res );
-
-       for ( myAISContext->InitCurrent(); myAISContext->MoreCurrent(); myAISContext->NextCurrent() )
-       {
-               Handle_AIS_InteractiveObject anIO = myAISContext->Current();
-               Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
-               TopoDS_Shape shape = anIS->Shape();
-               if ( shape.IsNull() )
-                       return false;
-        
-               builder.Add( res, shape );
-       }
-
-       VrmlAPI_Writer writer;
-       writer.Write( res, (Standard_CString)filename );
-
-       return true;
-}
-
-bool OCCViewer::Dump(char *filename)
-{
-       if (myView.IsNull())
-               return false;
-       myView->Redraw();
-    return (bool)myView->Dump(filename);
-}
-
-bool OCCViewer::IsObjectSelected(void)
-{
-       if (myAISContext.IsNull())
-               return false;
-       myAISContext->InitCurrent();
-       return (bool)myAISContext->MoreCurrent();
-}
-
-int OCCViewer::DisplayMode(void)
-{
-       if (myAISContext.IsNull())
-               return -1;
-       int mode = -1;
-       bool OneOrMoreInShading=false;
-       bool OneOrMoreInWireframe=false;
-       for (myAISContext->InitCurrent(); myAISContext->MoreCurrent(); myAISContext->NextCurrent())
-       {
-               if ( myAISContext->IsDisplayed( myAISContext->Current(), 1 ) )
-             OneOrMoreInShading = true;
-        if ( myAISContext->IsDisplayed( myAISContext->Current(), 0 ) )
-             OneOrMoreInWireframe = true;
-       }
-       if (OneOrMoreInShading&&OneOrMoreInWireframe)
-               mode=10;
-       else if(OneOrMoreInShading)
-               mode=1;
-       else if (OneOrMoreInWireframe)
-               mode=0;
-       return mode;
-}
-
-void OCCViewer::CreateNewView(void* wnd)
-{
-       if (myAISContext.IsNull())
-               return;
-       myView = myAISContext->CurrentViewer()->CreateView();
-       if (myGraphicDriver.IsNull())
-    {
-      Handle(Aspect_DisplayConnection) aDisplayConnection;
-      myGraphicDriver = Graphic3d::InitGraphicDriver (aDisplayConnection);
-    }
-       Handle(WNT_Window) aWNTWindow = new WNT_Window (reinterpret_cast<HWND> (wnd));
-       myView->SetWindow(aWNTWindow);
-       Standard_Integer w=100, h=100;
-       aWNTWindow->Size(w,h);
-       if (!aWNTWindow->IsMapped()) 
-                aWNTWindow->Map();
-}
-
-bool OCCViewer::SetAISContext(OCCViewer* Viewer)
-{
-       this->myAISContext=Viewer->GetAISContext();
-       if (myAISContext.IsNull())
-               return false;
-       return true;
-}
-
-Handle_AIS_InteractiveContext OCCViewer::GetAISContext(void)
-{
-       return myAISContext;
-}
-
-int OCCViewer::CharToInt(char symbol)
-{
-       TCollection_AsciiString msg = symbol;
-       return msg.IntegerValue();
-}
diff --git a/samples/CSharp/OCC/OCCViewer.h b/samples/CSharp/OCC/OCCViewer.h
deleted file mode 100755 (executable)
index 6f0c118..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#pragma once
-#include "stdafx.h"
-
-
-class OCCViewer
-{
-public:
-       __declspec(dllexport) OCCViewer(void);
-       __declspec(dllexport) ~OCCViewer(void);
-private:
-       Handle_V3d_Viewer myViewer;
-       Handle_V3d_View myView;
-       Handle_AIS_InteractiveContext myAISContext;
-       Handle_Graphic3d_GraphicDriver myGraphicDriver;
-public:
-       __declspec(dllexport) bool InitViewer(void* wnd);
-       __declspec(dllexport) bool ImportBRep(char* filename);
-       __declspec(dllexport) void UpdateView(void);
-       __declspec(dllexport) void RedrawView(void);
-       __declspec(dllexport) void SetDegenerateModeOn(void);
-       __declspec(dllexport) void SetDegenerateModeOff(void);
-       __declspec(dllexport) void WindowFitAll(int Xmin, int Ymin, int Xmax, int Ymax);
-       __declspec(dllexport) void Place(int x, int y, float zoomFactor);
-       __declspec(dllexport) void Zoom(int x1, int y1, int x2, int y2);
-       __declspec(dllexport) void Pan(int x, int y);
-       __declspec(dllexport) void Rotation(int x, int y);
-       __declspec(dllexport) void StartRotation(int x, int y);
-       __declspec(dllexport) void Select(int x1, int y1, int x2, int y2);
-       __declspec(dllexport) void Select(void);
-       __declspec(dllexport) void MoveTo(int x, int y);
-       __declspec(dllexport) void ShiftSelect(int x1, int y1, int x2, int y2);
-       __declspec(dllexport) void ShiftSelect(void);
-       __declspec(dllexport) void BackgroundColor(int& r, int& g, int& b);
-       __declspec(dllexport) void UpdateCurrentViewer(void);
-       __declspec(dllexport) void FrontView(void);
-       __declspec(dllexport) void TopView(void);
-       __declspec(dllexport) void LeftView(void);
-       __declspec(dllexport) void BackView(void);
-       __declspec(dllexport) void RightView(void);
-       __declspec(dllexport) void BottomView(void);
-       __declspec(dllexport) void AxoView(void);
-       __declspec(dllexport) void ZoomAllView(void);
-       __declspec(dllexport) float Scale(void);
-       __declspec(dllexport) void PanGloView(void);
-       __declspec(dllexport) void ResetView(void);
-       __declspec(dllexport) void SetDisplayMode(int aMode);
-       __declspec(dllexport) void SetColor(int r, int g, int b);
-       __declspec(dllexport) void ObjectColor(int& r, int& g, int& b);
-       __declspec(dllexport) void SetBackgroundColor(int r, int g, int b);
-       __declspec(dllexport) void EraseObjects(void);
-       __declspec(dllexport) float GetVersion(void);
-       __declspec(dllexport) void SetMaterial(int theMaterial);
-       __declspec(dllexport) void SetTransparency(int theTrans);
-       __declspec(dllexport) bool ImportCsfdb(char* filename);
-       __declspec(dllexport) bool ImportIges(char* filename);
-       __declspec(dllexport) bool ImportStep(char* filename);
-       __declspec(dllexport) bool ExportBRep(char* filename);
-       __declspec(dllexport) bool ExportIges(char* filename);
-       __declspec(dllexport) bool ExpotStep(char* filename);
-       __declspec(dllexport) bool ExportStl(char* filename);
-       __declspec(dllexport) bool ExportVrml(char* filename);
-       __declspec(dllexport) bool Dump(char* filename);
-       __declspec(dllexport) bool IsObjectSelected(void);
-       __declspec(dllexport) int DisplayMode(void);
-       __declspec(dllexport) void CreateNewView(void* wnd);
-       __declspec(dllexport) bool SetAISContext(OCCViewer* Viewer);
-       Handle_AIS_InteractiveContext GetAISContext(void);
-       __declspec(dllexport) int CharToInt(char symbol);
-};
diff --git a/samples/CSharp/OCC/ReadMe.txt b/samples/CSharp/OCC/ReadMe.txt
deleted file mode 100755 (executable)
index 1542dff..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-========================================================================
-    DYNAMIC LINK LIBRARY : OCC Project Overview
-========================================================================
-
-AppWizard has created this OCC DLL for you.  
-This file contains a summary of what you will find in each of the files that
-make up your OCC application.
-
-
-OCC.vcproj
-    This is the main project file for VC++ projects generated using an Application Wizard. 
-    It contains information about the version of Visual C++ that generated the file, and 
-    information about the platforms, configurations, and project features selected with the
-    Application Wizard.
-
-OCC.cpp
-    This is the main DLL source file.
-
-       When created, this DLL does not export any symbols. As a result, it  
-       will not produce a .lib file when it is built. If you wish this project 
-       to be a project dependency of some other project, you will either need to 
-       add code to export some symbols from the DLL so that an export library 
-       will be produced, or you can set the Ignore Input Library property to Yes 
-       on the General propert page of the Linker folder in the project's Property 
-       Pages dialog box.
-
-/////////////////////////////////////////////////////////////////////////////
-Other standard files:
-
-StdAfx.h, StdAfx.cpp
-    These files are used to build a precompiled header (PCH) file
-    named OCC.pch and a precompiled types file named StdAfx.obj.
-
-/////////////////////////////////////////////////////////////////////////////
-Other notes:
-
-AppWizard uses "TODO:" comments to indicate parts of the source code you
-should add to or customize.
-
-/////////////////////////////////////////////////////////////////////////////
diff --git a/samples/CSharp/OCC/stdafx.cpp b/samples/CSharp/OCC/stdafx.cpp
deleted file mode 100755 (executable)
index de3c5dc..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// stdafx.cpp : source file that includes just the standard includes
-// OCC.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-// TODO: reference any additional headers you need in STDAFX.H
-// and not in this file
diff --git a/samples/CSharp/OCC/stdafx.h b/samples/CSharp/OCC/stdafx.h
deleted file mode 100755 (executable)
index fbb4173..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently, but
-// are changed infrequently
-//
-
-#pragma once
-
-
-#define WIN32_LEAN_AND_MEAN            // Exclude rarely-used stuff from Windows headers
-// Windows Header Files:
-#include <windows.h>
-//standard OCC types
-#pragma warning( disable : 4311 )
-#pragma warning( disable : 4312 )
-#pragma warning( disable : 4267 )
-#include <Standard_Boolean.hxx>
-#include <Standard_CString.hxx>
-#include <Standard_Version.hxx>
-#include <Standard_Persistent.hxx>
-//collections
-#include <TCollection_ExtendedString.hxx>
-#include <TCollection_AsciiString.hxx>
-#include <PTColStd_PersistentTransientMap.hxx>
-#include <TCollection_AsciiString.hxx>
-//for OCC graphic
-#include <Aspect_DisplayConnection.hxx>
-#include <WNT_Window.hxx>
-#include <Quantity_NameOfColor.hxx>
-#include <Graphic3d.hxx>
-#include <Graphic3d_GraphicDriver.hxx>
-#include <Graphic3d_NameOfMaterial.hxx>
-//for object display
-#include <V3d_Viewer.hxx>
-#include <V3d_View.hxx>
-#include <AIS_InteractiveContext.hxx>
-#include <AIS_Shape.hxx>
-#include <AIS_Trihedron.hxx>
-#include <AIS_DisplayMode.hxx>
-#include <V3d_TypeOfOrientation.hxx>
-#include <V3d_TypeOfVisualization.hxx>
-#include <V3d_TypeOfShadingModel.hxx>
-#include <V3d_TypeOfUpdate.hxx>
-//topology
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Compound.hxx>
-//brep tools
-#include <BRep_Builder.hxx>
-#include <BRepTools.hxx>
-#include <MgtBRep.hxx>
-//geometry
-#include <gp_Ax2.hxx>
-#include <Geom_Axis2Placement.hxx>
-//csfdb I/E
-#include <Message_ProgressIndicator.hxx>
-#include <FSD_File.hxx>
-#include <ShapeSchema.hxx>
-#include <Storage_Data.hxx>
-#include <Storage_Error.hxx>
-#include <Storage_HSeqOfRoot.hxx>
-#include <Storage_Root.hxx>
-#include <PTopoDS_HShape.hxx>
-#include <PTColStd_TransientPersistentMap.hxx>
-// iges I/E
-#include <IGESControl_Reader.hxx>
-#include <IGESControl_Controller.hxx>
-#include <IGESControl_Writer.hxx>
-#include <IFSelect_ReturnStatus.hxx>
-#include <Interface_Static.hxx>
-//step I/E
-#include <STEPControl_Reader.hxx>
-#include <STEPControl_Writer.hxx>
-//for stl export
-#include <StlAPI_Writer.hxx>
-//for vrml export
-#include <VrmlAPI_Writer.hxx>
diff --git a/samples/CSharp/OCCTProxy/OCCTProxy.cpp b/samples/CSharp/OCCTProxy/OCCTProxy.cpp
new file mode 100644 (file)
index 0000000..595d91d
--- /dev/null
@@ -0,0 +1,1100 @@
+// include required OCCT headers
+#include <Standard_Version.hxx>
+#include <Message_ProgressIndicator.hxx>
+//for OCC graphic
+#include <Aspect_DisplayConnection.hxx>
+#include <WNT_Window.hxx>
+#include <Graphic3d.hxx>
+#include <Graphic3d_GraphicDRiver.hxx>
+//for object display
+#include <V3d_Viewer.hxx>
+#include <V3d_View.hxx>
+#include <AIS_InteractiveContext.hxx>
+#include <AIS_Shape.hxx>
+//topology
+#include <TopoDS_Shape.hxx>
+#include <TopoDS_Compound.hxx>
+//brep tools
+#include <BRep_Builder.hxx>
+#include <BRepTools.hxx>
+#include <MgtBRep.hxx>
+#include <PTColStd_PersistentTransientMap.hxx>
+//csfdb I/E
+#include <FSD_File.hxx>
+#include <ShapeSchema.hxx>
+#include <Storage_Data.hxx>
+#include <Storage_HSeqOfRoot.hxx>
+#include <Storage_Root.hxx>
+// iges I/E
+#include <IGESControl_Reader.hxx>
+#include <IGESControl_Controller.hxx>
+#include <IGESControl_Writer.hxx>
+#include <IFSelect_ReturnStatus.hxx>
+#include <Interface_Static.hxx>
+//step I/E
+#include <STEPControl_Reader.hxx>
+#include <STEPControl_Writer.hxx>
+//for stl export
+#include <StlAPI_Writer.hxx>
+//for vrml export
+#include <VrmlAPI_Writer.hxx>
+//wrapper of pure C++ classes to ref classes
+#include <NCollection_Haft.h>
+
+// list of required OCCT libraries
+#pragma comment(lib, "TKernel.lib")
+#pragma comment(lib, "TKMath.lib")
+#pragma comment(lib, "TKBRep.lib")
+#pragma comment(lib, "PTKernel.lib")
+#pragma comment(lib, "TKPShape.lib")
+#pragma comment(lib, "TKShapeSchema.lib")
+#pragma comment(lib, "TKXSBase.lib")
+#pragma comment(lib, "TKService.lib")
+#pragma comment(lib, "TKV3d.lib")
+#pragma comment(lib, "TKIGES.lib")
+#pragma comment(lib, "TKSTEP.lib")
+#pragma comment(lib, "TKStl.lib")
+#pragma comment(lib, "TKVrml.lib")
+
+/// <summary>
+/// Proxy class encapsulating calls to OCCT C++ classes within 
+/// C++/CLI class visible from .Net (CSharp)
+/// </summary>
+public ref class OCCTProxy
+{
+public:
+  // ============================================
+  // Viewer functionality
+  // ============================================
+
+  /// <summary>
+  ///Initialize a viewer
+  /// </summary>
+  /// <param name="theWnd">System.IntPtr that contains the window handle (HWND) of the control</param>
+  bool InitViewer(System::IntPtr theWnd)
+  {
+    try
+    {
+      Handle(Aspect_DisplayConnection) aDisplayConnection;
+      myGraphicDriver() = Graphic3d::InitGraphicDriver (aDisplayConnection);
+    }
+    catch (Standard_Failure)
+    {
+      return false;
+    }
+
+    TCollection_ExtendedString a3DName("Visu3D");
+    myViewer() = new V3d_Viewer (myGraphicDriver(), a3DName.ToExtString(),"", 1000.0, 
+                                V3d_XposYnegZpos, Quantity_NOC_GRAY30,
+                                V3d_ZBUFFER,V3d_GOURAUD,V3d_WAIT, 
+                                Standard_True, Standard_False);
+
+    myViewer()->Init();
+    myViewer()->SetDefaultLights();
+    myViewer()->SetLightOn();
+    myView() = myViewer()->CreateView();
+    Handle(WNT_Window) aWNTWindow = new WNT_Window (reinterpret_cast<HWND> (theWnd.ToPointer()));
+    myView()->SetWindow(aWNTWindow);
+    if (!aWNTWindow->IsMapped())
+    {
+      aWNTWindow->Map();
+    }
+    myAISContext() = new AIS_InteractiveContext( myViewer() );
+    myAISContext()->UpdateCurrentViewer();
+    myView()->Redraw();
+    myView()->MustBeResized();
+    return true;
+  }
+
+  /// <summary>
+  /// Make dump of current view to file
+  /// </summary>
+  /// <param name="theFileName">Name of dump file</param>
+  bool Dump(char *theFileName)
+  {
+    if (myView().IsNull())
+    {
+      return false;
+    }
+    myView()->Redraw();
+    return myView()->Dump(theFileName) != Standard_False;
+  }
+
+  /// <summary>
+  ///Redraw view
+  /// </summary>
+  void RedrawView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->Redraw();
+    }
+  }
+
+  /// <summary>
+  ///Update view
+  /// </summary>
+  void UpdateView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->MustBeResized();
+    }
+  }
+
+  /// <summary>
+  ///Set computed mode in false
+  /// </summary>
+  void SetDegenerateModeOn(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetComputedMode (Standard_False);
+    }
+  }
+
+  /// <summary>
+  ///Set computed mode in true
+  /// </summary>
+  void SetDegenerateModeOff(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetComputedMode (Standard_True);
+    }
+  }
+
+  /// <summary>
+  ///Fit all
+  /// </summary>
+  void WindowFitAll(int theXmin, int theYmin, int theXmax, int theYmax)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->WindowFitAll(theXmin, theYmin, theXmax, theYmax);
+    }
+  }
+
+  /// <summary>
+  ///Current place of window
+  /// </summary>
+  /// <param name="theZoomFactor">Current zoom</param>
+  void Place(int theX, int theY, float theZoomFactor)
+  {    
+    Quantity_Factor aZoomFactor = theZoomFactor;
+    if (!myView().IsNull())
+    {
+      myView()->Place(theX, theY, aZoomFactor);
+    }
+  }
+
+  /// <summary>
+  ///Set Zoom
+  /// </summary>
+  void Zoom(int theX1, int theY1, int theX2, int theY2)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->Zoom(theX1, theY1, theX2, theY2);
+    }
+  }
+
+  /// <summary>
+  ///Set Pan
+  /// </summary>
+  void Pan(int theX, int theY)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->Pan(theX, theY);
+    }
+  }
+
+  /// <summary>
+  ///Rotation
+  /// </summary>
+  void Rotation(int theX, int theY)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->Rotation(theX, theY);
+    }
+  }
+
+  /// <summary>
+  ///Start rotation
+  /// </summary>
+  void StartRotation(int theX, int theY)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->StartRotation(theX, theY);
+    }
+  }
+
+  /// <summary>
+  ///Select by rectangle
+  /// </summary>
+  void Select(int theX1, int theY1, int theX2, int theY2)
+  {
+    if (!myAISContext().IsNull())
+    {
+      myAISContext()->Select(theX1, theY1, theX2, theY2, myView());
+    }
+  }
+
+  /// <summary>
+  ///Select by click
+  /// </summary>
+  void Select(void)
+  {
+    if (!myAISContext().IsNull())
+    {
+      myAISContext()->Select();
+    }
+  }
+
+  /// <summary>
+  ///Move view
+  /// </summary>
+  void MoveTo(int theX, int theY)
+  {
+    if ((!myAISContext().IsNull()) && (!myView().IsNull()))
+    {
+      myAISContext()->MoveTo(theX, theY, myView());
+    }
+  }
+
+  /// <summary>
+  ///Select by rectangle with pressed "Shift" key
+  /// </summary>
+  void ShiftSelect(int theX1, int theY1, int theX2, int theY2)
+  {
+    if ((!myAISContext().IsNull()) && (!myView().IsNull()))
+    {
+      myAISContext()->ShiftSelect(theX1, theY1, theX2, theY2, myView());
+    }
+  }
+
+  /// <summary>
+  ///Select by "Shift" key
+  /// </summary>
+  void ShiftSelect(void)
+  {
+    if (!myAISContext().IsNull())
+    {
+      myAISContext()->ShiftSelect();
+    }
+  }
+
+  /// <summary>
+  ///Set background color
+  /// </summary>
+  void BackgroundColor(int& theRed, int& theGreen, int& theBlue)
+  {
+    Standard_Real R1;
+    Standard_Real G1;
+    Standard_Real B1;
+    if (!myView().IsNull())
+    {
+      myView()->BackgroundColor(Quantity_TOC_RGB,R1,G1,B1);
+    }
+    theRed = (int)R1*255;
+    theGreen = (int)G1*255;
+    theBlue = (int)B1*255;
+  }
+
+  /// <summary>
+  ///Get background color Red
+  /// </summary>
+  int GetBGColR(void)
+  {
+    int aRed, aGreen, aBlue;
+    BackgroundColor(aRed, aGreen, aBlue);
+    return aRed;
+  }
+
+  /// <summary>
+  ///Get background color Green
+  /// </summary>
+  int GetBGColG(void)
+  {
+    int aRed, aGreen, aBlue;
+    BackgroundColor(aRed, aGreen, aBlue);
+    return aGreen;
+  }
+
+  /// <summary>
+  ///Get background color Blue
+  /// </summary>
+  int GetBGColB(void)
+  {
+    int aRed, aGreen, aBlue;
+    BackgroundColor(aRed, aGreen, aBlue);
+    return aBlue;
+  }
+
+  /// <summary>
+  ///Update current viewer
+  /// </summary>
+  void UpdateCurrentViewer(void)
+  {
+    if (!myAISContext().IsNull())
+    {
+      myAISContext()->UpdateCurrentViewer();
+    }
+  }
+
+  /// <summary>
+  ///Front side
+  /// </summary>
+  void FrontView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetProj(V3d_Xpos);
+    }
+  }
+
+  /// <summary>
+  ///Top side
+  /// </summary>
+  void TopView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetProj(V3d_Zpos);
+    }
+  }
+
+  /// <summary>
+  ///Left side
+  /// </summary>
+  void LeftView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetProj(V3d_Ypos);
+    }
+  }
+
+  /// <summary>
+  ///Back side
+  /// </summary>
+  void BackView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetProj(V3d_Xneg);
+    }
+  }
+
+  /// <summary>
+  ///Right side
+  /// </summary>
+  void RightView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetProj(V3d_Yneg);
+    }
+  }
+
+  /// <summary>
+  ///Bottom side
+  /// </summary>
+  void BottomView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetProj(V3d_Zneg);
+    }
+  }
+
+  /// <summary>
+  ///Axo side
+  /// </summary>
+  void AxoView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetProj(V3d_XposYnegZpos);
+    }
+  }
+
+  /// <summary>
+  ///Scale
+  /// </summary>
+  float Scale(void)
+  {
+    if (myView().IsNull())
+    {
+      return -1;
+    }
+    else
+    {
+      return (float)myView()->Scale();
+    }
+  }
+
+  /// <summary>
+  ///Zoom in all view
+  /// </summary>
+  void ZoomAllView(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->FitAll();
+      myView()->ZFitAll();
+    }
+  }
+
+  /// <summary>
+  ///Reset view
+  /// </summary>
+  void Reset(void)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->Reset();
+    }
+  }
+
+  /// <summary>
+  ///Set display mode of objects
+  /// </summary>
+  /// <param name="theMode">Set current mode</param>
+  void SetDisplayMode(int theMode)
+  {
+    if (myAISContext().IsNull())
+    {
+      return;
+    }
+    AIS_DisplayMode aCurrentMode;
+    if (theMode == 0)
+    {
+      aCurrentMode=AIS_WireFrame;
+    }
+    else
+    {
+      aCurrentMode=AIS_Shaded;
+    }
+
+    if(myAISContext()->NbCurrents()==0 || myAISContext()->NbSelected()==0)
+    {
+       myAISContext()->SetDisplayMode(aCurrentMode);
+    }
+    else 
+    {
+       for(myAISContext()->InitCurrent(); myAISContext()->MoreCurrent(); myAISContext()->NextCurrent())
+       {
+         myAISContext()->SetDisplayMode(myAISContext()->Current(), theMode, Standard_False);
+       }
+    }
+    myAISContext()->UpdateCurrentViewer();
+  }
+
+  /// <summary>
+  ///Set color
+  /// </summary>
+  void SetColor(int theR, int theG, int theB)
+  {
+    if (myAISContext().IsNull())
+    {
+      return;
+    }
+    Quantity_Color aCol =  Quantity_Color(theR/255.,theG/255.,theB/255.,Quantity_TOC_RGB);
+    for (;myAISContext()->MoreCurrent ();myAISContext()->NextCurrent ())
+    {
+      myAISContext()->SetColor (myAISContext()->Current(),aCol.Name());
+    }
+  }
+
+  /// <summary>
+  ///Get object color red
+  /// </summary>
+  int GetObjColR(void)
+  {
+    int aRed, aGreen, aBlue;
+    ObjectColor(aRed, aGreen, aBlue);
+    return aRed;
+  }
+
+  /// <summary>
+  ///Get object color green
+  /// </summary>
+  int GetObjColG(void)
+  {
+    int aRed, aGreen, aBlue;
+    ObjectColor(aRed, aGreen, aBlue);
+    return aGreen;
+  }
+
+  /// <summary>
+  ///Get object color R/G/B
+  /// </summary>
+  void ObjectColor(int& theRed, int& theGreen, int& theBlue)
+  {
+    if (myAISContext().IsNull())
+    {
+      return;
+    }
+    theRed=255;
+    theGreen=255;
+    theBlue=255;
+    Handle_AIS_InteractiveObject aCurrent ;
+    Quantity_Color anObjCol;
+    myAISContext()->InitCurrent();
+    if (!myAISContext()->MoreCurrent())
+    {
+      return;
+    }
+    aCurrent = myAISContext()->Current();
+    if ( aCurrent->HasColor () ) 
+    {
+      anObjCol = myAISContext()->Color(myAISContext()->Current());
+      Quantity_Parameter r1, r2, r3;
+      anObjCol.Values(r1, r2, r3, Quantity_TOC_RGB);
+      theRed=(int)r1*255;
+      theGreen=(int)r2*255;
+      theBlue=(int)r3*255;
+    }
+  }
+
+  /// <summary>
+  ///Get object color blue
+  /// </summary>
+  int GetObjColB(void)
+  {
+    int aRed, aGreen, aBlue;
+    ObjectColor(aRed, aGreen, aBlue);
+    return aBlue;
+  }
+
+  /// <summary>
+  ///Set background color R/G/B
+  /// </summary>
+  void SetBackgroundColor(int theRed, int theGreen, int theBlue)
+  {
+    if (!myView().IsNull())
+    {
+      myView()->SetBackgroundColor(Quantity_TOC_RGB, theRed/255.,theGreen/255.,theBlue/255.);
+    }
+  }
+
+  /// <summary>
+  ///Erase objects
+  /// </summary>
+  void EraseObjects(void)
+  {
+    if (myAISContext().IsNull())
+    {
+      return;
+    }
+    for(myAISContext()->InitCurrent();myAISContext()->MoreCurrent();myAISContext()->NextCurrent())
+    {
+        myAISContext()->Erase(myAISContext()->Current(),Standard_True);
+    }
+    myAISContext()->ClearCurrents();
+  }
+
+  /// <summary>
+  ///Get version
+  /// </summary>
+  float GetOCCVersion(void)
+  {
+    return (float)OCC_VERSION;
+  }
+
+  /// <summary>
+  ///set material
+  /// </summary>
+  void SetMaterial(int theMaterial)
+  {
+    if (myAISContext().IsNull())
+    {
+      return;
+    }
+    for ( myAISContext()->InitCurrent(); myAISContext()->MoreCurrent (); myAISContext()->NextCurrent () )
+    {
+      myAISContext()->SetMaterial( myAISContext()->Current(), (Graphic3d_NameOfMaterial)theMaterial );
+    }
+    myAISContext()->UpdateCurrentViewer();
+  }
+
+  /// <summary>
+  ///set transparency
+  /// </summary>
+  void SetTransparency(int theTrans)
+  {
+    if (myAISContext().IsNull())
+    {
+      return;
+    }
+    for( myAISContext()->InitCurrent(); myAISContext()->MoreCurrent(); myAISContext()->NextSelected() )
+    {
+      myAISContext()->SetTransparency( myAISContext()->Current(), ((Standard_Real)theTrans) / 10.0 );
+    }
+  }
+
+  /// <summary>
+  ///Return true if object is selected
+  /// </summary>
+  bool IsObjectSelected(void)
+  {
+    if (myAISContext().IsNull())
+    {
+      return false;
+    }
+    myAISContext()->InitCurrent();
+    return myAISContext()->MoreCurrent() != Standard_False;
+  }
+
+  /// <summary>
+  ///Return display mode
+  /// </summary>
+  int DisplayMode(void)
+  {
+    if (myAISContext().IsNull())
+    {
+      return -1;
+    }
+    int aMode = -1;
+    bool OneOrMoreInShading = false;
+    bool OneOrMoreInWireframe = false;
+    for (myAISContext()->InitCurrent(); myAISContext()->MoreCurrent(); myAISContext()->NextCurrent())
+    {
+      if ( myAISContext()->IsDisplayed( myAISContext()->Current(), 1 ) )
+      {
+        OneOrMoreInShading = true;
+      }
+      if ( myAISContext()->IsDisplayed( myAISContext()->Current(), 0 ) )
+      {
+        OneOrMoreInWireframe = true;
+      }
+    }
+    if (OneOrMoreInShading && OneOrMoreInWireframe)
+    {
+      aMode=10;
+    }
+    else if(OneOrMoreInShading)
+    {
+      aMode=1;
+    }
+    else if (OneOrMoreInWireframe)
+    {
+      aMode=0;
+    }
+
+    return aMode;
+  }
+
+  /// <summary>
+  ///Create new view
+  /// </summary>
+  /// <param name="theWnd">System.IntPtr that contains the window handle (HWND) of the control</param>
+  void CreateNewView(System::IntPtr theWnd)
+  {
+    if (myAISContext().IsNull())
+    {
+      return;
+    }
+    myView() = myAISContext()->CurrentViewer()->CreateView();
+    if (myGraphicDriver().IsNull())
+    {
+      Handle(Aspect_DisplayConnection) aDisplayConnection;
+      myGraphicDriver() = Graphic3d::InitGraphicDriver (aDisplayConnection);
+    }
+    Handle(WNT_Window) aWNTWindow = new WNT_Window (reinterpret_cast<HWND> (theWnd.ToPointer()));
+    myView()->SetWindow(aWNTWindow);
+    Standard_Integer w=100, h=100;
+    aWNTWindow->Size(w,h);
+    if (!aWNTWindow->IsMapped())
+    {
+      aWNTWindow->Map();
+    }
+  }
+
+  /// <summary>
+  ///Set AISContext
+  /// </summary>
+  bool SetAISContext(OCCTProxy^ theViewer)
+  {
+     this->myAISContext() = theViewer->GetContext();
+     if (myAISContext().IsNull())
+     {
+       return false;
+     }
+    return true;
+  }
+
+  /// <summary>
+  ///Get AISContext
+  /// </summary>
+  Handle_AIS_InteractiveContext GetContext(void)
+  {
+    return myAISContext();
+  }
+
+public:
+  // ============================================
+  // Import / export functionality
+  // ============================================
+
+  /// <summary>
+  ///Import BRep file
+  /// </summary>
+  /// <param name="theFileName">Name of import file</param>
+  bool ImportBrep(System::String^ theFileName)
+  {
+    bool isResult = false;
+    int aLength = theFileName->Length;
+    char* aFilename = new char[aLength+1];
+    for(int i = 0; i<aLength; i++)
+    {
+      aFilename[i] = (char)theFileName->ToCharArray()[i];
+    }
+    aFilename[aLength] = '\0';
+    isResult = ImportBrep(aFilename);
+    return isResult;
+  }
+
+  /// <summary>
+  ///Import BRep file
+  /// </summary>
+  /// <param name="theFileName">Name of import file</param>
+  bool ImportBrep(char* theFileName)
+  {
+    Standard_CString aFileName = (Standard_CString) theFileName;
+    TopoDS_Shape aShape;
+    BRep_Builder aBuilder;
+    Standard_Boolean isResult = BRepTools::Read(aShape,aFileName,aBuilder);
+    if (!isResult)
+    {
+      return false;
+    }
+    if(myAISContext()->HasOpenedContext())
+    {
+      myAISContext()->CloseLocalContext();
+    }
+    myAISContext()->Display(new AIS_Shape(aShape));
+    return true;
+  }
+
+  /// <summary>
+  ///Import Csfdb file
+  /// </summary>
+  /// <param name="theFileName">Name of import file</param>
+  bool ImportCsfdb(char* theFileName)
+  {
+    Standard_CString aFileName = (Standard_CString) theFileName;
+    if ( FSD_File::IsGoodFileType(aFileName) != Storage_VSOk )
+    {
+      return false;
+    }
+
+    FSD_File aFileDriver;
+    TCollection_AsciiString aName( aFileName );
+    if ( aFileDriver.Open( aName, Storage_VSRead ) != Storage_VSOk )
+    {
+      return false;
+    }
+
+    Handle(ShapeSchema) aSchema = new ShapeSchema();
+    Handle(Storage_Data) data  = aSchema->Read( aFileDriver );
+    if ( data->ErrorStatus() != Storage_VSOk )
+    {
+      return false;
+    }
+    aFileDriver.Close();
+
+    Handle(Storage_HSeqOfRoot) aRoots = data->Roots();
+    for ( int i = 1; i <= aRoots->Length() ; i++ )
+    {
+      Handle(Storage_Root) aStorRoot = aRoots->Value( i );
+      Handle(Standard_Persistent) aStandPersistent = aStorRoot->Object();
+      Handle(PTopoDS_HShape) aPShape = Handle(PTopoDS_HShape)::DownCast(aStandPersistent);
+      if ( !aPShape.IsNull() )
+      {
+        PTColStd_PersistentTransientMap aMap;
+        TopoDS_Shape aTShape;
+        MgtBRep::Translate( aPShape, aMap, aTShape, MgtBRep_WithTriangle );
+        myAISContext()->Display(new AIS_Shape(aTShape));
+      }
+    }
+
+    return true;
+  }
+
+  /// <summary>
+  ///Import Step file
+  /// </summary>
+  /// <param name="theFileName">Name of import file</param>
+  bool ImportStep(char* theFileName)
+  {
+    Standard_CString aFileName = (Standard_CString) theFileName;
+    STEPControl_Reader aReader;
+    IFSelect_ReturnStatus aStatus = aReader.ReadFile(aFileName);
+    if ( aStatus == IFSelect_RetDone )
+    {
+      bool isFailsonly = false;
+      aReader.PrintCheckLoad( isFailsonly, IFSelect_ItemsByEntity );
+
+      int aNbRoot = aReader.NbRootsForTransfer();
+      aReader.PrintCheckTransfer( isFailsonly, IFSelect_ItemsByEntity );
+      for ( Standard_Integer n = 1; n <= aNbRoot; n++ )
+      {
+        Standard_Boolean ok = aReader.TransferRoot( n );
+        int aNbShap = aReader.NbShapes();
+        if ( aNbShap > 0 )
+        {
+          for ( int i = 1; i <= aNbShap; i++ )
+          {
+            TopoDS_Shape aShape = aReader.Shape( i );
+            myAISContext()->Display(new AIS_Shape(aShape));
+          }
+        }
+      }
+    }
+    else
+    {
+      return false;
+    }
+
+    return true;
+  }
+
+  /// <summary>
+  ///Import Iges file
+  /// </summary>
+  /// <param name="theFileName">Name of import file</param>
+  bool ImportIges(char* theFileName)
+  {
+    Standard_CString aFileName = (Standard_CString) theFileName;
+    IGESControl_Reader aReader;
+    int aStatus = aReader.ReadFile( aFileName );
+
+    if ( aStatus == IFSelect_RetDone )
+    {
+      aReader.TransferRoots();
+      TopoDS_Shape aShape = aReader.OneShape();
+      myAISContext()->Display(new AIS_Shape(aShape));
+    }
+    else
+    {
+      return false;
+    }
+
+    myAISContext()->UpdateCurrentViewer();
+    return true;
+  }
+
+  /// <summary>
+  ///Export BRep file
+  /// </summary>
+  /// <param name="theFileName">Name of export file</param>
+  bool ExportBRep(char* theFileName)
+  {
+    myAISContext()->InitCurrent();
+    if (!myAISContext()->MoreCurrent())
+    {
+      return false;
+    }
+
+    Handle_AIS_InteractiveObject anIO = myAISContext()->Current();
+    Handle_AIS_Shape anIS = Handle_AIS_Shape::DownCast(anIO);
+    return BRepTools::Write (anIS->Shape(), (Standard_CString)theFileName) != Standard_False;
+  }
+
+  /// <summary>
+  ///Export Step file
+  /// </summary>
+  /// <param name="theFileName">Name of export file</param>
+  bool ExportStep(char* theFileName)
+  {
+    STEPControl_StepModelType aType = STEPControl_AsIs;
+    IFSelect_ReturnStatus aStatus;
+    STEPControl_Writer aWriter;
+    for ( myAISContext()->InitCurrent(); myAISContext()->MoreCurrent(); myAISContext()->NextCurrent() )
+    {
+      Handle_AIS_InteractiveObject anIO = myAISContext()->Current();
+      Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
+      TopoDS_Shape aShape = anIS->Shape();
+      aStatus = aWriter.Transfer( aShape , aType );
+      if ( aStatus != IFSelect_RetDone )
+      {
+        return false;
+      }
+    }
+
+    aStatus = aWriter.Write( (Standard_CString)theFileName );
+    if ( aStatus != IFSelect_RetDone )
+    {
+      return false;
+    }
+
+    return true;
+  }
+
+  /// <summary>
+  ///Export Iges file
+  /// </summary>
+  /// <param name="theFileName">Name of export file</param>
+  bool ExportIges(char* theFileName)
+  {
+    IGESControl_Controller::Init();
+    IGESControl_Writer aWriter( Interface_Static::CVal( "XSTEP.iges.unit" ),
+      Interface_Static::IVal( "XSTEP.iges.writebrep.mode" ) );
+
+    for ( myAISContext()->InitCurrent(); myAISContext()->MoreCurrent(); myAISContext()->NextCurrent() )
+    {
+      Handle_AIS_InteractiveObject anIO = myAISContext()->Current();
+      Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
+      TopoDS_Shape aShape = anIS->Shape();
+      aWriter.AddShape ( aShape );
+    }
+
+    aWriter.ComputeModel();
+    return aWriter.Write( (Standard_CString)theFileName) != Standard_False;
+  }
+
+  /// <summary>
+  ///Export Vrml file
+  /// </summary>
+  /// <param name="theFileName">Name of export file</param>
+  bool ExportVrml(char* theFileName)
+  {
+    TopoDS_Compound aRes;
+    BRep_Builder aBuilder;
+    aBuilder.MakeCompound( aRes );
+
+    for ( myAISContext()->InitCurrent(); myAISContext()->MoreCurrent(); myAISContext()->NextCurrent() )
+    {
+      Handle_AIS_InteractiveObject anIO = myAISContext()->Current();
+      Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
+      TopoDS_Shape aShape = anIS->Shape();
+      if ( aShape.IsNull() )
+      {
+        return false;
+      }
+
+      aBuilder.Add( aRes, aShape );
+    }
+
+    VrmlAPI_Writer aWriter;
+    aWriter.Write( aRes, (Standard_CString)theFileName );
+
+    return true;
+  }
+
+  /// <summary>
+  ///Export Stl file
+  /// </summary>
+  /// <param name="theFileName">Name of export file</param>
+  bool ExportStl(char* theFileName)
+  {
+    TopoDS_Compound aComp;
+    BRep_Builder aBuilder;
+    aBuilder.MakeCompound( aComp );
+
+    for ( myAISContext()->InitCurrent(); myAISContext()->MoreCurrent(); myAISContext()->NextCurrent() )
+    {
+      Handle_AIS_InteractiveObject anIO = myAISContext()->Current();
+      Handle_AIS_Shape anIS=Handle_AIS_Shape::DownCast(anIO);
+      TopoDS_Shape aShape = anIS->Shape();
+      if ( aShape.IsNull() ) 
+      {
+        return false;
+      }
+      aBuilder.Add( aComp, aShape );
+    }
+
+    StlAPI_Writer aWriter;
+    aWriter.Write( aComp, (Standard_CString)theFileName );
+    return true;
+  }
+
+  /// <summary>
+  ///Define which Import/Export function must be called
+  /// </summary>
+  /// <param name="theFileName">Name of Import/Export file</param>
+  /// <param name="theFormat">Determines format of Import/Export file</param>
+  /// <param name="theIsImport">Determines is Import or not</param>
+  bool TranslateModel(System::String^ theFileName, int theFormat, bool theIsImport)
+  {
+    bool isResult;
+    int aLength = theFileName->Length;
+    char* aFilename = new char[aLength+1];
+    for(int i = 0; i<aLength; i++)
+    {
+      aFilename[i] = (char)theFileName->ToCharArray()[i];
+    }
+    aFilename[aLength] = '\0';
+
+    if (theIsImport)
+    {
+      switch(theFormat)
+      {
+      case 0:
+        isResult = ImportBrep(aFilename);
+        break;
+      case 1:
+        isResult = ImportCsfdb(aFilename);
+        break;
+      case 2:
+        isResult = ImportStep(aFilename);
+        break;
+      case 3:
+        isResult = ImportIges(aFilename);
+        break;
+      default:
+        isResult = false;
+      }
+    }
+    else 
+    {
+      switch(theFormat)
+      {
+      case 0:
+        isResult = ExportBRep(aFilename);
+        break;
+      case 2:
+        isResult = ExportStep(aFilename);
+        break;
+      case 3:
+        isResult = ExportIges(aFilename);
+        break;
+      case 4:
+        isResult = ExportVrml(aFilename);
+        break;
+      case 5:
+        isResult = ExportStl(aFilename);
+        break;
+      case 6:
+        isResult = Dump(aFilename);
+        break;
+      default:
+        isResult = false;
+      }
+    }
+    return isResult;
+  }
+
+  /// <summary>
+  ///Initialize OCCTProxy
+  /// </summary>
+  void InitOCCTProxy(void)
+  {
+    myGraphicDriver()=NULL;
+    myViewer()=NULL;
+    myView()=NULL;
+    myAISContext()=NULL;
+  }
+
+private:
+  // fields
+  NCollection_Haft<Handle_V3d_Viewer> myViewer;
+  NCollection_Haft<Handle_V3d_View> myView;
+  NCollection_Haft<Handle_AIS_InteractiveContext> myAISContext;
+  NCollection_Haft<Handle_Graphic3d_GraphicDriver> myGraphicDriver;
+};
diff --git a/samples/CSharp/OCCTProxy/OCCTProxy.vcproj b/samples/CSharp/OCCTProxy/OCCTProxy.vcproj
new file mode 100644 (file)
index 0000000..eefb3bb
--- /dev/null
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+       ProjectType="Visual C++"
+       Version="9,00"
+       Name="OCCTProxy"
+       ProjectGUID="{969912D9-78E7-4AB8-B4FF-6B52B4F03991}"
+       RootNamespace="OCCTProxy"
+       Keyword="Win32Proj"
+       TargetFrameworkVersion="131072"
+       >
+       <Platforms>
+               <Platform
+                       Name="Win32"
+               />
+               <Platform
+                       Name="x64"
+               />
+       </Platforms>
+       <ToolFiles>
+       </ToolFiles>
+       <Configurations>
+               <Configuration
+                       Name="Debug|Win32"
+                       OutputDirectory="..\win32\bind"
+                       IntermediateDirectory="obj\$(PlatformName)\$(ConfigurationName)"
+                       ConfigurationType="2"
+                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+                       CharacterSet="2"
+                       ManagedExtensions="1"
+                       >
+                       <Tool
+                               Name="VCPreBuildEventTool"
+                       />
+                       <Tool
+                               Name="VCCustomBuildTool"
+                       />
+                       <Tool
+                               Name="VCXMLDataGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCWebServiceProxyGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCMIDLTool"
+                       />
+                       <Tool
+                               Name="VCCLCompilerTool"
+                               Optimization="0"
+                               AdditionalIncludeDirectories="..\OCC\;$(CSF_OPT_INC)"
+                               PreprocessorDefinitions="WNT"
+                               MinimalRebuild="false"
+                               BasicRuntimeChecks="0"
+                               RuntimeLibrary="3"
+                               UsePrecompiledHeader="0"
+                               WarningLevel="3"
+                               DebugInformationFormat="3"
+                       />
+                       <Tool
+                               Name="VCManagedResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCPreLinkEventTool"
+                       />
+                       <Tool
+                               Name="VCLinkerTool"
+                               OutputFile="$(OutDir)/OCCTProxy.dll"
+                               LinkIncremental="2"
+                               AdditionalLibraryDirectories="$(CSF_OPT_LIB32D)"
+                               GenerateDebugInformation="true"
+                               AssemblyDebug="1"
+                               ProgramDatabaseFile="$(OutDir)/OCCTProxy.pdb"
+                               SubSystem="2"
+                               RandomizedBaseAddress="1"
+                               DataExecutionPrevention="0"
+                               ImportLibrary="$(OutDir)/OCCTProxy.lib"
+                               TargetMachine="1"
+                       />
+                       <Tool
+                               Name="VCALinkTool"
+                       />
+                       <Tool
+                               Name="VCManifestTool"
+                       />
+                       <Tool
+                               Name="VCXDCMakeTool"
+                       />
+                       <Tool
+                               Name="VCBscMakeTool"
+                       />
+                       <Tool
+                               Name="VCFxCopTool"
+                       />
+                       <Tool
+                               Name="VCAppVerifierTool"
+                       />
+                       <Tool
+                               Name="VCPostBuildEventTool"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Debug|x64"
+                       OutputDirectory="..\win64\bind"
+                       IntermediateDirectory="obj\$(PlatformName)\$(ConfigurationName)"
+                       ConfigurationType="2"
+                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+                       CharacterSet="2"
+                       ManagedExtensions="1"
+                       >
+                       <Tool
+                               Name="VCPreBuildEventTool"
+                       />
+                       <Tool
+                               Name="VCCustomBuildTool"
+                       />
+                       <Tool
+                               Name="VCXMLDataGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCWebServiceProxyGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCMIDLTool"
+                               TargetEnvironment="3"
+                       />
+                       <Tool
+                               Name="VCCLCompilerTool"
+                               Optimization="0"
+                               AdditionalIncludeDirectories="..\OCC\;$(CSF_OPT_INC)"
+                               PreprocessorDefinitions="WNT"
+                               MinimalRebuild="false"
+                               BasicRuntimeChecks="0"
+                               RuntimeLibrary="3"
+                               UsePrecompiledHeader="0"
+                               WarningLevel="3"
+                               DebugInformationFormat="3"
+                       />
+                       <Tool
+                               Name="VCManagedResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCPreLinkEventTool"
+                       />
+                       <Tool
+                               Name="VCLinkerTool"
+                               OutputFile="$(OutDir)/OCCTProxy.dll"
+                               LinkIncremental="2"
+                               AdditionalLibraryDirectories="$(CSF_OPT_LIB64D)"
+                               GenerateDebugInformation="true"
+                               AssemblyDebug="1"
+                               ProgramDatabaseFile="$(OutDir)/OCCTProxy.pdb"
+                               SubSystem="2"
+                               RandomizedBaseAddress="1"
+                               DataExecutionPrevention="0"
+                               ImportLibrary="$(OutDir)/OCCTProxy.lib"
+                               TargetMachine="17"
+                       />
+                       <Tool
+                               Name="VCALinkTool"
+                       />
+                       <Tool
+                               Name="VCManifestTool"
+                       />
+                       <Tool
+                               Name="VCXDCMakeTool"
+                       />
+                       <Tool
+                               Name="VCBscMakeTool"
+                       />
+                       <Tool
+                               Name="VCFxCopTool"
+                       />
+                       <Tool
+                               Name="VCAppVerifierTool"
+                       />
+                       <Tool
+                               Name="VCPostBuildEventTool"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release|Win32"
+                       OutputDirectory="..\win32\bin"
+                       IntermediateDirectory="obj\$(PlatformName)\$(ConfigurationName)"
+                       ConfigurationType="2"
+                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+                       CharacterSet="2"
+                       ManagedExtensions="1"
+                       >
+                       <Tool
+                               Name="VCPreBuildEventTool"
+                       />
+                       <Tool
+                               Name="VCCustomBuildTool"
+                       />
+                       <Tool
+                               Name="VCXMLDataGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCWebServiceProxyGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCMIDLTool"
+                       />
+                       <Tool
+                               Name="VCCLCompilerTool"
+                               AdditionalIncludeDirectories="..\OCC\;$(CSF_OPT_INC)"
+                               PreprocessorDefinitions="WNT"
+                               RuntimeLibrary="2"
+                               UsePrecompiledHeader="0"
+                               WarningLevel="3"
+                               DebugInformationFormat="3"
+                       />
+                       <Tool
+                               Name="VCManagedResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCPreLinkEventTool"
+                       />
+                       <Tool
+                               Name="VCLinkerTool"
+                               OutputFile="$(OutDir)/OCCTProxy.dll"
+                               LinkIncremental="1"
+                               AdditionalLibraryDirectories="$(CSF_OPT_LIB32)"
+                               GenerateDebugInformation="true"
+                               SubSystem="2"
+                               OptimizeReferences="2"
+                               EnableCOMDATFolding="2"
+                               RandomizedBaseAddress="1"
+                               DataExecutionPrevention="0"
+                               ImportLibrary="$(OutDir)/OCCTProxy.lib"
+                               TargetMachine="1"
+                       />
+                       <Tool
+                               Name="VCALinkTool"
+                       />
+                       <Tool
+                               Name="VCManifestTool"
+                       />
+                       <Tool
+                               Name="VCXDCMakeTool"
+                       />
+                       <Tool
+                               Name="VCBscMakeTool"
+                       />
+                       <Tool
+                               Name="VCFxCopTool"
+                       />
+                       <Tool
+                               Name="VCAppVerifierTool"
+                       />
+                       <Tool
+                               Name="VCPostBuildEventTool"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release|x64"
+                       OutputDirectory="..\win64\bin"
+                       IntermediateDirectory="obj\$(PlatformName)\$(ConfigurationName)"
+                       ConfigurationType="2"
+                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+                       CharacterSet="2"
+                       ManagedExtensions="1"
+                       >
+                       <Tool
+                               Name="VCPreBuildEventTool"
+                       />
+                       <Tool
+                               Name="VCCustomBuildTool"
+                       />
+                       <Tool
+                               Name="VCXMLDataGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCWebServiceProxyGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCMIDLTool"
+                               TargetEnvironment="3"
+                       />
+                       <Tool
+                               Name="VCCLCompilerTool"
+                               AdditionalIncludeDirectories="..\OCC\;$(CSF_OPT_INC)"
+                               PreprocessorDefinitions="WNT"
+                               RuntimeLibrary="2"
+                               UsePrecompiledHeader="0"
+                               WarningLevel="3"
+                               DebugInformationFormat="3"
+                       />
+                       <Tool
+                               Name="VCManagedResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCPreLinkEventTool"
+                       />
+                       <Tool
+                               Name="VCLinkerTool"
+                               OutputFile="$(OutDir)/OCCTProxy.dll"
+                               LinkIncremental="1"
+                               AdditionalLibraryDirectories="$(CSF_OPT_LIB64)"
+                               GenerateDebugInformation="true"
+                               SubSystem="2"
+                               OptimizeReferences="2"
+                               EnableCOMDATFolding="2"
+                               RandomizedBaseAddress="1"
+                               DataExecutionPrevention="0"
+                               ImportLibrary="$(OutDir)/OCCTProxy.lib"
+                               TargetMachine="17"
+                       />
+                       <Tool
+                               Name="VCALinkTool"
+                       />
+                       <Tool
+                               Name="VCManifestTool"
+                       />
+                       <Tool
+                               Name="VCXDCMakeTool"
+                       />
+                       <Tool
+                               Name="VCBscMakeTool"
+                       />
+                       <Tool
+                               Name="VCFxCopTool"
+                       />
+                       <Tool
+                               Name="VCAppVerifierTool"
+                       />
+                       <Tool
+                               Name="VCPostBuildEventTool"
+                       />
+               </Configuration>
+       </Configurations>
+       <References>
+       </References>
+       <Files>
+               <Filter
+                       Name="Source Files"
+                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+                       >
+                       <File
+                               RelativePath=".\OCCTProxy.cpp"
+                               >
+                       </File>
+               </Filter>
+               <Filter
+                       Name="Header Files"
+                       Filter="h;hpp;hxx;hm;inl;inc;xsd"
+                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+                       >
+               </Filter>
+               <Filter
+                       Name="Resource Files"
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+                       >
+               </Filter>
+       </Files>
+       <Globals>
+       </Globals>
+</VisualStudioProject>
diff --git a/samples/CSharp/ReadMe.md b/samples/CSharp/ReadMe.md
new file mode 100644 (file)
index 0000000..62f2963
--- /dev/null
@@ -0,0 +1,50 @@
+#### OCCT CSharp sample
+       
+This sample demonstrates simple way of using OCCT libraries in .Net application
+whitten using CSharp and Windows Forms or Windows Presentation Foundation (WPF).
+
+The connection between .Net and OCCT (C++) level is provided by proxy library,
+OCCProxy, written in C++/CLI. The proxy library contains single ref class
+encapsulating OCCT viewer and providing functionality to manipulate this viewer
+and to import / export OCCT shapes from / to several supported formats of CAD 
+files (IGES, STEP, BREP). 
+
+The sample implements two approaches for organizing user interface with C#.
+Both applications provide the same functionality as the standard OCCT 
+Import/Export sample.
+First project is called "IE_WinForms" and uses Windows Forms for GUI.
+Second application is called "IE_WPF" and uses Windows Presentation Foundation.
+
+Note a few important details:
+
+- to encapsulate C++ class into a field of ref class, template class 
+  NCollection_Haft provided by OCCT is used
+  
+- in order to work consistently on 64-bit systems with OCCT libraries built in 
+  32-bit mode, C# assemblies need to have platform target explicitly set to "x86"
+  (in project Properties / Build)
+  
+- this sample demonstrates indirect method of wrapping C++ to C# using manually
+  created proxy library. Alternative method is available, wrapping individual
+  OCCT classes to C# equivalents so that their full API is available to C# user
+  and the code can be programmed on C# level similarly to C++ one. See desciption
+  of OCCT C# Wrapper in Advanced Samples and Tools on OCCT web site at 
+  http://www.opencascade.org/support/products/advsamples
+
+- in WPF sample, WinForms control is used to encapsulate OCC viewer since WPF 
+  does not provide necessary interface to embed OpenGl view. Other possible
+  solution could be to render OpenGl scene in off-screen buffer and map it
+  to WPF control as image. That approach would allow using all WPF features in
+  control embedding OCCT viewer.
+
+Run msvc.bat to start MS Visual Studio for building the sample.
+Note that project files are provided only for VS 2008, you can open them in
+newer versions of Visual Studio using automatic converter.
+
+Run run_winforms.bat or run_wpf.bat to launch the corresponding sample.
+
+Note that all batch scripts use configuration defined in OCCT custom.bat file
+as default; you can provide arguments specifying VS version, bitness, and mode
+to override these settings, e.g.:
+
+> msvc.bat vc9 win64 Debug
diff --git a/samples/CSharp/WPF/About.xaml b/samples/CSharp/WPF/About.xaml
new file mode 100644 (file)
index 0000000..59f2a05
--- /dev/null
@@ -0,0 +1,18 @@
+<Window
+       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+       x:Class="IE_WPF.AboutDialog"
+       x:Name="Window"
+       xmlns:local="clr-namespace:IE_WPF"
+       Title="About Import/Export Sample"
+       Width="312" Height="285">
+       
+       <StackPanel Orientation="Vertical">
+               <Label Content="Import/Export Sample," HorizontalAlignment="Center"/>
+               <Label Content="Open CASCADE Technology " HorizontalAlignment="Center"/>
+               <Image Source="occ_logo.bmp" Width="194" Height="100" />
+               <Label Content="Copyright (C) 2004-2013, Open CASCADE S.A.S" HorizontalAlignment="Center"/>
+               <Label Content="http://www.opencascade.com" HorizontalAlignment="Center"/>
+               <Button Content="OK" HorizontalAlignment="Center" Width="75" Command="local:IECommands.AboutOk"/>
+       </StackPanel>   
+</Window>
\ No newline at end of file
diff --git a/samples/CSharp/WPF/About.xaml.cs b/samples/CSharp/WPF/About.xaml.cs
new file mode 100644 (file)
index 0000000..c3b0343
--- /dev/null
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace IE_WPF
+{
+       /// <summary>
+       /// Interaction logic for About.xaml
+       /// </summary>
+       public partial class AboutDialog : Window
+       {
+               public AboutDialog()
+               {
+                       this.InitializeComponent();
+
+            CommandBinding aBind_Ok = new CommandBinding( IECommands.AboutOk );
+            aBind_Ok.Executed += OkCommand_Executed;
+            aBind_Ok.CanExecute += OkCommand_CanExecute;
+            CommandBindings.Add( aBind_Ok );
+               }
+  
+        private void OkCommand_Executed( object sender, ExecutedRoutedEventArgs e )
+        {
+            this.Close();
+        }
+
+        private void OkCommand_CanExecute( object sender, CanExecuteRoutedEventArgs e )
+        {
+            e.CanExecute = true;
+        }
+    }
+}
\ No newline at end of file
diff --git a/samples/CSharp/WPF/App.xaml b/samples/CSharp/WPF/App.xaml
new file mode 100644 (file)
index 0000000..d3ba244
--- /dev/null
@@ -0,0 +1,14 @@
+<Application x:Class="IE_WPF.App"
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    StartupUri="MainWindow.xaml">
+    <Application.Resources>
+         
+       <ResourceDictionary>
+               <ResourceDictionary.MergedDictionaries>
+                       <ResourceDictionary Source="Simple Styles.xaml"/>
+               </ResourceDictionary.MergedDictionaries>
+       </ResourceDictionary>
+         
+    </Application.Resources>
+</Application>
diff --git a/samples/CSharp/WPF/App.xaml.cs b/samples/CSharp/WPF/App.xaml.cs
new file mode 100644 (file)
index 0000000..c2a2e28
--- /dev/null
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Windows;
+
+namespace IE_WPF
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+}
diff --git a/samples/CSharp/WPF/IECommands.cs b/samples/CSharp/WPF/IECommands.cs
new file mode 100644 (file)
index 0000000..738260e
--- /dev/null
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows.Input;
+
+namespace IE_WPF
+{
+    public class IECommands
+    {
+        public static RoutedUICommand New { get; private set; }
+        public static RoutedUICommand Close { get; private set; }
+        public static RoutedUICommand Quit { get; private set; }
+        public static RoutedUICommand About { get; private set; }
+        public static RoutedUICommand AboutOk { get; private set; }
+
+        static IECommands()
+        {
+            #region menu
+
+            InputGestureCollection inputsNew = new InputGestureCollection();
+            inputsNew.Add( new KeyGesture( Key.N, ModifierKeys.Control, "Ctrl + N" ) );
+            New = new RoutedUICommand( "New", "New", typeof(IECommands), inputsNew );
+            
+            Close = new RoutedUICommand( "Close", "Close", typeof(IECommands) );
+
+            InputGestureCollection inputsQuit = new InputGestureCollection();
+            inputsQuit.Add( new KeyGesture( Key.F4, ModifierKeys.Alt, "Alt + F4" ) );
+            Quit = new RoutedUICommand( "Quit", "Quit", typeof(IECommands), inputsQuit );
+
+            InputGestureCollection inputsAbout = new InputGestureCollection();
+            inputsAbout.Add( new KeyGesture( Key.F1 ) );
+            About = new RoutedUICommand( "About", "About", typeof(IECommands), inputsAbout );
+
+            #endregion
+
+            #region aboutDlg
+            InputGestureCollection inputsAboutOk = new InputGestureCollection();
+            inputsAboutOk.Add( new KeyGesture( Key.Enter ) );
+            AboutOk = new RoutedUICommand( "AboutOk", "AboutOk", typeof(IECommands), inputsAboutOk );
+            #endregion
+        }
+    }
+}
diff --git a/samples/CSharp/WPF/IE_WPF.csproj b/samples/CSharp/WPF/IE_WPF.csproj
new file mode 100644 (file)
index 0000000..48a7f12
--- /dev/null
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{D12A8897-5BF8-4345-BBB0-8ADE4B9FB9A7}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>IE_WPF</RootNamespace>
+    <AssemblyName>IE_WPF</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
+    <ExpressionBlendVersion>3.0.1927.0</ExpressionBlendVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\win32\bind\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>..\win32\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\win64\bind\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>..\win64\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="UIAutomationProvider">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="PresentationCore">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="PresentationFramework">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsFormsIntegration">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Page Include="About.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Include="MaterialDlg.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Include="Simple Styles.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="About.xaml.cs">
+      <DependentUpon>About.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="IECommands.cs" />
+    <Compile Include="MaterialDlg.xaml.cs">
+      <DependentUpon>MaterialDlg.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <Compile Include="OCCViewer.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TransparencyDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TransparencyDialog.resx">
+      <DependentUpon>TransparencyDialog.cs</DependentUpon>
+    </EmbeddedResource>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <AppDesigner Include="Properties\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Resource Include="res\help.png" />
+    <Resource Include="res\lamp.png" />
+    <Resource Include="res\MainFrame.ico" />
+    <Resource Include="res\new.png" />
+    <Resource Include="res\tool_color.png" />
+    <Resource Include="res\tool_delete.png" />
+    <Resource Include="res\tool_material.png" />
+    <Resource Include="res\tool_shading.png" />
+    <Resource Include="res\tool_transparency.png" />
+    <Resource Include="res\tool_wireframe.png" />
+    <Resource Include="res\view_axo.png" />
+    <Resource Include="res\view_back.png" />
+    <Resource Include="res\view_bottom.png" />
+    <Resource Include="res\view_comp_off.png" />
+    <Resource Include="res\view_comp_on.png" />
+    <Resource Include="res\view_fitall.png" />
+    <Resource Include="res\view_fitarea.png" />
+    <Resource Include="res\view_front.png" />
+    <Resource Include="res\view_glpan.png" />
+    <Resource Include="res\view_left.png" />
+    <Resource Include="res\view_pan.png" />
+    <Resource Include="res\view_reset.png" />
+    <Resource Include="res\view_right.png" />
+    <Resource Include="res\view_rotate.png" />
+    <Resource Include="res\view_top.png" />
+    <Resource Include="res\view_zoom.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <Resource Include="res\occ_logo.bmp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\OCCTProxy\OCCTProxy.vcproj">
+      <Project>{969912D9-78E7-4AB8-B4FF-6B52B4F03991}</Project>
+      <Name>OCCTProxy</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/samples/CSharp/WPF/MainWindow.xaml b/samples/CSharp/WPF/MainWindow.xaml
new file mode 100644 (file)
index 0000000..5d54370
--- /dev/null
@@ -0,0 +1,169 @@
+<Window
+    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+       x:Class="IE_WPF.MainWindow"
+       xmlns:local="clr-namespace:IE_WPF"
+    Title="Sample Import/Export" Height="600" Width="900" Icon="res/MainFrame.ico">
+       
+       <Window.Background>
+               <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.ControlDarkColorKey}}"/>
+       </Window.Background>
+       
+       <Window.Resources>
+        <BooleanToVisibilityConverter x:Key="boolToVisibilityConverter"/>
+    </Window.Resources>
+               
+    <Grid>
+           <Grid.RowDefinitions>
+                       <RowDefinition Height="auto"/>
+                       <RowDefinition Height="auto"/>
+                       <RowDefinition />
+                       <RowDefinition Height="auto"/>
+               </Grid.RowDefinitions>
+        
+       <Menu Height="25" Grid.Row="0">
+               <MenuItem Header="File">
+                       <MenuItem Command="local:IECommands.New"/>
+                       <MenuItem Command="local:IECommands.Close"/>
+                               <MenuItem Header="Import" IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsDocumentOpen}">
+                                       <MenuItem Name="ImportBrep" Header="BRep..." Click="ImportBRep_Click"/>
+                                       <MenuItem Name="ImportIges" Header="Iges..." Click="ImportIges_Click"/>
+                    <MenuItem Name="ImportStep" Header="Step..." Click="ImportStep_Click"/>
+                               </MenuItem>
+                <MenuItem Header="Export" IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsDocumentOpen}">
+                                       <MenuItem Name="ExportBrep" Header="BRep..." Click="ExportBRep_Click"/>
+                                       <MenuItem Name="ExportIges" Header="Iges..." Click="ExportIges_Click"/>
+                                       <MenuItem Name="ExportStep" Header="Step..." Click="ExportStep_Click"/>
+                                       <MenuItem Name="ExportStl" Header="Stl..." Click="ExportStl_Click"/>
+                                       <MenuItem Name="ExportVrml" Header="Vrml..." Click="ExportVrml_Click"/>
+                                       <Separator/>
+                                       <MenuItem Name="ExportImage" Header="Image..." Click="ExportImage_Click"/>
+                               </MenuItem>
+                       <Separator/>
+                       <MenuItem Command="local:IECommands.Quit"/>
+               </MenuItem>
+               <MenuItem Header="View">
+                       <MenuItem Name="ActivateToolbar" IsCheckable="True" IsChecked="True" Header="Toolbar"/>
+                       <MenuItem Name="ActivateStatusbar" IsCheckable="True" IsChecked="True" Header="Statusbar"/>
+               </MenuItem>
+               <MenuItem Header="Help">
+                       <MenuItem Header="About" Command="local:IECommands.About"/>
+               </MenuItem>
+       </Menu>
+               
+               <ToolBarTray Background="White" Grid.Row="1">
+            <ToolBar Name="ToolBar" Band="1" BandIndex="1" 
+                                        Visibility="{Binding ElementName=ActivateToolbar, Path=IsChecked, Converter={StaticResource boolToVisibilityConverter}}"
+                     MouseEnter="ToolBar_MouseEnter" MouseLeave="ToolBar_MouseLeave">
+                <Button ToolTip="New" Command="local:IECommands.New">
+                    <Image Source="res/new.png" Style="{StaticResource toolbarImageStyle}"/>
+                </Button>
+                       <Button ToolTip="About" Command="local:IECommands.About">
+                    <Image Source="res/help.png" Style="{StaticResource toolbarImageStyle}"/>
+                </Button>
+               </ToolBar>
+                       <ToolBar Name="DocumentToolBar" Band="1" BandIndex="2" 
+                     Visibility="{Binding ElementName=ActivateToolbar, Path=IsChecked, Converter={StaticResource boolToVisibilityConverter}}"
+                                        IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsDocumentOpen}"
+                     MouseEnter="DocumentToolBar_MouseEnter" MouseLeave="ToolBar_MouseLeave">
+                <Button ToolTip="Wireframe" Click="Wireframe_Click"
+                        IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsWireframeEnabled}">
+                                       <Image Source="res/tool_wireframe.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                       <Button ToolTip="Shading" Click="Shading_Click"
+                        IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsShadingEnabled}">
+                                       <Image Source="res/tool_shading.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Color" Click="Color_Click"
+                        IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsColorEnabled}">
+                                       <Image Source="res/tool_color.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Material" Click="Material_Click"
+                        IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsMaterialEnabled}">
+                                       <Image Source="res/tool_material.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Transparency" Click="Transparency_Click"
+                        IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsTransparencyEnabled}">
+                                       <Image Source="res/tool_transparency.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Delete" Click="Delete_Click"
+                        IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsDeleteEnabled}">
+                                       <Image Source="res/tool_delete.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+               </ToolBar>
+            <ToolBar Name="ViewToolBar" Band="1" BandIndex="1"
+                     Visibility="{Binding ElementName=ActivateToolbar, Path=IsChecked, Converter={StaticResource boolToVisibilityConverter}}"
+                                        IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsDocumentOpen}"
+                     MouseEnter="ViewToolBar_MouseEnter" MouseLeave="ToolBar_MouseLeave">
+                <Button ToolTip="FitAll" Name="FitAllBtn" Click="FitAllBtn_Click">
+                                       <Image Source="res/view_fitall.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                       <Button ToolTip="Zoom Window" Name="ZoomWindowBtn" Click="ZoomWindowBtn_Click"
+                                               IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsZoomWinEnabled}">
+                                       <Image Source="res/view_fitarea.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Dynamic Zooming" Name="DynamicZoomingBtn" Click="DynamicZoomingBtn_Click">
+                                       <Image Source="res/view_zoom.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Dynamic Panning" Name="DynamicPanningBtn" Click="DynamicPanningBtn_Click">
+                                       <Image Source="res/view_pan.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Global Panning" Name="GlobalPanningBtn" Click="GlobalPanningBtn_Click">
+                                       <Image Source="res/view_glpan.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Front" Name="FrontBtn" Click="FrontBtn_Click">
+                                       <Image Source="res/view_front.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Back" Name="BackBtn" Click="BackBtn_Click">
+                                       <Image Source="res/view_back.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Top" Name="TopBtn" Click="TopBtn_Click">
+                                       <Image Source="res/view_top.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Bottom" Name="BottomBtn" Click="BottomBtn_Click">
+                                       <Image Source="res/view_bottom.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Left" Name="LeftBtn" Click="LeftBtn_Click">
+                                       <Image Source="res/view_left.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Right" Name="RightBtn" Click="RightBtn_Click">
+                                       <Image Source="res/view_right.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Axo" Name="AxoBtn" Click="AxoBtn_Click">
+                                       <Image Source="res/view_axo.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Dynamic Rotation" Name="DynamicRotationBtn" Click="DynamicRotationBtn_Click">
+                                       <Image Source="res/view_rotate.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Reset" Name="ResetBtn" Click="ResetBtn_Click">
+                                       <Image Source="res/view_reset.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Hidden Off" Name="HiddenOffBtn" Click="HiddenOffBtn_Click"
+                                       IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsHlrOnPushed}">
+                                       <Image Source="vres/iew_comp_on.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+                               <Button ToolTip="Hidden On" Name="HiddenOnBtn" Click="HiddenOnBtn_Click"
+                                       IsEnabled="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsHlrOffPushed}">
+                                       <Image Source="res/view_comp_off.png" Style="{StaticResource toolbarImageStyle}"/>
+                               </Button>
+               </ToolBar>
+        </ToolBarTray>
+        
+               <TabControl Name="ViewPanel" Grid.Row="2"
+                    SelectionChanged="OnViewerChanged"
+                    Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=IsDocumentOpen, Converter={StaticResource boolToVisibilityConverter}}">
+            
+            <TabControl.ContextMenu>
+                <ContextMenu>
+                    <MenuItem Command="local:IECommands.New" Style="{StaticResource popupItem}"/>
+                    <MenuItem Command="local:IECommands.Close" Style="{StaticResource popupItem}"/>
+                </ContextMenu>
+            </TabControl.ContextMenu>
+            
+               </TabControl>
+        
+        <StatusBar Background="White"  Grid.Row="3" Visibility="{Binding ElementName=ActivateStatusbar, Path=IsChecked, Converter={StaticResource boolToVisibilityConverter}}">
+               <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=StatusBarText}"/>
+               </StatusBar>
+    </Grid>
+</Window>
diff --git a/samples/CSharp/WPF/MainWindow.xaml.cs b/samples/CSharp/WPF/MainWindow.xaml.cs
new file mode 100644 (file)
index 0000000..d2535d3
--- /dev/null
@@ -0,0 +1,614 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.ComponentModel;
+using System.Windows.Forms.Integration;
+
+namespace IE_WPF
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window, INotifyPropertyChanged
+    {
+        public event PropertyChangedEventHandler PropertyChanged;
+        protected void RaisePropertyChanged( string thePropertyName )
+        {
+            if ( PropertyChanged != null )
+            {
+                PropertyChanged( this, new PropertyChangedEventArgs( thePropertyName ) );
+            }
+        }
+
+        public MainWindow()
+        {
+            InitializeComponent();
+
+            StatusBarText = String.Empty;
+            IsHlrOffPushed = false;
+            IsHlrOnPushed = true;
+            IsZoomWinEnabled = true;
+
+            #region menu operations
+
+            CommandBinding aBind_New = new CommandBinding( IECommands.New );
+            aBind_New.Executed += NewCommand_Executed;
+            CommandBindings.Add( aBind_New );
+
+            CommandBinding aBind_Close = new CommandBinding( IECommands.Close );
+            aBind_Close.Executed += CloseCommand_Executed;
+            aBind_Close.CanExecute += CloseCommand_CanExecute;
+            CommandBindings.Add( aBind_Close );
+
+            CommandBinding aBind_Quit = new CommandBinding( IECommands.Quit );
+            aBind_Quit.Executed += QuitCommand_Executed;
+            CommandBindings.Add( aBind_Quit );
+
+            CommandBinding aBind_About = new CommandBinding( IECommands.About );
+            aBind_About.Executed += AboutCommand_Executed;
+            CommandBindings.Add( aBind_About );
+
+            # endregion
+
+            PreviewKeyDown += new KeyEventHandler( OnPreviewKeyDown );
+            PreviewKeyUp += new KeyEventHandler( OnPreviewKeyUp );
+        }
+
+        private String myStatusBarText;
+        public String StatusBarText
+        {
+            get
+            {
+                return myStatusBarText;
+            }
+            private set
+            {
+                myStatusBarText = value;
+                RaisePropertyChanged( "StatusBarText" );
+            }
+        }
+
+        private bool isHlrOffPushed;
+        public Boolean IsHlrOffPushed
+        {
+            get
+            {
+                return isHlrOffPushed;
+            }
+            set
+            {
+                isHlrOffPushed = value;
+                RaisePropertyChanged("isHlrOffPushed");
+            }
+        }
+
+        private bool isHlrOnPushed;
+        public Boolean IsHlrOnPushed
+        {
+            get
+            {
+                return isHlrOnPushed;
+            }
+            set
+            {
+                isHlrOnPushed = value;
+                RaisePropertyChanged("IsHlrOnPushed");
+            }
+        }
+
+        private bool isZoomWinEnabled;
+        public Boolean IsZoomWinEnabled
+        {
+            get
+            {
+                return isZoomWinEnabled;
+            }
+            set
+            {
+                isZoomWinEnabled = value;
+                RaisePropertyChanged("IsZoomWinEnabled");
+            }
+        }
+
+        private OCCViewer ActiveViewer
+        {
+            get
+            {
+                if ( !IsDocumentOpen )
+                {
+                    return null;
+                }
+
+                WindowsFormsHost aHost = ( ViewPanel.SelectedContent ) as WindowsFormsHost;
+                if( aHost == null )
+                {
+                    return null;
+                }
+
+                return aHost.Child as OCCViewer;
+            }
+        }
+
+        public Boolean IsDocumentOpen
+        {
+            get
+            {
+                return ViewPanel.Items.Count > 0;
+            }
+        }
+
+        private int myDocumentCounter = 1;
+
+        private void NewCommand_Executed( object sender, ExecutedRoutedEventArgs e )
+        {
+            WindowsFormsHost aHost = new WindowsFormsHost();
+            OCCViewer aForm = new OCCViewer();
+            aForm.Show();
+            aHost.Child = aForm;
+
+            TabItem aNewTab = new TabItem();
+            aNewTab.Content = aHost;
+            aNewTab.IsSelected = true;
+            aNewTab.Header = "Document " + myDocumentCounter.ToString();
+            myDocumentCounter++;
+
+            ViewPanel.Items.Add( aNewTab );
+
+            // update XAML property
+            RaisePropertyChanged("IsDocumentOpen");
+        }
+
+        private void CloseCommand_Executed(object sender, ExecutedRoutedEventArgs e)
+        {
+            if ( ViewPanel.Items.Count > 0 )
+            {
+                ViewPanel.Items.Remove( ViewPanel.SelectedItem );
+            }
+
+            // update XAML property
+            RaisePropertyChanged( "IsDocumentOpen" );
+        }
+
+        private void CloseCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
+        {
+            e.CanExecute = IsDocumentOpen;
+        }
+
+        private void QuitCommand_Executed( object sender, ExecutedRoutedEventArgs e )
+        {
+            this.Close();
+        }
+
+        private void ImportBRep_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ImportModel( ModelFormat.BREP );
+            }
+        }
+
+        private void ImportIges_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ImportModel( ModelFormat.IGES );
+            }
+        }
+
+        private void ImportStep_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ImportModel( ModelFormat.STEP );
+            }
+        }
+
+        private void ExportBRep_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ExportModel( ModelFormat.BREP );
+            }
+        }
+
+        private void ExportStep_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ExportModel( ModelFormat.STEP );
+            }
+        }
+
+        private void ExportIges_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ExportModel( ModelFormat.IGES );
+            }
+        }
+
+        private void ExportStl_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ExportModel( ModelFormat.STL );
+            }
+        }
+
+        private void ExportVrml_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ExportModel( ModelFormat.VRML );
+            }
+        }
+
+        private void ExportImage_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.ExportModel( ModelFormat.IMAGE );
+            }
+        }
+
+        private void FitAllBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.FitAll();
+            }
+        }
+
+        private void ZoomWindowBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                IsZoomWinEnabled = false;
+                ActiveViewer.ZoomWindow();
+            }
+        }
+
+        private void DynamicZoomingBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.DynamicZooming();
+            }
+        }
+
+        private void DynamicPanningBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.DynamicPanning();
+            }
+        }
+
+        private void GlobalPanningBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.GlobalPanning();
+            }
+        }
+
+        private void FrontBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.FrontView();
+            }
+        }
+
+        private void BackBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.BackView();
+            }
+        }
+
+        private void TopBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.TopView();
+            }
+        }
+
+        private void BottomBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.BottomView();
+            }
+        }
+
+        private void LeftBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.LeftView();
+            }
+        }
+
+        private void RightBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.RightView();
+            }
+        }
+
+        private void AxoBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.AxoView();
+            }
+        }
+
+        private void ResetBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.Reset();
+            }
+        }
+
+        private void DynamicRotationBtn_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.DynamicRotation();
+            }
+        }
+
+        private void HiddenOffBtn_Click( object sender, RoutedEventArgs e )
+        {
+            IsHlrOffPushed = true;
+            IsHlrOnPushed = false;
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.HiddenOff();
+            }
+        }
+
+        private void HiddenOnBtn_Click( object sender, RoutedEventArgs e )
+        {
+            IsHlrOffPushed = false;
+            IsHlrOnPushed = true;
+            if (ActiveViewer != null)
+            {
+                ActiveViewer.HiddenOn();
+            }
+        }
+
+        private void AboutCommand_Executed( object sender, ExecutedRoutedEventArgs e )
+        {
+            AboutDialog aDlg = new AboutDialog();
+            aDlg.ShowDialog();
+        }
+
+        private void ToolBar_MouseEnter( object sender, MouseEventArgs e )
+        {
+            StatusBarText = "Toolbar";
+        }
+
+        private void DocumentToolBar_MouseEnter(object sender, MouseEventArgs e)
+        {
+            StatusBarText = "Document toolbar";
+        }
+
+        private void ViewToolBar_MouseEnter(object sender, MouseEventArgs e)
+        {
+            StatusBarText = "View toolbar";
+        }
+
+        private void ToolBar_MouseLeave( object sender, MouseEventArgs e )
+        {
+            StatusBarText = "";
+        }
+
+        public void OnZoomingFinished( object sender, EventArgs e )
+        {
+            IsZoomWinEnabled = true;
+        }
+
+        public bool IsWireframeEnabled
+        {
+            get
+            {
+                if ( ActiveViewer != null )
+                {
+                    return ActiveViewer.IsWireframeEnabled;
+                }
+                return false;
+            }
+        }
+
+        private void Wireframe_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.Wireframe();
+            }
+        }
+
+        private void Shading_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.Shading();
+            }
+        }
+
+        public bool IsShadingEnabled
+        {
+            get
+            {
+                if ( ActiveViewer != null )
+                {
+                    return ActiveViewer.IsShadingEnabled;
+                }
+                return false;
+            }
+        }
+
+        private void Color_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.Color();
+            }
+        }
+
+        public bool IsColorEnabled
+        {
+            get
+            {
+                if ( ActiveViewer != null )
+                {
+                    return ActiveViewer.IsColorEnabled;
+                }
+                return false;
+            }
+        }
+
+        private void Material_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.Material();
+            }
+        }
+
+        public bool IsMaterialEnabled
+        {
+            get
+            {
+                if ( ActiveViewer != null )
+                {
+                    return ActiveViewer.IsMaterialEnabled;
+                }
+                return false;
+            }
+        }
+
+        private void Transparency_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.Transparency();
+            }
+        }
+
+        public bool IsTransparencyEnabled
+        {
+            get
+            {
+                if ( ActiveViewer != null )
+                {
+                    return ActiveViewer.IsTransparencyEnabled;
+                }
+                return false;
+            }
+        }
+
+        private void Delete_Click( object sender, RoutedEventArgs e )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.Delete();
+            }
+        }
+
+        public bool IsDeleteEnabled
+        {
+            get
+            {
+                if ( ActiveViewer != null )
+                {
+                    return ActiveViewer.IsDeleteEnabled;
+                }
+                return false;
+            }
+        }
+
+        private void AvaliabiltyOfOperationToolbarChanged()
+        {
+            RaisePropertyChanged( "IsWireframeEnabled" );
+            RaisePropertyChanged( "IsShadingEnabled" );
+            RaisePropertyChanged( "IsTransparencyEnabled" );
+            RaisePropertyChanged( "IsColorEnabled" );
+            RaisePropertyChanged( "IsMaterialEnabled" );
+            RaisePropertyChanged( "IsDeleteEnabled" );
+        }
+
+        public void OnAvaliabiltyOfOperationsChanged( object sender, EventArgs e )
+        {
+            AvaliabiltyOfOperationToolbarChanged();
+        }
+
+        private void OnViewerChanged( object sender, SelectionChangedEventArgs e )
+        {
+            if ( e.RemovedItems.Count > 0 )
+            {
+                WindowsFormsHost aHost = ( ( e.RemovedItems[0] as TabItem).Content ) as WindowsFormsHost;
+                if( aHost == null )
+                {
+                    return;
+                }
+                OCCViewer aViewer = aHost.Child as OCCViewer;
+                if( aViewer != null )
+                {
+                    aViewer.ZoomingFinished -= new EventHandler( OnZoomingFinished );
+                    aViewer.AvaliabiltyOfOperationsChanged -= new EventHandler( OnAvaliabiltyOfOperationsChanged );
+                }
+            }
+
+            if ( e.AddedItems.Count > 0 )
+            {
+                WindowsFormsHost aHost = ( (e.AddedItems[0] as TabItem).Content ) as WindowsFormsHost;
+                if ( aHost == null )
+                {
+                    return;
+                }
+                OCCViewer aViewer = aHost.Child as OCCViewer;
+                if ( aViewer != null )
+                {
+                    aViewer.ZoomingFinished += new EventHandler( OnZoomingFinished );
+                    aViewer.AvaliabiltyOfOperationsChanged += new EventHandler( OnAvaliabiltyOfOperationsChanged );
+                }
+            }
+
+            AvaliabiltyOfOperationToolbarChanged();
+        }
+        private void OnPreviewKeyDown( object sender, KeyEventArgs args )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.OnKeyDown( args.Key );
+            }
+        }
+
+        private void OnPreviewKeyUp( object sender, KeyEventArgs args )
+        {
+            if ( ActiveViewer != null )
+            {
+                ActiveViewer.OnKeyUp();
+            }
+        }
+    }
+}
diff --git a/samples/CSharp/WPF/MaterialDlg.xaml b/samples/CSharp/WPF/MaterialDlg.xaml
new file mode 100644 (file)
index 0000000..ef50086
--- /dev/null
@@ -0,0 +1,20 @@
+<Window
+       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+       xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+       x:Class="IE_WPF.MaterialDlg"
+       x:Name="Window"
+       Title="Material"
+       Width="133" Height="181" mc:Ignorable="d">
+
+       <StackPanel Orientation="Vertical" d:LayoutOverrides="Height" HorizontalAlignment="Center" VerticalAlignment="Center">
+               <RadioButton Name="PlasterBtn" Content="Plaster" Checked="PlasterBtn_Checked"/>
+               <RadioButton Name="BrassBtn" Content="Brass" Checked="BrassBtn_Checked"/>
+               <RadioButton Name="BronzeBtn" Content="Bronze" Checked="BronzeBtn_Checked"/>
+               <RadioButton Name="CopperBtn" Content="Copper" Checked="CopperBtn_Checked"/>
+               <RadioButton Name="GoldBtn" Content="Gold" Checked="GoldBtn_Checked"/>
+               <RadioButton Name="PewterBtn" Content="Pewter" Checked="PewterBtn_Checked"/>
+               <RadioButton Name="PlasticBtn" Content="Plastic" Checked="PlasticBtn_Checked"/>
+               <RadioButton Name="SilverBtn" Content="Silver" Checked="SilverBtn_Checked"/>
+       </StackPanel>
+</Window>
\ No newline at end of file
diff --git a/samples/CSharp/WPF/MaterialDlg.xaml.cs b/samples/CSharp/WPF/MaterialDlg.xaml.cs
new file mode 100644 (file)
index 0000000..0a8bebb
--- /dev/null
@@ -0,0 +1,101 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace IE_WPF
+{
+    public enum Material
+    {
+        Brass,
+        Bronze,
+        Copper,
+        Gold,
+        Pewter,
+        Plaster,
+        Plastic,
+        Silver
+    }
+
+       /// <summary>
+       /// Interaction logic for MaterialDlg.xaml
+       /// </summary>
+       public partial class MaterialDlg : Window
+       {
+               public MaterialDlg( OCCTProxy theView )
+               {
+                       this.InitializeComponent();
+
+            if ( theView == null )
+            {
+                MessageBox.Show( "Fatal Error during the graphic initialisation", "Error!" );
+            }
+
+            View = theView;
+
+            SetInitialState();
+               }
+
+        public OCCTProxy View { get; private set; }
+
+        private void PlasterBtn_Checked( object sender, RoutedEventArgs e )
+        {
+            View.SetMaterial( (int)Material.Plaster );
+            View.UpdateCurrentViewer();
+        }
+
+        private void BrassBtn_Checked( object sender, RoutedEventArgs e )
+        {
+            View.SetMaterial( (int)Material.Brass );
+            View.UpdateCurrentViewer();
+        }
+
+        private void BronzeBtn_Checked( object sender, RoutedEventArgs e )
+        {
+            View.SetMaterial( (int)Material.Bronze );
+            View.UpdateCurrentViewer();
+        }
+
+        private void CopperBtn_Checked( object sender, RoutedEventArgs e )
+        {
+            View.SetMaterial( (int)Material.Copper );
+            View.UpdateCurrentViewer();
+        }
+
+        private void GoldBtn_Checked( object sender, RoutedEventArgs e )
+        {
+            View.SetMaterial( (int)Material.Gold );
+            View.UpdateCurrentViewer();
+        }
+
+        private void PewterBtn_Checked( object sender, RoutedEventArgs e )
+        {
+            View.SetMaterial( (int)Material.Pewter );
+            View.UpdateCurrentViewer();
+        }
+
+        private void PlasticBtn_Checked( object sender, RoutedEventArgs e )
+        {
+            View.SetMaterial( (int)Material.Plastic );
+            View.UpdateCurrentViewer();
+        }
+
+        private void SilverBtn_Checked( object sender, RoutedEventArgs e )
+        {
+            View.SetMaterial( (int)Material.Silver );
+            View.UpdateCurrentViewer();
+        }
+
+        private void SetInitialState()
+        {
+            // TODO
+        }
+       }
+}
\ No newline at end of file
diff --git a/samples/CSharp/WPF/OCCViewer.cs b/samples/CSharp/WPF/OCCViewer.cs
new file mode 100644 (file)
index 0000000..649b6a4
--- /dev/null
@@ -0,0 +1,840 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace IE_WPF
+{
+    public enum CurrentAction3d
+    {
+        CurAction3d_Nothing,
+        CurAction3d_DynamicZooming,
+        CurAction3d_WindowZooming,
+        CurAction3d_DynamicPanning,
+        CurAction3d_GlobalPanning,
+        CurAction3d_DynamicRotation
+    }
+    public enum CurrentPressedKey
+    {
+        CurPressedKey_Nothing,
+        CurPressedKey_Ctrl,
+        CurPressedKey_Shift
+    }
+    public enum ModelFormat
+    {
+        BREP,
+        CSFDB,
+        STEP,
+        IGES,
+        VRML,
+        STL,
+        IMAGE
+    }
+
+    public enum DisplayMode
+    {
+        Wireframe,
+        Shading
+    }
+
+    public class OCCViewer : System.Windows.Forms.Form
+    {
+        public event EventHandler ZoomingFinished;
+        protected void RaiseZoomingFinished()
+        {
+            if ( ZoomingFinished != null )
+            {
+                ZoomingFinished( this, EventArgs.Empty );
+            }
+        }
+
+        public event EventHandler AvaliabiltyOfOperationsChanged;
+        protected void RaiseAvaliabiltyOfOperationsChanged()
+        {
+            if ( AvaliabiltyOfOperationsChanged != null )
+            {
+                AvaliabiltyOfOperationsChanged( this, EventArgs.Empty );
+            }
+        }
+
+        public OCCTProxy View { get; private set; }
+        public CurrentAction3d CurrentMode { get; private set; }
+        private CurrentPressedKey CurrentPressedKey { get; set; }
+        private bool IsRectVisible { get; set; }
+        public bool DegenerateMode { get; private set; }
+
+        public bool IsWireframeEnabled { get; private set; }
+        public bool IsShadingEnabled { get; private set; }
+        public bool IsTransparencyEnabled { get; private set; }
+        public bool IsColorEnabled { get; private set; }
+        public bool IsMaterialEnabled { get; private set; }
+        public bool IsDeleteEnabled { get; private set; }
+
+        private float myCurZoom;// ~ Quantity_Factor
+        private int myXmin;
+        private int myYmin;
+        private int myXmax;
+        private int myYmax;
+        private int myRectDownX;
+        private int myRectDownY;
+        private int myButtonDownX;
+        private int myButtonDownY;
+
+        private ContextMenu Popup { get; set; }
+        private MenuItem ContextWireframe;
+        private MenuItem ContextShading;
+        private MenuItem ContextColor;
+        private MenuItem ContextMaterial;
+        private MenuItem ContextDelete;
+        private MenuItem ContextBackground;
+        private MenuItem ContextTransparency;
+
+
+        public OCCViewer()
+        {
+            InitializeComponent();
+
+            View = new OCCTProxy();
+            View.InitOCCTProxy();
+            if ( !View.InitViewer( this.Handle ) )
+            {
+                MessageBox.Show( "Fatal Error during the graphic initialisation", "Error!" );
+            }
+
+            CurrentMode = CurrentAction3d.CurAction3d_Nothing;
+            CurrentPressedKey = CurrentPressedKey.CurPressedKey_Nothing;
+            IsRectVisible = false;
+            DegenerateMode = true;
+        }
+
+        private void InitializeComponent()
+        {
+            ControlBox = false;
+            TopLevel = false;
+
+            this.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+
+            SizeChanged += new System.EventHandler( OnSizeChanged );
+            Paint += new System.Windows.Forms.PaintEventHandler( OnPaint );
+
+            MouseDown += new System.Windows.Forms.MouseEventHandler( OnMouseDown );
+            MouseUp += new System.Windows.Forms.MouseEventHandler( OnMouseUp );
+            MouseMove += new System.Windows.Forms.MouseEventHandler( OnMouseMove );
+
+            Popup = new ContextMenu();
+            ContextWireframe = new MenuItem();
+            ContextShading = new MenuItem();
+            ContextColor = new MenuItem();
+            ContextMaterial = new MenuItem();
+            ContextTransparency = new MenuItem();
+            ContextDelete = new MenuItem();
+            ContextBackground = new MenuItem();
+
+            ContextWireframe.Text = "Wireframe";
+            ContextShading.Text = "Shading";
+            ContextColor.Text = "Color";
+            ContextMaterial.Text = "Material";
+            ContextTransparency.Text = "Transparency";
+            ContextDelete.Text = "Delete";
+            ContextBackground.Text = "Background";
+
+            ContextWireframe.Click += new System.EventHandler( ContextWireframe_Click );
+            ContextShading.Click += new System.EventHandler( ContextShading_Click );
+            ContextColor.Click += new System.EventHandler( ContextColor_Click );
+            ContextMaterial.Click += new System.EventHandler( ContextMaterial_Click );
+            ContextTransparency.Click += new System.EventHandler( ContextTransparency_Click );
+            ContextDelete.Click += new System.EventHandler( ContextDelete_Click );
+            ContextBackground.Click += new System.EventHandler( ContextBackground_Click );
+
+            Popup.MenuItems.AddRange( new MenuItem[] { ContextWireframe,
+                                                          ContextShading,
+                                                          ContextColor,
+                                                          ContextMaterial,
+                                                          ContextTransparency,
+                                                          ContextDelete,
+                                                       ContextBackground } );
+            Popup.Popup += new System.EventHandler( OnPopup );
+        }
+
+        private void OnPaint(object sender, System.Windows.Forms.PaintEventArgs e)
+        {
+            View.RedrawView();
+            View.UpdateView();
+        }
+
+        private void OnSizeChanged(object sender, System.EventArgs e)
+        {
+            View.UpdateView();
+        }
+
+        public void ImportModel( ModelFormat theFormat )
+        {
+            int aFormat = 10;
+            OpenFileDialog anOpenDialog = new OpenFileDialog();
+            string aDataDir = ( (Environment.GetEnvironmentVariable("CASROOT")) + "\\..\\data" );
+            string aFilter = "";
+
+            switch ( theFormat )
+            {
+                case ModelFormat.BREP:
+                    anOpenDialog.InitialDirectory = (aDataDir + "\\occ");
+                    aFormat = 0;
+                    aFilter = "BREP Files (*.brep *.rle)|*.brep; *.rle";
+                    break;
+                case ModelFormat.CSFDB:
+                    aFormat = 1;
+                    aFilter = "CSFDB Files (*.csfdb)|*.csfdb";
+                    break;
+                case ModelFormat.STEP:
+                    anOpenDialog.InitialDirectory = (aDataDir + "\\step");
+                    aFormat = 2;
+                    aFilter = "STEP Files (*.stp *.step)|*.stp; *.step";
+                    break;
+                case ModelFormat.IGES:
+                    anOpenDialog.InitialDirectory = (aDataDir + "\\iges");
+                    aFormat = 3;
+                    aFilter = "IGES Files (*.igs *.iges)|*.igs; *.iges";
+                    break;
+                default:
+                    break;
+            }
+
+            anOpenDialog.Filter = aFilter + "|All files (*.*)|*.*";
+            if (anOpenDialog.ShowDialog() == DialogResult.OK)
+            {
+                string aFileName = anOpenDialog.FileName;
+                if (aFileName == "")
+                {
+                    return;
+                }
+
+                Cursor = System.Windows.Forms.Cursors.WaitCursor;
+                if ( !View.TranslateModel( aFileName, aFormat, true ) )
+                {
+                    MessageBox.Show( "Cann't read this file", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning );
+                }
+                Cursor = System.Windows.Forms.Cursors.Default;
+            }
+            View.ZoomAllView();
+        }
+
+        public void ExportModel( ModelFormat theFormat )
+        {
+            int aFormat = 10;
+            SaveFileDialog saveDialog = new SaveFileDialog();
+            string aDataDir = ( (Environment.GetEnvironmentVariable("CASROOT") ) + "\\..\\data" );
+            string aFilter = "";
+
+            switch ( theFormat )
+            {
+                case ModelFormat.BREP:
+                    saveDialog.InitialDirectory = ( aDataDir + "\\occ" );
+                    aFormat = 0;
+                    aFilter = "BREP Files (*.brep *.rle)|*.brep; *.rle";
+                    break;
+                case ModelFormat.CSFDB:
+                    aFormat = 1;
+                    aFilter = "CSFDB Files (*.csfdb)|*.csfdb";
+                    break;
+                case ModelFormat.STEP:
+                    saveDialog.InitialDirectory = ( aDataDir + "\\step" );
+                    aFormat = 2;
+                    aFilter = "STEP Files (*.stp *.step)|*.step; *.stp";
+                    break;
+                case ModelFormat.IGES:
+                    saveDialog.InitialDirectory = ( aDataDir + "\\iges" );
+                    aFormat = 3;
+                    aFilter = "IGES Files (*.igs *.iges)| *.iges; *.igs";
+                    break;
+                case ModelFormat.VRML:
+                    saveDialog.InitialDirectory = ( aDataDir + "\\vrml" );
+                    aFormat = 4;
+                    aFilter = "VRML Files (*.vrml)|*.vrml";
+                    break;
+                case ModelFormat.STL:
+                    saveDialog.InitialDirectory = ( aDataDir + "\\stl" );
+                    aFormat = 5;
+                    aFilter = "STL Files (*.stl)|*.stl";
+                    break;
+                case ModelFormat.IMAGE:
+                    saveDialog.InitialDirectory = ( aDataDir + "\\images" );
+                    aFormat = 6;
+                    aFilter = "Images Files (*.bmp)|*.bmp";
+                    break;
+                default:
+                    break;
+            }
+
+            saveDialog.Filter = aFilter;
+            if ( saveDialog.ShowDialog() == DialogResult.OK )
+            {
+                string aFileName = saveDialog.FileName;
+                if ( aFileName == "" )
+                {
+                    return;
+                }
+
+                Cursor = System.Windows.Forms.Cursors.WaitCursor;
+                if ( !View.TranslateModel( aFileName, aFormat, false ) )
+                {
+                    MessageBox.Show( "Can not write this file", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning );
+                }
+                Cursor = System.Windows.Forms.Cursors.Default;
+            }
+        }
+
+        public void FitAll()
+        {
+            View.ZoomAllView();
+        }
+
+        public void ZoomWindow()
+        {
+            CurrentMode = CurrentAction3d.CurAction3d_WindowZooming;
+        }
+
+        public void DynamicZooming()
+        {
+            CurrentMode = CurrentAction3d.CurAction3d_DynamicZooming;
+        }
+
+        public void DynamicPanning()
+        {
+            CurrentMode = CurrentAction3d.CurAction3d_DynamicPanning;
+        }
+
+        public void GlobalPanning()
+        {
+            myCurZoom = View.Scale();
+            CurrentMode = CurrentAction3d.CurAction3d_GlobalPanning;
+        }
+
+        public void AxoView()
+        {
+            View.AxoView();
+        }
+
+        public void FrontView()
+        {
+            View.FrontView();
+        }
+
+        public void TopView()
+        {
+            View.TopView();
+        }
+
+        public void LeftView()
+        {
+            View.LeftView();
+        }
+
+        public void BackView()
+        {
+            View.BackView();
+        }
+
+        public void RightView()
+        {
+            View.RightView();
+        }
+
+        public void Reset()
+        {
+            View.Reset();
+        }
+
+        public void BottomView()
+        {
+            View.BottomView();
+        }
+
+        public void HiddenOff()
+        {
+            View.SetDegenerateModeOff();
+            DegenerateMode = false;
+        }
+
+        public void HiddenOn()
+        {
+            View.SetDegenerateModeOn();
+            DegenerateMode = true;
+        }
+
+        public void DynamicRotation()
+        {
+            CurrentMode = CurrentAction3d.CurAction3d_DynamicRotation;
+        }
+
+        public void SelectionChanged()
+        {
+            switch ( View.DisplayMode() )
+            {
+                case -1:
+                    IsShadingEnabled = false;
+                    IsWireframeEnabled = false;
+                    break;
+                case 0:
+                    IsWireframeEnabled = false;
+                    IsShadingEnabled = true;
+                    IsTransparencyEnabled = false;
+                    break;
+                case 1:
+                    IsWireframeEnabled = true;
+                    IsShadingEnabled = false;
+                    IsTransparencyEnabled = true;
+                    break;
+                case 10:
+                    IsWireframeEnabled = true;
+                    IsShadingEnabled = true;
+                    IsTransparencyEnabled = true;
+                    break;
+                default:
+                    break;
+            }
+
+            if ( View.IsObjectSelected() )
+            {
+                IsColorEnabled = true;
+                IsMaterialEnabled = true;
+                IsDeleteEnabled = true;
+            }
+            else
+            {
+                IsColorEnabled = false;
+                IsMaterialEnabled = false;
+                IsTransparencyEnabled = false;
+                IsDeleteEnabled = false;
+            }
+
+            RaiseAvaliabiltyOfOperationsChanged();
+        }
+
+        public void ChangeColor( bool IsObjectColor )
+        {
+            int r, g, b;
+            if ( IsObjectColor )
+            {
+                r = View.GetObjColR();
+                g = View.GetObjColG();
+                b = View.GetObjColB();
+            }
+            else
+            {
+                r = View.GetBGColR();
+                g = View.GetBGColG();
+                b = View.GetBGColB();
+            }
+            System.Windows.Forms.ColorDialog ColDlg = new System.Windows.Forms.ColorDialog();
+            ColDlg.Color = System.Drawing.Color.FromArgb( r, g, b );
+            if ( ColDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK )
+            {
+                System.Drawing.Color c = ColDlg.Color;
+                r = c.R;
+                g = c.G;
+                b = c.B;
+                if ( IsObjectColor )
+                {
+                    View.SetColor( r, g, b );
+                }
+                else
+                {
+                    View.SetBackgroundColor( r, g, b );
+                }
+            }
+            View.UpdateCurrentViewer();
+        }
+
+        public void Wireframe()
+        {
+            View.SetDisplayMode( (int)DisplayMode.Wireframe );
+            View.UpdateCurrentViewer();
+
+            SelectionChanged();
+            RaiseZoomingFinished();
+        }
+
+        public void Shading()
+        {
+            View.SetDisplayMode( (int)DisplayMode.Shading );
+            View.UpdateCurrentViewer();
+
+            SelectionChanged();
+            RaiseZoomingFinished();
+        }
+
+        public void Color()
+        {
+            ChangeColor( true );
+        }
+
+        public void Background()
+        {
+            ChangeColor( false );
+        }
+
+        public void Material()
+        {
+            MaterialDlg aDlg = new MaterialDlg( View );
+            aDlg.ShowDialog();
+        }
+
+        public void Transparency()
+        {
+            TransparencyDialog dlg = new TransparencyDialog();
+            dlg.View = View;
+            dlg.ShowDialog( this );
+        }
+
+        public void Delete()
+        {
+            View.EraseObjects();
+        }
+
+        public void OnKeyDown( System.Windows.Input.Key theKey )
+        {
+            if ( theKey == System.Windows.Input.Key.LeftShift ||
+                 theKey == System.Windows.Input.Key.RightShift )
+            {
+                CurrentPressedKey = CurrentPressedKey.CurPressedKey_Shift;
+            }
+            else if (theKey == System.Windows.Input.Key.LeftCtrl ||
+                     theKey == System.Windows.Input.Key.RightCtrl )
+            {
+                CurrentPressedKey = CurrentPressedKey.CurPressedKey_Ctrl;
+            }
+        }
+
+        public void OnKeyUp()
+        {
+            CurrentPressedKey = CurrentPressedKey.CurPressedKey_Nothing;
+        }
+
+        protected void MultiDragEvent( int x, int y, int theState )
+        {
+            if ( theState == -1 ) //mouse is down
+            {
+                myButtonDownX = x;
+                myButtonDownY = y;
+            }
+            else if ( theState ==  1) //mouse is up
+            {
+                View.ShiftSelect( Math.Min( myButtonDownX, x ), Math.Min( myButtonDownY, y ),
+                                  Math.Max( myButtonDownX, x ), Math.Max( myButtonDownY, y ) );
+            }
+        }
+
+        protected void DragEvent( int x, int y, int theState )
+        {
+            if ( theState == -1 ) //mouse is down
+            {
+                myButtonDownX = x;
+                myButtonDownY = y;
+            }
+            else if ( theState == 1 ) //mouse is up
+            {
+                View.Select( Math.Min( myButtonDownX, x ), Math.Min( myButtonDownY, y ),
+                             Math.Max( myButtonDownX, x ), Math.Max( myButtonDownY, y ) );
+            }
+        }
+
+        private void DrawRectangle( bool draw )
+        {
+            System.Drawing.Graphics gr = System.Drawing.Graphics.FromHwnd(Handle);
+            System.Drawing.Pen p = null;
+            if ( IsRectVisible || !draw )//erase the rect
+            {
+                int r = View.GetBGColR();
+                int g = View.GetBGColG();
+                int b = View.GetBGColB();
+                p = new System.Drawing.Pen( System.Drawing.Color.FromArgb(r, g, b) );
+                IsRectVisible = false;
+                View.UpdateView();
+            }
+            else if ( draw )
+            {
+                p = new System.Drawing.Pen( System.Drawing.Color.White );
+                IsRectVisible = true;
+            }
+            if ( p == null )
+            {
+                return;
+            }
+            int x = Math.Min( myXmin, myXmax );
+            int y = Math.Min( myYmin, myYmax );
+            gr.DrawRectangle( p, x, y, Math.Abs(myXmax - myXmin), Math.Abs(myYmax - myYmin) );
+            myRectDownX = Math.Max( myXmin, myXmax );
+            myRectDownY = Math.Max( myYmin, myYmax );
+        }
+
+        private void OnMouseDown( object sender, System.Windows.Forms.MouseEventArgs e )
+        {
+            if ( e.Button == MouseButtons.Left )
+            {
+                myXmin = e.X;
+                myXmax = e.X;
+                myYmin = e.Y;
+                myYmax = e.Y;
+                if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl )
+                {
+                    // start the dinamic zooming....
+                    CurrentMode = CurrentAction3d.CurAction3d_DynamicZooming;
+                }
+                else
+                {
+                    switch ( CurrentMode )
+                    {
+                        case CurrentAction3d.CurAction3d_Nothing:
+                            if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Shift )
+                            {
+                                MultiDragEvent( myXmax, myYmax, -1 );
+                            }
+                            else
+                            {
+                                DragEvent( myXmax, myYmax, -1 );
+                            }
+                            break;
+                        case CurrentAction3d.CurAction3d_DynamicRotation:
+                            if ( !DegenerateMode )
+                            {
+                                View.SetDegenerateModeOn();
+                            }
+                            View.StartRotation( e.X, e.Y );
+                            break;
+                        case CurrentAction3d.CurAction3d_WindowZooming:
+                            Cursor = Cursors.Hand;
+                            break;
+                        default:
+                            break;
+                    }
+                }
+            }
+            else if ( e.Button == MouseButtons.Right )
+            {
+                if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl )
+                {
+                    if ( !DegenerateMode )
+                    {
+                        View.SetDegenerateModeOn();
+                    }
+                    View.StartRotation( e.X, e.Y );
+                }
+                else
+                {
+                    Popup.Show( this, new System.Drawing.Point( e.X, e.Y ) );
+                }
+            }
+        }
+
+        private void OnMouseUp( object sender, System.Windows.Forms.MouseEventArgs e ) 
+        {
+            if ( e.Button == MouseButtons.Left )
+            {
+                if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl )
+                {
+                    return;
+                }
+                switch ( CurrentMode )
+                {
+                    case CurrentAction3d.CurAction3d_Nothing:
+                        if ( e.X == myXmin && e.Y == myYmin )
+                        {
+                            myXmax = e.X;
+                            myYmax = e.Y;
+                            if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Shift )
+                            {
+                                View.ShiftSelect();
+                            }
+                            else
+                            {
+                                View.Select();
+                            }
+                        }
+                        else
+                        {
+                            myXmax = e.X;
+                            myYmax = e.Y;
+                            DrawRectangle( false );
+                            if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Shift )
+                            {
+                                MultiDragEvent( myXmax, myYmax, 1 );
+                            }
+                            else
+                            {
+                                DragEvent( myXmax, myYmax, 1 );
+                            }
+                        }
+                        break;
+                    case CurrentAction3d.CurAction3d_DynamicZooming:
+                        CurrentMode = CurrentAction3d.CurAction3d_Nothing;
+                        break;
+                    case CurrentAction3d.CurAction3d_WindowZooming:
+                        myXmax = e.X;
+                        myYmax = e.Y;
+                        DrawRectangle( false );
+                        int ValZWMin = 1;
+                        if ( Math.Abs(myXmax - myXmin) > ValZWMin && 
+                             Math.Abs(myXmax - myYmax) > ValZWMin )
+                        {
+                            View.WindowFitAll( myXmin, myYmin, myXmax, myYmax );
+                        }
+                        Cursor = Cursors.Arrow;
+                        RaiseZoomingFinished();
+                        CurrentMode = CurrentAction3d.CurAction3d_Nothing;
+                        break;
+                    case CurrentAction3d.CurAction3d_DynamicPanning:
+                        CurrentMode = CurrentAction3d.CurAction3d_Nothing;
+                        break;
+                    case CurrentAction3d.CurAction3d_GlobalPanning:
+                        View.Place( e.X, e.Y, myCurZoom );
+                        CurrentMode = CurrentAction3d.CurAction3d_Nothing;
+                        break;
+                    case CurrentAction3d.CurAction3d_DynamicRotation:
+                        CurrentMode = CurrentAction3d.CurAction3d_Nothing;
+                        if ( !DegenerateMode )
+                        {
+                            View.SetDegenerateModeOff();
+                        }
+                        else
+                        {
+                            View.SetDegenerateModeOn();
+                        }
+                        break;
+                    default:
+                        break;
+                }
+            }
+            else if ( e.Button == MouseButtons.Right )
+            {
+                if ( !DegenerateMode )
+                {
+                    View.SetDegenerateModeOff();
+                }
+                else
+                {
+                    View.SetDegenerateModeOn();
+                }
+            }
+
+            SelectionChanged();
+        }
+
+        private void OnMouseMove( object sender, System.Windows.Forms.MouseEventArgs e )
+        {
+            if ( e.Button == MouseButtons.Left ) //left button is pressed
+            {
+                if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl )
+                {
+                    View.Zoom(myXmax, myYmax, e.X, e.Y);
+                    myXmax = e.X;
+                    myYmax = e.Y;
+                }
+                else
+                {
+                    switch ( CurrentMode )
+                    {
+                        case CurrentAction3d.CurAction3d_Nothing:
+                            DrawRectangle( false );
+                            myXmax = e.X;
+                            myYmax = e.Y;
+                            DrawRectangle( true );
+                            break;
+                        case CurrentAction3d.CurAction3d_DynamicZooming:
+                            View.Zoom( myXmax, myYmax, e.X, e.Y );
+                            myXmax = e.X;
+                            myYmax = e.Y;
+                            break;
+                        case CurrentAction3d.CurAction3d_WindowZooming:
+                            DrawRectangle( false );
+                            myXmax = e.X;
+                            myYmax = e.Y;
+                            DrawRectangle( true );//add brush here
+                            break;
+                        case CurrentAction3d.CurAction3d_DynamicPanning:
+                            View.Pan( e.X - myXmax, myYmax - e.Y );
+                            myXmax = e.X;
+                            myYmax = e.Y;
+                            break;
+                        case CurrentAction3d.CurAction3d_GlobalPanning:
+                            break;
+                        case CurrentAction3d.CurAction3d_DynamicRotation:
+                            View.Rotation( e.X, e.Y );
+                            View.RedrawView();
+                            break;
+                        default:
+                            break;
+                    }
+                }
+            }
+            else if ( e.Button == MouseButtons.Middle ) //middle button is pressed
+            {
+                if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl )
+                {
+                    View.Pan( e.X - myXmax, myYmax - e.Y );
+                    myXmax = e.X;
+                    myYmax = e.Y;
+                }
+            }
+            else if ( e.Button == MouseButtons.Right ) //right button is pressed
+            {
+                if ( CurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl) 
+                {
+                    View.Rotation( e.X, e.Y );
+                }
+            }
+            else // no buttons are pressed
+            {
+                myXmax = e.X;
+                myYmax = e.Y;
+                View.MoveTo( e.X, e.Y );
+            }
+        }
+
+        private void OnPopup( object sender, System.EventArgs e )
+        {
+            ContextWireframe.Enabled = IsWireframeEnabled;
+            ContextShading.Enabled = IsShadingEnabled;
+            ContextColor.Enabled = IsColorEnabled;
+            ContextMaterial.Enabled = IsMaterialEnabled;
+            ContextDelete.Enabled = IsDeleteEnabled;
+            ContextTransparency.Enabled = IsTransparencyEnabled;
+            ContextBackground.Enabled = true;
+        }
+
+        private void ContextWireframe_Click( object sender, System.EventArgs e )
+        {
+            Wireframe();
+        }
+
+        private void ContextShading_Click( object sender, System.EventArgs e )
+        {
+            Shading();
+        }
+
+        private void ContextColor_Click( object sender, System.EventArgs e )
+        {
+            Color();
+        }
+
+        private void ContextMaterial_Click( object sender, System.EventArgs e )
+        {
+            Material();
+        }
+
+        private void ContextTransparency_Click( object sender, System.EventArgs e )
+        {
+            Transparency();
+        }
+
+        private void ContextDelete_Click( object sender, System.EventArgs e )
+        {
+            Delete();
+        }
+
+        private void ContextBackground_Click( object sender, System.EventArgs e )
+        {
+            Background();
+        }
+    }
+}
diff --git a/samples/CSharp/WPF/Properties/AssemblyInfo.cs b/samples/CSharp/WPF/Properties/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..02445ca
--- /dev/null
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("IE")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("IE")]
+[assembly: AssemblyCopyright("Copyright Â©  2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set 
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>.  For example, if you are using US english
+//in your source files, set the <UICulture> to en-US.  Then uncomment
+//the NeutralResourceLanguage attribute below.  Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+    //(used if a resource is not found in the page, 
+    // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+    //(used if a resource is not found in the page, 
+    // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/samples/CSharp/WPF/Properties/Resources.Designer.cs b/samples/CSharp/WPF/Properties/Resources.Designer.cs
new file mode 100644 (file)
index 0000000..5855aaf
--- /dev/null
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.5472
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace IE_WPF.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IE_WPF.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+    }
+}
diff --git a/samples/CSharp/WPF/Properties/Resources.resx b/samples/CSharp/WPF/Properties/Resources.resx
new file mode 100644 (file)
index 0000000..af7dbeb
--- /dev/null
@@ -0,0 +1,117 @@
+<?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.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: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" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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>
+</root>
\ No newline at end of file
diff --git a/samples/CSharp/WPF/Properties/Settings.Designer.cs b/samples/CSharp/WPF/Properties/Settings.Designer.cs
new file mode 100644 (file)
index 0000000..7228f90
--- /dev/null
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.5472
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace IE_WPF.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/samples/CSharp/WPF/Properties/Settings.settings b/samples/CSharp/WPF/Properties/Settings.settings
new file mode 100644 (file)
index 0000000..033d7a5
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
\ No newline at end of file
diff --git a/samples/CSharp/WPF/Simple Styles.xaml b/samples/CSharp/WPF/Simple Styles.xaml
new file mode 100644 (file)
index 0000000..b130cea
--- /dev/null
@@ -0,0 +1,1134 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/interactivedesigner/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
+       
+       <!-- SimpleStyles.XAML defines a set of control styles which are simplified starting points for creating your own controls -->
+       
+       <!-- Brushes : These are used to define the color for background, foreground, selection, enabled etc of all controls
+       If you want to change the color of a control you can just chnage the brush; if you want to add a new shape or change arrangement then also edit the template -->
+       
+       <!-- NormalBrush is used as the Background for SimpleButton, SimpleRepeatButton -->
+       <LinearGradientBrush x:Key="NormalBrush" EndPoint="0,1" StartPoint="0,0">
+               <GradientStop Color="#EEE" Offset="0.0"/>
+               <GradientStop Color="#CCC" Offset="1.0"/>
+       </LinearGradientBrush>
+       <LinearGradientBrush x:Key="NormalBorderBrush" EndPoint="0,1" StartPoint="0,0">
+               <GradientStop Color="#CCC" Offset="0.0"/>
+               <GradientStop Color="#444" Offset="1.0"/>
+       </LinearGradientBrush>
+       
+       <!-- LightBrush is used for content areas such as Menu, Tab Control background -->
+       <LinearGradientBrush x:Key="LightBrush" EndPoint="0,1" StartPoint="0,0">
+               <GradientStop Color="#FFF" Offset="0.0"/>
+               <GradientStop Color="#EEE" Offset="1.0"/>
+       </LinearGradientBrush>
+       
+       <!-- MouseOverBrush is used for MouseOver in Button, Radio Button, CheckBox -->
+       <LinearGradientBrush x:Key="MouseOverBrush" EndPoint="0,1" StartPoint="0,0">
+               <GradientStop Color="#FFF" Offset="0.0"/>
+               <GradientStop Color="#AAA" Offset="1.0"/>
+       </LinearGradientBrush>
+       
+       <!-- PressedBrush is used for Pressed in Button, Radio Button, CheckBox -->
+       <LinearGradientBrush x:Key="PressedBrush" EndPoint="0,1" StartPoint="0,0">
+               <GradientStop Color="#BBB" Offset="0.0"/>
+               <GradientStop Color="#EEE" Offset="0.1"/>
+               <GradientStop Color="#EEE" Offset="0.9"/>
+               <GradientStop Color="#FFF" Offset="1.0"/>
+       </LinearGradientBrush>
+       <LinearGradientBrush x:Key="PressedBorderBrush" EndPoint="0,1" StartPoint="0,0">
+               <GradientStop Color="#444" Offset="0.0"/>
+               <GradientStop Color="#888" Offset="1.0"/>
+       </LinearGradientBrush>
+
+       <!-- SelectedBackgroundBrush is used for the Selected item in ListBoxItem, ComboBoxItem-->
+       <SolidColorBrush x:Key="SelectedBackgroundBrush" Color="#DDD"/> 
+
+       <!-- Disabled Brushes are used for the Disabled look of each control -->
+       <SolidColorBrush x:Key="DisabledForegroundBrush" Color="#888"/>
+       <SolidColorBrush x:Key="DisabledBackgroundBrush" Color="#EEE"/>
+       <SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAA"/>
+
+       <!-- Used for background of ScrollViewer, TreeView, ListBox, Expander, TextBox, Tab Control -->
+       <SolidColorBrush x:Key="WindowBackgroundBrush" Color="#FFF"/>
+       
+       <!-- DefaultedBorderBrush is used to show KeyBoardFocus -->
+       <LinearGradientBrush x:Key="DefaultedBorderBrush" EndPoint="0,1" StartPoint="0,0">
+               <GradientStop Color="#777" Offset="0.0"/>
+               <GradientStop Color="#000" Offset="1.0"/>
+       </LinearGradientBrush>
+
+       <SolidColorBrush x:Key="SolidBorderBrush" Color="#888"/>
+       <SolidColorBrush x:Key="LightBorderBrush" Color="#AAA"/>
+       <SolidColorBrush x:Key="LightColorBrush" Color="#DDD"/>
+       
+       <!-- Used for Checkmark, Radio button, TreeViewItem, Expander ToggleButton glyphs -->
+       <SolidColorBrush x:Key="GlyphBrush" Color="#444"/>
+       
+       
+       <!-- Style and Template pairs are used to define each control Part -->
+       <!-- The Style provides default values on the control; the Template gives the elements for each control -->
+       
+       <!-- SimpleButtonFocusVisual is used to show keyboard focus around a SimpleButton control -->
+       <Style x:Key="SimpleButtonFocusVisual">
+               <Setter Property="Control.Template">
+                       <Setter.Value>
+                               <ControlTemplate>
+                                       <Border>
+                                               <Rectangle Margin="2" Stroke="#60000000" StrokeThickness="1" StrokeDashArray="1 2"/>
+                                       </Border>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+
+    <Style TargetType="{x:Type Image}" x:Key="toolbarImageStyle">
+        <Style.Triggers>
+            <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type Button}, AncestorLevel=1}, Path=IsEnabled}" Value="False">
+                <Setter Property="Opacity" Value="0.50"></Setter>
+            </DataTrigger>
+        </Style.Triggers>
+    </Style>
+
+    <Style TargetType="MenuItem" x:Key="popupItem">
+        <Setter Property="CommandTarget"
+                    Value="{Binding Path=PlacementTarget, RelativeSource={RelativeSource AncestorType=ContextMenu} }"/>
+    </Style>
+
+    <!-- Simple Button - This control sets brushes on each state. Note that these brushes must be listed above since they are static resources -->
+       <Style x:Key="SimpleButton" TargetType="{x:Type Button}" BasedOn="{x:Null}">
+               <Setter Property="FocusVisualStyle" Value="{DynamicResource SimpleButtonFocusVisual}"/>
+               <Setter Property="Background" Value="{DynamicResource NormalBrush}"/>
+               <Setter Property="BorderBrush" Value="{DynamicResource NormalBorderBrush}"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type Button}">
+                                       
+                                       <!-- We use Grid as a root because it is easy to add more elements to customize the button -->
+                                       <Grid x:Name="Grid">
+                                               <Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}"/>
+                                               
+                                               <!-- Content Presenter is where the text content etc is placed by the control -->
+                                               <!-- The bindings are useful so that the control can be parameterized without editing the template -->
+                                               <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
+                                       </Grid>
+                                       
+                                       <!--Each state sets a brush on the Border in the template -->
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsKeyboardFocused" Value="true">
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DefaultedBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsMouseOver" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource MouseOverBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsPressed" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource PressedBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource PressedBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="true"/>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <Style x:Key="RadioButtonFocusVisual">
+               <Setter Property="Control.Template">
+                       <Setter.Value>
+                               <ControlTemplate>
+                                       <Border>
+                                               <Rectangle Margin="15,0,0,0" Stroke="#60000000" StrokeThickness="1" StrokeDashArray="1 2"/>
+                                       </Border>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <Style x:Key="CheckBoxFocusVisual">
+               <Setter Property="Control.Template">
+                       <Setter.Value>
+                               <ControlTemplate>
+                                       <Border>
+                                               <Rectangle Margin="15,0,0,0" Stroke="#60000000" StrokeThickness="1" StrokeDashArray="1 2"/>
+                                       </Border>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple CheckBox -->
+       <Style x:Key="SimpleCheckBox" TargetType="{x:Type CheckBox}">
+               <Setter Property="SnapsToDevicePixels" Value="true"/>
+               <Setter Property="FocusVisualStyle" Value="{DynamicResource CheckBoxFocusVisual}"/>
+               <Setter Property="Background" Value="{DynamicResource NormalBrush}"/>
+               <Setter Property="BorderBrush" Value="{DynamicResource NormalBorderBrush}"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type CheckBox}">
+                                       
+                                       <!-- BulletDecorator is used to provide baseline alignment between the checkmark and the Content -->
+                                       <BulletDecorator Background="Transparent">
+                                               <BulletDecorator.Bullet>
+                                                       <Grid Width="13" Height="13">
+                                                               <Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
+                                                               <Path x:Name="CheckMark" Stroke="{DynamicResource GlyphBrush}" StrokeThickness="2" SnapsToDevicePixels="False" Data="M 0 0 L 13 13 M 0 13 L 13 0"/>
+                                                       </Grid>
+                                               </BulletDecorator.Bullet>
+                                               <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
+                                       </BulletDecorator>
+                                       
+                                       <!-- This uses Visibility to hide and show the CheckMark on IsChecked -->
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsChecked" Value="false">
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="CheckMark"/>
+                                               </Trigger>
+                                               <Trigger Property="IsMouseOver" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource MouseOverBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsPressed" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource PressedBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource PressedBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                                       
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple Radio Button -->
+       <Style x:Key="SimpleRadioButton" TargetType="{x:Type RadioButton}">
+               <Setter Property="SnapsToDevicePixels" Value="true"/>
+               <Setter Property="FocusVisualStyle" Value="{DynamicResource RadioButtonFocusVisual}"/>
+               <Setter Property="Background" Value="{DynamicResource NormalBrush}"/>
+               <Setter Property="BorderBrush" Value="{DynamicResource NormalBorderBrush}"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type RadioButton}">
+                               
+                                       <!-- BulletDecorator is used to provide baseline alignment between the checkmark and the Content -->
+                                       <BulletDecorator Background="Transparent">
+                                               <BulletDecorator.Bullet>
+                                                       <Grid Width="13" Height="13">
+                                                               <Ellipse x:Name="Ellipse_Border" Fill="{TemplateBinding Background}" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="1"/>
+                                                               <Ellipse Margin="4" x:Name="CheckMark" Fill="{DynamicResource GlyphBrush}"/>
+                                                       </Grid>
+                                               </BulletDecorator.Bullet>
+                                               <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
+                                       </BulletDecorator>
+                                       
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsChecked" Value="false">
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="CheckMark"/>
+                                               </Trigger>
+                                               <Trigger Property="IsMouseOver" Value="true">
+                                                       <Setter Property="Fill" Value="{DynamicResource MouseOverBrush}" TargetName="Ellipse_Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsPressed" Value="true">
+                                                       <Setter Property="Fill" Value="{DynamicResource PressedBrush}" TargetName="Ellipse_Border"/>
+                                                       <Setter Property="Stroke" Value="{DynamicResource GlyphBrush}" TargetName="Ellipse_Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Fill" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Ellipse_Border"/>
+                                                       <Setter Property="Stroke" Value="#40000000" TargetName="Ellipse_Border"/>
+                                                       <Setter Property="Foreground" Value="#80000000"/>
+                                               </Trigger>
+                                               
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple Repeat Button - This is used by Simple ScrollBar for the up and down buttons -->
+       <Style x:Key="SimpleRepeatButton" d:IsControlPart="True" TargetType="{x:Type RepeatButton}" BasedOn="{x:Null}">
+               <Setter Property="Background" Value="{DynamicResource NormalBrush}"/>
+               <Setter Property="BorderBrush" Value="{DynamicResource NormalBorderBrush}"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type RepeatButton}">
+                                       <Grid>
+                                               <Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
+                                               <ContentPresenter HorizontalAlignment="Center" x:Name="ContentPresenter" VerticalAlignment="Center" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsKeyboardFocused" Value="true">
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DefaultedBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsMouseOver" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource MouseOverBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsPressed" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource PressedBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource PressedBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple Thumb - The Thumb is the draggable part of the Scrollbar -->
+       <Style x:Key="SimpleThumbStyle" d:IsControlPart="True" TargetType="{x:Type Thumb}" BasedOn="{x:Null}">
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type Thumb}">
+                                       <Grid Margin="0,0,0,0" x:Name="Grid">
+                                               <Rectangle HorizontalAlignment="Stretch" x:Name="Rectangle" VerticalAlignment="Stretch" Width="Auto" Height="Auto" RadiusX="2" RadiusY="2" Fill="{DynamicResource NormalBrush}" Stroke="{DynamicResource NormalBorderBrush}"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsFocused" Value="True"/>
+                                               <Trigger Property="IsMouseOver" Value="True"/>
+                                               <Trigger Property="IsEnabled" Value="False"/>
+                                               <Trigger Property="IsDragging" Value="True"/>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple ScrollRepeatButton Style - This RepeatButton is used above and below the Thumb in the Scrollbar. They are set to transparent si that they do not show over the scrollbar -->
+       <Style x:Key="SimpleScrollRepeatButtonStyle" d:IsControlPart="True" TargetType="{x:Type RepeatButton}">
+               <Setter Property="Background" Value="Transparent"/>
+               <Setter Property="BorderBrush" Value="Transparent"/>
+               <Setter Property="IsTabStop" Value="false"/>
+               <Setter Property="Focusable" Value="false"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type RepeatButton}">
+                                       <Grid>
+                                               <Rectangle Fill="{TemplateBinding Background}" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="{TemplateBinding BorderThickness}"/>
+                                       </Grid>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple ScrollBar  This makes use of SimpleThumb, SimpleRepeatButton and SimpleScrollRepeatButton -->
+       
+       <Style x:Key="SimpleScrollBar" TargetType="{x:Type ScrollBar}">
+               <Setter Property="Stylus.IsFlicksEnabled" Value="false"/>
+               <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type ScrollBar}">
+                                       <Grid x:Name="GridRoot" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Background="{TemplateBinding Background}">
+                                               <Grid.RowDefinitions>
+                                                       <RowDefinition MaxHeight="18"/>
+                                                       <RowDefinition Height="0.00001*"/>
+                                                       <RowDefinition MaxHeight="18"/>
+                                               </Grid.RowDefinitions>
+                                               
+                                               <RepeatButton x:Name="DecreaseRepeat" Style="{DynamicResource SimpleRepeatButton}" Command="ScrollBar.LineUpCommand">
+                                                       <Grid>
+                                                               <Path x:Name="DecreaseArrow" Stroke="{TemplateBinding Foreground}" StrokeThickness="1" Data="M 0 4 L 8 4 L 4 0 Z"/>
+                                                       </Grid>
+                                               </RepeatButton>
+                                               
+                                               <!-- Track is a special layout container which sizes the thumb and the repeat button which do jump scrolling either side of it -->
+                                               <Track Grid.Row="1" x:Name="PART_Track" Orientation="Vertical" IsDirectionReversed="true">
+                                                       <Track.Thumb>
+                                                               <Thumb Style="{DynamicResource SimpleThumbStyle}"/>
+                                                       </Track.Thumb>
+                                                       <Track.IncreaseRepeatButton>
+                                                               <RepeatButton x:Name="PageUp" Style="{DynamicResource SimpleScrollRepeatButtonStyle}" Command="ScrollBar.PageDownCommand"/>
+                                                       </Track.IncreaseRepeatButton>
+                                                       <Track.DecreaseRepeatButton>
+                                                               <RepeatButton x:Name="PageDown" Style="{DynamicResource SimpleScrollRepeatButtonStyle}" Command="ScrollBar.PageUpCommand"/>
+                                                       </Track.DecreaseRepeatButton>
+                                               </Track>
+                                               
+                                               <RepeatButton Grid.Row="2" x:Name="IncreaseRepeat" Style="{DynamicResource SimpleRepeatButton}" Command="ScrollBar.LineDownCommand">
+                                                       <Grid>
+                                                               <Path x:Name="IncreaseArrow" Stroke="{TemplateBinding Foreground}" StrokeThickness="1" Data="M 0 0 L 4 4 L 8 0 Z"/>
+                                                       </Grid>
+                                               </RepeatButton>
+                                       </Grid>
+                                       
+                                       <!-- This uses a single template for ScrollBar and rotate it to be Horizontal
+                                       It also changes the commands so that the it does Left and Right instead of Up and Down Commands -->
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="Orientation" Value="Horizontal">
+
+                                                       <!-- Rotate the ScrollBar from Vertical to Horizontal -->
+                                                       <Setter Property="LayoutTransform" TargetName="GridRoot">
+                                                               <Setter.Value>
+                                                                       <RotateTransform Angle="-90"/>
+                                                               </Setter.Value>
+                                                       </Setter>
+                                                       
+                                                       <!-- Track is bound to Orientation internally, so we need to rotate it back to Vertical -->
+                                                       <Setter TargetName="PART_Track" Property="Orientation" Value="Vertical"/>
+                                       
+                                                       <!-- Change the commands to do Horizontal commands -->
+                                                       <Setter Property="Command" Value="ScrollBar.LineLeftCommand" TargetName="DecreaseRepeat"/>
+                                                       <Setter Property="Command" Value="ScrollBar.LineRightCommand" TargetName="IncreaseRepeat"/>
+                                                       <Setter Property="Command" Value="ScrollBar.PageLeftCommand" TargetName="PageDown"/>
+                                                       <Setter Property="Command" Value="ScrollBar.PageRightCommand" TargetName="PageUp"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple ScrollViewer 
+       ScrollViewer is a Grid control which has a ContentPresenter and a Horizontal and Vertical ScrollBar 
+       It is used by ListBox, MenuItem, ComboBox, and TreeView -->
+       <Style x:Key="SimpleScrollViewer" TargetType="{x:Type ScrollViewer}" BasedOn="{x:Null}">
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type ScrollViewer}">
+                                       <Grid Background="{TemplateBinding Background}">
+                                               <Grid.ColumnDefinitions>
+                                                       <ColumnDefinition Width="*"/>
+                                                       <ColumnDefinition Width="Auto"/>
+                                               </Grid.ColumnDefinitions>
+                                               <Grid.RowDefinitions>
+                                                       <RowDefinition Height="*"/>
+                                                       <RowDefinition Height="Auto"/>
+                                               </Grid.RowDefinitions>
+                                               <ScrollContentPresenter Grid.Column="0" Grid.Row="0" Margin="{TemplateBinding Padding}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" CanContentScroll="{TemplateBinding CanContentScroll}"/>
+                                               
+                                               <!-- The visibility of the ScrollBars is controlled by the implementation fo the control -->
+                                               <ScrollBar Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Grid.Column="0" Grid.Row="1" x:Name="PART_HorizontalScrollBar" Style="{DynamicResource SimpleScrollBar}" Orientation="Horizontal" Value="{Binding Path=HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}" Minimum="0" Maximum="{TemplateBinding ScrollableWidth}" />
+                                               <ScrollBar Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Grid.Column="1" Grid.Row="0" x:Name="PART_VerticalScrollBar" Style="{DynamicResource SimpleScrollBar}" Orientation="Vertical" Value="{Binding Path=VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}" Minimum="0" Maximum="{TemplateBinding ScrollableHeight}" />
+                                       </Grid>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple ListBox - This uses SimpleScrollViewer to allow items to be scrolled and SimpleListBoxItem to define the look of each item -->
+       <Style x:Key="SimpleListBox" TargetType="{x:Type ListBox}">
+               <Setter Property="SnapsToDevicePixels" Value="true"/>
+               <Setter Property="Background" Value="{DynamicResource WindowBackgroundBrush}"/>
+               <Setter Property="BorderBrush" Value="{DynamicResource SolidBorderBrush}"/>
+               <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
+               <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
+               <Setter Property="ScrollViewer.CanContentScroll" Value="True"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type ListBox}">
+                                       <Grid>
+                                               <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
+                                               <ScrollViewer Margin="1" Style="{DynamicResource SimpleScrollViewer}" Focusable="false" Background="{TemplateBinding Background}">
+                                                       
+                                                       <!-- The StackPanel is used to display the children by setting IsItemsHost to be Trus -->
+                                                       <StackPanel Margin="2" IsItemsHost="true"/>
+                                                       
+                                               </ScrollViewer>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsGrouping" Value="true">
+                                                       <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple ListBoxItem - This is used for each Item in a ListBox. The item's content is placed in the ContentPresenter -->
+       
+       <Style x:Key="SimpleListBoxItem" d:IsControlPart="True" TargetType="{x:Type ListBoxItem}">
+               <Setter Property="SnapsToDevicePixels" Value="true"/>
+               <Setter Property="OverridesDefaultStyle" Value="true"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type ListBoxItem}">
+                                       <Grid SnapsToDevicePixels="true">
+                                               <Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
+                                               <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               
+                                               <!-- Change IsSelected SelectedBackgroundBrush to set the selection color for the items -->
+                                               <Trigger Property="IsSelected" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource SelectedBackgroundBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple Expander ToggleButton - This Button is used by the Expander control. When it is toggled it switches visibility on the Up_Arrow and Down_Arrow -->
+       <ControlTemplate x:Key="ExpanderToggleButton" TargetType="{x:Type ToggleButton}">
+               <Grid>
+                       <Rectangle Margin="0,0,0,0" x:Name="Rectangle" Fill="Transparent" Stroke="{DynamicResource NormalBorderBrush}"/>
+                       <Path HorizontalAlignment="Center" x:Name="Up_Arrow" VerticalAlignment="Center" Fill="{DynamicResource GlyphBrush}" Data="M 0 0 L 4 4 L 8 0 Z"/>
+                       <Path Visibility="Collapsed" HorizontalAlignment="Center" x:Name="Down_Arrow" VerticalAlignment="Center" Fill="{DynamicResource GlyphBrush}" Data="M 0 4 L 4 0 L 8 4 Z"/>
+               </Grid>
+               <ControlTemplate.Triggers>
+                       <Trigger Property="IsMouseOver" Value="true">
+                               <Setter Property="Fill" Value="{DynamicResource MouseOverBrush}" TargetName="Rectangle"/>
+                       </Trigger>
+                       <Trigger Property="IsPressed" Value="true">
+                               <Setter Property="Fill" Value="{DynamicResource PressedBrush}" TargetName="Rectangle"/>
+                       </Trigger>
+                       <Trigger Property="IsChecked" Value="true">
+                               <Setter Property="Visibility" Value="Visible" TargetName="Down_Arrow"/>
+                               <Setter Property="Visibility" Value="Collapsed" TargetName="Up_Arrow"/>
+                       </Trigger>
+                       <Trigger Property="IsEnabled" Value="False">
+                               <Setter Property="Fill" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Rectangle"/>
+                               <Setter Property="Stroke" Value="{DynamicResource DisabledBorderBrush}" TargetName="Rectangle"/>
+                               <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                               <Setter Property="Fill" Value="{DynamicResource DisabledForegroundBrush}" TargetName="Up_Arrow"/>
+                       </Trigger>
+               </ControlTemplate.Triggers>
+       </ControlTemplate>
+       
+       <!-- Simple Expander 
+        This uses the Simpler ExpanderToggleButton. It sets Visibility on the ContentPresenter to expand
+        Limitations : The Simple Expander only expands down -->
+       <Style x:Key="SimpleExpander" TargetType="{x:Type Expander}">
+               <Setter Property="Background" Value="{DynamicResource LightBrush}"/>
+               <Setter Property="BorderBrush" Value="{DynamicResource NormalBorderBrush}"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type Expander}">
+                                       <Grid>
+                                               <Grid.RowDefinitions>
+                                                       <RowDefinition Height="Auto"/>
+                                                       <RowDefinition Height="*" x:Name="ContentRow"/>
+                                               </Grid.RowDefinitions>
+                                               <Border Grid.Row="0" x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2,2,0,0">
+                                                       <Grid>
+                                                               <Grid.ColumnDefinitions>
+                                                                       <ColumnDefinition Width="20"/>
+                                                                       <ColumnDefinition Width="*"/>
+                                                               </Grid.ColumnDefinitions>
+                                                               <ToggleButton Template="{DynamicResource ExpanderToggleButton}" Background="{DynamicResource NormalBrush}" IsChecked="{Binding Path=IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" OverridesDefaultStyle="True"/>
+                                                               <ContentPresenter Grid.Column="1" Margin="4" RecognizesAccessKey="True" ContentSource="Header"/>
+                                                       </Grid>
+                                               </Border>
+                                               <Border Visibility="Collapsed" Grid.Row="1" x:Name="ExpandSite" Background="{DynamicResource WindowBackgroundBrush}" BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1,0,1,1" CornerRadius="0,0,2,2">
+                                                       <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Focusable="false"/>
+                                               </Border>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsExpanded" Value="True">
+                                                       <Setter Property="Visibility" Value="Visible" TargetName="ExpandSite"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="False">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple ComboBox Toggle Button - This is used in ComboBox to expand and collapse the ComboBox Popup-->
+       <ControlTemplate x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}">
+               <Grid>
+                       <Grid.ColumnDefinitions>
+                               <ColumnDefinition/>
+                               <ColumnDefinition Width="20"/>
+                       </Grid.ColumnDefinitions>
+                       <Rectangle Grid.ColumnSpan="2" HorizontalAlignment="Stretch" x:Name="Rectangle" VerticalAlignment="Stretch" Width="Auto" Height="Auto" RadiusX="5" RadiusY="5" Fill="{DynamicResource NormalBrush}" Stroke="{DynamicResource NormalBorderBrush}"/>
+                       <Rectangle Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" RadiusX="5" RadiusY="5" Fill="{DynamicResource WindowBackgroundBrush}" Stroke="{DynamicResource NormalBorderBrush}"/>
+                       <Path Grid.Column="1" HorizontalAlignment="Center" x:Name="Arrow" VerticalAlignment="Center" Fill="{DynamicResource GlyphBrush}" Data="M 0 0 L 4 4 L 8 0 Z"/>
+               </Grid>
+               <ControlTemplate.Triggers>
+                       <Trigger Property="IsMouseOver" Value="true">
+                               <Setter Property="Fill" Value="{DynamicResource MouseOverBrush}" TargetName="Rectangle"/>
+                       </Trigger>
+                       <Trigger Property="IsChecked" Value="true">
+                               <Setter Property="Fill" Value="{DynamicResource PressedBrush}" TargetName="Rectangle"/>
+                       </Trigger>
+                       <Trigger Property="IsEnabled" Value="False">
+                               <Setter Property="Fill" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Rectangle"/>
+                               <Setter Property="Stroke" Value="{DynamicResource DisabledBorderBrush}" TargetName="Rectangle"/>
+                               <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                               <Setter Property="Fill" Value="{DynamicResource DisabledForegroundBrush}" TargetName="Arrow"/>
+                       </Trigger>
+               </ControlTemplate.Triggers>
+       </ControlTemplate>
+       
+       <!-- This is the area which contains the selected item in the ComboBox -->
+       
+       <ControlTemplate x:Key="ComboBoxTextBox" TargetType="{x:Type TextBox}">
+               <!-- This must be named as PART_ContentHost -->
+               <Border x:Name="PART_ContentHost" Focusable="False" Background="{TemplateBinding Background}"/>
+       </ControlTemplate>
+       
+       <!-- Simple ComboBox 
+       This uses the ComboBoxToggleButton to expand and collapse a Popup control
+       SimpleScrollViewer to allow items to be scrolled and SimpleComboBoxItem to define the look of each item 
+       The Popup shows a list of items in a StackPanel-->
+       
+       <Style x:Key="SimpleComboBox" TargetType="{x:Type ComboBox}">
+               <Setter Property="SnapsToDevicePixels" Value="true"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type ComboBox}">
+                                       <Grid>
+                                               <!-- The ToggleButton is databound to the ComboBox itself to toggle IsDropDownOpen -->
+                                               <ToggleButton Grid.Column="2" Template="{DynamicResource ComboBoxToggleButton}" x:Name="ToggleButton" Focusable="false" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"/>
+                                               <ContentPresenter HorizontalAlignment="Left" Margin="3,3,23,3" x:Name="ContentSite" VerticalAlignment="Center" Content="{TemplateBinding SelectionBoxItem}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" IsHitTestVisible="False"/>
+                                               
+                                               <!-- The TextBox must be named PART_EditableTextBox or ComboBox will not recognize it -->
+                                               <TextBox Visibility="Hidden" Template="{DynamicResource ComboBoxTextBox}" HorizontalAlignment="Left" Margin="3,3,23,3" x:Name="PART_EditableTextBox" Style="{x:Null}" VerticalAlignment="Center" Focusable="True" Background="Transparent" IsReadOnly="{TemplateBinding IsReadOnly}"/>
+                                               
+                                               <!-- The Popup shows the list of items in the ComboBox. IsOpen is databound to IsDropDownOpen which is toggled via the ComboBoxToggleButton -->
+                                               <Popup IsOpen="{TemplateBinding IsDropDownOpen}" Placement="Bottom" x:Name="Popup" Focusable="False" AllowsTransparency="True" PopupAnimation="Slide">
+                                                       <Grid MaxHeight="{TemplateBinding MaxDropDownHeight}" MinWidth="{TemplateBinding ActualWidth}" x:Name="DropDown" SnapsToDevicePixels="True">
+                                                               <Border x:Name="DropDownBorder" Background="{DynamicResource WindowBackgroundBrush}" BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1"/>
+                                                               <ScrollViewer Margin="4,6,4,6" Style="{DynamicResource SimpleScrollViewer}" SnapsToDevicePixels="True" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" CanContentScroll="True">
+                                                       
+                                                                       <!-- The StackPanel is used to display the children by setting IsItemsHost to be True -->
+                                                                       <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained"/>
+                                                               
+                                                               </ScrollViewer>
+                                                       </Grid>
+                                               </Popup>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>                                              
+                                               <!-- This forces the DropDown to have a minimum size if it is empty -->
+                                               <Trigger Property="HasItems" Value="false">
+                                                       <Setter Property="MinHeight" Value="95" TargetName="DropDownBorder"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                               </Trigger>
+                                               <Trigger Property="IsGrouping" Value="true">
+                                                       <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
+                                               </Trigger>
+                                               <Trigger Property="AllowsTransparency" SourceName="Popup" Value="true">
+                                                       <Setter Property="CornerRadius" Value="4" TargetName="DropDownBorder"/>
+                                                       <Setter Property="Margin" Value="0,2,0,0" TargetName="DropDownBorder"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEditable" Value="true">
+                                                       <Setter Property="IsTabStop" Value="false"/>
+                                                       <Setter Property="Visibility" Value="Visible" TargetName="PART_EditableTextBox"/>
+                                                       <Setter Property="Visibility" Value="Hidden" TargetName="ContentSite"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple ComboBoxItem - This is used for each item inside of the ComboBox. You can change the selected color of each item below-->
+       <Style x:Key="SimpleComboBoxItem" d:IsControlPart="True" TargetType="{x:Type ComboBoxItem}">
+               <Setter Property="SnapsToDevicePixels" Value="true"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type ComboBoxItem}">
+                                       <Grid SnapsToDevicePixels="true">
+                                               <Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
+                                               <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                       
+                                               <!-- Change IsHighlighted SelectedBackgroundBrush to set the selection color for the items -->
+                                               <Trigger Property="IsHighlighted" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource SelectedBackgroundBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple SimpleProgressBar
+        The template uses two Border controls to show the Track and Progress 
+        Limitations : It only supports a horizontal orientated ProgressBar -->
+       <Style x:Key="SimpleProgressBar" TargetType="{x:Type ProgressBar}">
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type ProgressBar}">
+                                       <Grid>
+                                       
+                                               <!-- This Border is the track. It must be named PART_Track -->
+                                               <Border x:Name="PART_Track" Background="{DynamicResource PressedBrush}" BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1" CornerRadius="2"/>
+                                               
+                                               <!-- This Border shows progress. It must be named PART_Indicator for the control to function -->
+                                               <Border HorizontalAlignment="Left" x:Name="PART_Indicator" Background="{DynamicResource MouseOverBrush}" BorderBrush="{DynamicResource NormalBorderBrush}" BorderThickness="1" CornerRadius="2"/>
+                                       
+                                       </Grid>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple TextBox -->
+       <Style x:Key="SimpleTextBox" TargetType="{x:Type TextBox}">
+               <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
+               <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
+               <Setter Property="AllowDrop" Value="true"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type TextBox}">
+                                       <Grid>
+                                               <Border x:Name="Border" Background="{DynamicResource WindowBackgroundBrush}" BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1" Padding="2" CornerRadius="2">
+                                                       
+                                                       <!-- The implementation places the Content into the ScrollViewer. It must be named PART_ContentHost for the control to function -->
+                                                       <ScrollViewer Margin="0" x:Name="PART_ContentHost" Style="{DynamicResource SimpleScrollViewer}" Background="{TemplateBinding Background}"/>
+                                               
+                                               </Border>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsEnabled" Value="False">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple Label - This template is just a ContentPresenter that shows the content of the Label -->
+       <Style x:Key="SimpleLabel" TargetType="{x:Type Label}">
+               <Setter Property="HorizontalContentAlignment" Value="Left"/>
+               <Setter Property="VerticalContentAlignment" Value="Top"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type Label}">
+                                       <Grid>
+                                               <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsEnabled" Value="false"/>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple Menu - This template uses a StackPanel to layout MenuItems --> 
+       <Style x:Key="SimpleMenu" TargetType="{x:Type Menu}">
+               <Setter Property="Background" Value="{DynamicResource LightBrush}"/>
+               <Setter Property="BorderBrush" Value="{DynamicResource NormalBorderBrush}"/>
+               <Setter Property="SnapsToDevicePixels" Value="True"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type Menu}">
+                                       <Grid>
+                                               <Border Margin="1" x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"/>
+                                               <StackPanel Background="{TemplateBinding Background}" IsItemsHost="True" ClipToBounds="True" Orientation="Horizontal"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsEnabled" Value="False">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- This BitmapEffect is used by the Simple MenuItem -->
+       <DropShadowBitmapEffect x:Key="PopupDropShadow" ShadowDepth="1.5" Softness="0.15"/>
+       
+       <!-- Simple MenuItem - The template uses triggers to provide four different arrangements of menu item which are set via the Role property --> 
+       <Style x:Key="SimpleMenuItem" TargetType="{x:Type MenuItem}">
+               <Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
+               <Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
+               <Setter Property="Background" Value="Transparent"/>
+               <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.MenuTextBrushKey}}"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type MenuItem}">
+                                       <Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
+                                               <Grid>
+                                                       
+                                                       <!-- The Grid is used to hold together columns for an Icon, Content, Glyph checkmark and Arrow to show the next level
+                                                        Size sharing is used in Grid so that the Icon, Content, Arrow for each MenuItem align together -->
+                                                       <Grid.ColumnDefinitions>
+                                                               <ColumnDefinition MinWidth="17" Width="Auto" SharedSizeGroup="MenuItemIconColumnGroup"/>
+                                                               <ColumnDefinition Width="*"/>
+                                                               <ColumnDefinition Width="Auto" SharedSizeGroup="MenuItemIGTColumnGroup"/>
+                                                               <ColumnDefinition Width="14"/>
+                                                       </Grid.ColumnDefinitions>
+                                                       
+                                                       <!-- ContentPresenter to show an Icon if needed -->
+                                                       <ContentPresenter Margin="4,0,6,0" x:Name="Icon" VerticalAlignment="Center" ContentSource="Icon"/>
+                                                       
+                                                       <!-- Glyph is a checkmark if needed for a checkable menu -->
+                                                       <Grid Visibility="Hidden" Margin="4,0,6,0" x:Name="GlyphPanel" VerticalAlignment="Center">
+                                                               <Path x:Name="GlyphPanelpath" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="M0,2 L0,4.8 L2.5,7.4 L7.1,2.8 L7.1,0 L2.5,4.6 z" FlowDirection="LeftToRight"/>
+                                                       </Grid>
+                                                       
+                                                       <!-- Content for the menu text etc -->
+                                                       <ContentPresenter Grid.Column="1" Margin="{TemplateBinding Padding}" x:Name="HeaderHost" RecognizesAccessKey="True" ContentSource="Header"/>
+                                                       
+                                                       <!-- Arrow drawn path which points to the next level of the menu -->
+                                                       <Grid Grid.Column="3" Margin="4,0,6,0" x:Name="ArrowPanel" VerticalAlignment="Center">
+                                                               <Path x:Name="ArrowPanelPath" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="M0,0 L0,8 L4,4 z"/>
+                                                       </Grid>
+                                                       
+                                                       <!-- The Popup is the body of the menu which expands down or across depending on the level of the item -->
+                                                       <Popup IsOpen="{Binding Path=IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}" Placement="Right" x:Name="SubMenuPopup" Focusable="false" AllowsTransparency="true" PopupAnimation="{DynamicResource {x:Static SystemParameters.MenuPopupAnimationKey}}" VerticalOffset="-3">
+                                                               <Grid x:Name="SubMenu">
+                                                                       <Border x:Name="SubMenuBorder" Background="{DynamicResource WindowBackgroundBrush}" BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1"/>
+                                                                       
+                                                                       <!-- StackPanel holds children of the menu. This is set bu IsItemsHost=True -->
+                                                                       <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>
+                                                               </Grid>
+                                                       </Popup>
+                                                       
+                                               </Grid>
+                                       </Border>
+                                       
+                                       <!-- These triggers re-configure the four arrangements of MenuItem to show different levels of menu via Role -->
+                                       <ControlTemplate.Triggers>
+                                       
+                                               <!-- Role = TopLevelHeader : this is the root menu item in a menu; the Popup expands down -->
+                                               <Trigger Property="Role" Value="TopLevelHeader">
+                                                       <Setter Property="Margin" Value="0,1,0,1"/>
+                                                       <Setter Property="Padding" Value="6,3,6,3"/>
+                                                       <Setter Property="Grid.IsSharedSizeScope" Value="true"/>
+                                                       <Setter Property="Placement" Value="Bottom" TargetName="SubMenuPopup"/>
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/>
+                                               </Trigger>
+                                               
+                                               <!-- Role = TopLevelItem :  this is a child menu item from the top level without any child items-->
+                                               <Trigger Property="Role" Value="TopLevelItem">
+                                                       <Setter Property="Margin" Value="0,1,0,1"/>
+                                                       <Setter Property="Padding" Value="6,3,6,3"/>
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/>
+                                               </Trigger>
+                                               
+                                               <!-- Role = SubMenuHeader : this is a child menu item which does not have children -->
+                                               <Trigger Property="Role" Value="SubmenuHeader">
+                                                       <Setter Property="DockPanel.Dock" Value="Top"/>
+                                                       <Setter Property="Padding" Value="0,2,0,2"/>
+                                                       <Setter Property="Grid.IsSharedSizeScope" Value="true"/>
+                                               </Trigger>
+                                               
+                                               <!-- Role = SubMenuItem : this is a child menu item which has children-->
+                                               <Trigger Property="Role" Value="SubmenuItem">
+                                                       <Setter Property="DockPanel.Dock" Value="Top"/>
+                                                       <Setter Property="Padding" Value="0,2,0,2"/>
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/>
+                                               </Trigger>
+                                               <Trigger Property="IsSuspendingPopupAnimation" Value="true">
+                                                       <Setter Property="PopupAnimation" Value="None" TargetName="SubMenuPopup"/>
+                                               </Trigger>
+                                               
+                                               <!-- If no Icon is present the we collapse the Icon Content -->
+                                               <Trigger Property="Icon" Value="{x:Null}">
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="Icon"/>
+                                               </Trigger>
+                                               
+                                               <!-- The GlyphPanel contains the CheckMark -->
+                                               <Trigger Property="IsChecked" Value="true">
+                                                       <Setter Property="Visibility" Value="Visible" TargetName="GlyphPanel"/>
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="Icon"/>
+                                               </Trigger>
+                                               
+                                               <Trigger Property="AllowsTransparency" SourceName="SubMenuPopup" Value="true">
+                                                       <Setter Property="Margin" Value="0,0,3,3" TargetName="SubMenu"/>
+                                                       <Setter Property="SnapsToDevicePixels" Value="true" TargetName="SubMenu"/>
+                                                       <Setter Property="BitmapEffect" Value="{DynamicResource PopupDropShadow}" TargetName="SubMenuBorder"/>
+                                               </Trigger>
+                                               
+                                               <!-- Using the system colors for the Menu Highlight and IsEnabled-->
+                                               <Trigger Property="IsHighlighted" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" TargetName="Border"/>
+                                                       <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!-- Simple Separator - This template is used for a Separator in a menu --> 
+       <Style x:Key="SimpleSeparator" TargetType="{x:Type Separator}">
+               <Setter Property="Height" Value="1"/>
+               <Setter Property="Margin" Value="0,2,0,2"/>
+               <Setter Property="Focusable" Value="false"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type Separator}">
+                                       <Border BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1"/>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+
+       <!-- Simple TabControl 
+       This template uses Simple TabItem for each Tab. The TabItems are placed in the TabPanel
+       Limitations : The Simple TabControl only allow the Tabs to be shown at the top of the Tab control. You can re-position the TabPanel to change this-->
+       
+       <Style x:Key="SimpleTabControl" TargetType="{x:Type TabControl}">
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type TabControl}">
+                                       <Grid KeyboardNavigation.TabNavigation="Local">
+                                               <Grid.RowDefinitions>
+                                                       <RowDefinition Height="Auto"/>
+                                                       <RowDefinition Height="*"/>
+                                               </Grid.RowDefinitions>
+                                               
+                                               <!-- TabPanel is a layout container which allows the TabItems to wrap and re-order when selected
+                                               The implementation knows to use this control because it is marked IsItemsHost = True -->
+                                               <TabPanel Grid.Row="0" Margin="0,0,4,-1" x:Name="HeaderPanel" Background="Transparent" IsItemsHost="True" Panel.ZIndex="1" KeyboardNavigation.TabIndex="1"/>
+                                               
+                                               <Border Grid.Row="1" x:Name="Border" Background="{DynamicResource WindowBackgroundBrush}" BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1" CornerRadius="2" KeyboardNavigation.DirectionalNavigation="Contained" KeyboardNavigation.TabNavigation="Local" KeyboardNavigation.TabIndex="2">
+                                                       
+                                                       <!-- The implementation switches the content. This control must be named PART_SelectedContentHost -->
+                                                       <ContentPresenter Margin="4" x:Name="PART_SelectedContentHost" ContentSource="SelectedContent"/>
+                                                       
+                                               </Border>
+                                       </Grid>
+                                       
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsEnabled" Value="False">
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!--Simple TabItem -->
+       <Style x:Key="SimpleTabItem" d:IsControlPart="True" TargetType="{x:Type TabItem}">
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type TabItem}">
+                                       <Grid>
+                                               <Border Margin="0,0,-4,0" x:Name="Border" Background="{DynamicResource LightBrush}" BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1,1,1,1" CornerRadius="2,12,0,0">
+                                                       <ContentPresenter HorizontalAlignment="Center" Margin="12,2,12,2" x:Name="ContentSite" VerticalAlignment="Center" RecognizesAccessKey="True" ContentSource="Header"/>
+                                               </Border>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsSelected" Value="True">
+                                                       <Setter Property="Panel.ZIndex" Value="100"/>
+                                                       <Setter Property="Background" Value="{DynamicResource WindowBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderThickness" Value="1,1,1,0" TargetName="Border"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="False">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                                       <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!--Simple Simple SliderThumb - The Thumb is the draggable part of a Slider-->
+       <Style x:Key="SimpleSliderThumb" d:IsControlPart="True" TargetType="{x:Type Thumb}">
+               <Setter Property="SnapsToDevicePixels" Value="true"/>
+               <Setter Property="Height" Value="14"/>
+               <Setter Property="Width" Value="14"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type Thumb}">
+                                       <Grid>
+                                               <Ellipse x:Name="Ellipse" Fill="{DynamicResource NormalBrush}" Stroke="{DynamicResource NormalBorderBrush}" StrokeThickness="1"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsMouseOver" Value="True">
+                                                       <Setter Property="Fill" Value="{DynamicResource MouseOverBrush}" TargetName="Ellipse"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Fill" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Ellipse"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!--Simple Simple Slider
+       Similiar to ScrollBar this template uses Track to layout the draggable Thumb which has an up and down repeat button
+       It uses Simple SliderThumb and SimpleScrollRepeatButtonStyle for the page up and down repeat buttons -->
+       <Style x:Key="SimpleSlider" TargetType="{x:Type Slider}">
+               <Setter Property="Background" Value="{DynamicResource LightBrush}"/>
+               <Setter Property="BorderBrush" Value="{DynamicResource NormalBorderBrush}"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type Slider}">
+                                       <Grid x:Name="GridRoot">
+                                               <Grid.RowDefinitions>
+                                                       <RowDefinition Height="Auto"/>
+                                                       <RowDefinition Height="Auto" MinHeight="{TemplateBinding MinHeight}"/>
+                                                       <RowDefinition Height="Auto"/>
+                                               </Grid.RowDefinitions>
+                                               
+                                               <!-- TickBar shows the ticks for Slider -->
+                                               <TickBar Visibility="Collapsed" x:Name="TopTick" Height="4" SnapsToDevicePixels="True" Placement="Top" Fill="{DynamicResource GlyphBrush}"/>
+                                               <Border Grid.Row="1" Margin="0" x:Name="Border" Height="4" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2"/>
+                                               
+                                               <!-- The Track lays out the repeat buttons and thumb -->
+                                               <Track Grid.Row="1" x:Name="PART_Track">
+                                                       <Track.Thumb>
+                                                               <Thumb Style="{DynamicResource SimpleSliderThumb}"/>
+                                                       </Track.Thumb>
+                                                       <Track.IncreaseRepeatButton>
+                                                               <RepeatButton Style="{DynamicResource SimpleScrollRepeatButtonStyle}" Command="Slider.IncreaseLarge"/>
+                                                       </Track.IncreaseRepeatButton>
+                                                       <Track.DecreaseRepeatButton>
+                                                               <RepeatButton Style="{DynamicResource SimpleScrollRepeatButtonStyle}" Command="Slider.DecreaseLarge"/>
+                                                       </Track.DecreaseRepeatButton>
+                                               </Track>
+                                               
+                                               <TickBar Visibility="Collapsed" Grid.Row="2" x:Name="BottomTick" Height="4" SnapsToDevicePixels="True" Placement="Bottom" Fill="{TemplateBinding Foreground}"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="TickPlacement" Value="TopLeft">
+                                                       <Setter Property="Visibility" Value="Visible" TargetName="TopTick"/>
+                                               </Trigger>
+                                               <Trigger Property="TickPlacement" Value="BottomRight">
+                                                       <Setter Property="Visibility" Value="Visible" TargetName="BottomTick"/>
+                                               </Trigger>
+                                               <Trigger Property="TickPlacement" Value="Both">
+                                                       <Setter Property="Visibility" Value="Visible" TargetName="TopTick"/>
+                                                       <Setter Property="Visibility" Value="Visible" TargetName="BottomTick"/>
+                                               </Trigger>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
+                                                       <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
+                                               </Trigger>
+                                               
+                                               <!-- Use a rotation to create a Vertical Slider form the default Horizontal -->
+                                               <Trigger Property="Orientation" Value="Vertical">
+                                                       <Setter Property="LayoutTransform" TargetName="GridRoot">
+                                                               <Setter.Value>
+                                                                       <RotateTransform Angle="-90"/>
+                                                               </Setter.Value>
+                                                       </Setter>
+                                                       <!-- Track rotates itself based on orientation so need to force it back -->
+                                                       <Setter TargetName="PART_Track" Property="Orientation" Value="Horizontal"/>
+                                               </Trigger>
+                                               
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!--Simple Tree View - This lays out TreeViewItems within a ScrollViewer -->
+       <Style x:Key="SimpleTreeView" TargetType="{x:Type TreeView}">
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type TreeView}">
+                                       <Grid>
+                                               <Border x:Name="Border" Background="{DynamicResource WindowBackgroundBrush}" BorderBrush="{DynamicResource SolidBorderBrush}" BorderThickness="1" CornerRadius="1">
+                                                       <ScrollViewer Style="{DynamicResource SimpleScrollViewer}" Focusable="False" Background="{TemplateBinding Background}" Padding="4" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" CanContentScroll="False">
+                                                               <ItemsPresenter/>
+                                                       </ScrollViewer>
+                                               </Border>
+                                       </Grid>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!--Simple TreeViewItem ToggleButton - + and - button to expand and collapse a TreeViewItem -->
+       <Style x:Key="SimpleTreeViewItemToggleButton" d:IsControlPart="True" TargetType="{x:Type ToggleButton}">
+               <Setter Property="Focusable" Value="False"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type ToggleButton}">
+                                       <Grid Width="15" Height="13" Background="Transparent">
+                                               <Path Visibility="Collapsed" HorizontalAlignment="Left" Margin="1,1,1,1" x:Name="IsExpandedPath" VerticalAlignment="Center" Fill="{DynamicResource GlyphBrush}" Data="M 0 4 L 8 4 L 4 8 Z"/>
+                                               <Path HorizontalAlignment="Left" Margin="1,1,1,1" x:Name="ExpandPath" VerticalAlignment="Center" Fill="{DynamicResource GlyphBrush}" Data="M 4 0 L 8 4 L 4 8 Z"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsChecked" Value="True">
+                                                       <Setter Property="Visibility" Value="Visible" TargetName="IsExpandedPath"/>
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="ExpandPath"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+       
+       <!--Simple TreeViewItem - The TreeViewItem template has a header which shows the Item and a Body which is an ItemsHost control which expands to show child items-->
+       <Style x:Key="SimpleTreeViewItem" d:IsControlPart="True" TargetType="{x:Type TreeViewItem}">
+               <Setter Property="Background" Value="Transparent"/>
+               <Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
+               <Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
+               <Setter Property="Padding" Value="1,0,0,0"/>
+               <Setter Property="Template">
+                       <Setter.Value>
+                               <ControlTemplate TargetType="{x:Type TreeViewItem}">
+                                       <Grid>
+                                               <Grid.ColumnDefinitions>
+                                                       <ColumnDefinition MinWidth="19" Width="Auto"/>
+                                                       <ColumnDefinition Width="Auto"/>
+                                                       <ColumnDefinition Width="*"/>
+                                               </Grid.ColumnDefinitions>
+                                               <Grid.RowDefinitions>
+                                                       <RowDefinition Height="Auto"/>
+                                                       <RowDefinition/>
+                                               </Grid.RowDefinitions>
+                                               <ToggleButton x:Name="Expander" Style="{DynamicResource SimpleTreeViewItemToggleButton}" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"/>
+                                               <Border Grid.Column="1" x:Name="Selection_Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
+                                                       <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" x:Name="PART_Header" ContentSource="Header"/>
+                                               </Border>
+                                               <ItemsPresenter Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="1" x:Name="ItemsHost"/>
+                                       </Grid>
+                                       <ControlTemplate.Triggers>
+                                               <Trigger Property="IsExpanded" Value="false">
+                                                       <Setter Property="Visibility" Value="Collapsed" TargetName="ItemsHost"/>
+                                               </Trigger>
+                                               <Trigger Property="HasItems" Value="false">
+                                                       <Setter Property="Visibility" Value="Hidden" TargetName="Expander"/>
+                                               </Trigger>
+                                               <Trigger Property="IsSelected" Value="true">
+                                                       <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" TargetName="Selection_Border"/>
+                                                       <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
+                                               </Trigger>
+                                               <MultiTrigger>
+                                                       <MultiTrigger.Conditions>
+                                                               <Condition Property="IsSelected" Value="true"/>
+                                                               <Condition Property="IsSelectionActive" Value="false"/>
+                                                       </MultiTrigger.Conditions>
+                                                       <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" TargetName="Selection_Border"/>
+                                                       <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
+                                               </MultiTrigger>
+                                               <Trigger Property="IsEnabled" Value="false">
+                                                       <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
+                                               </Trigger>
+                                       </ControlTemplate.Triggers>
+                               </ControlTemplate>
+                       </Setter.Value>
+               </Setter>
+       </Style>
+</ResourceDictionary>
diff --git a/samples/CSharp/WPF/TransparencyDialog.cs b/samples/CSharp/WPF/TransparencyDialog.cs
new file mode 100644 (file)
index 0000000..0b328d5
--- /dev/null
@@ -0,0 +1,108 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+namespace IE_WPF
+{
+  /// <summary>
+  /// Summary description for TransparencyDialog.
+  /// </summary>
+  public class TransparencyDialog : System.Windows.Forms.Form
+  {
+    private System.Windows.Forms.NumericUpDown MyTransparency;
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.Container components = null;
+    private OCCTProxy myView;
+
+    public TransparencyDialog()
+    {
+      //
+      // Required for Windows Form Designer support
+      //
+      InitializeComponent();
+
+      //
+      // TODO: Add any constructor code after InitializeComponent call
+      //
+      myView = null;
+    }
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    protected override void Dispose(bool disposing)
+    {
+      if (disposing)
+      {
+        if (components != null)
+        {
+          components.Dispose();
+        }
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent()
+    {
+      System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(TransparencyDialog));
+      this.MyTransparency = new System.Windows.Forms.NumericUpDown();
+      ((System.ComponentModel.ISupportInitialize)(this.MyTransparency)).BeginInit();
+      this.SuspendLayout();
+      // 
+      // MyTransparency
+      // 
+      this.MyTransparency.Location = new System.Drawing.Point(16, 16);
+      this.MyTransparency.Maximum = new System.Decimal(new int[] {
+                                                                                                                                                  10,
+                                                                                                                                                  0,
+                                                                                                                                                  0,
+                                                                                                                                                  0});
+      this.MyTransparency.Name = "MyTransparency";
+      this.MyTransparency.Size = new System.Drawing.Size(96, 20);
+      this.MyTransparency.TabIndex = 0;
+      this.MyTransparency.ValueChanged += new System.EventHandler(this.MyTransparency_ValueChanged);
+      // 
+      // TransparencyDialog
+      // 
+      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+      this.ClientSize = new System.Drawing.Size(128, 53);
+      this.Controls.Add(this.MyTransparency);
+      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+      this.MaximizeBox = false;
+      this.MinimizeBox = false;
+      this.Name = "TransparencyDialog";
+      this.Text = "TransparencyDialog";
+      ((System.ComponentModel.ISupportInitialize)(this.MyTransparency)).EndInit();
+      this.ResumeLayout(false);
+
+    }
+    #endregion
+
+    private void MyTransparency_ValueChanged(object sender, System.EventArgs e)
+    {
+      if (this.myView == null)
+        return;
+      int transp = (int)this.MyTransparency.Value;
+      this.myView.SetTransparency(transp);
+    }
+
+    public OCCTProxy View
+    {
+      set
+      {
+        this.myView = value;
+      }
+    }
+
+  }
+}
diff --git a/samples/CSharp/WPF/TransparencyDialog.resx b/samples/CSharp/WPF/TransparencyDialog.resx
new file mode 100644 (file)
index 0000000..688fd72
--- /dev/null
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    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">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="MyTransparency.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="MyTransparency.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="MyTransparency.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>(Default)</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>8, 8</value>
+  </data>
+  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>80</value>
+  </data>
+  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Name">
+    <value>TransparencyDialog</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
+        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
+        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
+        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
+        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
+        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
+        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
+        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
+        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
+        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
+        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
+        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
+        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
+        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
+        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
+        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
+        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
+        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
+        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
+        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
+        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
+        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
+        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
+        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
+        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
+        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
+        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
+        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/samples/CSharp/WPF/res/MainFrame.ico b/samples/CSharp/WPF/res/MainFrame.ico
new file mode 100644 (file)
index 0000000..99dbceb
Binary files /dev/null and b/samples/CSharp/WPF/res/MainFrame.ico differ
diff --git a/samples/CSharp/WPF/res/document.png b/samples/CSharp/WPF/res/document.png
new file mode 100644 (file)
index 0000000..1ba28ff
Binary files /dev/null and b/samples/CSharp/WPF/res/document.png differ
diff --git a/samples/CSharp/WPF/res/help.png b/samples/CSharp/WPF/res/help.png
new file mode 100644 (file)
index 0000000..e573362
Binary files /dev/null and b/samples/CSharp/WPF/res/help.png differ
diff --git a/samples/CSharp/WPF/res/lamp.png b/samples/CSharp/WPF/res/lamp.png
new file mode 100644 (file)
index 0000000..a5a6775
Binary files /dev/null and b/samples/CSharp/WPF/res/lamp.png differ
diff --git a/samples/CSharp/WPF/res/new.png b/samples/CSharp/WPF/res/new.png
new file mode 100644 (file)
index 0000000..953757a
Binary files /dev/null and b/samples/CSharp/WPF/res/new.png differ
diff --git a/samples/CSharp/WPF/res/occ_logo.bmp b/samples/CSharp/WPF/res/occ_logo.bmp
new file mode 100644 (file)
index 0000000..443a7de
Binary files /dev/null and b/samples/CSharp/WPF/res/occ_logo.bmp differ
diff --git a/samples/CSharp/WPF/res/tool_color.png b/samples/CSharp/WPF/res/tool_color.png
new file mode 100644 (file)
index 0000000..b37ad7d
Binary files /dev/null and b/samples/CSharp/WPF/res/tool_color.png differ
diff --git a/samples/CSharp/WPF/res/tool_delete.png b/samples/CSharp/WPF/res/tool_delete.png
new file mode 100644 (file)
index 0000000..aaab07f
Binary files /dev/null and b/samples/CSharp/WPF/res/tool_delete.png differ
diff --git a/samples/CSharp/WPF/res/tool_material.png b/samples/CSharp/WPF/res/tool_material.png
new file mode 100644 (file)
index 0000000..41e9368
Binary files /dev/null and b/samples/CSharp/WPF/res/tool_material.png differ
diff --git a/samples/CSharp/WPF/res/tool_shading.png b/samples/CSharp/WPF/res/tool_shading.png
new file mode 100644 (file)
index 0000000..6bb9dc4
Binary files /dev/null and b/samples/CSharp/WPF/res/tool_shading.png differ
diff --git a/samples/CSharp/WPF/res/tool_transparency.png b/samples/CSharp/WPF/res/tool_transparency.png
new file mode 100644 (file)
index 0000000..6b42536
Binary files /dev/null and b/samples/CSharp/WPF/res/tool_transparency.png differ
diff --git a/samples/CSharp/WPF/res/tool_wireframe.png b/samples/CSharp/WPF/res/tool_wireframe.png
new file mode 100644 (file)
index 0000000..57c560f
Binary files /dev/null and b/samples/CSharp/WPF/res/tool_wireframe.png differ
diff --git a/samples/CSharp/WPF/res/view_axo.png b/samples/CSharp/WPF/res/view_axo.png
new file mode 100644 (file)
index 0000000..c9a9226
Binary files /dev/null and b/samples/CSharp/WPF/res/view_axo.png differ
diff --git a/samples/CSharp/WPF/res/view_back.png b/samples/CSharp/WPF/res/view_back.png
new file mode 100644 (file)
index 0000000..0798f52
Binary files /dev/null and b/samples/CSharp/WPF/res/view_back.png differ
diff --git a/samples/CSharp/WPF/res/view_bottom.png b/samples/CSharp/WPF/res/view_bottom.png
new file mode 100644 (file)
index 0000000..c7cfdc2
Binary files /dev/null and b/samples/CSharp/WPF/res/view_bottom.png differ
diff --git a/samples/CSharp/WPF/res/view_comp_off.png b/samples/CSharp/WPF/res/view_comp_off.png
new file mode 100644 (file)
index 0000000..c900b19
Binary files /dev/null and b/samples/CSharp/WPF/res/view_comp_off.png differ
diff --git a/samples/CSharp/WPF/res/view_comp_on.png b/samples/CSharp/WPF/res/view_comp_on.png
new file mode 100644 (file)
index 0000000..73ca4c8
Binary files /dev/null and b/samples/CSharp/WPF/res/view_comp_on.png differ
diff --git a/samples/CSharp/WPF/res/view_fitall.png b/samples/CSharp/WPF/res/view_fitall.png
new file mode 100644 (file)
index 0000000..21d2f42
Binary files /dev/null and b/samples/CSharp/WPF/res/view_fitall.png differ
diff --git a/samples/CSharp/WPF/res/view_fitarea.png b/samples/CSharp/WPF/res/view_fitarea.png
new file mode 100644 (file)
index 0000000..f20f5c0
Binary files /dev/null and b/samples/CSharp/WPF/res/view_fitarea.png differ
diff --git a/samples/CSharp/WPF/res/view_front.png b/samples/CSharp/WPF/res/view_front.png
new file mode 100644 (file)
index 0000000..a9e99c5
Binary files /dev/null and b/samples/CSharp/WPF/res/view_front.png differ
diff --git a/samples/CSharp/WPF/res/view_glpan.png b/samples/CSharp/WPF/res/view_glpan.png
new file mode 100644 (file)
index 0000000..02a9c1c
Binary files /dev/null and b/samples/CSharp/WPF/res/view_glpan.png differ
diff --git a/samples/CSharp/WPF/res/view_left.png b/samples/CSharp/WPF/res/view_left.png
new file mode 100644 (file)
index 0000000..7d25b6a
Binary files /dev/null and b/samples/CSharp/WPF/res/view_left.png differ
diff --git a/samples/CSharp/WPF/res/view_pan.png b/samples/CSharp/WPF/res/view_pan.png
new file mode 100644 (file)
index 0000000..0e9a6a5
Binary files /dev/null and b/samples/CSharp/WPF/res/view_pan.png differ
diff --git a/samples/CSharp/WPF/res/view_reset.png b/samples/CSharp/WPF/res/view_reset.png
new file mode 100644 (file)
index 0000000..38849fd
Binary files /dev/null and b/samples/CSharp/WPF/res/view_reset.png differ
diff --git a/samples/CSharp/WPF/res/view_right.png b/samples/CSharp/WPF/res/view_right.png
new file mode 100644 (file)
index 0000000..5540220
Binary files /dev/null and b/samples/CSharp/WPF/res/view_right.png differ
diff --git a/samples/CSharp/WPF/res/view_rotate.png b/samples/CSharp/WPF/res/view_rotate.png
new file mode 100644 (file)
index 0000000..7e5d013
Binary files /dev/null and b/samples/CSharp/WPF/res/view_rotate.png differ
diff --git a/samples/CSharp/WPF/res/view_top.png b/samples/CSharp/WPF/res/view_top.png
new file mode 100644 (file)
index 0000000..b788de3
Binary files /dev/null and b/samples/CSharp/WPF/res/view_top.png differ
diff --git a/samples/CSharp/WPF/res/view_zoom.png b/samples/CSharp/WPF/res/view_zoom.png
new file mode 100644 (file)
index 0000000..1b50a37
Binary files /dev/null and b/samples/CSharp/WPF/res/view_zoom.png differ
diff --git a/samples/CSharp/WinForms/AboutDialog.cs b/samples/CSharp/WinForms/AboutDialog.cs
new file mode 100644 (file)
index 0000000..73c98a7
--- /dev/null
@@ -0,0 +1,157 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+namespace IE_WinForms
+{
+  /// <summary>
+  /// Summary description for AboutDialog.
+  /// </summary>
+  public class AboutDialog : System.Windows.Forms.Form
+  {
+    private System.Windows.Forms.PictureBox pictureBox1;
+    private System.Windows.Forms.Button button1;
+    private System.Windows.Forms.Label label1;
+    private System.Windows.Forms.Label label3;
+    private System.Windows.Forms.Label label4;
+    private System.Windows.Forms.Label myVersion;
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.Container components = null;
+
+    public AboutDialog()
+    {
+      //
+      // Required for Windows Form Designer support
+      //
+      InitializeComponent();
+      //
+      // Create OCCT proxy object and get OCCT version
+      //
+      OCCTProxy t = new OCCTProxy();
+      t.InitOCCTProxy();
+      float version = t.GetOCCVersion();
+      this.myVersion.Text = this.myVersion.Text + version;
+    }
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    protected override void Dispose(bool disposing)
+    {
+      if (disposing)
+      {
+        if (components != null)
+        {
+          components.Dispose();
+        }
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent()
+    {
+      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutDialog));
+      this.pictureBox1 = new System.Windows.Forms.PictureBox();
+      this.button1 = new System.Windows.Forms.Button();
+      this.label1 = new System.Windows.Forms.Label();
+      this.myVersion = new System.Windows.Forms.Label();
+      this.label3 = new System.Windows.Forms.Label();
+      this.label4 = new System.Windows.Forms.Label();
+      ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+      this.SuspendLayout();
+      // 
+      // pictureBox1
+      // 
+      this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+      this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+      this.pictureBox1.Location = new System.Drawing.Point(59, 64);
+      this.pictureBox1.Name = "pictureBox1";
+      this.pictureBox1.Size = new System.Drawing.Size(196, 102);
+      this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
+      this.pictureBox1.TabIndex = 0;
+      this.pictureBox1.TabStop = false;
+      // 
+      // button1
+      // 
+      this.button1.Location = new System.Drawing.Point(96, 248);
+      this.button1.Name = "button1";
+      this.button1.Size = new System.Drawing.Size(128, 24);
+      this.button1.TabIndex = 1;
+      this.button1.Text = "OK";
+      this.button1.Click += new System.EventHandler(this.button1_Click);
+      // 
+      // label1
+      // 
+      this.label1.Location = new System.Drawing.Point(16, 9);
+      this.label1.Name = "label1";
+      this.label1.Size = new System.Drawing.Size(288, 24);
+      this.label1.TabIndex = 2;
+      this.label1.Text = "Import/Export Sample,";
+      this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+      // 
+      // myVersion
+      // 
+      this.myVersion.Location = new System.Drawing.Point(16, 32);
+      this.myVersion.Name = "myVersion";
+      this.myVersion.Size = new System.Drawing.Size(288, 16);
+      this.myVersion.TabIndex = 3;
+      this.myVersion.Text = "Open CASCADE Technology ";
+      this.myVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+      // 
+      // label3
+      // 
+      this.label3.Location = new System.Drawing.Point(24, 168);
+      this.label3.Name = "label3";
+      this.label3.Size = new System.Drawing.Size(280, 23);
+      this.label3.TabIndex = 4;
+      this.label3.Text = "Copyright (C) 2004-2013, Open CASCADE S.A.S";
+      this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+      // 
+      // label4
+      // 
+      this.label4.Location = new System.Drawing.Point(8, 200);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(296, 24);
+      this.label4.TabIndex = 5;
+      this.label4.Text = "http://www.opencascade.com";
+      this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+      // 
+      // AboutDialog
+      // 
+      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+      this.ClientSize = new System.Drawing.Size(312, 285);
+      this.ControlBox = false;
+      this.Controls.Add(this.label4);
+      this.Controls.Add(this.label3);
+      this.Controls.Add(this.myVersion);
+      this.Controls.Add(this.label1);
+      this.Controls.Add(this.button1);
+      this.Controls.Add(this.pictureBox1);
+      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+      this.MaximizeBox = false;
+      this.MinimizeBox = false;
+      this.Name = "AboutDialog";
+      this.Text = "About Import/Export Sample";
+      ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+    #endregion
+
+    private void button1_Click(object sender, System.EventArgs e)
+    {
+      this.Close();
+    }
+  }
+}
diff --git a/samples/CSharp/WinForms/AboutDialog.resx b/samples/CSharp/WinForms/AboutDialog.resx
new file mode 100644 (file)
index 0000000..0406147
--- /dev/null
@@ -0,0 +1,1167 @@
+<?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>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        Qk1W5AAAAAAAADYAAAAoAAAAwgAAAGQAAAABABgAAAAAAAAAAAAgLgAAIC4AAAAAAAAAAAAA////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////AAD/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////8AAP//////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////wAA////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////AAD/////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////8AAP//////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////wAA////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        AAD/////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////8AAP//////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////wAA////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////AAD/////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////8AAP//
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////wAA////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////AAD/////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////8AAP//////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////////wAA////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////AAD/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////8AAP//////////////////////////////////////////////////
+        /////////////////9Px9szm7P/8/PT19fr7+/////////7///7/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////wAA////////////////////////////////////////////////////////////////////qerz
+        NZam19ve5ebn5ufp+Pn5/////////////v//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////AAD/////////////
+        ///////////////////////////////////////////////////////k/v9FpbGAoKnh3d/R1dfp6ev+
+        /f7////////9////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////8AAP//////////////////////////////////
+        //////////////////////////////////z//37U3zx8is7M0c7O0Nvc3vf3+P7///7/////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////wAA////////////////////////////////////////////////////////
+        ///////////+////v/P7KIqYjaar0M7Rzc/U6err////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        AAD///////////////////////////////////////////////////////////////////////7j//9L
+        tcNMeoTJy83FyMva2t35+fn////+////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////7/////
+        /v////7///////////////////////////////////////////////////7////+/v//////////////
+        /////////////////////v/+//7//v////////////////////////////////7/////////////////
+        //7////////////////+//7+///////+///////////////////+//79///+/////v//////////////
+        /////////////////////v/////////////////////////////////////////////////////+//7+
+        //7///7////////////////////////////////+///+///+///+/v7+/v7/////////////////////
+        /////////////////////v/9/v/+/////////////v7//v7////////////////+//7+/v7/////////
+        //////////////////////////////////////////////////////////8AAP//////////////////
+        ///////////////////////////////////////////////////+/vn+/5bm8Cd4h52pssjHysnNz+zs
+        7f7///7/////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////9ve36uvsa+ytenr7P///////////////+vr7bO1t7CytbCz
+        t6+ytbCztrCztrCzt7Cztq2ws7y/w/j6+/////7//v////39/c3O0pmcoISHjIyPla+yturs7f////7+
+        /v7+/////87R06uusLW3uvT19f///////////////87R1Kyvsba5u/Dy8////9zg4qyvsLW4ue7u8P//
+        //////7//////8nMza2usLG0ue7w8v////3+//////////T19r7CxZSXnIOGjIyPlK6xtebn6f//////
+        /v///////////8THyq2wtK+zt7G0t6+zt7CytrCztrCzt6yws8/R0v////3+/////////9/h4qmssIqN
+        koWHjZaan8THyfn5+f////////////7+/v7+/v////////Hy8r2/wZOXmoOIjIyQlamtsd3e4P//////
+        //7////+///+/v///////////8zQ0KqusLW3u/X09v//////////////////////////////////////
+        /////////////////////////////////////wAA////////////////////////////////////////
+        //////////////////////////////////7/1P3/PaOzU3uEwsXIv8TI29zf+/r6////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////o6erKjAzMjc7x8nL////////////////x8rOOj9DMzg8MzY6LjI3LzM4LjM3LjM3LzQ4
+        KCwwTlFV8PPz////////7O3tfoSHPUFFLzQ3LTE1LjM2NDg7WFphvcDD////////////f4OHKC0xQ0ZM
+        4OHj////////////////gISIKS4xQ0dM293f////p6quLDA0QERI0NLV///////+////3uDiRkxQMDQ4
+        NzxC1tnb///////+////z9DSZ2lvOD5BLzM4LjI2LjM2Mzk6U1dcr7G1/////////////v7+Z2twLzQ3
+        NDk9MDQ4LzQ3LzQ4LzM3MDU4JiwvfoKG/////////Pz9n6KlSk9TMjY6LjM2LTI1LjM3OT5BcHd73t/g
+        ///////////////+////v8LEXGNmNjxALzM3LjE2LTQ2Mzk8SU1RgoaK2Nrc///////+/////v7+////
+        ////f4OFJy0xQERJ4uPk///////+////////////////////////////////////////////////////
+        ////////////////AAD/////////////////////////////////////////////////////////////
+        ///////+//////7v//951uMoa3mnsbS9wcTMztHt7+/+////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////+pq64zODw7
+        P0PKzc7////////+/v7////KzM9CRko6P0JLT1NbX2NYXGFXXF9ZXWFZXWFSVltydXrz9fX////w8fJr
+        bnMxNjo2PD5PVVhpbnJbYGU6PkMzODxBREnJy83///////+Gio4wNTlKTlPg4+X////+/v7///////+E
+        iI0xNjlLUFXe3+D///+srbIzODtHTE/U1dj////////8/P16foE0OTw7P0NARUrY2tv////////MztBI
+        TFAyNzo3O0BTV1pscHReY2c9QUc0ODw2Oz6ipqf////////+//9ucXc2Oj1CR0lXXF9aXWBYXWFYXGFY
+        XWBQVVqYnJ/////7/PyQk5Y0OD00OT1AREhhZWdrbnNPVVc2Oz4zNztVWV3g4uP///////////+0uLk+
+        QkcxNjk8P0JaX2Jpb3JbYGQ+QkY0OTwyNzpNUVbS1Nb///////////////////+EiIowNThITlDj5eX/
+        ///+/v7///////////////////////////////////////////////////////////////////8AAP//
+        //////////////////////////////////////////////////////////////////3//v/+//7//7j0
+        /iuOnmqIj8XEyMLFyODi4/39/P//////////////////////////////////////////////////////
+        /////////////////////////////////////////////////6mqrzM3PDo/RMrMzv////7///7+/v//
+        /8rMz0BFSTY6Ppean/Hy8+3u8O3v8O3v8e3u8O3t7/Dx8v3+/v///5OWmjE0Ozc8P36DiOHi5P////Hx
+        86Smqj9DRjA1N2Fma/P09P///4SIjDE0OUtPU+Dj5f/////+/v///////4OIjjI2OUtQVd7f4P///6uu
+        sTM5PEhNUNPV2P///////7q9wDg+QTxAQzw/Q0BESdra3P////L09GFlajM4Ojg8P46RleXl6P////T0
+        97C0uEVLTjQ4PENHTNbY2v///////29yeTE1OlxgZt/i5u/w8uzu8O3u8e7v8ezu7/X19v///8HDxTk9
+        QTU6PVFWWb7Cxvb2+f///+Hi5IGFiTg8PzA1OXl7f/z7/P///+Hh5EhPUjQ6PkZJTq2wtPDw8v////Dx
+        88LEx2RpbDk8Pjo+Qra6vf////7+/v///////////4SIijI1OUlNUeTl5///////////////////////
+        /////////////////////////////////////////////////////wAA////////////////////////
+        /////////////////////////////////////////v///v/+/v7/////6P3/Zs/bJWtzprK0wsLI0dPX
+        8vT0/////////v//////////////////////////////////////////////////////////////////
+        ////////////////////////////p6uuMzc7Oz9EysvO//////////7+////yszRQUVLNTk9oKSm////
+        ////////////////////////////6OnrVFdcMjc6WV5k9vb2/////v//////////f4KGKzE1UVZb3N3f
+        ////hYmNMTU6S05S4ePl////////////////hIiNMTY4Sk9U3t/h////q66xNDg8SExQ1NXY////8PLz
+        Wl9kNjs+Oz9CPD9EQEVJ2drb////v8PENjs+Njo/eXyA/f7+////////////////q6yvNjxAMTc7kJOY
+        ////////bnJ2MTU4X2Rn8fL0////////////////////////////dXh+Mzg8PUFGv8HE/////////v//
+        ////+fr6ZGhsMzg8QUdM1tnb////lpmdMjc7OT5BpKir////////////////////tbe6Njs/PEFGvL7B
+        /////v7+/v//////////hIiLMTU6SU1S4+Pn///////+////////////////////////////////////
+        ////////////////////////////////AAD/////////////////////////////////////////////
+        /////////////////////////v79///////5//+t9PsiiZVui5LEw8bCxMff4uP8/f3+///9///+///+
+        ////////////////////////////////////////////////////////////////////////////////
+        //////+nq64zODs6P0PKzM7////////////////LzNFBRko1Oj2ipqj////////////////////////+
+        ///////O0NE6P0MzOTyQk5n////////////+/v7////X2dqtr7Lg4eL7/P3///+EiYwwNTlMUFTo6+z/
+        //////////////+IjJExNjhMT1Td3uH///+qrbI1OTxGS1DU1tn///+WmZw0OD0+Q0VgZGk+QkVARUnZ
+        29z///+QlJc0ODs7P0PDxcf////////////////////u7u9OU1c0OTxkaW33+Pn///9ucnYwNThdYmfu
+        7vH//////////////////v/////y8vNRVFkzNztgZWn09fb////+/v7///////////+qrbEzOTszNzyw
+        s7X+//9oa28wNDhSVlrp7O3////////U1tmfo6inqq99gIU5PUE7QUa7vcL///////////////////+H
+        i44wNjlJT1Ln6ev/////////////////////////////////////////////////////////////////
+        //////////8AAP//////////////////////////////////////////////////////////////////
+        ///+//7//////////97+/1jF0zFse7O4ub/AwsvP0+/v8f//////////////////////////////////
+        /////////////////////////////////////////////////////////////////6errjM4Ozo/Q8rM
+        zv///////////////8vM0UFGSjg9QG90d6Snq56jp56ipp6ipqChpp+jp+vs7f///7W5vDQ5PTQ4PKyv
+        sf////////7+/v/////+/v///////////////////4WJjDI4O0RITJGVmaGlqZ+ipp+jpqGlqWNnazU6
+        PUtPVN7f4f///6qtszQ4PEdMUNvd39vc3kNISzE2OXR3fa+0tzY5PUBFSdrb3P///3t+gjE3OklOUtja
+        3P////////////////////f3+GptcjM4O1JWW/Dx8f///25ydjA1OV1hZ+7u8f//////////////////
+        /////9ze4ERITDE1OX2AhP///////////v///////////83O0Ds/RDM4OpqdoO3v8VVaXjE1OGdscf//
+        /////////5yeoigsMTI3OzM6PDY7PzY9Qbe6vv////////7+/v////n5+mpvcjQ4Oz9ESMfKzP//////
+        /////////////////////////////////////////////////////////////////////wAA////////
+        /////////////////////////////////////////////////////////v///v///////f/////+9v7/
+        ofD6IImZboWRwcLHwcLF3uDi/Pz9////////////////////////////////////////////////////
+        ////////////////////////////////////////////p6uuMzk7Oj9DyszO////////////////y8zR
+        QUZKPEBDNDk8KS0xKS8zKy8yKi8xKS4wKi8z0dPU////sLK2NDg8Mzc7trm7/////////////v7+/v7+
+        /f/+/v///v7+////////hYqONjo+PEBDLTE0Ky8zKi4yKi8yKS4zNjo+OT1BSlBU3t/g////qq2xMzk7
+        SU5S2dvgenyAMTY5QEVJ1tfaur3ANDg8QEVJ2drb////eHt/MDY5TVJW3d/h//////7/////////////
+        +fr7cXZ6Mjc7TlNX7/Dw////bnJ2MTY5XWFo7u7x/////////////////v/+////1tjbQkdLMDU4hYiM
+        ///////////+////////////1NXXQERJMzY6lZmd5ujqUVZaMjQ4b3R5////////////tLe7WV5jYWZq
+        Y2ZrY2ZsYmdrxsrN///////+////////q66xODtAOj9CNDk9aW1w8/T1////////////////////////
+        ////////////////////////////////////////////////AAD/////////////////////////////
+        ///////////////////////////////////////////////+///9//7////f+/9ez9wlaXSgrLK+wMLO
+        z9Hu7vD////////+/v7/////////////////////////////////////////////////////////////
+        //////////////////////+nq64zOTs7P0PKzc/////////////////LzNFCRko6P0NUWV5vcnZrb3Jr
+        b3NqcHRrb3Nrb3Te4eL////CxMY2Oz8zNzunqa3////////+///+//////////////////////////+F
+        iY00OD1AREllam5scHRrb3Nrb3RucnVPU1Y3Oz9LUFTe3+H///+qrrIzODxQVFiPkphBRUkyNjqMj5P/
+        //+xs7Y0ODxARUnZ2tv///+ChYkyNzpFSk7U1tj////+/v7////////////29vdjaGwzODtWW2Dy8/P/
+        //9ucncwNTlcYWbu7vH////////////////9/v7////l5ulHS08xNjl4e3////////////7/////////
+        ///Hycw4PEEyNzqfoqX09fdYXGAwNThnam/////////////9/f38/f38/f3////////+///+//7///3/
+        ///////k5eZNU1Y3PEBESU0/REg1Oj2jpqj/////////////////////////////////////////////
+        //////////////////////////8AAP//////////////////////////////////////////////////
+        //////////////////7+//3///////7//v///vj+/qv1/SeWo19/hcLCxMDCxt3e3/r6+v7/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /6errjM4Ozo/Q8rNzv///////////////8vM0UFGSjU6Ppyfo/v8/fj5+vj5+/f5+/j5+fn5+f3+/v//
+        /9rb3UJHSzI4OoGEif///////////v///////9vc3tXW2vT19f39/v///4WJjDA2OktPU9/g4/n6+/j5
+        +vj5+vr7+4WIjjE2OUpOVN3f4v///6qssjY7P0BFSUJGSTY7PlNWW+nq7P///6+xtTM5O0BESdja3P//
+        /6GlqTM4Ozg7P7W3uf////////7+/v7+/v///+Pk5UdLUDQ5PG90ePv7/P///25ydzA1OF1hZu7u8f//
+        //////////7///7+/v////n5+VxfZTI3O1ZbX+3u7/////7//////////////5mdoDM4OzY6P7u/wf//
+        /25zdzA2OUxQVOLk5v///////////////////+zs7eTn6Pj4+f79/v3////////+/3+ChjM4Oz5CRbi8
+        wHB1ejA2OkpNUtze3///////////////////////////////////////////////////////////////
+        /////wAA////////////////////////////////////////////////////////////////////////
+        ////////////////////6f3/adbkH216lqerwMHEyszO7Ozt/v///////v7+////////////////////
+        /////////////////////////////////////////v//////////////////rrG1Mzg7Oj9C0tTW////
+        ////////////yszQQUVKMzk9o6ep////////////////////////////////9fb3aGtvMDY4SE1R3N3f
+        ////////////9PX2ZGZrODxBY2hv4+Tm////homMMDU5S09U5ubo////////////////hYmPMjU4S1BU
+        3t/h////q66yNzxBPUFEOz9COD1AsbS3////////rrG0Mzg7QERJ2dvc////2NrbPkNHNDo+XmNm7e7w
+        /////////////v//io6RNTo+Mzg9pqqs////////bXJ4MTU5XWJm7e7w/////v7+/v//////////////
+        ////kJOWMTU6NztAoaSn////////////////5eboUVZaMTY5TlNY5ujp////q6+xMzc8NzxAiI2Q/f7/
+        ////////////+Pj5bXBzP0RJZ2tw4ePk////////v8HDOT1DMzc6eHt+////xsrNO0FFMjc5eX2A/Pz8
+        /////////////v///v//////////////////////////////////////////////AAD/////////////
+        ///////////+/v7////////////////////////////////////////////////////////+/v7///7+
+        /v+39v83o7NHdH69vsLAwsbY2dz3+Pj////+///////+/v7/////////////////////////////////
+        ///////////////////////W2dy7vsG+wcXAw8iGio82Oz87QESeoKXCxMe+wMO/wcT5+fnNztNBRUs1
+        OkB/g4fCxcm+wMO+wcS+wcS+wMS7vcHS1Nj///////++wMM6P0Q1OTxWWmCwsrbc3eDFyMtzdnw3PUEv
+        NDdtcXb3+Pj///+Hio0xNjpKT1Ph4uT///////////////+Eh40xNTlKT1Te3+L///+rrrE3PD89QkU0
+        Oj1zdXz6+vv///////+vsrQ1ODxARUnY2tv////8/f2Hio8xNjo2Oz1kZ224ur3c3eDIyc6BhIo8QUUy
+        NzpeYGTs7O////////9tcnYwNTddYWbu7vH//////////////v/////+/v7////e4OBOUlY0ODxARUmL
+        j5LMz9La292xsrZaX2E3Oz8zNzydoqL////////y8/NkaG0zNzs6PkJ8gIPCxcna3N/Exsl1eHw5PkEx
+        NThjZWj19/f////w8PFcX2MzNztGSk/V19r///////99gIQ0OTw3PEG4ubz/////////////////////
+        //////////////////////////////////////////8AAP//////////////////////////////////
+        //////7///7///////////////////////////////////////////7//v///ur+/4Dl8Bp0goKZnr/C
+        xMfIzOPl5vv8/P//////////////////////////////////////////////////////////////////
+        /3x/hiowMzI3OjI4OzU5PTg9Pzc9QDU5PDM4OzI2OjM6Pt/g4NDR1TxBRDU6PjY6PjQ4OzI3OzM4OzI4
+        OzI4OikuMnJ1ev///////////5+jpjg9QS8zNzM4PT1BRTk9PzI2OTI2OlBUWNvd3v///////4KFiSsw
+        M0RJTeDh5P/////+/v///////4CEiSswNEVKTtze4P///6irrzI2OjY5PkFGSdXW2f///////v///6yw
+        sS0yNjo/RNfZ2v///////+zu72tvczE2OjE1OzQ5PT5DRTc9QDA1ODA1OFJVWtPU1/////////7//2ds
+        cSovMldbX+3t7/////////7+/v/+/v///////////////7/Bw0NITDE1OTA1ODo+QT1CRjQ5PTA1OTQ5
+        PYaKjfn5+v////3//////93f4FpeYjA0Ny80Nzc8Pz5ERzg8PzE2OTE2OUtQU9DT1v////z8/Y6SlC0y
+        Ni80OJGUlv////3//////9vc3kNITC0xNFFWWubo6f///////v//////////////////////////////
+        /////////////////////wAA/////////////////////////////v///////////////////v79+vz8
+        +/39/v///////////////////////////v///v///v/+xfr/R7vML2l0prG2wcDDy87R6+3u///+////
+        ////////////////////////////////////////////////////////////kZWZS1BVUldbU1hbU1dc
+        U1dbU1dcU1dcU1hcUldaVVpe5OTm1dfaVlpeUVVaU1hcU1dbU1dcU1dbU1dbU1ZbS09UiIyP/////v/+
+        ////////u7/Ca25zSk9TQkZKQ0hNTlNYgoSI3+Hi////////////k5aaSExPX2Rn5eXn////////////
+        ////k5aaR0xQX2Jn4eLl////s7a7TVJWTVFVnaGk/////v//////////ubu8SU5SVFld3N7f///////+
+        ////8fLzmpygWl9iRktQQUZLRUlNVFddiIuQ4ePk////////////////jJCUXWBjfoKH8fLz/////v//
+        //7+/////////////////v7+////09bXd3t/TVJXQkhMQUZJSU1RZWdsr7K1+/v7///////+/v///v7/
+        ////6evsjpKWVVpeRUpPQUZLREhNUFVafICC2Nnb////////2tzeV1tgTVFVZWht7Ozt//////////7+
+        ////mJygTFBUSU5UnKCj//7///////7/////////////////////////////////////////////////
+        AAD////////////////////////+//////7/////+vvy8PPm5+rk4+Tl4ePr5ebs6ens7u7z9/b9/f3/
+        ///////////+///9/v7///70/f+Z8/0olqZLcny2ur/AwsLV2Nr19PT/////////////////////////
+        ///////////////////////////////+///+///z9fXq6+7q7O7r7O7r7O7q7O7r7O/r7O/r7e/q7O7r
+        7O78/Pz5+vvr7O7q7O7q7O7r7O/r7O/r7O/r7O/r7O7p6uzw8vP///7+/v7+/v/////////+///d3+HK
+        zM/Oz9Pm5+r////////+///+//7////x8/Xq6+vr7e/7/P3///7+/v7+/v7+/v7y8/Xo6evt7vD7/P3/
+        /v729/jp6+3p6+78/f7////////9/v7+/v739/fq6uzr7O37+/v+/v79//7////////////y9PXV1tnJ
+        y8/R0tXt7fD////////////+///+/v7///78/v/9/v38/v7////+/v/+/v7////+/v7////////////+
+        /v7////////////k5ujO0NLKzM7Z2937/P3////////9//7+//7//v7+///+/v7////////w8PLR09fJ
+        zM/P0NPo6ez////////////////y8/Tm6Onq6+309fb////+//7//v7+/v7////8/f7q6+zp6uzq6+z9
+        /f3///7///7///////////////////////////////////////////////8AAP////7///3///7///7/
+        //7//////+j3+6fn8XTW42DK1lu8yFu1wGKttoettq67wNHN0NzY3OHi4+/v7/n7+v/////////+/v7/
+        /////+P5/3fi8Bt4hXCHkbu+v8HExd7g4fz7+/////////////7/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////7/////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////wAA///////+/f///f7+///////+1fb9duP1MNXqE8/i
+        E9PpKdToK8/jLcPVKKy6NJWhYZeilaewv8HG0dHT3dve6Orr9/n5/v///v//////+/7+vPf/T8fZI2Zz
+        lKKnuL3BxMnN5+jq/v/+/////v//////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////AAD///////7//////v/+//7T+Pxw5fUuxdQytcNjucd/y9mH2OWB4e9r4/Jf3vJL
+        1OcruMkhlqNFh5CKoKS/wMTMz9DZ3N3s7e/8/Pv////////n+v2b8P0qo7E9a3Wwtbm/vcHJ0NLt7u7/
+        ///+////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////8AAP//
+        //////3//////vT8/5Hq+S2ou06Xoae4vsjDx9fT1Ovh5e3s79zu88Pt86Ht9Xjm9VXa7i61xySHlFmG
+        kZmmrcfGyNHR1ODi5PX3+P///////9n5/3rn8x6GlVt5gba2vLzBxdfZ2/f39/////7+/v//////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////wAA/////////v/+//7/0Pj/TL7O
+        QnqEvbzAyMbH1dbW7O/w/vz9//////7///7+/Pv94PX5su74iOn7V9jqKau8JHiFbYqSuLu/ysfN2djb
+        7vDw/f79/P//yPj+Y9jmHHF/co2UvLzBvsTI3+Dj+/v6////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////AAD////+/v7////1/f+N6fUihJORn6TJxcjHzM/o6Or///7/
+        /////////////////////////v3j+Pqw7/l25/lJyNkegpBKd32mq6/Cw8fL0NTk5ub8+vrw+/609P9B
+        wNAlZ3GWn6W8u8DEx8vj6Of9/f7///////7//////////v7//v/////+///////+///////////+////
+        ///+/////v/////////9///////////+///////+///////////////////////////////////////+
+        /v7//////////////////////////////////v7+///////+///+/v7////////////////////+////
+        ///////+////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////8AAP///////v///+D9/2bN2y90gbC4u7+/w9DT1fPz9P//////////////////////////
+        //////////v9/sv0+pTt+lrb7CGbqi1weIybosS/xMjKzOPj5Pn39uL4/ZPu/C2mtDVnc6mtsr28wM/P
+        0uzt7v3+/v////7+/v3///3+//7+//7+/v7///7///3///7///////7///////////z///3///7///7/
+        //7///////7///7///7///3////+/v/////+/v7+/v7/////////////////////////////////////
+        //////////3///7////+/v////3//v7////+/v7+/v////////7///z+/v////7+/v////7///7/////
+        //////7///7/////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////////wAA/////v//
+        ////3v3/X8DPOnJ/tbq+vb/D1NbY+Pj4/////////////////////////////////v7/////////5/v9
+        s+/7duf3LLDBI2p2g5KXvr7Bx8fL3t7f8fHz2Pf7guv5I5WmQ253qrO3vL7D0NPV7fDw/////////f/+
+        /f7+/f///////////////////////v////7+/////v///v///v///v///////v/+/v/+/////v//////
+        /////////////////////v///////////////////////////////////////////////v7//v///f7+
+        /f7+/v///v///v7+/////////////////////////////////////////////v///v////7+////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////AAD//////v////7j//9fw9E3b32ytry8
+        v8PT1dj4+Pj////////////////////////////+///9//7+///+///////4/P7C8/1+7Po1usodanaA
+        kJa7vsHAxsva3d/t8PDO+P5y5PQjh5ROcXuwtby/wMTU1tjy9Pb9//////7////////////6+fj49/f5
+        +Pn8/f3+///////////+/////////////////////v7//f38+/v6+/r3+/v29/j29/f2+Pjz9fX4+Pj9
+        /f3////////////+/v7////////////////////////////+///////////////+////////////////
+        ///////9///5+vv29/f39/f59vjz9fb29/f9/f3/////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////8AAP////7//////+n//2TJ2DRve661uby+wdHT1fX29v//////////
+        //////////////////7///7///7///7///7//////vr9/sz2/Irt+z3B0SBxf3OKkL24v8LGx9nZ2+bs
+        77r1/13a5x14iWWFi7e5u73CxNTZ2/bz8/z9/Nv0+qzc4bTO1MvP1NXS1NrY2d/i4ebs7Pb29v78/P/9
+        /P/7+v/39/Dx8uTm6NLc38/X2dnV19bW1tXS1dbS1tXV19fY29jZ29rZ2t/g4fHz8/3+/v//////////
+        ///////////////////////9/f35+PPw7+/q7O7u7/X49/7+/v////////38/Pj19Ozp6d/f397Y2tbR
+        1dLP09DLz8/Pz9HV1d7j5Pb3+P//////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////wAA//////7+////8///fNnnKnF8oa+xvr7Bzs/R8PHx/////////////////////////////v//
+        /v///////v/////////+////////2Pf+nfD9RMfVGm97bIiQvLq9v8LE1djX5+3xrPX/T9DiHXF+bYmP
+        ubq/wcXI3tvezu/1aeDxIMPULKa4Pp+tU5ujhZ+ptLO5zcTH1c/Q3Nja2t7itt/mgdbiYMzaUMbVQbzN
+        Qq67U6Grcp+llaKoqa+ypre9o7e/prO5tba8vbu+wsHD09PV5OPl7e/v+vv9/////f7++vr8+Pf49vX1
+        7u7xuuHojMTMn7O4uLe8xMTG2Nna4+fn5+fo5t/i4NjbvdTbjMvUf77Jc7vEbLK8eqOskaGor7S4uL3A
+        zNLU9vb3////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////AAD////+///////4
+        //+d7fcifImFmZ/AwcPFyMzn5uf+/v/////////////////////////////////////////////+/v7/
+        ///////+/v/g9/yU7/s8xtYZb35siJC7t727w8ja2dzd7fGo9P9KyNcabnt0jJG9urvFyszK9fqD6PU8
+        2+o30+Yty90tusoqnKpBjpx7q7hwwMxdx9VV0uI52+4n1ewp1uok2ewq1usz0eMnxNUlrLw3o7FEu8o6
+        ytgxv9A3q7lGnqpan6pvnqWRoKatrrO+vcHKy87U1dfa3N7f4ePl5ufu7OzX7fJy4vMswtMsnalChpN6
+        lJ2xrrfHvcHGx8mz0dmH2edT3Owu1ukuy94szeEvyd0puMgphJBgeoKrrK+2vb/Z2d37+vz/////////
+        ///+/v7/////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////8AAP////7//////vz//8H6/ziaqld6gru+wL3B
+        xd3d3/r7+/////////////////////////////////////////////////39/v7//////v///tr4/ZDv
+        /jvB0h9odn+Ql726wb7Dxdnb29jv9J7x/UjI1iF1gmiEiLq5u7/W3Zjp9mvi9Fnf8kbg8jLd8DDW5zHG
+        1yjI2yLU5yjX6y7U5jDL3TDJ20DK2UnM21HT5HTi8Hrp+FPf8DXT5TDY6zXb7TTW6SrX6TXR4i/E1Cev
+        vy2WoUeMlX6SmqCjp7O0t7+9wcjKzdDV193e4Nfz+Ibo9jLZ7DTS5iu5yCiVo0GRnm+rs3zN217g70zf
+        8jnX6yvP4irQ4jDV6jLZ7THi8yK6yh9ibY+aoLu/wtXW2Pb19v////////7+/v7//v//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////wAA/////////v/+/v//4vz/YMXULGl0rbS4vL/B0dLV8vLy////////////
+        /////////////////////////////////f///f7//f7+/v///////f/+3Pj9k+v6NLrJJGh0hpacv7rA
+        w8bH3d7e1+/zovL/S8zbHHWCZIGIt7W4s73DqM3XlNvoct3rT9vrXN7vb+L0XuDzSd7vPtvtMLrJTZKc
+        dZmfiZuppKqvsbq+v8vQyOTqlun5N9/uMtrrOtnqNcDQRbfGXtjnZuf4UuL0QNPkL7zLJZqtOoKRb4yR
+        n6WqtbG3v77Cw8fJ2u/0kOv3M9XoM9fqPN/xTdjrOMbYLsraO9rxQNToK7nLM6q4Ya+7gbbAkb/HlMbM
+        l9DXhcvWhK+4tb3Bz8/R5ebn+vn5////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        AAD////+///9/v7///74/v+a6vQde4p9lp3CwsTEx8nk5uf9/v7/////////////////////////////
+        ///////////+///////////8///+///////+///b9/6N7/0vq7opZG+Uo6e3vMDJyMvk4eHc8/if7/5F
+        y9sdbnxyhou3tbjCubzFyMrR1tzP2+LQ4eXL6O6l6PN35fRW3vExwNMzdoJxen+hnZ+nqK3CwMfU09Tf
+        6u2C5vM31OZk4fRQ3u8qrL5Ib3aDkJeIu8aE0t6I5/Vt5/ZJ2+wzvdAkmKc5iJFkjJOVn6Wyq6/N192n
+        9P48zuE2p7hiu8pw4Otl5/gr3e8dxdYtp7dgn6igsLW9u77OxsnSzNHa1Nfe1tjh2tvd3N3d3uDl5un2
+        9/f+/v7/////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////8AAP///////v/+/f7//vz/
+        /8/8/0KzwUBwere6vri/wtPV2fX19v////////7//////////////////////////////////v7/////
+        //////////7//////v7//tD4/nbn9ySaqD9rcaats7m6wdHS0+rp6trz95ju/D7F1h94hV6CirKzt7vA
+        v8rN0eXe4fDt7Pn19vT2+dLz+qHq+WXj9Cy1wiBocXuNkq2us7u7v9PX2Nn2+1jN2Vujs7Dj7ZPx/kHK
+        3B5tdGp4faOfpayutb3I0LHd6JDl9HPm9k/c7jXF2COgrjSGkHGWoK7Ax63w+0PO3Sd0gHV/hJ2mrJPM
+        1nXS4n/EzbXIzd3Y3efj5Ofq6+/x8vb4+Pj3+Pf19vT19vHx9fT29vv9/f//////////////////////
+        //////////////////////////////////////////////////////////////////////////79/v38
+        /f////////////////////////////////////////////////////////////////////7/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////wAA/////v/+/f///v//////7/7/hub0InWEf5WXv8DD
+        wMfJ5OXn/v7+/////v///////////////////////////////////////////////////v///P/+///+
+        9v3/vfL9aePwG4GPVXV9s7a6v7/D1tfY7O3v1/P7me/7TtLiGYeUTHN+p6itv8HEys/P4OPl9fX1///+
+        ////6fn7u/D6eev4Kqu7MGRvlJyjr7O3ytDV3Pz/VL7QPmVoj3ZxttTZgvT+JaCtNVxignFtn5SRyMLE
+        6Ofq5e3xze3yoez1duz8UeP2OcfWJ7bJQNDfbOLzQNblJHSBXXN5o6Kmvbu92dfc9/Hx//3++vv8+fn4
+        +/v5/Pr6+/j4/v//////////////////////+PX15NXSz7OsyKecyqWczayh2Ly2697d/Pr6////////
+        //7+/f7//v///////v/+/////v/+////////+vb15dTQ0LKpyaOXvpKJu5GGw5yPzKuj487K9/Hv////
+        //////////7++ff3+vj4+/n5/////////v/+/v/9///+/v///f///////v7+/////////v//+PLx9vLx
+        9/Py+fb0/v38/////////v//+PTz+PPz+PP0+PX1+fX19/Py9/T0/Pv7/v///////////////v7+///+
+        /f7////+/v7+/v////////z9+fLy+fPy+PTy+fTz+PTz+fTz+PPy+PTy+PP0+fP0+PX09vPx+/b2////
+        ////////////////AAD//////////v/+///////8/v7F+f9FscE2bnS0ur69wMTT1df09PT/////////
+        ///////////////////////////////////////////////+/v/+///+//////71/P658/9Q0uEbcX5w
+        h420t7u/xMXY3N359fTl9/uh7/te3e8hnKw0bnqJmZ+/vsDMyczW29/t8PH9+/v////6/PzG8/xq5vgd
+        kp9GanGnrbShm5vG1NR52ucjXmZcOSuJamW48/hV1eYhaHdLQDlpQTSEY1i3oZzz7ev++fq7lY6bn5qH
+        1d546/pg5vhE3O493PA30+Yic4Bke4C2tbvO0NHw8PD////x6Oa4jHyteWqxfGuyfW2sd2fSta3/////
+        ///////y7OvTtaqyf3CmZ1ajZE6jZU2lZE6hY0ugZU6mbVmzgXPUu7T49PL////+//7+/v79///+//78
+        ///////8+fnWvLSxemykaFGiYk6hYEygYUykZFChY06fYEylZlGvdmXHoJTs4Nz++/zMqJ+ud2aveWqu
+        fG7Vvbb+/fz//v/+//7+///+///+/v/9/v/9///////y7uy9loyweWqyfG+xfGyqeWfJqZ7////49PLF
+        opSwemuwe22vfW6yfW21fW2zfm20gHK5h3vCnJHXv7bp4d7////////9///9/v7+/v7+/v7////p4t63
+        in6xemuzfW2zfm+yfm+xfW+zfnCzfm6yf26yfm+xfm+xfnCwfG6yemzgzsf///////////////8AAP//
+        //7///////7///7+/////+/9/43o8x19i3qQl8TBxcTFyeLj5f39/f//////////////////////////
+        /////////////////////////////v/+//3+/v3//////+/7/6Px/T/C0h5kcIOXnri7vsfHzOPm5vz5
+        +e74+6zw+Wvl9C62xSN/jlqFkaOqr8XExs/R1ODg5O7v8Pn4+e71+Lr2/0/T4SJqeWlsbGg8Nquhn5z1
+        /SF/jlZIRGk4K6+vr5b0/h+Il0ZLTGxANXZJOYRINLyXjv7//7J+bZ1aQJ9rWZeRi5bN1Hbk9DXe8B25
+        yTN3hKOtscnKz+Dj5fz7+////8GZjpxcQ6doUqNnUKRpUp5eSLuShf////jz8tCxqql0YqBgSqNnUKVt
+        V6VtWKhuWKpvWqlsWqdsW6drVqRnUaBfS7J9b+LTz/////3//v/////+/v7///j087qTg6FfSqZnUadu
+        WahtWKdsV6ZuWalvWqhuWadsWKZsV6prVpxfRqRsWvDm5b+Uh59hR6RqVKllUZ9jUOvh3/////7+/v//
+        //3//v7//vz+/v7+/////8emnZ1aRKZqVKZpVKVpVKBgSLaLe////8yroZtbQ6JoUaZnVKZoU6RnUaVm
+        UaNoU6VoUqVkT6JiS59iTKRqWL2UhunX1f////////3///////7+/r+XjJtdRKRpU6RnUqRnU6VnU6Vm
+        UaRnUqZnU6VnUqRnUaRmUqNmUqNmUp9eRtK4rv///////////////wAA/////v//////////////////
+        ////0fv/UcLRLGd0qbC1xMDDzM/S7e/w/////f//////////////////////////////////////////
+        /////f/+/f7+/v///f7//v7////+4Pj+i+78KKi3OmVwo6euubm+ys/R6e3t////9/z+yvH7hOz6S9Pl
+        JJ2tN4CNdJObrLK2x8XI1dHU39ze4uLj4/L2iun5JYiYQUJBYzcqkXRwuvj+OLXFMFVXZTkpimlirfD4
+        LY+fSElFb0I2dk9EiFE8x6qk////1LWuomJKoWlSpmBKnmVQqKmmrPT8kc7Zt8nR4N7j5ujp9/r5////
+        8OvqqHJgqGlUq25ZqG1Zqm5boWNO3MrD+PTzs4d3nF9HpWVRqW1aqW1ap21ZqGxXpGZQo2VOpmhRp2xY
+        qGxYp21Yqm1aoWROo2dT4M7K//////7+/v///Pr6vpSIm15HqWxaqGxbpWxXp2xYqG1YpmhSpGZQpWhR
+        p2tXqG5Yp3BbpmlTsHpq+PT13MjBo2NPp21Yq25ao2JMyKWb/////////////f7///7+////////+PXz
+        sHlppmlTpm1WqG1ZqW1ao2JN0rSt////vZSFo2NNqG5aqG1Zp21YqGxYqWxZqG9aqW5Yqm5cqG1ap21Y
+        p2pUn2FLpWxW0rWs//7+/v/+/////fv8vY6Do2dSqm9bqW1ZqW1Yqm1Zp2xXpm5YpmxWqW1Zp2xYqG1Y
+        p2xXp2pUpGxW6uDe////////////////AAD////////////////+//7///////3z/v+h8/0nkKFYe4W6
+        wMK/wsXX29z4+Pn+///+/////////////////////////////////////////////v/9//7///////7/
+        //7////+/v7M9f1y4/Qdh5JYd362trq9vcHY2Nv19/j//////v/g9/ye7/ll5PU2xtgknqs8k55jmaKR
+        qbC1ur/DwsTR2+GV8PwmlKM/SUtmQTR3SjzEy8qK7vwdjJhHV1eEg4KJ5vEleYVQPTZwQTR9TTmUZVPx
+        6+n////s396naVelbVeobFmkaVKmZVPhysL////////+///////////+///IpJqkZE6oblqnbVmnbFmn
+        aVSpc1/49PHl1dOgXkirblmlbFiob1qoa1ajZE6obly0hHi5kYWzg3OlaFWpalapblqoaleqbVqiZk6m
+        dGL16+v+///////exsGcX0iocFqqbVmma1apb1qkZ1GlblqygHC2hnavemmma1agYEqlZlCfXUXSt67/
+        ///y7OyrdGKnaVSobVqlbFekalTXwrv+///////////////////////PsaigZE6nblmobVmobVmoa1ap
+        bVju4uD9///AloukZE6oblmoblmobVmncFumbVegYUudY0yiZk6naFSob1qoblqoblimalSeXkvTtrD/
+        ///////9/P29j4KjZU+nbVmnbFmnbVeqblmhZVGkZlKkZ1OlaFOlaFSmaFSnaFSgYEy/m47+/v7/////
+        //////////8AAP/////////////////////////+/////+b9/3Db6hpwfoybo8TBxcPIy+Xn6f7+/f7/
+        /////////////////////////////////////////////////////////////////v////L9/bz0/1DP
+        3xxqeXuSmLe3vcXDyODj5Pr8+/////////L7/cHw+orq+WPi8jrM3iq1xiqms0Sqt1fDz3fi8F3e7yN9
+        jU1GQ3BIO3tIN6B6bbnv9Fza7Ce80ULZ6SuuvT9xfZaGhIpsYYdbScuzrf////////v6+riLfaVjTqdu
+        WqZvWqZmVKFmU8OeleDNyujc1+vd2+TU0MKflaJnUqltWadtWKdtV6huWaJjTb2Wh/7///v5+LqQgqJh
+        S6VuWKNlTqZuWcakme7i3/78/f7///v5+d3IxKZwXKdpVKdsWKpqVqVuWZ9gSdOzq/////38+7eHeKVm
+        T6lvW6dsWKZsV6ZmULaIeOfa2Pr5+P36+fr39OTY1Mmmna95Z7OJfPj08/////7//7+WiaRkTqluWqdu
+        WaZqVaZmVMOYjd7Mx+rb2Ond2ObW08inoaZnVKRqVahrWapvWqltWaVmULmIeP7+/v7//8KYjKJkTalt
+        WahtV6drV6lsWKhyYMikms6vp8KajKhwYaFkTahuWKhsWKptWaZpUqNrWOzi3v////79/ryQhKJkT6ds
+        WahtWahqV6ZvW9CzruLKxuLMyOLLyOLMyeHMyODLyOPS0Pz49////////////////////wAA////////
+        ///////////////////+///+/f7/vvj/PLjEMGl0rra6vsHEz9PX8PDz/v/+////////////////////
+        //////////////////////////////////////////7//v7////+6/z9n+37Mq/BMmVwmqeut7m9yM3O
+        7e3u/////v/////+///+7fn9ue73geb1WuP0QtrrKtTlHNToJM/jJqe2QF1fbkc+f1FBjVtHkVdBvra1
+        qvX/PODwHLfJRZCbrbe91dXa3t/h5+Ph/Pz8/v////7/////0bavn2BMqm5aqWtYpnBapmtVpGVOo2hT
+        p21Xp21ZpGhWpGRPpm1YqG1XpmxYp25YqGxXo2NP28K8////////8+3tsYNynWBKuYd76NzZ////////
+        /////f///v//////zKyioWJMpm1ZqG1Zpm5ZoGNOu5CC////7+Phpm1WpmhUqWxYpmxYpmlVpnBg8Orm
+        /////v///f//////////////9vDx9vT0/////f7+////3crDomNOp21XqW1Xp25Zp3BboWFMoWVRpmxY
+        p25ap2pVoGRPpmxXqG5bqG5aqG1YqW5aoWJN1bew//////7/wJeJo2RLqG1ZqG1Ypm1YnmNN0LGn////
+        ////////8ennwJiKo2VQqG1Zp25apG1XoGBJzKad/////f7/vpGEo2VQp2xZp21YpmlVqHJh8erp////
+        /////////////////////////////v/+////////////////AAD////////////////////////+///9
+        ///////x/f+W8PslkJ1Xe4PCwsTAxMbW29/49vf/////////////////////////////////////////
+        ///////////////////+//79///9/////v7Y+P576/gnjJlOdXuwtbq7vMHY2dz4+fn////+////////
+        //////7t+PvF8fef6PRd3+48zeBXusVncnF5TDuFU0KPXUmaY02eX0vexsL0//+97PS53eHc4eLq6Ort
+        7+/6/P7////////8/v79/v/////y6OWobVipalembVumcFqnaleobFigYUyiXkmgX0ikZlCma1iob1qo
+        a1iobFmlblmoalOscmHy6+n///////7////08O/k09D8+Pj////+///+/v/+///9//7+///////dxb2f
+        ZEynbVmpbluoblmjZVC5hnf//f7gysWjZ1KmblmobFaqbVmiZk65joH////+///9/v/////+///9/v39
+        /v/////////+///+//7////38O6rcWCmaFSla1arblmnb1uqbVilY02hX0qeYEijY0yqblqobFmpbVmm
+        bVimbVipbVemalbp3dv////+///CmIykZU6pbluobFenbVqlY07axLv////+///////////59vaygXOk
+        ZFKncFqpalqmZlKxfW78+vr9//++kYSmZ1GoblqnbVelalSrcF7x5OP/////////////////////////
+        ///+/v7+//////////////////8AAP////////////////////////7+//7+/////////+D5/3Pg7B12
+        hIKUnMTExcHIyN/i4/z8/P////////7+/v//////////////////////////////////////////////
+        //7///7+//////r+/8L4/lnU4h1reYGVmrS4u8PHyebm5//+//7//v3+/f/+/////////v///v39/e71
+        9+bw9ejm5ZtpXI5XQ5diTp5lUaRnUqNrV+bb2f///////////////v39/f////7///////7+//z+////
+        /v////3+/r2Pf6RkT6dwWqZvWqZrWKdxXb2Qg8GUiMGWirOGdaVqVadtWKdtWahtWadrWKZjTcCXiv//
+        //7///v//v///////////////////v7+//7+//7//v7//////////8SimKRkTKtsWKdvWahsWaNlT7mM
+        fv3//9S4sqRjTqhsWKdtWKluW6FkTcOZjP////3+//7//v7+//7//v3///////7///7+//3+/////v/+
+        //7+/sehlqFiTKlvWqhsWKZrV6hwXLuQgsGWisCUibmKfKduWqZsV6dsWKdtWaZtV6NnUbmKfPz7+///
+        /////8SZjaJkTqhtWadtWaduWqJjS9nAuf////3//////v7//////9O4sKJhTKptWahtWaZpVKhxX/Pt
+        6////72PhKVlT6htWKdsWKZoU6pwXvHl4/////7///7///7///////////7////+/v7/////////////
+        /////wAA/////////////////////////v///v/////+/f///f//zvv/T8XUJmp4nqqxwMPEx83P6+rt
+        //7+/////////////////////////////////////////////////////f///f7+/v7//v7/////8v3+
+        nvL+Lqi2Omdypq6zt7m+0dPW9fT1/v////7//v7+/v7+/v///v//////////////+vTzpnJimmVOpGpX
+        pGpXpmpUpG5Z6uDf/////f/+/f7+/////v///v7//v7////+/v7//f7+//7+/v7/////2MG7oGNNqW5Y
+        p21ZoWVOwJmL////////////697bpmtYpmpWqHFcp2xXqW5ZnWJN2sO9/////f7+/v/+/f///f3+/v7+
+        /v///v///v7+/v/+////////////6NrXp29cpWtVp2pXqHBZqm5ZoGFLxJ2N////0bOtomJOp21XqG5Y
+        qG9bo2ROxJqO/////v///f7+/v///v7//f/////+/v/+/v7//v7+//7////+////383IoGRPqmpXqG9Z
+        pWVPt41//v/+////////8ejnqXJgpmlTp21Yp25ZqW1Zn2FL0LSt/////////v//xJqNomRNp21ZqG1Y
+        qW5YomNO2L+4/////v/////+/v7+////5NHLnmVOpmpXqG5ZpmpVpGhW6+Dd////u46DpGVPqW1YqGxY
+        pmlSq3Jf8ufm//////////////////////////7//v//////////////////////AAD/////////////
+        ///////////////////////+///////6/v+w9v84q7o8cHq3ub7CwsbR09jy8vL+///9////////////
+        ///////////+/v7////////////////////////////////////////////X+P5t5PAee4hpgoq3uLu/
+        wsbd4OT7/Pz////+/v7////////////////////////69fWweWqjaFOnbFinbVmma1Wob1vt4uD/////
+        ///+///////////////////////////////////////////w6OirdGCmalSobVmkaFG0g3T7+vr9////
+        ///Zv7eiYkypb1qob1mpbVika1WpcmDv6Ob//////v/9///+//7+///+/v/+///+///////////////4
+        8/PYw7uocGCoaFOnbluna1iqb1qmbFigYEzYu7L////TtK2hZE+obViobVeobVqiZE3GnpP/////////
+        //7////////////////////////////+/v////7////39fSxe2unaFOmbFmkZlOtdWP07Oj////////f
+        y8OkZFCobFenbVmmbVqobFekalfv4eH////////////BmY2jY06obVmobFmoblijZk/Xu7P/////////
+        ///////////o2NShZVGna1eobFmnbFinalbu4N3///+8kIOkZE6pblqobFimaVOocFzt4uD/////////
+        //////////////////7///////////////////////8AAP//////////////////////////////////
+        //////////////P+/5Lx/CCPoVd5gr3Cw8HEyNna3fb19//////+////////////////////////////
+        //////////////////////////////////////P8/rX0/zu+yyllbpuorLu4vMbMzvDu7v////7/////
+        //////////////////////r19LF7aqVpVKltWaltWqZqVatwXO7i4P//////////////////////////
+        //////////////////////7//////8GYiqFkTqhuWqdsVqdpVuXV0v/////+/ruMfKFjTKluW6dsWKpu
+        WqJjTr6ViP39/v/////////////+//z///3///////////Dn59nEvcqnm7J9baNiTaRmUaluV6ltV6ht
+        WqhuWqJlUKx2ZfXz8f///9G0rKBkT6htWKltWahuWqJjTMeelP///////////v//////////////////
+        //////7///7//////v7//////8ulmqJiTKduXKhtWKJjTt/Kxf///////8KfkqNiTKluWaltWKluWqRl
+        TrmKfP78/f///////////8GZjKNjTqhtWahtWqhuWaRlUNa6tP///////////////////+jW1KJlUalt
+        WKZuWaZsWKhrVu7h3f///7yQg6JjTaltWqhtWKltWKdqVreHfMiilcWckMSck8SflMennO7g3f//////
+        /////////////////////wAA////////////////////////////////////////////////////2/r/
+        euLvHnuJcYyVx8TGxcjK3d/i+vn6////////////////////////////////////////////////////
+        //////////////7+///+6fr/h+z4IoyYVnh/sba6ur7B2drc+fr7////////////////////////////
+        +vb1sXtqo2hSqW1ZqW1apWlUrG9b7uLg////////////////////////////////////////////////
+        /v//////3MjBomNNqW1aqW1ZoWFMz6+n////8ejmqHBbp2tVp2xYqGxYqW1ZpGRQ17+6/////v//////
+        /v///v/+////////6+Lew56Tq3JfomJOoWBMpWhQqG5apm1Yp21YqG1ZqW5cpmdRomZR4M3I////////
+        0rOtomRPqG1YqGxYqG1aomNMx56U///////////+/////////////////////////v///f7+/v7//v//
+        ////59bRo2RQp2xZqm9ao2FMw5mO////9/PxrnhnpmhTqG1ZqG1Zp25Yo2NL1bev/////////////v//
+        wZmMo2NOqG1ZqW1apm1YpGVQ1rq1////////////////////6NfUo2VRqG1Ypm5ZpWtXp2pW7uHe////
+        vZGDomNMqGxZqG5Zp21ZqG1Zo2ZPomNOoGNNoGFMoWJKn2BGrXps9vPy////////////////////////
+        AAD//////////////////////////////////////////////v///v3//v7T+v9c1OMcc4CQnKPHyMrF
+        yczh4uT7+/v//////////////////////////////////////////////////////////////v/////8
+        //7H9/5Ty90fZ3SHmZ+0t7zFx8zr7Oz+//7////////////////////////69vWxe2ukaVKobViobFmm
+        alWrblvu4uD////////////////////////////////////////////+///9///////18e+sc2Kna1Sn
+        b1umZlG3g3X////bwLqiYk6pbVmoblenbVmmaFOsc2D27e3////+/////////v7////////XurSla1ei
+        YEulalSmbVeobVmocFqlblinbVmnbVimZ1KgYUmmcl7ey8T//////v/////StKyhZE6pbVipbVmoblqi
+        Y0zGn5T///////////7////////////////////////////+///9/v/+//7////59vewgHKkZ1CnbFmm
+        alWweGf8+/rk1c+jZlCrblqpbVmpbVmma1WmbFns4N3////////////+///AmIykY06nbFiobVmmbFej
+        ZE/VurT////////////////////o1tOjZVGobVimblmnbFeobFjt4N3///+9kIOjZE6pblqpblinbVqq
+        bVqoa1WmaVSna1WlaVaoZ1SlZk6iZ1Ly6uj///////////////////////8AAP//////////////////
+        /////////////////////////////////v/+/vz+/735/1LH1yZuepGhqMTEyMjMzeXl5/z8/P//////
+        //////////////////////////////////////////////////////7//////+b7/4vt/COXpURuda6x
+        trS6vtXY2fb4+P////////////////////////r19a95aaVqU6htWKhsWaZpVKptWu3h3///////////
+        //////////////////////////////////7///7//////////8Gek6NjS6ZvWqdsV6RoVPLp58eilp9i
+        TKdtWqhtWahuWaNiS8CWiv///////v7//////////v///9bAt6BfSadqVKhuWqhuWaduWKhuW6dsWKdr
+        U6JhTKVkUa95Z8mmne/o5v////3///3//////9S0raFkT6hsWKhsWKhuWqJkTceflP///////////v//
+        //////////////////////////7+//3+//////7//////8qroqBjTaltWaZtWKNoU+fb2M2toqJjTaht
+        WadsWKhtWaNlT7aJev39/f////////////7+/8GYjKRkT6htWahtWqdsWKNlT9e7s///////////////
+        /////+jX1KJlUaZsV6lvW6ZqV6ZrVu3g3f///72Qg6VlT6ltWaltWqltWKttV6ZoVaZuWKZvXKZuXKds
+        WKdzYdK4sP///////////////////////////wAA////////////////////////////////////////
+        /////v///v////7////+9/3/sPT/QL/MJGx2o6euxcbJy8/Q5+nq/P39///////+/v/+////////////
+        /v7+/////////////////////////f7+/f///////f7/v/j/Ss/eHGx1i5adtrS6w8bJ6Onr///////+
+        ///+/v7+////////+vT0rnlopWpUqG5aqW5ap2lVqm5a7eHe/////v//////////////////////////
+        ////////////////////////////3szHoWNOqGxWqm1Zo2lUuo1/rnpnpWxUqG1aqW5aqW1ZoGFM2sbA
+        /////f7+/v//////////8ujnp25foWhRqGpXqm5YqG1Zq25ZpGVQoGBLrXdnyqKZ4M3H9O/v////////
+        /v///f/+////////0rStoWVQqGtYp21ZqG5ao2NNx5+V/////v///v7+////////////////////////
+        /////v///////////v//////6dnXp2lWqGtWp2xZpWlTt4p7sH1rpWtXp21XqW1Xp21YoGFL0bOr////
+        /v///////////v//wZmNo2ROp21YqG1Yp25apGZQ17yz/////v////7////+////6NfUomVRpmxXp25Z
+        p2tXpmpX7eDd////vZGFpGZQqG5ZqG1YpmpVqHBd2cXC7ODf697d7ODd6uDd8ezs////////////////
+        ////////////////AAD////////////////////////////////////////////+///+//7/////////
+        ///z/P+r9f8/tsQtcHmmsbXKyMrQ0dTp6uz+/v3////9/v7////////////+/v7/////////////////
+        ///////////9/v7+///////s/P+O7fsmm6tBanOqr7K2ub3W2dv7+vv////////////////////59fSu
+        eWimalOoblmnbVelalWobVnt4d//////////////////////////////////////////////////////
+        /v7+///38/Kve2ukZlKnbFmpblqkZVGkaFWqbluobVmqblmmaFOscmDz6+r////+///////////////Q
+        s6uiYEunb1mobVqnbVenb1ijZVCxfGzXv7f28O7////////////+///+/////v/+/v7////////RtKyh
+        ZE6na1ioblioblmjY0zHn5b////////9///+//7/////////////////////////////////////////
+        ///9+/y3hXelZU+pbVmobVilZ1OlalWpbVqobFaobleobFema1fv5OH//////v7////////+///BmY2j
+        ZE6obliobVmnbVikZVDYvLP////////9///+///////n09CkZVGqblqnb1mma1amalfs4Nz+//+9kIam
+        ZVCoblqobVikZ1Kwemr49fb///////////////////////////////////////////////////8AAP//
+        //////////////////////////////////////////7///7///3///7+///+/v///u37/qTx/TWtvDlv
+        eKmxtsfIy8zS1urq6/z9/f3///////////////////////////////////////////7///7+//7/////
+        //z+/sX1/k3S4R5odICUmra1ucXIyuvr7f////////////////////r3+LF8bqVoUqhuWahuWalpVKds
+        V+fc2v////////////////////////////////////////////////7//v7+//7+/v///8efk6JkTqdt
+        WqhtV6ltWahsWKhrWadsWKZtWaJkTcSXiv/+///////+/v////////78+7iMfqJpUahuWqZqV6duWKho
+        VLOCc/Pp6f/////////////+//3+/v7///7+//////7//////v///9S2rqRmT6dsV6ltWKhtWaJkTMSe
+        kf////7///7+/v/+/////////////////////////////////////////////////8+xqqBiS6htWaht
+        WapuWqdsWKhsV6dsVqlsWKNmULiGePz6+/////3//////////////8KajaRjTaluWahuWahtV6VnUdi8
+        s////////v7+/v7+/v///93Fv6BmTahrWKhvWaZpVqttXPPr6f7//72RhqdlUKdtWaZsV6RnUbB7aPjy
+        8v///////////////////////////////////////////////////wAA////////////////////////
+        /////////////////////v///v///////v/////////////+8Pv+nvT+Nqy6M3B8q7C3yMnJytDR6evt
+        //7+/////////////////////////////////////////////v///////v//////6fr+g+r5H4+bU3V+
+        rbG0tbu93dzf/Pz8/////////////////Pz8tIZ4pWdRqG5ZqW5aqGtWpWdS3s7I////////////////
+        /////////////////////////////////v/////+//7/////5tPNpGZQqXBaqG1Zp25ZqG1Ypm1Zp21Y
+        qW1Zo2VQ2cG6/////v//////////////+/b1s4BwpGZSqnBapmxZqW1YpWVP2sTA//////39/v7/////
+        /v/+/v///f///f////7+/v/////+////2L+6pGVQqG1Xp21YqG5YpWVNvpGC/////////v/+/v7//v//
+        /////////////////////////////////////v//////7N7cpGlUpmtVp25aqGxYqG1Zp2xWqG5Zp2xY
+        oWFM07as/////v///v/+////////////wpqNo2NNp21YqG1YqGxXpGRP2L61/////v/+/v7+/v//////
+        wZyOoGNNpmpWqG5Zp2pUr3dp/Pn5//7/vZCEpGVQqG5Zp2tXpGhRsHtp+PLy////////////////////
+        ////////////////////////////////AAD/////////////////////////////////////////////
+        ///9///+//////7////+///////////t+/6b8vwyrbsycHqqr7XMy8zO0dTn6er7/Pz/////////////
+        ///////////////////////+///+///+///+/v/////3/v+69P88uckvaHGYpaqztrnPz9Tz9PX/////
+        ///////////+///DoJOjZE2obViobFimblmgYUzXt6z////+////////////////////////////////
+        /////////////v/+/v7+///////39fSwe2umalSpbFinblmobFmpb1uobFimaVSrc2D17+7////+/v7+
+        /v7////////69vW0f3CnZFGpb1qoblqnbFehZlHeysX////+/v/9///9////////////////////////
+        ///+/v/////l2NeiZlSpbFinbFiobVmlaVOxemr69/b////+/v////////7/////////////////////
+        ///////////////////////8+/u5iXykZVCmb1qpbViobFiobFipb1qmalWqbVvr393////////+/v//
+        ///////////Cmo2kZE6obVmobFima1alYk3cxbz////+///////////n2NSmbFqmaVana1eobVmiZU29
+        mIz+///+/P69kYOlZU+pblqobVikZ1Kwe2r48/L/////////////////////////////////////////
+        //////////8AAP////////////////////////////////////////////////7///7///7+///+//7/
+        /v7//v///////uv6/5rw/DGwvytxf6SrsM3Mzs/R0uXm5vn5+v////////7//v////7///7/////////
+        ///////+//3///7+//////7//tr8/2zb7BxygHmLlLW1usDFyurr7f////////////7//////9i/tqBg
+        TKhsWahuWahvWqNnUbF9bfXw8P////////////////////j29uLV1Pbx8P/////////////+//7+/v7/
+        /v///////82nnp5jTKltWKdtWKdtWaluWalrWp9pULyShP/////////+/v////////////37+rWGe6Jl
+        T6hwW6psV6ZvWKRkUMGXivn6+f////////////////n4+Ord3vz6+v////////7+//////r3+K55aaRo
+        UqdsWKlsWKhuWaNkUNa7tf///////////////////////+zg3+nf4P////////////////3///////7/
+        /////9G0rZ9hTKdsWKdtWqhtWahsV6hvWqVmUbaGeP/7/P////////7///7//////////8KajaJkTqhu
+        WqhsWadsV6NjT8+zrP////////v4+NvIwah2ZKZnU6hyXKhtVqVsVqFfS+LKxf////v7/LuRhaZlUKdu
+        WadsWqVnUq97avv4+P///////////////////////////////////////////////////wAA////////
+        /////////////////////////////////////////////////////////v///v///v///f7+///+6vr/
+        nvL+RbzMKXeDi5+kzcrMys/P3+Dj9/b4//3+/////////f7+/f39/v7+/////////////v7+//////7+
+        ////6/3/juz6Jo2bWXmBsrS3ub/C4uTl/////////////v//////7+bmqG5do2hUqW1ZpW1YqG5ZpGlT
+        sYZ34MzI7+Tg7+Pi5NbTyKqhtH5woGJNwJiK/f7///////7/////////////////////5tbTpmlWqWtX
+        qW1ap21YqG1ZqGtZoWNM3MbA////////////////////////////yKujnmBJpW9aqGtYqGxYqG1Xo2dS
+        u4uA2Lq14MrD2cG7yqmgtINyomRPzq2l////////////////////yKeboGFKqm1bpGpWp21Zp2tWqW1b
+        y66m7N7c8Obi7ODc1728vJOIrHFdpW5e69/d/////v///v7//v/+/v////7/////8OXlpWxbqWxWqG5X
+        qG1aqG5ZqW1an2JL0bGn/////////v/////+/v///v///f//w5uOo2RPqG1ZqGxZqWxXqG1XqHJfvJGD
+        vJOGs4NwpWhTqGlUp25apmxZqXBcoV9KuY6C/fn6/v///Pz7vZGEomNOqW1Yp21Zp2pWqHFc2MC5693Y
+        6NrT6NjV6NjV6NnV6NjU7uXg////////////////////////AAD/////////////////////////////
+        ///////////////////////////////////+///+//79/////v////7////1/f+w9v9Jydoieol7kJnH
+        yMrO0M/c3eHi8Pa26e/R4eX79fTw7fDv7/P5+vn+///////////////+/v7////3/f+s8/8zpbJAbHOo
+        sLO6vcHe3+H+/f3////////+/v7+//7////MraaeYUmqbVmobFmobVmqclqkZ1CiZVKnbVqmbFmiZlKh
+        Yk2lalKnaVSiZFHn2dX////+/v7////////////////////8+/uzgnGkZVCpblmpbFmnbFenZVGqc1/y
+        6uj////////////////////////////r4d+jaVaoZ1KobVmobFinbViobFmhZk+iY02hZFCgY02eYUyl
+        Z1KhY0m4joH+///////+/v7////////u5+Wma1uraVOlb1qla1eobleoa1WhY02ma1enb1ymbFWlY1Ck
+        ZU+ka1WiYUrCnJD+/v/+///+/v/////+///8/v////////66jHyjZE6obVmobVupbFiobFelaFTt39v/
+        /////v/+///+//79/////////v/Em46kZE2obVipbVmpbFinbFila1WhZk+fYk2laFKpa1aoalilbVio
+        blmiX0muemrv6uj////////9+/28kIOiZU+pbFipbVmmbVmqbFijZU+kZVKjZlGjZ1KkZ1KkaFKiZ1Gj
+        alXo2NT///////////////////8AAP//////////////////////////////////////////////////
+        //////////////7///7//////v7///3//////////vb9/bz2/mbV5iCHlWeLlcTBxNLO0s7i5Ynp8jar
+        tn+jrdDQ09/c3t/h5PDx8vz9/v////////7//////////r73/jmvvDdlcKStsry9wd7g4f3+/v//////
+        //7+/v/+//////n29baJfJ9fSKZsV6hrWqZuWaVvWahsWKdqVqdrVqxtWatwXKZuWadtW6NhTLyUh///
+        /////////////////////////////8ytpaFiTKpvWadsWKhuWaNlTb2Xiv7+/v////7/////////////
+        ///////////+/8+yq59eSahsVqhuWqhtWahsWqduWqhuV6tsWqlsWaltWattWaNjTbyPf///////////
+        /////////////9nCvZ5jT6hnUaptWqZsWahuWalvWaZsValrVqpsWKdtWahsV6huWKdrVaNoVOrc2v7/
+        //7//v7+//7//v7//v7+/////9u/uqFiTqltWahuWKhuWaNmULeGd/v4+P////////////7///3//f//
+        //3+/8SYjKRjTqduWadtWaltWqdtWKdtWKlsWqpvWqhvWahwW6ZuWKVnUaJhTLWKfPDl4v////3+////
+        //38/ruOgaVmT6luWqluWKhuV6htWqRuV6pvWqZsWKdtWKltWaltWahvWZ5gScaimP//////////////
+        /////wAA/////////////////////////////////////////////////////////////////////f7/
+        /v///v/+/v///////f/+///+/v7+1Pf/e+TzLKa0PoWPlaarz8rLzd3khuTyLbLCQpSgprW41M3Q4drb
+        5+jo8/T1/Pv8//7+//7++fz8uPX/NqKwQGt1rrS4xMPG5eXn/////////v///v7//v7+/v7/////8+3s
+        w5eNn2NLpGROqWhTqGtYpWxXpmxXp21XqG5ZqG9aqGpUomVOnWFJxKSZ/v///v/+////////////////
+        ////////7+HfoWNOn2JMo2dTpmtVnWBK2MC8/////v7+/v/+/////////////////v/+////////z7Gm
+        nmZQoGBKp2hSpmtVq2xZqG1ap21YqW1YpWdSomVPmlpCyqmh/////////v7+////////////////2cS7
+        p3BdoGFKoWdRp2pYqGxXp25ZqWxXp2xXpGxXqGxWo2lSn2BJrHZn7eLe/////f/+/f7//v////7+/v7+
+        ////8ennpW5bnWBJpmhQp2pVn1xIz7Oq/////////v///v////////7+/f///v//x6SZmVlBpWVOo2ZQ
+        pGZRo2RPo2hRomNNoWVPo2NNoWFLpGhRtIV21722+/v6/////////f7+/v/+//7/yaadm1pCpmVRpWZS
+        pWdUpWZRpGVQo2ZRpGZRo2ZRo2VPpGZQomVQoGFLrnpq/Pr7////////////////AAD/////////////
+        ///////////////////////////////////////////////////////+/////v/+///////+/v///v//
+        //////////7k+f6e8fxLxtgnjJxplp25uLvLztKn3+tQ0+EwscNborCjuLvX0tLl3t/s5+jz7O3y6+zU
+        8fh16fYlf4xviI+9wMHPz9Hy8fL////+///+/////v////7+/v7+///////9/f3hyMK8j4CpcF6jZVCj
+        ZU+iZE+hZU+iY02kZVGrdWS+mIzn1dD9/Pv////+///////////////////////////9/v3Vvbe6j4G1
+        f3ClbFqsfm317+7////9//7+///////////////////+///+/v7////////q2dTCnJCud2ejaFKiZU6j
+        ZU+hZlGgZVCkZlSve2rKsKb49vX////////////////////+//7+//7////w5+PHpZmvfWqiaFWiZVCh
+        ZE+hZVCjZVCiZFGpbFi1hnfStK327uz////9///+/////v7+///+//7+/v////7+///dxsG7kISwf26m
+        blqreGft5eL////+/v/+/v7+/////////v/+//7////07OjFnJC2h3u3iXu4iXm4hnm5h3i5iHm5joLE
+        m5HUtq7p2dX59/f////////+/v///v////7+/v/////48/HEo5exf22zgm60gnCzgm+1gW+0gXC0gXC1
+        gW+0gXC0gW+zgG2wfGrGopf9/fz///////////////8AAP//////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////b9/771
+        /mzg8SywwjeapoCkrLWzusTR1ZHf607R4iy4yl+7yoDDy6DJ0qDQ253f6Hzo+CyvwThwe7CzusvMzeHk
+        5vz+/f////////////////////////////////////////7//+/l5N/KxNrAuda4stK3sNq/uOLMyPLt
+        7P////////////////////////////////////////7///7///////////z4+Ozh4fTv7v////7+/v//
+        //////////////////////////////////////////////bx8OXSzd3EvdrAudi/udvDvOLPzfj19f//
+        //////////////////////////////7+/v////////////j19uPS0N3Dvda6s9Gzrte6tt3FwOra2f79
+        /P////////////////////////////////////////////////////r49+7i4fLr6f//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////37+vv4+Pz4+Pz4+Pv39/z39/v29vz49/z39/v39vv29vv39v//
+        //7//////////////////wAA////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////795fr/p/D8X9rqJr/PMJup
+        cY6Wvb2/xtbcoOHqbN7sRNPmMdHkPNfrIdbnKLbFTJagrbi91tTY4OLl9/j4////////////////////
+        /////////////////v///v7//v///////////////////////////////////v///f///v//////////
+        /////////////////v///f7+//7+/v///////////////////v7//////////v//////////////////
+        /////////////////////v/////////////////////////////////////+/v//////////////////
+        /////////////////v7+/////////////////////////////////////////v///v//////////////
+        /////////////////////////////////////////////v/+////////////////////////////////
+        /////////////////////////////v///////////////////////////////////////////v//////
+        /v///v///v///////////////////////////////////////////////v///v//////////////////
+        AAD/////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////v////7////f+f6Q7vw60eEWdoSVq7Di3d/v5uXu8/XZ
+        8/i87/aa5/Nyz92VxMrZ29zp5ebr7e77+/v////////+/v7////////////////////////////+//7+
+        /v7+/v///v/+///+//7////////+///+/////v/+//7////////////////////////////////////+
+        /////v7////+///9///////+///+///////9/v7+//7/////////////////////////////////////
+        ///+///////+/////v/////////+///////////+///////////////////////////+/v7+/v7/////
+        ///+/v/+/v/+//7////////+///////////+///+///////////////////////////////////////+
+        /v7////+/v///v/9//7+/v/+/f//////////////////////////////////////////////////////
+        ///////+///+///////////////+/v7////////////////////////////////+///+///////////+
+        /v7////////////////////////////////9///9/v7///////////////8AAP//////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ///////////+//7+/////////v////z8/d73+8Lj6ODn6vf09v79/v///f/////////9/P/6+v/7+vv6
+        +vr8/P////////7+/v////////////////////////////////////7///7///7+///+/v7//v3+//z+
+        //7//v7///3///7///////////7+/v3///7+/v////////////////////////7///z+/v7///7+/v7/
+        //////7+/v/+/v7+/v////////////////////////////////////////7///7///7+//////7+/v3/
+        //7//v7+//7///7////////////////////////////////////////////////+///+//7//v////7+
+        /v7+/v7//v///v/////////+//////////////////////////////////////////3//v7///7+//3+
+        /v////////////////////////7+/v////////////////////////////////////7///7/////////
+        ///////////////////////////////+//////7///3///7///7///7/////////////////////////
+        ///////////+//////7//////////////////wAA////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////7//f7+/v/+
+        /v7//v/+///+/////////////v/+/v/////+/v/////+//7//////////////v///f/////+////////
+        /////////////////////////////////////v///v///////////v///v7+/v///v////7/////////
+        /////v///////////////////////////////v///f///v7//v///v7+/////v7+/v///////v/+/v//
+        /////////////////////////////////////////////v7+/////////v///////v7+/////////v//
+        /////////////////////v///v7+/////////////////v7+/v7+/v///v///////v7+////////////
+        /////////////////////////////////////////////f///P/+//7+/v///v//////////////////
+        /////////////////////////////////////////////////////////////v//////////////////
+        /////////v///////////////v///v///////////////////////////////////////v///v//////
+        ////////////////AAD/////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////8AAP//
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////wAA////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////AAD/////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////8AAP//////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////////wAA////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////AAD/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////8AAP//////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////wAA////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////AAD/////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////8AAP//////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////wAA////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        AAD/////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////8AAP//////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////wAA////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////AAA=
+</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
+        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
+        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
+        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
+        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
+        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
+        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
+        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
+        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
+        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
+        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
+        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
+        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
+        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
+        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
+        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
+        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
+        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
+        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
+        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
+        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
+        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
+        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
+        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
+        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
+        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
+        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
+        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/samples/CSharp/WinForms/App.ico b/samples/CSharp/WinForms/App.ico
new file mode 100644 (file)
index 0000000..3a5525f
Binary files /dev/null and b/samples/CSharp/WinForms/App.ico differ
diff --git a/samples/CSharp/WinForms/AssemblyInfo.cs b/samples/CSharp/WinForms/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..9f89a32
--- /dev/null
@@ -0,0 +1,58 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly: AssemblyTitle("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]                
+
+//
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the 
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing. 
+//
+// Notes: 
+//   (*) If no key is specified, the assembly is not signed.
+//   (*) KeyName refers to a key that has been installed in the Crypto Service
+//       Provider (CSP) on your machine. KeyFile refers to a file which contains
+//       a key.
+//   (*) If the KeyFile and the KeyName values are both specified, the 
+//       following processing occurs:
+//       (1) If the KeyName can be found in the CSP, that key is used.
+//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
+//           in the KeyFile is installed into the CSP and used.
+//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+//       When specifying the KeyFile, the location of the KeyFile should be
+//       relative to the project output directory which is
+//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
+//       located in the project directory, you would specify the AssemblyKeyFile 
+//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
+//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+//       documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
diff --git a/samples/CSharp/WinForms/Form1.cs b/samples/CSharp/WinForms/Form1.cs
new file mode 100644 (file)
index 0000000..8627c9f
--- /dev/null
@@ -0,0 +1,1088 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Data;
+
+namespace IE_WinForms
+{
+  /// <summary>
+  /// Summary description for Form1.
+  /// </summary>
+  public class Form1 : System.Windows.Forms.Form
+  {
+    private System.Windows.Forms.MainMenu mainMenu1;
+    private System.Windows.Forms.MenuItem FileNew;
+    private System.Windows.Forms.MenuItem FileClose;
+    private System.Windows.Forms.MenuItem FileExport;
+    private System.Windows.Forms.MenuItem FileImport;
+    private System.Windows.Forms.MenuItem ImportBRep;
+    private System.Windows.Forms.MenuItem ExportImage;
+    private System.Windows.Forms.MenuItem File;
+    private System.Windows.Forms.MenuItem Window;
+    private System.Windows.Forms.ToolBarButton New;
+    private System.Windows.Forms.ImageList imageList1;
+    private System.Windows.Forms.ToolBarButton About;
+    private System.Windows.Forms.StatusBar myStatusBar;
+    private System.Windows.Forms.MenuItem ImportIges;
+    private System.Windows.Forms.MenuItem ImportStep;
+    private System.Windows.Forms.MenuItem ExportBRep;
+    private System.Windows.Forms.MenuItem ExportIges;
+    private System.Windows.Forms.MenuItem ExportStep;
+    private System.Windows.Forms.MenuItem ExportStl;
+    private System.Windows.Forms.MenuItem ExportVrml;
+    private System.ComponentModel.IContainer components;
+    private System.Windows.Forms.MenuItem menuItem1;
+    private System.Windows.Forms.MenuItem menuItem2;
+    private System.Windows.Forms.MenuItem menuItem3;
+    private System.Windows.Forms.MenuItem View;
+    private System.Windows.Forms.MenuItem Help;
+    private System.Windows.Forms.MenuItem HelpAbout;
+    private System.Windows.Forms.MenuItem ViewToolbar;
+    private System.Windows.Forms.MenuItem ViewStatusBar;
+    private System.Windows.Forms.MenuItem menuItem4;
+    private System.Windows.Forms.MenuItem WindowCascade;
+    private System.Windows.Forms.MenuItem WindowTile;
+
+    protected IE_WinForms.ModelFormat myModelFormat;
+    private System.Windows.Forms.ToolBarButton wireframe;
+    private System.Windows.Forms.ToolBarButton shading;
+    private System.Windows.Forms.ToolBarButton toolBarButton1;
+    private System.Windows.Forms.ToolBarButton color;
+    private System.Windows.Forms.ToolBarButton transparency;
+    private System.Windows.Forms.ToolBarButton delete;
+    private System.Windows.Forms.ToolBarButton material;
+    private System.Windows.Forms.ToolBarButton ZoomAll;
+    private System.Windows.Forms.ToolBarButton ZoomWin;
+    private System.Windows.Forms.ToolBarButton ZoomProg;
+    private System.Windows.Forms.ToolBarButton Pan;
+    private System.Windows.Forms.ToolBarButton PanGlo;
+    private System.Windows.Forms.ToolBarButton Front;
+    private System.Windows.Forms.ToolBarButton Back;
+    private System.Windows.Forms.ToolBarButton TOP;
+    private System.Windows.Forms.ToolBarButton BOTTOM;
+    private System.Windows.Forms.ToolBarButton RIGHT;
+    private System.Windows.Forms.ToolBarButton LEFT;
+    private System.Windows.Forms.ToolBarButton Axo;
+    private System.Windows.Forms.ToolBarButton Rot;
+    private System.Windows.Forms.ToolBarButton Reset;
+    private System.Windows.Forms.ToolBarButton HlrOn;
+    private System.Windows.Forms.ToolBarButton HlrOff;
+    private System.Windows.Forms.ToolBar toolBarTool;
+    private System.Windows.Forms.ToolBar toolBarView;
+    protected static int myNbOfChildren;
+
+    public Form1()
+    {
+      //
+      // Required for Windows Form Designer support
+      //
+      InitializeComponent();
+
+      //
+      IE_WinForms.Form1.myNbOfChildren = 0;
+    }
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    protected override void Dispose(bool disposing)
+    {
+      if (disposing)
+      {
+        if (components != null)
+        {
+          components.Dispose();
+        }
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent()
+    {
+      this.components = new System.ComponentModel.Container();
+      System.Configuration.AppSettingsReader configurationAppSettings = new System.Configuration.AppSettingsReader();
+      System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
+      this.mainMenu1 = new System.Windows.Forms.MainMenu();
+      this.File = new System.Windows.Forms.MenuItem();
+      this.FileNew = new System.Windows.Forms.MenuItem();
+      this.FileExport = new System.Windows.Forms.MenuItem();
+      this.ImportBRep = new System.Windows.Forms.MenuItem();
+      this.ImportIges = new System.Windows.Forms.MenuItem();
+      this.ImportStep = new System.Windows.Forms.MenuItem();
+      this.FileImport = new System.Windows.Forms.MenuItem();
+      this.ExportBRep = new System.Windows.Forms.MenuItem();
+      this.ExportIges = new System.Windows.Forms.MenuItem();
+      this.ExportStep = new System.Windows.Forms.MenuItem();
+      this.ExportStl = new System.Windows.Forms.MenuItem();
+      this.ExportVrml = new System.Windows.Forms.MenuItem();
+      this.menuItem3 = new System.Windows.Forms.MenuItem();
+      this.ExportImage = new System.Windows.Forms.MenuItem();
+      this.FileClose = new System.Windows.Forms.MenuItem();
+      this.menuItem2 = new System.Windows.Forms.MenuItem();
+      this.menuItem1 = new System.Windows.Forms.MenuItem();
+      this.View = new System.Windows.Forms.MenuItem();
+      this.ViewToolbar = new System.Windows.Forms.MenuItem();
+      this.ViewStatusBar = new System.Windows.Forms.MenuItem();
+      this.Window = new System.Windows.Forms.MenuItem();
+      this.menuItem4 = new System.Windows.Forms.MenuItem();
+      this.WindowCascade = new System.Windows.Forms.MenuItem();
+      this.WindowTile = new System.Windows.Forms.MenuItem();
+      this.Help = new System.Windows.Forms.MenuItem();
+      this.HelpAbout = new System.Windows.Forms.MenuItem();
+      this.toolBarTool = new System.Windows.Forms.ToolBar();
+      this.New = new System.Windows.Forms.ToolBarButton();
+      this.About = new System.Windows.Forms.ToolBarButton();
+      this.toolBarButton1 = new System.Windows.Forms.ToolBarButton();
+      this.wireframe = new System.Windows.Forms.ToolBarButton();
+      this.shading = new System.Windows.Forms.ToolBarButton();
+      this.color = new System.Windows.Forms.ToolBarButton();
+      this.material = new System.Windows.Forms.ToolBarButton();
+      this.transparency = new System.Windows.Forms.ToolBarButton();
+      this.delete = new System.Windows.Forms.ToolBarButton();
+      this.imageList1 = new System.Windows.Forms.ImageList(this.components);
+      this.myStatusBar = new System.Windows.Forms.StatusBar();
+      this.toolBarView = new System.Windows.Forms.ToolBar();
+      this.ZoomAll = new System.Windows.Forms.ToolBarButton();
+      this.ZoomWin = new System.Windows.Forms.ToolBarButton();
+      this.ZoomProg = new System.Windows.Forms.ToolBarButton();
+      this.Pan = new System.Windows.Forms.ToolBarButton();
+      this.PanGlo = new System.Windows.Forms.ToolBarButton();
+      this.Front = new System.Windows.Forms.ToolBarButton();
+      this.Back = new System.Windows.Forms.ToolBarButton();
+      this.TOP = new System.Windows.Forms.ToolBarButton();
+      this.BOTTOM = new System.Windows.Forms.ToolBarButton();
+      this.LEFT = new System.Windows.Forms.ToolBarButton();
+      this.RIGHT = new System.Windows.Forms.ToolBarButton();
+      this.Axo = new System.Windows.Forms.ToolBarButton();
+      this.Rot = new System.Windows.Forms.ToolBarButton();
+      this.Reset = new System.Windows.Forms.ToolBarButton();
+      this.HlrOn = new System.Windows.Forms.ToolBarButton();
+      this.HlrOff = new System.Windows.Forms.ToolBarButton();
+      this.SuspendLayout();
+      // 
+      // mainMenu1
+      // 
+      this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+           this.File,
+           this.View,
+           this.Window,
+           this.Help});
+      // 
+      // File
+      // 
+      this.File.Index = 0;
+      this.File.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+           this.FileNew,
+           this.FileExport,
+           this.FileImport,
+           this.FileClose,
+           this.menuItem2,
+           this.menuItem1});
+      this.File.Text = "&File";
+      this.File.Popup += new System.EventHandler(this.File_Popup);
+      // 
+      // FileNew
+      // 
+      this.FileNew.Index = 0;
+      this.FileNew.Text = "&New";
+      this.FileNew.Click += new System.EventHandler(this.menuItem2_Click);
+      // 
+      // FileExport
+      // 
+      this.FileExport.Index = 1;
+      this.FileExport.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+                    this.ImportBRep,
+                    this.ImportIges,
+                    this.ImportStep});
+      this.FileExport.Text = "&Import";
+      this.FileExport.Visible = false;
+      // 
+      // ImportBRep
+      // 
+      this.ImportBRep.Index = 0;
+      this.ImportBRep.Text = "&BRep ...";
+      this.ImportBRep.Click += new System.EventHandler(this.ImportBRep_Click);
+      // 
+      // ImportIges
+      // 
+      this.ImportIges.Index = 1;
+      this.ImportIges.Text = "&Iges ...";
+      this.ImportIges.Click += new System.EventHandler(this.ImportIges_Click);
+      // 
+      // ImportStep
+      // 
+      this.ImportStep.Index = 2;
+      this.ImportStep.Text = "&Step ...";
+      this.ImportStep.Click += new System.EventHandler(this.ImportStep_Click);
+      // 
+      // FileImport
+      // 
+      this.FileImport.Index = 2;
+      this.FileImport.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+                    this.ExportBRep,
+                    this.ExportIges,
+                    this.ExportStep,
+                    this.ExportStl,
+                    this.ExportVrml,
+                    this.menuItem3,
+                    this.ExportImage});
+      this.FileImport.Text = "&Export";
+      this.FileImport.Visible = false;
+      this.FileImport.Popup += new System.EventHandler(this.FileImport_Popup);
+      // 
+      // ExportBRep
+      // 
+      this.ExportBRep.Enabled = false;
+      this.ExportBRep.Index = 0;
+      this.ExportBRep.Text = "&BRep ...";
+      this.ExportBRep.Click += new System.EventHandler(this.ExportBRep_Click);
+      // 
+      // ExportIges
+      // 
+      this.ExportIges.Enabled = false;
+      this.ExportIges.Index = 1;
+      this.ExportIges.Text = "&Iges ...";
+      this.ExportIges.Click += new System.EventHandler(this.ExportIges_Click);
+      // 
+      // ExportStep
+      // 
+      this.ExportStep.Enabled = false;
+      this.ExportStep.Index = 2;
+      this.ExportStep.Text = "&Step ...";
+      this.ExportStep.Click += new System.EventHandler(this.ExportStep_Click);
+      // 
+      // ExportStl
+      // 
+      this.ExportStl.Enabled = false;
+      this.ExportStl.Index = 3;
+      this.ExportStl.Text = "&Stl ...";
+      this.ExportStl.Click += new System.EventHandler(this.ExportStl_Click);
+      // 
+      // ExportVrml
+      // 
+      this.ExportVrml.Enabled = false;
+      this.ExportVrml.Index = 4;
+      this.ExportVrml.Text = "&Vrml ...";
+      this.ExportVrml.Click += new System.EventHandler(this.ExportVrml_Click);
+      // 
+      // menuItem3
+      // 
+      this.menuItem3.Index = 5;
+      this.menuItem3.Text = "-";
+      // 
+      // ExportImage
+      // 
+      this.ExportImage.Index = 6;
+      this.ExportImage.Text = "Image ...";
+      this.ExportImage.Click += new System.EventHandler(this.ExportImage_Click);
+      // 
+      // FileClose
+      // 
+      this.FileClose.Enabled = false;
+      this.FileClose.Index = 3;
+      this.FileClose.Text = "&Close";
+      this.FileClose.Click += new System.EventHandler(this.menuItem3_Click);
+      // 
+      // menuItem2
+      // 
+      this.menuItem2.Index = 4;
+      this.menuItem2.Text = "-";
+      // 
+      // menuItem1
+      // 
+      this.menuItem1.Index = 5;
+      this.menuItem1.Text = "&Quit";
+      this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
+      // 
+      // View
+      // 
+      this.View.Index = 1;
+      this.View.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+           this.ViewToolbar,
+           this.ViewStatusBar});
+      this.View.Text = "&View";
+      // 
+      // ViewToolbar
+      // 
+      this.ViewToolbar.Checked = true;
+      this.ViewToolbar.Index = 0;
+      this.ViewToolbar.Text = "&Toolbar";
+      this.ViewToolbar.Click += new System.EventHandler(this.ViewToolbar_Click);
+      // 
+      // ViewStatusBar
+      // 
+      this.ViewStatusBar.Checked = true;
+      this.ViewStatusBar.Index = 1;
+      this.ViewStatusBar.Text = "&Statusbar";
+      this.ViewStatusBar.Click += new System.EventHandler(this.ViewStatusBar_Click);
+      // 
+      // Window
+      // 
+      this.Window.Index = 2;
+      this.Window.MdiList = true;
+      this.Window.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+             this.menuItem4,
+             this.WindowCascade,
+             this.WindowTile});
+      this.Window.Text = "&Window";
+      this.Window.Visible = false;
+      // 
+      // menuItem4
+      // 
+      this.menuItem4.Index = 0;
+      this.menuItem4.Text = "&New 3d View";
+      this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);
+      // 
+      // WindowCascade
+      // 
+      this.WindowCascade.Index = 1;
+      this.WindowCascade.Text = "&Cascade";
+      this.WindowCascade.Click += new System.EventHandler(this.WindowCascade_Click);
+      // 
+      // WindowTile
+      // 
+      this.WindowTile.Index = 2;
+      this.WindowTile.Text = "&Tile";
+      this.WindowTile.Click += new System.EventHandler(this.WindowTile_Click);
+      // 
+      // Help
+      // 
+      this.Help.Index = 3;
+      this.Help.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+           this.HelpAbout});
+      this.Help.Text = "&Help";
+      // 
+      // HelpAbout
+      // 
+      this.HelpAbout.Index = 0;
+      this.HelpAbout.Shortcut = System.Windows.Forms.Shortcut.F1;
+      this.HelpAbout.Text = "&About";
+      this.HelpAbout.Click += new System.EventHandler(this.HelpAbout_Click);
+      // 
+      // toolBarTool
+      // 
+      this.toolBarTool.AccessibleRole = System.Windows.Forms.AccessibleRole.ToolBar;
+      this.toolBarTool.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
+                            this.New,
+                            this.About,
+                            this.toolBarButton1,
+                            this.wireframe,
+                            this.shading,
+                            this.color,
+                            this.material,
+                            this.transparency,
+                            this.delete});
+      this.toolBarTool.DropDownArrows = true;
+      this.toolBarTool.ImageList = this.imageList1;
+      this.toolBarTool.Location = new System.Drawing.Point(0, 0);
+      this.toolBarTool.Name = "toolBarTool";
+      this.toolBarTool.ShowToolTips = true;
+      this.toolBarTool.Size = new System.Drawing.Size(560, 28);
+      this.toolBarTool.TabIndex = 1;
+      this.toolBarTool.Enter += new System.EventHandler(this.menuItem3_Click);
+      this.toolBarTool.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick);
+      this.toolBarTool.MouseHover += new System.EventHandler(this.toolBar1_MouseHover);
+      this.toolBarTool.MouseLeave += new System.EventHandler(this.toolBar1_MouseLeave);
+      // 
+      // New
+      // 
+      this.New.ImageIndex = 0;
+      this.New.ToolTipText = "New";
+      this.New.Visible = ((bool)(configurationAppSettings.GetValue("New.Visible", typeof(bool))));
+      // 
+      // About
+      // 
+      this.About.ImageIndex = 1;
+      this.About.ToolTipText = "About(F1)";
+      this.About.Visible = ((bool)(configurationAppSettings.GetValue("About.Visible", typeof(bool))));
+      // 
+      // toolBarButton1
+      // 
+      this.toolBarButton1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator;
+      // 
+      // wireframe
+      // 
+      this.wireframe.Enabled = ((bool)(configurationAppSettings.GetValue("wireframe.Enabled", typeof(bool))));
+      this.wireframe.ImageIndex = 2;
+      this.wireframe.Pushed = ((bool)(configurationAppSettings.GetValue("wireframe.Pushed", typeof(bool))));
+      this.wireframe.ToolTipText = "Wireframe";
+      this.wireframe.Visible = ((bool)(configurationAppSettings.GetValue("wireframe.Visible", typeof(bool))));
+      // 
+      // shading
+      // 
+      this.shading.Enabled = ((bool)(configurationAppSettings.GetValue("shading.Enabled", typeof(bool))));
+      this.shading.ImageIndex = 3;
+      this.shading.Pushed = ((bool)(configurationAppSettings.GetValue("shading.Pushed", typeof(bool))));
+      this.shading.ToolTipText = "Shading";
+      this.shading.Visible = ((bool)(configurationAppSettings.GetValue("shading.Visible", typeof(bool))));
+      // 
+      // color
+      // 
+      this.color.Enabled = ((bool)(configurationAppSettings.GetValue("color.Enabled", typeof(bool))));
+      this.color.ImageIndex = 4;
+      this.color.ToolTipText = "Color";
+      this.color.Visible = ((bool)(configurationAppSettings.GetValue("color.Visible", typeof(bool))));
+      // 
+      // material
+      // 
+      this.material.Enabled = ((bool)(configurationAppSettings.GetValue("material.Enabled", typeof(bool))));
+      this.material.ImageIndex = 5;
+      this.material.ToolTipText = "Material";
+      this.material.Visible = ((bool)(configurationAppSettings.GetValue("material.Visible", typeof(bool))));
+      // 
+      // transparency
+      // 
+      this.transparency.Enabled = ((bool)(configurationAppSettings.GetValue("transparency.Enabled", typeof(bool))));
+      this.transparency.ImageIndex = 6;
+      this.transparency.ToolTipText = "Transparency";
+      this.transparency.Visible = ((bool)(configurationAppSettings.GetValue("transparency.Visible", typeof(bool))));
+      // 
+      // delete
+      // 
+      this.delete.Enabled = ((bool)(configurationAppSettings.GetValue("delete.Enabled", typeof(bool))));
+      this.delete.ImageIndex = 7;
+      this.delete.ToolTipText = "Delete";
+      this.delete.Visible = ((bool)(configurationAppSettings.GetValue("delete.Visible", typeof(bool))));
+      // 
+      // imageList1
+      // 
+      this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
+      this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
+      this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
+      // 
+      // myStatusBar
+      // 
+      this.myStatusBar.AccessibleRole = System.Windows.Forms.AccessibleRole.StatusBar;
+      this.myStatusBar.Location = new System.Drawing.Point(0, 363);
+      this.myStatusBar.Name = "myStatusBar";
+      this.myStatusBar.Size = new System.Drawing.Size(560, 22);
+      this.myStatusBar.TabIndex = 3;
+      // 
+      // toolBarView
+      // 
+      this.toolBarView.AccessibleRole = System.Windows.Forms.AccessibleRole.ToolBar;
+      this.toolBarView.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
+                            this.ZoomAll,
+                            this.ZoomWin,
+                            this.ZoomProg,
+                            this.Pan,
+                            this.PanGlo,
+                            this.Front,
+                            this.Back,
+                            this.TOP,
+                            this.BOTTOM,
+                            this.LEFT,
+                            this.RIGHT,
+                            this.Axo,
+                            this.Rot,
+                            this.Reset,
+                            this.HlrOn,
+                            this.HlrOff});
+      this.toolBarView.DropDownArrows = true;
+      this.toolBarView.ImageList = this.imageList1;
+      this.toolBarView.Location = new System.Drawing.Point(0, 28);
+      this.toolBarView.Name = "toolBarView";
+      this.toolBarView.ShowToolTips = true;
+      this.toolBarView.Size = new System.Drawing.Size(560, 28);
+      this.toolBarView.TabIndex = 5;
+      this.toolBarView.Visible = false;
+      this.toolBarView.Wrappable = false;
+      this.toolBarView.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBarView_ButtonClick);
+      this.toolBarView.MouseHover += new System.EventHandler(this.toolBarView_MouseHover);
+      this.toolBarView.MouseLeave += new System.EventHandler(this.toolBarView_MouseLeave);
+      // 
+      // ZoomAll
+      // 
+      this.ZoomAll.ImageIndex = 8;
+      this.ZoomAll.ToolTipText = "FitAll";
+      // 
+      // ZoomWin
+      // 
+      this.ZoomWin.ImageIndex = 9;
+      this.ZoomWin.ToolTipText = "Zoom Window";
+      // 
+      // ZoomProg
+      // 
+      this.ZoomProg.ImageIndex = 10;
+      this.ZoomProg.ToolTipText = "Dynamic Zooming";
+      // 
+      // Pan
+      // 
+      this.Pan.ImageIndex = 11;
+      this.Pan.ToolTipText = "Dynamic Panning";
+      // 
+      // PanGlo
+      // 
+      this.PanGlo.ImageIndex = 12;
+      this.PanGlo.ToolTipText = "GlobalPanning";
+      // 
+      // Front
+      // 
+      this.Front.ImageIndex = 13;
+      this.Front.ToolTipText = "Front";
+      // 
+      // Back
+      // 
+      this.Back.ImageIndex = 14;
+      this.Back.ToolTipText = "Back";
+      // 
+      // TOP
+      // 
+      this.TOP.ImageIndex = 15;
+      this.TOP.ToolTipText = "Top";
+      // 
+      // BOTTOM
+      // 
+      this.BOTTOM.ImageIndex = 16;
+      this.BOTTOM.ToolTipText = "Bottom";
+      // 
+      // LEFT
+      // 
+      this.LEFT.ImageIndex = 17;
+      this.LEFT.ToolTipText = "Left";
+      // 
+      // RIGHT
+      // 
+      this.RIGHT.ImageIndex = 18;
+      this.RIGHT.ToolTipText = "Right";
+      // 
+      // Axo
+      // 
+      this.Axo.ImageIndex = 19;
+      this.Axo.ToolTipText = "Axo";
+      // 
+      // Rot
+      // 
+      this.Rot.ImageIndex = 20;
+      this.Rot.ToolTipText = "Dynamic Rotation";
+      // 
+      // Reset
+      // 
+      this.Reset.ImageIndex = 21;
+      this.Reset.ToolTipText = "Reset";
+      // 
+      // HlrOn
+      // 
+      this.HlrOn.ImageIndex = 22;
+      this.HlrOn.Pushed = true;
+      this.HlrOn.ToolTipText = "Hidden On";
+      // 
+      // HlrOff
+      // 
+      this.HlrOff.ImageIndex = 23;
+      this.HlrOff.ToolTipText = "Hidden Off";
+      // 
+      // Form1
+      // 
+      this.AccessibleRole = System.Windows.Forms.AccessibleRole.Application;
+      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+      this.ClientSize = new System.Drawing.Size(560, 385);
+      this.Controls.Add(this.toolBarView);
+      this.Controls.Add(this.myStatusBar);
+      this.Controls.Add(this.toolBarTool);
+      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+      this.IsMdiContainer = true;
+      this.Menu = this.mainMenu1;
+      this.Name = "Form1";
+      this.Text = "Sample Import / Export";
+      this.Activated += new System.EventHandler(this.Form1_Activated);
+      this.ResumeLayout(false);
+    }
+    #endregion
+
+    /// <summary>
+    /// The main entry point for the application.
+    /// </summary>
+    [STAThread]
+    static void Main()
+    {
+      Application.Run(new Form1());
+    }
+
+    private void menuItem2_Click(object sender, System.EventArgs e)
+    {
+
+      this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
+      this.OnNewFile();
+    }
+
+    private void menuItem3_Click(object sender, System.EventArgs e)
+    {
+      if (this.MdiChildren.Length > 0)
+        this.ActiveMdiChild.Close();
+
+    }
+
+    private void ImportBRep_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = ModelFormat.BREP;
+      curForm.ImportModel(this.myModelFormat);
+    }
+
+    private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      switch (toolBarTool.Buttons.IndexOf(e.Button))
+      {
+        case 0:
+          this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
+          this.OnNewFile();
+          break;
+        case 1:
+          AboutDialog myDlg = new AboutDialog();
+          myDlg.ShowDialog(this);
+          break;
+
+        case 2: //just separator
+          break;
+        case 3:
+          if (curForm == null)
+            return;
+          curForm.SetDisplayMode(0); //wireframe
+          this.wireframe.Enabled = false;
+          this.shading.Enabled = true;
+          this.transparency.Enabled = false;
+          break;
+        case 4:
+          if (curForm == null)
+            return;
+          curForm.SetDisplayMode(1); //shading
+          this.shading.Enabled = false;
+          this.wireframe.Enabled = true;
+          this.transparency.Enabled = true;
+          break;
+        case 5:
+          if (curForm == null)
+            return;
+          curForm.ChangeColor(true);
+          break;
+        case 6:
+          if (curForm == null)
+            return;
+          MaterialDialog m = new MaterialDialog();
+          m.View = curForm.View;
+          m.ShowDialog(curForm);
+          break;
+        case 7:
+          if (curForm == null)
+            return;
+          IE_WinForms.TransparencyDialog t = new TransparencyDialog();
+          t.View = curForm.View;
+          t.ShowDialog(curForm);
+          break;
+        case 8:
+          if (curForm == null)
+            return;
+          curForm.DeleteObjects();
+          break;
+        default:
+          break;
+      }
+    }
+
+    private void toolBar1_MouseHover(object sender, System.EventArgs e)
+    {
+      this.myStatusBar.Text = "Document toolbar";
+    }
+
+    private void toolBar1_MouseLeave(object sender, System.EventArgs e)
+    {
+      this.myStatusBar.Text = "";
+    }
+
+    private void ImportCsfdb_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.CSFDB;
+      curForm.ImportModel(this.myModelFormat);
+    }
+
+    private void ImportIges_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.IGES;
+      curForm.ImportModel(this.myModelFormat);
+    }
+
+    private void ImportStep_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.STEP;
+      curForm.ImportModel(this.myModelFormat);
+    }
+
+    private void ExportBRep_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.BREP;
+      curForm.ExportModel(this.myModelFormat);
+    }
+
+    private void ExportCsfdb_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.CSFDB;
+      curForm.ExportModel(this.myModelFormat);
+    }
+
+    private void ExportIges_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.IGES;
+      curForm.ExportModel(this.myModelFormat);
+    }
+
+    private void ExportStep_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.STEP;
+      curForm.ExportModel(this.myModelFormat);
+    }
+
+    private void ExportStl_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.STL;
+      curForm.ExportModel(this.myModelFormat);
+    }
+
+    private void ExportVrml_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.VRML;
+      curForm.ExportModel(this.myModelFormat);
+    }
+
+    private void ExportImage_Click(object sender, System.EventArgs e)
+    {
+      Form2 curForm = (Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      this.myModelFormat = IE_WinForms.ModelFormat.IMAGE;
+      curForm.ExportModel(this.myModelFormat);
+    }
+
+    private void HelpAbout_Click(object sender, System.EventArgs e)
+    {
+      AboutDialog myDlg = new AboutDialog();
+      myDlg.ShowDialog(this);
+    }
+
+    private void ViewToolbar_Click(object sender, System.EventArgs e)
+    {
+
+      if (this.ViewToolbar.Checked)
+      {
+        if (this.MdiChildren.Length > 0)
+        {
+          this.New.Visible = false;
+          this.About.Visible = false;
+        }
+        else
+          this.toolBarTool.Hide();
+        this.ViewToolbar.Checked = false;
+      }
+      else
+      {
+        if (this.MdiChildren.Length > 0)
+        {
+          this.New.Visible = true;
+          this.About.Visible = true;
+        }
+        else
+          this.toolBarTool.Show();
+        this.ViewToolbar.Checked = true;
+      }
+
+    }
+
+    private void ViewStatusBar_Click(object sender, System.EventArgs e)
+    {
+      if (this.ViewStatusBar.Checked)
+      {
+        this.myStatusBar.Hide();
+        this.ViewStatusBar.Checked = false;
+      }
+      else
+      {
+        this.myStatusBar.Show();
+        this.ViewStatusBar.Checked = true;
+      }
+    }
+
+    public void OnNewFile()
+    {
+      Form2 newForm = new Form2();
+      newForm.MdiParent = this;
+      IE_WinForms.Form1.myNbOfChildren = IE_WinForms.Form1.myNbOfChildren + 1;
+      newForm.SetIndex (IE_WinForms.Form1.myNbOfChildren, 1);
+      newForm.Show();
+      newForm.InitView();
+      newForm.InitV3D();
+      this.FileExport.Visible = true;
+      this.FileImport.Visible = true;
+      this.Window.Visible = true;
+      this.wireframe.Visible = true;
+      this.shading.Visible = true;
+      this.color.Visible = true;
+      this.material.Visible = true;
+      this.transparency.Visible = true;
+      this.delete.Visible = true;
+      this.Cursor = System.Windows.Forms.Cursors.Default;
+      this.toolBarView.Visible = true;
+    }
+
+    private void FileImport_Popup(object sender, System.EventArgs e)
+    {
+      IE_WinForms.Form2 curForm = (IE_WinForms.Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      if (curForm.View.IsObjectSelected())
+      {
+        this.ExportBRep.Enabled = true;
+        this.ExportIges.Enabled = true;
+        this.ExportStep.Enabled = true;
+        this.ExportVrml.Enabled = true;
+        this.ExportStl.Enabled = true;
+      }
+
+    }
+
+    private void menuItem1_Click(object sender, System.EventArgs e)
+    {
+      this.Close();
+    }
+
+    private void File_Popup(object sender, System.EventArgs e)
+    {
+      if (this.MdiChildren.Length > 0)
+        this.FileClose.Enabled = true;
+      else
+      {
+        this.FileClose.Enabled = false;
+        this.FileExport.Visible = false;
+        this.FileImport.Visible = false;
+      }
+    }
+
+    private void menuItem4_Click(object sender, System.EventArgs e)
+    {
+      IE_WinForms.Form2 curForm = (IE_WinForms.Form2)this.ActiveMdiChild;
+      IE_WinForms.Form2 newView = new Form2();
+      newView.MdiParent = this;
+      newView.Show();
+      newView.InitView();
+      newView.SetContext(curForm.View);
+      newView.View.CreateNewView(newView.Handle);
+      newView.SetNextIndex(curForm);
+    }
+
+    private void WindowCascade_Click(object sender, System.EventArgs e)
+    {
+      this.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade);
+    }
+
+    private void WindowTile_Click(object sender, System.EventArgs e)
+    {
+      this.LayoutMdi(System.Windows.Forms.MdiLayout.TileVertical);
+    }
+
+    public void SelectionChanged()
+    {
+      if (this.MdiChildren.Length == 0)
+        return;
+      IE_WinForms.Form2 curForm = (IE_WinForms.Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      switch (curForm.View.DisplayMode())
+      {
+        case -1:
+          this.shading.Enabled = false;
+          this.wireframe.Enabled = false;
+          break;
+        case 0:
+          this.wireframe.Enabled = false;
+          this.shading.Enabled = true;
+          this.transparency.Enabled = false;
+          break;
+        case 1:
+          this.wireframe.Enabled = true;
+          this.shading.Enabled = false;
+          this.transparency.Enabled = true;
+          break;
+        case 10:
+          this.wireframe.Enabled = true;
+          this.shading.Enabled = true;
+          this.transparency.Enabled = true;
+          break;
+        default:
+          break;
+      }
+      bool IsSelected = curForm.View.IsObjectSelected();
+      if (IsSelected)
+      {
+        this.color.Enabled = true;
+        this.material.Enabled = true;
+        this.delete.Enabled = true;
+      }
+      else
+      {
+        this.color.Enabled = false;
+        this.material.Enabled = false;
+        this.transparency.Enabled = false;
+        this.delete.Enabled = false;
+      }
+      if (curForm.DegenerateMode)
+      {
+        this.HlrOff.Pushed = false;
+        this.HlrOn.Pushed = true;
+      }
+      else
+      {
+        this.HlrOff.Pushed = true;
+        this.HlrOn.Pushed = false;
+      }
+      if (curForm.Mode == IE_WinForms.CurrentAction3d.CurAction3d_WindowZooming)
+        this.ZoomWin.Pushed = false;
+
+    }
+
+    public StatusBar StatusBar
+    {
+      get
+      {
+        return this.myStatusBar;
+      }
+    }
+
+    public void OnFileClose()
+    {
+      if (this.MdiChildren.Length <= 1)
+      {
+        this.FileClose.Enabled = false;
+        this.Window.Visible = false;
+        this.wireframe.Visible = false;
+        this.shading.Visible = false;
+        this.color.Visible = false;
+        this.material.Visible = false;
+        this.transparency.Visible = false;
+        this.delete.Visible = false;
+        this.toolBarView.Visible = false;
+      }
+    }
+
+    private void toolBarView_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
+    {
+      IE_WinForms.Form2 curForm = (IE_WinForms.Form2)this.ActiveMdiChild;
+      if (curForm == null)
+        return;
+      switch (toolBarView.Buttons.IndexOf(e.Button))
+      {
+        case 0:
+          curForm.View.ZoomAllView();
+          break;
+        case 1:
+          curForm.Mode = CurrentAction3d.CurAction3d_WindowZooming;
+          this.ZoomWin.Pushed = true;
+          break;
+        case 2:
+          curForm.Mode = CurrentAction3d.CurAction3d_DynamicZooming;
+          break;
+        case 3:
+          curForm.Mode = CurrentAction3d.CurAction3d_DynamicPanning;
+          break;
+        case 4:
+          curForm.Zoom = curForm.View.Scale();
+          curForm.Mode = CurrentAction3d.CurAction3d_GlobalPanning;
+          break;
+        case 5:
+          curForm.View.FrontView();
+          break;
+        case 6:
+          curForm.View.TopView();
+          break;
+        case 7:
+          curForm.View.LeftView();
+          break;
+        case 8:
+          curForm.View.BackView();
+          break;
+        case 9:
+          curForm.View.RightView();
+          break;
+        case 10:
+          curForm.View.BottomView();
+          break;
+        case 11:
+          curForm.View.AxoView();
+          break;
+        case 12:
+          curForm.Mode = CurrentAction3d.CurAction3d_DynamicRotation;
+          break;
+        case 13:
+          curForm.View.Reset();
+          break;
+        case 14:
+          curForm.View.SetDegenerateModeOn();
+          curForm.DegenerateMode = true;
+          this.HlrOff.Pushed = false;
+          this.HlrOn.Pushed = true;
+          break;
+        case 15:
+          curForm.View.SetDegenerateModeOff();
+          curForm.DegenerateMode = false;
+          this.HlrOn.Pushed = false;
+          this.HlrOff.Pushed = true;
+          break;
+        default:
+          break;
+      }
+    }
+
+    private void Form1_Activated(object sender, System.EventArgs e)
+    {
+      if (this.toolBarView.Visible)
+        this.SelectionChanged();
+    }
+
+    private void toolBarView_MouseHover(object sender, System.EventArgs e)
+    {
+      this.myStatusBar.Text = "View toolbar";
+    }
+
+    private void toolBarView_MouseLeave(object sender, System.EventArgs e)
+    {
+      this.myStatusBar.Text = "";
+    }
+
+  }
+
+}
\ No newline at end of file
diff --git a/samples/CSharp/WinForms/Form1.resx b/samples/CSharp/WinForms/Form1.resx
new file mode 100644 (file)
index 0000000..4a7e017
--- /dev/null
@@ -0,0 +1,660 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    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">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="mainMenu1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="mainMenu1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </data>
+  <data name="mainMenu1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="File.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="File.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="FileNew.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="FileNew.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="FileExport.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="FileExport.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ImportBRep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ImportBRep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ImportIges.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ImportIges.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ImportStep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ImportStep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="FileImport.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="FileImport.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportBRep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportBRep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportIges.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportIges.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportStep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportStep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportStl.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportStl.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportVrml.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportVrml.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportImage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ExportImage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="FileClose.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="FileClose.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="View.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="View.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ViewToolbar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ViewToolbar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ViewStatusBar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ViewStatusBar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Window.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Window.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="WindowCascade.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="WindowCascade.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="WindowTile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="WindowTile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Help.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Help.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="HelpAbout.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="HelpAbout.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="toolBarTool.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="toolBarTool.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="toolBarTool.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="New.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="New.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="About.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="About.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="wireframe.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="wireframe.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="shading.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="shading.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="color.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="color.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="material.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="material.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="transparency.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="transparency.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="delete.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="delete.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="imageList1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="imageList1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="imageList1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>141, 18</value>
+  </data>
+  <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
+        MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
+        eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
+        AAB6GAAAAk1TRnQBSQFMAgEBGAEAAR0BAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQC
+        AAEoAwABQAMAAYADAAEBAQABCAYAASAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB
+        3AHAAQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IB
+        AAM5AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8B
+        MwMAAWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYC
+        AAFmAZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMC
+        AAHMAWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQAB
+        ZgEAATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8B
+        AAEzAWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQAB
+        MwGZAWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQAB
+        MwLMAQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQAB
+        MwEAAWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMB
+        mQEAAWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQAB
+        ZgGZAWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYB
+        zAH/AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMB
+        mQEAAZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgAB
+        mQFmATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwB
+        AAKZAf8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB
+        /wEzAQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQAB
+        mQEAAcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYC
+        AAHMAWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYB
+        AAHMApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8C
+        AAHMAf8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQAB
+        mQEAAcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMB
+        AAHMAmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB
+        /wGZAcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC
+        /wEzAQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC
+        /wFmAQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gB
+        AAHwAfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8A/wD/
+        AP8A/wAPAAH7PgAD+wHsPQAB+wIAAewIAAP7NAAC7AYAAvsBAAL7DQAB7CMABOwGAAL7AQAC+w4AAewb
+        AAL7AwAC7AIAAewBAAHsBQAC+wEAAvsPAAXsAQAC7BUAA/sB7AQAAuwFAAL7AQAC+w8AAeweAAHsAvsD
+        AAPsBQAD+xAAAeweAAHsAwAB+wEAAewBAAHsGAAB7B4AAewEAAHsAgAB7BgAAewfAAHsAwAB7AMAA/sw
+        AAP7AgAC7AEAAewBAALsAwAB+xUAAewdAAPsAgAC7BsAAewcAAHsAQAD7DwAAuw/AAHsQgAB+ywAA/sQ
+        AAH7CwABAQnsAwAJ7AEBCwAC+w4AAfsBAAH7AQAB+wkAAgEHAALsAgAB7AH+BwACAQgABPsKAAoBCAAB
+        AQEAAQEGAAHsAQAB7AEAAewBAAH+BgABAQEAAQEFAAL7DgAB7AEBAwAD+wEAAgEHAAEBAgABAQX+AewC
+        /gLsAgAG/gEAAv4BAQQAAfsPAAHsAQABAQMAAfsCAAHsAQABAQUAAfsBAQIAAQEFAAHsAgAC7AIAAf4F
+        AAEBAgABAQQAAfsCAAH+DAAB7AIACgEFAAEBAfsBAAEBBQAB7AIAAuwCAAH+BQABAQIAAfsDAAP7AQAB
+        +wH+CwAB7AIAAf4FAAHsAgAB7AIAA/sBAQL7AQEFAAHsAgAC7AIAAf4FAAEBAQAB+wEBBAAB+wIAAvsF
+        /gEAAv4DAAHsAgAB/gUAAewCAAHsBQABAQH7AQABAQUAAewCAALsAgAB/gUAAQEG+wYAAf4KAAHsAgAB
+        /gUAAewCAAHsBAAB+wEBAgABAQUAAewCAALsAgAB/gUAAQEBAAH7AQEJAAH+CgAB7AIAAf4FAAHsAgAB
+        7AUAAQEC7AEBBuwCAArsAQECAAH7CQAB/goAAewCAAH+BQAB7AIAAewGAAEBAQABAQYAAewBAAHsAQAB
+        7AEAAf4GAAEBAQABAQkAAf4KAArsAgAB7AcAAgEHAALsAgAB7AH+BwACARUAAewBAAH+BgAB7AEAAewI
+        AAEBCewDAAnsAQEJAAH+DAAB7AH+BwAC7CgAAf4NAArsOQAB+xkACuwGAArsCwAD+wgAAfsJAQYAAewB
+        /gcAAuwFAAHsAf4HAALsCQAB+wEAAfsBAAH7BwABAQH7BwABAQHsBQAB7AEAAf4GAAHsAQAB7AQAAewB
+        AAH+BgAB7AEAAewKAAH7CQABAQEAAfsGAAEBAQAB7AQAAewCAAoBAwAB7AIABv4B7AL+AewHAALsAfsB
+        AAPsBQABAQIAAfsBAAH7A/4BAQL+AewDAAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB7AQAAfsB
+        AAHsAgAB+wMAAewB+wQAAQEDAAL7AwABAQIAAewDAAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB
+        7AMAAfsCAAHsBgAB7AEAAfsDAAEBAgAD+wMAAQECAAHsAwAB7AIAAQEFAAHsAgABAQMAAewCAAH+BQAB
+        7AIAAewCAAb7BAAF+wIAAQECAAH+BQABAQIAAewDAAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB
+        7AMAAfsCAAHsBgAB7AEAAfsDAAEBAgAB/gUAAQECAAHsAwAB7AIAAQEBAAT7AewCAAEBAwAB7AIAAf4F
+        AAHsAgAB7AQAAfsBAAHsAgAB+wMAAewB+wQAAQECAAH+BQABAQIAAewDAAPsAQEB7AL7A+wCAAEBAwAK
+        AQIAAewGAAPsAfsBAAPsBQAKAQIAAewEAAHsAQABAQEAAfsBAAH7AgAB7AEAAQEEAAEBAQAB/gYAAQEB
+        AAHsCQAB+woAAewBAAH+BgAB7AEAAewFAAHsAQEBAAH7AgAB+wIAAewBAQUAAQEB/gIAAfsEAAEBAewH
+        AAH7AQAB+wEAAfsJAAHsAf4HAALsBgAKAQYAAgED+wUBCAAD+wsACuwNAAH7CQAB+wEAAfsBAAH7DQAB
+        +yQAAfsKAAH7NQAB+wkAAfsIAAP7CgAD+w4AAfshAAL7DAAC+wIAAewDAAfsA/sB7BYAAfsIAAH7AewB
+        AwoAAfsBAAH7DgAB+xcAA/sJAAEDCQAB+xEAAewWAAH7AQAB+wEAAfskAAHsDwAB+wgAAfsPAAXsBQAB
+        7AYABOwCAAHsBwAF7AIAA/sHAAH7DQAB7AYAAewEAAHsBAAB7AUAAewBAAHsBQAB7AYAAewCAAH7AwAB
+        +wkAAfsIAAHsBwAB7AMAAewEAAHsBgAC7AUAAewHAAHsBAAB+wsAAfsGAALsBwAC7AIAAewDAALsBgAC
+        7AQAAuwHAAEDAewCAAX7BQAF+wUAAewJAAHsAgAB7AMAAewIAAHsBAAB7AQAA/sCAAHsAwAB+wsAAfsG
+        AAHsCQAB7AIAAewDAAHsCAAB7AQAAewCAAL7BQAB7AQAAfsEAAH7BAAB+wcAAuwHAALsAgAB7AMAAuwG
+        AALsBQAB7AcAAuwJAAH7CwAB+wEAAewHAAHsAwAB7AQAAewGAALsBQAB7AcAAewKAAH7CAAB+wEAAfsD
+        AAHsBQAB7AH7AQAB+wEAAfsFAAHsBAAB7AEAAewBAAP7AgAB7AUAAewJAAH7AQAB+wEAAfsGAAL7BQAF
+        7AIABfsE7AEABuwIAAXsCwAD+wcAA/sKAAP7AQAB+yUAAfsfAAb4CAAG+A0AAgcC7AUADQoIAAH4BvsB
+        +AYAAfgGoAH4CAACCwLvAQcD7AYAAx4BAANrAQACNwFtCAABrgFYBvsBWAGuBAABrgGZBqABmQGuBQAC
+        CwKSAU8CBwHvAuwGAAMBAQADBgEAAvsB7AgAAVgBcwb7AXMBWAQAAewBHAagARwB7AUAAW0B7QEHAU8B
+        AgJPAQcC7AFtAQsEAAMBAQADBgEAAvsB7AcAAT8B+wFYBnMBRgH7BAAB7AGZBhwBmQHsBQAB7AEHAU8B
+        7QECAe0BAgEHA+wFAAMLAQADDQEAAikBQwcAAfkBLAH7BkYB+QH7BAAB7AGgBpkBoAHsBAABbwHvAQcB
+        AgEHAXIBBwFyAQcD7AUAAwIBAAMEAQADBgMABGIC+QEsATIG+QH7BAAB7AigAewEAAHsAQcBcgECAXIB
+        BwJyAQcD7AUAA/oBAAP8AQAD/gMAB/kB+wb5AfsEAAHsCKAB7AQAAewBBwFyAQIBcgEHAgIBBwPsARQB
+        AQMAA/oBAAP8AQAD/gMABGIC+QEsATIG+QH7BAAB7AigAewEAAHsAgcDcgE1AXIBeQGSA+wEAAMtAQAD
+        hQEAA4EHAAH5ASwB+wZGAfkB+wQAAewBoAaZAaAB7AMAAUYBkgMHAk8BWAEHAVgBBwGSAuwEAAMeAQAD
+        KQEAA2EHAAE/AfsBWAZzAUYB+wQAAewBmQYcAZkB7AMAAewCBwLvAeoC7AQHAewB7QQAA/kBAAP7AQAD
+        /QgAAVgBcwb7AXMBWAQAAewBHAagARwB7AMAAewCBwLsAQAB7AHtAgcCmQHsAe8BCwMAA/kBAAP7AQAD
+        /QgAAa4BWAb7AVgBrgQAAa4BmQagAZkBrgMAAewB7wEHAuwBAAHsAgcBmQJYAm4EAAMgAQADNwEAA6UJ
+        AAH4BvsB+AYAAfgGoAH4BAACbgIHAewBDgMHAfsCbhsABvgIAAb4BwAC7AEHBew6AATsLQAG+woABuwp
+        AAFYBqcBWAgAAewG+wHsGwAC+woAAVgBhgYAAYYBWAYAAa4BWAb7AVgBrgcACf8KAAL7CgAB+wFYBgAB
+        WAH7BgAB7Aj7AewHAAn/FgAB+wGuBlEBrgH7BgAB7Aj7AewHAAn/CgAB+wsAAfsBAAauAQAB+wYAAewI
+        +wHsBwAJ/woAAfsLAAH7CAAB+wYAAewI+wHsBwAJ/woAAfsLAAH7CAAB+wYAAewI+wHsBwAJ/woAAvsK
+        AAH7CAAB+wYAAewI+wHsBwAJ/wsAAvsJAAH7AQAGrgEAAfsGAAHsAfsGWAH7AewHAAn/BwAB+wQAAvsI
+        AAH7Aa4GUQGuAfsGAAHsAVgGcwFYAewHAAb/CgAB+wUAAfsIAAH7AVgGAAFYAfsGAAHsAXMG+wFzAewH
+        AAb/AQAB/wgAAvsDAAL7CAABWAGGBgABhgFYBgABrgFYBvsBWAGuBwAG/wsABfsKAAFYBqcBWAgAAewG
+        +wHsKQAG+woABuxFAAFCAU0BPgcAAT4DAAEoAwABQAMAAYADAAEBAQABAQYAAQQWAAP//wACAAH9B/8B
+        +AF/Bv8B/QG/AccB/wHAAR8BwAEfAf8BnwGTAf8CzwHfAc8B/gEfAZMB/wLXAd8B1wE5AY8BkwH/AdgB
+        AwHfAdsBwwHPAZMB/wLbAd8B2wHxAscB+wLbAd8B2wH3AVcB/wHBAtsB3wHbAfcBtwH/AZsC2wHfAdsB
+        +wGoAf8BrwHAARsBwAEbARkBTgH/AbUC6wHvAesBwgE/Af8BuQLzAfcB8wHBAv8BEQH4AQMB+AEDAecC
+        /wG/BP8B9wf/Af4F/wHxAf8B/gH/AeABBwEAAT8B+QH/AfoBvwHnAfMBPwGfAeEB/wGAAR8B6wH1AV8B
+        rwGfAf8BnAFPAewBAAFgAQcBoAEPAa4B1wHNAfYBbwG3AacB5wGwAQMB5QH2AW8BtwEDAesBtwHbAQEB
+        9gFvAacBoAEBAbcB2wHlAfYBbwGAAu0BtwHbAc0B9gFvAacC7QG3AdsB4AEGAQABNwLtAbcB2wH1AfoB
+        rwHXAu0BgAEbAfkB/AHPAecB4AENAdcB6wH8AQAB4AEHAvUB5wHzBP8C+QHwAQME/wH8AQEB/gP/AYAB
+        HwGAAR8B/AF/AYABHwGfAc8BnwHPAfoBvwGfAc8BrwHXAa8B1wH+Af8BrwHXAbABAwGwAQMB8AGPAbQB
+        AwG3AdsBtwHbAdYB5wG5AdsBtwHbAbcB2wG3AesBsQHbAbcB2wG3AdsBAwHBAbcB2wG3AdsBtwHbAbcB
+        6wG3AdsBtAEbAbcB2wHWAecBtwHbAYABGwGAARsB8AGPAYABGwHVAWsB1wHrAf4B/wHXAesB5QGzAeYB
+        8wH6Ab8B5wHzAfABAwHwAQMB/AF/AfABAwH/Ae8B+gG/Af4E/wH3Af4G/wH7Af4B/wEfAfgB/wH9BP8B
+        PwH8AdwBAAF/Af8B/gH/AR8B+gHPAf0BPwH/AfwBfwHPAfcB5wH9AZ8B/wH6Ab8B5wH/AfMB/QHPAf0B
+        /gH/AfIBDwG5AQ0B5AEYAf4B/wH5AfcBvAH1AfMB7QHfAfcC+wG9AfkC9wG/AfsB8wH5AbkB+QHnAfMB
+        BwHBAfcB/QG7Af0B7wEbAb8B+wH3Af0BuwH9AewB+wHeAfcB8wH5AbkB+QH3AfMB/gH/AesB+wG9AfkC
+        9wH+Af8BXQHyAb4B9QEbAe8B+gG/AT4BDAIBAfwBHwH8AX8BHwH4Ab8D/wH+A/8B/gEHAfgBHwH8AQcB
+        gAEDAfwBAwHwAQ8B8AEHAYABAwH4AQEB4AEHAcABBwGAAQMB+AEBAeABBwHAAQMBgAEDAfABAQHgAQcB
+        wAEDAYABAwHwAQEB4AEHAYABAwGAAQMBAAEBAeABBwGAAQMBgAEDAQABAQHgAQcBgAEBAYABAwEAAQEB
+        4AEHAYABAQGAAQMB8AEBAeABBwEAAQEBgAEDAfABAQHgAQcBAAEBAYABAwH4AQEB4AEHAQABAQGAAQMB
+        +AEBAeABBwEAAQMBgAEDAfwBAwHwAQ8BAAEPAYABAwH+AQcB+AEfAcABPwb/AfAF/wH4AR8B+AEfAv8B
+        /gE/AfABDwHwAQ8B4AEDAfwBHwLnAeABBwHgAQMB/AEfAucB4AEHAeABAwH+AX8B4AEHAeABBwHgAQMB
+        /AE/AegBFwHgAQcB4AEDAfwBPwHvAfcB4AEHAeABAwH8AT8B7wH3AeABBwHgAQMB/AEfAe8B9wHgAQcB
+        4AEDAfIBDwHoARcB4AEHAeABAwHhAQcB4AEHAeABBwHgAQMB4QGHAucB4AEHAeABBwHgAQcC5wHgAQcB
+        4AEPAfABDwHwAQ8B8AEPAeABHwH4AR8B+AEfAfgBHwj/Cw==
+</value>
+  </data>
+  <data name="myStatusBar.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="myStatusBar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="myStatusBar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="toolBarView.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="toolBarView.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="toolBarView.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ZoomAll.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ZoomAll.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ZoomWin.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ZoomWin.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ZoomProg.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ZoomProg.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Pan.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Pan.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="PanGlo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="PanGlo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Front.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Front.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Back.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Back.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="TOP.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="TOP.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BOTTOM.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BOTTOM.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="LEFT.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="LEFT.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="RIGHT.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="RIGHT.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Axo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Axo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Rot.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Rot.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Reset.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="Reset.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="HlrOn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="HlrOn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="HlrOff.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="HlrOff.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="toolBarButton1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="toolBarButton1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>(Default)</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>8, 8</value>
+  </data>
+  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.Name">
+    <value>Form1</value>
+  </data>
+  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>80</value>
+  </data>
+  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
+        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
+        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
+        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
+        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
+        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
+        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
+        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
+        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
+        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
+        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
+        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
+        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
+        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
+        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
+        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
+        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
+        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
+        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
+        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
+        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
+        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
+        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
+        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
+        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
+        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
+        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
+        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/samples/CSharp/WinForms/Form2.cs b/samples/CSharp/WinForms/Form2.cs
new file mode 100644 (file)
index 0000000..b417875
--- /dev/null
@@ -0,0 +1,952 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+
+namespace IE_WinForms
+{
+  public enum CurrentAction3d
+  {
+    CurAction3d_Nothing,
+    CurAction3d_DynamicZooming,
+    CurAction3d_WindowZooming,
+    CurAction3d_DynamicPanning,
+    CurAction3d_GlobalPanning,
+    CurAction3d_DynamicRotation
+  }
+  public enum CurrentPressedKey
+  {
+    CurPressedKey_Nothing,
+    CurPressedKey_Ctrl,
+    CurPressedKey_Shift
+  }
+  public enum ModelFormat
+  {
+    BREP,
+    CSFDB,
+    STEP,
+    IGES,
+    VRML,
+    STL,
+    IMAGE
+  }
+  /// <summary>
+  /// Summary description for Form2.
+  /// </summary>
+  public class Form2 : System.Windows.Forms.Form
+  {
+    private System.ComponentModel.IContainer components;
+
+    public Form2()
+    {
+      //
+      // Required for Windows Form Designer support
+      //
+      InitializeComponent();
+
+      //
+      // Create OCCT proxy object
+      //
+      myOCCTProxy = new OCCTProxy();
+      myCurrentMode = CurrentAction3d.CurAction3d_Nothing;
+      myCurrentPressedKey = CurrentPressedKey.CurPressedKey_Nothing;
+      myDegenerateModeIsOn = true;
+      IsRectVisible = false;
+    }
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    protected override void Dispose(bool disposing)
+    {
+      if (disposing)
+      {
+        if (components != null)
+        {
+          components.Dispose();
+        }
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent()
+    {
+      this.components = new System.ComponentModel.Container();
+      System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form2));
+      this.imageList1 = new System.Windows.Forms.ImageList(this.components);
+      this.myPopup = new System.Windows.Forms.ContextMenu();
+      this.menuItem1 = new System.Windows.Forms.MenuItem();
+      this.myPopupObject = new System.Windows.Forms.ContextMenu();
+      this.ContextWireframe = new System.Windows.Forms.MenuItem();
+      this.ContextShading = new System.Windows.Forms.MenuItem();
+      this.ContextColor = new System.Windows.Forms.MenuItem();
+      this.ContextMaterial = new System.Windows.Forms.MenuItem();
+      this.ContMatBrass = new System.Windows.Forms.MenuItem();
+      this.ContMenBronze = new System.Windows.Forms.MenuItem();
+      this.ContMenCopper = new System.Windows.Forms.MenuItem();
+      this.ContMenGold = new System.Windows.Forms.MenuItem();
+      this.ContMenPewt = new System.Windows.Forms.MenuItem();
+      this.ContMenPlaster = new System.Windows.Forms.MenuItem();
+      this.ContMenPlastic = new System.Windows.Forms.MenuItem();
+      this.ContMenSilver = new System.Windows.Forms.MenuItem();
+      this.ContMenTranc = new System.Windows.Forms.MenuItem();
+      this.ContMenDelete = new System.Windows.Forms.MenuItem();
+      // 
+      // imageList1
+      // 
+      this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
+      this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
+      this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
+      // 
+      // myPopup
+      // 
+      this.myPopup.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+                                                                                                                                                                       this.menuItem1});
+      // 
+      // menuItem1
+      // 
+      this.menuItem1.Index = 0;
+      this.menuItem1.Text = "Change &Background";
+      this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
+      // 
+      // myPopupObject
+      // 
+      this.myPopupObject.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+           this.ContextWireframe,
+          this.ContextShading,
+          this.ContextColor,
+          this.ContextMaterial,
+          this.ContMenTranc,
+          this.ContMenDelete});
+      this.myPopupObject.Popup += new System.EventHandler(this.myPopupObject_Popup);
+      // 
+      // ContextWireframe
+      // 
+      this.ContextWireframe.Index = 0;
+      this.ContextWireframe.Text = "Wireframe";
+      this.ContextWireframe.Click += new System.EventHandler(this.ContextWireframe_Click);
+      // 
+      // ContextShading
+      // 
+      this.ContextShading.Index = 1;
+      this.ContextShading.Text = "Shading";
+      this.ContextShading.Click += new System.EventHandler(this.ContextShading_Click);
+      // 
+      // ContextColor
+      // 
+      this.ContextColor.Index = 2;
+      this.ContextColor.Text = "Color";
+      this.ContextColor.Click += new System.EventHandler(this.ContextColor_Click);
+      // 
+      // ContextMaterial
+      // 
+      this.ContextMaterial.Index = 3;
+      this.ContextMaterial.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+           this.ContMatBrass,
+           this.ContMenBronze,
+           this.ContMenCopper,
+           this.ContMenGold,
+           this.ContMenPewt,
+           this.ContMenPlaster,
+           this.ContMenPlastic,
+           this.ContMenSilver});
+      this.ContextMaterial.Text = "Material";
+      // 
+      // ContMatBrass
+      // 
+      this.ContMatBrass.Index = 0;
+      this.ContMatBrass.Text = "&Brass";
+      this.ContMatBrass.Click += new System.EventHandler(this.ContMatBrass_Click);
+      // 
+      // ContMenBronze
+      // 
+      this.ContMenBronze.Index = 1;
+      this.ContMenBronze.Text = "&Bronze";
+      this.ContMenBronze.Click += new System.EventHandler(this.ContMenBronze_Click);
+      // 
+      // ContMenCopper
+      // 
+      this.ContMenCopper.Index = 2;
+      this.ContMenCopper.Text = "&Copper";
+      this.ContMenCopper.Click += new System.EventHandler(this.ContMenCopper_Click);
+      // 
+      // ContMenGold
+      // 
+      this.ContMenGold.Index = 3;
+      this.ContMenGold.Text = "&Gold";
+      this.ContMenGold.Click += new System.EventHandler(this.ContMenGold_Click);
+      // 
+      // ContMenPewt
+      // 
+      this.ContMenPewt.Index = 4;
+      this.ContMenPewt.Text = "&Pewter";
+      this.ContMenPewt.Click += new System.EventHandler(this.ContMenPewt_Click);
+      // 
+      // ContMenPlaster
+      // 
+      this.ContMenPlaster.Index = 5;
+      this.ContMenPlaster.Text = "&Plaster";
+      this.ContMenPlaster.Click += new System.EventHandler(this.ContMenPlaster_Click);
+      // 
+      // ContMenPlastic
+      // 
+      this.ContMenPlastic.Index = 6;
+      this.ContMenPlastic.Text = "&Plastic";
+      this.ContMenPlastic.Click += new System.EventHandler(this.ContMenPlastic_Click);
+      // 
+      // ContMenSilver
+      // 
+      this.ContMenSilver.Index = 7;
+      this.ContMenSilver.Text = "&Silver";
+      this.ContMenSilver.Click += new System.EventHandler(this.ContMenSilver_Click);
+      // 
+      // ContMenTranc
+      // 
+      this.ContMenTranc.Index = 4;
+      this.ContMenTranc.Text = "&Trancparency";
+      this.ContMenTranc.Click += new System.EventHandler(this.ContMenTranc_Click);
+      // 
+      // ContMenDelete
+      // 
+      this.ContMenDelete.Index = 5;
+      this.ContMenDelete.Text = "&Delete";
+      this.ContMenDelete.Click += new System.EventHandler(this.ContMenDelete_Click);
+      // 
+      // Form2
+      // 
+      this.AccessibleRole = System.Windows.Forms.AccessibleRole.Window;
+      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+      this.ClientSize = new System.Drawing.Size(320, 261);
+      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+      this.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+      this.Name = "Form2";
+      this.Text = "Document";
+      this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
+      this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form2_KeyDown);
+      this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form2_MouseDown);
+      this.SizeChanged += new System.EventHandler(this.Form2_SizeChanged);
+      this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form2_MouseUp);
+      this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.Form2_KeyUp);
+      this.Closed += new System.EventHandler(this.Form2_Closed);
+      this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form2_Paint);
+      this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form2_MouseMove);
+    }
+    #endregion
+
+    private System.Windows.Forms.ImageList imageList1;
+    private System.Windows.Forms.ContextMenu myPopup;
+    private System.Windows.Forms.ContextMenu myPopupObject;
+    private System.Windows.Forms.MenuItem ContextWireframe;
+    private System.Windows.Forms.MenuItem ContextShading;
+    private System.Windows.Forms.MenuItem ContextColor;
+    private System.Windows.Forms.MenuItem ContextMaterial;
+    private System.Windows.Forms.MenuItem ContMatBrass;
+    private System.Windows.Forms.MenuItem ContMenBronze;
+    private System.Windows.Forms.MenuItem ContMenCopper;
+    private System.Windows.Forms.MenuItem ContMenGold;
+    private System.Windows.Forms.MenuItem ContMenPewt;
+    private System.Windows.Forms.MenuItem ContMenPlaster;
+    private System.Windows.Forms.MenuItem ContMenPlastic;
+    private System.Windows.Forms.MenuItem ContMenSilver;
+    private System.Windows.Forms.MenuItem ContMenTranc;
+    private System.Windows.Forms.MenuItem ContMenDelete;
+    private System.Windows.Forms.MenuItem menuItem1;
+
+    private OCCTProxy myOCCTProxy;
+    private int myDocumentIndex, myViewIndex;
+
+    public void InitV3D()
+    {
+      if (!myOCCTProxy.InitViewer(this.Handle))
+        MessageBox.Show("Fatal Error during the graphic initialisation", "Error!",
+                MessageBoxButtons.OK, MessageBoxIcon.Error);
+    }
+
+    public bool ImportBRep(System.String filename)
+    {
+      return myOCCTProxy.ImportBrep(filename);
+    }
+
+    private void Form2_SizeChanged(object sender, System.EventArgs e)
+    {
+      myOCCTProxy.UpdateView();
+    }
+
+    private void Form2_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+    {
+      myOCCTProxy.RedrawView();
+      myOCCTProxy.UpdateView();
+    }
+
+    protected CurrentAction3d myCurrentMode;
+    protected CurrentPressedKey myCurrentPressedKey;
+    protected float myCurZoom;// ~ Quantity_Factor
+    protected bool myDegenerateModeIsOn;
+    protected int myXmin;
+    protected int myYmin;
+    protected int myXmax;
+    protected int myYmax;
+    protected int theButtonDownX;
+    protected int theButtonDownY;
+    // for erasing of rectangle
+    protected int theRectDownX;
+    protected int theRectDownY;
+    protected bool IsRectVisible;
+
+    private void Form2_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
+    {
+      switch (e.Button)
+      {
+        case MouseButtons.Left:
+          myXmin = e.X; myYmin = e.Y;
+          myXmax = e.X; myYmax = e.Y;
+          if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl)
+            // start the dinamic zooming....
+            myCurrentMode = CurrentAction3d.CurAction3d_DynamicZooming;
+          else
+          {
+            switch (myCurrentMode)
+            {
+              case CurrentAction3d.CurAction3d_Nothing:
+                if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Shift)
+                  MultiDragEvent(myXmax, myYmax, -1);
+                else
+                  DragEvent(myXmax, myYmax, -1);
+                break;
+              case CurrentAction3d.CurAction3d_DynamicRotation:
+                if (!myDegenerateModeIsOn)
+                  myOCCTProxy.SetDegenerateModeOn();
+                //start the rotation
+                myOCCTProxy.StartRotation(e.X, e.Y);
+                break;
+              case IE_WinForms.CurrentAction3d.CurAction3d_WindowZooming:
+                this.Cursor = System.Windows.Forms.Cursors.Hand;
+                break;
+              default:
+                break;
+            }
+          }
+          break;
+        case MouseButtons.Right:
+          //MessageBox.Show("right mouse button is down");
+          if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl)
+          {
+            if (!myDegenerateModeIsOn)
+              myOCCTProxy.SetDegenerateModeOn();
+            myOCCTProxy.StartRotation(e.X, e.Y);
+          }
+          else
+            Popup(e.X, e.Y);
+          break;
+        default:
+          break;
+      }
+    }
+
+    private void Form2_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+    {
+      if (e.Shift)
+        myCurrentPressedKey = CurrentPressedKey.CurPressedKey_Shift;
+      else if (e.Control)
+        myCurrentPressedKey = CurrentPressedKey.CurPressedKey_Ctrl;
+    }
+
+    private void Form2_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
+    {
+      myCurrentPressedKey = CurrentPressedKey.CurPressedKey_Nothing;
+    }
+
+    protected void MultiDragEvent(int x, int y, int theState)
+    {
+      if (theState == -1)
+      {
+        theButtonDownX = x;
+        theButtonDownY = y;
+      }
+      else if (theState == 1)
+        myOCCTProxy.ShiftSelect(Math.Min(theButtonDownX, x), Math.Min(theButtonDownY, y),
+                Math.Max(theButtonDownX, x), Math.Max(theButtonDownY, y));
+    }
+
+    protected void DragEvent(int x, int y, int theState)
+    {
+      if (theState == -1) //mouse is down
+      {
+        theButtonDownX = x;
+        theButtonDownY = y;
+      }
+      else if (theState == 1) //mouse is up
+      {
+        myOCCTProxy.Select(Math.Min(theButtonDownX, x), Math.Min(theButtonDownY, y),
+                Math.Max(theButtonDownX, x), Math.Max(theButtonDownY, y));
+      }
+    }
+
+    protected void Popup(int x, int y)
+    {
+      System.Drawing.Point p = new Point(x, y);
+      if (this.myOCCTProxy.IsObjectSelected())
+        this.myPopupObject.Show(this, p);
+      else
+        this.myPopup.Show(this, p);
+    }
+
+    private void Form2_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
+    {
+      switch (e.Button)
+      {
+        case MouseButtons.Left:
+          if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl)
+            return;
+          switch (myCurrentMode)
+          {
+            case CurrentAction3d.CurAction3d_Nothing:
+              if (e.X == myXmin && e.Y == myYmin)
+              {
+                myXmax = e.X; myYmax = e.Y;
+                if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Shift)
+                  MultiInputEvent(myXmax, myYmax);
+                else
+                  InputEvent(myXmax, myYmax);
+              }
+              else
+              {
+                myXmax = e.X; myYmax = e.Y;
+                DrawRectangle(false);
+                if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Shift)
+                  MultiDragEvent(myXmax, myYmax, 1);
+                else
+                  DragEvent(myXmax, myYmax, 1);
+              }
+              break;
+            case CurrentAction3d.CurAction3d_DynamicZooming:
+              myCurrentMode = CurrentAction3d.CurAction3d_Nothing;
+              break;
+            case CurrentAction3d.CurAction3d_WindowZooming:
+              myXmax = e.X; myYmax = e.Y;
+              DrawRectangle(false);
+              int ValZWMin = 1;
+              if (Math.Abs(myXmax - myXmin) > ValZWMin && Math.Abs(myXmax - myYmax) > ValZWMin)
+                myOCCTProxy.WindowFitAll(myXmin, myYmin, myXmax, myYmax);
+              this.Cursor = System.Windows.Forms.Cursors.Default;
+              IE_WinForms.Form1 f = (IE_WinForms.Form1)this.ParentForm;
+              f.SelectionChanged();
+              myCurrentMode = CurrentAction3d.CurAction3d_Nothing;
+              break;
+            case CurrentAction3d.CurAction3d_DynamicPanning:
+              myCurrentMode = CurrentAction3d.CurAction3d_Nothing;
+              break;
+            case CurrentAction3d.CurAction3d_GlobalPanning:
+              myOCCTProxy.Place(e.X, e.Y, myCurZoom);
+              myCurrentMode = CurrentAction3d.CurAction3d_Nothing;
+              break;
+            case CurrentAction3d.CurAction3d_DynamicRotation:
+              myCurrentMode = CurrentAction3d.CurAction3d_Nothing;
+              if (!myDegenerateModeIsOn)
+              {
+                myOCCTProxy.SetDegenerateModeOff();
+                myDegenerateModeIsOn = false;
+              }
+              else
+              {
+                myOCCTProxy.SetDegenerateModeOn();
+                myDegenerateModeIsOn = true;
+              }
+              break;
+            default:
+              break;
+
+          }
+          break;
+        case MouseButtons.Right:
+          if (!myDegenerateModeIsOn)
+          {
+            myOCCTProxy.SetDegenerateModeOff();
+            myDegenerateModeIsOn = false;
+          }
+          else
+          {
+            myOCCTProxy.SetDegenerateModeOn();
+            myDegenerateModeIsOn = true;
+          }
+          break;
+        default:
+          break;
+      }
+
+      IE_WinForms.Form1 parent = (IE_WinForms.Form1)this.ParentForm;
+      parent.SelectionChanged();
+    }
+
+    protected void MultiInputEvent(int x, int y)
+    {
+      myOCCTProxy.ShiftSelect();
+    }
+
+    protected void InputEvent(int x, int y)
+    {
+      myOCCTProxy.Select();
+    }
+
+    private void DrawRectangle(bool draw)
+    {
+      Graphics gr = Graphics.FromHwnd(this.Handle);
+      System.Drawing.Pen p = null;
+      if (this.IsRectVisible || (!draw))//erase the rect
+      {
+        int r = myOCCTProxy.GetBGColR();
+        int g = myOCCTProxy.GetBGColG();
+        int b = myOCCTProxy.GetBGColB();
+        p = new Pen(System.Drawing.Color.FromArgb(r, g, b));
+        this.IsRectVisible = false;
+        this.myOCCTProxy.UpdateView();
+      }
+      else if (draw)
+      {
+        p = new Pen(System.Drawing.Color.White);
+        this.IsRectVisible = true;
+      }
+      if (p == null)
+        return;
+      int x = Math.Min(this.myXmin, this.myXmax);
+      int y = Math.Min(this.myYmin, this.myYmax);
+      gr.DrawRectangle(p, x, y, Math.Abs(myXmax - myXmin), Math.Abs(myYmax - myYmin));
+      this.theRectDownX = Math.Max(this.myXmin, this.myXmax);
+      this.theRectDownY = Math.Max(this.myYmin, this.myYmax);
+    }
+
+    private void Form2_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
+    {
+      if (e.Button == MouseButtons.Left) //left button is pressed
+      {
+        if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl)
+        {
+          myOCCTProxy.Zoom(myXmax, myYmax, e.X, e.Y);
+          myXmax = e.X; myYmax = e.Y;
+        }
+        else
+        {
+          switch (myCurrentMode)
+          {
+            case CurrentAction3d.CurAction3d_Nothing:
+              DrawRectangle(false);
+              myXmax = e.X; myYmax = e.Y;
+              DrawRectangle(true);
+              break;
+            case CurrentAction3d.CurAction3d_DynamicZooming:
+              myOCCTProxy.Zoom(myXmax, myYmax, e.X, e.Y);
+              myXmax = e.X; myYmax = e.Y;
+              break;
+            case CurrentAction3d.CurAction3d_WindowZooming:
+              DrawRectangle(false);
+              myXmax = e.X; myYmax = e.Y;
+              DrawRectangle(true);//add brush here
+              break;
+            case CurrentAction3d.CurAction3d_DynamicPanning:
+              myOCCTProxy.Pan(e.X - myXmax, myYmax - e.Y);
+              myXmax = e.X; myYmax = e.Y;
+              break;
+            case CurrentAction3d.CurAction3d_GlobalPanning:
+              break;
+            case CurrentAction3d.CurAction3d_DynamicRotation:
+              myOCCTProxy.Rotation(e.X, e.Y);
+              myOCCTProxy.RedrawView();
+              break;
+            default:
+              break;
+          }
+        }
+      } // e.Button == MouseButtons.Left
+      else if (e.Button == MouseButtons.Middle)
+      {
+        if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl)
+        {
+          myOCCTProxy.Pan(e.X - myXmax, myYmax - e.Y);
+          myXmax = e.X; myYmax = e.Y;
+        }
+      }//e.Button=MouseButtons.Middle
+      else if (e.Button == MouseButtons.Right) //right button is pressed
+      {
+        if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Ctrl)
+          myOCCTProxy.Rotation(e.X, e.Y);
+      }
+      else // no buttons are pressed
+      {
+        myXmax = e.X; myYmax = e.Y;
+        if (myCurrentPressedKey == CurrentPressedKey.CurPressedKey_Shift)
+          MultiMoveEvent(e.X, e.Y);
+        else
+          MoveEvent(e.X, e.Y);
+      }
+
+
+    }
+
+    protected void MultiMoveEvent(int x, int y)
+    {
+      myOCCTProxy.MoveTo(x, y);
+    }
+
+    protected void MoveEvent(int x, int y)
+    {
+      myOCCTProxy.MoveTo(x, y);
+    }
+
+    public void SetDisplayMode(int aMode)
+    {
+      myOCCTProxy.SetDisplayMode(aMode);
+    }
+
+    public void ChangeColor(bool IsObjectColor)
+    {
+      int r, g, b;
+      if (IsObjectColor)
+      {
+        r = myOCCTProxy.GetObjColR();
+        g = myOCCTProxy.GetObjColG();
+        b = myOCCTProxy.GetObjColB();
+      }
+      else
+      {
+        r = myOCCTProxy.GetBGColR();
+        g = myOCCTProxy.GetBGColG();
+        b = myOCCTProxy.GetBGColB();
+      }
+      System.Windows.Forms.ColorDialog ColDlg = new ColorDialog();
+      ColDlg.Color = System.Drawing.Color.FromArgb(r, g, b);
+      if (ColDlg.ShowDialog() == DialogResult.OK)
+      {
+        Color c = ColDlg.Color;
+        r = c.R;
+        g = c.G;
+        b = c.B;
+        if (IsObjectColor)
+          myOCCTProxy.SetColor(r, g, b);
+        else
+          myOCCTProxy.SetBackgroundColor(r, g, b);
+      }
+      this.myOCCTProxy.UpdateCurrentViewer();
+
+    }
+
+    public void DeleteObjects()
+    {
+      myOCCTProxy.EraseObjects();
+    }
+    public void ImportModel(IE_WinForms.ModelFormat format)
+    {
+      int theformat = 10;
+      System.Windows.Forms.OpenFileDialog openDialog = new OpenFileDialog();
+
+      string DataDir = ((Environment.GetEnvironmentVariable("CASROOT")) + "\\..\\data");
+
+      string filter = "";
+
+      switch (format)
+      {
+        case ModelFormat.BREP:
+          openDialog.InitialDirectory = (DataDir + "\\occ");
+          theformat = 0;
+          filter = "BREP Files (*.brep *.rle)|*.brep; *.rle";
+          break;
+        case ModelFormat.CSFDB:
+          theformat = 1;
+          filter = "CSFDB Files (*.csfdb)|*.csfdb";
+          break;
+        case IE_WinForms.ModelFormat.STEP:
+          openDialog.InitialDirectory = (DataDir + "\\step");
+          theformat = 2;
+          filter = "STEP Files (*.stp *.step)|*.stp; *.step";
+          break;
+        case IE_WinForms.ModelFormat.IGES:
+          openDialog.InitialDirectory = (DataDir + "\\iges");
+          theformat = 3;
+          filter = "IGES Files (*.igs *.iges)|*.igs; *.iges";
+          break;
+        default:
+          break;
+      }
+      openDialog.Filter = filter + "|All files (*.*)|*.*";
+      if (openDialog.ShowDialog() == DialogResult.OK)
+      {
+        string filename = openDialog.FileName;
+        if (filename == "")
+          return;
+        this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
+        if (!myOCCTProxy.TranslateModel(filename, theformat, true))
+          MessageBox.Show("Cann't read this file", "Error!",
+                  MessageBoxButtons.OK, MessageBoxIcon.Warning);
+        this.Cursor = System.Windows.Forms.Cursors.Default;
+      }
+      this.myOCCTProxy.ZoomAllView();
+    }
+
+    public void ExportModel(ModelFormat format)
+    {
+      int theformat = 10;
+      System.Windows.Forms.SaveFileDialog saveDialog = new SaveFileDialog();
+      string DataDir = ((Environment.GetEnvironmentVariable("CASROOT")) + "\\..\\data");
+      string filter = "";
+      switch (format)
+      {
+        case IE_WinForms.ModelFormat.BREP:
+          saveDialog.InitialDirectory = (DataDir + "\\occ");
+          theformat = 0;
+          filter = "BREP Files (*.brep *.rle)|*.brep; *.rle";
+          break;
+        case IE_WinForms.ModelFormat.CSFDB:
+          theformat = 1;
+          filter = "CSFDB Files (*.csfdb)|*.csfdb";
+          break;
+        case IE_WinForms.ModelFormat.STEP:
+          saveDialog.InitialDirectory = (DataDir + "\\step");
+          theformat = 2;
+          filter = "STEP Files (*.stp *.step)|*.step; *.stp";
+          break;
+        case IE_WinForms.ModelFormat.IGES:
+          saveDialog.InitialDirectory = (DataDir + "\\iges");
+          theformat = 3;
+          filter = "IGES Files (*.igs *.iges)| *.iges; *.igs";
+          break;
+        case IE_WinForms.ModelFormat.VRML:
+          saveDialog.InitialDirectory = (DataDir + "\\vrml");
+          theformat = 4;
+          filter = "VRML Files (*.vrml)|*.vrml";
+          break;
+        case IE_WinForms.ModelFormat.STL:
+          saveDialog.InitialDirectory = (DataDir + "\\stl");
+          theformat = 5;
+          filter = "STL Files (*.stl)|*.stl";
+          break;
+        case IE_WinForms.ModelFormat.IMAGE:
+          saveDialog.InitialDirectory = (DataDir + "\\images");
+          theformat = 6;
+          filter = "Images Files (*.bmp *.gif)| *.bmp; *.gif";
+          break;
+        default:
+          break;
+      }
+      saveDialog.Filter = filter;
+      if (saveDialog.ShowDialog() == DialogResult.OK)
+      {
+        string filename = saveDialog.FileName;
+        if (filename == "")
+          return;
+        this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
+        if (!myOCCTProxy.TranslateModel(filename, theformat, false))
+          MessageBox.Show("Cann't write this file", "Error!",
+                  MessageBoxButtons.OK, MessageBoxIcon.Warning);
+        this.Cursor = System.Windows.Forms.Cursors.Default;
+      }
+    }
+
+    private void ContextColor_Click(object sender, System.EventArgs e)
+    {
+      this.ChangeColor(true);
+    }
+
+    private void menuItem1_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.ChangeColor(false);
+    }
+
+    private void ContextWireframe_Click(object sender, System.EventArgs e)
+    {
+      this.SetDisplayMode(0);
+      this.myOCCTProxy.UpdateCurrentViewer();
+      IE_WinForms.Form1 parent = (IE_WinForms.Form1)this.ParentForm;
+      parent.SelectionChanged();
+    }
+
+    private void ContextShading_Click(object sender, System.EventArgs e)
+    {
+      this.SetDisplayMode(1);
+      this.myOCCTProxy.UpdateCurrentViewer();
+      IE_WinForms.Form1 parent = (IE_WinForms.Form1)this.ParentForm;
+      parent.SelectionChanged();
+    }
+
+    private void ContMenTranc_Click(object sender, System.EventArgs e)
+    {
+      IE_WinForms.TransparencyDialog dlg = new TransparencyDialog();
+      dlg.View = this.myOCCTProxy;
+      dlg.ShowDialog(this);
+    }
+
+    private void ContMenDelete_Click(object sender, System.EventArgs e)
+    {
+      this.DeleteObjects();
+    }
+
+    private void ContMatBrass_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.myOCCTProxy.SetMaterial(0);
+    }
+
+    private void ContMenBronze_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.myOCCTProxy.SetMaterial(1);
+    }
+
+    private void ContMenCopper_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.myOCCTProxy.SetMaterial(2);
+    }
+
+    private void ContMenGold_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.myOCCTProxy.SetMaterial(3);
+    }
+
+    private void ContMenPewt_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.myOCCTProxy.SetMaterial(4);
+    }
+
+    private void ContMenPlaster_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.myOCCTProxy.SetMaterial(5);
+    }
+
+    private void ContMenPlastic_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.myOCCTProxy.SetMaterial(6);
+    }
+
+    private void ContMenSilver_Click(object sender, System.EventArgs e)
+    {
+      this.myOCCTProxy.UpdateCurrentViewer();
+      this.myOCCTProxy.SetMaterial(7);
+    }
+
+    private void toolBar1_MouseHover(object sender, System.EventArgs e)
+    {
+      IE_WinForms.Form1 parent = (IE_WinForms.Form1)this.ParentForm;
+      parent.StatusBar.Text = "View toolbar";
+
+    }
+
+    private void toolBar1_MouseLeave(object sender, System.EventArgs e)
+    {
+      IE_WinForms.Form1 parent = (IE_WinForms.Form1)this.ParentForm;
+      parent.StatusBar.Text = "";
+    }
+
+    private void myPopupObject_Popup(object sender, System.EventArgs e)
+    {
+      int mode = this.myOCCTProxy.DisplayMode();
+      switch (mode)
+      {
+        case -1:
+          break;
+        case 0:
+          this.ContextWireframe.Enabled = false;
+          this.ContextShading.Enabled = true;
+          this.ContMenTranc.Enabled = false;
+          break;
+        case 1:
+          this.ContextShading.Enabled = false;
+          this.ContextWireframe.Enabled = true;
+          this.ContMenTranc.Enabled = true;
+          break;
+        case 10:
+          this.ContextShading.Enabled = true; ;
+          this.ContextWireframe.Enabled = true;
+          this.ContMenTranc.Enabled = true;
+          break;
+        default:
+          break;
+
+      }
+    }
+
+    public OCCTProxy View
+    {
+      get
+      {
+        return this.myOCCTProxy;
+      }
+      set
+      {
+        this.myOCCTProxy = value;
+      }
+    }
+
+    public void InitView()
+    {
+      this.myOCCTProxy.InitOCCTProxy();
+    }
+
+    public void SetIndex(int documentIndex, int viewIndex)
+    {
+      this.myDocumentIndex = documentIndex;
+      this.myViewIndex = viewIndex;
+      this.Text = System.String.Format("Document {0}:{1}", documentIndex, viewIndex);
+    }
+
+    public void SetNextIndex(Form2 other)
+    {
+      SetIndex(other.myDocumentIndex, other.myViewIndex + 1);
+    }
+
+    public void SetContext(OCCTProxy View)
+    {
+      this.myOCCTProxy.SetAISContext(View);
+    }
+
+    private void Form2_Closed(object sender, System.EventArgs e)
+    {
+      IE_WinForms.Form1 parent = (IE_WinForms.Form1)this.ParentForm;
+      parent.OnFileClose();
+    }
+
+    public CurrentAction3d Mode
+    {
+      get
+      {
+        return this.myCurrentMode;
+      }
+      set
+      {
+        this.myCurrentMode = value;
+      }
+    }
+
+    public float Zoom
+    {
+      set
+      {
+        this.myCurZoom = value;
+      }
+    }
+
+    public bool DegenerateMode
+    {
+      get
+      {
+        return this.myDegenerateModeIsOn;
+      }
+      set
+      {
+        this.myDegenerateModeIsOn = value;
+      }
+    }
+
+  }
+
+}
\ No newline at end of file
diff --git a/samples/CSharp/WinForms/Form2.resx b/samples/CSharp/WinForms/Form2.resx
new file mode 100644 (file)
index 0000000..f93955c
--- /dev/null
@@ -0,0 +1,357 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    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">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="imageList1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="imageList1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="imageList1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </data>
+  <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
+        MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
+        eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
+        AADoEgAAAk1TRnQBSQFMAgEBEAEAARMBAAEEAQABEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQC
+        AAEoAwABQAMAAVADAAEBAQABCAYAARQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB
+        3AHAAQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IB
+        AAM5AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8B
+        MwMAAWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYC
+        AAFmAZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMC
+        AAHMAWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQAB
+        ZgEAATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8B
+        AAEzAWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQAB
+        MwGZAWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQAB
+        MwLMAQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQAB
+        MwEAAWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMB
+        mQEAAWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQAB
+        ZgGZAWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYB
+        zAH/AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMB
+        mQEAAZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgAB
+        mQFmATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwB
+        AAKZAf8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB
+        /wEzAQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQAB
+        mQEAAcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYC
+        AAHMAWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYB
+        AAHMApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8C
+        AAHMAf8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQAB
+        mQEAAcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMB
+        AAHMAmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB
+        /wGZAcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC
+        /wEzAQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC
+        /wFmAQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gB
+        AAHwAfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8ACwAB
+        +z4AA/sB7D0AAfsCAAHsCAAD+zQAAuwGAAL7AQAC+w0AAewjAATsBgAC+wEAAvsOAAHsGwAC+wMAAuwC
+        AAHsAQAB7AUAAvsBAAL7DwAF7AEAAuwVAAP7AewEAALsBQAC+wEAAvsPAAHsHgAB7AL7AwAD7AUAA/sQ
+        AAHsHgAB7AMAAfsBAAHsAQAB7BgAAeweAAHsBAAB7AIAAewYAAHsHwAB7AMAAewDAAP7MAAD+wIAAuwB
+        AAHsAQAC7AMAAfsVAAHsHQAD7AIAAuwbAAHsHAAB7AEAA+w8AALsPwAB7EIAAfs/AAH7CwABAQnsAwAJ
+        7AEBCgAC7AGGDgAB+wEAAfsBAAH7CQACAQcAAuwCAAHsAf4HAAIBCQABhgH7AewCAAEKAQQGAAoBCAAB
+        AQEAAQEGAAHsAQAB7AEAAewBAAH+BgABAQEAAQEGAAHsA/sB7AEKAQABhQEAAYUFAAHsAQEDAAP7AQAC
+        AQcAAQECAAEBBf4B7AL+AuwCAAb+AQAC/gEBBAABhgFYAa4BhQEEAQoBhQEAAYUCXwGFBAAB7AEAAQED
+        AAH7AgAB7AEAAQEFAAH7AQECAAEBBQAB7AIAAuwCAAH+BQABAQIAAQEEAAGGAewBrgEAAYoDAAGFAV8B
+        AAEGAQQDAAHsAgAKAQUAAQEB+wEAAQEFAAHsAgAC7AIAAf4FAAEBAgAB+wQAAYYB7AIAAX0BrAIAAYUB
+        awHZAccBCgMAAewCAAH+BQAB7AIAAewCAAP7AQEC+wEBBQAB7AIAAuwCAAH+BQABAQEAAfsBAQQAAvsB
+        hgEAAfsBngHHAQABuAFfAgABCgMAAewCAAH+BQAB7AIAAewFAAEBAfsBAAEBBQAB7AIAAuwCAAH+BQAB
+        AQb7AQABhgGuBAABsgG4AQoBXwGhAQABCgMAAewCAAH+BQAB7AIAAewEAAH7AQECAAEBBQAB7AIAAuwC
+        AAH+BQABAQEAAfsBAQgAAaECXwEGAQABhQFfAQABCgMAAewCAAH+BQAB7AIAAewFAAEBAuwBAQbsAgAK
+        7AEBAgAB+wgAAQoBhQGhAf4CAAGFAgoDAAHsAgAB/gUAAewCAAHsBgABAQEAAQEGAAHsAQAB7AEAAewB
+        AAH+BgABAQEAAQEIAAEKAgAB/gQAAQoDAArsAgAB7AcAAgEHAALsAgAB7AH+BwACAQgAAYUBXwGhAf4B
+        hQFfAQoGAAHsAQAB/gYAAewBAAHsCAABAQnsAwAJ7AEBCQABhQFfAQYBXwGFCAAB7AH+BwAC7CkAAoUL
+        AArsOQAB+xkACuwGAArsCwAD+wgAAfsJAQYAAewB/gcAAuwFAAHsAf4HAALsCQAB+wEAAfsBAAH7BwAB
+        AQH7BwABAQHsBQAB7AEAAf4GAAHsAQAB7AQAAewBAAH+BgAB7AEAAewKAAH7CQABAQEAAfsGAAEBAQAB
+        7AQAAewCAAoBAwAB7AIABv4B7AL+AewHAALsAfsBAAPsBQABAQIAAfsBAAH7A/4BAQL+AewDAAHsAgAB
+        AQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB7AQAAfsBAAHsAgAB+wMAAewB+wQAAQEDAAL7AwABAQIAAewD
+        AAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB7AMAAfsCAAHsBgAB7AEAAfsDAAEBAgAD+wMAAQEC
+        AAHsAwAB7AIAAQEFAAHsAgABAQMAAewCAAH+BQAB7AIAAewCAAb7BAAF+wIAAQECAAH+BQABAQIAAewD
+        AAHsAgABAQUAAewCAAEBAwAB7AIAAf4FAAHsAgAB7AMAAfsCAAHsBgAB7AEAAfsDAAEBAgAB/gUAAQEC
+        AAHsAwAB7AIAAQEBAAT7AewCAAEBAwAB7AIAAf4FAAHsAgAB7AQAAfsBAAHsAgAB+wMAAewB+wQAAQEC
+        AAH+BQABAQIAAewDAAPsAQEB7AL7A+wCAAEBAwAKAQIAAewGAAPsAfsBAAPsBQAKAQIAAewEAAHsAQAB
+        AQEAAfsBAAH7AgAB7AEAAQEEAAEBAQAB/gYAAQEBAAHsCQAB+woAAewBAAH+BgAB7AEAAewFAAHsAQEB
+        AAH7AgAB+wIAAewBAQUAAQEB/gIAAfsEAAEBAewHAAH7AQAB+wEAAfsJAAHsAf4HAALsBgAKAQYAAgED
+        +wUBCAAD+wsACuwNAAH7CQAB+wEAAfsBAAH7DQAB+yQAAfsKAAH7NQAB+wkAAfsIAAP7CgAD+w4AAfsh
+        AAL7DAAC+wIAAewDAAfsA/sB7BYAAfsIAAH7AewBAwoAAfsBAAH7DgAB+xcAA/sJAAEDCQAB+xEAAewW
+        AAH7AQAB+wEAAfskAAHsDwAB+wgAAfsPAAXsBQAB7AYABOwCAAHsBwAF7AIAA/sHAAH7DQAB7AYAAewE
+        AAHsBAAB7AUAAewBAAHsBQAB7AYAAewCAAH7AwAB+wkAAfsIAAHsBwAB7AMAAewEAAHsBgAC7AUAAewH
+        AAHsBAAB+wsAAfsGAALsBwAC7AIAAewDAALsBgAC7AQAAuwHAAEDAewCAAX7BQAF+wUAAewJAAHsAgAB
+        7AMAAewIAAHsBAAB7AQAA/sCAAHsAwAB+wsAAfsGAAHsCQAB7AIAAewDAAHsCAAB7AQAAewCAAL7BQAB
+        7AQAAfsEAAH7BAAB+wcAAuwHAALsAgAB7AMAAuwGAALsBQAB7AcAAuwJAAH7CwAB+wEAAewHAAHsAwAB
+        7AQAAewGAALsBQAB7AcAAewKAAH7CAAB+wEAAfsDAAHsBQAB7AH7AQAB+wEAAfsFAAHsBAAB7AEAAewB
+        AAP7AgAB7AUAAewJAAH7AQAB+wEAAfsGAAL7BQAF7AIABfsE7AEABuwIAAXsCwAD+wcAA/sKAAP7AQAB
+        +yUAAfsIAAFCAU0BPgcAAT4DAAEoAwABQAMAAVADAAEBAQABAQUAAYABAhYAA/+BAAH9B/8B+AF/Bv8B
+        /QG/AccB/wHAAR8BwAEfAf8BnwGTAf8CzwHfAc8B/gEfAZMB/wLXAd8B1wE5AY8BkwH/AdgBAwHfAdsB
+        wwHPAZMB/wLbAd8B2wHxAscB+wLbAd8B2wH3AVcB/wHBAtsB3wHbAfcBtwH/AZsC2wHfAdsB+wGoAf8B
+        rwHAARsBwAEbARkBTgH/AbUC6wHvAesBwgE/Af8BuQLzAfcB8wHBAv8BEQH4AQMB+AEDAecC/wG/BP8B
+        9wf/Af4H/wH+Af8B4AEHAQABPwHxAf8B+gG/AecB8wE/AZ8B8QGfAYABHwHrAfUBXwGvAcABDwGcAU8B
+        7AEAAWABBwGAAYcBrgHXAc0B9gFvAbcBgwGTAbABAwHlAfYBbwG3AZEBgwG3AdsBAQH2AW8BpwGAAZsB
+        twHbAeUB9gFvAYABlgELAbcB2wHNAfYBbwGnAfABSwG3AdsB4AEGAQABNwHwAWMBtwHbAfUB+gGvAdcB
+        +wFzAYABGwH5AfwBzwHnAfgBDwHXAesB/AEAAeABBwH8AR8B5wHzBP8B/gF/AfABAwb/Af4D/wGAAR8B
+        gAEfAfwBfwGAAR8BnwHPAZ8BzwH6Ab8BnwHPAa8B1wGvAdcB/gH/Aa8B1wGwAQMBsAEDAfABjwG0AQMB
+        twHbAbcB2wHWAecBuQHbAbcB2wG3AdsBtwHrAbEB2wG3AdsBtwHbAQMBwQG3AdsBtwHbAbcB2wG3AesB
+        twHbAbQBGwG3AdsB1gHnAbcB2wGAARsBgAEbAfABjwGAARsB1QFrAdcB6wH+Af8B1wHrAeUBswHmAfMB
+        +gG/AecB8wHwAQMB8AEDAfwBfwHwAQMB/wHvAfoBvwH+BP8B9wH+Bv8B+wH+Af8BHwH4Af8B/QT/AT8B
+        /AHcAQABfwH/Af4B/wEfAfoBzwH9AT8B/wH8AX8BzwH3AecB/QGfAf8B+gG/AecB/wHzAf0BzwH9Af4B
+        /wHyAQ8BuQENAeQBGAH+Af8B+QH3AbwB9QHzAe0B3wH3AvsBvQH5AvcBvwH7AfMB+QG5AfkB5wHzAQcB
+        wQH3Af0BuwH9Ae8BGwG/AfsB9wH9AbsB/QHsAfsB3gH3AfMB+QG5AfkB9wHzAf4B/wHrAfsBvQH5AvcB
+        /gH/AV0B8gG+AfUBGwHvAfoBvwE+AQwCAQH8AR8B/AF/AR8B+AG/A/8B/gH/FgAL
+</value>
+  </data>
+  <data name="myPopup.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="myPopup.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>122, 17</value>
+  </data>
+  <data name="myPopup.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="menuItem1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="myPopupObject.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="myPopupObject.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>220, 17</value>
+  </data>
+  <data name="myPopupObject.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContextWireframe.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContextWireframe.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContextShading.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContextShading.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContextColor.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContextColor.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContextMaterial.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContextMaterial.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMatBrass.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMatBrass.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenBronze.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenBronze.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenCopper.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenCopper.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenGold.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenGold.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenPewt.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenPewt.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenPlaster.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenPlaster.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenPlastic.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenPlastic.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenSilver.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenSilver.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenTranc.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenTranc.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenDelete.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="ContMenDelete.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>(Default)</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Name">
+    <value>Form2</value>
+  </data>
+  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>8, 8</value>
+  </data>
+  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>80</value>
+  </data>
+  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAIAICAQAAAAAADoAgAAJgAAABAQEAAAAAAAKAEAAA4DAAAoAAAAIAAAAEAAAAABAAQAAAAAAIAC
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/
+        AAAA//8A/wAAAP8A/wD//wAA////AAiIiIAAiIgAAAAAAAAAAAAAAACIgAAIiAAAAAAAAAAAD///AA//
+        8AiIAAAAAAAAAA////////8ACIgAAAAAAAAP//////////AIgAAAAAAAD///////////AIgAAAAAAA//
+        //////////AIAAAAAAAP////////////CIAAAAAAD///+IiIiIiIiACIiIiAAA/////////////wAAAA
+        iAAP////////////////8AiAD/////////////////8AgA//////////////////8IAP////////////
+        //////CID//////////////////wCA////iIiIiIiIiIiIiIiAgP//////////////////8ID///////
+        ////////////CA///////////////////wgP//////////////////8ID///////////////////CA//
+        /////////////////wgP///4iIiIiIiIiIiIiIgID///////////////////CA////mZ//mf+Zn/mZ//
+        /wgP///5/5+f+fn///n///8ID///+f+fn/n5///5////CA////n/n5/5+f//+f///wgP///5mf/5n/mZ
+        /5n///8ID///////////////////CA///////////////////wgAAAAAAAAAAAAAAAAAAAAAgcP//wAA
+        //8AAD//AAAP/wAAB/8AAAP/AAAD/wAAAf8AAAAHAAAAAwAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAEoAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA
+        AACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAd3B3AAAAAAAAdwAHcA
+        AAAP8A//AHAAAA//////AAZgD/d3d3cHd2AP/////wAHcA////////AAD/d3d3d3dwcP////////Bw//
+        //////8HD5n/+f/5nwcPn5+fn5//Bw+fn5+fn/8HD5n/+f/5nwcP////////BwAAAAAAAAAAif8AAAA/
+        AAAAHwAAABkAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAA==
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/samples/CSharp/WinForms/IE_WinForms.csproj b/samples/CSharp/WinForms/IE_WinForms.csproj
new file mode 100644 (file)
index 0000000..56f03f2
--- /dev/null
@@ -0,0 +1,193 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+  <PropertyGroup>
+    <ProjectType>Local</ProjectType>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{B9914BB3-B886-4B41-B48D-350EBEBEFD1F}</ProjectGuid>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ApplicationIcon>App.ico</ApplicationIcon>
+    <AssemblyKeyContainerName>
+    </AssemblyKeyContainerName>
+    <AssemblyName>IE_WinForms</AssemblyName>
+    <AssemblyOriginatorKeyFile>
+    </AssemblyOriginatorKeyFile>
+    <DefaultClientScript>JScript</DefaultClientScript>
+    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+    <DefaultTargetSchema>IE50</DefaultTargetSchema>
+    <DelaySign>false</DelaySign>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>IE_WinForms</RootNamespace>
+    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+    <StartupObject>
+    </StartupObject>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>2.0</OldToolsVersion>
+    <ApplicationRevision>0</ApplicationRevision>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <OutputPath>bin\Debug\</OutputPath>
+    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+    <BaseAddress>285212672</BaseAddress>
+    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DocumentationFile>
+    </DocumentationFile>
+    <DebugSymbols>true</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <NoStdLib>false</NoStdLib>
+    <NoWarn>
+    </NoWarn>
+    <Optimize>false</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>full</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <OutputPath>bin\Release\</OutputPath>
+    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+    <BaseAddress>285212672</BaseAddress>
+    <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+    <ConfigurationOverrideFile>
+    </ConfigurationOverrideFile>
+    <DefineConstants>TRACE</DefineConstants>
+    <DocumentationFile>
+    </DocumentationFile>
+    <DebugSymbols>false</DebugSymbols>
+    <FileAlignment>4096</FileAlignment>
+    <NoStdLib>false</NoStdLib>
+    <NoWarn>
+    </NoWarn>
+    <Optimize>true</Optimize>
+    <RegisterForComInterop>false</RegisterForComInterop>
+    <RemoveIntegerChecks>false</RemoveIntegerChecks>
+    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+    <WarningLevel>4</WarningLevel>
+    <DebugType>none</DebugType>
+    <ErrorReport>prompt</ErrorReport>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+    <PlatformTarget>x86</PlatformTarget>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\win32\bind\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>..\win32\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <DebugType>
+    </DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\win64\bind\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <FileAlignment>4096</FileAlignment>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>..\win64\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <BaseAddress>285212672</BaseAddress>
+    <Optimize>true</Optimize>
+    <FileAlignment>4096</FileAlignment>
+    <PlatformTarget>x64</PlatformTarget>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System">
+      <Name>System</Name>
+    </Reference>
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Data">
+      <Name>System.Data</Name>
+    </Reference>
+    <Reference Include="System.Drawing">
+      <Name>System.Drawing</Name>
+    </Reference>
+    <Reference Include="System.Windows.Forms">
+      <Name>System.Windows.Forms</Name>
+    </Reference>
+    <Reference Include="System.Xml">
+      <Name>System.XML</Name>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AboutDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Form1.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Form2.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="MaterialDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TransparencyDialog.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <EmbeddedResource Include="AboutDialog.resx">
+      <DependentUpon>AboutDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Form1.resx">
+      <DependentUpon>Form1.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Form2.resx">
+      <DependentUpon>Form2.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MaterialDialog.resx">
+      <DependentUpon>MaterialDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TransparencyDialog.resx">
+      <DependentUpon>TransparencyDialog.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <None Include="app.config" />
+    <Content Include="App.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\OCCTProxy\OCCTProxy.vcproj">
+      <Project>{969912D9-78E7-4AB8-B4FF-6B52B4F03991}</Project>
+      <Name>OCCTProxy</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>
+    </PreBuildEvent>
+    <PostBuildEvent>
+    </PostBuildEvent>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/samples/CSharp/WinForms/MaterialDialog.cs b/samples/CSharp/WinForms/MaterialDialog.cs
new file mode 100644 (file)
index 0000000..7afbe47
--- /dev/null
@@ -0,0 +1,248 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+namespace IE_WinForms
+{
+  /// <summary>
+  /// Summary description for MaterialDialog.
+  /// </summary>
+  public class MaterialDialog : System.Windows.Forms.Form
+  {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.Container components = null;
+
+    public MaterialDialog()
+    {
+      //
+      // Required for Windows Form Designer support
+      //
+      InitializeComponent();
+
+      //
+      // TODO: Add any constructor code after InitializeComponent call
+      //
+      this.myView = null;
+    }
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    protected override void Dispose(bool disposing)
+    {
+      if (disposing)
+      {
+        if (components != null)
+        {
+          components.Dispose();
+        }
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent()
+    {
+      System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MaterialDialog));
+      this.BTN_PLASTER = new System.Windows.Forms.Button();
+      this.BTN_BRASS = new System.Windows.Forms.Button();
+      this.BTN_BRONZE = new System.Windows.Forms.Button();
+      this.BTN_COPPER = new System.Windows.Forms.Button();
+      this.BTN_GOLD = new System.Windows.Forms.Button();
+      this.BTN_PEWTER = new System.Windows.Forms.Button();
+      this.BTN_PLASTIC = new System.Windows.Forms.Button();
+      this.BTN_SILVER = new System.Windows.Forms.Button();
+      this.SuspendLayout();
+      // 
+      // BTN_PLASTER
+      // 
+      this.BTN_PLASTER.Location = new System.Drawing.Point(16, 8);
+      this.BTN_PLASTER.Name = "BTN_PLASTER";
+      this.BTN_PLASTER.Size = new System.Drawing.Size(80, 24);
+      this.BTN_PLASTER.TabIndex = 0;
+      this.BTN_PLASTER.Text = "Plaster";
+      this.BTN_PLASTER.Click += new System.EventHandler(this.button1_Click);
+      // 
+      // BTN_BRASS
+      // 
+      this.BTN_BRASS.Location = new System.Drawing.Point(16, 40);
+      this.BTN_BRASS.Name = "BTN_BRASS";
+      this.BTN_BRASS.Size = new System.Drawing.Size(80, 24);
+      this.BTN_BRASS.TabIndex = 1;
+      this.BTN_BRASS.Text = "Brass";
+      this.BTN_BRASS.Click += new System.EventHandler(this.BTN_BRASS_Click);
+      // 
+      // BTN_BRONZE
+      // 
+      this.BTN_BRONZE.Location = new System.Drawing.Point(16, 72);
+      this.BTN_BRONZE.Name = "BTN_BRONZE";
+      this.BTN_BRONZE.Size = new System.Drawing.Size(80, 24);
+      this.BTN_BRONZE.TabIndex = 2;
+      this.BTN_BRONZE.Text = "Bronze";
+      this.BTN_BRONZE.Click += new System.EventHandler(this.BTN_BRONZE_Click);
+      // 
+      // BTN_COPPER
+      // 
+      this.BTN_COPPER.Location = new System.Drawing.Point(16, 104);
+      this.BTN_COPPER.Name = "BTN_COPPER";
+      this.BTN_COPPER.Size = new System.Drawing.Size(80, 24);
+      this.BTN_COPPER.TabIndex = 3;
+      this.BTN_COPPER.Text = "Copper";
+      this.BTN_COPPER.Click += new System.EventHandler(this.BTN_COPPER_Click);
+      // 
+      // BTN_GOLD
+      // 
+      this.BTN_GOLD.Location = new System.Drawing.Point(16, 136);
+      this.BTN_GOLD.Name = "BTN_GOLD";
+      this.BTN_GOLD.Size = new System.Drawing.Size(80, 24);
+      this.BTN_GOLD.TabIndex = 4;
+      this.BTN_GOLD.Text = "Gold";
+      this.BTN_GOLD.Click += new System.EventHandler(this.BTN_GOLD_Click);
+      // 
+      // BTN_PEWTER
+      // 
+      this.BTN_PEWTER.Location = new System.Drawing.Point(16, 168);
+      this.BTN_PEWTER.Name = "BTN_PEWTER";
+      this.BTN_PEWTER.Size = new System.Drawing.Size(80, 24);
+      this.BTN_PEWTER.TabIndex = 5;
+      this.BTN_PEWTER.Text = "Pewter";
+      this.BTN_PEWTER.Click += new System.EventHandler(this.BTN_PEWTER_Click);
+      // 
+      // BTN_PLASTIC
+      // 
+      this.BTN_PLASTIC.Location = new System.Drawing.Point(16, 200);
+      this.BTN_PLASTIC.Name = "BTN_PLASTIC";
+      this.BTN_PLASTIC.Size = new System.Drawing.Size(80, 24);
+      this.BTN_PLASTIC.TabIndex = 6;
+      this.BTN_PLASTIC.Text = "Plastic";
+      this.BTN_PLASTIC.Click += new System.EventHandler(this.BTN_PLASTIC_Click);
+      // 
+      // BTN_SILVER
+      // 
+      this.BTN_SILVER.Location = new System.Drawing.Point(16, 232);
+      this.BTN_SILVER.Name = "BTN_SILVER";
+      this.BTN_SILVER.Size = new System.Drawing.Size(80, 24);
+      this.BTN_SILVER.TabIndex = 7;
+      this.BTN_SILVER.Text = "Silver";
+      this.BTN_SILVER.Click += new System.EventHandler(this.BTN_SILVER_Click);
+      // 
+      // MaterialDialog
+      // 
+      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+      this.ClientSize = new System.Drawing.Size(112, 273);
+      this.Controls.Add(this.BTN_SILVER);
+      this.Controls.Add(this.BTN_PLASTIC);
+      this.Controls.Add(this.BTN_PEWTER);
+      this.Controls.Add(this.BTN_GOLD);
+      this.Controls.Add(this.BTN_COPPER);
+      this.Controls.Add(this.BTN_BRONZE);
+      this.Controls.Add(this.BTN_BRASS);
+      this.Controls.Add(this.BTN_PLASTER);
+      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+      this.MaximizeBox = false;
+      this.MinimizeBox = false;
+      this.Name = "MaterialDialog";
+      this.Text = "MaterialDialog";
+      this.ResumeLayout(false);
+
+    }
+    #endregion
+
+    private System.Windows.Forms.Button BTN_PLASTER;
+    private System.Windows.Forms.Button BTN_BRASS;
+    private System.Windows.Forms.Button BTN_BRONZE;
+    private System.Windows.Forms.Button BTN_COPPER;
+    private System.Windows.Forms.Button BTN_GOLD;
+    private System.Windows.Forms.Button BTN_PEWTER;
+    private System.Windows.Forms.Button BTN_PLASTIC;
+    private System.Windows.Forms.Button BTN_SILVER;
+
+    private int myMaterial;
+    private OCCTProxy myView;
+
+    private void button1_Click(object sender, System.EventArgs e)
+    {
+      this.myMaterial = 5;
+      ChangeMaterial();
+    }
+
+    private void BTN_BRASS_Click(object sender, System.EventArgs e)
+    {
+      this.myMaterial = 0;
+      ChangeMaterial();
+    }
+
+    private void BTN_BRONZE_Click(object sender, System.EventArgs e)
+    {
+      this.myMaterial = 1;
+      ChangeMaterial();
+    }
+
+    private void BTN_COPPER_Click(object sender, System.EventArgs e)
+    {
+      this.myMaterial = 2;
+      ChangeMaterial();
+    }
+
+    private void BTN_GOLD_Click(object sender, System.EventArgs e)
+    {
+      this.myMaterial = 3;
+      ChangeMaterial();
+    }
+
+    private void BTN_PEWTER_Click(object sender, System.EventArgs e)
+    {
+      this.myMaterial = 4;
+      ChangeMaterial();
+    }
+
+    private void BTN_PLASTIC_Click(object sender, System.EventArgs e)
+    {
+      this.myMaterial = 6;
+      ChangeMaterial();
+    }
+
+    private void BTN_SILVER_Click(object sender, System.EventArgs e)
+    {
+      this.myMaterial = 7;
+      ChangeMaterial();
+    }
+
+    public int Material
+    {
+      get
+      {
+        return this.myMaterial;
+      }
+      set
+      {
+        this.myMaterial = value;
+      }
+    }
+
+    public void ChangeMaterial()
+    {
+      if (myView == null)
+        return;
+      myView.SetMaterial(this.myMaterial);
+
+    }
+
+    public OCCTProxy View
+    {
+      set
+      {
+        this.myView = value;
+      }
+    }
+
+  }
+}
diff --git a/samples/CSharp/WinForms/MaterialDialog.resx b/samples/CSharp/WinForms/MaterialDialog.resx
new file mode 100644 (file)
index 0000000..8a9f5cf
--- /dev/null
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    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">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="BTN_PLASTER.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="BTN_PLASTER.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_PLASTER.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_BRASS.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="BTN_BRASS.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_BRASS.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_BRONZE.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="BTN_BRONZE.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_BRONZE.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_COPPER.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="BTN_COPPER.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_COPPER.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_GOLD.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="BTN_GOLD.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_GOLD.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_PEWTER.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="BTN_PEWTER.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_PEWTER.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_PLASTIC.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="BTN_PLASTIC.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_PLASTIC.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_SILVER.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="BTN_SILVER.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="BTN_SILVER.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>(Default)</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>8, 8</value>
+  </data>
+  <data name="$this.Name">
+    <value>MaterialDialog</value>
+  </data>
+  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>80</value>
+  </data>
+  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
+        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
+        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
+        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
+        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
+        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
+        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
+        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
+        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
+        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
+        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
+        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
+        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
+        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
+        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
+        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
+        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
+        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
+        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
+        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
+        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
+        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
+        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
+        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
+        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
+        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
+        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
+        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/samples/CSharp/WinForms/TransparencyDialog.cs b/samples/CSharp/WinForms/TransparencyDialog.cs
new file mode 100644 (file)
index 0000000..6a61ae6
--- /dev/null
@@ -0,0 +1,108 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+namespace IE_WinForms
+{
+  /// <summary>
+  /// Summary description for TransparencyDialog.
+  /// </summary>
+  public class TransparencyDialog : System.Windows.Forms.Form
+  {
+    private System.Windows.Forms.NumericUpDown MyTransparency;
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.Container components = null;
+    private OCCTProxy myView;
+
+    public TransparencyDialog()
+    {
+      //
+      // Required for Windows Form Designer support
+      //
+      InitializeComponent();
+
+      //
+      // TODO: Add any constructor code after InitializeComponent call
+      //
+      myView = null;
+    }
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    protected override void Dispose(bool disposing)
+    {
+      if (disposing)
+      {
+        if (components != null)
+        {
+          components.Dispose();
+        }
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent()
+    {
+      System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(TransparencyDialog));
+      this.MyTransparency = new System.Windows.Forms.NumericUpDown();
+      ((System.ComponentModel.ISupportInitialize)(this.MyTransparency)).BeginInit();
+      this.SuspendLayout();
+      // 
+      // MyTransparency
+      // 
+      this.MyTransparency.Location = new System.Drawing.Point(16, 16);
+      this.MyTransparency.Maximum = new System.Decimal(new int[] {
+                                                                                                                                                  10,
+                                                                                                                                                  0,
+                                                                                                                                                  0,
+                                                                                                                                                  0});
+      this.MyTransparency.Name = "MyTransparency";
+      this.MyTransparency.Size = new System.Drawing.Size(96, 20);
+      this.MyTransparency.TabIndex = 0;
+      this.MyTransparency.ValueChanged += new System.EventHandler(this.MyTransparency_ValueChanged);
+      // 
+      // TransparencyDialog
+      // 
+      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+      this.ClientSize = new System.Drawing.Size(128, 53);
+      this.Controls.Add(this.MyTransparency);
+      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+      this.MaximizeBox = false;
+      this.MinimizeBox = false;
+      this.Name = "TransparencyDialog";
+      this.Text = "TransparencyDialog";
+      ((System.ComponentModel.ISupportInitialize)(this.MyTransparency)).EndInit();
+      this.ResumeLayout(false);
+
+    }
+    #endregion
+
+    private void MyTransparency_ValueChanged(object sender, System.EventArgs e)
+    {
+      if (this.myView == null)
+        return;
+      int transp = (int)this.MyTransparency.Value;
+      this.myView.SetTransparency(transp);
+    }
+
+    public OCCTProxy View
+    {
+      set
+      {
+        this.myView = value;
+      }
+    }
+
+  }
+}
diff --git a/samples/CSharp/WinForms/TransparencyDialog.resx b/samples/CSharp/WinForms/TransparencyDialog.resx
new file mode 100644 (file)
index 0000000..688fd72
--- /dev/null
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    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">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </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 forserialized 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.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:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="MyTransparency.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="MyTransparency.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="MyTransparency.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>(Default)</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>8, 8</value>
+  </data>
+  <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>80</value>
+  </data>
+  <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+  <data name="$this.Name">
+    <value>TransparencyDialog</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAMDAAAAAAAACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYW
+        FgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAA
+        MwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm
+        /wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/
+        zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNm
+        ZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM
+        /wAz/zMAM/9mADP/mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYz
+        mQBmM8wAZjP/AGZmAABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbM
+        MwBmzJkAZszMAGbM/wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkz
+        MwCZAGYAmTPMAJkA/wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnM
+        AACZzDMAZsxmAJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwA
+        mQDMAMwAmTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZ
+        MwDMmWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/
+        zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9m
+        zADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/
+        ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKy
+        sgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+        AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMT
+        ExMTExMTEyIiQiI8HTyCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwDODg4Nzc4MQMdAAAA
+        AADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOw4ODgyOCQAAAAdAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODIyMSIAHewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAA7DI3MSIdCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAADEyMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs4JAALAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwxJAAhAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IgC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAJAxJB0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ALwLCx0dIh0dCwATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACx0dAB0dIiIiIiId
+        CxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAsdAB0dIiQkAyQkIiIiHSIAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIgMxMVhZmZqZAyQiHR0AAAAAkAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAvAsdISIDMThZWVmgvaCZWVIkIh0AAB0dIh0hCwALCwALtgAAAAAAAAAAAAAAAOwAAB0iMTEx
+        ODhYWZrDw8Ofn1hSJCIAHQAdACIAHSIkAwsdOAAAAADeExMTCwsLIiIkMTEyODg3MllZmprDw8PDwllS
+        MSQdHQAAAB0AIiQkAAAAvDi8AAAxAzExMTExMTI4Nzg4ODc4ODhZXpnDw8PDml1YNwMkIh0AAB0hIiQA
+        AAAAACIAAAA4ODc4Nzg4ODg4ODg4ODg4ODhZWV6avb2gmllZODcxJCIAAAAdIgMLAAAAACIAAACGE0+G
+        T4bs7Oy8vLy8vAAxODg4ODg4NzIyMSQdHQAAvADsCwAiJDExAAAAwjjsAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAALMSQAAAAAAAAAAAAAAAAAEyI4MQsiOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMSQAAAAA
+        AAAAAAAAAAAAAAC8CwsAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAsAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+        AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA//8AAH//AAD//wAAf/8AAP//4AP//wAA///4B///AAD///gP//8AAP///B///wAA///8H///
+        AAD///wf//8AAP///h///wAA///8H///AAD//+AD//8AAP//wAD//wAA//4AAD//AAD//AAAB/8AAP/w
+        AAAAAwAA/8AAAAABAADAAAAAADgAAMAAAAAAPAAAwAAAAAA8AADAAAAAIDgAAP///j/+AQAA///+P/+D
+        AAD///4///8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/samples/CSharp/WinForms/app.config b/samples/CSharp/WinForms/app.config
new file mode 100644 (file)
index 0000000..84a1af5
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <appSettings>
+    <!--   User application and configured property settings go here.-->
+    <!--   Example: <add key="settingName" value="settingValue"/> -->
+    <add key="New.Visible" value="True" />
+    <add key="About.Visible" value="True" />
+    <add key="delete.Enabled" value="False" />
+    <add key="delete.Visible" value="False" />
+    <add key="transparency.Enabled" value="False" />
+    <add key="transparency.Visible" value="False" />
+    <add key="marerial.Enabled" value="False" />
+    <add key="marerial.Visible" value="True" />
+    <add key="color.Enabled" value="False" />
+    <add key="color.Visible" value="False" />
+    <add key="shading.Enabled" value="False" />
+    <add key="shading.Pushed" value="False" />
+    <add key="shading.Visible" value="False" />
+    <add key="wireframe.Enabled" value="False" />
+    <add key="wireframe.Pushed" value="False" />
+    <add key="wireframe.Visible" value="False" />
+    <add key="material.Enabled" value="False" />
+    <add key="material.Visible" value="False" />
+    <add key="ClientSettingsProvider.ServiceUri" value="" />
+  </appSettings>
+  <system.web>
+    <membership defaultProvider="ClientAuthenticationMembershipProvider">
+      <providers>
+        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
+      </providers>
+    </membership>
+    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
+      <providers>
+        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
+      </providers>
+    </roleManager>
+  </system.web>
+</configuration>
\ No newline at end of file
index 04e512e..ce3f0e1 100644 (file)
@@ -1,7 +1,7 @@
 call "%~dp0..\..\env.bat" %1 %2 %3
 
 if ["%CASDEB%"] == [""] (
 call "%~dp0..\..\env.bat" %1 %2 %3
 
 if ["%CASDEB%"] == [""] (
-  call "%~dp0..\..\msvc.bat" %VCVER% win%ARCH% "" "%~dp0IE\IE.sln"
+  call "%~dp0..\..\msvc.bat" %VCVER% win%ARCH% Release "%~dp0\CSharp.sln"
 ) else (
 ) else (
-  call "%~dp0..\..\msvc.bat" %VCVER% win%ARCH% %CASDEB% "%~dp0IE\IE.sln"
+  call "%~dp0..\..\msvc.bat" %VCVER% win%ARCH% Debug "%~dp0\CSharp.sln"
 )
\ No newline at end of file
 )
\ No newline at end of file
diff --git a/samples/CSharp/run.bat b/samples/CSharp/run.bat
deleted file mode 100644 (file)
index 74b7bb0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-call "%~dp0..\..\env.bat" %1 %2 %3
-
-set "BinDir=Debug"
-
-if ["%CASDEB%"] == [""] (
- set "BinDir=Release"
-)
-
-"%~dp0IE\bin\%BinDir%\IE.exe"
\ No newline at end of file
diff --git a/samples/CSharp/run_winforms.bat b/samples/CSharp/run_winforms.bat
new file mode 100644 (file)
index 0000000..1c93f65
--- /dev/null
@@ -0,0 +1,27 @@
+@echo off
+
+if "%1" == "-h" (
+  echo Launch WinForms sample as follows: 
+  echo %~n0 ^[vc9^] ^[win32^|win64^] ^[Debug^|Release^]
+  echo By default configuration set in ..\..\custom.bat is used
+  echo Run %~n0 -h to get this help
+  exit /B
+)
+
+call "%~dp0..\..\env.bat" %1 %2 %3
+
+set "EXEC=%~dp0\win%ARCH%\bin%CASDEB%\IE_WinForms.exe"
+
+if not exist "%EXEC%" goto err_exe
+
+"%EXEC%"
+
+goto eof
+
+:err_exe
+echo Executable %EXEC% not found.
+echo Check that OCCT and sample are built with the selected configuration:
+echo compiler=%VCVER% platform=win%ARCH% %3
+exit /B
+
+:eof
\ No newline at end of file
diff --git a/samples/CSharp/run_wpf.bat b/samples/CSharp/run_wpf.bat
new file mode 100644 (file)
index 0000000..4cbccd9
--- /dev/null
@@ -0,0 +1,27 @@
+@echo off
+
+if "%1" == "-h" (
+  echo Launch WPF sample as follows: 
+  echo %~n0 ^[vc9^] ^[win32^|win64^] ^[Debug^|Release^]
+  echo By default configuration set in ..\..\custom.bat is used
+  echo Run %~n0 -h to get this help
+  exit /B
+)
+
+call "%~dp0..\..\env.bat" %1 %2 %3
+
+set "EXEC=%~dp0\win%ARCH%\bin%CASDEB%\IE_WPF.exe"
+
+if not exist "%EXEC%" goto err_exe
+
+"%EXEC%"
+
+goto eof
+
+:err_exe
+echo Executable %EXEC% not found.
+echo Check that OCCT and sample are built with the selected configuration:
+echo compiler=%VCVER% platform=win%ARCH% %3
+exit /B
+
+:eof
\ No newline at end of file
diff --git a/samples/CSharp/shell/shell.cpp b/samples/CSharp/shell/shell.cpp
deleted file mode 100755 (executable)
index 6656492..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#include ".\shell.h"
-
diff --git a/samples/CSharp/shell/shell.h b/samples/CSharp/shell/shell.h
deleted file mode 100755 (executable)
index ed234b5..0000000
+++ /dev/null
@@ -1,391 +0,0 @@
-#pragma once
-#using <mscorlib.dll>
-#include "OCCViewer.h"
-#include "StdAfx.h"
-
-public ref class shell
-{
-
-private:
-       OCCViewer* myOCCViewer;
-public:
-
-       bool InitViewer(System::IntPtr wnd)
-       {
-               if (myOCCViewer != NULL)
-                       return myOCCViewer->InitViewer(wnd.ToPointer());
-               else
-                       return false;
-       }
-
-       bool ImportBrep(System::String^ filename)
-       {
-               if (myOCCViewer == NULL)
-                       return false;
-               int length = filename->Length;
-               char * fname = new char[length+1];
-               for(int i = 0; i<length; i++)
-                       fname[i] = (char)filename->ToCharArray()[i];
-
-               fname[length] = '\0';
-               bool res = myOCCViewer->ImportBRep(fname);
-               delete [] fname;
-               return res;
-       }
-
-       void RedrawView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->RedrawView();
-       }
-
-       void UpdateView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->UpdateView();
-       }
-
-       void SetDegenerateModeOn(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->SetDegenerateModeOn();
-       }
-
-       void SetDegenerateModeOff(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->SetDegenerateModeOff();
-       }
-
-       void WindowFitAll(int Xmin, int Ymin, int Xmax, int Ymax)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->WindowFitAll(Xmin, Ymin, Xmax, Ymax);
-       }
-
-       void Place(int x, int y, float zoomFactor)
-       {       
-               if (myOCCViewer != NULL)
-                       myOCCViewer->Place(x, y, zoomFactor);
-       }
-
-       void Zoom(int x1, int y1, int x2, int y2)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->Zoom(x1, y1, x2, y2);
-       }
-
-       void Pan(int x, int y)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->Pan(x, y);
-       }
-
-       void Rotation(int x, int y)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->Rotation(x, y);
-       }
-
-       void StartRotation(int x, int y)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->StartRotation(x, y);
-       }
-
-       void Select(int x1, int y1, int x2, int y2)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->Select(x1, y1, x2, y2);
-       }
-
-       void Select(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->Select();
-       }
-
-       void MoveTo(int x, int y)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->MoveTo(x, y);
-       }
-
-       void ShiftSelect(int x1, int y1, int x2, int y2)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->ShiftSelect(x1, y1, x2, y2);
-       }
-
-       void ShiftSelect(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->ShiftSelect();
-       }
-
-       int GetBGColR(void)
-       {
-               int r, b, g;
-               if (myOCCViewer != NULL)
-                       myOCCViewer->BackgroundColor(r,g,b);
-               return r;
-       }
-
-       int GetBGColG(void)
-       {
-               int r, b, g;
-               if (myOCCViewer != NULL)
-                       myOCCViewer->BackgroundColor(r,g,b);
-               return g;
-       }
-
-       int GetBGColB(void)
-       {
-               int r, b, g;
-               if (myOCCViewer != NULL)
-                       myOCCViewer->BackgroundColor(r,g,b);
-               return b;
-       }
-
-       void UpdateCurrentViewer(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->UpdateCurrentViewer();
-       }
-
-       void FrontView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->FrontView();
-       }
-
-       void TopView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->TopView();
-       }
-
-       void LeftView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->LeftView();
-       }
-
-       void BackView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->BackView();
-       }
-
-       void RightView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->RightView();
-       }
-
-       void BottomView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->BottomView();
-       }
-
-       void AxoView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->AxoView();
-       }
-
-       float Scale(void)
-       {
-               if (myOCCViewer != NULL)
-                       return myOCCViewer->Scale();
-               else
-                       return -1;
-       }
-
-       void ZoomAllView(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->ZoomAllView();
-       }
-
-       void Reset(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->ResetView();
-       }
-
-       void SetDisplayMode(int aMode)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->SetDisplayMode(aMode);
-       }
-
-       void SetColor(int r, int g, int b)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->SetColor(r, g, b);
-       }
-
-       int GetObjColR(void)
-       {
-               int r, g, b;
-               if (myOCCViewer != NULL)
-                       myOCCViewer->ObjectColor(r, g, b);
-               return r;
-       }
-
-       int GetObjColG(void)
-       {
-               int r, g, b;
-               if (myOCCViewer != NULL)
-                       myOCCViewer->ObjectColor(r, g, b);
-               return g;
-       }
-
-       int GetObjColB(void)
-       {
-               int r, g, b;
-               if (myOCCViewer != NULL)
-                       myOCCViewer->ObjectColor(r, g, b);
-               return b;
-       }
-
-       void SetBackgroundColor(int r, int g, int b)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->SetBackgroundColor(r, g, b);
-       }
-
-       void EraseObjects(void)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->EraseObjects();
-       }
-
-       float GetOCCVersion(void)
-       {
-               if (myOCCViewer == NULL)
-                       return 0.0;
-               else
-                       return myOCCViewer->GetVersion();
-       }
-
-       void SetMaterial(int theMaterial)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->SetMaterial(theMaterial);
-       }
-
-       void SetTransparency(int TheTrans)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->SetTransparency(TheTrans);
-       }
-
-       bool TranslateModel(System::String^ filename, int format, bool IsImport)
-       {
-               if (myOCCViewer == NULL)
-                       return false;
-               int length = filename->Length;
-               char * fname = new char[length+1];
-               for(int i = 0; i<length; i++)
-      fname[i] = (char)filename->ToCharArray()[i];
-
-               fname[length] = '\0';
-               bool res;
-               if (IsImport)
-               {
-                       switch(format)
-                       {
-                               case 0:
-                                       res=myOCCViewer->ImportBRep(fname);
-                                       break;
-                               case 1:
-                                       res=myOCCViewer->ImportCsfdb(fname);
-                                       break;
-                               case 2:
-                                       res=myOCCViewer->ImportStep(fname);
-                                       break;
-                               case 3:
-                                       res=myOCCViewer->ImportIges(fname);
-                                       break;
-                               default:
-                                       res=false;
-                       }
-               } else 
-               {
-                       switch(format)
-                       {
-                               case 0:
-                                       res=myOCCViewer->ExportBRep(fname);
-                                       break;
-                               case 2:
-                                       res=myOCCViewer->ExpotStep(fname);
-                                       break;
-                               case 3:
-                                       res=myOCCViewer->ExportIges(fname);
-                                       break;
-                               case 4:
-                                       res=myOCCViewer->ExportVrml(fname);
-                                       break;
-                               case 5:
-                                       res=myOCCViewer->ExportStl(fname);
-                                       break;
-                               case 6:
-                                       res=myOCCViewer->Dump(fname);
-                               default:
-                                       res=false;
-                       }
-               }
-               delete [] fname;
-               return res;
-       }
-
-       bool IsObjectSelected(void)
-       {
-               if (myOCCViewer != NULL)
-                       return myOCCViewer->IsObjectSelected();
-               else
-                       return false;
-       }
-
-       int DisplayMode(void)
-       {
-               if (myOCCViewer != NULL)
-                       return myOCCViewer->DisplayMode();
-               else return -1;
-       }
-
-       void CreateNewView(System::IntPtr wnd)
-       {
-               if (myOCCViewer != NULL)
-                       myOCCViewer->CreateNewView(wnd.ToPointer());
-       }
-
-       bool SetAISContext(shell^ v)
-       {
-               if (myOCCViewer != NULL)
-                       return this->myOCCViewer->SetAISContext(v->GetOCCViewer());
-               else
-                       return false;
-       }
-
-       OCCViewer* GetOCCViewer(void)
-       {
-               return myOCCViewer;
-       }
-
-       void InitOCCViewer(void)
-       {
-               myOCCViewer = new OCCViewer();
-       }
-
-       int CharToInt(System::String^ symbol)
-       {
-               if (myOCCViewer == NULL)
-                       return -1;
-    char s = (char)symbol->ToCharArray()[0];
-               return myOCCViewer->CharToInt(s);
-       }
-};
diff --git a/samples/CSharp/shell/shell.vcproj b/samples/CSharp/shell/shell.vcproj
deleted file mode 100755 (executable)
index 28c3951..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="9.00"
-       Name="shell"
-       ProjectGUID="{969912D9-78E7-4AB8-B4FF-6B52B4F03991}"
-       Keyword="Win32Proj"
-       TargetFrameworkVersion="131072"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory="Debug"
-                       IntermediateDirectory="Debug"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       CharacterSet="2"
-                       ManagedExtensions="1"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="..\OCC\;$(CSF_OPT_INC)"
-                               PreprocessorDefinitions="WNT"
-                               MinimalRebuild="false"
-                               BasicRuntimeChecks="0"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               Detect64BitPortabilityProblems="true"
-                               DebugInformationFormat="3"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="OCC.lib TKV3d.lib TKHLR.lib TKService.lib PTKernel.lib TKShapeSchema.lib TKBool.lib TKMath.lib TKBO.lib TKernel.lib TKPrim.lib TKTopAlgo.lib TKBRep.lib TKGeomAlgo.lib TKPShape.lib TKXSBase.lib TKIGES.lib TKSTEP.lib TKSTEP209.lib TKSTEPAttr.lib TKSTEPBase.lib TKShHealing.lib TKSTL.lib TKVRML.lib"
-                               OutputFile="$(OutDir)/shell.dll"
-                               LinkIncremental="2"
-                               AdditionalLibraryDirectories="..\OCC\$(OutDir);$(CSF_OPT_LIB32D)"
-                               GenerateDebugInformation="true"
-                               AssemblyDebug="1"
-                               ProgramDatabaseFile="$(OutDir)/shell.pdb"
-                               SubSystem="2"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               ImportLibrary="$(OutDir)/shell.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory="Release"
-                       IntermediateDirectory="Release"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       CharacterSet="2"
-                       ManagedExtensions="1"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalIncludeDirectories="..\OCC\;$(CSF_OPT_INC)"
-                               PreprocessorDefinitions="WNT"
-                               RuntimeLibrary="2"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               Detect64BitPortabilityProblems="true"
-                               DebugInformationFormat="3"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="OCC.lib TKV3d.lib TKHLR.lib TKService.lib PTKernel.lib TKShapeSchema.lib TKBool.lib TKMath.lib TKBO.lib TKernel.lib TKPrim.lib TKTopAlgo.lib TKBRep.lib TKGeomAlgo.lib TKPShape.lib TKXSBase.lib TKIGES.lib TKSTEP.lib TKSTEP209.lib TKSTEPAttr.lib TKSTEPBase.lib TKShHealing.lib TKSTL.lib TKVRML.lib"
-                               OutputFile="$(OutDir)/shell.dll"
-                               LinkIncremental="1"
-                               AdditionalLibraryDirectories="..\OCC\$(OutDir);$(CSF_OPT_LIB32)"
-                               GenerateDebugInformation="true"
-                               SubSystem="2"
-                               OptimizeReferences="2"
-                               EnableCOMDATFolding="2"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               ImportLibrary="$(OutDir)/shell.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-                       >
-                       <File
-                               RelativePath=".\shell.cpp"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl;inc;xsd"
-                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-                       >
-                       <File
-                               RelativePath=".\shell.h"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-                       >
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>