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