diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..1ff0c42
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,63 @@
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+* text=auto
+
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg binary
+#*.png binary
+#*.gif binary
+
+###############################################################################
+# diff behavior for common document formats
+#
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the
+# entries below.
+###############################################################################
+#*.doc diff=astextplain
+#*.DOC diff=astextplain
+#*.docx diff=astextplain
+#*.DOCX diff=astextplain
+#*.dot diff=astextplain
+#*.DOT diff=astextplain
+#*.pdf diff=astextplain
+#*.PDF diff=astextplain
+#*.rtf diff=astextplain
+#*.RTF diff=astextplain
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7964536
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,189 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.sln.docstates
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+x64/
+build/
+bld/
+[Bb]in/
+[Oo]bj/
+
+# Roslyn cache directories
+*.ide/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+#NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opensdf
+*.sdf
+*.cachefile
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding addin-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+## TODO: Comment the next line if you want to checkin your
+## web deploy settings but do note that will include unencrypted
+## passwords
+#*.pubxml
+
+# NuGet Packages Directory
+packages/*
+## TODO: If the tool you use requires repositories.config
+## uncomment the next line
+#!packages/repositories.config
+
+# Enable "build/" folder in the NuGet Packages folder since
+# NuGet packages use it for MSBuild targets.
+# This line needs to be after the ignore of the build folder
+# (and the packages folder if the line above has been uncommented)
+!packages/build/
+
+# Windows Azure Build Output
+csx/
+*.build.csdef
+
+# Windows Store app package directory
+AppPackages/
+
+# Others
+sql/
+*.Cache
+ClientBin/
+[Ss]tyle[Cc]op.*
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.pfx
+*.publishsettings
+node_modules/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# LightSwitch generated files
+GeneratedArtifacts/
+_Pvt_Extensions/
+ModelManifest.xml
\ No newline at end of file
diff --git a/FarForms/FarForms.sln b/FarForms/FarForms.sln
new file mode 100644
index 0000000..ace076c
--- /dev/null
+++ b/FarForms/FarForms.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FarForms", "FarForms\FarForms.csproj", "{3390E54A-36D9-4478-BE7B-BFBC0EEA5D1D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {3390E54A-36D9-4478-BE7B-BFBC0EEA5D1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3390E54A-36D9-4478-BE7B-BFBC0EEA5D1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3390E54A-36D9-4478-BE7B-BFBC0EEA5D1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3390E54A-36D9-4478-BE7B-BFBC0EEA5D1D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/FarForms/FarForms/FLogin.Designer.cs b/FarForms/FarForms/FLogin.Designer.cs
new file mode 100644
index 0000000..b4b5a7e
--- /dev/null
+++ b/FarForms/FarForms/FLogin.Designer.cs
@@ -0,0 +1,149 @@
+namespace FarForms
+{
+ partial class FLogin
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FLogin));
+ this.tbHost = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.tbUser = new System.Windows.Forms.TextBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.tbPass = new System.Windows.Forms.TextBox();
+ this.btOk = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // tbHost
+ //
+ this.tbHost.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.tbHost.Location = new System.Drawing.Point(147, 79);
+ this.tbHost.Name = "tbHost";
+ this.tbHost.Size = new System.Drawing.Size(166, 20);
+ this.tbHost.TabIndex = 0;
+ //
+ // label1
+ //
+ this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.label1.AutoSize = true;
+ this.label1.BackColor = System.Drawing.Color.Transparent;
+ this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label1.Location = new System.Drawing.Point(95, 80);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(46, 17);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Host:";
+ //
+ // label2
+ //
+ this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.label2.AutoSize = true;
+ this.label2.BackColor = System.Drawing.Color.Transparent;
+ this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label2.Location = new System.Drawing.Point(94, 153);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(47, 17);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "User:";
+ //
+ // tbUser
+ //
+ this.tbUser.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.tbUser.Location = new System.Drawing.Point(147, 150);
+ this.tbUser.Name = "tbUser";
+ this.tbUser.Size = new System.Drawing.Size(166, 20);
+ this.tbUser.TabIndex = 2;
+ //
+ // label3
+ //
+ this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.label3.AutoSize = true;
+ this.label3.BackColor = System.Drawing.Color.Transparent;
+ this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label3.Location = new System.Drawing.Point(93, 177);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(48, 17);
+ this.label3.TabIndex = 5;
+ this.label3.Text = "Pass:";
+ //
+ // tbPass
+ //
+ this.tbPass.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.tbPass.Location = new System.Drawing.Point(147, 176);
+ this.tbPass.Name = "tbPass";
+ this.tbPass.Size = new System.Drawing.Size(166, 20);
+ this.tbPass.TabIndex = 4;
+ this.tbPass.UseSystemPasswordChar = true;
+ //
+ // btOk
+ //
+ this.btOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.btOk.Location = new System.Drawing.Point(238, 231);
+ this.btOk.Name = "btOk";
+ this.btOk.Size = new System.Drawing.Size(75, 23);
+ this.btOk.TabIndex = 6;
+ this.btOk.Text = "Go";
+ this.btOk.UseVisualStyleBackColor = true;
+ this.btOk.Click += new System.EventHandler(this.btOk_Click);
+ //
+ // FLogin
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackgroundImage = global::FarForms.Properties.Resources.FarForms;
+ this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
+ this.ClientSize = new System.Drawing.Size(325, 266);
+ this.Controls.Add(this.btOk);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.tbPass);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.tbUser);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.tbHost);
+ this.DoubleBuffered = true;
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.Name = "FLogin";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "FarForms";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox tbHost;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox tbUser;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox tbPass;
+ private System.Windows.Forms.Button btOk;
+ }
+}
\ No newline at end of file
diff --git a/FarForms/FarForms/FLogin.cs b/FarForms/FarForms/FLogin.cs
new file mode 100644
index 0000000..04087cf
--- /dev/null
+++ b/FarForms/FarForms/FLogin.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using XWolf.FarForms;
+
+namespace FarForms
+{
+ public partial class FLogin : Form
+ {
+ public FLogin()
+ {
+ InitializeComponent();
+ FarFormServer ffs = new FarFormServer();
+ ffs.Start();
+ }
+
+ private void btOk_Click(object sender, EventArgs e)
+ {
+ string host = tbHost.Text;
+ int port = host.IndexOf(':');
+ if (port < 0)
+ port = FarFormServer.DEFAULT_PORT;
+ else
+ {
+ string sport = host.Substring(port + 1);
+ host = host.Substring(0, port);
+ try
+ {
+ port = int.Parse(sport);
+ }catch{
+ MessageBox.Show("Host '"+tbHost.Text+"' can't be processed","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
+ return;
+ }
+ }
+ if (host == "")
+ host = "localhost";
+ FarFormClient ffc = new FarFormClient(host,port,tbUser.Text,tbPass.Text);
+ }
+ }
+}
diff --git a/FarForms/FarForms/FLogin.resx b/FarForms/FarForms/FLogin.resx
new file mode 100644
index 0000000..9660323
--- /dev/null
+++ b/FarForms/FarForms/FLogin.resx
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAMAEBAAAAEAIABoBAAANgAAACAgAAABACAAqBAAAJ4EAAAwMAAAAQAgAKglAABGFQAAKAAAABAA
+ AAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAFNXVf/W3Nn/pGU0/9Omff/QoXX/z59y/9Kp
+ gf/r6+n/6+vp/+vr6f/r6+n/z59y/8+fcv+kZTT/1tzZ/1NXVf9TV1X/1tzZ/6RlNP/hzbr/5NTF/9as
+ hv/Tq4X/7O7u/+zu7v/s7u7/7O7u/8+fcv/Pn3L/pGU0/9bc2f9TV1X/U1dV/9bc2f+kZTT/4NLF/+Xd
+ 1v/atpX/3Lud/+zu7v/s7u7/7O7u/+zu7v/Pn3L/z59y/6RlNP/W3Nn/U1dV/1NXVf/W3Nn/pGU0/659
+ WP+gbEX/2riX/9/ApP/s7u7/7O7u/+zu7v/s7u7/z59y/8+fcv+kZTT/1tzZ/1NXVf9TV1X/1tzZ/6Rl
+ NP/hw6b/4MKl/+DBpP/WtZb/ll43/5ZeN/+VXjf/lV42/9y4l//Wroj/pGU0/9bc2f9TV1X/U1dV/9bc
+ 2f+kZTT/6NrM/+fazP/n2cv/5tjI/9/NvP/fzLv/38y7/9/Luv/m1sf/5tXG/6RlNP/W3Nn/U1dV/1NX
+ Vf/W3Nn/vpVz/6RlNP+kZTT/pGU0/6RlNP+kZTT/pGU0/6RlNP+kZTT/pGU0/6RlNP+7lXP/1tzZ/1NX
+ Vf9TV1X/1tzZ/9bc2f/W3Nn/1tzZ/9bc2f/W3Nn/1tzZ/9bc2f/W3Nn/1tzZ/9bc2f/W3Nn/1tzZ/9bc
+ 2f9TV1X/bWJY/1NXVf9TV1X/U1dV/1NXVf9TV1X/U1dV/1NXVf9TV1X/U1dV/1NXVf9TV1X/U1dV/1NX
+ Vf9TV1X/U1dV/6iAY/3p3dT/076q//rjzP//7t7//+/f///v3//q287//f39//7+/v/9/f3/5uTi/9/d
+ 3P/fzbz/pHpa6lNXVf+tinDo2MW1/+Tj4P/v3cz//+/g///w4f//8OH//Ova/9LNx//Qx77/ybWk/0ZD
+ w/8AAMz/aFy3/6R6WrZTV1X/o3tihLqagf/49PD/5eTj/9/Vyv//8eL///Hj//rq2v/Yz8b/29nX/1ZW
+ 2v8AAMz/AADM/x8Zvf+kelphU1dV/wAAAACphGnx1L+v/+fi3v/T0c7//u/i//vt3v/25dT/1Mi8/0hF
+ x/8AAMz/AADM/wAAzP8AAMz/AAAAAFNXVf8AAAAAnXFWNaZ/Yf7VwLH/6+Xg/+LZz//Ev7r/2su+/+vU
+ vv8AAMz/vr7x/39/5f9/f+X/AADM/wAAAABTV1X/AAAAAAAAAAChd1gwo3pe6Lubg//aybv/7eTc//Tr
+ 5v/r39X/a2G+/z80sf8AAMz/AADM/1NXVf9TV1X/U1dVrAAAAAAAAAAAAAAAAAAAAACgdlhnoHZYzaR6
+ W/ekelr+onhZ86J3WL2kelphAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAP//AAD//wAA
+ //8AAP//AAD//wAA//8AAP//AAD//wAA//+AAv//gAL//8AA///wH///KAAAACAAAABAAAAAAQAgAAAA
+ AACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADwAAABoAAAAfAAAAHwAAAB8AAAAfAAAAHwAA
+ AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAABoAAAAWAAAACwAA
+ AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAB0AAAAuAAAAOAAAAD4AAAA+AAAAPgAA
+ AD4AAAA+AAAAPgAAAD4AAABAAAAAQwAAAEYAAABHAAAASQAAAEgAAABGAAAARAAAAEEAAAA/AAAAOAAA
+ ADoAAAAwAAAAHgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvb298cXJy+25ubv9sbGz/aWlp/2dn
+ Z/9lZWX/Y2Nj/2FhYf9fX1//XV1d/1tbW/9ZWVn/VlZW/1RUVP9SUlL/UFBQ/05OTv9MTEz/SkpK/0hI
+ SP9ISEj/SUlJ/Do7OpsAAAAuAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd3d/ja3tz/6e3r/+ns
+ 6//o7Or/5+vp/+fr6f/m6uj/5enn/+Xo5v/k5+b/4+fl/+Lm5P/h5uP/4eXi/9/k4v/f4+H/3uPg/93i
+ 3//c4d7/3ODe/9rf3P/Izcr/SkpK+wAAAEcAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4/+ru
+ 7P/Dy8f/wcjF/8HHxP/Ax8P/wMbD/7/Gwv+/xcL/vsXB/77Ewf+9xMH/vcPA/7zCwP+8wr//u8G//7vB
+ vv+6wb3/ucG9/7nAvP+4wLz/vMK+/9vf3f9ISEj/AAAAUQAAADMAAAAaAAAAAwAAAAAAAAAAAAAAAAAA
+ AAB7e3v/7fDv/6RlNP+kZTT/pGU0/6RlNP+kZTT/pGU0/6RlNP+kZTT/pGU0/6RlNP+kZTT/pGU0/6Rl
+ NP+kZTT/pGU0/6RlNP+kZTT/pGU0/8jPy//Iz8v/3uLg/0pKSv94fHvURUhFZwAAAC4AAAAbAAAAAgAA
+ AAAAAAAAAAAAAH5+fv/v8vD/pGU0/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+f
+ cv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv+kZTT/ydDM/8jPzP/g5OL/TU1N/6Srqf+Jj438dnp4tFFU
+ VEwAAAAMAAAAAAAAAAAAAAAAgYGB//Dz8v+kZTT/0aJ2/8+gc//Pn3L/z59y/8+fcv/Pn3L/z59y/93G
+ sP/fybT/38m0/9/JtP/fybT/38m0/8+fcv/Pn3L/z59y/6RlNP/J0c3/ydDM/+Lm5P9QUFD/nqWi/7K5
+ tv+gpqT/jZKP/4KGhLOJiYkaAAAAAAAAAACEhIT/8vTz/6ZpOv/TqYH/1aqC/9Omff/RoXX/z59y/8+f
+ cv/Pn3L/6unn/+zu7v/s7u7/7O7u/+zu7v/s7u7/z59y/8+fcv/Pn3L/pGU0/8rRzv/K0c3/5Ofl/1NT
+ U/+AdnT9i4+O/56lov+xuLX/pauo/4mMit6EjoQbAAAAAIeHh//y9fT/pmo7/9ashv/Xroj/7O7u/+zu
+ 7v/s7u7/0KJ2/8+fcv/q6ef/7O7u/+zu7v/s7u7/7O7u/+zu7v/Pn3L/z59y/8+fcv+kZTT/y9LO/8rR
+ zv/m6ef/VlZW/6aKeP92UU73fHp4woaMivyjqqf/qa+t/4eLirAAAAAAioqK//L19P+majv/2LCM/9my
+ jv/s7u7/7O7u/+zu7v/Xr4r/1KiA/+rp5//s7u7/7O7u/+zu7v/s7u7/7O7u/8+fcv/Pn3L/z59y/6Rl
+ NP/L08//y9LO/+fr6f9ZWVn/emNQ/6SDcf9sOzjnhoaDTIWKiP2psa3/l52b/4WKijKNjY3/8/X0/6Zq
+ O//atJL/27aU/4dKIP+HSiD/h0og/9qzkP/Zso//6+ro/+zu7v/s7u7/7O7u/+zu7v/s7u7/z59y/8+f
+ cv/Pn3L/pGU0/8zT0P/M08//6ezr/1xcXP+QjIn/qolw/4VbUPRtPDpzhYqIo5KYlv+ssrD/houHk4+P
+ j//z9fT/pms7/9y5mP/dupr/3bmZ/9y4mP/cuJf/3LeW/9u2lf/r6+n/7O7u/+zu7v/s7u7/7O7u/+zu
+ 7v/Pn3L/z59y/8+fcv+kZTT/xMrH/6KlpP/r7uz/X19f/5KNif+dbkn/r5B6/288OvCAh4NIhYqI/7S6
+ uP+IjYvKj4+P//P19P+obD7/3bye/9++oP/fvZ//3rye/968nf/eu5z/3bub/4dKIP+HSiD/h0og/4dK
+ IP+HSiD/h0og/9GjeP/Pn3L/z59y/6RlNP/N1dH/zdTR/+zv7v9iYmL/oZ2a/4daNP+1k3n/gFNN8HVQ
+ UFmFioj/rrWz/46SkOiPj4//8/b1/6pwQ//evqL/4cKm/+HBpf/gwaT/4MCj/+C/ov/fv6H/376g/9+9
+ n//evJ7/3ryd/967nP/du5v/3bqa/9u2lf/XsIv/pWc3/8jOyP+ytrT/7vDv/2VlZf/Kysr/Y1BB/6uC
+ Yf+bdGT+dVJSsYWKiP+0urj/h4yLzI+Pj//z9vX/qnBD/+DDqf/jxqz/48Wr/+LFqv/ixKn/4sOo/+HD
+ p//hwqb/4cGl/+DBpP/gwKP/4L+i/9+/of/fvqD/372f/968nv+majr/zc/K/87W0v/w8vH/aGho/9LS
+ 0v+xr63/h2NF/66Mef98amnqkZeU/6qwrv+GiYiPj4+P//P29f+qcUP/7O7u/+zu7v/s7u7/7O7u/+zu
+ 7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/6VnN//Iy8X/s7e1//Dz
+ 8f9ra2v/0NDP/7u2s/+VclX/tpmF/4SFg/6nrqv/lJqX/4SJiTSPj4//8/b1/6RlNP+kZTT/pGU0/6Rl
+ NP+kZTT/pGU0/6RlNP+kZTT/pGU0/6RlNP+kZTT/pWc2/6drPP+nazz/p2s8/6drPP+nazz/pGU0/8/V
+ z//Q19T/8fPy/25ubv+nnJL/v7q3/29gVP+hlYn/j5WS/6yysP+GjInJAAAAAI+Pj/3p7Ov/8/b1//P2
+ 9f/z9vX/8/b1//P29f/z9vX/8/X0//P19P/z9fT/8vX0//L19P/y9PT/8vTz//L08//y9PP/8fTz//H0
+ 8//x9PP/8fPy//Hz8v/l6ef/c3Nz/7Khk//V1dX/y8vL/4mMif+nrar/lJqY/4SLh1EAAAAAk5WViZGR
+ kfePj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+NjY3/i4uL/4mJif+Hh4f/hYWF/4OD
+ g/+BgYH/f39//3x8fP96enr/eHh4/3t7e/+Wk5H/zMnG/83Myv+Yin3/i4+O/7C3tP+FiojcgICAAgAA
+ AAAAAAAAAAAAAHVDP7Pg1tX//Pz8/87Myf/Lycf/t6KP//vjzP//7d3//+7e///u3v//7t7//+7e//7t
+ 3f/65tX/9uLR//b08v/+/v7//v7+//Dv7v/39fT/5d/Z/+ro5f/n5+f/0tLR/7O0s/+YnZv/o6mn/4aJ
+ iI8AAAAAAAAAAAAAAAAAAAAAazg4Vq6Rjvz//////v7+//7+/v+4tbP/28q4///u3v//7t///+/f///v
+ 3///79///+/f//vp2f/24tD/0ca8/9LMxv/n3tb/0ryo/7mfhv+5m4L/uK+n/+fn5//a2tr/s7a1/5yi
+ oP+fpaL/hIqIgQAAAAAAAAAAAAAAAAAAAABmMzMPeEhH9f38/P/+/v7//v7+//38/P+lop//uq6j//bn
+ 1///7+D//+/g///v4P//7+D//Ova//fj0f/x7ev/ycbD/5qIef+5r6j/ysbC/+jn5v/t7e3/ysrM/8DA
+ wP+ur67/mqCe/6Kppv+GiomoAAAAAAAAAAAAAAAAAAAAAAAAAAByQkCIxrGv/v/////+/v7//v7+//7+
+ /v/T0dD/w7iu/+bazf//8OH///Dh///w4f/76tr/9uTR//Pgzv/08vH/9fX0//j4+P/+/v7/5ubm/3x8
+ xP8LC8v/qam5/4ZzcP2Nko//sbi1/4aLifaAj48QAAAAAAAAAAAAAAAAAAAAAHY7Ow14R0bu9/X0//7+
+ /v/+/v7/8/Lx/+rq6f/Ew8H/w7qz///w4v//8OL//O3f//no2P/14tD/3Mq7/9DKxP/9/f3//v7+/+Hh
+ 4f+Tk7//CwvM/xAQ1v8UFMn/YzdE7IaKh8ypr6z/lpya/4SLiW4AAAAAAAAAAAAAAAAAAAAAAAAAAG86
+ OlOLYl/4/Pz8/9TJvv/24c3//v39/+Lg3//36Nv//u/g/+ze0f/56tr/9+XU//Pfzf/x3sv/39DE/8S3
+ qv+ZkYn/pKG0/w4Oyv84OOf/KSnv/xQT1/8PCru4hYqHZJSamP+rsa//hIuI0AAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAHNBP4WefHr79PLx/8O7sv/Wy8D/1cvC/8G0p//y5dj/qqil/8m7rv/04dD/y7+z/+LM
+ uP/oz7j/6+Xg/6ajqf8WFsP/S0vl/y4u7/8pKe//JCTr/wICzfCOjo4JhYuI87O6t/+HjYr+iYmJDQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAXBAPouMYmD58e7s/+3p5v/Uz8v/08rC//fp3P/9/f3/yMbE/5OO
+ iP/MvrD/6tG8/+bLs//UuqT/NzbJ/0ND4P9HR/H/KSnv/ykp7/8nJ+7/AgLN9AAAAACFiojIrLKv/4+V
+ k/+Gi4Y3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG88PFpzQkHzw6ul+/Pu6//l3NT/4t3a//7+
+ /v/+/v7//v7+/6CZkv/q07//6dTA/4p/w/8JCc7/fX30/y8v7/97fO//UVHu/xMT2P0vMLf4h4qHRoWK
+ iNattLD/j5SR/4eMhzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYzMxRyQD6UdUVE+KqL
+ iPrYxsD/7+fj//bz8f/59/b/7ubf/+TSxv/MsKL+mG9t8yMUo/whINT6X1/v/2pq8P8rK97+GRrI/6Ko
+ rf+OlJH/kpiV/6+2s/+Gi4rxkpKSBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABqQEAMbTo6VHNBP61zQkDbcT498G07OvxwPjzvdEA+2nJAPahrOjpPVStVDAICznICAs3rAwPO9AwM
+ ycN3fZDpnKKf/661sv/b397/kZeU/4SKiIUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAIaGhhWFioiOhYqI3IWKiM2Fiohr////AQAAAACAAAB/AAAAPwAAAD8AAAA/AAAADwAA
+ AAcAAAAHAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAcAA
+ AAPAAAADwAAAA+AAAAHgAAAB8AAAAfgAAAD4AAAQ/gAAAP8AAAD/wAAB////gSgAAAAwAAAAYAAAAAEA
+ IAAAAAAAgCUAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAACgAAAAoAAAAOAAAADgAA
+ AA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAA
+ AA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAAcAAAAJAAAABAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAABQAAAAbAAAAHgAA
+ ABcAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACQAAAAmAAAAKAAA
+ ACoAAAArAAAALAAAACwAAAAsAAAALAAAACwAAAArAAAAKgAAACkAAAAoAAAAJQAAABcAAAAdAAAAGQAA
+ ABEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAGwAA
+ ACUAAAAuAAAAMwAAACUAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAAOQAAADwAAAA+AAAAQAAA
+ AEMAAABFAAAARgAAAEcAAABJAAAASgAAAEoAAABLAAAASwAAAEoAAABJAAAASAAAAEcAAABGAAAARAAA
+ ADAAAAA7AAAAMgAAACYAAAAXAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABPT09DcXJx421tbf5sbGz+a2tr/mlpaf5oaGj+ZmZm/mVlZf5kZGT+YmJi/mFhYf5fX1/+Xl5e/l1d
+ Xf5bW1v+Wlpa/lhYWP5XV1f+VlZW/lRUVP5TU1P+UVFR/lBQUP5PT0/+TU1N/kxMTP5KSkr+SUlJ/klJ
+ Sf5JSUn+SUlJ/klJSf5LS0vyLS0tggAAADwAAAArAAAAGwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAB1dXXmub68/+Pn5f/m6uj/5uro/+bp6P/l6ef/5ejn/+To5v/k6Ob/4+fl/+Pn
+ 5f/i5uT/4ubk/+Hl4//h5eP/4OTj/9/j4v/f4+H/3uPg/97i4P/d4uD/3eHf/9zg3//c4N7/29/d/9vf
+ 3f/a39z/2d7c/9ne3P/Y3Nv/2Nza/9ba1/+5v73/TU1N9w8PD1UAAAA6AAAAJwAAABUAAAAJAAAAAwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dHT+5ejn/73Dwf+zurf/s7q3/7O6tv+zubb/srm1/7K5
+ tf+yuLX/sbi0/7G3tP+xt7T/sLez/7C2s/+vtrP/r7Wz/6+1s/+utbL/rrSy/660sv+ts7H/rbOx/62z
+ sP+ts7D/rbOw/6yyr/+ssq//rLKv/6uxrv+rsa7/qrGt/6qwrf/W3Nn/Zmdm9yAgIHQAAABAAAAALwAA
+ ABsAAAAQAAAACwAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnb+6+7s/9LZ1v/R2dX/0dnV/9HY
+ 1f/Q2NT/0NfU/9DX1P/P19P/z9bT/87W0v/O1dL/ztXS/83V0f/N1NH/zdTR/8zT0P/M09D/y9PP/8vS
+ z//L0s//ytLO/8rRzv/K0c7/ydDN/8nQzf/I0Mz/yM/M/8jPzP/Hzsv/x87L/8fOy//T2Nb/b29v9x8f
+ H3EAAABAAAAALwAAAB4AAAAXAAAAEgAAAAwAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAB3d3f97O/t/9La
+ 1v/S2NX/0dfT/9HX0//R1tP/0NbT/9DW0//Q1dP/z9XS/8/U0v/P1NL/ztTR/87T0f/N09D/zdPQ/83T
+ 0P/M08//zNLP/8zSz//L0c7/y9HO/8rRzf/K0M3/ytDN/8nPzP/Jz8z/yc/M/8jOy//Iz8z/x8/L/8fO
+ y//V2tj/cXFx/k9HRKQEBAQ+AAAAKwAAACIAAAAcAAAAFgAAABEAAAALAAAABQAAAAAAAAAAAAAAAAAA
+ AAB7e3v67O/t/9LZ1f+vfVX/pWc2/6VnNv+lZzb/pWc2/6VnNv+lZzb/pWc2/6VnNv+lZzb/pWc2/6Vn
+ Nv+lZzb/pWc2/6VnNv+lZzb/pWc2/6VnNv+lZzb/pWc2/6VnNv+lZzb/pWc2/6VnNv+lZzb/pWc2/659
+ Vf/Iz8z/yM/M/8jPzP/W29n/dXZ1/4OIhf+BhILxam5sgQYGBicAAAAfAAAAGgAAABMAAAAOAAAACAAA
+ AAEAAAAAAAAAAAAAAAB8fHz57e/u/9Ta1v+lZzb/z59y/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+f
+ cv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+f
+ cv/Pn3L/z55y/6VnNv/J0M3/yNDM/8jPzP/Y3dr/dnZ2/5Wamf+nrqv/jJGP/3uCf8JLS0tAAAAAGwAA
+ ABUAAAAPAAAACQAAAAMAAAAAAAAAAAAAAACAgID37O/u/9Xc2f+lZTX/z59y/8+fcv/Pn3L/z59y/8+f
+ cv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv/Pn3L/z59y/8+f
+ cv/Pn3L/z59y/8+fcv/Pn3L/zp5w/6VoOP/J0M3/ydDN/8jQzP/Z3dv/dXZ1/3p9e/+UmZf/q7Ku/5+k
+ o/+DiIb8fIJ/rFlZWTYAAAAPAAAACQAAAAMAAAAAAAAAAAAAAACBgoH07e/u/9bd2f+lZTX/06h//9On
+ fv/SpXr/0aJ2/8+fc//Pn3L/z59y/8+fcv/Pn3L/z59y/8+fcv/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu
+ 7v/s7u7/7O7u/+zu7v/Pn3L/z59y/8+fcv/Pn3L/zZxv/6ZqOf/K0c7/ydHN/8nQzf/a393/dnd3/5CP
+ j/94c23/hYqI/5yjn/+pr63/mqCc/4OIhvp9gX9+Hx8fCAAAAAEAAAAAAAAAAAAAAACEhITy7e/u/9fe
+ 2/+lZzb/1amD/9Sqgv/UqoH/1KmB/9Sof//SpHr/0KB0/8+fcv/Pn3L/z59y/8+fcv/s7u7/7O7u/+zu
+ 7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/Pn3L/z59y/8+fcv/Pn3L/zZxu/6drPP/K0c7/ytHO/8nR
+ zf/b4N7/eHh4/5eXl/95dHD/fWJP/4yKhv+Jjoz/o6mo/6Gmpf+Fioj/goeFjQAAAAAAAAAAAAAAAAAA
+ AACIiIjw7fDu/9ff2/+maDf/1auE/9ashf/WrIX/1auE/9WrhP/Vq4T/1aqD/9Kle//PoHP/z59y/8+f
+ cv/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/Pn3L/z59y/8+fcv/Pn3L/zJtu/6dt
+ Pv/L0s//ytLO/8rRzv/d4uD/eHh4/56env+Yl5b/flk//49pT/+Yg3X/gXl2+ZGVk/+rsrD/hYqI/4WJ
+ iVAAAAAAAAAAAAAAAACKioru7O/u/9nf3P+maTn/1q6J/9eviv/Xr4n/7O7u/+zu7v/s7u7/7O7u/9as
+ hf/Vq4T/0qV7/8+fc//s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/Pn3L/z59y/8+f
+ cv/Pn3L/y5pt/6huQP/L0s//y9LP/8rSzv/e4+H/eXl5/6ampv+qqqr/bF9V/3tSNf+Zd1//j2tc/31v
+ bPKTmJb/oail/4OKiN9/f38GAAAAAAAAAACKjYrr6+7t/9nh3f+najr/17CL/9iyjv/YsY3/7O7u/+zu
+ 7v/s7u7/7O7u/9eviv/Xr4n/166J/9arhP/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu
+ 7v/Pn3L/z59y/8+fcv/Pn3L/ypls/6hwQf/M09D/y9PP/8vSz//f5OL/eXl5/62trf+ysrL/rKys/3Nn
+ Xf+HWjr/sJaE/3JBPPWDhoTtsri1/4mPjf+GiYldAAAAAAAAAACOjo7p6+7t/9rh3v+nazz/2LOP/9q0
+ kf/atJH/7O7u/+zu7v/s7u7/7O7u/9mxjf/YsY3/2LGN/9ixjP/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu
+ 7v/s7u7/7O7u/+zu7v/Pn3L/z59y/8+fcv/Pn3L/yphq/6pxQ//M09D/zNPQ/8vTz//h5eT/eXp5/7S0
+ tP+4uLj/srKy/3hnWv+MXTr/m3Vc/5h1Yv92YF7unKOf/5+ko/+DiofAAAAAAAAAAACPj4/n6u3s/9vi
+ 3v+obD7/2bST/9u2lf/btpT/h0og/4dKIP+HSiD/h0og/9q0kf/as5H/2rOQ/9myj//s7u7/7O7u/+zu
+ 7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/Pn3L/z59y/8+fcv/Pn3L/ypdp/6pyRf/N1NH/u8G+/8bM
+ yv/i5+T/eXp6/7u7u/+/v7//uLi4/3tpW/+RYDv/ilw6/6uQfP9zRkTyg4mH/rG4tP+Ch4X+hYWFFQAA
+ AACSkpLk6u3r/9vi3/+obj//2raW/9y6mf/cuZn/h0og/4dKIP+HSiD/h0og/9u2lf/btpT/27aU/9q2
+ lP/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/Pn3L/z59y/8+fcv/Pn3L/yJZp/6t0
+ SP/N1NH/ub68/8jPy//k6Ob/e3t7/8HBwf/FxcX/vb29/3xtYP+WZDz/jl87/6WDa/+LY1b/gHt666ux
+ r/+QlpP/homJTgAAAACTlJTh6ezq/9zk4P+pb0H/27iZ/968nf/eu5z/3byc/927m//du5v/3bqa/925
+ mf/cuZj/3LmY/9y5mP/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/QoHT/z59y/8+f
+ cv/Pn3L/yJVo/6t2S//O1dL/qq2r/8jNy//l6ef/ent7/8nJyf/Ly8v/w8PD/6Gem/+MXTf/k2I7/5py
+ U/+jgm//eWpo+aSrqf+XnJn/hIiIbAAAAACUlJTe6ezq/93k4P+pcUL/3Lud/9++of/fvqD/376f/9+9
+ n//evJ7/3ryd/968nf/eu5z/3buc/927m/+HSiD/h0og/4dKIP+HSiD/h0og/4dKIP+HSiD/h0og/4dK
+ IP/atpT/16+J/9SpgP/Ro3j/x5Vo/6x4Tf/O1dL/x83L/8zU0P/n6un/e3t7/8/Pz//Q0ND/ycnJ/8HB
+ wf98cGf/lGM7/49fO/+1mIT/e21n85+ko/+Yn5z/hIqIcAAAAACVlZXb6Orp/97l4v+qcUT/3b2g/+HB
+ pP/gwaT/4MCj/+DBo//gwKP/38Ci/9++of/fvqD/376f/9+9n/+HSiD/h0og/4dKIP+HSiD/h0og/4dK
+ IP+HSiD/h0og/4dKIP/cuZj/3LiY/9y4l//cuJf/1ayJ/615T//O1tL/pKal/8rQzf/o7Or/enp6/9XV
+ 1f/V1dX/zc3N/8XFxf+7u7r/elY6/5NiPP+zln//gHd0/Kmvrf+SmJX/hYuIWAAAAACTk5PY5+no/97l
+ 4v+qc0b/3r6j/+LFqf/hxKj/4cSo/+HDp//hw6f/4cKm/+HCpf/gwaT/4MCj/+DBo//gwKP/38Ci/9+/
+ ov/fv6H/37+g/9+9n//evZ7/3r2e/969nv/evJ3/3byd/927m//dupr/1rKQ/616Uf/P1tP/wcbE/83U
+ 0f/q7ez/enp6/9ra2v/Z2dn/0tLS/8vLy//CwsL/gHNo/5dkPP+xkXj/hYeF/6iurP+Kjo3/gomJJwAA
+ AACUlJTV5unn/9/l4v+sdEf/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu
+ 7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/699
+ VP/N1NH/tLi2/87V0v/r7+3/e3t7/+Dg4P/e3t7/1tbW/6qhmP+spqD/kndg/5pmPf+ijHj/k5mW/6iu
+ rP+FiIfg////AQAAAACUlZTS5efm/9/m4v+sdUr/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu
+ 7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu7v/s7u7/7O7u/+zu
+ 7v/s7u7/7O7u/69+V//N09D/ub68/8/W0v/t7+7/enp6/+Xl5f/i4uL/2NjY/554Vv/Hx8f/i4J7/4Va
+ OP+QiX//pKuo/5ecmv+EiYaHAAAAAAAAAACVlZXP5Ofl/9/m4/+4jmz/p2o6/6ZqOv+naTr/p2k6/6dq
+ Of+maTr/pmk5/6ZoOP+maDj/pWg4/6ZoN/+lZzf/pWc3/6VnN/+lZzb/pGY2/6RmNf+kZjX/pWU1/6Rm
+ Nf+kZjX/pWU1/6VlNf+kZjX/pGY1/7ucgP/N1dH/wMbD/9DX1P/t8O//enp6/+rq6v/m5ub/tbCr/6mU
+ gv/MzMz/w8PD/5uZlv+Gi4j/tby5/4WKiP+GhoYkAAAAAAAAAACUlZXL4OPi/9/n4//a4Nz/19zV/9fc
+ 1v/Y3Nb/2NzW/9jc1v/X3df/193X/9fd2P/X3Nj/193X/9fd2P/W3dj/197Z/9fe2f/V3Nj/1d3Y/9bc
+ 2f/V3Nj/1dzY/9Tb1//U29f/1NrX/9Pa1v/T2tb/09nW/9HZ1f/R2NX/0NjU/9DY1P/s7+7/enp6/+3t
+ 7f/m5ub/qIx0/87Ny//Pz8//xsbG/56gnv+XnJn/nqWi/39+fdgAAAAAAAAAAAAAAACUlJS9w8fE//H0
+ 8v/y9fT/8vX0//L19P/y9fT/8vX0//L19P/y9fT/8vX0//L18//y9fP/8vXz//L18//y9fP/8vTz//L0
+ 8//y9PP/8fTz//H08//x9PP/8fTy//H08v/x8/L/8fPy//Hz8v/x8/L/8fPy//Hz8v/x8/L/8fPy//P1
+ 9P/T2db/dXV1//Ly8v+8trH/saCQ/9nZ2f/R0dH/lX5p/4eGf/+kq6n/l5yZ/3ppZ4wAAAAAAAAAAAAA
+ AACPj483kpOT6o+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+P
+ j/+NjY3/jIyM/4qKiv+JiYn/iIiI/4aGhv+FhYX/g4OD/4KCgv+BgYH/f39//35+fv98fHz/e3t7/3p6
+ ev94eHj/d3d3/3V1df97fHz/x8jI//X19f/Z19X/5OTk/9vb2//S0tL/oZyX/4WKiP+yuLX/hYmH/m5E
+ RDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVDPtzw7ez//v7+//7+/v/+/v7//v7+/9zb
+ 2f/CsZ//++PM///r1///797//+/e///v3///79///+/f///v3///79///ezb//ro1//35NH/9N/L//Hb
+ xv/o497//v7+//7+/v/+/v7//v7+/8q+tP/f2ND/z8O5/8itlP/VzMX/5eXl/9zc3P/T09P/tba2/46T
+ kP+ttLL/fHFu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRDP4XLvbf+//////7+
+ /v/+/v7//v7+//7+/v/n5ub/0L+u///t2///79///+/f///v3///79///+/f///v4P//7+D//+/g//vr
+ 2v/55tT/9uHO//LdyP/dyrn/y8S8/93Wz//e2NP/zr+y/928n//RsZL/0q6O/6+Sd/+woJH/5ubm/93d
+ 3f/U1NT/ra+u/5ienP+co6D/fG1p2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG02
+ NiqJX1r0/v7+//7+/v/+/v7//v7+//7+/v/+/v7/uLSv/9rMv///79///+/f///v4P//7+D///Dg///w
+ 4P//8OD///Dg//zs3P/56Nb/9uPQ//Peyv/s6+n/9PPz/7ilk//lya//4MOo/7SlmP/Nxr//sJ+O//b2
+ 9v/v7+//5ubm/93d3f/U1NT/rK6t/5eem/+kqaf/gHp3qQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAB4SETJ6eTg//7+/v/+/v7//v7+//7+/v/+/v7//v7+/9bV1P/Gu7D/7+HS///w
+ 4P//8OH///Dh///w4f//8OH///Dh//3s3f/56Nf/9+TR//Pfy//m4Nv//v7+/9nY1v+tn5D/x8C5/8nF
+ wP/7+/v//v7+//b29v/v7+//5ubm/93d3f/T09P/ubu7/5SZl/+lrKr/g4mGqQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtPT06lm5q9v/////+/v7//v7+//7+/v/+/v7//v7+//7+
+ /v/+/v7/x8TB//zt3v/i1sr///Dh///w4f//8OH///Dh//zs3f/66Nf/9uTR//Pfy//w2sX/0si///7+
+ /v/+/v7//v7+//7+/v/+/v7//v7+//X19f/j4+P/1tbW/8/Pz//Ozs7/1dbV/4eNiv+0urj/hYiG7ZGR
+ kQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd0hEwuPZ1P/+/v7//v7+//7+
+ /v/+/v7//v7+//7+/v/X1tX/vrq1/7uzq//a0Mf///Hi///x4v//8eL//vDh//zs3P/56Nf/9uPR//Pe
+ y//v2cT/28/D/+bl4v/+/v7//v7+//7+/v/+/v7/7+/v/9nZ2f+6usz/SEjL/8LCwv/Pz8//ubOt/4OB
+ fPumrKn/lZuZ/4SJh2IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcj09HYtf
+ WOP49/b//v7+//7+/v/+/v7/19HL//39/f/+/v7//v7+//39/f/PyMD///Hj///x4///8eP//e7f//rq
+ 2v/45tb/9eLQ//Leyv/c0Mb/0MrD/8jBu//l4t7/5OHf/+/t7P/m5ub/0tLS/6urwv8NDc3/Hx/d/zEx
+ y//My8n/fFBE6H91dZaTmJX/oaek/4OKiN2qqqoDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAHpGRlOgfnf2/f39//v6+v/YyLn/997F//vq2v/+/v7//v7+/8jFwv//8eP///Hj//7x
+ 4//97uD/++zd//no2P/35dT/9OHO//Hdyf/v2sb/1s7H/9rDr//LvKz/u66i/6WVhv/Bv7//tra2/wEB
+ zP82NvD/KSnv/xwc4P8qIqr9cT84eYmJiQ2Ciojsr7e0/4yQjv+EiodPAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7TEiMuJuV+fz8/P+8tK7/28St//fexf/s6eb/zsjD//Dk
+ 1//97+D//e7g//fp3f+0rqj/+OjZ//fm1f/149H/89/M/+3Yxf/t18H/69S//+jPt//z8vL/39/f/4p/
+ df+RioT/DQ3K/0ND7v8pKe//KSnv/ykp7/8YF9j8AwPRgQAAAACFiYeAm6Ce/6CnpP+FioiqAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiltTfbmim/r+/v7/4+Hg/8O7
+ s//Quqf/697S/8nDvv++tq3/+Ona/9rU0P/49/f/q6Oa/+rZyf/z4M7/4NTK/7y1rv/r1L//6dC5/+bL
+ s//LvKz/xcTD/4mGg/8ZGL//Rkbp/y8v7/8pKe//KSnv/ykp7/8mJuz/AgLN8gAAAACIiIgciY6M/6uy
+ r/+FiIbt////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtL
+ SJGgfHP29/b1/+Pf3P/Py8f/uq+l/+Tj4f/PycP/9eTU/+7l3f/+/v7//f39/9XU0/+wqaP/zbyr/+zX
+ wv/q0rv/5821/9W8pP+8pI7/o5eM/zIywf8+PuT/RETx/ykp7/8pKe//KSnv/ykp7/8pKe//BQXO6AAA
+ ziUAAAAAhIqI0LG4tf+Kj43/g4uLHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAB4SENblWhl5dzFuP/8+vj/6ubi/+PRv//w1r7/8t7L/83Hwf/+/v7//v7+//7+
+ /v/+/v7/wL67/+fRu//oz7j/4smw/8mwmf+uknj/QjWe/zAv3P9jY/P/KSnv/ykp7/8pKe//KSnv/ykp
+ 7/8pKe//CgrU4wAAzSkAAAAAg4mGpaGnpf+SmJb/hoqGOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAazw8JnhHQ8yJWVP149jQ/+rn5f/h2dH/5d3W//7+
+ /v/+/v7//v7+//7+/v/+/v7/9/f3/7mmlP/ixKn/0rKT/8Gmjf9UTLL/JCPW/35+9f8uLu//KSnv/ykp
+ 7/8pKe//KSnv/ykp7/8jI+n/BgbPywAAAAAAAAAAg4mGp6uyrv+QlZT/hoqGOQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuOztFdUZA2Y9n
+ YvPa0Mz/3tXP//nx6v/28u//9PLw//X08v/z8vH/6OLd/+3e0v/x4tX/4NHD/7+sof9jUZX/MS/T/n19
+ 9f8xMfD/KSnv/4yN7/+Cg+//KSnv/ykp7/8EBMv/e3+Oev///wF/f38KhYmI5qatqv+LkI7/iIiIHgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAGo3Nzd1RUKWdUJA54ZYUeKSZ1/0poF1/biXiv/Hqpv/t5aI/6V7bv2NYlr1gk9G42Y3
+ Ne5iODSrFwyhph8f2Op1dfT/RUXx/4qL7/99fu//IyPp/wsMzP+Umrn/lpuZ/4OIiMSEiYjMnKKh/6Cn
+ pf+FiIbc////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGs8PCZtOjpGbDo6YG49O31zQD6HcD09gW47
+ O2NsNzdJazg4LQAAAAUAAAAHAAAAAgMDzFEDA872OTnf9EZG4v4YGNb5BATM73J1kaqGi4n/payp/6ux
+ r//Q1NL/qa+r/4WKiP+EiodeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMVgAAzHAAAM05AAAAAAAA
+ AACEi4hJg4qHvo+Skfy/wsL/g4qJ6IWKh2kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGRkQeGhoYT////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADAAAAAH/8AAIAAAAAH/wAAAAAAAAP/AAAAAAAAAf8AAAAAAAAAfwAAAAAAAAA/AAAAAAAAAB8AAAAA
+ AAAADwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAA8AAAAAAAAABwAAAAAAAAAD
+ AAAAAAAAAAMAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAA
+ AAAAAQAAAAAAAAABAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAA+AAAAAAP
+ AAD4AAAAAA8AAPgAAAAADwAA/AAAAAAPAAD8AAAAAAcAAP4AAAAABwAA/gAAAAADAAD/AAAAAAMAAP+A
+ AAAAQwAA/8AAAABBAAD/4AAAACEAAP/wAAAAIQAA//gAAABhAAD//gAAAAEAAP//gAAAAQAA///wAAAD
+ AAD/////xgcAAP//////jwAA////////AAA=
+
+
+
\ No newline at end of file
diff --git a/FarForms/FarForms/FarFormClient.cs b/FarForms/FarForms/FarFormClient.cs
new file mode 100644
index 0000000..1342c8a
--- /dev/null
+++ b/FarForms/FarForms/FarFormClient.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Net.Sockets;
+using System.Text;
+using XWolf.IO;
+
+namespace XWolf.FarForms
+{
+ class FarFormClient
+ {
+ private TcpClient tcp;
+
+ public FarFormClient(string host, int port, string user, string pass)
+ {
+ tcp = new TcpClient(host, port);
+ XIO x = new XIO(tcp.GetStream());
+ x.WriteByte((byte)RequestCode.AUTH);
+ }
+ }
+}
diff --git a/FarForms/FarForms/FarForms.csproj b/FarForms/FarForms/FarForms.csproj
new file mode 100644
index 0000000..f6724e3
--- /dev/null
+++ b/FarForms/FarForms/FarForms.csproj
@@ -0,0 +1,99 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {3390E54A-36D9-4478-BE7B-BFBC0EEA5D1D}
+ WinExe
+ Properties
+ FarForms
+ FarForms
+ v2.0
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ FarForms.ico
+
+
+
+
+
+
+
+
+
+
+
+ FarFormServer.cs
+
+
+ TcpServer.cs
+
+
+ XIO.cs
+
+
+
+ Form
+
+
+ FLogin.cs
+
+
+
+
+ FLogin.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FarForms/FarForms/FarForms.ico b/FarForms/FarForms/FarForms.ico
new file mode 100644
index 0000000..7816728
--- /dev/null
+++ b/FarForms/FarForms/FarForms.ico
Binary files differ
diff --git a/FarForms/FarForms/Program.cs b/FarForms/FarForms/Program.cs
new file mode 100644
index 0000000..078952c
--- /dev/null
+++ b/FarForms/FarForms/Program.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+
+namespace FarForms
+{
+ static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new FLogin());
+ }
+ }
+}
diff --git a/FarForms/FarForms/Properties/AssemblyInfo.cs b/FarForms/FarForms/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..a80e6a5
--- /dev/null
+++ b/FarForms/FarForms/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 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("FarForms")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Hewlett-Packard Company")]
+[assembly: AssemblyProduct("FarForms")]
+[assembly: AssemblyCopyright("Copyright © Hewlett-Packard Company 2015")]
+[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)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("abec469f-7b36-4ae3-b15a-7850083b0c6c")]
+
+// 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/FarForms/FarForms/Properties/Resources.Designer.cs b/FarForms/FarForms/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..b97c98d
--- /dev/null
+++ b/FarForms/FarForms/Properties/Resources.Designer.cs
@@ -0,0 +1,73 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.34209
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace FarForms.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // 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", "4.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() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [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("FarForms.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap FarForms {
+ get {
+ object obj = ResourceManager.GetObject("FarForms", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/FarForms/FarForms/Properties/Resources.resx b/FarForms/FarForms/Properties/Resources.resx
new file mode 100644
index 0000000..b6baa62
--- /dev/null
+++ b/FarForms/FarForms/Properties/Resources.resx
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ ..\Resources\FarForms.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/FarForms/FarForms/Properties/Settings.Designer.cs b/FarForms/FarForms/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..0e41841
--- /dev/null
+++ b/FarForms/FarForms/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.34209
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace FarForms.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.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/FarForms/FarForms/Properties/Settings.settings b/FarForms/FarForms/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/FarForms/FarForms/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/FarForms/FarForms/Resources/FarForms.png b/FarForms/FarForms/Resources/FarForms.png
new file mode 100644
index 0000000..69c1fba
--- /dev/null
+++ b/FarForms/FarForms/Resources/FarForms.png
Binary files differ
diff --git a/FarForms/res/1431553526_browser_window.ico b/FarForms/res/1431553526_browser_window.ico
new file mode 100644
index 0000000..6c57833
--- /dev/null
+++ b/FarForms/res/1431553526_browser_window.ico
Binary files differ
diff --git a/FarForms/res/1431553532_new_window.ico b/FarForms/res/1431553532_new_window.ico
new file mode 100644
index 0000000..0cc990e
--- /dev/null
+++ b/FarForms/res/1431553532_new_window.ico
Binary files differ
diff --git a/FarForms/res/1431604478_preferences-desktop-remote-desktop.ico b/FarForms/res/1431604478_preferences-desktop-remote-desktop.ico
new file mode 100644
index 0000000..846fcd9
--- /dev/null
+++ b/FarForms/res/1431604478_preferences-desktop-remote-desktop.ico
Binary files differ
diff --git a/FarForms/res/FarForms.ico b/FarForms/res/FarForms.ico
new file mode 100644
index 0000000..7816728
--- /dev/null
+++ b/FarForms/res/FarForms.ico
Binary files differ
diff --git a/FarForms/res/FarForms.png b/FarForms/res/FarForms.png
new file mode 100644
index 0000000..69c1fba
--- /dev/null
+++ b/FarForms/res/FarForms.png
Binary files differ